Difference between revisions of "Memory Address Table"

From Ōkami Speedrun Wiki
Jump to navigation Jump to search
(→‎Table: adding yen-related values)
(Fixing max ink level address)
 
(20 intermediate revisions by the same user not shown)
Line 4: Line 4:
Here you will find an incomplete list of descriptions of memory addresses/locations/structures in Okami, discovered via [[Reverse Engineering]].
Here you will find an incomplete list of descriptions of memory addresses/locations/structures in Okami, discovered via [[Reverse Engineering]].


'''Address''' refers to the path to the location in memory of the given data. These will be of the form <code>dllFile.dll+offset</code> or <code>dllFile.dll+offset + pointerOffset + pointerOffset</code> or similar. Offsets will be given in hexadecimal. Some addresses may have a link to a separate page which explains in greater depth its meaning and behavior.
'''Address''' refers to the path to the location in memory of the given data. These will be of the form <code>dllFile.dll+offset</code> or <code>dllFile.dll+offset + pointerOffset + pointerOffset</code> or similar. Offsets will be given in hexadecimal.


'''Short Description''' refers to a brief phrase or sentence which describes the meaning/purpose of the value.
'''Short Description''' refers to a brief phrase or sentence which describes the meaning/purpose of the value.


'''Type''' refers to the way the value located at the given address is interpreted. The common types are:
'''CE Type''' refers to the way the value located at the given address is interpreted in Cheat Engine. The common types are:
* Float: A floating point value, representing a fraction/decimal value. Generally used for values which vary continuously. Can take on a very wide range of values, with varying degrees of precision. A float is always 4 bytes in length.
* Float: A floating point value, representing a fraction/decimal value. Generally used for values which vary continuously. Can take on a very wide range of values, with varying degrees of precision. A float is always 4 bytes in length.
* (1/2/4/8) Byte(s): An integer value. Sometimes signed (positive or negative) sometimes unsigned (not negative). Can represent countable quantities (e.g. number of a given item in the inventory), addresses of other values, or a wide variety of other things. Sometimes represented in hexadecimal or decimal. Each byte represents 8 adjacent bits (binary on/off values).
* (1/2/4/8) Byte(s): An integer value. Sometimes signed (positive or negative) sometimes unsigned (not negative). Can represent countable quantities (e.g. number of a given item in the inventory), addresses of other values, or a wide variety of other things. Sometimes represented in hexadecimal or decimal. Each byte represents 8 adjacent bits (binary on/off values).
* Array of Bytes: A list of byte values of arbitrary length. Can contain many independently meaningful addresses. Usually listed here to represent a group of related values stored adjacently in memory.
* Array of Bytes: A list of byte values of arbitrary length. Can contain many independently meaningful addresses. Usually listed here to represent a group of related values stored adjacently in memory.
* String: A list of characters of arbitrary length, usually representing a something like a word, sentence, or filename.
* String: A list of characters of arbitrary length, usually representing a something like a word, sentence, or filename.
* Binary: A set of values which are either on/off or true/false. Often used to represent flags, such as whether a certain one-time-only action has been performed. Because addresses can only refer to bytes, and not individual bits, each binary address listed here will represent a group of 8 actual bits/flags. In many cases, not all of the bits in a byte are used (the unused bits always remain at 0). For these values, the description will describe the overall contents of the byte, and the detailed values will be present in the [[Bitfield Table]], linked in the Article column
* Binary: A set of values which are either on/off or true/false. Often used to represent flags, such as whether a certain one-time-only action has been performed. Because addresses can only refer to bytes, and not individual bits, each binary address listed here will represent a group of 8 actual bits/flags. In many cases, not all of the bits in a byte are used (the unused bits always remain at 0). For these values, the description will describe the overall contents of the byte, and the detailed values will be present in the [[Bitfield Table]], linked in the Units/Details column
 
