Prev: 38626 Up: Map Next: 38802
38658: Immortal Data
The table of actors, which runs from here to StoredActorTable. Every actor is held in a 12 byte record, and MainLoop handles each record in turn, using the sprite ID to choose the handler (see JumpTable).
A record is made up of:
Byte Contents
0 Sprite ID (zero for an empty record)
1 Room
2 Hit direction or counter
3 X position
4 Y position
5 Colour
6 X velocity, in sixteenths of a pixel
7 Y velocity, in sixteenths of a pixel
8-11 Used in different ways by different actors
The first 12 records are the player and the actors which are always present, which are set up from InitialActors. They are followed by the nasties (NastieData), the orchid (OrchidData), the objects (ObjectData) and the pieces of the amulet (AmuletData).
The record of the player.
ImmortalData 38658 DEFB 0 Sprite ID.
38659 DEFB 0 Room.
38660 DEFB 0 Hit direction.
38661 DEFB 0 X position.
38662 DEFB 0 Y position.
38663 DEFB 0 Colour.
38664 DEFB 0 X velocity.
38665 DEFB 0 Y velocity.
38666 DEFB 0,0,0 Not used.
38669 DEFB 0 Amulet pieces collected. Bits 0-3 are set for the pieces which have been collected and bit 7 is set when a piece has just been collected.
The records of the other actors which are always present.
ImmortalData_Actors 38670 DEFB 0,0,0,0,0,0,0,0 Rhino.
38678 DEFB 0,0,0,0
38682 DEFB 0,0,0,0,0,0,0,0 Rhino.
38690 DEFB 0,0,0,0
38694 DEFB 0,0,0,0,0,0,0,0 Rhino.
38702 DEFB 0,0,0,0
38706 DEFB 0,0,0,0,0,0,0,0 Rhino.
38714 DEFB 0,0,0,0
38718 DEFB 0,0,0,0,0,0,0,0 Tribesman.
38726 DEFB 0,0,0,0
38730 DEFB 0,0,0,0,0,0,0,0 Tribesman.
38738 DEFB 0,0,0,0
38742 DEFB 0,0,0,0,0,0,0,0 Tribesman.
38750 DEFB 0,0,0,0
ImmortalData_SpareFlame 38754 DEFB 0,0,0,0,0,0,0,0 Spare record for a flame.
38762 DEFB 0,0,0,0
38766 DEFB 0,0,0,0,0,0,0,0 Wulf.
38774 DEFB 0,0,0,0
38778 DEFB 0,0,0,0,0,0,0,0 Hippo.
38786 DEFB 0,0,0,0
38790 DEFB 0,0,0,0,0,0,0,0 The Guardian.
38798 DEFB 0,0,0,0
Prev: 38626 Up: Map Next: 38802