RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Doom Legacy - Doom Split-screen Source port

    Scheduled Pinned Locked Moved General Discussion and Gaming
    doomdoomlegacydoom legacysplitscreen
    97 Posts 13 Posters 15.9k 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.
    • tpo1990T
      tpo1990
      last edited by tpo1990

      Doom Legacy source port 1.47.2 for Raspberry Pi

      So i decided that i want other community members here to be able to test Doom Legacy in RetroPie and therefore i now present
      Doom Legacy, which is a Doom source port that can be built and run on our Raspberry Pi. The port features 2 player Split-screen multiplayer and has support for bots. This port relies on SDL1 libs. Note: This is not final version.

      doomlegacy3.png

      The game is fully playable. No bugs has been found yet. If you do find bugs, please report them into this thread.
      The scriptmodule provides an automatic installation and uninstallation for compiling and building on Raspberry Pi with RetroPie-Setup.

      Raspberry Pi 4B and Raspbian Buster: The port has not been tested with the latest RPI 4 and Raspbian Buster release. It is only guaranteed to work on the latest official release of RetroPie as the one that can be found on the RetroPie download page. Therefore users who has this might not be able to install the port and play the game. Users may need to wait for official release and support for Raspberry Pi 4B and Buster.

      Download scriptmodule RetroPie:

      wget https://raw.githubusercontent.com/tpo1990/DoomLegacy-RPI/master/doomlegacy.sh -P $HOME/RetroPie-Setup/scriptmodules/ports/
      

      After downloading scriptmodule, go to the experimental section in RetroPie Setup to install.

      Install time: 5-10 minutes

      Build process:
      1: Download and install necessary required libs for SDL and etc.
      2: Download Doom Legacy from sourceforge.
      3: Compile/install Doom Legacy source from makefile.
      4: Download Doom1.wad Shareware, Legacy.wad and extract into root of Doom folder.
      5: Configure and add Doom Legacy as a port into RetroPie with the Doom.sh file.

      Registered/Full version:
      First put your doom.wad, doom2.wad, tnt.wad and plutonia.wad in "/home/pi/RetroPie/roms/ports/doom" then download the scriptmodule from the download section and install Doom Legacy. This will give you 4 new runcommand launch files as long all 4 doom wad files are present in the doom roms folder.

      Notice: if doom.wad is not present in the doom roms folder, Doom Shareware version (doom1.wad) will be installed along with your other wads.

      Additional configuration:
      It is possible to add bots to the game with Doom Legacy console by using the command "addbot". Start either a mulitplayer server or a 2 player server and then use the console to add bots. Bots works best in deathmatch mode. For optimal resolution change it to 640x480 resolution. This will provide a much sharper image just like Zdoom port.

      Notes:
      It is working great and the script is experimental. The scriptmodule might see some additional changes to the code. A pull request for the RetroPie project is planned at a later stage for merging into RetroPie project.

      Disclaimer:
      This installation script is provided as is. I'm not responsible for anything happening with your Raspberry Pi. The script has been tested to run on my test RPI. You should always have a backup ready. For support and help you can contact me here on RetroPie forums.

      Contributors:
      Solid One

      Screenshots:
      doomlegacy2.png
      doomlegacy6.png
      doomlegacy7.png

      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 7
      • tpo1990T
        tpo1990
        last edited by tpo1990

        Reserved for future use

        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
          last edited by tpo1990

          Changelog
          27-05-2020: Updated Doom Legacy to latest version 1.48.4. Fixed missing ingame music by adding fluidsynth as dependency. Improved scriptmodule.
          05-03-2020: Added Raspberry Pi 4B and Raspbian Buster section.
          30-07-2019: Added Doom registered version, Doom 2, TNT and Plutonia version to scriptmodule. Improved scriptmodule.
          27-05-2019: Changed path in wget command to variable: -P $HOME/RetroPie-Setup/scriptmodules/ports/
          04-02-2019: Finished scriptmodule and uploaded to github repository. Created thread on RetroPie Forum.

          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
          • quicksilverQ
            quicksilver
            last edited by quicksilver

            This looks great! However, I am having an issue getting it installed. I copy pasted directly what you posted and the install process took maybe 3 seconds and nothing shows up in my ports section for doom legacy.

            Edit: nevermind I'm an idiot. I figured out I have to install through retropie setup once the script module is added.

            R 1 Reply Last reply Reply Quote 0
            • quicksilverQ
              quicksilver
              last edited by

              So I have it installed and everything seems to be running great. However whenever I load a 2 player game there are extra weapons all over the place (first level there shouldn't be a rocket launcher and chaingun). Id like to play co-op without the added weapons. Is there a setting to turn off the additional weapons?

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

                @quicksilver Glad to hear you got it working. As default in Doom Legacy when going to start a 2 player game it will always choose deathmatch type 3 with no monsters. If you want coop then you must change Deathmatch type to coop and change monsters to Yes

                Monsters: Yes
                Deathmatch Type: COOP

                One more thing to be aware of, is that if you install other doom ports after installing Doom Legacy, it will override default emulator setting to be that specific doom port. ex Zdoom.

                (Notice this will only happen if the other doom ports use the same Doom config folder as Doom Legacy).

                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.

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

                  @avensis Thank you for testing. Your feedback is appreciated. In that way i will know that it is also working for others as well :-)

                  Yes the test is running great. I stil think though that some fine tuning to the scriptmodule is required. I also have some ideas for creating a runcommand file to select and run mods (pwads) within Doom Legacy.

                  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
                  • quicksilverQ
                    quicksilver @tpo1990
                    last edited by

                    @tpo1990 thanks for the response. Unfortunately even with those settings it doesn't turn off the extra weapons. If doom legacy is still being developed, is there a place to report the issue to the developer?

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

                      @quicksilver I would think of that there might be some setting in the Doom Legacy options to turn off the extra weapons. Yes Doom Legacy is still active in development.

                      The version that i have made the scriptmodule for Retropie, is based on Doom Legacy 1.47.2. You could always try to contact or report bugs at the original developers website: http://doomlegacy.sourceforge.net/

                      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.

                      quicksilverQ 1 Reply Last reply Reply Quote 0
                      • quicksilverQ
                        quicksilver @tpo1990
                        last edited by

                        @tpo1990 So I found this very old bug report: https://sourceforge.net/p/doomlegacy/bugs/372/

                        They noted that : "Possibly another bug; launching a similar Co-op game
                        using the external launcher uses the item placements
                        from Deathmatch, not Co-op."

                        Ill comment on it and see if I get a response.

                        Thanks again for the help!

                        1 Reply Last reply Reply Quote 0
                        • tiagopT
                          tiagop
                          last edited by

                          A big thanks @tpo1990 for the easy install steps, everything works great however I'm having a hard time configuring movements on my two controllers (Dualshock PS4 and Switch Gamepad).
                          For some reason it doesn't recognize D-Pad presses nor joystick movement (other buttons work fine) on both controllers, am I missing any configuration?

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

                            @tiagop Happy to share my work. Doom Legacy does support joystick but not controller so it will only show as joy mappings when trying to configure your controller.

                            You need to use xboxdrv configuration for Doom Legacy. Thats the way i use it with my Zeroplus P4 controller (PS4 generic controller).

                            One thing to take note of is that i did get 2 controllers to work for both the players in split screen mode and noticed that all sound on my RetroPie system was gone and it appears to be caused by a bug when using Xboxdrv.

                            If you have never used xboxdrv or are interested i can share my xboxdrv configuration for Doom Legacy, but you will have to change the buttons and analog mappings to support your Dualshock PS4 controller. :-)

                            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
                            • R
                              RetroFreak89 @quicksilver
                              last edited by

                              @quicksilver i downloaded the script module where do i place it?? I then go to retropie setup to install right?

                              dankcushionsD 1 Reply Last reply Reply Quote 0
                              • dankcushionsD
                                dankcushions Global Moderator @RetroFreak89
                                last edited by

                                @RetroFreak89 if you did the wget command as per the first post it's already in the right place. it will be in the 'experimental' section of retropie-setup package manager.

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

                                  There's another way of configuring analog sticks in Doom Legacy (and maybe d-pad presses in the process). Take a look: Doom Legacy Player Controls

                                  If you open the link above, and scroll down a bit, you'll find something similar as the table below:

                                  command definition
                                  bindjoyaxis [<joynum> <axisnum> [<playernum> <control> <scale>]] Lists, releases or creates joystick axis bindings.

                                  A few years ago, I've done a few tests with this command, in order to see if it's possible to map the left analog stick to movement (forward / backward / strafe left / strafe right), and the right analog stick to mouselooking (even if it's only for left and right). The results weren't perfect, but they worked.

                                  I don't remember exactly how to use that command, but maybe I still have something on my PC back home. I'll post it here if I find. But even without those files, you can find the values by tweaking its values in the console.

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

                                    @Solid-One Good find. This can become useful. Maybe it could be inserted as part of a script to make it easier to configure.

                                    I have used xboxdrv and it works great when it has been configured for specific keyboard buttons for my gamepad. I can only get it to work for 1 player and not the second player. I think the best solution is to create a libretro port of Doom Legacy, just like lr-prboom :-)

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

                                      Yesterday I've done a few tests in Doom Legacy, in order to understand how the syntax of "bindjoyaxis" command works. The tests were done in the latest Doom Legacy version (1.47.2 rev1412), windows version, on my desktop (with Windows 7), and I've used a Xbox360 controller.

                                      The first thing to mention is about the fourth parameter, <control>. Initially, I've thought that Doom Legacy would accept values such as:

                                      forward, backward, strafe, straferight, strafeleft, speed, turnleft, turnright, fire, use, lookup, lookdown, centerview, mouseaiming, weapon1, weapon2, ..., weapon8, talkkey, scores, jump, console.
                                      

                                      However, at least on that version of DL, none of the values above worked. Instead, I got it to work by using only numeric values from 0 to 3, where each number is associated to a specific control:

                                      0 - Look up / down
                                      1 - Move forward / backward
                                      2 - Look left / right
                                      3 - Strafe left / right
                                      

                                      Any values other than the ones above won't work. Besides, this limit in the <control> parameter means that axis can be bound only to character movement. You won't be able to use Right Trigger to shoot, or D-Pad left / right to change weapons per example.

                                      But at least it's better than nothing, so let's move on and make it work. Assuming you have two identical Xbox360 controllers such as mine, and want to play DL in split-screen, edit your "config.cfg" file, and include the following lines (ignore the comments in the process, they were included only for explanation purposes):

                                      bindjoyaxis 0 0 0 3 0.001000 // 1st controller, Player 1, Strafe left / right, left analog stick
                                      bindjoyaxis 0 1 0 1 -0.001000 // 1st controller, Player 1, Forward / backward, left analog stick
                                      bindjoyaxis 0 4 0 2 -0.020000 // 1st controller, Player 1, Look left / right, right analog stick
                                      bindjoyaxis 0 3 0 0 -0.500000 // 1st controller, Player 1, Look up / down, right analog stick (optional)
                                      
                                      bindjoyaxis 1 0 1 3 0.001000 // 2nd controller, Player 2, Strafe left / right, left analog stick
                                      bindjoyaxis 1 1 1 1 -0.001000 // 2nd controller, Player 2, Forward / backward, left analog stick
                                      bindjoyaxis 1 4 1 2 -0.020000 // 2nd controller, Player 2, Look left / right, right analog stick
                                      bindjoyaxis 1 3 1 0 -0.500000 // 2nd controller, Player 2, Look up / down, right analog stick (optional)
                                      

                                      A few notes:

                                      1. The bindings above will configure only doomguy movements for two controllers. You'll still have to configure the other buttons manually, such as shoot, open doors, change weapons / inventory, jump, etc;
                                      2. The axis movement bindings above won't be influenced by the "Run" command or the "Autorun" option. This will be automatically done according in the fifth parameter, <scale>, where according to the sensitivity, your doomguy may move normally or run;
                                      3. The second parameter, <axisnum>, may vary from controller to controller. You gotta adapt it, according to the controller you have. The axis 2 on my Xbox360 controller, per example, is associated to both LT and RT buttons;
                                      4. Although I've included it above, I don't recommend you to use the analog for looking up / down. I barely could use it to aim, since it's super sensitive and it keeps centering view automatically when you stop pressing the right analog stick up / down. I had more luck by deactivating that feature, and using the original "autoaim" feature present in the game;
                                      5. The fifth parameter, <scale>, refers to the analog sensibility. Negative values means inverted axis. And probably, the sensibility for each parameter may vary from controller to controller, so you gotta adapt it too, according to your controllers;
                                      6. You may find strange the low values in the <scale> parameter, but I noticed that values such as 1.0000 would result in super sensitive commands. The smallest movement in your analog sticks would result in your doomguy moving and spinning like crazy. And even on low values, I still got doomguy moving by itself even when the controller isn't being used.
                                      tpo1990T J 2 Replies Last reply Reply Quote 1
                                      • tpo1990T
                                        tpo1990 @Solid One
                                        last edited by

                                        @Solid-One This looks like a good workaround to get gamepad/controllers to work for split-screen in Doom Legacy. The DL version for RetroPie/Raspberry Pi is also the latest version like the one that you tested on Windows, so it should also work there.

                                        Thank you for your tests and contribution. I will sure be testing this later to see how it works for my 2 PS4 Generic USB controllers.
                                        I still think we should look into creating a libretro port of Doom Legacy but that will require som coding and work. :-)

                                        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
                                        • S
                                          spartrekus
                                          last edited by

                                          you can use it here.

                                          it is already compiled for pi3
                                          https://github.com/spartrekus/hexen-2-raspberry-multiplayer

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

                                            @spartrekus This post does not belong in this topic. Please create a new topic or use my topic for Hexen 2: Hammer of Thyrion

                                            https://retropie.org.uk/forum/topic/19709/hexen-ii-uhexen-ii-hammer-of-thyrion-source-port-on-retropie-raspbian-ready-for-download

                                            I have already created a working scriptmodule for RetroPie.

                                            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
                                            • 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.