Central MSQ Directory

Back to MSQ Block Go back to the Action Class index =The Central MSQ Pointer Directory= Each Map is 'run' by a central pointer-table record. These are located at offset 0600h in the 32x32 maps, and 1800h in the 64x64 maps.

String, Monster Data Locations
The first entry (at offset 0x600 from the start of the MSQ block) is a pointer to the start of the Strings block. The strings are printed out when the user moves around the map, and when an action starts, or completes. This block is at the end, and therefore a pointer to it is required because of the variable length of the action code strings before it. The second entry (at offset 0x602), is a pointer to the start of the monster names block. The monsters are separate for each map. Therefore "Red Ryder" is defined only in Highpool, so could never occur anywhere else. The third entry (at offset 0x604), is a pointer to the monster data records. Each monster has a number of stats, which are located at the end of the =Action Class Master Table= From 0606 to 0629 is a set of pointers which is temporarily (until we can come up with a better name), called the Action Class Master Table. It's a sort of switch-board for rerouting control. Whenever a player activates an action or trigger, the action class layer (nibble data) retrieves a pointer from the table by accessing element 0606+nibble*2. Therefore nibble 5 is from 0x0606+0x0A = 0x0610, as you can see below. To see the meanings of each of the Action Classes, as discovered so far, see the Action Classes page. This yields another pointer, which points to the start of another table, which again, yields a further pointer, which points to an action string... Confused yet? :) To see it laid out a bit more graphically, see the movement flow page.