git » fp-git.git » commit 4cad33d

more about guards

author ecalot
2007-03-28 23:35:19 UTC
committer ecalot
2007-03-28 23:35:19 UTC
parent bccab5849d716a8aad65a6012dbea25ad44d2336

more about guards

FP/doc/FormatSpecifications +33 -18
FP/doc/FormatSpecifications.tex +33 -18

diff --git a/FP/doc/FormatSpecifications b/FP/doc/FormatSpecifications
index 8b506a4..ae3b729 100644
--- a/FP/doc/FormatSpecifications
+++ b/FP/doc/FormatSpecifications
@@ -1019,21 +1019,24 @@ Table of Contents
  Byte 3 is the facing direction as specified in 4.4.4.
  Byte 4 is the skill
  Byte 5 is unknown
- Bytes from 6,7 and 8 are always 0, probably because 5 is a long from 0 to 255
- Byte 9 is the guard colour in levels where it is needed (0-3)
-  ie. 1 white+blue, 2 white+black, 3 red
- Byte 10 is the guard number (0 for the first one, 1 for the second, etc)
- Bytes 11,12,13 and 14 are unknown, mostly 0, but in 10 guards it is 0x52756e2d
- Byte 15 is the type (0-8 and 84), but doesn't apply in all levels
-  ie. 5 head, 8 snake
- Byte 16 is the hit points of the guard (0 to 8)
- Bytes 17 and 18 are the activate triggers for skeletons, byte 17 is (0,1,-1)
-  and 18 is (0,-1). Normal value is 0x0000 for a sleeping skeleton. When set
-  to -1 (0xffff) a trigger will be waiting to wake the skeleton up, for example
-  the exit door open. Other possible values are 0x0100 that is the skeleton
-  already awake and 0xff00 that seems to be similar than 0x0000.
- Bytes 19,20,21 are always 0
- Byte 22 is unknown (mostly 0, but 1 and 3 where found for some guards)
+ Bytes from 6,7 and 8 are always 0, probably because 5 is a long from 0 to
+  255.
+ Byte 9 is the guard colour in levels where it is needed (0-3),
+  ie. 1 white+blue, 2 white+black, 3 red.
+ Byte 10 is the guard number (0 for the first one, 1 for the second, etc).
+ Bytes 11,12,13 and 14 are unknown, mostly 0, but in 10 guards it is
+  0x52756e2d.
+ Byte 15 is the type (0-8 and 84), but doesn't apply in all levels,
+  ie. 5 head, 8 snake.
+ Byte 16 is the hit points of the guard (0 to 8).
+ Bytes 17 and 18 are the activate triggers for skeletons, byte 17 is
+  (0,1,-1) and 18 is (0,-1). Normal value is 0x0000 for a sleeping
+  skeleton. When set to -1 (0xffff) a trigger will be waiting to wake the
+  skeleton up, for example the exit door open. Other possible values are
+  0x0100 that is the skeleton already awake and 0xff00 that seems to be
+  similar than 0x0000.
+ Bytes 19,20,21 are always 0.
+ Byte 22 is unknown (mostly 0, but 1 and 3 where found for some guards).
 
 5.2.3.2 Dynamic guards
  
@@ -1045,12 +1048,24 @@ Table of Contents
  possible to set the number of guards that will appear running.
  
  The bytes are from 0 to 33:
+ Bytes 8 and 9 are always 0.
  Byte 18 activates dynamic guard. 1 is true and 0 is false.
- Byte 23 is where the guard is located
+ Byte 19 is the skill (0-7, 8 to make it passive)
+ Byte 23 is where the dynamic guard mode: 0 or 1 to make the guard wait 
+  until all guards are dead to spawn and 2 to spawn even when the prior
+  guard is still alive.
  Byte 24 is the floor the guard will appear on 0 is the upper one and 2 is
   the lower. Another number will kill the guard playing the sound.
- Byte 30 is the number of guards that will appear.
-
+ Byte 25 is the initial location of the guard. ie. 0 is the left side of
+  the screen, 9 is the right side, it is possible to locate them in the
+  middle of the screen, they will magically spawn in a position between 1
+  and 8. As they will run to the center of the screen, this byte also sets
+  the facing direction up (0 to 5 is right, 6 to 9 is left).
+ Byte 26 is the time in ticks the first guard will wait to spawn
+ Byte 27 is the time in ticks between guards spawn
+ Byte 30 is the number of guards that will appear, there is a maximum of 5
+  per room, including static guards.
+ Byte 31 is the lives the guards will have.
 
 6. PLV v1.0 Format Specifications
    ~~~ ~~~~ ~~~~~~ ~~~~~~~~~~~~~~
