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.8k 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 @tpo1990
      last edited by cyperghost

      @tpo1990 I can also consider to write a bash menu like in this thread but the main problem is to differ between a vanilla build and a mod.

      So I would suggest following. Every mod uses it's own subfolder. Vanilla builds just starts with a call to ecwolf. If there is a pak file then the --file argument is used.

      @Solid-One I tried with button command main_menu = #; #=some numbers
      Did not work at all. Can you enter the main menu if you are in a game?

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

        @cyperghost Then maybe separate mods from vanilla build by having one bash menu for vanilla builds and one for mods. I think it is also important to keep a clean structure so that it will be easy to use as well.

        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 cyperghost

          @tpo1990 Or by creating a kind of cfg or ini files with mandatory parameter set.

          Wolfenstein - Spear of Destiny.ecwolf

          /home/pi/RetroPie/roms/wolf3d/
          --data sod
          

          Wolfenstein - Spear of Destiny Advanced Resolution Mod.ecwolf

          /home/pi/RetroPie/roms/wolf3d/
          --data sod --file Advanced_res.pak3
          

          That would be a possible solution, but needs a bit of handwork of course.
          First line contains game data path
          Second line is parameter set

          Because some modules like Astrostein need a cmdline call like ecwolf --file astrostein3_fix_PC.pk3 Astro3_data.bin

          EDIT:

          • Annother question: Can you enter main menu with any gamepad key within the game?
          • Maybe there are other ways without additional description files...
          cyperghostC 1 Reply Last reply Reply Quote 0
          • cyperghostC
            cyperghost @cyperghost
            last edited by

            @tpo1990 I'm making a fork of your git and send you some PR
            I think I've got a solution that works best ....

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

              I made some efforts with scripting. You can take a look in my GITHUB resp

              You have to setup .ecwolf files maybe Wolfenstein 3D - HighRes.ecwolf
              Inside this file you fill your data. So you've HD graphics for SoD, Wolf3D and nice soundtrack ;)

              cd wolf3d_14
              /opt/retropie/ports/ecwolf/ecwolf --data wl6 --file ../addons/ECWolf_hdpack.pk3 ../addons/ECWolf_hdmus_3DO.pk3
              wait $!
              
              • The first line opens directory wolf3d_14 were the vanilla Wolfenstein 3D version 1.4 resides.
              • The second line is ecwolfs command line switch that, it says to go back to port/wolf3d root menu and load the Highrespak inside addon directory
                • you can add as much bash commands as you like
                • zip commands, xboxdrv ...
              • The third line is wait $!
                • everything after this will be exectued after Wolf3d was closed
                • usefull to repack savegames, terminate xboxdrv....

              My directory tree looks like this now.

              wolf3d/
              ├── addons
              │   ├── Astro3_data.bin
              │   ├── astrostein3_fix_PC.pk3
              │   ├── ECWolf_hdpack.pk3
              │   └── totenhaus.pk3
              ├── wolf3d_14
              │   ├── audiohed.n3d
              │   ├── audiohed.sod
              │   ├── audiohed.wl6 
              |      .....
              │   ├── vswap.n3d
              │   ├── vswap.sod
              │   └── vswap.wl6
              ├── Wolfenstein 3D.ecwolf
              ├── Wolfenstein 3D - HighRes.ecwolf
              └── Wolfenstein 3D - Spear of Destiny.ecwolf
              

              1. Selection screen

              2. runcommand launching screen

              3. Finally a Wolf3D in highres

              Finally thank you @tpo1990 for bringing this together

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

                @Solid-One

                I'll see how the Wolf3D SNES port (Claw of Eisenfaust) will work.

                It works fantastic

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

                  Very cool.
                  just started messing around with it. so i have found i cant remap the controls for the joy1 in the game menu. so playing it from the start with my 8bitdo is not easy.
                  yes i did find the config file. i need to poke around that a bit more and get the IDs for the buttons that it reads so i can edit it.

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

                    @cyperghost

                    to get the selection menu that you have a pic of. do i just need to use the script that you have on your github or is there more work?

                    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 Yes you have to edit Wolfensteins 3D emulator config file. It's located in /opt/retropie/configs/ports/wolf3d/emulators.cfg or in /opt/retropie/configs/ports/ecwolf/emulators.cfg and add a line

                      ecwolf = "pushd /home/pi/RetroPie/roms/ports/wolf3d; /opt/retropie/ports/ecwolf/ecwolf %ROM%; popd"
                      default = "ecwolf"
                      

                      then you copy ecwolf.sh from github to /opt/retropie/ports/ecwolf and make it executable. I assume the binary of ecwolf is in same directory as the script file. Again! Make the script executable

                      then you copy Wolfenstein 3D.sh from github to /home/pi/RetroPie/roms/ports

                      That should do the trick so far....
                      File convention according this post

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

                        @cyperghost thank you, ill give it a go. not sure if i want a menu, or just have all the games listed in my ports.

                        right now im just getting my controls down good.

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

                          @ExarKunIv Well with the .ecwolf-method you can create a own system ;)
                          Of course you can set all parameters manually script files instead if you don't want a menu.

                          Everything is possible. If you don't want a menu you have to change the call from ecwolf.sh to ecwolf of course.

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

                            @cyperghost ok i got the files in and i was looking at the other post that you linked to.
                            i get what you said. the only thing that im lost on is that you have to setup up description files and you give the example of
                            Wolfenstein 3D - HighRes.ecwolf.
                            is that going to be a .sh file or something else

                            the rest you made it nice and clear

                            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 the .ecwolf format is setted up in two sections. Every thing over the wait command is considered as presetup, everything after wait is a postsetup

                              So Wolfenstein 3D.ecwolf with content

                              cd wolf3d_14
                              echo "Hello That Is Wolfenstein 3D`
                              sleep 5
                              ecwolf --data wl6
                              wait ?!
                              echo "This is the end"
                              sleep 5
                              

                              Will do following

                              1. Changedir to wolf3d_14, base path is usually setted in your emulators.cfg (see pushd line)
                              2. Write Output (useless of course and just for fun)
                              3. Wait 5 Seconds (useless, too but I want to show how this works)
                              4. One command from ecwolf binary starting with double dashes, this commands just tells ecwolf to search for wl6 files to start Wolfenstein, wl1 would be the demo, sod is Spear of Destiny ...
                              5. Then the turning point ... the wait command ;)
                              6. again a message after ending the current game
                              7. a sleep command after ending the game

                              I hope I explained well. So all my .ecwolf files are in /home/pi/RetroPie/roms/ports/wolf3d, all vanilla wolf3d files (with Noah Arcs, Spear of Destiny and Wolf 3d itself) are in wolf3d_14 directory and then I've created a directory addons

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

                                @cyperghost oh i get it now.. i hope

                                .ecwolf is the file format

                                ok i think i get it enough for me to start playing around. if i come up with anymore dumb questions i will ask ;)

                                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 Yes .ecwolf is the file format for the graphical launcher and for the ecwolf.sh "translator" that relies next to the ecwolf binary.
                                  You see all the commands are a bit differenct so I doubt that there will be a method to launch all pk3-modules with one file. Sometimes you load two pk3-files in one string (for music and highres graphics for example) so I think the .ecwolf-method is a nice compromise

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

                                    @cyperghost works for me

                                    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 1
                                    • cyperghostC
                                      cyperghost @ExarKunIv
                                      last edited by cyperghost

                                      @ExarKunIv Fine!
                                      Remember with the dashes

                                      You can also use this one

                                      cd wolf3d_14
                                      --data sod
                                      --data wl6
                                      

                                      This will result to load Wolfenstein 3D and not Spear of Destiny because last double dash command is used as cmd-line. We can deal with this so far.


                                      @tpo1990 Are you still alive?

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

                                        @cyperghost I've installed just now ECWolf on my home PC. I'm running Ubuntu 14.04 64-bits, plugged a Xbox360 controller through a wireless receiver, and opened ECWolf 1.3.3 (latest stable version, installed through DRDTeam's PPA).

                                        It worked just like when I tested it on Windows a few weeks ago: I could access menus simply by pressing Start button, just like ESC key. And since RetroPie runs in Debian, which is where Ubuntu is based, then it's safe to say that it should work too.

                                        I've done the same test in another controller too: a PS2 controller plugged through an USB adapter. However, to my surprise, Start didn't worked for accessing menus just like ESC key. In fact, neither of the buttons of my controller worked for going back to the menus.

                                        The conclusion I could reach is: Start for accessing menus won't work for generic USB joysticks, but instead only for Xbox-like controllers. My guess is that the controller you've used is a generic one, and that's why you're having this problem.

                                        Assuming my conclusion is right, you have three solutions for your problem:

                                        1. Replace your generic USB controller for a Xbox-like one;
                                        2. Use xboxdrv in order to emulate a Xbox360 controller from your generic USB joystick (you can use xboxdrv to map buttons to keys too, so you can simply map Start button to ESC key, as a workaround);
                                        3. Edit ECWolf's source code manually, in order to implement a way of mapping start button to menus on your generic usb controller (some guys made it in ZDoom). Requires programming knowledge in C++.
                                        cyperghostC 1 Reply Last reply Reply Quote 1
                                        • cyperghostC
                                          cyperghost @Solid One
                                          last edited by cyperghost

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

                                          Assuming my conclusion is right, you have three solutions for your problem

                                          Your conclusion is right.

                                          I think if someone can step into the code and make some small changes to the code, that would be best.

                                          1 Reply Last reply Reply Quote 0
                                          • 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
                                            • 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.