ECWolf - Wolfenstein 3D source port for mods
-
@tpo1990 great work ! I have tested the installation on a PC and it seems to work (didn't start any game since it's headless).
One minor tidbit -rename
was not installed by default on my Ubuntu, maybe should be added as a dependency. -
@tpo1990 I compiled this and it runs fine....
Some things to improve the modules
- You have some dependencies that are not required at all. I only installed
libsdl2-mixer-dev libsdl2-net-dev
I think the g++ and mercurial thing isn't needed. - You can download the whole archive by using
wget https://bitbucket.org/ecwolf/ecwolf/get/5065aaefe055.zip
then unzip cmake make .... - You can achive to load all WOLF episodes with
3.1 One Fileset or
3.2 directory structured
For the one fileset you mix all episodes of WOLF in
/home/pi/RetroPie/roms/ports/wolf3d
and this may contain a long list like this onepi@retropie:~/RetroPie/roms/ports/wolf3d $ ls audiodct.n3d audiot.wl6 gamemaps.wl6 sod vgagraph.wl6 vswap.wl6 audiohed.n3d config.n3d licenses.zip vgadict.n3d vgahead.n3d wolf3d audiohed.sod config.sod maphead.n3d vgadict.sod vgahead.sod audiohed.wl6 config.wl6 maphead.sod vgadict.wl6 vgahead.wl6 audiot.n3d gamemaps.n3d maphead.wl6 vgagraph.n3d vswap.n3d audiot.sod gamemaps.sod noah vgagraph.sod vswap.sod pi@retropie:~/RetroPie/roms/ports/wolf3d $
Then your
SOD-WOLF3d.sh
contains justpushd /home/pi/RetroPie/roms/ports/wolf3d /opt/retropie/ports/ecwolf/ecwolf --data sod popd
without the data tag you create a text selection menu ;)
For the directory structure you set each episode in one directory
sod noah wolf3d
and then the bash file will be simply
pushd /home/pi/RetroPie/roms/ports/wolf3d/sod /opt/retropie/ports/ecwolf/ecwolf popd
- You have some dependencies that are not required at all. I only installed
-
@mitu The rename comand isn't really needed if you use the directory based variant.Otherwise the
--data
switch must be set toSOD
orsod
So it's a question that @tpo1990 can answer what seems the best variant ;)Annother thing. You can't terminate current running game with gamepad! ESC key seems to be locked somehow and the back feature just works in main menu. This should be improved at first ;)
-
function game_data_ecwolf() { pushd "$romdir/ports/wolf3d" rename 'y/A-Z/a-z/' * popd if [[ ! -f "$romdir/ports/wolf3d/vswap.wl6" && ! -f "$romdir/ports/wolf3d/vswap.wl1" ]]; then cd "$__tmpdir" # Get shareware game data downloadAndExtract "http://maniacsvault.net/ecwolf/files/shareware/wolf3d14.zip" "$romdir/ports/wolf3d" -j -LL fi
The -LL switch is a nice find. So to make ecwolf perfect we just need a possibility to ESC from ingame to mainmenu ;) Should be possible to do. Thanks for bringing this jewel alive. Somehow I never was able to get SDLWolf running (false levelset?) with ecwolf there was never an obstacle.
I think with ecwolf it should be possible (in later dev stage) to get Blackstone and Corridor 7 running, too
-
@cyperghost I've tested ECWolf on Windows a few weeks ago, and I remember being able to go back to menu by pressing Start on a Xbox360 controller. Maybe there's a way of mapping a button to go back to the main menu, just like there is in Zdoom sourceport (by binding a button to the console command 'main_menu'). Try checking the button mappings screen.
-
@cyperghost I think the best scenario or output would be, if that when you start the game from Emulationstation it would show a selection menu for what game or wads to choose. For example like this.
@mitu Thank you. According to the compiling instructions from the ECWolf website - rename has not been mentioned. It doens't look like it is needed on our RPI. I can not say about Ubuntu, as i have not tested it from there.
Let me hear what both thoughts you two have on this.
-
@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? -
@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.
-
@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 setBecause 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...
-
@tpo1990 I'm making a fork of your git and send you some PR
I think I've got a solution that works best .... -
I made some efforts with scripting. You can take a look in my GITHUB resp
You have to setup
.ecwolf
files maybeWolfenstein 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
- The first line opens directory
-
-
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. -
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?
-
@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 lineecwolf = "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 executablethen 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 -
@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.
-
@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
toecwolf
of course. -
@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 elsethe rest you made it nice and clear
-
@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 postsetupSo
Wolfenstein 3D.ecwolf
with contentcd wolf3d_14 echo "Hello That Is Wolfenstein 3D` sleep 5 ecwolf --data wl6 wait ?! echo "This is the end" sleep 5
Will do following
- Changedir to wolf3d_14, base path is usually setted in your emulators.cfg (see pushd line)
- Write Output (useless of course and just for fun)
- Wait 5 Seconds (useless, too but I want to show how this works)
- 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 ... - Then the turning point ... the wait command ;)
- again a message after ending the current game
- 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 inwolf3d_14
directory and then I've created a directoryaddons
-
@cyperghost oh i get it now.. i hope
.ecwolf
is the file formatok i think i get it enough for me to start playing around. if i come up with anymore dumb questions i will ask ;)
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.