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 38.7k 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
      last edited by cyperghost

      @Solid-One @tpo1990
      Okay done .... We can access main menu now. Assign a button key to ESCAPE GAME and you are fine

      GOT TO POSTING 44

      @BuZz Maybe interesting for you. ECwolf runs very good on Raspberry and outstands Wolf4SDL - I'm sure @tpo1990 can set a new PR now.

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

        @cyperghost Hey sorry for not answering. I am still alive :-). I am on my on vacation and have had some house duties to complete.

        That is some nice progress you have made there. I have not had the time to test it. I will test it very soon. According to your fork it looks very good. Did you send me a pull request to my github repository of ECWolf?

        Still my hexen2 PR has not been merged with the RetroPie Project yet and that was months ago. I wonder if Jools Wills has his hands full with patching/updating 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 1
        • cyperghostC
          cyperghost @tpo1990
          last edited by cyperghost

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

          Hey sorry for not answering. I am still alive :-).

          Fine, I rather thought you gave up retrogaming.

          ccording to your fork it looks very good. Did you send me a pull request to my github repository of ECWolf?

          No I didn't send you a PR, I think it's better if you release the script module. Feel free to use the scripts and patchfile that I've created.

          That is some nice progress you have made there. I have not had the time to test it.

          I made some changes to .ecwolf interpreter.
          With the ecwolf-files we are able to create a own system for ES and these give us back a kind of flexibility in usage.

          PART 1 --- 1:1 interpretation of shell commands (as lines many as you like)
          PART 2 --- ecwolf commands introduced by double dashes (only one line)
          PART 3 --- last line as shell commands (only one line)
          

          So for example

          echo "We are starting Wolfenstein 3D without pak mods now ..."
          sleep 5
          cd wolf3d_14
          echo "Next step is loading wolfenstein files"
          --data wl6
          echo "Thanks for playing...."
          
          1 Reply Last reply Reply Quote 1
          • cyperghostC
            cyperghost
            last edited by cyperghost

            @tpo1990
            I made some more tests
            Even the both "Spear of Destiny" mission packs run fine
            Just create both directories
            * SOD2 for Spear of Destiny - Mission Pack 2 - Return to Danger
            * SOD3 for Spear of Destiny - Mission Pack 3 - Ultimate Challenge

            just use correct parameter set

            • --data sd2 for Spear of Destiny - Mission Pack 2 - Return to Danger
            • --data sd3 for Spear of Destiny - Mission Pack 3 - Ultimate Challenge

            Works 100% with ecwolf :D


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

              @cyperghost I would never give up on retrogaming, It is too big a part of my life now, just also need to take care of the vacation with my family :-)

              Thanks that is very appreciated. I will take good use of it. I think once we have it all set i could create a pull request and see how it goes with 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 1
              • cyperghostC
                cyperghost @tpo1990
                last edited by cyperghost

                @tpo1990 I think it's a solid port of Wolfenstein and I wasn't aware that this can be converted to raspberry so elegant. So only thing I would suggest it to rahter download the whole package with wget and do ZIP extraction than to use hg. But that a thing that you decide on your own.

                I would never give up on retrogaming, It is too big a part of my life now, just also need to take care of the vacation with my family :-)

                Yes family first, then retropie projects... I was just a bit confused about your missing actions here. So enjoy your time.

                Looking to the future and there may be a chance that ecwolf hopefully makes other great games useable (Rise of the triad, Corridor 7) and therefore a solid port should be considered ;)

                As I said .... use the files from my git. The patch to setup the ESC key is a "must" in my opinion. Otherwise it's impossible to quit ecwolf without external keyboard or ssh command as long as you are in an active game (and furthermore, save, load features do also not work)

                Consider also that different games use same savegame location and filenames so wolf3d1.4 in std. resolution can't load games from wolf3d1.4 in HQ mode and vice versa. Therefore I used the .ecwolf files. These do zip unzip jobs for the related savestates meanwhile.

                So I uploaded all my ecwolf files to github.
                They are avaiable here
                But maybe it's easier instead of a line to line conversion to just handle this files as full grown scripts and make use of advanced shell commands... let me think about it.

                tpo1990T Solid OneS 2 Replies Last reply Reply Quote 0
                • tpo1990T
                  tpo1990 @cyperghost
                  last edited by

                  @cyperghost I think so too. I might make some changes when i have created a pull request, since the scriptmodule must meet the demands of the RetroPie projects guidelines.

                  Rise of the Triad is already possible through @zerojay RetroPie extras. That game could also be enhanced further with the possibility of mods. I know for a fact that it is possible to get bots working as i have tried it on my windows PC with a special RotT edition. Corridor 7 could be interesting to get working thorugh ECWolf as well as Blake Stone.

                  I will probably test out your improvements later today, when i have the time. As always by working together we will make it possible. ;-)

                  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
                  • Solid OneS
                    Solid One @cyperghost
                    last edited by

                    I'm getting a few issues when trying to compile ECWolf on my RPi2.

                    The first issue is when the scriptmodule tries to clone ECWolf's repository via hg (Mercurial). It's strangely giving me the following error:

                    user@leomontenegro:~$ hg clone https://bitbucket.org/ecwolf/ecwolf
                    aborted: error: _ssl.c:510: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
                    

                    I don't know if it's some kind of maintenance in Bitbucket, or if it's permanent due to some security changes related to SSL versions. My workaround for this is going to the ECWolf repository's Downloads section, and then clicking on the link Download repository. Luckily, this should give me the source code, so I can proceed with the other steps manually. However, with the "build_ecwolf" function not working, users trying to install ECWolf through this scriptmodule won't succeed on that task.

                    The second issue is about @cyperghost's patch for mapping ESC key to controller. After downloading source code via browser from bitbucket (since I got the SSL error above), I tried applying the patch. However, it gave me the following error:

                    user@leomontenegro:~/zxc/ecwolf-ecwolf-5065aaefe055$ patch -p0 -i wl_play_patch.diff
                    patching file ./src/wl_play.cpp
                    Hunk #1 FAILED at 73 (different line endings).
                    1 out of 1 hunk FAILED -- saving rejects to file ./src/wl_play.cpp.rej
                    

                    I don't know if it's something strange in the patch itself, or if the guys on ECWolf's repository commited some changes that breaks the patch. But since the changes inside the patch are minimal, I simply edited wl_play.cpp and made the changes by myself. Hopefully, it should work.

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

                      @Solid-One no it's the file format of the cpp file or the patch file.

                      EDIT: USE INSTRUCTIONS IN NEXT POSTING ---> here
                      I rather think it's better to transform the patch file then to change the format of the source file.


                      Try dos2unix ./src/wl_play.cppand if this does not work apply the same command to patchfile itself dos2unix wl_play_patch.diff ... how did you get the patch? By copy or paste or by wget command?

                      EDIT:
                      works like descriped!
                      The source code is written in windows style :(
                      I prepared the patch on unix system - therefore the mismatch but as long as there is no official PR I don't know if there is a difference between wget-zip download or hg git download :p

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

                        Okay .... extract the zip you've obtained

                        1. Get main code wget https://bitbucket.org/ecwolf/ecwolf/get/5065aaefe055.zip
                        2. unzip with unzip 5065aaefe055.zip
                        3. Enter main directory cd ecwolf-ecwolf-5065aaefe055
                        4. Download patch file wget https://raw.githubusercontent.com/crcerror/ECWolf-RPI/master/ecwolf_keyboardpatch.diff
                        5. Patch source patch -p0 -i ecwolf_keyboardpatch.diff
                        6. Prepare with cmake . -DCMAKE_BUILD_TYPE=Release -DGPL=ON
                        7. Compile with make --> ecwolf binary will be created

                        It's complete now ;)

                        I just needed dependencies sudo apt install libsdl2-mixer-dev libsdl2-net-dev
                        You will see if you compile if you need more.

                        @tpo1990 maybe you can add "Manual install to first or seconds topic"
                        And for your scriptmodule you can add a helper script like this file ./src/wl_play.cpp | grep -q CRLF && unix2dos wl_play_patch.diff
                        If true then convert patch file with unix2dos, if not true then apply patch directly.

                        Then there are 2 new keys/buttons you can assign to ESCAPE GAME and PAUSE GAME

                        proof of concept

                        1 Reply Last reply Reply Quote 1
                        • S
                          snock
                          last edited by snock

                          How can I get the codes of my joystick (Sf30 pro) to configure it manually in ecwolf.cfg.

                          From the menu it does not work for me.

                          1 Reply Last reply Reply Quote 0
                          • Solid OneS
                            Solid One @cyperghost
                            last edited by

                            @cyperghost I got the patch from your link above, from a github repository.

                            Anyway, I've analysed the changes you made in wl_play.cpp, and since it were only a dozen lines of code, I've simply changed that file manually, by myself, copying and pasting the additional lines.

                            After that, I've compiled the file and tested on my PS2 controllers. I confirm that the new controls showed just like on the images you posted, and after mapping Start button to "ESC Game", I could navigate on menus just fine.

                            Thanks for the patch and the instructions. Now gotta test some mods in ECWolf.

                            @snock Have you included cyberghost's patch before compiling ECWolf? If true, then there's no need of editing ecwolf.cfg, since you'll be able to do that from the menus.
                            But if you haven't, then you probably won't have luck by trying to edit ecwolf.cfg manually.

                            Even if you manage to get the codes of your joystick, and the command names, in order to try binding them manually through ecwolf.cfg, it probably won't work, because currently ECWolf has no way of allowing mapping custom buttons to ESC key. The game will simply ignore that command.

                            In summary, try applying the cyberghost patch before compiling. That should do the trick.

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              snock @Solid One
                              last edited by snock

                              @Solid-One I have applied it correctly since it leaves the options menu as in the last image but in white. I use attractmode as gui maybe that's it.

                              When I press A to change (from the remote control that key is assigned), on the other hand to modify the keys using a keyboard without problem.

                              Editing the file I got to change the right and left looking keys since I came out with the right stick (up and down).

                              In the end I got it by configuring the file. Executing (jstest / dev / input / js0) putting the codes.

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

                                @snock Yes you need a keyboard in first instance to map keys. Of course you can also edit wolf.cfg and change values manually but I think it's better to use the gui for configuration.
                                At least I prior the ecwolf port over the wolf4sdl port.
                                It's more robust to different game versions and it runs all mission packs and tons of addons. So I think it would be nice (with a good chance of acceptance) to release a PR of this one.

                                1 Reply Last reply Reply Quote 1
                                • S
                                  snock
                                  last edited by snock

                                  @cyperghost Probe with keyboard but it does not fail me when configuring the joystick ... modify the * .cfg without problems.

                                  After testing your scripts to add "games" in a word. AWESOME !!. For now I have only had a problem with Astrostein 2 and 3. The 1 works without problems.

                                  pi@retropie:~/.local/share/ecwolf/savegames $ log
                                  Parameters: 
                                  Executing: pushd /home/pi/RetroPie/roms/ports/wolf3d; /opt/retropie/ports/ecwolf/ecwolf.sh "/home/pi/RetroPie/roms/ports/wolf3d/Astrotein 2.ecwolf"; popd
                                  ~/RetroPie/roms/ports/wolf3d ~
                                  unzip:  cannot find or open /home/pi/.local/share/ecwolf/savegames/wolf3d-astrostein2_fix_PC.zip, /home/pi/.local/share/ecwolf/savegames/wolf3d-astrostein2_fix_PC.zip.zip or /home/pi/.local/share/ecwolf/savegames/wolf3d-astrostein2_fix_PC.zip.ZIP.
                                  ---------------------------- ECWolf ----------------------------
                                    ecWolf babel file : /home/pi/RetroPie/roms/ports/wolf3d/Astrotein 2.ecwolf
                                    shell start cmd   : cd wolf3d_14
                                    ecWolf cmd line   : --data wl6 --file ../addons/Astro2_Data.bin ../addons/astrostein2_fix_PC.pk3
                                    shell onend cmd   : zip -mj -q /home/pi/.local/share/ecwolf/savegames/wolf3d-astrostein2_fix_PC.zip /home/pi/.local/share/ecwolf/savegames/savegam*.ecs
                                    basedir emulators : /opt/retropie/ports/ecwolf
                                    current directory : /home/pi/RetroPie/roms/ports/wolf3d/wolf3d_14
                                  ---------------------------- ECWolf ----------------------------
                                  W_GetNumForName: TITLEPAL not found!
                                  ReadConfig: Reading the Configuration.
                                  IWad: Selecting base game data.
                                  W_Init: Init WADfiles.
                                   adding /opt/retropie/ports/ecwolf/ecwolf.pk3, 99 lumps
                                   adding ./audiot.wl6, 288 lumps
                                   adding ./gamemaps.wl6, 120 lumps
                                   adding ./vgagraph.wl6, 149 lumps
                                   adding ./vswap.wl6, 588 lumps
                                  Could not stat ../addons/Astro2_Data.bin
                                    No such file or directory
                                   adding ../addons/astrostein2_fix_PC.pk3, 199 lumps
                                  InitGame: Setting up the game...
                                  SDL_Init: Using SDL 2.0.8
                                  VL_ReadPalette: Setting up the Palette...
                                  ClassDef: Loading actor definitions.
                                  S_Init: Reading SNDINFO defintions.
                                  S_Init: Reading SNDSEQ defintions.
                                  US_Startup: Starting the User Manager.
                                  CreateMenus: Preparing the menu system...
                                  DemoLoop: Starting the game loop...
                                  
                                  zip error: Nothing to do! (/home/pi/.local/share/ecwolf/savegames/wolf3d-astrostein2_fix_PC.zip)
                                  
                                  

                                  Looking for mods for wolf3d I found many for doom. Is there any way to execute them?

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

                                    @snock I just did test with the Highres mods and some sound mods.
                                    Then I was able to run "Escape from Totenhaus" and "Claw of Eisenfaust" and these run without any problem.
                                    Here you can download tons of modifications: https://www.moddb.com/company/astrocreep

                                    Think about the ecwolf-files are highly affected to globbing!
                                    So commands like cd "Wolfenstein 3D" do not work! So avoid white spaces!

                                    I expermineted with IFS and loops (yes this works) and sourcing files with a setted trap (yes this works, too) but all in all the ecwolf-file now (07/2019) is much easier to use and gives better hints of error detection.

                                    In your case there seems only an error in loading the PAK file....

                                    Could not stat ../addons/Astro2_Data.bin
                                      No such file or directory
                                    

                                    Is Astro2_Data.bin available? The file name is case sensitve!

                                    EDIT:

                                    I added this info to Astrostein 2.ecwolf

                                    unzip /home/pi/.local/share/ecwolf/savegames/wolf3d-astro2.zip -d /home/pi/.local/share/ecwolf/savegames/
                                    cd wolf3d_14
                                    --data wl6 --file ../addons/astrostein2_fix_PC.pk3 ../addons/Astro2_data.bin 
                                    zip -mj -q /home/pi/.local/share/ecwolf/savegames/wolf3d-astro2.zip /home/pi/.local/share/ecwolf/savegames/savegam*.ecs
                                    

                                    and used this addon pak from here
                                    Works flawless! I think you wrote Astro2_Data.bin but in my configuration it is Astro2_data.bin -- lowercase D

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      snock
                                      last edited by

                                      @cyperghost True ... they were the many of the night and I did not notice in the letter D. Solved.

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

                                        Some optimizations for COMMAND line:
                                        add --extravbls 2 to ecwolfs to each .ecwolf file inside $HOME/RetroPie/roms/ports/wolf3d

                                        • Reduces CPU usage up to 50%
                                        • Prevents from overheating

                                        Additional optimization:
                                        Main Menu --> Options --> Display Options

                                        • Activate Fullscreen
                                        • Activate VSYNC (will save 3-4% CPU on a RPi3)
                                        • Aspect ratio set to AUTO
                                        • Set resolution to 512x384 (0,5x HD)

                                        Additional EXTRA-FUN
                                        Download Noahpak - The Invasion - this needs SUPER NOAH ARCH 3D

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

                                          @cyperghost I already tried your instructions with trying to execute the patch but it fails at the step 5: Transform patch code from LF EOL --> CRLF EOL unix2dos wl_play_patch.diff from your post

                                          unix2dos is not recognized as a command on my test RPI setup. Is there another dependency that i need to install first? Maybe i forgot something in the process.

                                          As for getting the source files, wget seems to work great so i think we could change from using hg (mercurial) to wget leaving out the mercurial dependency from the scriptmodule.

                                          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 0
                                          • cyperghostC
                                            cyperghost @tpo1990
                                            last edited by

                                            @tpo1990 You need 'dos2unix' package. But it would be better to transform the patch in correct format. That is also better for a proper PR. As I said use the files that I prepared as you want - This version of Wolf is really great and also easy to setup now.

                                            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.