Release Dune Dynasty - Classic Dune 2. Modern Controls.


I may need to playtest more, but I had none of those issues during previous sessions ? What's your Pandora model?
I have a Rebirth, updated one week ago with the OS script.
About the black overlay screen I can say I started a new game (Artreides) and played until the start of mission 3, then I saved, and then I exited from the mission to the main menu, then I played some musics from the Extras and then I closed from the main menu.

When I tried the previous version I have done the same things, except I didn't save, but I didn't have the black overlay after exiting.
 
Here's the review of Dune Dynasty on PandoraLive:

http://www.pandoralive.info/?p=826

dunedynasty.png
 
Thank you for the nice review ekianjo. But note that the Script for getting Dune2 Data files is from milkashake, not pickle.

Here is the diff dunedynasty_pandora.zip for my modification. This is the crude diff, not cleaned. There are leftover from tests, and I have not put #ifdef ... #endif. There are few modification anyway, mainly default value.
 

Attachments

  • dunedynasty_pandora.zip
    2.6 KB · Views: 237
New build on the repo. With the correct version number (1.5.4). As a bonus, I added Fluidsynth for midi playback. But the cpu consuption is up, so, it's OK to listen to music with the Option & Bonus Menu, but for gameplay, you'll probably need a Gigahertz Pandora to keep a smooth gameplay.

See the main page of Dune Dynasty for direction on how to setup Fluidsynth.

Default should be Adlib anyway.

You will need a soundfont (go here for example) for it, and modify the dunedynasty.cfg to point to it (and also if you want default to be midi). Note that framerate are much lower with Fluidsynth (from 45+fps to 15+fps, use F10 to Show Framerate).

 

History log

=========

Build 03

