Update Odamex 0.7


Magic Sam

Forever Homebrew
Joined
Aug 10, 2007
Messages
2,535
Age
41
Location
Dogs in Space !
Hi all :)

I compiled Odamex 0.7 (client, server and launcher) on the Pandora (thanks to ptitSeb's Code::Blocks) and packaged it as a PND. Grab it here (6th version) while it's hot !

Odamex is a free, cross-platform (Mac, Windows, Linux) modification of the Doom engine that allows players to easily join servers dedicated to playing Doom online. The goal of Odamex is to add enhancements to Doom while still retaining that "classic Doom feel" we all know and love about the original game.


Features: (full list here)

  • Client and Server environment with in-game joining

  • Functional Deathmatch and Cooperative game modes, single player is also supported

  • Widescreen support

  • Frame rates above the original Doom engine's 35 frames per second. Default settings match modern monitors!

  • Additional higher-resolution video modes. In addition, a 32-bit software renderer for true colors beyond Doom's palette is also in the works

  • Full source code available, based on the GNU GPLv2 license


You'll need to have Timidity installed in order to hear the music.

Please copy some official IWADs (DOOM.WAD, DOOM2.WAD, PLUTONIA.WAD or TNT.WAD) in appdata/odamex-magicsam before playing.

If you don't own any of these, you still could try Odamex with Freedoom (on first boot, a simple zenity script will ask you if you'd like to download Freedoom 0.10 (phase 1 & 2) and FreeDM 0.10 (multiplayer maps)) ;)

N.B: you can tell Odamex where your other WAD files are in File / Settings / File Locations.

N.B.2: appdata/odamex-magicsam/freedoom-0.10 and appdata/odamex-magicsam/freedm-0.10 are already in the path, thus Freedoom should be ready to play (if you decided to download it, of course).

Controls:

D-pad = move

[L] = strafe

[R] = run

(X) = open door / turn on switch / etc...

(B) = fire

(Y) = next weapon

(A) = previous weapon

Please give it a try and report here any bugs you may find.

Known bugs / TODO list:

  • Odamex shows up in the Game / Other menu. I'll change this to Game / Action later. (fixed in v2)
  • The Odamex path is wrong in File / Settings / File Locations: you need (only once though) to set it manually to /mnt/utmp/odamex-magicsam/bin. I'll fix this later. (fixed in v3)
  • No default settings, but you can set everything up (for example: fullscreen = yes, widescreen = yes, resolution = 800x480, and obviously the controls) from the in-game menu (fixed in v3)
  • Fix permission errors on FAT32
  • Add some simple zenity script to automatically download Freedoom 0.9, in case no other IWADs would be found in appdata/odamex-magicsam. (fixed in v4)
  • Previews are missing (fixed in v5)
  • Add a more detailed description in the PXML file (fixed in v5)
  • Cursor in File /Settings / Other Settings / Extra command line arguments is a bit large, isn't it ? (wxWidgets bug ?) (fixed in v7)
  • Add /mnt/utmp/odamex-magicsam/freedm-0.10 to the path ? (fixed in v6)
  • Add support for Freedoom's development snapshots in the zenity script ?
  • Update Freedoom to latest 0.10 version (fixed in v6)
  • Fix <package> area + license details in PND (partially fixed in v7)
  • Change screenshots to reflect update to FreeDoom 0.10.1
  • Recompile with PORTMIDI support ? (won't fix)
  • Recompile with libagar support ?
  • Turn the 32 bits renderer and uncapped framerate ON by default (partially fixed in v7)
    • Profile the application with perf and gprof first
  • Optimize said renderer with NEON instructions ?
  • Update FreeDoom and FreeDM to the latest 0.10.1 point release (fixed in v7)
  • Tweak the controls a bit to make the game playable with the nubs ?
  • Experiment with Odamex' native joystick support ?
  • Use Notaz' improved SDL (fixed in v7)
  • Bump source code to latest revision (5426, from August 2015) ? (fixed in v7)
  • Recompile with LTO optimizations ?

Cheers, Magic Sam
 
Last edited:
So I have tested it.


The lack of default config is anoying indeed.


I have some permission error on some confg file (using a FAT32 SDCard). Not sure if it's odamex itself or wxWidget (I should have patched it, but not when I did that and if you used that version).


Also, if no WAD is found, there is no message, it just silently do nothing.


Appart from that, it works well and fast (software rendering).
 
Last edited by a moderator:
Hi ptitSeb and fantomid,


Thank you guys for testing :)


No permission errors here on my side (with ext3). I'll do my best to add some default configuration in the next build.


Cheers, Magic Sam
 
Hi all !


I have just uploaded a new version, please refer to my first post for more information :)


And I'm still figuring out how to properly add some default configuration to this package.


EDIT: I need to find a way to ship customized .odamex/odamex.cfg and .odalaunch files with this PND, and copy them to the appdata/odamex-magicsam directory on first boot...


[/me thinking hard] :huh:


EDIT 2: do you think the following would work ?


First, copy the customized files to, say, "config" directory inside the installation directory, prior to creating the PND.


Then, add this to run.sh:

Code:
if [ ! -d /mnt/utmp/odamex-magicsam/.odamex ] ; then

cp -r config/.odamex .

fi

if [ ! -f /mnt/utmp/odamex-magicsam/.odalaunch ] ; then

cp config/.odalaunch .

fi



Finally, create the PND.


As the PND filesystem is read-only (right ?), .odamex/ and .odalaunch should end up in appdata/odamex-magicsam, if I'm not mistaken ;)


Cheers, Magic Sam
 
