Changes

Jump to navigation Jump to search

FF8/WorldMap wmsetxx

1,251 bytes added, 13:14, 12 December 2016
Section 1: World map encounter data supplier
| unused
|}
 
* ESI is the name of the register that holds the third byte parameter of section1. It is used later to determine the encounter. When the character makes a step on worldmap, the game loops through whole section1 data and tests:
 
if the character is walking on groundID and regionID, if yes, then ESI is our multiplier to section4 containing encounters. Example entry:
 
00 06 00 00:
 
If Squall is in region = 0 and walks on ground with ID 6 (as far as I remember it's Balamb Plains or forest) then get encounters from section4 that start at 0*8; Other example:
 
04 1B 24 00:
 
If Squall is in region = 4 and walks on ground with ID 0x1B, then get encounters from section4 that starts at 0x24*8 = 288
 
That way the engine can play encounter based on place you are, because if you're walking on Balamb beach, then engine should play encounter with beach, not snow plains. That's why if you change the for one map portion you can totally erase encounters in this region, because in example region 4 that may be Centra regions does not contain any BalambPlains, so there is no entry in section1 and therefore the engine finds the region encounters, but doesn't find the encounter entries for BalambPlainsGround in Centra ruins (this is totally an example).
=== Section 2: Regions ===
Anonymous user

Navigation menu