diff --git a/FP/doc/FormatSpecifications.tex b/FP/doc/FormatSpecifications.tex
index 8b506a4..ae3b729 100644
--- a/FP/doc/FormatSpecifications.tex
+++ b/FP/doc/FormatSpecifications.tex
@@ -1019,21 +1019,24 @@ Table of Contents
  Byte 3 is the facing direction as specified in 4.4.4.
  Byte 4 is the skill
  Byte 5 is unknown
- Bytes from 6,7 and 8 are always 0, probably because 5 is a long from 0 to 255
- Byte 9 is the guard colour in levels where it is needed (0-3)
-  ie. 1 white+blue, 2 white+black, 3 red
- Byte 10 is the guard number (0 for the first one, 1 for the second, etc)
- Bytes 11,12,13 and 14 are unknown, mostly 0, but in 10 guards it is 0x52756e2d
- Byte 15 is the type (0-8 and 84), but doesn't apply in all levels
-  ie. 5 head, 8 snake
- Byte 16 is the hit points of the guard (0 to 8)
- Bytes 17 and 18 are the activate triggers for skeletons, byte 17 is (0,1,-1)
-  and 18 is (0,-1). Normal value is 0x0000 for a sleeping skeleton. When set
-  to -1 (0xffff) a trigger will be waiting to wake the skeleton up, for example
-  the exit door open. Other possible values are 0x0100 that is the skeleton
-  already awake and 0xff00 that seems to be similar than 0x0000.
- Bytes 19,20,21 are always 0
- Byte 22 is unknown (mostly 0, but 1 and 3 where found for some guards)
+ Bytes from 6,7 and 8 are always 0, probably because 5 is a long from 0 to
+  255.
+ Byte 9 is the guard colour in levels where it is needed (0-3),
+  ie. 1 white+blue, 2 white+black, 3 red.
+ Byte 10 is the guard number (0 for the first one, 1 for the second, etc).
+ Bytes 11,12,13 and 14 are unknown, mostly 0, but in 10 guards it is
+  0x52756e2d.
+ Byte 15 is the type (0-8 and 84), but doesn't apply in all levels,
+  ie. 5 head, 8 snake.
+ Byte 16 is the hit points of the guard (0 to 8).
+ Bytes 17 and 18 are the activate triggers for skeletons, byte 17 is
+  (0,1,-1) and 18 is (0,-1). Normal value is 0x0000 for a sleeping
+  skeleton. When set to -1 (0xffff) a trigger will be waiting to wake the
+  skeleton up, for example the exit door open. Other possible values are
+  0x0100 that is the skeleton already awake and 0xff00 that seems to be
+  similar than 0x0000.
+ Bytes 19,20,21 are always 0.
+ Byte 22 is unknown (mostly 0, but 1 and 3 where found for some guards).
 
 5.2.3.2 Dynamic guards
  
@@ -1045,12 +1048,24 @@ Table of Contents
  possible to set the number of guards that will appear running.
  
  The bytes are from 0 to 33:
+ Bytes 8 and 9 are always 0.
  Byte 18 activates dynamic guard. 1 is true and 0 is false.
- Byte 23 is where the guard is located
+ Byte 19 is the skill (0-7, 8 to make it passive)
+ Byte 23 is where the dynamic guard mode: 0 or 1 to make the guard wait 
+  until all guards are dead to spawn and 2 to spawn even when the prior
+  guard is still alive.
  Byte 24 is the floor the guard will appear on 0 is the upper one and 2 is
   the lower. Another number will kill the guard playing the sound.
- Byte 30 is the number of guards that will appear.
-
+ Byte 25 is the initial location of the guard. ie. 0 is the left side of
+  the screen, 9 is the right side, it is possible to locate them in the
+  middle of the screen, they will magically spawn in a position between 1
+  and 8. As they will run to the center of the screen, this byte also sets
+  the facing direction up (0 to 5 is right, 6 to 9 is left).
+ Byte 26 is the time in ticks the first guard will wait to spawn
+ Byte 27 is the time in ticks between guards spawn
+ Byte 30 is the number of guards that will appear, there is a maximum of 5
+  per room, including static guards.
+ Byte 31 is the lives the guards will have.
 
 6. PLV v1.0 Format Specifications
    ~~~ ~~~~ ~~~~~~ ~~~~~~~~~~~~~~