RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    ECWolf - Wolfenstein 3D source port for mods

    Scheduled Pinned Locked Moved General Discussion and Gaming
    ecwolfwolf3decwolf modwolf3d mod
    167 Posts 9 Posters 39.9k 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.
    • cyperghostC
      cyperghost @cyperghost
      last edited by

      @tpo1990 Send you a massive PR
      I tested on my Pi3, compiles and setup is fine

      1 Reply Last reply Reply Quote 0
      • tpo1990T
        tpo1990 @cyperghost
        last edited by

        @cyperghost said in ECWolf - Wolfenstein 3D source port for mods:

        @tpo1990 Yes but I think there is a better way of patching inside scriptmodules. I think some patches are in RestroPie-Setup directory for "offlline" patching - that better coding practice and makes control of code easier.

        But I think you can take the gist and after some final tests you can set a PR.
        I think I cleanup the code a bit and then I'm done.

        I will test it out later and update the scriptmodule with your changes and see how well it goes. Then a PR for RetroPie project can be created. :-)

        Greetings from Denmark. :-)

        Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

        ExarKunIvE 1 Reply Last reply Reply Quote 0
        • ExarKunIvE
          ExarKunIv @tpo1990
          last edited by ExarKunIv

          @tpo1990 i used what @cyperghost's script module and it compiled fine for me. but that's all i had time for. i did not do any playing as of yet

          UPDATE

          did a quick poke around. i see that mine does not have the ability to map exit key yet. but i dont know if its just my system and that i have the old versions still on there. even though i did uninstall it before using what cyperghost just posted

          RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
          RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
          Maintainer of RetroPie-Extra .

          cyperghostC tpo1990T 2 Replies Last reply Reply Quote 0
          • cyperghostC
            cyperghost @ExarKunIv
            last edited by cyperghost

            @ExarKunIv Check your build... it should say

            ecwolf-ecwolf-5065aaefe055/android-libs/launcher/src/org/libsdl/../deps/app/SDLControllerManager.java
            /home/pi/RetroPie-Setup
            /home/pi/RetroPie-Setup/tmp/build/ecwolf /home/pi/RetroPie-Setup
            
            = = = = = = = = = = = = = = = = = = = = =
            Building 'ecwolf' : ECWolf - ECWolf is an advanced source port for Wolfenstein 3D, 
            Spear of Destiny, and Super 3D Noah's Ark based off of the Wolf4SDL code bas.
            It also supports mods from .pk3 files.
            = = = = = = = = = = = = = = = = = = = = =
            
            patching file ./src/wl_play.cpp
            -- The C compiler identification is GNU 4.9.2
            

            You see the patch is applied

            Then go to config/controls... last line you'll see

            1 Reply Last reply Reply Quote 0
            • tpo1990T
              tpo1990 @ExarKunIv
              last edited by tpo1990

              @ExarKunIv Maybe you have downloaded @cyperghost scriptmodule before the patch was added.

              Uninstall and if it still compiles without the patch, then go to /home/pi/RetroPie-Setup/scriptmodules/ports/ and delete the ecwolf.sh file, then download @cyperghost scriptmodule again and reinstall.

              Greetings from Denmark. :-)

              Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

              1 Reply Last reply Reply Quote 0
              • ExarKunIvE
                ExarKunIv
                last edited by

                @cyperghost @tpo1990 ok i see whats going on. when i ran the wget that cyperghost just posted it worked fine but it put the new ecwolf in the /home/pi dir not the setup script folders

                so when i ran the .sh again it was the old version.

                i did not know that i needed to manual copy it in the the setup folder, which for me is no big deal

                but thanks for letting that it was just on my end. :)

                RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                Maintainer of RetroPie-Extra .

                1 Reply Last reply Reply Quote 0
                • ExarKunIvE
                  ExarKunIv
                  last edited by

                  @cyperghost ok that worked, i did see the patch was applied but i did get a error about the shareware games or something

                  Archive:  /tmp/tmp.Wh1wPiis6u/wolf3d14.zip
                    End-of-central-directory signature not found.  Either this file is not
                    a zipfile, or it constitutes one disk of a multi-part archive.  In the
                    latter case the central directory and zipfile comment will be found on
                    the last disk(s) of this archive.
                  unzip:  cannot find zipfile directory in one of /tmp/tmp.Wh1wPiis6u/wolf3d14.zip or
                          /tmp/tmp.Wh1wPiis6u/wolf3d14.zip.zip, and cannot find /tmp/tmp.Wh1wPiis6u/wolf3d14.zip.ZIP, period.
                  Archive:  /tmp/tmp.IR8NJazGvq/soddemo.zip
                    End-of-central-directory signature not found.  Either this file is not
                    a zipfile, or it constitutes one disk of a multi-part archive.  In the
                    latter case the central directory and zipfile comment will be found on
                    the last disk(s) of this archive.
                  unzip:  cannot find zipfile directory in one of /tmp/tmp.IR8NJazGvq/soddemo.zip or
                          /tmp/tmp.IR8NJazGvq/soddemo.zip.zip, and cannot find /tmp/tmp.IR8NJazGvq/soddemo.zip.ZIP, period.
                  /home/pi/RetroPie/roms/ports/wolf3d /home/pi/RetroPie-Setup/tmp /home/pi
                  /home/pi/RetroPie-Setup/tmp /home/pi
                  /home/pi
                  Error running 'wget -q -O/tmp/tmp.Wh1wPiis6u/wolf3d14.zip http://maniacsvault.net/ecwolf/files/shareware/wolf3d14.zip' - returned 4
                  Error running 'unzip -o /tmp/tmp.Wh1wPiis6u/wolf3d14.zip -d /home/pi/RetroPie/roms/ports/wolf3d' - returned 9
                  Error running 'wget -q -O/tmp/tmp.IR8NJazGvq/soddemo.zip http://maniacsvault.net/ecwolf/files/shareware/soddemo.zip' - returned 4
                  Error running 'unzip -o /tmp/tmp.IR8NJazGvq/soddemo.zip -d /home/pi/RetroPie/roms/ports/wolf3d' - returned 9
                  

                  just letting you know.

                  RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                  RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                  Maintainer of RetroPie-Extra .

                  cyperghostC 1 Reply Last reply Reply Quote 0
                  • cyperghostC
                    cyperghost @ExarKunIv
                    last edited by cyperghost

                    @ExarKunIv Well I really can't help you. The demo version are downloaded through an downloadAndExtract script introduced by helpers.sh
                    For me this works fine and it did so in my tests, it's the exact same command as @tpo1990 used in his 1st version of the script.

                    I guess it's a corrupt download of the demo files, try to obtain the files by manual and check if you can unzip them.
                    Or can you give the output if you use file wolf3d14.zip and file soddemo.zip

                    cyperghostC ExarKunIvE 2 Replies Last reply Reply Quote 0
                    • cyperghostC
                      cyperghost @cyperghost
                      last edited by cyperghost

                      @tpo1990 I'm on long vacation now so I can't login to git now. But you've said there is a problem in downloading source file.

                      It's still available, you can get the ecwolf-ecwolf-5065aaefe055.zip by using this link and it's the same link still in the scriptmodule .... I would stick to one version as long as possible if there is no reason to change. Every history commit can be downloaded as long as the resporitory is available.
                      Did you receive an error message?

                      http://maniacsvault.net/ecwolf/files/ecwolf/1.x/

                      These versions are all outdated, March 2019 is the newest one

                      You can still obtain a proper url from newest zip or tar file by "test-extracting" the archive and then read out root path. But as I said I'm on vacation now and I can't directly test on the RPi. But as far as I see the scriptmodule works ... You can of course fork on your github and use the gitpull command then you've control of the version.

                      EDIT: I rather think I've removed one dependencie by accident and therefore the compiling will not work on your mashine if you build this up on a fresh install. This usecase I've never tried out to admit.

                      tpo1990T 1 Reply Last reply Reply Quote 0
                      • ExarKunIvE
                        ExarKunIv @cyperghost
                        last edited by

                        @cyperghost yeah not sure either.

                        i uninstalled it and deleted the wolf3d folder and reinstalled it, this time it worked just fine. not sure what that was all about.

                        RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                        RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                        Maintainer of RetroPie-Extra .

                        1 Reply Last reply Reply Quote 1
                        • tpo1990T
                          tpo1990 @cyperghost
                          last edited by

                          @cyperghost Enjoy your vacation. I will try again with the link you gave me and see if i can sort it out in the scriptmodule that will soon get uploaded to my git repo.

                          I agree in that there is no reason to change the version as long as it works. I will look into which dependencie that was removed.

                          Greetings from Denmark. :-)

                          Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                          cyperghostC 1 Reply Last reply Reply Quote 1
                          • cyperghostC
                            cyperghost @tpo1990
                            last edited by cyperghost

                            @tpo1990 Yes I'll enjoy my vacation for sure ;) Thank you.

                            About errors... they are stored to $HOME/RetroPie-Setups/logs from there use an log viewer or gunzip the file you're interested then you'll see if there is any. Maybe you can create a new patch for upcoming versions, you've hast to add the btn_esc and the btn_pause - line to the source code but as I said I saw no massive development in the newest code but it's up to you.
                            I'm looking forward into your PR for RetroPie

                            @ExarKunIv Yes seems like a broken download that makes the demos not being extractable. I think I will later write a menu tool, that automatically rescans for new added games, in the some logic as the installer does and maybe a "export" feature to make games directly accessable to ports section. If you want to add new games you've to check the files in ports/wolf3d and copy or change the Wolfenstein 3D (demo).ecwolf. Change the WL1 to WL6 or wl6 according the correct file extension of the full version. The .ecwolf files are called through Wolfenstein 3D*.sh files in ports section ... I think you will understand if you see the files. As I said I think I'll write a small tool that will do by automatic.

                            tpo1990T 1 Reply Last reply Reply Quote 2
                            • tpo1990T
                              tpo1990 @cyperghost
                              last edited by tpo1990

                              @cyperghost Good. I know of the logs folder. It is really great for finding out which part of the functions in the scriptmodule that does not work and also what the error says.

                              I just tried again and this time i got the scriptmodule working with the same url for the nightly build we originally used and it works great along with your patch. I'm thinking that it was just some small typo in the code with downloading the nightly build.

                              I also tried adding the Astrostein mod again with copying the existing wolf3d .ecwolf file and changing it into loading the astrostein .pk3 file along with a Astrostein.sh runcommand file. This is triggered by the --file command.

                              The mod works. I think this approach works good and i really think that most of the RetroPie users will be able to get it to work with other mods as well by following a how-to guide and if so, you could come up later with a selection menu that will add recognized mods or games to it, but for now this seems sufficient enough.

                              I will make the changes and update the scriptmodule very soon. I just need some more testing before making it into a PR.

                              Greetings from Denmark. :-)

                              Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                              cyperghostC 1 Reply Last reply Reply Quote 1
                              • cyperghostC
                                cyperghost @tpo1990
                                last edited by cyperghost

                                @tpo1990 Just a suggestion for the demo files, I would put them into a dedicated directory named shareware or freeware therefore

                                function game_data_ecwolf() {
                                    if [[ -z $(ls "$romdir/ports/wolf3d") ]]; then
                                        mkRomDir "ports/wolf3d/shareware"
                                        cd "$__tmpdir"
                                        # Get shareware game data of Wolfenstein 3D and Spear of Destiny
                                        downloadAndExtract "http://maniacsvault.net/ecwolf/files/shareware/wolf3d14.zip" "$romdir/ports/wolf3d/shareware"
                                        downloadAndExtract "http://maniacsvault.net/ecwolf/files/shareware/soddemo.zip" "$romdir/ports/wolf3d/shareware"
                                    fi
                                }
                                

                                Because the full version is always named wolf3d14 and then we have possibly a mix in one folder with only a difference in file exetension. All in all it really does not matter but I think it's much clearer so and people see instantly what versions they have installed.
                                In some kind we have to outbeat WOLF4SDL ;) - easy setup and tons of addons!
                                btw.: I was never able to get WOLF4SDL run the full version ...

                                tpo1990T 1 Reply Last reply Reply Quote 0
                                • tpo1990T
                                  tpo1990 @cyperghost
                                  last edited by

                                  @cyperghost That is a good idea in reducing the shareware(demo) versions to it's own subfolder in order to make any less confusing parts about the data files location.

                                  For the sake of ECWolf i think it's biggest advantage is the capability to run mods, making the more superior Wolfenstein 3D source port. We can only do so much, since in the end it is up to Jools Wills and the folks behind RetroPie to accept the PR once it has been created.

                                  Funny, i also never got Wolf4SDL to run the full version either even though i was trying to follow the official guide from the RetroPie wiki. ;-)

                                  I will make the change for the shareware(demo) versions straight away in the scriptmodule and then test it out before uploading to my git repo. :-)

                                  Greetings from Denmark. :-)

                                  Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                                  1 Reply Last reply Reply Quote 0
                                  • tpo1990T
                                    tpo1990
                                    last edited by tpo1990

                                    Big news. The ECWolf scriptmodule has been updated with a major revision to the code making it easier to locate the game data files of both shareware and registered versions of Wolfenstein 3D and Spear of Destiny episodes.

                                    A keyboard escape fix patch has been added to make it much more easier to map your controller to the escape key for exiting the game. Mods can now be added in a much more structured way thanks to @cyperghost work. (You can find the mod instructions on the first post in the topic).

                                    Run the Download again and update your ECWolf installation or uninstall first, then download and reinstall again.

                                    The scriptmodule is not for testing anymore and is now recognized as a stable release. It might just see a PR soon for the RetroPie project. :-)

                                    Greetings from Denmark. :-)

                                    Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                                    cyperghostC 1 Reply Last reply Reply Quote 2
                                    • cyperghostC
                                      cyperghost @tpo1990
                                      last edited by cyperghost

                                      @tpo1990 It would be nice if you would include the patch also in your repro ;)
                                      Why? If I delete my branch then the file is lost.

                                      Please don't copy and paste the text, rather download the file and upload it again.
                                      Why? With copy and paste you will likely lose line endings and then the patch will not work.

                                      Therefore are PR are state of the art in software development ;) They are a history lookback in the code source.

                                      Look at your code idents, in the codeblock

                                      function sources_ecwolf() {
                                          downloadAndExtract "https://bitbucket.org/ecwolf/ecwolf/get/5065aaefe055.zip"
                                          mv ecwolf-ecwolf-5065aaefe055 ecwolf
                                      }
                                      

                                      you've setted 8 spaces instead of 4 ;)

                                      Keep up the good work. Thank you for this jewel
                                      Best wishes

                                      cyperghostC 1 Reply Last reply Reply Quote 0
                                      • cyperghostC
                                        cyperghost @cyperghost
                                        last edited by

                                        @tpo1990
                                        Thanks for merging ;) ... one little last thing....

                                        wget -N -q https://raw.githubusercontent.com/tpo1990/ECWolf-RPI/master/ecwolf_keyboardpatch.diff
                                        

                                        I removed the --show-progress switch (just for cosmetics) and more important... the download points to your repro. So you've 100% control of your future PRs

                                        About the patch, I'm not sure if there is a better way to use the patch inside the scriptmodules but I recieved no answer as I asked for this :(

                                        Next stop: Retrogaming of Wolfenstein 2D ;)

                                        tpo1990T 1 Reply Last reply Reply Quote 1
                                        • tpo1990T
                                          tpo1990 @cyperghost
                                          last edited by

                                          @cyperghost No problem. It has now been corrected in latest git.

                                          Thanks to you the scriptmodule is much more refined. I noticed it also. Maybe we will receive a answer for a better way of applying the patch, otherwise it will still work fine as it is. Perhaps, when after creating the PR for RetroPie project someone could come up with a better way.

                                          Now that is a title i have never tried out. I might as well try it out some time. :-)

                                          Happy retrogaming ;-)

                                          Greetings from Denmark. :-)

                                          Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                                          cyperghostC 1 Reply Last reply Reply Quote 1
                                          • cyperghostC
                                            cyperghost @tpo1990
                                            last edited by cyperghost

                                            @tpo1990 I think we can use applyPatch
                                            Instead of the patch -i -p0 command just use applyPatch
                                            I think this could work...

                                            apply Patch uses -f -p1 command

                                            • Difference between p1 und p0 is
                                              • p0: ./src/wl_play.cpp
                                              • p1: src/wl_play.cpp

                                            So this may work out of the box! Maybe @mitu can say more to this - patchfile is here -- thank you.
                                            The -i switch isn't needed here because helpers.sh redirects file output to patch command with patch -f -p1 <"$patch"

                                            The reason for using the helpers functions is, that they give feedback to the processing with error codes. You can try out if this works and then I'm really out of my knowledge. I think that patches then are stored to RetroPie-Setup.

                                            tpo1990T 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.