Release The Ur-Quan Masters


klapse

Central Scrutinizer
Joined
Aug 30, 2012
Messages
1,932
Location
Germany
Ok by installing a bunch of header files, I got UQM to compile on my pandora using cdevtools.

Here is the current configuration

  -= Main menu =-
   1. Type of build                        Optimised release build
   2. OpenGL graphics support              Don't include OpenGL graphics support
   3. Sound backend                        Use MixSDL for sound (internal)
   4. Tracker music support                System libmikmod
   5. Ogg Vorbis codec                     Xiph libogg + libvorbis
   6. Network Supermelee support           IPv4; no IPv6
   7. Joystick support                     disabled
   8. Supported file i/o methods           Direct & .zip file i/o
   9. Graphics/Sound optimizations         Only plain C code
  10. Thread library                       SDL-controlled thread library
  11. Installation paths                   [...]
 

I understand that you didnt change the source code. What I would like is to have your changes to the build flags, installation paths, and control configuration.

Right now my build errors out with


/usr/bin/ld: cannot find -lmikmod
but I have mikmod installed


/mnt/utmp/cdevtools/mysrc/uqm-0.7.0$ ls /usr/lib/libmikmod.so.2*
/usr/lib/libmikmod.so.2  /usr/lib/libmikmod.so.2.0.4

Any ideas?
 
Last edited by a moderator:

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
9,104
Age
49
Location
France, near Lyon
Ok by installing a bunch of header files, I got UQM to compile on my pandora using cdevtools.

Here is the current configuration

  -= Main menu =-


   1. Type of build                        Optimised release build


   2. OpenGL graphics support              Don't include OpenGL graphics support


   3. Sound backend                        Use MixSDL for sound (internal)


   4. Tracker music support                System libmikmod


   5. Ogg Vorbis codec                     Xiph libogg + libvorbis


   6. Network Supermelee support           IPv4; no IPv6


   7. Joystick support                     disabled


   8. Supported file i/o methods           Direct & .zip file i/o


   9. Graphics/Sound optimizations         Only plain C code


  10. Thread library                       SDL-controlled thread library


  11. Installation paths                   [...]

I understand that you didnt change the source code. What I would like is to have your changes to the build flags, installation paths, and control configuration.

Right now my build errors out with


/usr/bin/ld: cannot find -lmikmod
but I have mikmod installed


/mnt/utmp/cdevtools/mysrc/uqm-0.7.0$ ls /usr/lib/libmikmod.so.2*
/usr/lib/libmikmod.so.2  /usr/lib/libmikmod.so.2.0.4

Any ideas?
Either create a link of that lib inside cdevtools/usr/lib:

cd /mnt/utmp/cdevtools/usr/lib
ln -s /usr/lib/libmikmod.so.2 libmikmod.so.2


or add a rpath-link statement to your ld, something like (in the CFLAGS export for example):

export CFLAGS="$CFLAGS -Wl,-rpath-link=/mnt/utmp/cdevtools/usr/lib:/lib:/usr/lib"


(or use codeblocks ...)
 

klapse

Central Scrutinizer
Joined
Aug 30, 2012
Messages
1,932
Location
Germany
Either create a link of that lib inside cdevtools/usr/lib:


cd /mnt/utmp/cdevtools/usr/lib
ln -s /usr/lib/libmikmod.so.2 libmikmod.so.2
/mnt/utmp/cdevtools/usr/lib# ln -s /usr/lib/libmikmod.so.2 libmikmod.so.2


