Ben "Cerbera" Millard
Updated: 5th September 2004

  An experiment into how GTA1 map data can be changed during the game using the mission coding.  It is not complete and not particularly presentable but competent coders *should* be able to make sense of it.


CHANGING BLOCKS - Vice City CHAPTER 1:
[202]
BLOCK TESTS, 22, miami.cmp, 0,
100 1 1 1 1 0

0 (22,187,4) PARKED 04 0
1 1 (1,1,1) TRIGGER 1 255

7600 (237,140,3) BLOCK_INFO 48 0
7620 (237,141,3) BLOCK_INFO 48 0
7640 (237,142,3) BLOCK_INFO 48 0
7660 (237,143,3) BLOCK_INFO 48 0
7680 (237,144,3) BLOCK_INFO 48 0
7700 (237,140,4) BLOCK_INFO 0 100
7720 (237,140,4) BLOCK_INFO 1 100
7740 (237,141,4) BLOCK_INFO 0 122
7760 (237,141,4) BLOCK_INFO 1 122
7780 (237,142,4) BLOCK_INFO 0 150
7800 (237,142,4) BLOCK_INFO 1 150
7820 (237,143,4) BLOCK_INFO 0 151
7840 (237,143,4) BLOCK_INFO 1 151
7860 (237,144,4) BLOCK_INFO 0 100
7880 (237,144,4) BLOCK_INFO 1 100
7900 (237,140,4) BLOCK_INFO 4 28
7920 (237,141,4) BLOCK_INFO 4 102
7940 (237,142,4) BLOCK_INFO 4 93
7960 (237,143,4) BLOCK_INFO 4 95
7980 (237,144,4) BLOCK_INFO 4 148


32100 1 (237,145,4) PLAYER 0 512


-1


0 DONOWT 0 -1 0 0 0 

1 STARTUP 1 0 0 0 0 
2 SURVIVE 0 0 0 20 0

10 MESSAGE_BRIEF 0 610 0 0 8005

760 DONOWT 0 -1 0 0 0


610 CHANGE_BLOCK 7600 0 0 0 0
611 CHANGE_BLOCK 7620 0 0 0 0
612 CHANGE_BLOCK 7640 0 0 0 0
613 CHANGE_BLOCK 7660 0 0 0 0
614 SURVIVE 0 0 0 50 0
615 CHANGE_BLOCK 7680 0 0 0 0
616 CHANGE_TYPE 7700 0 0 0 0
617 CHANGE_TYPE 7720 0 0 0 0
618 CHANGE_TYPE 7740 0 0 0 0
619 CHANGE_TYPE 7760 0 0 0 0
620 CHANGE_TYPE 7780 0 0 0 0
621 CHANGE_TYPE 7800 0 0 0 0
622 CHANGE_TYPE 7820 0 0 0 0
623 CHANGE_TYPE 7840 0 0 0 0
624 CHANGE_TYPE 7860 0 0 0 0
625 CHANGE_TYPE 7880 0 0 0 0
626 CHANGE_TYPE 7900 0 0 0 0
627 CHANGE_TYPE 7920 0 0 0 0
628 CHANGE_TYPE 7940 0 0 0 0
629 CHANGE_TYPE 7960 0 0 0 0
630 CHANGE_TYPE 7980 -1 -1 0 0



-1


Syntax:
 (X,Y,Z) BLOCK_INFO <info1> <info2>
For CHANGE_BLOCK, <info1> is the new value for the block., and <info2> is 0.
For CHANGE_FACE, <info1> is the face to change & <info2> is the new face value.


CHANGE_BLOCK (block attribute) info1:
48 = PLAYER ONLY (binary: 110000)
1 = 
2 = 
4 = 
8 = 
16 = 
32 = 


CHANGE_TYPE block_info1:
  2
0 4 1
  3

CHANGE_TYPE block_info2:
STYLE001 top tile sprite number - 198?
STYLE002 top tile sprite number - 198?
STYLE003 top tile sprite number - 199

ALL STYLE side tile sprite numbers are one lower.
