Help getting Brutal Doom campaign hellonearthstarterpack + Duke3d expansions to work
-
@mediamogul i just went into customize controls and there are a lot more controls for brutal doom. Crap. I think i am going to have to control this with a controller. Or hook up my zboard keyboard.
-
It amazed me how overwhelmed I was for a game I've been playing for over twenty years. Even with a full-on controller layout, I had to get creative with where and how I mapped functions. Be sure not to overlook the new "crouch" "jump" and "kick" functions, as well as the individual left/right firing/punching. They all play an important role in 'Hell on Earth' and even manage to come in handy when playing the original game levels modified.
-
@mediamogul yeah i saw those settings. This game is going to be brutal and im probably doomed from the start. :)
-
Well, I'm sure that with a little... Heyyy, I see what you did there. Well played, sir.
-
That's me btw, everyone loves a bit of self deprecating humor.
I'm still stuck.
Correct me if i'm wrong but don't all port games need a .sh (launch script??) file located in the roms\ports folder, and an emulators.cfg file (placed in \configs\ports\gameX folder?)
Though each instance of doom (doom 1 doom 2 tnt etc) seems to all work off of \configs\ports\doom\emulators.cfg)??eg hexen has a hexen.sh launch script located in \roms\ports, and also a emulators.cfg file located at \RETROPIE\configs\ports\hexen
this is my hexen.sh( located in the roms\ports)
#!/bin/bash
"/opt/retropie/supplementary/runcommand/runcommand.sh" 0 PORT "hexen" "/home/pi/RetroPie/roms/ports/hexen/hexen.wad"and this is my emulators.cfg file located in \configs\ports\hexen
lr-prboom = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-prboom/prboom_libretro.so --config /opt/retropie/configs/ports/hexen/retroarch.cfg %ROM%"
default = "zdoom"
zdoom = "/opt/retropie/ports/zdoom/zdoom +set fullscreen 1 -iwad %ROM%"The above example allows me to boot hexen using zdoom but it crashes to desktop when attempting to launch with lr-prboom (a problem to solve for another day)
Anyways, what im asking is the info that you posted, mediamogul and edmaul69, is that meant to be
1.cut and paste into a launch script .sh file, and if so what do i call it?And then if correct, does it still need a emulators.cfg file?
2.cut and paste into a seperate emulators.cfg file located in configs/ports/???.If so what .sh script do i use to launch it?
3.cut and paste into the existing emulators.cfg file located in configs/ports/doom on a new line that all the other doom 'mods' seem to run off.I'm sorry if this is super confusing, starting to get that feeling like im a mule with a spinning wheel-nobody knows how i got this pi and danged if i know how to use it lol.
-
The best thing to do is to follow the RetroPie ZDoom guide that uses 'The Darkest Hour' as an example and adapt it to 'Brutal Doom'. From there, all that's required is changing the names and replacing the launch command. If you run into trouble, come back and we'll try to help out with whatever step you're getting stuck on.
-
@megafacehead
Also just to help clarify: The .sh "launch script" and theemulators.cfg
file are 2 different ways to accomplish the same thing so you don't need to do both. They both have different pros and cons. In this case I would think the sh "launch script" would be the better/easier choice when working with mods.Example:
Make these 2 new directories:
mkdir /home/pi/RetroPie/roms/ports/brutaldoom/
mkdir /opt/retropie/configs/ports/brutaldoom/
You'll want to put your
brutalv20b.pk3
,ExtraTextures.wad
andDoomMetalVol4.wad
files in/home/pi/RetroPie/roms/ports/brutaldoom/
So now just make the "launch script" at
/home/pi/RetroPie/roms/ports/BrutalDoom.sh
and put this inside of it:#!/bin/bash /opt/retropie/ports/zdoom/zdoom +set fullscreen 1 +set freelook 1 -config /opt/retropie/configs/ports/brutaldoom/zdoom.ini -iwad /home/pi/RetroPie/roms/ports/doom/doom2.wad -file /home/pi/RetroPie/roms/ports/brutaldoom/brutalv20b.pk3 /home/pi/RetroPie/roms/ports/brutaldoom/hellonearthstarterpack.wad /home/pi/RetroPie/roms/ports/brutaldoom/ExtraTextures.wad /home/pi/RetroPie/roms/ports/brutaldoom/DoomMetalVol4.wad
Restart Emulation Station (or your Raspberry Pi) and give it a go!
-
@megafacehead so the really quick and dirty way would would be just create a .sh file in /home/pi/RetroPie/roms/ports/ , give it 0777 permissions and put the info one of us gave you in it. then if you restart emulationstation it will be in the ports section and it will boot the game. as long as you put the wad files in the places listed in the script we gave you. the only problem with doing it this way, you see all the loading script and dont get the option to use the config that pops up right after selecting the game.
to do it the correct way, do this:
- put the doom2.wad in /home/pi/RetroPie/roms/ports/doom2/
- put the brutalv20b.pk3, hellonearthstarterpack.wad, ExtraTextures.wad and DoomMetalVol4.wad in /home/pi/RetroPie/roms/ports/brutal/
- sftp into the pi. i use winscp to do that. in the sftp program, go to /home/pi/RetroPie/roms/ports/
- create a new file there called Brutal Doom.sh
- inside that file put this:
#!/bin/bash "/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _SYS_ brutal
- save the file. now right click on the file and go to properties. change the permissions to 0777
- now go to /opt/retropie/configs/ and create a folder called brutal
- inside that folder create a file called emulators.cfg
- inside the emulators.cfg file add this:
default = "zdoom" zdoom = "/opt/retropie/ports/zdoom/zdoom +set fullscreen 1 +set freelook 1 -iwad /home/pi/RetroPie/roms/ports/doom2/doom2.wad -file /home/pi/RetroPie/roms/ports/brutal/brutalv20b.pk3 -file /home/pi/RetroPie/roms/ports/brutal/hellonearthstarterpack.wad -file /home/pi/RetroPie/roms/ports/brutaldoom/ExtraTextures.wad"
- save and restart emulationstation. now it should work.
note: you cant just create a .sh file on windows and copy it over. you can if you download notepad++ and create it in that program. easier to just do it inside the ftp program.
Edit: you dont need the DoomMetalVol4.wad while using hellonearthstarterpack.wad
-
Edit: you dont need the DoomMetalVol4.wad while using hellonearthstarterpack.wad
Ah, I almost forgot about that. I tried disabling it and you are indeed correct. The
DoomMetalVol4.wad
isn't used in 'Hell on Earth' and is only meant to enhance 'Brutal Doom' when the original levels are being played. -
@mediamogul i edited all my emulators.cfg to have a zdoom and a brutalzdoom option. You know how awesome brutal chex quest is? :D
-
-
@mediamogul one question? Is there a way to add menu and menu item select to a joystick in zdoom?
-
I'm not sure exactly what you mean. Are you talking about the ability to control the game menu from a controller?
-
@mediamogul yes.
-
I don't think there's a default way to map the menu controls to the joystick. I do it through xboxdrv, using the right trigger as a modifier key. When pressed, the DPad becomes the up,down,left and right keyboard keys and buttons 'A' and 'B' become the enter and escape keys, allowing me to move forwards and backwards in the menu, as well as select options. I also have it set to bring up the menu with 'selct+x' and exit with 'select+start' to mirror RetroArch.
-
Warning long post, but i'm trying to 'pay it forward' by providing working examples of .sh files.
@backstander said
Also just to help clarify: The .sh "launch script" and the
emulators.cfg
file are 2 different ways to accomplish the same thing so you don't need to do both. >Ah THANKYOU for this lil nugget of info. It really all started to make sense after this.
I've been a whizz(not like it's hard tho) at setting up gamelist.xml files for all other systems and adding video/marquee/image tags and so forth and everything makes sense but the ports setup is completely different.
I've gone with the .sh way of launching the port games, it just seemed more straight forward and just worked.
So we can tie this up with a neat little bow and others who might have the same problem can check in the future i'll provide my setup below.
doom.wad doom2.wad Plutonia.wad Tnt.wad in roms\ports\doom folder
brutalv20b.pk3 Extra Textures.wad hellonearthstarterpack.wad in roms\ports\brutal folder
separate zdoom.ini for brutal doom located in configs\ports\brutaldoom folder
hexen.wad hexdd.wad heretic.wad each in their own seperate folder named the same as wad in roms\ports\ (eg hexdd.wad in roms\ports\hexdd)
games that launch with lr-prboom
doom 1 (doom.sh)#!/bin/bash /opt/retropie/supplementary/runcommand/runcommand.sh 0 "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-prboom/prboom_libretro.so --config /opt/retropie/configs/ports/doom/retroarch.cfg /home/pi/RetroPie/roms/ports/doom/doom.wad" "lr-prboom"
doom 2 (doom2.sh)
#!/bin/bash /opt/retropie/supplementary/runcommand/runcommand.sh 0 "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-prboom/prboom_libretro.so --config /opt/retropie/configs/ports/doom/retroarch.cfg /home/pi/RetroPie/roms/ports/doom/doom2.wad" "lr-prboom"
doom tnt (Tnt.sh)
#!/bin/bash /opt/retropie/supplementary/runcommand/runcommand.sh 0 "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-prboom/prboom_libretro.so --config /opt/retropie/configs/ports/doom/retroarch.cfg /home/pi/RetroPie/roms/ports/doom/tnt.wad" "lr-prboom"
doom plutonia (Plutonia.sh)
#!/bin/bash /opt/retropie/supplementary/runcommand/runcommand.sh 0 "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-prboom/prboom_libretro.so --config /opt/retropie/configs/ports/doom/retroarch.cfg /home/pi/RetroPie/roms/ports/doom/Plutonia.wad" "lr-prboom"
games that launch with zdoom
brutal doom (doombrutal.sh)#!/bin/bash /opt/retropie/ports/zdoom/zdoom +set fullscreen 1 +set freelook 1 -config /opt/retropie/configs/ports/brutaldoom/zdoom.ini -iwad /home/pi/RetroPie/roms/ports/doom/doom.wad -file /home/pi/RetroPie/roms/ports/brutal/brutalv20b.pk3
brutal doom 2 (doom2brutal.sh)
#!/bin/bash /opt/retropie/ports/zdoom/zdoom +set fullscreen 1 +set freelook 1 -config /opt/retropie/configs/ports/brutaldoom/zdoom.ini -iwad /home/pi/RetroPie/roms/ports/doom/doom2.wad -file /home/pi/RetroPie/roms/ports/brutal/brutalv20b.pk3
brutal doom tnt (Tntbrutal.sh)
#!/bin/bash /opt/retropie/ports/zdoom/zdoom +set fullscreen 1 +set freelook 1 -config /opt/retropie/configs/ports/brutaldoom/zdoom.ini -iwad /home/pi/RetroPie/roms/ports/doom/Tnt.wad -file /home/pi/RetroPie/roms/ports/brutal/brutalv20b.pk3
brutal doom plutonia (Plutoniabrutal.sh)
#!/bin/bash /opt/retropie/ports/zdoom/zdoom +set fullscreen 1 +set freelook 1 -config /opt/retropie/configs/ports/brutaldoom/zdoom.ini -iwad /home/pi/RetroPie/roms/ports/doom/Plutonia.wad -file /home/pi/RetroPie/roms/ports/brutal/brutalv20b.pk3
brutal doom hell on earth (hellonearthbrutal.sh)
#!/bin/bash /opt/retropie/ports/zdoom/zdoom +set fullscreen 1 +set freelook 1 -config /opt/retropie/configs/ports/brutaldoom/zdoom.ini -iwad /home/pi/RetroPie/roms/ports/doom/doom2.wad -file /home/pi/RetroPie/roms/ports/brutal/brutalv20b.pk3 /home/pi/RetroPie/roms/ports/brutal/hellonearthstarterpack.wad /home/pi/RetroPie/roms/ports/brutal/ExtraTextures.wad
hexen (zdoom) (hexenzdoom.sh)
#!/bin/bash /opt/retropie/ports/zdoom/zdoom +set fullscreen 1 +set freelook 1 -iwad /home/pi/RetroPie/roms/ports/hexen/hexen.wad
hexen deathkings (hexddzdoom.sh)
#!/bin/bash /opt/retropie/ports/zdoom/zdoom +set fullscreen 1 +set freelook 1 -iwad /home/pi/RetroPie/roms/ports/hexen/hexen.wad -file /home/pi/RetroPie/roms/ports/hexdd/hexdd.wad
heretic (hereticzdoom.sh)
#!/bin/bash /opt/retropie/ports/zdoom/zdoom +set fullscreen 1 +set freelook 1 -iwad /home/pi/RetroPie/roms/ports/heretic/heretic.wad
Thankyou very much for your help, particularly backstander, mediamogul and edmaul69. Just a few remaining questions-
1.getting back to my first post, has anyone had any luck playing any of the duke3d expansions?eg duke caribbean life's a beach, duke nuclear winter and duke it out in dc??Again i have all the required files, .grp files for all the expanions for example, but don't know how to make them launch?
2.Can anyone provide a sample launch script on how to launch the 'h' doom games (heretic, hexen and hexen deathkings) using lr-prboom?As above i can launch them via gzdoom piece a piss but damned if i can create a working lr-prboom .sh file for any of them.
3.@mediamogul saidI don't think there's a default way to map the menu controls to the joystick. I do it through xboxdrv, using the right trigger as a modifier key. When pressed, the DPad becomes the up,down,left and right keyboard keys and buttons 'A' and 'B' become the enter and escape keys, allowing me to move forwards and backwards in the menu, as well as select options. I also have it set to bring up the menu with 'selct+x' and exit with 'select+start' to mirror RetroArch.
How on earth did u do do that?That would be awesome as it's the only downfall of zdoom on the retropie, needed to have a keyboard at the ready simply to launch/exit the game, save or otherwise access and navigate the menu in anyway.Could you perhaps provide a 'for dummies' way of how you managed to create your workaround.
Thanks again guys.
-
@megafacehead even though i post the info showing the wads in different folders per game i actually have them all in one folder myself. (All 45 games) I also do not keep them in ports myself because updating the pi would change the original doom game back to the shareware version. (Not sure if it still does) having them all in one folder makes making the config files easier. I use a .sh file and an emulators config file for every game. This allows to make more than one config for a game. So when i start a game, i can go into the runcommand and change between zdoom config and a brutal zdoom config of each game. Or pr-boom if i wanted.
-
Could you perhaps provide a 'for dummies' way of how you managed to create your workaround.
I've written a step-by-step guide on how to use xboxdrv as a key-mapping solution. Other than going over the necessary steps in detail, there's really no way to simplify it. Don't let it scare you off though. Try it out, ask questions and just like anything else, before long you'll find that you've got a handle on it.
-
@mediamogul said
I've written a step-by-step guide on how to use xboxdrv as a key-mapping solution.Oh neato!This should be a cakewalk, a nice guide and everything, i'll just click that link and...
Oh my god lol.
The more i read on this forum the more i'm convinced it's either populated by mensa members OR i'm that stupid i must be missing a chromosome.
I'm sorry mediamogul it looks like you've put a lot of work into that but it's super intimidating.Your setup sounds awesome though, this one specifically-
@mediamogul said in I do it through xboxdrv, using the right trigger as a modifier key. When pressed, the DPad becomes the up,down,left and right keyboard keys and buttons 'A' and 'B' become the enter and escape keys, allowing me to move forwards and backwards in the menu, as well as select options. I also have it set to bring up the menu with 'selct+x' and exit with 'select+start' to mirror RetroArch.
That one specifically.From what i can tell, brutaldoom/gzdoom really only needs two extra buttons to become fully manageable with a controller.You need to bind a button to ESC to access the menu, and go back a step after going further into a sub menu, and another button to act as ENTER, to confirm menu options.After initial setup you really shouldn't need any dpad buttons to affect any slider controls.You also need a single keystroke letter assigned to a button to name any manually saved games, but again, i can live without that, the autosaves beofre the start of each map should suffice.
To this end, i have tried my best to follow your guide and have come up with this.I downloaded xboxbdrv through the setup menu, and enabled it.
I did read step 1 of your guide but i am actually using a real 360 controller for this whole thing, so i assumed it didnt apply??It seemed it was only a necessary step in case you were using a ps3/logitech or some other controller that wasnt specifically a 360 controller.
And, rather then work through the console, i prefer to create and modify files using notepad++ on my computer thats connected to the retropie on a network.All im trying to do is assign the guide button as esc and the start button as enter when zdoom launches, and then revert back to normal when i quit a zdoom game.
So anyways i created the file runcommand-onstart.sh in configs/all folder which consists of
if [ "$1" = "ZDoom" ] then sudo killall > /dev/null 2>&1 xboxdrv sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv > /dev/null 2>&1 \ --evdev /dev/input/by-id/* \ --silent \ --detach-kernel-driver \ --deadzone 4000 \ --mimic-xpad \ --ui-buttonmap guide=KEY_ESC,start=KEY_ENTER \ & fi
then through the console on the retropie ran the command
chmod +x /opt/retropie/configs/all/runcommand-onstart.shafter that,
i also created the file runcommand-onend.sh in the same folder (configs/all) which consist of
sudo killall > /dev/null 2>&1 xboxdrv /opt/retropie/supplementary/xboxdrv/bin/xboxdrv > /dev/null 2>&1 \ --evdev /dev/input/by-id/* \ --silent \ --detach-kernel-driver \ --deadzone 4000 \ --mimic-xpad \ --evdev-absmap ABS_*=x1,ABS_*=y1,ABS_*=x2,ABS_*=y2,ABS_*=lt,ABS_*=rt,ABS_*=dpad_x,ABS_*=dpad_y \ --evdev-keymap BTN_*=a,BTN_*=b,BTN_*=x,BTN_*=y,BTN_*=lb,BTN_*=rb,BTN_*=tl,BTN_*=tr,BTN_*=guide,BTN_*=back,BTN_*=start \ &
then through the console on the retropie ran the command
chmod +x /opt/retropie/configs/all/runcommand-onend.shAs you can tell i mainly just copied and pasted the examples you had in your guide, deleted some stuff i didn't need changing and modified the buttons i wanted to replace.
Needless to say it doesn't work, obviously some stupid fault of mine.
So yeah, im trying to not completely be a helpless baby bird here, i did try but yeah, 'do or do not, there is no try'- and it appears i did not.
-
To be fair, Major Toht wasn't the most handsome guy before he opened the Ark. Plus if you watch the movie in reverse, he ends up OK and always has a clever way to hang his coat.
I'm sorry mediamogul it looks like you've put a lot of work into that but it's super intimidating.
No need to apologize. It took me a while to wrap my head around it before I could even write the guide. I just kept looking at it and experimenting until it all worked.
i created the file runcommand-onstart.sh in configs/all folder which consists of:
I can see a couple of issues here. First of all:
if [ "$1" = "ZDoom" ]
should be:
if [ "$1" = "zdoom" ]
Also, the examples given in the guide that refer to
*
should be replaced the controller information obtained from evtest in the first step. so, looking at your command:--evdev /dev/input/by-id/* \
Should contain your own specific id. Other than that, everything looks to be OK.
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.