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.3k 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.
    • 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
                    • cyperghostC
                      cyperghost
                      last edited by

                      With proper format I mean to patch the file with converted file and then use diff again to recreate the new patch. This would avoid the install of unwanted packages.

                      Gold way - send the creator a P R but I do not have a bit bucket account

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

                        @cyperghost Ah i see. I did find out that the dos2unix package is avaliable with apt-get from the official raspbian repository.

                        If we did include the dos2unix package(dependency) in the scriptmodule, wouldn't it be possible to make the scriptmodule do it automatically with executing the patch, as long as dos2unix package has been installed first?

                        At least considering this, it could be the primary way until a better solution for a proper format shows up. Just as a temporary solution.

                        I also don't have a bit bucket account.

                        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 I would avoid the installation of the converter and just use a proper prepared patch.

                          As I said patch first with help from the conver t and then use diff command to prepare patch

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

                            @cyperghost Yes it probably is. I will try that approach first.

                            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 I tried this way and it works. Them the patch command is reduced to just patch -p0 -i patch.diff

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

                                @cyperghost I can't upload files - journey for work in progress

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

                                  @cyperghost hey, I was thinking: is it really necessary to bother using unix2dos for converting linebreaks? I'm asking this because recently I've made a small patch for Doom Legacy in sourceforge, that allows users to create a multiplayer game with bots without having to recurr to console commands for that task. I've created that patch on a desktop with Ubuntu 14.04 at home, and it worked just fine for me when I tested applying it on a clean copy of DL obtained through SVN.

                                  I'm guessing the reason why it wasn't needed to convert line breaks is because DL source code files were created and edited in Linux instead of Windows. On your case, assuming you were using notepad in Windows for editing those files, by default it can change the structure of the line breaks of the file, thus resulting in DOS line breaks, instead of Unix line breaks.

                                  If that's the case, then if you edit the file in Linux instead of Windows (or at least using other text editor that won't change line breaks' structure, such as Notepad++, Geany or Atom per example), the patch generated probably won't have this issue when being applied to the original source code. So, if it works this way, then unix2dos won't be needed anymore.

                                  Ah, about Bitbucket, you guys can easily create an account in there. I've created mine a few years ago, and with that account, I have even reported a few bugs in Splitwolf. It's free of charge, and as easy as setting up an account in Github.

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

                                    @Solid-One no the source files are using CRLF and I created the patch on the Raspberry by inserting code to source with LF only. Therefore the mismatch

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

                                      @cyperghost So I guess it's the opposite of what I initially thought: The developers of ECWolf probably used only Windows for coding, instead of Linux (just like DL developers). That being the case, then you could edit those files from Windows instead of directly in RPi, and it should work. Or at least try editing the files with another Linux text editor that don't change line breaks (although it's hard to find a console text editor that don't change line breaks' structure).

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

                                        @cyperghost If i try to patch ECWolf with the file wl_play_patch.diff, it fails with this in the terminal:

                                        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

                                        At the moment it does not work for me even with the command: patch -p0 -i

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

                                          @Solid-One Much of the work i create is directly on a Raspberry Pi 3B on a Sandisk 16gb micro sd card as my test environment. I use Geany as the text editor, when i create the scriptmodules and then test the scriptmodules many times before releasing it to the RetroPie community including ECWolf.

                                          ECWolf is based off the code from the Wolf4SDL project and built to enhance gameplay further. Maybe the developers of Wolf4SDL used Windows as development platform and that explains why ECWolf is working the same way.

                                          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.

                                          Solid OneS cyperghostC 2 Replies Last reply Reply Quote 0
                                          • Solid OneS
                                            Solid One @tpo1990
                                            last edited by

                                            @tpo1990 Well, assuming the use of Windows as a development platform for Wolf4SDL and/or ECWolf by the developers of those source ports, I guess there's a way of circunventing this issue on Geany.

                                            Try those steps below on Geany:

                                            • Open wl_play.cpp file;
                                            • Go to "Document -> Define Line Break -> Convert and Define to CR/LF (Windows)¹";
                                            • Save the file and exit;
                                            • Try applying @cyperghost's patch.

                                            Assuming the Geany function for converting line breaks to windows-style works, then maybe the patch should work.

                                            ¹ The names can be a little different. My desktop is in portuguese, and I don't know the exact term in english.

                                            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.