Release Foobillard++


ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
9,306
Age
51
Location
France, near Lyon
Here is Foobillard++, a continuation of Foobillard, a billard simulation.
preview1.png

The game use gl4es, and still show a few visual artefact (the feets of the table), but is perfectly playable (this was one of the first game I tried with glshim, and just now it became playable!)

History log
========

Build 08
------------

  • Updated libs
Build 07
------------

  • Updated libs
  • Switched to gl4es
  • Added zenity graphic profile selection.
Build 06
------------

  • Fixed a couple of small memory corruption
  • New build (should be faster)
  • Updated all libs (including glshim)
Build 05
------------

  • Fixed a remaining small Z-fighting issue on the walls
  • Fixed floor texture
Build 04
------------

  • Fixed the Z-fighting issue on the walls
Build 03
------------

  • Fixed Popup Menu rendering
  • Reduced size of side-menu so they fit the screen
Build 02
------------

  • Improved rendering (mipmap issue)
  • Fixed feet of the table
Build 01
------------

  • Initial build
 
Last edited:
New build on the repo, I have fixed a few things. The feet of the table are now correct (some left over of a few test I had done), and I fixed the mipmap (now the table looks good), not using gluGenerateMipMap but using simple GL_GENERATE_MIPMAP and glTexImage2D.

Build 02
------------

  • Improved rendering (mipmap issue)
  • Fixed feet of the table

 
 
Hmm, on my machine this seems to segfault pretty promptly.  When I was running on SZ1.71 it seemed to always segfault after about 15 seconds, now on SZ1.72 it faults as soon as I try to aim the ball.  I'm not sure there's anything in the pndout logs that will assist - it all looks fairly passable until it segfaults.
 
Hmm, on my machine this seems to segfault pretty promptly.  When I was running on SZ1.71 it seemed to always segfault after about 15 seconds, now on SZ1.72 it faults as soon as I try to aim the ball.  I'm not sure there's anything in the pndout logs that will assist - it all looks fairly passable until it segfaults.

I'm interested in the pndout yes.

Are you doing something specific before the segfault or is it just segfaulting quickly after it start showing something?
 
Hmm, on my machine this seems to segfault pretty promptly.  When I was running on SZ1.71 it seemed to always segfault after about 15 seconds, now on SZ1.72 it faults as soon as I try to aim the ball.  I'm not sure there's anything in the pndout logs that will assist - it all looks fairly passable until it segfaults.

After switching the SGX driver towards 4.10 the game did not crash in my case. This was suggested @ repo.openpandora
 
Thanks.  It had already occurred to me since last posting that since reflashing, I hadn't updated my SGX driver.  Then I discovered I only had the r1 SGX installer installed, so needed to update that.  Since doing that it's run without crashing.

However, after first testing it, I updated foobilliard++ to the latest release, and noticed an additional glitch - the pop down menu that's available on the first button of the top bar appears partially from the start - you see the very top line of it.  Clicking where the button should be makes it pop down but stretched vertically in an odd way.  Then you have to click where the menu close button should be, even though the graphics no longer give you a hint as to where it should be.
 
Thanks.  It had already occurred to me since last posting that since reflashing, I hadn't updated my SGX driver.  Then I discovered I only had the r1 SGX installer installed, so needed to update that.  Since doing that it's run without crashing.

However, after first testing it, I updated foobilliard++ to the latest release, and noticed an additional glitch - the pop down menu that's available on the first button of the top bar appears partially from the start - you see the very top line of it.  Clicking where the button should be makes it pop down but stretched vertically in an odd way.  Then you have to click where the menu close button should be, even though the graphics no longer give you a hint as to where it should be.

Ah yes, it's the pop up menu?! I have to fix that (and understand why/how I broke that between build 01 and 02).
 
Yes, it's the top of the audio control popup.  If you click appropriately to the left of the buttons that end in the red cross at the top, you can hit the normal control that causes that menu to descend, and it does albeit at the wrong aspect.  If you then hit where the close button should be, it does close, but doesn't clean up the mess at the top.

So the machine does seem to think the menu isn't being displayed to begin with, while it's displaying the top line of it.  The logic to bring the menu down and back up works if you click on the appropriate spots, just the graphics appear inappropriately or incorrectly.
 
I think the issue is in the handling of NPOT texture inside glList. I think I mostly know what the issue is, and will try some fix tonight (or revert a 1 line comment I committed, but I don't think it's a proper fix).
 
Last edited by a moderator:
I have fixed the issue, but there are still a few other things that bother me, so I will not publish the update tonight and take some more time to see if I can fix a few other things...
 
Last edited by a moderator:
It's on the repo now.

Build 03
------------

  • Fixed Popup Menu rendering
  • Reduced size of side-menu so they fit the screen

 
 
Thanks, that looks a lot better now. The only distraction left is the flicking posters and things on the wall, but that's  avery small thing.

I've had a play with the settings now.  Impressive that you can even get a game of snooker out of it (although the AI seems far too good for me in that mode!)
 
Yeah, the flickering poster are probably a Z-fighting issue that should be solved by some Polygon-Offset I guess. I didn't looked at that (but it is annoying indeed).
 
I added some glPolygonOffset, and that fixed the issue.

Build 04
------------

  • Fixed the Z-fighting issue on the walls
 
 
One last updated, I mainly fixed the floor texture, that was on "GL_REPEAT" but was no POT (i.e. Power of Two), and that's not supported (so there was some black zone). I resized the texture to be POT.

Build 05
------------

  • Fixed a remaining small Z-fighting issue on the walls
  • Fixed floor texture
 
Neat, looking almost perfect now (and now I've found the AI difficulty control, I can almost win a frame of snooker!).  I've not yet found any way to play a second game, only to restart the game which means you get to break again, but I get the feeling that's still to be implemented in the upstream code.

Also, very very minor graphical glitches can be seen in the light above the table when it's in shot.  If you feel like tweaking the code, I guess the most glaring effect could be fixed by shrinking the central long reflector, or moving the ends out, assuming those two objects (well, three :- two ends and the long reflector) are interfering in z-sorting.
 
Foobillard?

Cool i had that running Years ago over the slow MesaGL (software emulated OpenGL) and it was terrible slow @ that Time.

Thx for porting it :)
 
Anew refreshed build on the repo. I tried the improved Batch mode of glshim but it doesn't help performances here (it doesn't break anything, but tend to degrade performances, everything is already inside list, there is not much to batch anyway). But I did found a couple of small memory corruption case than may explain the crash at launching some had experienced.

Build 06
------------

  • Fixed a couple of small memory corruption
  • New build (should be faster)
  • Updated all libs (including glshim)
 
Back
Top