No announcement yet.

Hurrican SDL Port

  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    the pvrtc code is now commited, although I did not include the script I used to convert the images, or include preconverted images. I should at least include the script.


    • #32
      Hurrican GLES on Rpi / Pandaboard status update - Panda no go

      Originally posted by Pickle View Post
      I think the debate on libmikmod is not worth much, really for a much better experience the libmodplug support should be used. The issue I had with libmikmod was how multiple tracks were handled internally. Again libmodplug solves all of the issues and is thought to have better sound quality.

      danboid: so you get the crack intro and then once you hit a key it freezes? There nothing graphically special going on there, just a progress bar while everything is being loaded.
      Hi Pickle!

      Sorry for the delayed response but I've only just seen your question!

      No, I don't see any graphics whatsover - all I get is blackness whether I run it windowed (with the previously mentioned hack) or full screen (as is the default) and I've just now done a clean build of rev 80 to check thats still the case.

      I mentioned the cracktro as I can hear that startup and if I keep on hitting enter I can progress through the menus and start the first level but I never see anything so I just have to exit or kill it.

      I'm also still getting 'Max Texure Units 0' when I start it.

      I should prob report this as a problem app to the TI OMAP devs if you have got it running fine on your RPi with GLES - Pickle?


      • #33
        so its seems your issues are in the EGL part, can you post the EGL log lines?

        I have not run hurrican on the rpi just yet, but I ran my own project on it this weekend. So I need to make some minor SDL changes and it should run on the rpi.


        • #34
          EGL log?

          I don't know where the EGL log might be - I monitored dmesg, syslog and as I started Hurrican but didn't see any EGL messages/warnings/errors

          Do you mean Game_Log.txt in pwd?


          • #35
            If your build is using the eglport.c/h you should see messages about the EGL process over your terminal. That part of the code is just using printf's. You should see them before the Max Texure Units statement.

            If you dont see anything about EGL at all there, then something is very wrong. Most likely your build does not include the EGL code and would explain quite well why the screen is black. You should be using a define USE_EGL_SDL and USE_GLES1.

            Really if your going to use any source code from any project I have ported to the pandora that uses opengles you need to know the eglport code. You need to know if the SDL portions can work. I expect they can since your using a similar TI driver as the pandora does.


            • #36
              missing DEFINE and include path

              Hi Pickle!

              Ah! You never mentioned USE_EGL_SDL before, or if you did I missed it, hence the revised Pandaboard build instructions would become:

              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 -DUSE_EGL_SDL
              to the end of line 1 (ie the DEFINES section), replacing -lGL with

              -lGLESv1_CM -lEGL
              In the LDFLAGS section which is at line 36 and adding:

              to the end of the INCLUDES section on line 34, all within hurrican-code/Hurrican/src/Makefile
              Last edited by danboid; 08-06-2012, 04:53 PM.


              • #37
                New build prob

                Here's the error I get trying to build Hurrican on Pandaboard 12.04 with the corrected DEFINES:

                DX8Graphics.o: In function `DirectGraphicsClass::Init(unsigned int, unsigned int, unsigned int, unsigned int, bool)':
                /home/dan/src/hurrican-code/Hurrican/src/DX8Graphics.cpp:255: undefined reference to `EGL_Open'
                /home/dan/src/hurrican-code/Hurrican/src/DX8Graphics.cpp:288: undefined reference to `EGL_Init'
                DX8Graphics.o: In function `DirectGraphicsClass::Exit()':
                /home/dan/src/hurrican-code/Hurrican/src/DX8Graphics.cpp:318: undefined reference to `EGL_Close'
                DX8Graphics.o: In function `DirectGraphicsClass::ShowBackBuffer()':
                /home/dan/src/hurrican-code/Hurrican/src/DX8Graphics.cpp:674: undefined reference to `EGL_SwapBuffers'
                collect2: ld returned 1 exit status
                make: *** [../hurricanlinux] Error 1


                • #38
                  you have to add the eglport.c to the file list. If I didnt mention it before I didnt use the makefile, I used codeblocks to build. The makefile was added by someone else for a desktop build.

                  when i get to the rpi version, I will try to clean up the makefiles and add some basic build docs.


                  • #39
                    Hurrican running on Pandaboard

                    Hi Pickle!

                    You were right - after adding SDLport/eglport into the Makefile that got Hurrican to compile with OGLES/EGL but for me to see anything on my Panda I had to apply the previously mentioned window mode hack as otherwise I just got a black screen. I was expecting this as thats what happens for me under d1x and d2x (Descent rebirth) and so it has confirmed a bug in the current drivers.

                    I THINK Hurrican should run now but since last night my Panda has become more unstable than it usually is running 12.04 and now I can barely open a xterm without it dieing and so I've only actually seen Hurrican run as far as the loading screen that comes after the game menu. I'm not going to bother with the Panda again until TI get some more stable drivers out as I'm lucky if I get an hour out of it at the best of times right now before it tanks.


                    • #40
                      Hurrican SDL Port

                      Hurrican has USB joystick/pad support under the Windows version and apparently this should work under the SDL port too but I've not got that to work so please test that if you can and let us know if you get your controller to work please!


                      • #41
                        Ok joystick support should work now with revision 81. Remember to map the desired buttons in the control prefs


                        • #42
                          Hullo there!

                          First post here

                          I found this thread from the Raspberry Pi forums; danboid had posted a link to his pandaboard compilation instructions and wondered if anyone had tried it on the Pi... I decided to take a crack at it this evening - you can see my progress here - and I was rather glad to see a revision to the Makefile to include Raspberry Pi support .

                          I'm now trying the updated makefile on my Pi - I haven't modified a single thing - and I'll update with the progress. I mentioned this in the thread at the Raspberry Pi forums, but I don't know how much help I'll be in the case of additional development or porting work - I'm no programmer!

                          Many thanks for all your effort on this - looking forward to seeing if I can get it working on the Pi


                          • #43
                            blcollier the modifications to the makefile and other stuff was the final changes needed to run on the rpi. Unfortunately hurrican really puts the rpi memory at its limit. While I did get in game it was very slow and unplayable.
                            I think the only way to get this running may be be with the highest memory slice for the gpu and running a swap.


                            • #44
                              Hello there. My first post here too.
                              I want to address some bugs.
                              1)First the rpi port should have it's own seperate makefile. This makes compiling less confusing.

                              2)The lines

                              #include "gl2.h"
                              #include "gl2ext.h"

                              in opengl.h:21 must be converted to

                              #include "GLES2/gl2.h"
                              #include "GLES2/gl2ext.h"

                              to be able to compile on Debian Wheezy.

                              3) There is a rendering bug for the tilemaps. It appears there are clipping erros but I'm really not sure what is causing this. I made a screenshot to help explaining it.

                              4) Also there is a problem with the fullscreen mode as the 640x480 windows appears in the lower left of my monitors native resolution. The rest is black. I'm not sure if this is caused by the by ATI driver or not... so maybe this is my fault.

                              Appart from that the port is very good.


                              • #45
                                1) I support many devices and for me its easier to maintain one file and have one var to select the device and its specific settings.

                                2) I took the approach of leaving the folder path out in case some systems did not use the typical path. I used the makefile to specify the include path to look in. i.e. -I/usr/include/GLES2

                                3) I dont know exactly, i have seen bugs like this on other systems but none of the ones I own. I would suspect it might be something with the texcoords. You could try the 1.X render for kicks for the same issue.

                                4) I think this makes sense if the window system is forcing a higher resolution window. OpenGL viewport is origin is in the lower left corner. Does SDL report the full resolution? If so I could be possible to try and use it to change the viewport origin to
                                x = (ScreenWidth - WindowWidth) / 2
                                y = (ScreenHeight - WindowHeight) / 2

                                Although I would have thought SDL would have controlled the resolution to 640x480

                                Did you try on your rpi? Which model do you have? I have a 256 mb and I could hardly get Hurrican to run with the memory constraints. One reason i never publicly released it.

                                Thanks for trying and giving feedback, it is appropriated.