Update Odamex 0.7


If this version uses gl4es and regular dektop GL, no, no special flags needed (don't forget to package libGL.so.1 that may not be automaticaly picked up by copy_libs.sh, has this one is dlopen'ed).
If it use shaders and GLES, than yes, you need some special flags (SDL_VIDEO_GLES2=1 SDL_VIDEO_GL_DRIVER=libGLESv2.so).
 
@ptitSeb : AFAIK Odamex doesn't use OpenGL yet, it's just an SDL(2) application. I guess I just botched the compilation, I will try again later. I changed the build type from "Release" to "None" in cmake, it certainly was a bad idea :p

Cheers, Magic Sam
 
@ptitSeb : AFAIK Odamex doesn't use OpenGL yet, it's just an SDL(2) application. I guess I just botched the compilation, I will try again later. I changed the build type from "Release" to "None" in cmake, it certainly was a bad idea :p

Cheers, Magic Sam
Try "RelWithDebInfo" as build type (it's "-O2 -g").
Also, even if Odamex doesn't use GL, SDL will, so package libGL.so.1.
But be warned, if Odamex just blits things using SDL, the SDL2 build will probably be much slower than the SDL1.2 build...
 
Hi all !

@ptitSeb : thanks for the explanation :)

Regarding the different build types (Release, RelWithDebInfo, etc...), they completely ignore the default CFLAGS from Code::Blocks, right ?

Cheers, Magic Sam
 
No, usualy it first take the CFLAGS than "paste" the flags for the release type.
So it's better to change the "-Ofast" by a "-ffast-math" and then let the release type put the optim level (because when you put multiple -Ox, only the last is taken).
 
@ptitSeb : OK, then for RelWithDebInfo that would give -ffast-math -pipe -mcpu=cortex-a8 [...] then the release flags: -O2 -g -DNDEBUG

Compiling with this setup as we speak :)

Cheers, Magic Sam
[doublepost=1480431404,1480425149][/doublepost]Hi again,

@ptitSeb : still no luck with Odamex, the binary does nothing at all.

I tried to run gdb on it, here is the output:
Reading symbols from ./odamex...done.
(gdb) run
Starting program: /media/Pandora/dev/install/odamex-magicsam/bin/odamex
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.

Cheers, Magic Sam
 
When I have a case like that (a game / software that just exit silently), I add some printf in the code to see where is does exit. It's most of the time faster taht way then to manualy try to step by step using gdb...
 
Hi all :)

@ptitSeb: still no luck with Odamex... I added libGL.so.1 to the PND, to no avail.

I also added the following lines to my run script:
export SDL_VIDEO_GLES2=1
export SDL_VIDEO_GL_DRIVER=libGLESv2.so

And also /usr/lib to $LD_LIBRARY_PATH, since this is where libGLESv2.so is, but it still doesn't work :(

What bothers me is that all the SDL2 applications I'm trying to port (Odamex, PrBoom+, etc...) are all failing the same way, and I don't believe in coincidences. I must be doing something wrong, but I don't know what...

Any suggestions ?

Cheers, Magic Sam
 
Hi all :)

@ptitSeb: still no luck with Odamex... I added libGL.so.1 to the PND, to no avail.

I also added the following lines to my run script:


And also /usr/lib to $LD_LIBRARY_PATH, since this is where libGLESv2.so is, but it still doesn't work :(

What bothers me is that all the SDL2 applications I'm trying to port (Odamex, PrBoom+, etc...) are all failing the same way, and I don't believe in coincidences. I must be doing something wrong, but I don't know what...

Any suggestions ?

Cheers, Magic Sam
If you want (or need) full OpenGL, then you link with libGL and you don't use any of the 2 SDL export. Juste the regular LIBGL_FB=1 will be enough.
If you want (or need) shaders, then you don't link with libGL (you may need libGLESv2) and you need the 2 SDL export (and LIBGL_FB=1 is useless).

I hope it helps (you can also take one the SDL2 PND game and see how it's built, there are quite few now, from canceco and from me).
 
Last edited:
Hi all :)

Build #8 is on the Repo !

http://repo.openpandora.org/?page=detail&app=odamex-magicsam

New in build #8
- Bumped to latest git commit (April 12th 2017)
- This version still uses SDL 1.2 (forced with -DUSE_SDL12=1) instead of SDL 2.0
- Bumped Freedoom to version 0.11.3
- Compiled with @ptitSeb 's latest beta Code::Blocks (GCC 7.1)
- Had to turn optimizations OFF in odalpapi/net_packet.cpp to avoid segfault
- 32 bits renderer is now OFF by default
- Updated source code in the PND
Cheers, Magic Sam

EDIT: Odalaunch will output error messages when starting and exiting. Those messages are non blocking issues and can be safely ignored (AFAIK).

REMINDER: if you are using Odamex to play Freedoom, be sure to set "co_boomphys" to "1" before playing for maximum compatibility.

REMINDER 2: in order to switch from freedoom1.wad to freedoom2.wad, use the "-iwad" option in File > Settings > Other. Example: -iwad freedoom2.wad
 
Last edited:
Please play more Odamex, guys :) I play my daily need of Doom online this way every day (preferably the Doom 1 levels with enemies left in, of course) ;) and tonight I was joined by Wunderboyz" (or similar). We played half an hour in cooperative mode and managed the level ;)
Just saying, playing "normal" Doom while on a server via odamex is at least as great fun as playing it "vanilla" ;)
 
[BUMP]
Hi all :)

Odamex 0.8 is out:

https://github.com/odamex/odamex/releases/tag/0.8.0

I'll try my best to update the package ASAP !

Cheers, Magic Sam
[/BUMP]
[doublepost=1548275042,1548253658][/doublepost]Hi again,

I have just compiled Odamex 0.8 with @ptitSeb 's latest Code::Blocks (GCC 8.1.0) and SDL2 support this time. I'll build the latest version of gl4es tomorrow (if time allows), and see how it works.

Stay tuned !

Cheers, Magic Sam
 
Hi all :)

@ptitSeb : I'm really sorry to bother you again with this, but there's a new ABI incompatibility (wxWidgets) in your latest Code::Blocks release:
Fatal Error: Mismatch between the program and library build versions detected
.
The library used 3.0 (wchar_t,compiler with C++ ABI 1011,wx containers,compat
ible with 2.6,compatible with 2.8),
and your program used 3.0 (wchar_t,compiler with C++ ABI 1012,wx containers,c
ompatible with 2.6,compatible with 2.8).
/usr/pandora/scripts/pnd_run.sh: line 528: 2140 Aborted

Could you please have a look ?

Cheers, Magic Sam
 
Last edited:
Back
Top