summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorAetiasHax <144526980+AetiasHax@users.noreply.github.com>2024-04-14 13:59:57 +0200
committerGitHub <noreply@github.com>2024-04-14 13:59:57 +0200
commit9ac440e5ec100de026204c49aae118bdc79a5349 (patch)
tree3b839fa08281c0e23b623ab00574dd9106ef347e /docs
parentd4493f49bc72991cf5df2a72f386f04638159958 (diff)
parent35c6652f33678d802acb93633fb77c3edd1bce18 (diff)
Merge pull request #24 from AetiasHax/actor
Delink `Actor` and `ActorManager`, update docs
Diffstat (limited to 'docs')
-rw-r--r--docs/actors.md79
-rw-r--r--docs/decompiling.md6
-rw-r--r--docs/inline_assembler.md4
-rw-r--r--docs/items.md156
-rw-r--r--docs/overlays.md24
5 files changed, 106 insertions, 163 deletions
diff --git a/docs/actors.md b/docs/actors.md
index d26bbb6e..6b47718c 100644
--- a/docs/actors.md
+++ b/docs/actors.md
@@ -12,15 +12,20 @@ translations. Feel free to contribute to this list!
ID | Translation | Meaning
-------|--------------|---------
+`SWOB`
+`EVIC`
`NAVI` | Navi | Spirit of Courage (Ciela)
`FCNV` | Force Navi | Spirit of Power (Leaf)
`WSNV` | Wisdom Navi | Spirit of Wisdom (Neri)
-`RUPY` | Rupee
-`HART` | Heart
-`BOMB` | Bomb
-`ARRW` | Arrow
+`ACOB`
+`EFWV` | Effect Wave?
+`EFRP` | Effect Ripple?
+`EFRL`
+`LOND`
+`FMSG` | F Message?
+`NMSG` | N Message?
+`CMSG` | C Message?
`TMAP` | Treasure Map
-`NKEY` | Small Key
`DGTG` | | Diggable spot
`ITBT` | | 10 Bombchus shop item
`ITBM` | | 10 Bombs shop item
@@ -32,15 +37,67 @@ translations. Feel free to contribute to this list!
`ITSR` | | Courage (green) gem shop item
`ITSL` | | Shield shop item
`ITSO` | | Sold out sign in shop
-`AMOS` | Armos
-`CHUC` | Chuchu
-`LKLK` | Like Like
-`BMOS` | Beamos
+`BTCH`
+`BTRF`
+`BTDC`
+`HART` | Heart
+`RUPY` | Rupee
+`BOMB` | Bomb
+`ARRW` | Arrow
`PLDM` | Player Dummy | Placeholder for switching between Gongoron/Link
-`LNBK` | Linebeck
+`PSBL` | Push Block
`WBLK` | Wind Block | The blocks in the Wind Temple that blow air
`DRUM` | Drum | Storage drum on the Ghost Ship
+`NKEY` | Small Key
+`WBSS`
+`MLDW` | Sandworm
+`FBSS`
+`FBS1`
+`VLRG`
+`TEKT` | Tektite
+`PLSV` | Pols Voice
+`YETI` | Yook
+`HPLP`
+`HLMK`
+`AMOS` | Armos
+`HNKS`
+`PMET`
+`STLF` | Stalfos
+`STLP`
+`STLW` | Stalfos Warrior
+`STLH`
+`CBS0`
+`EGST`
+`SPDR`
+`WTCR`
+`GO1M`
+`CHUC` | ChuChu
+`ICHC`
+`GELL` | Gel
+`BEE0` | Bee
+`BEEH` | Bee Hive
+`ICHH`
+`POON`
+`FLTB`
`KOKO` | Cucco
+`GROK`
+`RYDM`
+`WSBS`
+`WSBH`
+`KMDB`
+`PBZK`
+`SNAK` | Rope | The purple snake enemy
+`RAT1`
+`OCTA` | Octorok
+`KETH` | Keese
+`RAT0` | Rat
+`FSHM`
+`BBLE` | Bubble?
+`BMOS` | Beamos
+`TAIL`
+`LKLK` | Like Like
+`CROW` | Crow | Bird that steals rupees
+`FIRS`
+`LNBK` | Linebeck
`POST` | Mailbox
`PSTM` | Postman
-`CROW` | Crow | Bird that steals rupees
diff --git a/docs/decompiling.md b/docs/decompiling.md
index 74c3125e..34333d77 100644
--- a/docs/decompiling.md
+++ b/docs/decompiling.md
@@ -36,6 +36,6 @@ _0211bf50: .word data_ov09_0211f59c
project.
## The Ghidra project
-We use a shared Ghidra project to analyze the game and decompile functions. We can't give access to the Ghidra server just yet,
-so come back here later for instructions on how to access it.
-
+We use a shared Ghidra project to analyze the game and decompile functions. To gain access to the project, install
+[Ghidra version 10.2.3](https://github.com/NationalSecurityAgency/ghidra/releases/tag/Ghidra_10.2.3_build) and request access
+from @aetias on Discord. \ No newline at end of file
diff --git a/docs/inline_assembler.md b/docs/inline_assembler.md
index 80957121..a6489998 100644
--- a/docs/inline_assembler.md
+++ b/docs/inline_assembler.md
@@ -25,8 +25,8 @@ bx lr
The built-in `ldconst` instruction will be replaced by an ARM load instruction and also append a pool constant to the function.
### Data sections
-Directives such as `.section`, `.data` and `.bss` are not supported in the inline assembler. There might be a way to change
-section with a `#pragma`, but there's no need to. Data should only be defined in standalone assembly or C/C++.
+Directives such as `.section`, `.data` and `.bss` are not supported in the inline assembler. It's possible to change section
+with a `#pragma`, but there's no need to. Data should only be defined in standalone assembly or C/C++.
### Comments
Inline assembly is handled by the compiler, so comments must be in C/C++ format. This means using `//` and `/* */` instead of
diff --git a/docs/items.md b/docs/items.md
index e551c6f9..d4192f23 100644
--- a/docs/items.md
+++ b/docs/items.md
@@ -1,141 +1,27 @@
# Items
This file documents what is known about items in the game.
- [Item IDs](#item-ids)
+- [Item flags](#item-flags)
## Item IDs
-Might be inaccurate due to there being seemingly multiple IDs/enumerations for items. Feel free to contribute to this list!
+See [Item.hpp](/include/Item/Item.hpp) for a list of known item IDs. Feel free to contribute to the list!
- ID | Item
--------|----------------
-`0x00` | Key
-`0x01` | Key
-`0x02` | Big Green Rupee
-`0x03` | Oshus's Sword
-`0x04` | Shield
-`0x05` | ---
-`0x06` | Yellow Force Gem
-`0x07` | Bomb
-`0x08` | Bow
-`0x09` | Green Rupee
-`0x0a` | Heart
-`0x0b` | ---
-`0x0c` | Boomerang
-`0x0d` | Shovel
-`0x0e` | Bombchu
-`0x0f` | Boss Key
-`0x10` | `rev`
-`0x11` | ---
-`0x12` | ---
-`0x13` | Sea Chart
-`0x14` | Sea Chart
-`0x15` | Sea Chart
-`0x16` | Sea Chart
-`0x17` | ---
-`0x18` | Blue Rupee
-`0x19` | Red Rupee
-`0x1a` | Big Red Rupee
-`0x1b` | Gold Rupee
-`0x1c` | Yellow Force Gem
-`0x1d` | Red Force Gem
-`0x1e` | Blue Force Gem
-`0x1f` | Hammer
-`0x20` | Grapple Hook
-`0x21` | Square Crystal
-`0x22` | Round Crystal
-`0x23` | Triangle Crystal
-`0x24` | `fp`
-`0x25` | ---
-`0x26` | Sun Key
-`0x27` | ---
-`0x28` | Quiver
-`0x29` | Bomb Bag
-`0x2a` | Bombchu Bag
-`0x2b` | ---
-`0x2c` | King's Key
-`0x2d` | Power Gem
-`0x2e` | Wisdom Gem
-`0x2f` | Courage Gem
-`0x30` | ---
-`0x31` | ---
-`0x32` | ---
-`0x33` | ---
-`0x34` | ---
-`0x35` | ---
-`0x36` | ---
-`0x37` | ---
-`0x38` | Ghost Key
-`0x39` | `tic_tada`
-`0x3a` | `tic_ohome`
-`0x3b` | `tic_rare`
-`0x3c` | `neckl`
-`0x3d` | Salvage Arm
-`0x3e` | ---
-`0x3f` | Telescope
-`0x40` | Notebook
-`0x41` | Letter
-`0x42` | Card
-`0x43` | `marron`
-`0x44` | Phantom Blade
-`0x45` | ---
-`0x46` | ---
-`0x47` | ---
-`0x48` | ---
-`0x49` | ---
-`0x4a` | ---
-`0x4b` | ---
-`0x4c` | ---
-`0x4d` | ---
-`0x4e` | ---
-`0x4f` | ---
-`0x50` | ---
-`0x51` | ---
-`0x52` | ---
-`0x53` | ---
-`0x54` | ---
-`0x55` | ---
-`0x56` | ---
-`0x57` | ---
-`0x58` | ---
-`0x59` | ---
-`0x5a` | ---
-`0x5b` | ---
-`0x5c` | ---
-`0x5d` | ---
-`0x5e` | ---
-`0x5f` | ---
-`0x60` | ---
-`0x61` | ---
-`0x62` | ---
-`0x63` | ---
-`0x64` | ---
-`0x65` | ---
-`0x66` | ---
-`0x67` | ---
-`0x68` | ---
-`0x69` | ---
-`0x6a` | ---
-`0x6b` | ---
-`0x6c` | ---
-`0x6d` | ---
-`0x6e` | ---
-`0x6f` | ---
-`0x70` | ---
-`0x71` | ---
-`0x72` | ---
-`0x73` | ---
-`0x74` | ---
-`0x75` | ---
-`0x76` | ---
-`0x77` | ---
-`0x78` | ---
-`0x79` | ---
-`0x7a` | ---
-`0x7b` | ---
-`0x7c` | ---
-`0x7d` | ---
-`0x7e` | ---
-`0x7f` | ---
-`0x80` | ---
-`0x81` | ---
-`0x82` | ---
-`0x83` | ---
+## Item flags
+See [Item.hpp](/include/Item/Item.hpp) for a list of known item flags. Feel free to contribute to the list!
+
+The item flags are different from item IDs, as the flags are used as an index to the `mItemFlags` in the [`ItemManager`](/include/Item/ItemManager.hpp)
+class.
+
+Interestingly, flags 0 through 10 are also the IDs of equipment items:
+
+0. Sword
+1. Shield
+2. Boomerang
+3. Shovel
+4. Bomb Bag
+5. Bow
+6. Grappling Hook
+7. Bombchu Bag
+8. Hammer
+9. Potion A
+10. Potion B
diff --git a/docs/overlays.md b/docs/overlays.md
index f6dbd67f..560ff21a 100644
--- a/docs/overlays.md
+++ b/docs/overlays.md
@@ -23,9 +23,9 @@ contribute to this list!
`16` | --- | - |
`17` | --- | 5 |
`18` | --- | 5 |
-`19` | --- | - |
-`20` | --- | - |
-`21` | --- | - |
+`19` | --- | 6 |
+`20` | --- | 6 |
+`21` | --- | 6 |
`22` | --- | 6 |
`23` | --- | 6 |
`24` | --- | - |
@@ -47,23 +47,23 @@ contribute to this list!
`40` | --- | 7 |
`41` | --- | 8 |
`42` | --- | - |
-`43` | --- | - |
+`43` | --- | 8 |
`44` | --- | 8 |
`45` | --- | 8 |
`46` | --- | 9 |
-`47` | --- | - |
+`47` | --- | 9 |
`48` | --- | 9 |
`49` | --- | 9 |
`50` | --- | 10 |
`51` | --- | 10 |
`52` | --- | 10 |
-`53` | PlayerBoomerang | 11 | Handles the boomerang.
-`54` | PlayerScoop | 11 | Handles the shovel.
-`55` | PlayerBomb | 11 | Handles bombs and potions.
-`56` | PlayerBow | 11 | Handles the bow.
-`57` | PlayerRope | 11 | Handles the grappling hook.
-`58` | PlayerBombchu | 11 | Handles bombchus.
-`59` | PlayerHammer | 11 | Handles the hammer.
+`53` | Boomerang | 11 | Handles the boomerang.
+`54` | Scoop | 11 | Handles the shovel.
+`55` | Bomb | 11 | Handles bombs and potions.
+`56` | Bow | 11 | Handles the bow.
+`57` | Rope | 11 | Handles the grappling hook.
+`58` | Bombchu | 11 | Handles bombchus.
+`59` | Hammer | 11 | Handles the hammer.
`60` | --- | 12 |
`61` | --- | 12 |