OS4 DepotLogo by Alkaron 
(anonymous IP:,1391) 

   Bug tracker
   Locale browser


   o Audio (330)
   o Datatype (47)
   o Demo (186)
   o Development (541)
   o Document (21)
   o Driver (87)
   o Emulation (142)
   o Game (874)
   o Graphics (469)
   o Library (102)
   o Network (207)
   o Office (56)
   o Utility (827)
   o Video (62)

Total files: 3951

Full index file
Recent index file



Support the site

 Readme for:  Game » Board » foobillardplus.lha


Description: Foobillard++ is OpenGL-billard game
Download: foobillardplus.lha       (TIPS: Use the right click menu if your browser takes you back here all the time)
Size: 38Mb
Version: 1.0(v3.42)
Date: 03 Jul 2019
Author: many, aos4 port by kas1e
Submitter: kas1e
Email: kas1e/yandex ru
Homepage: https://github.com/kas1e/FoobillardPlusPlus
Requirements: ogles2.library >=2.8 , warp3dnova >=1.65, up2date RadeonHD driver
Category: game/board
License: Other
Distribute: yes
Min OS Version: 4.1
FileID: 10926
Comments: 2
Snapshots: 2
Videos: 1
Downloads: 140  (Current version)
140  (Accumulated)
Votes: 4 (0/0)  (30 days/7 days)

Show comments Show snapshots Show videos Show content Show crashlogs Replace file 
... What is it ...

 This is the port of Foobillard++ to AmigaOS4 over gl4es (which works over
ogles2 & warp3dnova). 
 To have good perfomance and no visuall glitches, you should have as minimum:
 ogles2.library : >= 2.8
 Warp3DNova.library : >= 1.65
 RadeonHD : >= 3.6
 Port based on the latest, v3.42beta, stable source release.

 Actual code with all the AmigaOS4 and other changes listed below can be found
at https://github.com/kas1e/FoobillardPlusPlus
 Originall source code and main page can be found at

... How to run and how to play ...

 Just unpack and dbl-click on icon. By defaul it runs in 1024x768 window mode,
and most of settings set to HIGH. All the settings can be controlled or via
options in the menu (preferable way of course), or via manual change of config
file placed in root dir of game which called .foobillardrc
 Once game runs, press "f1" to see basic control kyes. For switch between
window/fullscreen use "alt+enter". You can also put to the data/music directory
your favorite .mp3 or .ogg tracks, and they will be automatically taken by the
game, so you can switch them via music-player which spawn once you press that
button at top/right side.
 For better understanding of how to play and control the game, choice "Manual"
in the game's menu (then Odyssey will be called with big html tutorial in).
... Perfomance note ...
 If you read original README file coming with archive, you will notice that
requements are 1.6GHZ cpu with all graphics settings set to LOW. So, as you can
imagine SAMs are too slow for this and only x1000/x5000 can be fit in. But we
all tried our best so to have it be faster than expected: with latest release of
ogles2.library v2.1 (where Daniel tried his best with optimisation), and also
the fact that this version builds with all kind of optimisation (together with
enabled LTO in gcc 8.2.0 build), and also that this port rewriten from SDL1 to
SDL2 : all that give us in end pretty playable game.
There is benchmark on my x5000 with RadeonHD r7-250 and with all necesary
minimum libraries such as ogles2.library v2.1 , warp3dnova.library v1.64 and
radeonhd3.6. FPS counter are come from the gl4es counter, which you can activate
via "setenv LIBGL_FPS 1" in the shell , and taken average value when fully
played 1 default game:

 Everything at max, only "view options/ball details:LOW"
 1024x768  : 69
 1440x900  : 62
 1600x1200 : 57
 1920x1080 : 57

 Everything at max, only "view options/ball details:MEDIUM"
 1024x768  : 65
 1440x900  : 58
 1600x1200 : 54
 1920x1080 : 51

 Everything at max, only "view options/ball details:HIGH"
 1024x768  : 60
 1440x900  : 52
 1600x1200 : 44
 1920x1080 : 42
 You can also watch HD-recoreded video on youtube in 1920x1080/HIGH settings
there: https://youtu.be/hQVabA_ReoQ
ps. If you still want to play it on SAM, then reduce settings to minimum :
1024x768, ball details: low (that the most resource taker) and co.
... ChangeLog ...

 v1.00 (first amigaos4 release):

  -- added SDL2 support via --enable-sdl2. This port builds over SDL2.
  -- gl4es is used for OpenGL (so ogles2/warp3dnova)
  -- amigaos4 pathes, stack cookie
  -- builded with gcc 8.2.0 and enabled LTO.
  -- added big-endian changes in place where loading of ball_ball.raw happens
and it expected to be in LE format
  -- when you choice in menu "manual", "game_history" or "touranment_history"
Odyssey is used, but you can change it to any browser you need (or by changing
config file, or by changing ViewOptions/Browser in menu).
  -- running of external commands (such as browser) done via aos4's
IDOS->SystemTags() in Async mode (thanks to Salas00 for code which works when
run game and from shell and from wb icon)
  -- original game's code bug: in billard3d.c/load_config() forgotten fclose(),
because of which save_config() on exit didn't works
  -- original game's code bug: in sound_stuff.c/strsound() there was some typo
from author strcpy(s,&s[strlen(s)-4]) , while should be
strcpy(s,&s1[strlen(s1)-4]), which cause heavy memory issues in end (c) Daytona
  -- original game's code bug: parent_entry in the menu_new() wasn't
initialized, which cause crashes later in some situation in the menu_choose();
visually it just crashes when you choice some of menus (c) Georg
  -- original game's code bug: when blitting menu entries, sometime blitting
happens outside of left bounds and thus trashing memory and cause heap
corruption, which in end lead to crash on free(textdata) later (c) Georg
  -- original game's code bug: initially checking on minimum screenmode was
wrong and thus skip some modes which can fits.
... Thanks to ...

 to Daniel for OpenGL ES2 and all his help with everything :
 to Hans for Warp3DNova and all his help with everything :
 to ptitSeb for gl4es and all his help with everything :
 to Capehill (and others) for actual SDL2 port and all his help with everything
: https://github.com/AmigaPorts/SDL
 to Georg, who help to bug fix some original bugs and to all others who help
directly or indirectly
(c) kas1e, 2019


Copyright © 2004-2019 by Björn Hagström All Rights Reserved