ln: creating symbolic link `libmikmod.so.2': Operation not permitted

Doesnt work, even as root. Copying the file also didnt work (this PND mounts readonly?)

To see what ldconfig was searching i ran ldconfig --print-cache |more, and it showed only files from /lib and /usr/lib, none from /mnt/utmp/cdevtools/usr/lib. No links to /mnt/utmp/cdevtools/usr/lib (!)

So.. I edited an ld.so.conf containing all paths to libs and put that in /etc and ran ldconfig

/mnt/utmp/cdevtools/usr/lib


/usr/lib


/lib

ldconfig --print-cache now shows all libs

still it errors on -lmikmod

so I did

/mnt/utmp/cdevtools/mysrc/uqm-0.7.0$ grep /usr/lib *


build.vars:uqm_LDFLAGS=' -L/mnt/utmp/cdevtools/usr/lib -lSDL -lpthread -L/mnt/utmp/cdevtools/usr/lib -lSDL -lpthread -lSDL_image -L/usr/lib -lmikmod -ldl -L/mnt/utmp/cdevtools/usr/lib -lvorbisfile -lvorbis -lm -logg    -L/mnt/utmp/cdevtools/usr/lib -lz  '

which if I am correct tells ldd to look in the link cache for where mikmod is stored
 
Last edited by a moderator:

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
9,104
Age
49
Location
France, near Lyon
Either create a link of that lib inside cdevtools/usr/lib:


cd /mnt/utmp/cdevtools/usr/lib
ln -s /usr/lib/libmikmod.so.2 libmikmod.so.2
/mnt/utmp/cdevtools/usr/lib# ln -s /usr/lib/libmikmod.so.2 libmikmod.so.2


ln: creating symbolic link `libmikmod.so.2': Operation not permitted

Doesnt work, even as root. Copying the file also didnt work (this PND mounts readonly?)

To see what ldconfig was searching i ran ldconfig --print-cache |more, and it showed only files from /lib and /usr/lib, none from /mnt/utmp/cdevtools/usr/lib. No links to /mnt/utmp/cdevtools/usr/lib (!)

So.. I edited an ld.so.conf containing all paths to libs and put that in /etc and ran ldconfig

/mnt/utmp/cdevtools/usr/lib


/usr/lib


/lib

ldconfig --print-cache now shows all libs

still it errors on -lmikmod

so I did

/mnt/utmp/cdevtools/mysrc/uqm-0.7.0$ grep /usr/lib *


build.vars:uqm_LDFLAGS=' -L/mnt/utmp/cdevtools/usr/lib -lSDL -lpthread -L/mnt/utmp/cdevtools/usr/lib -lSDL -lpthread -lSDL_image -L/usr/lib -lmikmod -ldl -L/mnt/utmp/cdevtools/usr/lib -lvorbisfile -lvorbis -lm -logg    -L/mnt/utmp/cdevtools/usr/lib -lz  '

which if I am correct tells ldd to look in the link cache for where mikmod is stored
Your cdevtools.pnd is on a Fat32 or an Ext partition? It looks like Fat32 (bad).

Anyway, you can try my 2nd proposition (with the CFLAGS), because cdevtools use a script to force some rpath parameters (IIRC) that may interfear with your -L... Look at /mnt/utmp/cdevtools/init/ld.ini.cfg or something like that (or use codeblocks)
 

klapse

Central Scrutinizer
Joined
Aug 30, 2012
Messages
1,932
Location
Germany
Either create a link of that lib inside cdevtools/usr/lib:


cd /mnt/utmp/cdevtools/usr/lib
ln -s /usr/lib/libmikmod.so.2 libmikmod.so.2
/mnt/utmp/cdevtools/usr/lib# ln -s /usr/lib/libmikmod.so.2 libmikmod.so.2

so I did

/mnt/utmp/cdevtools/mysrc/uqm-0.7.0$ grep /usr/lib *


build.vars:uqm_LDFLAGS=' -L/mnt/utmp/cdevtools/usr/lib -lSDL -lpthread -L/mnt/utmp/cdevtools/usr/lib -lSDL -lpthread -lSDL_image -L/usr/lib -lmikmod -ldl -L/mnt/utmp/cdevtools/usr/lib -lvorbisfile -lvorbis -lm -logg    -L/mnt/utmp/cdevtools/usr/lib -lz  '

