PDA

View Full Version : New Port: Descent 1


Bundyo
2008-02-14, 16:29
I did quick and dirty ports of Descent 1 and Descent 2 for OS2008 (not tested with the older OSes). Only did a modification to enable the hardware pixel doubling and added a 400x240 resolution for it (use that for the best performance). Didn't do remapping of the default keys, instead i created a pilot with already remapped keys, tune it to your best satisfaction (right now the stylus is used for aiming, but maybe the mouse speed is slow). A virtual keyboard is needed for the saved games.

Attaching a screenshot (a very bad one:)
http://www.bundyo.org/maemo/d1x-rebirth/d1x-rebirth.jpg

Okay, to the point:

Running Descent 1:
Install the deb from here: http://www.bundyo.org/maemo/d1x-rebirth/.
Copy these files in /usr/share/games/d1x-rebirth/ (works only with the full version):

DESCENT.HOG
DESCENT.PIG

Running Descent 2:
Install the deb from here: http://www.bundyo.org/maemo/d2x-rebirth/.
Copy these files in /usr/share/games/d1x-rebirth/ (tested only with the full version but probably works with the demo):

alien1.pig
alien2.pig
descent2.ham
descent2.hog
descent2.s11
descent2.s22
fire.pig
groupa.pig
ice.pig
water.pig
WARNING: D2X is case-sensitive! All files should be lower case.

WARNING: In both games if you start them not using the included USER profile, they start in 640x480 and will be slow. Also the keys have default mapping and you should update them.

You can symlink these directories to somewhere on a card if you want to, there won't be custom builds for other directories.

EDIT: Remapped the menu key to Save. Executable updated. If someone has ideas for key mapping - let me know.

EDIT: Created a deb file with menu item, icon and dbus service (not that you can alt-tab from the game yet :) Rewrote the instructions.

EDIT: Added Descent 2, removed the bigger resolutions from Descent 1.

That's all folks, have fun.

Benson
2008-02-14, 19:00
FPS anyone?? Oh well, I'll probably install it and see...

Edit: If I can find my Descent 1 CD, which seems unlikely enough at the moment. Anyone know what FPS I might expect? Trying to figure out how much effort to put into the search...

Pushwall
2008-02-14, 22:38
I haven't tried yet since I'm getting low on internal memory and can't afford losing more with game files. I'm crossing my fingers for a mmc version.

Bundyo
2008-02-14, 22:44
~12-13 fps, but very playable.

@Pushwall: you can do a symlink to a directory on the card, since the path is hardcoded in the executable and i don't want to maintain more than one of them.

Benson
2008-02-14, 23:00
Cool, that sounds good.

I already got such a symlinked dir made. Just need the files to populate it. I'll have to look harder, I guess.

Pushwall
2008-02-15, 00:56
@Pushwall: you can do a symlink to a directory on the card, since the path is hardcoded in the executable and i don't want to maintain more than one of them.
Cool, thanks Bundyo. I'll give it a try since this was once of my favorite games way back when. I appreciate the advice. I've got the game around here somewhere just like Benson.....just have to look in all my closets and boxes until I find it.

JFX
2008-02-15, 17:39
Ok so I just got my N800. Just checked this games forum, and I see this post, I almost shite myself I kid you not. Dude i play this game all the tim coop with my best friiend, im about to call him and tell him some genius ported d1 to my tablet. Weve beat d1q and D2 countless times, but this is amazing, youve offiically inspired me to start learning how to port old dos games to tablets. This is awesome man thanks a million times over, and PLEASE keep up the work on it or d2 maybe too? Like i said, holy hell this is amazing, and i thought i was the only other person who still played this game. My favorite game now on my tablet ? Cool, I will even FUND you with paypal to keep up the work on this and other games i can think of as well, namely Commander Keen4.. Honestly Id be willing to pay you to do these games and perfect them for tablets. Thanks man, this is amazing. x10. Going to get mmy hog files.

Bundyo
2008-02-15, 17:55
You can fund the project - dxx-rebirth, i just ported it :)

Here:
http://www.dxx-rebirth.de/

JFX
2008-02-15, 18:05
Yea we play rebirth, Ivé talked with the creator as well a while back, heś´done a great job. BUt you ported for my tablet. What is it like extremely easy? I doubt it, Im´going to try to learn somee porting soon though. Ok so ive copied my hog and pig files over to my tablet on my 8gb sdhc, but im not sure what to do to install your file, or how to do it, is there an app i need to extract the file on the tablet? Help an utter noob? I apreciate it.

Bundyo
2008-02-15, 18:18
In the file there are an executable and a directory. You can copy the executable in /usr/bin for instance, and extract the directory in /home/user

The HOG and PIG files should be in /usr/share/games/d1x-rebirth, you can symlink it to the card too.

I'll try later to make a deb for it.

