I'm sorry Pickle but I don't quite understand what you want me to do to fix my compilation prob here.
I can see that the block of code you have highlighted is already present within the svn version I have here so my inexperienced guess was to try adding:
to the CFLAGS section on line 42 of the Makefile but that hasn't worked.
Adding -DUSE_GLES1 has to work, did you do a clean and rebuild?
Hurrican is compiling on Panda!
Very close now!
I did a clean build and I now have Hurrican SDL compiled against the TI GLES1 libs on my Pandaboard!
If you're lucky enough to own a Pandaboard and Pickle doesn't update the Makefile to support the Panda, you can compile Hurrican by simply adding -DUSE_GLES1 to the end of line 1 (ie the DEFINES section) and then replacing -lGL with
In the LDFLAGS section which is at line 36 of hurrican-code/Hurrican/src/Makefile
However, I've not actually seen the game run yet as there is a bug with the current TI Panda xorg server or GLES1 lib which causes a black screen for any GLES1 apps that try to start full screen like Hurrican currently does so is there a command line option to start in a window yet?
Last edited by danboid; 07-28-2012 at 02:41 PM.
I cant remember if there was a fullscreen argument, but just for your testing you can just change SDL_FULLSCREEN
I may manage to fluke fixing the odd build by messing with Makefiles but I'm not a programmer so please could you explain how I'd disable SDL fullscreen for Hurrican as SDL_FULLSCREEN seems to be a SDL function, not an environment variable I can easily set.
Fullscreen is controlled by the flag SDL_FULLSCREEN in the function SDL_SetVideoMode. So if you dont want fullscreen then you dont pass the flag SDL_FULLSCREEN to the function.
For those of you following along at home, what I did was change line 271 of DX8Graphics.cpp from
flags |= SDL_FULLSCREEN;
recompiled and now Hurrican starts windowed as I hoped and I hear the music playing and I advance past the cracktro and through the menus but no graphics get shown - just an entirely black screen. Console says:
Max Texture Units 0
Keep us posted please Pickle!
I did know before trying Hurrican that the current TI PVR SGX xorg driver has got a few serious flaws so I expect Hurrican is just exposing a few more. I reported one very serious bug which causes X to freeze to the Pandaboard mailing list earlier today but it seems TI's OMAP devs don't work weekends so it'll be Monday before I hear anything.
Pickle - please let us know if you get USB joystick/pad working under PC and non-Pandora ARM builds of Hurrican and also don't forget to tell us whats required to get Hurrican running on your RPi when you get round to it.
My tip to you is forget about running your rootfs off SD card and buy a bus-powered SSD drive - at least it made a world of difference on my Panda vs a Class 10 SD card.
"Max Texture Units 0" : This is very strange it returned a 0, should be 4.
The Pandora build also uses the SGX driver, but of course you may have something older. Although ive had my share of PVR lockups in the past. But the latest version has worked well.
I need to make a commit to the source that will add PVRTC support, Hurrican uses quite a bit of memory so this feature really helped with that and made the game much more stable. Usually though this only resulted with problems in later levels, not right at the beginning of the game startup. Maybe this helps. but looks like you have 1 GB of memory, which should be enough.
Hello! Thanks for the port!
Originally Posted by Pickle
Please be aware, that there is an issue within libmikmod.
Only very recent libmikmod versions can properly output sound on (all) ALSA systems.
If you cannot upgrade or want to stay with distro-shipped outdated version of libmikmod, you should close all your audio applications before you start the game, or it will have no sound.
The issue is that only recent versions detect and can work with ALSA, and hence with PulseAudio.
The version shipped with Ubuntu 12.04 and currently in Debian testing is outdated, does not support ALSA, tries to use OSS instead, which ALSA correctly emulates,.. however:
Old libmikmod does two things wrong:
1) Grabs exclusive access to ALSA soundcard. This means: all audio applications MUST be closed or there will be no sound.
2) Races with PulseAudio' own OSS implementation, preventing PA to emulate the sound. This means, in systems with PA, it is ignored and case (1) is applied.
If libmikmod does not get exclusive access to soundcard, it defaults to "no sound".