Difference between revisions of "Map Table"
(adding Vanilla Index information and data) |
(→Current Map ID: Describing a mechanic with map ID "forwarding" which I didn't know about) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 13: | Line 13: | ||
===Current Map ID=== | ===Current Map ID=== | ||
The map ID of the current map can generally be found in 4 locations in memory, stored as a uint_16: | The map ID of the current map can generally be found in 4 locations in memory, stored as a uint_16: | ||
* <code>main.dll+B6B240</code> - Affects warped map and displayed overlay map | * <code>main.dll+B6B240</code> - Affects warped map and displayed overlay map. Always corresponds to the current actual (exterior) map ID even when in interiors. Third to be set upon touching a loading zone. | ||
* <code>main.dll+B65E74</code> - Affects warped map only | * <code>main.dll+B65E74</code> - Affects warped map only. First to be set upon touching a loading zone. Set to 0x0000 upon entering an interior loading zone and remains 0 until a new map is loaded. In certain cases, such as when entering the loading zone from Kamiki to Shinshu after Blooming Shinshu, the game will set one map ID value (rf01 for Cursed Shinshu) before "forwarding" you to the intended map (rf02 for Healed Shinshu). In this case, this map ID remains at the initial value (rf01) while all the other addresses update to the correct (actually loaded) map ID (rf02). | ||
* <code>main.dll+B4F0B4</code> - Doesn't affect warped map | * <code>main.dll+B4F0B4</code> - Doesn't affect warped map. Set to FFFF at the same time that <code>main.dll+B6B240</code> is set to the correct map ID, then set to the correct value several frames later. | ||
* <code>main.dll+B6B246</code> - Doesn't affect warped map | * <code>main.dll+B6B246</code> - Doesn't affect warped map. Second to be set upon touching a loading zone. | ||
Using a tool like Cheat Engine, it's possible to force the game to warp Ammy to any map by manually editing the value of one of the first two addresses listed above and freezing it at the value of the desired map ID, then going through a loading zone. Alternatively, you can force the game to load the map listed at those addresses (including reloading the current map) at almost any time by setting the flag located at <code>main.dll+B6B2AF bit 1</code> to 1. | |||
===Vanilla Index=== | ===Vanilla Index=== | ||
Line 32: | Line 34: | ||
| 007 || 2005 Prototype Intro Cutscene Waka Lake || | | 007 || 2005 Prototype Intro Cutscene Waka Lake || | ||
|- | |- | ||
| 010 || Item Test Map - Items 0x00-0x7F || | | 010 || Item Test Map - [[Item Table|Items 0x00-0x7F]] || | ||
|- | |- | ||
| 011 || Item Test Map - Items 0x80-0xFF || | | 011 || Item Test Map - [[Item Table|Items 0x80-0xFF]] || | ||
|- | |- | ||
| 020 || Brush Interaction Test Map 1 - Large Animals || | | 020 || Brush Interaction Test Map 1 - Large Animals || | ||
Line 251: | Line 253: | ||
==Miscellaneous== | ==Miscellaneous== | ||
* Map r007 "2005 Prototype Intro Cutscene Waka Lake" can be seen in this trailer for Okami from the 2005 Tokyo Game Show: https://archive.org/details/okami-playstation-2-tgs-2005-trailer-dvd-rip | * Map r007 "2005 Prototype Intro Cutscene Waka Lake" can be seen in this trailer for Okami from the 2005 Tokyo Game Show: https://archive.org/details/okami-playstation-2-tgs-2005-trailer-dvd-rip | ||
* Normally, when on developer map r011 (Item Test Map - Items 0x80-0xFF), the game constantly displays a swirly smoke puff particle attached to the camera, covering a large part of the screen. This can be hidden by setting a flag located at <code>main.dll+B6B2AB bit 3</code> to 1. This flag in general also hides the display of NPC portraits over their heads. It's unknown if any other flags affect this particle. |
Latest revision as of 03:23, 19 March 2024
Note: This page pertains to Reverse Engineering of Okami.
Explanation
The game world of Okami is divided into over 100 discrete environments called "maps". Loading zones (and sometimes cutscenes) transport Ammy between maps. Each map has a unique identifier made up of 3 hex digits, often prefixed by "r" in internal strings. The leftmost digit is used to assign the map to one of 8 "stages" or groups:
- st0 - Developer/test maps
- st1 - Eastern Nippon
- st2 - Western Nippon
- st3 - Kamui
- stC - Title screens
- stD - Beta/Incomplete maps
- stE - Fishing maps
- stF - Overworld maps
Current Map ID
The map ID of the current map can generally be found in 4 locations in memory, stored as a uint_16:
main.dll+B6B240
- Affects warped map and displayed overlay map. Always corresponds to the current actual (exterior) map ID even when in interiors. Third to be set upon touching a loading zone.main.dll+B65E74
- Affects warped map only. First to be set upon touching a loading zone. Set to 0x0000 upon entering an interior loading zone and remains 0 until a new map is loaded. In certain cases, such as when entering the loading zone from Kamiki to Shinshu after Blooming Shinshu, the game will set one map ID value (rf01 for Cursed Shinshu) before "forwarding" you to the intended map (rf02 for Healed Shinshu). In this case, this map ID remains at the initial value (rf01) while all the other addresses update to the correct (actually loaded) map ID (rf02).main.dll+B4F0B4
- Doesn't affect warped map. Set to FFFF at the same time thatmain.dll+B6B240
is set to the correct map ID, then set to the correct value several frames later.main.dll+B6B246
- Doesn't affect warped map. Second to be set upon touching a loading zone.
Using a tool like Cheat Engine, it's possible to force the game to warp Ammy to any map by manually editing the value of one of the first two addresses listed above and freezing it at the value of the desired map ID, then going through a loading zone. Alternatively, you can force the game to load the map listed at those addresses (including reloading the current map) at almost any time by setting the flag located at main.dll+B6B2AF bit 1
to 1.
Vanilla Index
Most vanilla maps (those encountered during normal gameplay) are also assigned an index, the purpose of which is unknown. The index for the current map is located at main.dll+B6B2C8
as a uint_16. The values range from 1 to 81, and are shown in the table below under the "Vanilla Index" column. Certain pairs of maps share an index (namely Kamiki Village before and after fighting Tei, and the Cursed and Healed variants of Shinshu, Agata, Taka, Ryoshima, and Kamui). The value 0 is used when exiting to the main menu via the settings menu, and the value 65535 (0xFFFF) is used when on the main menu or on any maps which aren't explicitly assigned an index. The values 70 and 76 are unused for unknown reasons.
A table which includes both the Map ID and Vanilla Index of each vanilla map is present at main.dll+7ad9b0
. If you represent it as a series of 2-byte values, there are 24 columns and 87 rows. In each row, the 1st column is the map ID, while the second is the vanilla index.
Table
Map ID | Map Name/Description | Vanilla Index |
---|---|---|
006 | Endless load screen | |
007 | 2005 Prototype Intro Cutscene Waka Lake | |
010 | Item Test Map - Items 0x00-0x7F | |
011 | Item Test Map - Items 0x80-0xFF | |
020 | Brush Interaction Test Map 1 - Large Animals | |
021 | Brush Interaction Test Map 2 - Small Animals | |
030 | Brush Interaction Test Map 3 - Wheel Enemies | |
031 | Brush Interaction Test Map 4 - Bull Enemies | |
032 | Brush Interaction Test Map 5 - Empty | |
033 | Brush Interaction Test Map 6 - Empty | |
034 | Brush Interaction Test Map 7 - Blue Cylinder | |
0ff | Collision and Movement Test Map | |
100 | Kamiki Village - Game Start | 1 |
101 | Cave of Nagi | 2 |
102 | Kamiki Village | 3 |
103 | Hana Valley | 4 |
104 | Tsuta Ruins | 5 |
105 | City Checkpoint | 6 |
106 | Tsuta Ruins - Spider Queen Arena | 7 |
107 | Gale Shrine | 8 |
108 | Kusa Village | 9 |
109 | Sasa Sanctuary | 10 |
10a | Agata Forest - Madame Fawn's House | 11 |
10b | Digging Minigame | 12 |
10c | Onigiri Dojo Lesson Room | 13 |
10d | Gale Shrine - Crimson Helm Arena | 14 |
10e | Calcified Cavern | 15 |
110 | Moon Cave - Interior | 16 |
111 | Moon Cave - Staircase and Orochi Arena | 17 |
112 | Kamiki Village - After fighting Tei | 3 |
113 | Ryoshima Coast - Bandit Spider Arena | 18 |
114 | Taka Pass - Stray Bead #26 Cave | 19 |
115 | Kamui - Cherry Bomb 3 Cave | 20 |
116 | N. Ryoshima Coast - Power Slash 2 Cave | 21 |
117 | N. Ryoshima Coast - Cherry Bomb 2 Cave | 22 |
118 | Kamui (Ezofuji) - Power Slash 3 Cave | 23 |
119 | Kamui - Blockhead Grande Cave | 24 |
11a | N. Ryoshima Coast - Bandit Spider Arena | 25 |
11b | Kamui - Bandit Spider Arena | 26 |
11c | Dragon Palace - Stray Bead #70 Cave | 27 |
11d | N. Ryoshima Coast - Stray Bead #63 Cave | 28 |
120 | New Game Intro Cutscene Map | 29 |
121 | Beta Kamiki | |
122 | River of the Heavens | 30 |
200 | Sei-an City (Aristocratic Qtr.) | 31 |
201 | Sei-an City (Commoners' Qtr.) | 32 |
202 | Sei-an City (Aristocratic Qtr.) - Himiko's Palace | 33 |
203 | Dragon Palace | 34 |
204 | Inside the Dragon | 35 |
205 | Sunken Ship | 36 |
206 | Imperial Palace - Ammy Size | 37 |
207 | Imperial Palace - Issun Size | 38 |
208 | Oni Island - Lower Interior | 39 |
209 | Oni Island - Ninetails Arena | 40 |
20a | Catcall Tower | 41 |
20b | Imperial Palace - Blight Arena | 42 |
20c | Sei-an City (Commoners' Qtr.) - Kimono Shop | 43 |
20d | Oni Island - Exterior | 44 |
20e | Oni Island - Upper Interior | 45 |
20f | Oni Island - Sidescroller | 46 |
301 | Wep'keer | 47 |
302 | Kamiki Village - 100 years ago | 48 |
303 | Wawku Shrine | 49 |
304 | Wawku Shrine - Nechku Arena | 50 |
305 | Ponc'tan | 51 |
306 | Moon Cave - 100 years ago | 52 |
307 | Ark of Yamato | 53 |
308 | Ark of Yamato - Spider Queen Arena | 54 |
309 | Ark of Yamato - Orochi Arena | 55 |
30a | Ark of Yamato - Blight Arena | 56 |
30b | Ark of Yamato - Ninetails Arena | 57 |
30c | Ark of Yamato - Crimson Helm Arena | 58 |
30d | Ponc'tan - Mrs. Seal's House | 59 |
310 | Yoshpet | 60 |
311 | Inner Yoshpet | 61 |
312 | Ark of Yamato - Yami Arena | 62 |
313 | Wep'keer Square | 63 |
314 | Wawku Shrine - Lechku & Nechku Arena | 64 |
c00 | Return to Title Screen | 65535 |
c01 | Unknown menu (Removed from later versions) | |
c02 | Presents from Issun | 65535 |
d00 | Beta Shinshu | |
d01 | Beta Hana | |
d02 | Beta Tsuta | |
d03 | Beta Agata | |
d04 | Beta Ryoshima | |
d05 | Beta Kamui | |
d06 | Beta Taka | |
d07 | Title Screen Demo Cutscene Village | |
e00 | Fishing with Benkei on Sei-an Bridge | 65 |
e01 | Fishing with Benkei next to Himiko's Palace | 66 |
e02 | Fishing with Kokari in Agata | 67 |
e03 | Fishing with Kokari in Kamui | 68 |
e04 | Fishing with Fisherman in NRyo | 69 |
f01 | Shinshu Field - Cursed | 71 |
f02 | Shinshu Field - Healed | 71 |
f03 | Agata Forest - Cursed | 72 |
f04 | Agata Forest - Healed | 72 |
f06 | Moon Cave Entrance | 73 |
f07 | Taka Pass - Cursed | 74 |
f08 | Taka Pass - Healed | 74 |
f09 | Ryoshima Coast - Cursed | 75 |
f0a | Ryoshima Coast - Healed | 75 |
f0c | N. Ryoshima Coast | 77 |
f10 | Early Development/Trailer Kamui (Removed from later versions) | |
f11 | Kamui - Cursed | 78 |
f12 | Kamui - Healed | 78 |
f13 | Kamui (Ezofuji) | 79 |
f20 | Shinshu Field - 100 years ago | 80 |
f21 | Moon Cave Entrance - 100 years ago | 81 |
Miscellaneous
- Map r007 "2005 Prototype Intro Cutscene Waka Lake" can be seen in this trailer for Okami from the 2005 Tokyo Game Show: https://archive.org/details/okami-playstation-2-tgs-2005-trailer-dvd-rip
- Normally, when on developer map r011 (Item Test Map - Items 0x80-0xFF), the game constantly displays a swirly smoke puff particle attached to the camera, covering a large part of the screen. This can be hidden by setting a flag located at
main.dll+B6B2AB bit 3
to 1. This flag in general also hides the display of NPC portraits over their heads. It's unknown if any other flags affect this particle.