JFX
2008-02-15, 18:27
ok the SDL file is the executable? Also how do i move the files to the user folder and home? On a pc? Or can i do it all in file manager i tried both, also i didnt download the source only the first file you listed, the extractable. Thanks for your help. Ive repped you, A deb is an auto installer right?? That would be awesome too.

Bundyo
2008-02-15, 18:45
Yes, the sdl is the executable. You can extract it on a PC, and then copy the files over, but then the executable wouldn't be executable anymore. Maybe just wait a few hours for me to create a deb.

JFX
2008-02-15, 18:51
ALright, not sure how to execute that sdl, im very new at all this obviously. I will wait for your deb file. Sounds very promising. Oh and did you learn porting on your own and how long did it take you to learn as much as you know? Im a 3d graphic designer but id like to program for maemo sometime.. did i say that?

CyberCat
2008-02-15, 19:09
Hey, Bundyo, I got everything set up fine, but I'm getting the following error:

Error Not enough strings in text file - expecting 621, found 514

Error Not enough strings in text file - expecting 621, found 514

Is some .config editing in order? :D

Bundyo
2008-02-15, 19:18
Porting a SDL application is very easy since SDL's purpose is to be portable. The libraries available for Maemo are with almost exact functionality as the ones for the other platforms. However using the pixel doubling on Maemo is a little problematic, since most games are not meant to use it. Programming on some language is a must since you need to modify the source to some extent.

Bundyo
2008-02-15, 19:20
@CyberCat: Are you using the trial? It has different data files and requires recompilation. I'm planning that soon too.

CyberCat
2008-02-15, 20:04
@CyberCat: Are you using the trial? It has different data files and requires recompilation. I'm planning that soon too.

OH! Yeah, I had actually just grabbed the first descent files I found in my DOS games directory, which, as you noticed, was actually the demo! Wups, fortunately I actually have all the Descent games, 1, Levels of the world, 2, Vertigo series, mission builder, and 3.

Great port, works great! Very playable, I'd say it's consistently 15fps easy, probably more. Feels really nice. Stylus play is a little awkward for me, so I changed to keyboard only which is a little better. I think we need some analog joysticks on our NITs! :p

Great job, and thanks for your work!

exon
2008-02-15, 20:37
Imagine this if the tablets had accelerometers. (Think Nokmote or ShakerRacer).

Man I miss this game. I should dig out my old copy.

Bundyo
2008-02-15, 23:00
Look for the deb in the first post.

Pushwall
2008-02-16, 03:16
Bundyo, this game runs very smooth and looks awesome! This is my favorite type of game!! However, my problem is the game doesn't play very long. I'll be around 30-60 seconds in the first level as trainee and the game bombs out and I'm back to the Nokia screen. Very strange. I wish I could play longer in this game since it does look great!

One other thing.....any way to adjust the stlyus sensitivity on guiding the ship? I tried increasing the sensitivity of both the mouse and joystick in the Controls menu but that didn't seem to have any effect. I find that I have trouble turning quickly when close to walls and an increased stylus sensitivity would help greatly.

Thanks for a great port and I appreciate all your efforts!

JFX
2008-02-16, 04:07
ok so ive got thay deb in my games/d1x-rebirth folder WITH my d1 hog and pig. when i double click the deb it starts app manager then states 'unable to install d1x-rebirth incombatible application package',.. What am i doing wrong?

Pushwall
2008-02-16, 04:20
Try red pill mode. I had the same problem and going into red pill mode worked for the install. I went into red pill mode in Application Manager and exited out. I tried to install again and it worked. And then I reset it back to blue pill mode.

JFX
2008-02-16, 05:02
Pushwall, i was just searching for info, to switch to that mode, how do you do that? Much appreciated

Pushwall
2008-02-16, 05:23
Read here:
http://www.internettablettalk.com/forums/showthread.php?t=13258&highlight=red+pill
....and be very careful and follow the warnings!

JFX
2008-02-16, 05:38
Great, thanks for that. Got it installed, now it just says Loading but then does nothing... I am in blue pill mode now and this is what its doing, maybe someone else already talked about this, ill go back and check now... hmm

JFX
2008-02-16, 05:52
No such luck, wondering what to do now. I must be doing something wrong.

Bundyo
2008-02-16, 07:01
JFX - the hog and pig files should be in /usr/share/games/d1x-rebirth/ directory. If you keep them in the card, there should be a symlink to point to them, otherwise the game won't find them.

To check what is going on, start a terminal and write d1x-rebirth-sdl, then press Enter. Post here the messages it gives you.

CyberCat
2008-02-16, 07:17
JFX, also make sure that all your game files are set to allow user to have permission to read/execute them. If they're owned by root and the permission is something like -rwx------ that would be the problem. =P

qwerty12
2008-02-16, 11:44
@Bundyo