'''Code Type''' refers to the assumed type of the value as it would have been written in the game's C++ source. Some common values are:
* float: Same as described under CE Types. 4 bytes
* int_8, int_16, int_32, int_64: Signed integer types of 8, 16, 32, and 64 bits (1, 2, 4, and 8 bytes) respectively
* uint_8, uint_16, uint_32, uint_64: Unsigned integer types
* bool: Can only hold the values 0 or 1 (representing false or true, respectively), but takes up 1 byte in memory.
* char: Represents a single character of ASCII text. 1 byte.
* string: Same as described under CE Types. An array of chars.
* bitfield: (aka bitset, flags, etc.) 1 byte of data composed of adjacent bits representing true/false values with individual meanings. Corresponds to "Binary" CE type.
* struct: A structure composed of a set of values of certain types stored adjacently in memory. For example, a structure containing related data about a chest, including its location (represented as 3 floats) and the ID of its contents (represented using a uint).
* An array of any of the above types, with the format "type[n]", where n represents the length of the array. e.g. "uint_32[4]" for an array of 4 unsigned 32-bit ints. An array of unknown length would have empty brackets.
* A pointer to any of the above types, with the format "*type". Note that pointers always take up 8 bytes, regardless of the underlying type.


'''Range''' describes, roughly, the range of values stored at the given address. This doesn't generally indicate precise bounds.
'''Range''' describes, roughly, the range of values stored at the given address. This doesn't generally indicate precise bounds.


'''Units''' describes the type of quantity represented by the value. For values which don't represent some kind of quantity, this column may be blank.
'''Units/Details''' describes the type of quantity represented by the value and/or contains one or more links to an article which explains the meaning, purpose, and mechanics of that value in greater detail compared to the Short Description.