Last edited by a moderator:
Hi all !


I have just uploaded a new version, please refer to my first post for more information :)


And I'm still figuring out how to properly add some default configuration to this package.


EDIT: I need to find a way to ship customized .odamex/odamex.cfg and .odalaunch files with this PND, and copy them to the appdata/odamex-magicsam directory on first boot...


[/me thinking hard] :huh:


Cheers, Magic Sam

Yes.


The easy way to do it is :


1. embed a copy of the default config in the root of the PND, named as "odemex.sav" for example


2. in you run script, use soemthing like that:


if [ ! -d .odamex ];then
mkdir -p .odamex
fi

if [ ! -e .odamex/odamex.cfg ];then
echo "Copying default config"
cp odamex.sav .odamex/odamex.cfg
fi


And that should be enough...
 
@ptitSeb: looks like we came to the same conclusions :lol: (see my previous post).


I'll try to implement this ASAP :)


Cheers, Magic Sam
 
Last edited by a moderator:
Hi again :)


A new version is on line, see first post for more details !


I'll try to add some simple zenity script to automatically download Freedoom 0.9, in case no other IWADs would be found in appdata/odamex-magicsam.


Please let me know if you guys like the default configuration and controls, OK ?


Cheers, Magic Sam
 
Last edited by a moderator:
Hi all :)


Did you guys have a chance to test the latest build (v3) ?


@ptitSeb: any news regarding your permission errors on FAT32 ? Do you know where they are coming from ?


On a side note, I also worked a bit this morning on that zenity script:

Code:
pandora:/media/Pandora/dev/scripts$ cat urls.txt 
https://github.com/freedoom/freedoom/releases/download/v0.9/freedoom-0.9.zip
https://github.com/freedoom/freedoom/releases/download/v0.9/freedm-0.9.zip

pandora:/media/Pandora/dev/scripts$ cat zenity.sh 
if [ ! -e firstboot ]
then
touch firstboot
zenity --question --title 'Freedoom Installer' --text 'No IWAD files were found in appdata/odamex-magicsam ! Would you like to download Freedoom 0.9 and FreeDM 0.9 ?'
if [ $? = 0 ]
then
wget -i urls.txt | zenity --progress --pulsate --text 'Downloading Freedoom 0.9 and FreeDM 0.9, please wait...'
for i in `ls freed*.zip`; do unzip $i; rm -f $i ; done | zenity --progress --pulsate --text 'Unpacking Freedoom 0.9 and FreeDM 0.9, please wait...'
elif [ $? = 1 ]
then
zenity --info --title 'Freedoom Installer' --text 'OK, as you wish...'
fi
zenity --info --title 'Freedoom Installer' --text 'Remove the file "firstboot" in appdata/odamex-magicsam to see this dialog again'
fi

How does it look ?


N.B: Of course, I still need to test the presence (or lack thereof) of DOOM.WAD, DOOM2.WAD, PLUTONIA.WAD or TNT.WAD.


Cheers, Magic Sam
 
Last edited by a moderator:
No time yet. I have been at the Bazar du Libre this weekend, and I'll be at the Toulouse Game Show next week end, so not much time left.
 
Hi all !


@ptitSeb: no problem :)


I built a 4th version yesterday evening, with a working zenity script. I'll upload it ASAP !


EDIT: done ! See first post for more details.


Cheers, Magic Sam
 
Last edited by a moderator:
Hi all !


I decided to release the 5th version (with previews and a more detailed PXML file) on the repo :)

Changelog:

* 0.7.0.5: first public release !



I'll certainly have to upload a new version soon, since there seems to be some issue with a missing <package> area, plus license details don't show up...


As always, feedback would be much appreciated ;)


Cheers, Magic Sam
 
Last edited by a moderator:
Hi all :)


I've just updated my Odamex package (6th version) on the Repo:

* 0.7.0.6: second public release !

- Updated FreeDoom to the latest 0.10 version
- Added /mnt/utmp/freedm-0.10 to the path



N.B: you'll have to delete the files firstboot and .odalaunch in appdata/odamex-magicsam in order to take advantage of this update.


@ptitSeb: I'm really sorry to bother you with this, but would you have any news regarding your permission errors on FAT32 ? On a side note, do you think the large cursor in File /Settings / Other Settings / Extra command line arguments is a wxWidgets bug ?


Cheers, Magic Sam
 
Last edited by a moderator:
Hi all :)


I've just updated my Odamex package (6th version) on the Repo:


N.B: you'll have to delete the files firstboot and .odalaunch in appdata/odamex-magicsam in order to take advantage of this update.


@ptitSeb: I'm really sorry to bother you with this, but would you have any news regarding your permission errors on FAT32 ? On a side note, do you think the large cursor in File /Settings / Other Settings / Extra command line arguments is a wxWidgets bug ?


Cheers, Magic Sam

I haven't checked yet. Remind me @magic_sam, you compiled using codeblocks I guess, but wich version of the PND?
 
Last edited by a moderator:
Ah ok, I was hopping it was an earlier build. I'll recheck wxWidget build (but Filezilla didn't exibit the same behavour).
 
Hi all :)

I worked a little bit on my Zenity script today, I'm trying to make it compatible with Freedoom's development snapshots. Here is what the download part looks like:

Code:
wget http://freedoom.soulsphere.org
cat index.html | grep downloads/free | cut -d "'" -f2 > files.lst
for i in `cat files.lst`; do wget http://freedoom.soulsphere.org/$i ; done

@ptitSeb : any news regarding your wxWidget build ?

Cheers, Magic Sam
 
Back
Top