Do you think Descent 2 is portable?
An d2x port for bora with source can be found here:
https://garage.maemo.org/frs/?group_id=52

Thanks for Descent 1 :)

JFX
2008-02-16, 13:23
im wondering if because when installing it says it needs 974mbs or something free, if thats whats halting my game. not enough free? should i be running os off the mmc? ive got a 2gb in the internal slot and 8sdhc ln the ext.

Bundyo
2008-02-16, 14:57
I already ported Descent II and have it running on my device with the same speed as 1, just needs some polishing touches and packaging. ;)

The bora port is not using the rebirth version, didn't check it, but it is slow.

CyberCat
2008-02-16, 15:21
I already ported Descent II and have it running on my device with the same speed as 1, just needs some polishing touches and packaging. ;)

Oh boy, Descent II!! Can't wait! :D

JFX
2008-02-16, 16:10
now if we had kali ported my life would be complete... well after limewire that is.

JFX
2008-02-16, 16:18
~ $ d1x-rebirth-sdl

Error: Could not find valid descent.hog and/or descent.pig in
/usr/share/games/d1x-rebirth//


Error: Could not find valid descent.hog and/or descent.pig in
/usr/share/games/d1x-rebirth//

~ $
~ $
this is what i get. . but both files are in n800/games/d1x-rebirth im not finding share or userr. . . i feel like im taking crazy pills!

Bundyo
2008-02-16, 16:42
Okay, clearly this is your problem :) Your files are on the card and nothing points to them... Run this as root and tell me if it helps (or any message it gives):

ln -s /home/user/MyDocs/.games/d1x-rebirth /usr/share/games/d1x-rebirth

JFX
2008-02-16, 16:48
~ $ ln -s /home/user/MyDocs/.games/d1x-rebirth /usr/share/games/d1x-rebirth
ln: /usr/share/games/d1x-rebirth: No such file or directory
~ $
there it is

Bundyo
2008-02-16, 16:53
So, do first

mkdir /usr/share/games

JFX
2008-02-16, 16:59
ah says permission is denied to make a directory. . .

Bundyo
2008-02-16, 17:14
Do it as root

JFX
2008-02-16, 17:22
this is going to piss you off but im like a newborn infant to this stuff, make root? sorry, i design graphics never programmed vefore. ha. but i really appreciate your patience.

Bundyo
2008-02-16, 17:30
Okay, all in all write this (i think gainroot is preinstalled in 2008, tell me if it is not working):

sudo gainroot
mkdir /usr/share/games
ln -s /home/user/MyDocs/.games/d1x-rebirth /usr/share/games/d1x-rebirth

JFX
2008-02-16, 17:39
~ $ sudo gainroot
Enable RD mode if you want to break your device
~ $ sudo gainroot
Enable RD mode if you want to break your device
~ $ mkdir /usr/share/games
mkdir: cannot create directory '/usr/share/games': Permission denied
~ $ ln -s /home/user/MyDocs/.games/d1x-rebirth /usr/share/games/d1x-rebirth
ln: /usr/share/games/d1x-rebirth: No such file or directory
~ $

Bundyo
2008-02-16, 17:51
okay then its not by default - search maemo.org for how to become root...

qwerty12
2008-02-16, 17:51
~ $ ln -s /home/user/MyDocs/.games/d1x-rebirth /usr/share/games/d1x-rebirth
ln: /usr/share/games/d1x-rebirth: No such file or directory
~ $
there it is

I had the same problem so I used emelfm2 as root to do the symlink from /media/mmc2/d1x-rebirth to /usr/share/games/d1x-rebirth and it worked fine

Bundyo
2008-02-16, 17:53
yes, that's a better option :)

Bundyo
2008-02-16, 17:58
btw, if someone didn't notice - i posted the Descent 2 port in the first post. I can't edit the Thread title though.

JFX
2008-02-16, 18:15
ok i did the steps but im not sure what name to title the new catalogue, the instructions dont tell me.

JFX
2008-02-16, 19:19
GOT IT. FInally, used a deb instller to get root access, thanks a lot to you guys for helping me, couldnt do it without your help, now the only thing is it only playing for about a minute then back to the os, as previously mentioned. Now to try D2

Pushwall
2008-02-16, 19:46
JFX, I'm glad someone else has the same problem as me of being thrown out of the game after a short period of time. Hopefully, it's something that can be fixed.

Bundyo
2008-02-16, 21:49
Hmm, i did experience something like that once... will investigate.

Bundyo
2008-02-16, 22:24
Can anyone which Descent is dying randomly test if it still is doing that when ran from a terminal as user?

JFX
2008-02-16, 23:06
what are the commands to run a program from the terminal? id like to test it.

qwerty12
2008-02-16, 23:15
Just type d1x-rebirth-sdl

I'd do it but i removed all my game data files to make space fot some llittle britain.