which if I am correct tells ldd to look in the link cache for where mikmod is stored
Your cdevtools.pnd is on a Fat32 or an Ext partition? It looks like Fat32 (bad).

Anyway, you can try my 2nd proposition (with the CFLAGS), because cdevtools use a script to force some rpath parameters (IIRC) that may interfear with your -L... Look at /mnt/utmp/cdevtools/init/ld.ini.cfg or something like that (or use codeblocks)
yeah its on fat32 which I gather does not allow modifications inside the pnd.

The CFLAGS doesnt get used by the uqm build.sh script, instead it uses uqm_LDFLAGS, which has a -lmikmod in it, but it is not getting found for some reason
 

klapse

Central Scrutinizer
Joined
Aug 30, 2012
Messages
1,932
Location
Germany
FIXED THE PROBLEM!

 ln -s /usr/lib/libmikmod.so.2.0.4 /usr/lib/libmikmod.so

Angstroms libmikmod didnt include a link from libmikmod.so to libmikmod.so.2.0.4 (superzaxxon 1.5 beta)
 

klapse

Central Scrutinizer
Joined
Aug 30, 2012
Messages
1,932
Location
Germany
What would make this "winnable" for me would be a version with half-speed combat. Onpon4, would you be interested in hacking the game for this?
The game is certainly winnable. Actually, the AI is so incredibly stupid, winning is much too easy. You just need more practice.

As I said in a PM, I didn't change the UQM source code; all that's different in this Pandora port is the configuration (some different controls to better suit the Pandora, and some altered build settings to make it search for config files in "." rather than "~/.uqm").
OK i got combat slowed to 12fps which makes it winnable for me (sometimes, for example the Terran fighter has no chance against a slylandro probe regardless of combat speed).

Where did you change the "configuration" to enable ABYX buttons? src/libs/input/sdl/keynames.c? src/uqm/controls.h?

Edit: Found the keycontrols in .uqm/override.cfg
 
Last edited by a moderator:

WizardStan

Mega GP Mania
Joined
May 24, 2008
Messages
16,733
sometimes, for example the Terran fighter has no chance against a slylandro probe regardless of combat speed
The terran fighter isn't really supposed to have a chance against the slylandro probe. Part of the balancing was that some ships will do phenomenally well against some and very weak against others, not that every ship has an equal shot of destroying every other ship. You're supposed to have a varied assortment of ships to handle different situations and be wise enough to duck out when up against something you can't handle.Terran's are weak against the Slylandro probes but will just rip through the Ur-Quan Kzer-Za, for example.
 

fusion_power

Advanced Member
Joined
Dec 25, 2005
Messages
13,185
Location
germany
Website
Visit site
I played this game alot on the GP2X back then, hard but good game. However, I never did manual combat, only automated due the lack of my fighting skills and way to fast movements. It's good that the game have these options. :)
 

klapse

Central Scrutinizer
Joined
Aug 30, 2012
Messages
1,932
Location
Germany
sometimes, for example the Terran fighter has no chance against a slylandro probe regardless of combat speed
The terran fighter isn't really supposed to have a chance against the slylandro probe. Part of the balancing was that some ships will do phenomenally well against some and very weak against others, not that every ship has an equal shot of destroying every other ship. You're supposed to have a varied assortment of ships to handle different situations and be wise enough to duck out when up against something you can't handle.
Terran's are weak against the Slylandro probes but will just rip through the Ur-Quan Kzer-Za, for example.
Thanks for the tip. I have also read that Spathi Eluders are supposed to survive against Slylandro Probes and I am using that as a sort of baseline for how much easier to make combat for my version of UQM.
 

_jr_

Advanced Member
Joined
May 5, 2013
Messages
1,170
Thanks for working on this. Making it slower would help the payer to actually discover the strength and weaknesses of the various ships. I was always giving up frustrated after a few attempts because I never did get the feeling of actually controlling something.