-----------

  • Updated version number to sync with software version (1.5.4
  • Compiled with Fluidsynth (limited polyphony to 32 voices so it doesn't kill too much the performances)
 
Fluidsynth is extremely float-heavy, so no wonder that it runs slowly. I tried it with eduke, too but it killed performance completely.
 
Fluidsynth is extremely float-heavy, so no wonder that it runs slowly. I tried it with eduke, too but it killed performance completely.
Yep. It sounds good, but it doesn't worth the performance loss in my opinion. But, I let the user choose what they prefer...
 
Is anyone else running this on SL4P? I'm not able to run the pnd at all.

Here is the pndrun_dunedynasty.out:

=======================================================================================
PND : /media/Harry/pandora/menu/dunedynasty.pnd
PND_FSTYPE : Squashfs
APPDATADIR : /media/Harry/pandora/appdata/dunedynasty
APPDD_FSTYPE : vfat
PND_CPUSPEED : <unset>
EXENAME : runscript.sh
ARGUMENTS : <unset>
=======================================================================================
[ START ]--- Mount the PND ----------
Mounting : mount -t squashfs -o ro "/dev/loop0" "/mnt/utmp/dunedynasty"
Mounting the Union FS : mount -t aufs -o exec,noplink,dirs="/media/Harry/pandora/appdata/dunedynasty=rw+nolwh":"/mnt/pnd/dunedynasty=rr" none "/mnt/utmp/dunedynasty"
[sUCCESS]--- Mount the PND ----------
[ START ]--- Starting the application (runscript.sh ) ----------
--------------------------------------------------------------
Setting PATH to /mnt/utmp/dunedynasty/bin:/mnt/utmp/dunedynasty/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib/java/bin:/usr/lib/java/jre/bin:/usr/lib/java/jre/bin:/opt/kde3/lib/qt3/bin:/opt/kde3/bin:/usr/lib/qt/bin:/usr/share/texmf/bin:.
--------------------------------------------------------------
Setting LD_LIBRARY_PATH to /mnt/utmp/dunedynasty/lib:/lib:/usr/lib
copy default config, can also be created automatically, but that fixed a little glitch with default screen mode
./runscript.sh: line 37: 20441 Segmentation fault cp dunedynasty.sav dunedynasty/dunedynasty.cfg
./runscript.sh: line 46: 20442 Segmentation fault cp $REAL_HOME/.Xauthority $pwd/home/
bin/dunedynasty: symbol lookup error: /usr/lib/libreadline.so.5: undefined symbol: UP
[ FAILED]--- Starting the application (runscript.sh ) ----------
[ START ]--- Restoring the frame buffer status ----------
/usr/pandora/scripts/pnd_run.sh: line 562: 20447 Segmentation fault ofbset -fb /dev/fb1 -mem 0 -size 0 0 -en 0
[ FAILED]--- Restoring the frame buffer status ----------
[ START ]--- uMount the PND ----------
[ START ]--- Waiting the Union to be available ----------
[sUCCESS]--- Waiting the Union to be available ----------
rmdir: failed to remove '˜/mnt/utmp/dunedynasty': Device or resource busy
[ START ]--- Waiting the PND mount dir to be free ----------
[sUCCESS]--- Waiting the PND mount dir to be free ----------
cleanup done
[sUCCESS]--- uMount the PND ----------
=======================================================================================
Return code is : 4
 Segmentation faults don't sound fun, but if I bypass the pnd's script by manually mounting it and running

LD_LIBRARY_PATH=./lib ./bin/dunedynastythen I get
Code:
bin/dunedynasty: symbol lookup error: /usr/lib/libreadline.so.5: undefined symbol: UP
.
I'm about to try rebooting my device and seeing if I get anything different then.

EDIT:

Just rebooted, I still get the exact same lack-of-anything and an identical pndrun file.

Oh, and I'm running a Rebirth 512mb 600MHz Pandora with SL4P 14.0.

If this is purely a SL4P issue then I'll look into it with LinuxSWAT, rather than bothering you guys :)
 
Last edited by a moderator:
Try setting the LD_LIBRARY_PATH to the lib folder of dunedynasty. Or not...

I don't understand why it segfault while just copying simple files !

Hum, may be a lib inside the lib folder of dunedynasty is not to the taste of slackware.

Maybe, create a "libs" folder, point your LD_LIBRARY_PATH to it, and copy the minimum set of lib inside it to make it run. Start with libreadline.so... If you succeed and report this minimal set of libs, I'll make a PND that will be slackware compatible. :)
 
If I rename my appdata/dunedynasty/data folder to data2, then runscript.sh runs a few additional commands, all of which still segfault (including tar, zenity and touch).

I've also noticed that there's definitely no appdata/dunedynasty/dunedynasty.cfg file. Is it possible that, for some reason, nothing can get to the folder? Though that doesn't explain why Zenity is segfaulting.

I've tried your "libs" folder idea. I made a new folder, ran "LD_LIBRARY_PATH=. ../bin/dunedynasty" and copied every .so file that it couldn't find. I've ended up with a folder containing the following files:

liballegro.so.5.1
liballegro_acodec.so.5.1
liballegro_audio.so.5.1
liballegro_image.so.5.1
liballegro_memfile.so.5.1
liballegro_primitives.so.5.1
libfluidsynth.so.1
However, once I get there then it returns to that same error of:
Code:
../bin/dunedynasty: symbol lookup error: /usr/lib/libreadline.so.5: undefined symbol: UP
Could it be that the libreadline that SLACK has is different to the one that SuperZaxxon has?
----

Hmm. I've just copied the libreadline.so.5 from my pandora's nand (which was reflashed to SuperZaxxon1.54 just the other day) and that gets me past that error. It then complained about the lack of data files due to my renaming the data files folder earlier. I renamed the data folder back to "data" and then I got this error:

Code:
Dune data directory: .
Personal data directory: /home/paul/.config/dunedynasty/
al_create_display(640, 480)
al_get_system_driver()
system->vt->get_display_driver()
driver->create_display(640, 480)
EGL Opening EGL display
EGL Initializing
ERROR: EGL Error detected in file /media/SEBEXT/sources/git/allegro5/src/pandora/eglport.c at line 175: EGL_BAD_ALLOC (0x3003)
EGL ERROR: Unable to initialize EGL display.
display = 0
Could not create display!EGL Closed
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  10 (X_UnmapWindow)
  Resource id in failed request:  0x0
  Serial number of failed request:  13
  Current serial number in output stream:  16
I then tried out copying all the PND's libraries to my new "libs" folder (which also includes the NAND's libreadline.so.5 now) to see if that made a difference:
Code:
dunedynasty$ LD_LIBRARY_PATH=libs ./bin/dunedynasty
Segmentation fault
I don't really know where to go from here ^^.
 
Hum, sorry, but when you have this "EGL_BAD_ALLOC (0x3003)", I haven't found another solution than Reboot the Pandora, as the EGL componant is, hum... down or something.

That libreadline thing is strange, but yes, SZ 1.54 version must be newer than the one in Slackware.
 
I've just booted into SuperZaxxon and it works like a dream. It's a lot nicer to play than OpenDUNE, and so far hasn't crashed like OpenDUNE did to me :p My only criticism is the tiny in-game fonts. Thanks a lot for the port.

What I'm going to do now is to reflash my SL4P to the latest version (haven't done that for ages). I'll report back later.
 