JFX
2008-02-17, 00:18
its working fine and great. wondering if i could get some remappings, do i just edit the config?

Pushwall
2008-02-17, 04:17
I can confirm too that the game runs great when executed in xterm. Great stuff! Now if I could just get a bit more sensitivity on the stylus turning it'd be perfect.

JFX
2008-02-17, 04:34
Yep sensitivity increase indeed. But i'm trying to figure out the best setup for the keys and on screen action. Like stylus for sliding left and right and stylus up and down for forward and backwards, or ill just hook up a full layout keyboard, but then i mine as well just play on my laptop, but then again tablets are cool , awesome with descent. I love this.

kip
2008-03-17, 21:20
To the OP, can we see your patch applied against svn HEAD? Or was anything necessary at all to change in the source? Over at the DXX-Rebirth project, we would *really* appreciate it if you submitted your patch which includes the updates to the documentation text files.

I packaged a deb a while ago for personal use, but got tired of always having to tell people to get the game files, so I just put a notices in the control file package description that they are only allowed to install the game if they purchased the original. Would you consider doing something similar? It would save a lot of us time who actually bought the game years ago.

Also, do you have an apt repo setup for the Nokia?

Kip

Bundyo
2008-03-17, 22:08
I'll try applying the changes to the SVN - i made some changes to the DXX SDL init, so i'll do a patch and submit it, hopefully till the end of the week.

I'll put some notices in the deb too. Don't have a repo, planning to eventually use the Nokia one in the future. Or maybe i will setup a personal one, but that tends to eat hosting bandwidth :)

Bundyo
2008-03-17, 23:06
Okay, debs updated, but the patch will have to wait till i have more time.

kip
2008-03-18, 01:07
Thanks Bundyo hugely. I think you made a mistake though, or perhaps I just downloaded the wrong deb (d1x-rebirth-0.1-3_armel.deb). I looked inside and it doesn't appear to have the game files, even though it has the disclaimer in the package description. If you are concerned about Interplay / Parallax coming after you, I don't even think they care anymore about a game that is over a decade old. In any case, if anyone gives you **** for it, you should be ok with the disclaimer - though I am not a lawyer.

By the way, if you can get the game files in there, build against svn head (r731 at time of writing), submit your patch to the developers to be merged into mainline, and put your package in an apt repo (either your own or some other accessible one), I'd like to send you a small token of my appreciation. Do you have a PayPal account?

Kip

Bundyo
2008-03-18, 06:04
Oh, seems i misunderstood you :) However, i won't package the game files with the game, because the game is still sold :( Look here:

http://www.the-underdogs.info/game.php?gameid=2759
http://www.abandonia.com/en/games/266/Descent.html

The game was available for download in Abandonia i think about an year ago, but now they only show the ESA logo. So, thanks, but no thanks.

kip
2008-03-18, 06:58
Why don't you just make the d1x-rebirth package depend on d1x-rebirth-data, with instructions on how to package for end users who have the game files? That seems to solve the problem. That way we don't have to repackage the game files everytime you publish a newer d1x-rebirth package via apt repository?

Bundyo
2008-03-18, 07:57
Okay, that's possible, but this data package can be built under linux only (and dpkg-deb should be installed), or do you know of a way to make a deb in windows?

kip
2008-03-18, 18:33
Never made it before in Windows. All you really need is just to write a shell script that takes as a parameter a path containing all of the user's game files, and then generates d1x-rebirth-data package.

Oh, and don't forget to set the package architecture to all, since the game data is platform neutral.

Kip

Natehunderd
2008-03-22, 03:09
bundyo- I've really enjoyed playing Descent again. My first PC had Descent SW preinstalled and it was really the first truly 3d game I'd played (wolfenstein3d excepted).
Here's what's amazing, after all these years... I still love it!!

italodance
2008-04-03, 07:38
can i use mmc1/2 or this? or only possible with internal memory???????????

:confused:

Bundyo
2008-04-03, 09:19
You can put the data where you wish, and make a symlink to point to it.

schni
2008-09-01, 22:21
>A virtual keyboard is needed for the saved games

What does that mean?
I desperately want to save, but have no idea how to do that... :(

Benson
2008-09-01, 22:50
Well, a BT or USB keyboard would also work, but a virtual keyboard is an on-screen one that may be summoned at will; i.e. not the included ones, but xkbd, xvkbd, etc..

fanoush
2008-10-27, 11:36
BTW, you can buy Descent 1&2 (and other good old games) here as file download (no physical media) http://www.gog.com/en/gamecard/descent_1_descent_2

popwar
2010-01-09, 23:54
uh n900 port?

Darkwolf
2010-04-28, 07:03
Would love to see this game fly on our N900.
Is it a lot of work to get it working for Maemo 5?
It would be one of the few (ported) games where I would say: yes, the accelerometer truly serves a good purpose here!