Descent hacking

 *.PLR Offset Tables, version 0.1

Darren Lo


Well, after a little poking around in the *.PLR files, I discovered how to get

all sorts of cool stuff... there seems to be interest, so I'm posting cursory

offset tables. There are a couple things that don't seem to do anything, plus

others that I haven't bothered to figure out yet. If you have any additions

feel free to send them to darrenlo@umich.edu.


Each saved game begins with the game name (an ASCIIZ string). This is an easy

way to tell which game you're messing around with. All offsets are in hex. All

ints and long ints in the file are stored "back-words" in true x86 fashion.

(i.e., least significant byte first, most significant byte last).


You may want to back up your pilot file before mucking about in it with your

hex editor, because I make no claims as to the accuracy of my typing,

counting, record-keeping, or hex arithmetic. Please let me know if I have

messed something up, or if I am just plain wrong. :)



Offset:         Offset in save:           Description:

------          ---------------           -----------

0-13            X                         Header info?

14-2C           0-18                      Saved game name

2E-38           1A-24                     Pilot name saved under

4B              37                        Quad lasers if 4, no quads for other

                                          values??

50-51           3C-3D                     Energy level when last level was com-

                                          pleted. This appears to be a signed

                                          int. If it is less than 100, you get

                                          100 energy... max energy value is for

                                          FF 7F in these two bytes.

52-53           3E-3F                     ???

54-55           40-41                     Shield levels... see energy notes

56              42                        Number of lives, besides this one

                                          (so 06 gives you five lives spare)

57              43                        Last level completed???

58              44                        Laser descriptor byte... see table

                                          below

59              45                        Level at which game was started

5C              48                        Weapon inventory bit field:

                                          00000100 = spreadfire,

                                          00000010 = Vulcan,

                                          00000001 = lasers

5D              49                        Missile inventory bit field:

                                          00000100 = mines,

                                          00000010 = homing missiles,

                                          00000001 = concussion

60-61           4C-4D                     Vulcan ammo packs (one pack is

                                          approx. = to 25.501 rounds).

                                          I think this is signed, so don't

                                          go overboard folks ;)

68-69           54-55                     # concussion missiles (unsigned)

6A-6B           56-57                     # homing missiles (unsigned)

6C-6D           58-59                     # mines (unsigned)


*** smart missiles and mega missiles most likely will follow ***


72-75           5E-61                     Possibly score at beginning of last

                                          level??? Can anybody help???

76-79           62-65                     Current score (signed I think)

7A-81           66-6D                     No clue...


*** long stretch of ignorance... time of play must be stored somewhere ***


A2              8E                        difficulty level (0=trainee,

                                          1=rookie, etc.)

A6              92                        selected weapon (0=laser, 1=Vulcan,

                                          2=spreadfire)

                                          Odd things will happen if you put

                                          higher numbers here

AA              96                        selected missile (0=concussion,

                                          1=homing, 2=mines)

AE              9A                        Display mode

                                          0: Cockpit mode

                                          1: Weird... bitmap-type background

                                             behind a squashed screen... looks

                                             as if video RAM isn't cleared up

                                             or something...

                                          2: Status bar mode

                                          3: Full screen mode

                                          4: Cinematic, shaped like a movie

                                             screen... like the screen you get

                                             when you blow up

                                          5: "Weird" on bottom half, cinematic

                                             on top... reverts to cinematic

                                             after death

B2-B3           9E-9F                     # of pixels to display in horizontal

                                          direction. In conjunction with the

                                          vertical pixel settings, you can play

                                          with some pretty weird screen sizes.

                                          I like 320 X 23 myself :)

B6              A2                        # of pixels to display in vertical

                                          direction. This may be only one byte,

                                          but I'm not sure... the VR modes may

                                          require two bytes... ???

BA              A6                        Current level # (starts from 1)


C2              00                        Saved game 2


170             00                        Saved game 3


*** many saved games follow... ***


6E0             XX                        Taunt macro 1. A 19-byte ASCIIZ string

6F9             XX                        Taunt macro 2

712             XX                        Taunt macro 3

72B             XX                        Taunt macro 4


and some junk toward the end, probably representing controller configurations?




Laser Descriptor Byte table:

This byte, at offset 44 within each saved game, is IMHO the funnest to play

with. It appears that Descent references all weapons internally, both of the

player and the baddies, using the same numbering system. So after level 4

lasers, you start getting into some neat weapons. :) What's more, slapping on

a quad will make you more powerful than almost anything! Each weapon,

regardless of type, runs off your energy. It takes four shots to deplete one

energy unit, or two shots if you have quads.


CAUTION: If you're running about with level 17 lasers (my personal favorite)

and hit a laser powerup, your lasers will revert to level 4. But when you die,

16 laser powerups will still go floating into the room.


Descriptor Byte Value:              Description:

---------------------               -----------

00                                  Level 1 lasers

01                                  Level 2

02                                  Level 3

03                                  Level 4

04                                  Big, slow, weak, blue plasma balls...

                                    does anybody recognize these?

05                                  Yellow drone's fireballs (WEAK)

06                                  Reactor's red fireballs

07                                  Apparently nothing... I speculate that

                                    this might be the weapon of the green

                                    lifter drones... but I don't know how

                                    to use it

08                                  Concussion missiles!

09                                  Flares (this is hilarious... try it)

0A                                  Blue drone's lasers

0B                                  Vulcan cannon (fires slower than normal

                                    Vulcan)

0C                                  Spreadfire cannon balls

0D                                  Nothing again...

0E                                  And again...

0F                                  Homing missiles. Put quads on these babies!

10                                  Mines... Do NOT put quads on these! %-{

11                                  Level 7 boss's missiles... these hit for

                                    HUGE damage and then fragment into tons of

                                    little green blobs that home onto enemies.

                                    The blobs are powerful but slow.

12                                  Nothing...

13                                  Just the green blobs from the boss missiles

14                                  Spreadfire cannon balls (possibly faster or

                                    stronger than for 0C ???)

15                                  Slow homing missiles

16                                  Slow (?) concussion missiles

17                                  Spreadfire cannon balls AGAIN

18                                  Wimpy, slow red lasers

19                                  Slow green lasers

1A                                  Nothing AGAIN...

1B                                  Yellow drone's fireballs... seem more

                                    powerful, and maybe faster???

1C                                  Wimpy, FAST red lasers

1D                                  Same lasers... possibly stronger???


1E and above seem to have the same red lasers... I haven't checked them all of

course.

Increasing the difficulty of the game will make some weapons faster or 

stronger.


Happy hacking!


Comments

Popular posts from this blog

WHAT THE WATCH TOWER BIBLE AND TRACT SOCIETY OF PENNSYLVANIA HAD TO SAY ABOUT WHAT WERE SUPPOSED TO HAVE HAPPENED in 1874

Uninterruptable Power Source (UPS) FAQ

Blade Runner FAQ