RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Turrican (hurricane clone) black screen

    Scheduled Pinned Locked Moved Help and Support
    emustationhelpandsupporthurricane
    64 Posts 8 Posters 7.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      JenGun @DavidDraper
      last edited by JenGun

      Next try: the new TARGET sdl2 makes it possible to run Hurrican in full resolution on the Raspberry Pi 4 with "Buster" (KMS/DRM on console and LXDE desktop)

      Index: src/Makefile
      ===================================================================
      --- src/Makefile	(revision 286)
      +++ src/Makefile	(working copy)
      @@ -264,6 +264,25 @@
       
       endif
       
      +ifeq ($(TARGET),sdl2)
      +
      +EXE := ../hurrican
      +CXX := g++
      +CC  := gcc
      +LD  := g++
      +RM  := rm -f
      +
      +USE_EGL := no
      +USE_GL2 := yes
      +USE_FBO := yes
      +
      +DEFINES += -DLINUX -DUSE_HOME_DIR -DUSE_GLFULL
      +
      +INCLUDES_OS := -I/usr/include -I/usr/include/SDL2 -I/usr/include/GL -I/usr/include/libmodplug
      +LDFLAGS := -g -lSDL2 -lSDL2_mixer -lSDL2_image -lmodplug -lGL
      +
      +endif
      +
       INCLUDES := -I. -I./SDLPort -I./cml $(INCLUDES_OS)
       
       COMMON_CXXFLAGS := -Wall -fsingle-precision-constant -fno-rtti
      @@ -316,7 +335,7 @@
       ##     to avoid numerous spurious warnings compiling against CML libary:
       ##     This will convert a version number like 4.8.1 to 4*100+8 and a version
       ##     number like 4.10.2 to 4*100+10, allowing direct comparison through bc.
      -GCC_VER_GTE48 := $(shell echo `$(CXX) -dumpversion | cut -f1-2 -d.` \>= 4.8 | sed -e 's/\./*100+/g' | bc )
      +GCC_VER_GTE48 := $(shell echo `${CXX} -dumpversion | cut -f1-2 -d.` \>= 4.8 | sed -e 's/\./*100+/g' | bc )
       ifeq ($(GCC_VER_GTE48),1)
       COMMON_CXXFLAGS += -Wno-unused-local-typedefs
       endif
      Index: src/SDLPort/cfbo.cpp
      ===================================================================
      --- src/SDLPort/cfbo.cpp	(revision 286)
      +++ src/SDLPort/cfbo.cpp	(working copy)
      @@ -77,7 +77,11 @@
               case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT:
                   Protokoll.WriteText( false, "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: Not all framebuffer attachment points are framebuffer attachment complete.\n" );
                   break;
      +#ifdef PLATFORM_SDL
      +        case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT:
      +#else
               case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS:
      +#endif
                   Protokoll.WriteText( false, "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS: Not all attached images have the same width and height.\n" );
                   break;
               case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:
      
      $ svn checkout svn://svn.code.sf.net/p/hurrican/code/trunk
      $ cd trunk/Hurrican/src
      $ svn patch /path/to/the/above/patch
      $ make TARGET=sdl2
      

      should create a working binary ...

      DavidDraperD 1 Reply Last reply Reply Quote 1
      • DavidDraperD
        DavidDraper @JenGun
        last edited by DavidDraper

        @jengun thanks for your patience and help. I need a little more expanation right now though. Is this is a little beyond me. Is the new file something be added to hurrican.sh? A new file? What should it be called and where should it be saved?

        Also, if i don't have the same hash for the hurrican.sh doesnt that mean something in the hurrican.sh file is off?

        Gratz in advance.

        Dave

        J 1 Reply Last reply Reply Quote 0
        • DavidDraperD
          DavidDraper @JenGun
          last edited by

          @jengun to answer your question about updating from source, the only option for hurrican when installing from reptropie setup is to install from source; I added retropie-extra to my install pie and it the way it is written there is no option to install from a pre-compiled binary, at least on my system. I think I did run an update script for RetroPie-Extra recently (two or three weeks ago?) As part of some generally updating i did on the RetroPie jnstall, b.ut I'm not sure it made a difference. I don't think RetroPie-Extra been updated at github in a while. I don't recall if I updated RetroPie-Extra from source or a pre-compiled binary.

          D

          1 Reply Last reply Reply Quote 0
          • J
            JenGun @DavidDraper
            last edited by

            @daviddraper:

            Is the new file something be added to hurrican.sh? A new file?

            Yes, the first part is a subversion patch file, there is no connection to hurrican.sh at this moment: this is just a test of whether the binary works at all ...

            What should it be called and where should it be saved?

            Save it in the home directory (/home/pi) on the Raspberry Pi under a name of your choice, e.g. hurrican-sdl2.patch, so the above commands to execute should like this:

            $ svn checkout svn://svn.code.sf.net/p/hurrican/code/trunk
            $ cd trunk/Hurrican/src
            $ svn patch /home/pi/hurrican-sdl2.patch
            $ make TARGET=sdl2
            $ cd ..
            $ ./hurrican
            

            The binary should start in fullscreen mode, integration with hurrican.sh will follow, but needs some time ...

            DavidDraperD 1 Reply Last reply Reply Quote 1
            • DavidDraperD
              DavidDraper @JenGun
              last edited by

              Hey @jengun

              For this newb, this is pretty cool stiff!

              I created the file in Atom, named it hurrican.sh and put it in /home/pi via SSH.

              I entered

              svn checkout svn://svn.code.sf.net/p/hurrican/code/trunk

              and a series of output lines, ending with:

              .... (lots of lines like the ones below)
              A    trunk/Editor/src/DX8Font.cpp
              A    trunk/Editor/src/resource.h
              A    trunk/Editor/src/Logdatei.h
              A    trunk/Editor/Editor.dsp
              A    trunk/Editor/Editor.suo
              A    trunk/Editor/MainMenu.aps
              A    trunk/Editor/MainMenu.rc
              A    trunk/Editor/Editor v1.plg
              Checked out revision 286.
              

              I entered the rest and here is what I got:

              pi@RetroPi:~ $ cd trunk/Hurrican/src
              pi@RetroPi:~/trunk/Hurrican/src $ svn patch /home/pi/hurrican-sdl2.patch
              C         src/Makefile
              >         rejected hunk @@ -264,6 +264,25 @@
              >         rejected hunk @@ -316,7 +335,7 @@
              C         src/SDLPort/cfbo.cpp
              >         rejected hunk @@ -77,7 +77,11 @@
              Summary of conflicts:
                Text conflicts: 2
              pi@RetroPi:~/trunk/Hurrican/src $ make TARGET=sdl2
              rm -f *.o SDLPort/*.o unrarlib040/unrarlib/*.o
              pi@RetroPi:~/trunk/Hurrican/src $ cd ..
              pi@RetroPi:~/trunk/Hurrican $ ./hurrican
              -bash: ./hurrican: No such file or directory
              pi@RetroPi:~/trunk/Hurrican $ ./Hurrican
              -bash: ./Hurrican: No such file or directory
              

              Dave

              J 1 Reply Last reply Reply Quote 0
              • J
                JenGun @DavidDraper
                last edited by

                @daviddraper

                I created the file in Atom, named it hurrican.sh and put it in /home/pi via SSH.

                OK, enough with Atom's copy and paste weirdness: please SSH to your Raspberry and execute this command to get the file:

                curl -LJO "https://gitlab.com/jengun/Hurrican/-/raw/master/hurrican-sdl2.patch"
                
                DavidDraperD 3 Replies Last reply Reply Quote 1
                • DavidDraperD
                  DavidDraper @JenGun
                  last edited by

                  @jengun ok...

                  pi@RetroPi:~ $ curl -LJO "https://gitlab.com/jengun/Hurrican/-/raw/master/hurrican-sdl2.patch"
                    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                                   Dload  Upload   Total   Spent    Left  Speed
                    0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0Warning: Failed to create the file hurrican-sdl2.patch: Permission denied
                    0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
                  curl: (23) Failed writing header
                  pi@RetroPi:~ $ sudo curl -LJO "https://gitlab.com/jengun/Hurrican/-/raw/master/hurrican-sdl2.patch"
                    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                                   Dload  Upload   Total   Spent    Left  Speed
                  100  1445    0  1445    0     0  13256      0 --:--:-- --:--:-- --:--:-- 13256
                  pi@RetroPi:~ $
                  

                  Dave

                  1 Reply Last reply Reply Quote 0
                  • DavidDraperD
                    DavidDraper @JenGun
                    last edited by

                    @jengun FWIW,

                    I deleted the /home/pi/trunk directory, recreated the hurrican-sdl2.patch file in notepad and ran the commands again and got the following results:

                    pi@RetroPi:~ $ svn checkout svn://svn.code.sf.net/p/hurrican/code/trunk
                    A    trunk/Hurrican
                    A    trunk/Hurrican/data
                    A    trunk/Hurrican/data/shaders
                    

                    ...
                    (lots of files)
                    ...

                    A    trunk/Editor/MainMenu.rc
                    A    trunk/Editor/Editor v1.plg
                    Checked out revision 286.
                    pi@RetroPi:~ $ cd trunk/Hurrican/src
                    pi@RetroPi:~/trunk/Hurrican/src $ svn patch /home/pi/hurrican-sdl2.patch
                    C         src/Makefile
                    >         rejected hunk @@ -264,6 +264,25 @@
                    >         rejected hunk @@ -316,7 +335,7 @@
                    C         src/SDLPort/cfbo.cpp
                    >         rejected hunk @@ -77,7 +77,11 @@
                    Summary of conflicts:
                      Text conflicts: 2
                    pi@RetroPi:~/trunk/Hurrican/src $ make TARGET=sdl2
                    rm -f *.o SDLPort/*.o unrarlib040/unrarlib/*.o
                    pi@RetroPi:~/trunk/Hurrican/src $ cd ..
                    pi@RetroPi:~/trunk/Hurrican $ ./hurrican
                    -bash: ./hurrican: No such file or directory
                    pi@RetroPi:~/trunk/Hurrican $
                    

                    Do you think its something related to my system? I'm running RetroPie commit number ac8d87759f4cad763affbba624be4fb206790ceb, "bump to version 4.7.2.," Running on Raspbian GNU/Linux 10 (buster).

                    Dave

                    David

                    1 Reply Last reply Reply Quote 0
                    • DavidDraperD
                      DavidDraper @JenGun
                      last edited by

                      @jengun

                      AWWWW MAN SOOOO COOL!!!
                      ::ahem::

                      I ran the script from https://gitlab.com/jengun/Hurrican/-/raw/master/hurrican-sdl2.patch and the rest of the commands

                      $ svn checkout svn://svn.code.sf.net/p/hurrican/code/trunk
                      $ cd trunk/Hurrican/src
                      $ svn patch /home/pi/hurrican-sdl2.patch
                      $ make TARGET=sdl2
                      $ cd ..
                      $ ./hurrican
                      

                      and the game ran from the command line! You did it!!!!!!! very awesome. And it even works with my controller I had plugged in to the system without any problems.

                      I hate to ask after everything you've done... but is there a way to create a link to the game from the Emulation Station details page?

                      Thanks!

                      Dave

                      J 1 Reply Last reply Reply Quote 0
                      • J
                        JenGun @DavidDraper
                        last edited by JenGun

                        @DavidDraper

                        and the game ran from the command line!

                        Glad that it works now! :-)

                        ... but is there a way to create a link to the game from the Emulation Station details page?

                        Just copy the working binary:

                        sudo cp -i /home/pi/trunk/Hurrican/hurrican /opt/retropie/ports/hurrican
                        

                        ... provided that there is an old copy of Hurrican with data files in /opt/retropie/ports/hurrican ...

                        I'm doing a cleaned up hurrican.sh that will things more convenient ...

                        DavidDraperD 2 Replies Last reply Reply Quote 1
                        • DavidDraperD
                          DavidDraper @JenGun
                          last edited by

                          @jengun ok- I will need to try this when I get home. I think I removed the Hurrican files I installed from RetroPie-Extra. Should I reinstall it and then run the copy command?

                          Thx,

                          David

                          1 Reply Last reply Reply Quote 0
                          • DavidDraperD
                            DavidDraper @JenGun
                            last edited by

                            @jengun Worked like a charm. You are a person of high class and a scholar. Thanks.

                            David

                            J 1 Reply Last reply Reply Quote 1
                            • J
                              JenGun @DavidDraper
                              last edited by

                              @daviddraper You're welcome and thanks for your kind words! :-) You might have noticed some random pixels on the right window edge: this is also fixed (at least they'll be cut off) in my GitLab repository: https://gitlab.com/jengun/Hurrican ...

                              DavidDraperD 1 Reply Last reply Reply Quote 1
                              • DavidDraperD
                                DavidDraper @JenGun
                                last edited by

                                @jengun Very cool. How do I update hurrican with your update? do I download it and copy it into the directory in /ports?

                                Dave

                                J 1 Reply Last reply Reply Quote 0
                                • J
                                  JenGun @DavidDraper
                                  last edited by JenGun

                                  @daviddraper Just clone the repository only once:

                                  git clone https://gitlab.com/jengun/hurrican
                                  

                                  and execute make in the hurrican/src directory to build the binary. To update use

                                  git pull
                                  

                                  in the hurrican directory ... I'll try to fix at least a few small bugs, but I'm not an expert on C++ and OpenGL: so there won't be any major changes. Please use GitLab to report issues, not this forum ...

                                  R 1 Reply Last reply Reply Quote 1
                                  • R
                                    RussellB @JenGun
                                    last edited by

                                    @jengun said in Turrican (hurricane clone) black screen:

                                    https://gitlab.com/jengun/hurrican

                                    Hi,

                                    I'm trying to get this version running on the RPi4 since it looks like it no longer needs X server to run.

                                    The gitlab project is no longer available. Does anyone know the new location?

                                    I compiled a version of Hurrican that runs under X (XINIT in emulators.cfg) and it works, but I can't find the code that I compiled and now when I try to pull code from other sites it fails linking.

                                    I installed Hurrican from RetroPie-Extras and it fails to display a screen on the RPi4.

                                    RussellB

                                    J 1 Reply Last reply Reply Quote 0
                                    • J
                                      JenGun @RussellB
                                      last edited by

                                      @russellb said in [Turrican (hurricane clone) black screen]

                                      The gitlab project is no longer available. Does anyone now the new location?

                                      https://github.com/drfiemost/Hurrican uses SDL2 by default and should work on RPi4 ...

                                      L 1 Reply Last reply Reply Quote 0
                                      • L
                                        luckyluca @JenGun
                                        last edited by

                                        @jengun
                                        Hi, when I get to the cmake step
                                        cmake -DCMAKE_BUILD_TYPE=Release ..

                                        I get an error that it is missing the cmake text file.

                                        I'm on pi4, any ideas?
                                        many thanks!

                                        J 1 Reply Last reply Reply Quote 0
                                        • J
                                          JenGun @luckyluca
                                          last edited by

                                          @luckyluca said in Turrican (hurricane clone) black screen:

                                          cmake -DCMAKE_BUILD_TYPE=Release ..
                                          I get an error that it is missing the cmake text file.

                                          Copy & paste the lines from https://github.com/drfiemost/Hurrican#building ... tested and works on the RPi4 ...

                                          L 1 Reply Last reply Reply Quote 0
                                          • S sleve_mcdichael referenced this topic on
                                          • S sleve_mcdichael referenced this topic on
                                          • S sleve_mcdichael referenced this topic on
                                          • L
                                            luckyluca @JenGun
                                            last edited by luckyluca

                                            @jengun Unfortunately that doesn't work, probably a library missing?

                                            pi@retropie:~/tmp/Hurrican/Hurrican/build $ cmake -DCMAKE_BUILD_TYPE=Release ..
                                            -- The C compiler identification is GNU 8.3.0
                                            -- The CXX compiler identification is GNU 8.3.0
                                            -- Check for working C compiler: /usr/bin/cc
                                            -- Check for working C compiler: /usr/bin/cc -- works
                                            -- Detecting C compiler ABI info
                                            -- Detecting C compiler ABI info - done
                                            -- Detecting C compile features
                                            -- Detecting C compile features - done
                                            -- Check for working CXX compiler: /usr/bin/c++
                                            -- Check for working CXX compiler: /usr/bin/c++ -- works
                                            -- Detecting CXX compiler ABI info
                                            -- Detecting CXX compiler ABI info - done
                                            -- Detecting CXX compile features
                                            -- Detecting CXX compile features - done
                                            -- Looking for pthread.h
                                            -- Looking for pthread.h - found
                                            -- Looking for pthread_create
                                            -- Looking for pthread_create - not found
                                            -- Looking for pthread_create in pthreads
                                            -- Looking for pthread_create in pthreads - not found
                                            -- Looking for pthread_create in pthread
                                            -- Looking for pthread_create in pthread - found
                                            -- Found Threads: TRUE
                                            -- Found SDL2: /usr/lib/arm-linux-gnueabihf/libSDL2.so;-lpthread
                                            -- Found SDL2_image: /usr/lib/arm-linux-gnueabihf/libSDL2_image.so (found version "2.0.4")
                                            -- Found SDL2_mixer: /usr/lib/arm-linux-gnueabihf/libSDL2_mixer.so (found version "2.0.4")
                                            CMake Error at 3rdparty/LibFindMacros.cmake:263 (message):
                                              REQUIRED PACKAGE NOT FOUND
                                            
                                              We could not find development headers for LibEpoxy.  Do you have the
                                              necessary dev package installed? This package is REQUIRED and you need to
                                              install it or adjust CMake configuration in order to continue building
                                              hurrican.
                                            
                                              Relevant CMake configuration variables:
                                            
                                                LibEpoxy_INCLUDE_DIR=<not found>
                                                LibEpoxy_LIBRARY=<not found>
                                            
                                              You may use CMake GUI, cmake -D or ccmake to modify the values.  Delete
                                              CMakeCache.txt to discard all values and force full re-detection if
                                              necessary.
                                            
                                            Call Stack (most recent call first):
                                              3rdparty/FindLibEpoxy.cmake:29 (libfind_process)
                                              CMakeLists.txt:482 (find_package)
                                            
                                            
                                            -- Configuring incomplete, errors occurred!
                                            See also "/home/pi/tmp/Hurrican/Hurrican/build/CMakeFiles/CMakeOutput.log".
                                            See also "/home/pi/tmp/Hurrican/Hurrican/build/CMakeFiles/CMakeError.log".
                                            pi@retropie:~/tmp/Hurrican/Hurrican/build $ make
                                            make: *** No targets specified and no makefile found.  Stop.
                                            pi@retropie:~/tmp/Hurrican/Hurrican/build $
                                            
                                            S 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.