Thanks ptitSeb.  Looks like I can clean up and merge in most of those changes in at some stage.

Is there a #define I should use for pandora-specific code?
 
I helped milkshake with the opendune port and there was no codechange except for a try to incorporate fluidsynth midisupport afaik.
Yup I believe we didn't change or add anything to the sourcecode itself from what I recall we just tried different flags and try and get the audio to work properly and we compiled fluidsynth just for that reason but what ever we did it was too slow with music (sound fx were fine) I even did a few posts on the open dune forum and talked to one of the devs in irc for help he said the the music is time based rather than event based etc and that was one of the things they wanted to improve in the long run.
 
Thanks ptitSeb! A few comments and questions:


- Please make the source code available. Besides that it is GPLv2, I might like to merge some of the changes back in.


- milkshake: the same goes for your OpenDUNE package too.


- Could you rename it to be 1.5.4.x? At first I thought you had ported the 1.5.0 version, but the change log suggests it is 1.5.4.


- Was there any reason to use Allegro 5.1, besides that you've ported it?
I do link to the source code in the repo where the pnd is available to download but it only points to the official source code wince I did not change anything :)
 
Yup I believe we didn't change or add anything to the sourcecode itself from what I recall we just tried different flags and try and get the audio to work properly and we compiled fluidsynth just for that reason but what ever we did it was too slow with music (sound fx were fine) I even did a few posts on the open dune forum and talked to one of the devs in irc for help he said the the music is time based rather than event based etc and that was one of the things they wanted to improve in the long run.
For timidity (in both OpenDUNE and Dune Dynasty), it helps to reduce the buffer size. e.g.timidity -iA -B 4,8 ...
I have problems with the timing of the drums without it.
OpenDUNE 0.7 has a bug in the MIDI code causing notes to not go off, so you should probably cherry-pick some patches from the github repo if you want to test/fix this. I think the changes up to March 29 are pretty good.
 
Last edited by a moderator:
The black overlay after exiting the game happened again... I played 3 times and only the last one had the issue... I tried to reproduce it but I can't find what is make it happening...

I have seen that playing the intermission movies in the extras have a similar effect, when I move the mouse I can see a little square of the desktop that is refreshed after the images comes, so I tried to play some intermission videos and exit the game, but I had no luck making that overlay show itself...
 
It's crashed on me a couple of times after prolonged usage it just freezes and I can't kill it even with long press on pandora button (unless I'm sshed in already then I can force close it) so have to restart it. :-(
 
i have a stupid question.... i cant seem to figure out how to cancel a construction queue with the touchscreen (i suppose its right click with a mouse, but alt+touch didnt seem to register as a rightclick in game.
 
Back
Top