edit: could the speed of the games story progression be changed, too? I hate time limits :)
 
Last edited by a moderator:

diligentcircle

Well-Known Member
Joined
Aug 29, 2011
Messages
1,594
Age
28
Location
Milky Way galaxy
Website
onpon4.github.io
Where did you change the "configuration" to enable ABYX buttons? src/libs/input/sdl/keynames.c? src/uqm/controls.h?
No, it's the config files in .uqm. There's a shell script in the PND that copies a new default config to the appropriate directory so that the actual default config in the source never gets used.
 

klapse

Central Scrutinizer
Joined
Aug 30, 2012
Messages
1,932
Location
Germany
Thanks for working on this. Making it slower would help the payer to actually discover the strength and weaknesses of the various ships. I was always giving up frustrated after a few attempts because I never did get the feeling of actually controlling something.


edit: could the speed of the games story progression be changed, too? I hate time limits :)
Attached is the "Easier Combat" version of Ur Quan Masters. Combat has been slowed to 18fps. Spathi and Terran ships have now been upgraded (speed, weapon damage, weapon range) so that even old people like me should be able to survive most combat encounters. (still it is advisable to save game before entering combat).

To test this version, move your old uqm.pnd out of -media/[sDCARDNAME]pandora/menu (or wherever it is stored). Then make SURE that "The Ur Quan Masters" dissappears from the menu (how can we force this update?) and copy uqmE.pnd into the menu dir.

I will continue to investigate why this .pnd creates the application title "The Ur-Quan Masters" instead of "The Ur-Quan Masters Easier" as specified in the PXML.

uqmE.pnd
 

Attachments

  • uqmE.pnd
    9.8 MB · Views: 86
Last edited by a moderator:

x1212

Member
Joined
Apr 1, 2013
Messages
134
I can't see the attachment ... maybe you didn't add it to your post?
 

klapse

Central Scrutinizer
Joined
Aug 30, 2012
Messages
1,932
Location
Germany
I found a problem with this UQM build.  When I remove the SD card, The Ur-Quan Masters remains in the application menu! Can anyone confirm? It should disappear.   [edit] the problem was that the menu found a duplicate .pnd stored on the /media/mmcblk1p1 root dir and added it to the menu. Removing both SD cards cleared the entry from the menu...

[edit] attachment added to post
 
Last edited by a moderator:

x1212

Member
Joined
Apr 1, 2013
Messages
134
tested this ... but if I unmount the USB-stick I'm using it dissappears from the menu ... maybe you need to restart because of previous problems?

but I can confirm the wrong title ... I will have a look at the pnd-file ...

Edit: unpacked the pnd and packed again and now the correct title is shown ... so this is not a problem with the PXML

uqmE.pnd
 

Attachments

  • uqmE.pnd
    9.8 MB · Views: 78
Last edited by a moderator:

klapse

Central Scrutinizer
Joined
Aug 30, 2012
Messages
1,932
Location
Germany
tested this ... but if I unmount the USB-stick I'm using it dissappears from the menu ... maybe you need to restart because of previous problems?

but I can confirm the wrong title ... I will have a look at the pnd-file ...

Edit: unpacked the pnd and packed again and now the correct title is shown ... so this is not a problem with the PXML

attachicon.gif
uqmE.pnd
Ok now I see "Ur Quan Masters Easier" in the title. (Why the heck didn't it show up before??)

Now it just needs a bit of testing / feedback and then I can upload to the repo...
 
Last edited by a moderator:

x1212

Member
Joined
Apr 1, 2013
Messages
134
How did you create that pnd?

Did you use an other one (the one on the repo) as a basis?
 

klapse

Central Scrutinizer
Joined
Aug 30, 2012
Messages
1,932
Location
Germany
Yes I used the UQM (newer version) available in repo, copied to a windows computer, then used PNDTools to extract, edited the PXML in Wordpad, then recreated the PND using a different name.
 
Top