==Table==
==Table==
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
! Address !! Short Description !! Type !! Range !! Units
! Address !! Short Description !! CE Type !! Code Type !! Range !! Units/Details
|-
| main.dll+B217FC || In-Game Time at 60 FPS || 4 Bytes || uint_32 || 0 to 215,999,940 (999h 59m 59s) || [[Frame]]s
|-
| main.dll+B6B2D0 + 000000A8 + 0 || Ammy X Position/Coordinate || Float || float || -20,000 to 20,000 || [[Distance]]
|-
| main.dll+B6B2D0 + 000000A8 + 4 || Ammy Y Position/Coordinate || Float || float || -10,000 to 10,000 || [[Distance]]
|-
| main.dll+B6B2D0 + 000000A8 + 8 || Ammy Z Position/Coordinate || Float || float || -20,000 to 20,000 || [[Distance]]
|-
| main.dll+B4DF90 || Ammy Current Health/Solar Energy || 2 Bytes || int_16 || 0 to 900 by default || [[Health]]
|-
| main.dll+B4DF92 || Ammy Max Health/Solar Energy || 2 Bytes || int_16 || 900 to 6000 in increments of 300 || [[Health]]
|-
| main.dll+B205E5 || Solar Energy Praise Upgrade Count || Byte || uint_8 || 0 to 12 || Counter
|-
| main.dll+B205D8 || Current Ink Level || 4 Bytes || int_32 || 0 to 46080 by default || [[Ink]]
|-
| main.dll+B205DC || Ammy Max Ink Level || 4 Bytes || int_32 || 46080 to 153600 in increments of 15360 || [[Ink]]
|-
| main.dll+8928A4 || Target Ink Level when opening Brush || 4 Bytes || int_32 || 0 to 30720 by default || [[Ink]]
|-
| main.dll+8928A8 || Current Ink Level when opening Brush || 4 Bytes || int_32 || 0 to 46080 by default || [[Ink]]
|-
| main.dll+B1F208 || Ink Pot Upgrade Count || Byte || uint_8 || 3 to 10 || Counter
|-
| main.dll+888C58 || Number of brush strokes on current canvas || Byte || uint_8 || 0 to 31 || Counter
|-
| main.dll+B4DF94 || Current Astral Pouch Fill || 2 Bytes || int_16 || 0 to 200 || [[Food Points]]
|-
| main.dll+B4DF96 || Max Astral Pouch Fill || 2 Bytes || int_16 || 200 to 800 in increments of 200 || [[Food Points]]
|-
| main.dll+B1F207 || Astral Pouch Upgrade Count || Byte || uint_8 || 1 to 4 || Counter
|-
| main.dll+B4DFAC || Godhood || 2 Bytes || int_16 || 0 to 375 in increments of 5 || [[Godhood Points]]
|-
| main.dll+B205E0 || Current Yen || 4 Bytes || uint_32 || 0 to 99999 by default || [[Yen]]
|-
| main.dll+B1CFE4 || Displayed Yen || 4 Bytes || uint_32 || 0 to 99999 by default || [[Yen]]
|-
| main.dll+6B22A8 || Maximum Yen / Purse Size || 4 Bytes *4 || uint_32[4] || 99,999 to 99,999,999 || [[Yen]]
|-
| main.dll+B21758 || Total Yen Earned || 4 Bytes || uint_32 || Typically 0 to 99,000,000 || [[Yen]]
|-
| main.dll+B205E4 || Purse Upgrade Count || Byte || uint_8 || 0 to 3 || Counter
|-
| main.dll+B4DF9A || Current Praise || 2 Bytes || int_16 || 0 to approx. 7,000 || [[Praise]]
|-
| main.dll+B1F1F4 || Praise Upgrade Screen Bar || 2 Bytes || int_16 || 0 to approx. 7,000 || [[Praise]]
|-
| main.dll+B1F1F6 || Praise Injected into Solar Energy Upgrade || 2 Bytes || int_16 || 0 to 300 || [[Praise]]
|-
| main.dll+B1F1F8 || Praise Injected into Astral Pouch Upgrade || 2 Bytes || int_16 || 0 to 400 || [[Praise]]
|-
| main.dll+B1F1FA || Praise Injected into Purse Upgrade || 2 Bytes || int_16 || 0 to 400 || [[Praise]]
|-
| main.dll+B1F1FC || Praise Injected into Ink Upgrade || 2 Bytes || int_16 || 0 to 400 || [[Praise]]
|-
| main.dll+B4DF9C || Total Praise Earned || 2 Bytes || int_16 || 0 to approx. 7,000 || [[Praise]]
|-
| main.dll+B2066E || Current Demon Fangs || 2 Bytes || int_16 || 0 to 500 or so || [[Demon Fangs]]
|-
| main.dll+B2175C || Total Demon Fangs Collected || 2 Bytes || uint_16 || 0 to 500 or so || [[Demon Fangs]]
|-
| main.dll+7A9814 || ID of item to be used in Tools subscreen of the Fan Menu || 2 Bytes || uint_16 || 0x0004 to 0x00CF || [[Item Table]]
|-
| main.dll+9C148E || ID of the string used as the name of items in the Fan Menu and pickup dialogues || 2 Bytes || uint_16 || 0x016A to 0x01F5 || [[String Tables]]
|-
| main.dll+B1F401 || Index offset of first visible item in the Tools and Equipment subscreens of the Fan Menu (used when scrolling up/down) || 1 Byte || uint_8 || 0 to 35 in increments of 5 ||  Index
|-
| main.dll+B1F402 || Column of selected item in the Tools and Equipment subscreens of the Fan Menu || 1 Byte || uint_8 || 0 to 4 || Index
|-
|-
| main.dll+B6B2D0 + 000000A8 + 0 || Ammy X Position/Coordinate || Float || -20,000 to 20,000 || [[Distance]]
| main.dll+B1F403 || Visual row of selected item in the Tools and Equipment subscreens of the Fan Menu (0 corresponds to the top visible row regardless of scrolling) || 1 Byte || uint_8 || 0 to 3 || Index
|-
|-
| main.dll+B6B2D0 + 000000A8 + 4 || Ammy Y Position/Coordinate || Float || -10,000 to 10,000 || [[Distance]]
| main.dll+B2063A || Current Sun Fragment Count || 2 Bytes || int_16 || 0 to 2 || [[Sun Fragments]]
|-
|-
| main.dll+B6B2D0 + 000000A8 + 8 || Ammy Z Position/Coordinate || Float || -20,000 to 20,000 || [[Distance]]
| main.dll+B20630 || Table of Inventory Item Quantities || 2 Bytes *256 || int_16[256] || 0 to 1, 99, 999, or 32767 || [[Item Table]]
|-
|-
| main.dll+B4DF90 || Ammy Current Health/Solar Energy || 2 Bytes || 0 to 900 by default || [[Health]]
| main.dll+890A30 || Usable Brush Techniques || Binary *4 || Bitfield[4] || || [[Bitfield Table#Usable Brush Techniques|Bitfield Table]]
|-
|-
| main.dll+B4DF92 || Ammy Max Health/Solar Energy || 2 Bytes || 900 to 6000 in increments of 300 || [[Health]]
| main.dll+890A38 || Brush Techniques Obtained || Binary *4 || Bitfield[4] || || [[Bitfield Table#Brush Techniques Obtained|Bitfield Table]]
|-
|-
| main.dll+B205E5 || Solar Energy Praise Upgrade Count || Byte || 0 to 12 || Counter
| main.dll+890A4C || Power Slash Upgrade Count || 1 Byte || uint_8 || 1 to 3 || [[Power Slash Upgrades]]
|-
|-
| main.dll+B205D8 || Current Ink Level || 4 Bytes || 0 to 46080 by default || [[Ink]]
| main.dll+892B88 || Maximum Cherry Bomb Count || 4 Bytes || int_32 || 1 to 3 || Counter
|-
|-
| main.dll+B205DD || Ammy Max Ink Level || 4 Bytes || 46080 to 153600 in increments of 15360 || [[Ink]]
| main.dll+B6B240 || Map ID - Affects warped map and displayed overlay map || 2 Bytes || uint_16 || Normally 0x100 to 0xF21 || [[Map Table]]
|-
|-
| main.dll+8928A4 || Target Ink Level when opening Brush || 4 Bytes || 0 to 30720 by default || [[Ink]]
| main.dll+B65E74 || Map ID - Affects warped map only || 2 Bytes || uint_16 || 0x000 in interiors, else 0x100 to 0xF21  || [[Map Table]]
|-
|-
| main.dll+8928A8 || Current Ink Level when opening Brush || 4 Bytes || 0 to 46080 by default || [[Ink]]
| main.dll+B4F0B4 || Map ID - Doesn't affect warped map || 2 Bytes || uint_16 || Normally 0x100 to 0xF21  || [[Map Table]]
|-
|-
| main.dll+B1F208 || Ink Pot Upgrade Count (read only) || Byte || 3 to 10 || Counter
| main.dll+B6B246 || Map ID - Doesn't affect warped map || 2 Bytes || uint_16 || Normally 0x100 to 0xF21  || [[Map Table]]
|-
|-
| main.dll+888C58 || Number of brush strokes on current canvas || Byte || 0 to 31 || Counter
| main.dll+B4DFA0 || Usable Dojo Techniques || Binary *4 || Bitfield[4] || || [[Bitfield Table#Usable Dojo Techniques|Bitfield Table]]
|-
|-
| main.dll+B4DF94 || Current Astral Pouch Fill || 2 Bytes || 0 to 200 || [[Food Points]]
| main.dll+B205E8 || Collection - Stray Beads || Binary *16 || Bitfield[16] || || [[Bitfield Table#Stray Beads|Bitfield Table]]
|-
|-
| main.dll+B4DF96 || Max Astral Pouch Fill || 2 Bytes || 200 to 800 in increments of 200 || [[Food Points]]
| main.dll+B205F8 || Collection - Travel Guides || Binary *4 || Bitfield[4] || || [[Bitfield Table#Travel Guides|Bitfield Table]]
|-
|-
| main.dll+B1F207 || Astral Pouch Upgrade Count (read only) || Byte || 1 to 4 || Counter
| main.dll+B205FC || Collection - Travel Guides Viewed (Not "New!") || Binary *4 || Bitfield[4] || || [[Bitfield Table#Travel Guides Viewed|Bitfield Table]]
|-
|-
| main.dll+B4DFAC || Godhood || 2 Bytes || 0 to 375 in increments of 5 || [[Godhood Points]]
| main.dll+B20600 || Collection - Move List || Binary *4 || Bitfield[4] || || [[Bitfield Table#Move List|Bitfield Table]]
|-
|-
| main.dll+B205E0 || Current Yen || 4 Bytes || 0 to 99999 by default || [[Yen]]
| main.dll+B20604 || Collection - Move List Viewed || Binary *4 || Bitfield[4] || || [[Bitfield Table#Move List Viewed|Bitfield Table]]
|-
|-
| main.dll+B1CFE4 || Displayed Yen || 4 Bytes || 0 to 99999 by default || [[Yen]]
| main.dll+B20608 || Collection - Fish Tome || Binary *8 || Bitfield[8] || || [[Bitfield Table#Fish Tome|Bitfield Table]]
|-
|-
| main.dll+6B22A8 || Maximum Yen / Purse Size At 0 Purse Upgrades || 4 Bytes || 99,999 || [[Yen]]
| main.dll+B20610 || Collection - Fish Tome Viewed || Binary *8 || Bitfield[8] || || [[Bitfield Table#Fish Tome Viewed|Bitfield Table]]
|-
|-
| main.dll+6B22AC || Maximum Yen / Purse Size At 1 Purse Upgrade || 4 Bytes || 999,999 || [[Yen]]
| main.dll+B20618 || Collection - Animal Tome || Binary *4 || Bitfield[4] || || [[Bitfield Table#Animal Tome|Bitfield Table]]
|-
|-
| main.dll+6B22B0 || Maximum Yen / Purse Size At 2 Purse Upgrades || 4 Bytes || 9,999,999 || [[Yen]]
| main.dll+B2061C || Collection - Animal Tome Viewed || Binary *4 || Bitfield[4] || || [[Bitfield Table#Animal Tome Viewed|Bitfield Table]]
|-
|-
| main.dll+6B22B4 || Maximum Yen / Purse Size At 3 Purse Upgrades || 4 Bytes || 99,999,999 || [[Yen]]
| main.dll+B20620 || Collection - Treasure Tome || Binary *8 || Bitfield[8] || || [[Bitfield Table#Treasure Tome|Bitfield Table]]
|-
|-
| main.dll+B21758 || Total Yen Earned || 4 Bytes || Typically 0 to 99,000,000 || [[Yen]]
| main.dll+B20628 || Collection - Treasure Tome Viewed || Binary *8 || Bitfield[8] || || [[Bitfield Table#Treasure Tome Viewed|Bitfield Table]]
|-
|-
| main.dll+B205E4 || Purse Upgrade Count || Byte || 0 to 3 || Counter
| main.dll+B21780 || Item First Time Acquisition Flags || Binary *32 || Bitfield[32] || || [[Bitfield Table#Item First Time Acquisition|Bitfield Table]]
|}
|}

Latest revision as of 15:35, 11 August 2024

Note: This page pertains to Reverse Engineering of Okami.

Explanation

Here you will find an incomplete list of descriptions of memory addresses/locations/structures in Okami, discovered via Reverse Engineering.

Address refers to the path to the location in memory of the given data. These will be of the form dllFile.dll+offset or dllFile.dll+offset + pointerOffset + pointerOffset or similar. Offsets will be given in hexadecimal.

Short Description refers to a brief phrase or sentence which describes the meaning/purpose of the value.

CE Type refers to the way the value located at the given address is interpreted in Cheat Engine. The common types are:

  • Float: A floating point value, representing a fraction/decimal value. Generally used for values which vary continuously. Can take on a very wide range of values, with varying degrees of precision. A float is always 4 bytes in length.
  • (1/2/4/8) Byte(s): An integer value. Sometimes signed (positive or negative) sometimes unsigned (not negative). Can represent countable quantities (e.g. number of a given item in the inventory), addresses of other values, or a wide variety of other things. Sometimes represented in hexadecimal or decimal. Each byte represents 8 adjacent bits (binary on/off values).
  • Array of Bytes: A list of byte values of arbitrary length. Can contain many independently meaningful addresses. Usually listed here to represent a group of related values stored adjacently in memory.
  • String: A list of characters of arbitrary length, usually representing a something like a word, sentence, or filename.
  • Binary: A set of values which are either on/off or true/false. Often used to represent flags, such as whether a certain one-time-only action has been performed. Because addresses can only refer to bytes, and not individual bits, each binary address listed here will represent a group of 8 actual bits/flags. In many cases, not all of the bits in a byte are used (the unused bits always remain at 0). For these values, the description will describe the overall contents of the byte, and the detailed values will be present in the Bitfield Table, linked in the Units/Details column

Code Type refers to the assumed type of the value as it would have been written in the game's C++ source. Some common values are:

  • float: Same as described under CE Types. 4 bytes
  • int_8, int_16, int_32, int_64: Signed integer types of 8, 16, 32, and 64 bits (1, 2, 4, and 8 bytes) respectively
  • uint_8, uint_16, uint_32, uint_64: Unsigned integer types
  • bool: Can only hold the values 0 or 1 (representing false or true, respectively), but takes up 1 byte in memory.
  • char: Represents a single character of ASCII text. 1 byte.
  • string: Same as described under CE Types. An array of chars.
  • bitfield: (aka bitset, flags, etc.) 1 byte of data composed of adjacent bits representing true/false values with individual meanings. Corresponds to "Binary" CE type.
  • struct: A structure composed of a set of values of certain types stored adjacently in memory. For example, a structure containing related data about a chest, including its location (represented as 3 floats) and the ID of its contents (represented using a uint).
  • An array of any of the above types, with the format "type[n]", where n represents the length of the array. e.g. "uint_32[4]" for an array of 4 unsigned 32-bit ints. An array of unknown length would have empty brackets.
  • A pointer to any of the above types, with the format "*type". Note that pointers always take up 8 bytes, regardless of the underlying type.

Range describes, roughly, the range of values stored at the given address. This doesn't generally indicate precise bounds.

Units/Details describes the type of quantity represented by the value and/or contains one or more links to an article which explains the meaning, purpose, and mechanics of that value in greater detail compared to the Short Description.

Table

Address Short Description CE Type Code Type Range Units/Details
main.dll+B217FC In-Game Time at 60 FPS 4 Bytes uint_32 0 to 215,999,940 (999h 59m 59s) Frames
main.dll+B6B2D0 + 000000A8 + 0 Ammy X Position/Coordinate Float float -20,000 to 20,000 Distance
main.dll+B6B2D0 + 000000A8 + 4 Ammy Y Position/Coordinate Float float -10,000 to 10,000 Distance
main.dll+B6B2D0 + 000000A8 + 8 Ammy Z Position/Coordinate Float float -20,000 to 20,000 Distance
main.dll+B4DF90 Ammy Current Health/Solar Energy 2 Bytes int_16 0 to 900 by default Health
main.dll+B4DF92 Ammy Max Health/Solar Energy 2 Bytes int_16 900 to 6000 in increments of 300 Health
main.dll+B205E5 Solar Energy Praise Upgrade Count Byte uint_8 0 to 12 Counter
main.dll+B205D8 Current Ink Level 4 Bytes int_32 0 to 46080 by default Ink
main.dll+B205DC Ammy Max Ink Level 4 Bytes int_32 46080 to 153600 in increments of 15360 Ink
main.dll+8928A4 Target Ink Level when opening Brush 4 Bytes int_32 0 to 30720 by default Ink
main.dll+8928A8 Current Ink Level when opening Brush 4 Bytes int_32 0 to 46080 by default Ink
main.dll+B1F208 Ink Pot Upgrade Count Byte uint_8 3 to 10 Counter
main.dll+888C58 Number of brush strokes on current canvas Byte uint_8 0 to 31 Counter
main.dll+B4DF94 Current Astral Pouch Fill 2 Bytes int_16 0 to 200 Food Points
main.dll+B4DF96 Max Astral Pouch Fill 2 Bytes int_16 200 to 800 in increments of 200 Food Points
main.dll+B1F207 Astral Pouch Upgrade Count Byte uint_8 1 to 4 Counter
main.dll+B4DFAC Godhood 2 Bytes int_16 0 to 375 in increments of 5 Godhood Points
main.dll+B205E0 Current Yen 4 Bytes uint_32 0 to 99999 by default Yen
main.dll+B1CFE4 Displayed Yen 4 Bytes uint_32 0 to 99999 by default Yen
main.dll+6B22A8 Maximum Yen / Purse Size 4 Bytes *4 uint_32[4] 99,999 to 99,999,999 Yen
main.dll+B21758 Total Yen Earned 4 Bytes uint_32 Typically 0 to 99,000,000 Yen
main.dll+B205E4 Purse Upgrade Count Byte uint_8 0 to 3 Counter
main.dll+B4DF9A Current Praise 2 Bytes int_16 0 to approx. 7,000 Praise
main.dll+B1F1F4 Praise Upgrade Screen Bar 2 Bytes int_16 0 to approx. 7,000 Praise
main.dll+B1F1F6 Praise Injected into Solar Energy Upgrade 2 Bytes int_16 0 to 300 Praise
main.dll+B1F1F8 Praise Injected into Astral Pouch Upgrade 2 Bytes int_16 0 to 400 Praise
main.dll+B1F1FA Praise Injected into Purse Upgrade 2 Bytes int_16 0 to 400 Praise
main.dll+B1F1FC Praise Injected into Ink Upgrade 2 Bytes int_16 0 to 400 Praise
main.dll+B4DF9C Total Praise Earned 2 Bytes int_16 0 to approx. 7,000 Praise
main.dll+B2066E Current Demon Fangs 2 Bytes int_16 0 to 500 or so Demon Fangs
main.dll+B2175C Total Demon Fangs Collected 2 Bytes uint_16 0 to 500 or so Demon Fangs
main.dll+7A9814 ID of item to be used in Tools subscreen of the Fan Menu 2 Bytes uint_16 0x0004 to 0x00CF Item Table
main.dll+9C148E ID of the string used as the name of items in the Fan Menu and pickup dialogues 2 Bytes uint_16 0x016A to 0x01F5 String Tables
main.dll+B1F401 Index offset of first visible item in the Tools and Equipment subscreens of the Fan Menu (used when scrolling up/down) 1 Byte uint_8 0 to 35 in increments of 5 Index
main.dll+B1F402 Column of selected item in the Tools and Equipment subscreens of the Fan Menu 1 Byte uint_8 0 to 4 Index
main.dll+B1F403 Visual row of selected item in the Tools and Equipment subscreens of the Fan Menu (0 corresponds to the top visible row regardless of scrolling) 1 Byte uint_8 0 to 3 Index
main.dll+B2063A Current Sun Fragment Count 2 Bytes int_16 0 to 2 Sun Fragments
main.dll+B20630 Table of Inventory Item Quantities 2 Bytes *256 int_16[256] 0 to 1, 99, 999, or 32767 Item Table
main.dll+890A30 Usable Brush Techniques Binary *4 Bitfield[4] Bitfield Table
main.dll+890A38 Brush Techniques Obtained Binary *4 Bitfield[4] Bitfield Table
main.dll+890A4C Power Slash Upgrade Count 1 Byte uint_8 1 to 3 Power Slash Upgrades
main.dll+892B88 Maximum Cherry Bomb Count 4 Bytes int_32 1 to 3 Counter
main.dll+B6B240 Map ID - Affects warped map and displayed overlay map 2 Bytes uint_16 Normally 0x100 to 0xF21 Map Table
main.dll+B65E74 Map ID - Affects warped map only 2 Bytes uint_16 0x000 in interiors, else 0x100 to 0xF21 Map Table
main.dll+B4F0B4 Map ID - Doesn't affect warped map 2 Bytes uint_16 Normally 0x100 to 0xF21 Map Table
main.dll+B6B246 Map ID - Doesn't affect warped map 2 Bytes uint_16 Normally 0x100 to 0xF21 Map Table
main.dll+B4DFA0 Usable Dojo Techniques Binary *4 Bitfield[4] Bitfield Table
main.dll+B205E8 Collection - Stray Beads Binary *16 Bitfield[16] Bitfield Table
main.dll+B205F8 Collection - Travel Guides Binary *4 Bitfield[4] Bitfield Table
main.dll+B205FC Collection - Travel Guides Viewed (Not "New!") Binary *4 Bitfield[4] Bitfield Table
main.dll+B20600 Collection - Move List Binary *4 Bitfield[4] Bitfield Table
main.dll+B20604 Collection - Move List Viewed Binary *4 Bitfield[4] Bitfield Table
main.dll+B20608 Collection - Fish Tome Binary *8 Bitfield[8] Bitfield Table
main.dll+B20610 Collection - Fish Tome Viewed Binary *8 Bitfield[8] Bitfield Table
main.dll+B20618 Collection - Animal Tome Binary *4 Bitfield[4] Bitfield Table
main.dll+B2061C Collection - Animal Tome Viewed Binary *4 Bitfield[4] Bitfield Table
main.dll+B20620 Collection - Treasure Tome Binary *8 Bitfield[8] Bitfield Table
main.dll+B20628 Collection - Treasure Tome Viewed Binary *8 Bitfield[8] Bitfield Table
main.dll+B21780 Item First Time Acquisition Flags Binary *32 Bitfield[32] Bitfield Table