mirror of
https://github.com/zeldaret/ph
synced 2026-05-30 08:56:32 -04:00
Update docs
This commit is contained in:
+12
-96
@@ -1,7 +1,6 @@
|
||||
# Actors
|
||||
This file documents what is known about actors in the game.
|
||||
- [Actor IDs](#actor-ids)
|
||||
- [Link states](#link-states)
|
||||
|
||||
## Actor IDs
|
||||
Many actors have a 4-character ID associated with it. This table shows all known IDs and their respective meanings or
|
||||
@@ -11,98 +10,15 @@ translations. Feel free to contribute to this list!
|
||||
> These IDs will appear in memory in reverse order. This is because allocation IDs are often interpreted as 32-bit integers,
|
||||
> and integers are stored in little-endian which effectively "reverses" the character order.
|
||||
|
||||
ID | Translation | Meaning
|
||||
-------|-------------|---------
|
||||
`NAVI` | Navi | Spirit of Courage (Ciela)
|
||||
`FCNV` | Force Navi | Spirit of Power (Leaf)
|
||||
`WSNV` | Wisdom Navi | Spirit of Wisdom (Neri)
|
||||
|
||||
## Link states
|
||||
Link's states are organized in a hierarchical structure. Similar to actor IDs, states are labelled by 4-character IDs. In
|
||||
addition, the states have names in Japanese.
|
||||
|
||||
> [!NOTE]
|
||||
> The hierarchy and Japanese names were likely used for debugging and may have no meaning in the actual game engine.
|
||||
|
||||
- `PLYR`: Player
|
||||
- `PLNK`: Link motion (リンクモーション)
|
||||
- `LGNR`: General (全般)
|
||||
- `LWIT`: Wait (ウェイト)
|
||||
- `LMOV`: Move (移動)
|
||||
- `LROL`: Roll (前転)
|
||||
- `LAJP`: Auto-jump (オートジャンプ)
|
||||
- `LATK`: Attack (剣振り)
|
||||
- `LVAT`: Vertical attack (縦切り)
|
||||
- `LLAT`: Horizontal attack (横切り)
|
||||
- `LSAT`: Stab attack (突き)
|
||||
- `LTAT`: Spin attack (回転切り)
|
||||
- `LARB`: Recoil (反動)
|
||||
- `LJAT`: Jump attack (ジャンプ切り)
|
||||
- `LDFC`: Defence (防御)
|
||||
- `LDMG`: Damage (ダメージ)
|
||||
- `LGRB`: Grab (持ち上げ)
|
||||
- `LPSH`: Push/pull (押し引き)
|
||||
- `LIGT`: Item get (アイテムゲット)
|
||||
- `LNAV`: Navi (精霊)
|
||||
- `LBOW`: Bow (弓矢)
|
||||
- `LBMR`: Boomerang (ブーメラン)
|
||||
- `LHMR`: Hammer (ハンマー)
|
||||
- `LROP`: Rope (ロープ)
|
||||
- `LSCP`: Scoop (スコップ)
|
||||
- `LOIT`: Other item (他のアイテム)
|
||||
- `LABN`: Abnormal state (状態異常)
|
||||
- `LLOT`: Other (その他)
|
||||
- `PTMP`: Temporary (一時調整)
|
||||
- `PEFT`: Effect (エフェクト)
|
||||
|
||||
The states can also be found in `Player/motion.bhio` in the assets. The file appears to contain configurable properties for
|
||||
some of the states. The properties are labelled with up to 12 bytes (6 characters) of Japanese text, causing some labels to be cut off.
|
||||
|
||||
State | Property | Type | Value | Japanese
|
||||
-------|--------------------------|---------|-------|----------
|
||||
`LGNR` | Shadow darkness | `int` | 26 | 影の濃さ
|
||||
`LGNR` | Model type | `int` | 2 | モデルタイプ
|
||||
`LGNR` | Semi-transparent model | `int` | 11 | 半透明モデル
|
||||
`LGNR` | Semi-transparent R | `int` | 31 | 半透明R
|
||||
`LGNR` | Semi-transparent G | `int` | 31 | 半透明G
|
||||
`LGNR` | Semi-transparent B | `int` | 31 | 半透明B
|
||||
`LGNR` | Area change | `int` | 15 | エリア替えフ
|
||||
`LGNR` | Stairway fade | `int` | 10 | 階段フェード
|
||||
`LGNR` | Other ho... | `int` | 13 | その他フェー
|
||||
`LGNR` | Area movement o... | `20.12` | 1.9 | エリア移動オ
|
||||
`LDMG` | Damage tie... | `int` | 0 | ダメージタイ
|
||||
`LDMG` | Small damage speed | `20.12` | 2.0 | 小ダメ再生速
|
||||
`LDMG` | Small damage start frame | `20.12` | 0.0 | 小ダメ開始フ
|
||||
`LDMG` | Small damage end frame | `20.12` | 10.0 | 小ダメ終了フ
|
||||
`LDMG` | ??? | `int` | 6 | ビリビリ回数
|
||||
`LDMG` | ??? | `20.12` | 1.0 | ビリビリ再生
|
||||
`LDMG` | ??? | `20.12` | 1.23 | 吹き上げ高さ
|
||||
`LDMG` | ??? | `20.12` | 0.2 | 吹き上げふっ
|
||||
`LDMG` | ??? | `20.12` | 0.2 | フリック跳び
|
||||
`LDMG` | Ice damage? | `int` | 60 | 凍りダメージ
|
||||
`LGRB` | Grab speed | `20.12` | 1.6 | 持ち上げ再生
|
||||
`LGRB` | Grab start | `20.12` | 2.0 | 持ち上げ開始
|
||||
`LGRB` | Grab end | `20.12` | 10.0 | 持ち上げ終了
|
||||
`LGRB` | Throw speed | `20.12` | 1.0 | 投げ再生速度
|
||||
`LGRB` | Throw start frame | `20.12` | 0.0 | 投げ開始フレ
|
||||
`LGRB` | Throw end frame | `20.12` | 15.0 | 投げ終了フレ
|
||||
`LGRB` | Throw frame | `20.12` | 2.0 | 投げ離れフレ
|
||||
`LPSH` | Stop time | `int` | 3 | 停止時間
|
||||
`LPSH` | Direct push | `20.12` | 0.5 | ダイレクトプ
|
||||
`LIGT` | X-offset | `20.12` | 0.368 | オフセットX
|
||||
`LIGT` | Y-offset | `20.12` | 1.323 | オフセットY
|
||||
`LIGT` | Z-offset | `20.12` | 0.05 | オフセットZ
|
||||
`LIGT` | Rotation speed | `20.12` | 0.066 | 回転速度
|
||||
`LROP` | Rope width | `20.12` | 0.12 | ロープ幅
|
||||
`LROP` | Texture... | `20.12` | 30.0 | テクスチャリ
|
||||
`LROP` | High jump | `20.12` | 0.54 | ハイジャンプ
|
||||
`LROP` | Lean depth? | `20.12` | 0.6 | 寄りかかり深
|
||||
`LLOT` | Breath start frame | `20.12` | 0.0 | 息吹き開始フ
|
||||
`LLOT` | Breath end frame | `20.12` | 10.0 | 息吹き終了フ
|
||||
`LLOT` | Walk offset | `20.12` | 1.1 | 歩きオフセッ
|
||||
`LLOT` | Run offset | `20.12` | 1.7 | 走りオフセッ
|
||||
`LLOT` | Stairway offset | `20.12` | 1.0 | 階段オフセッ
|
||||
`LLOT` | Player ... | `20.12` | 0.01 | プレイヤー消
|
||||
`LLOT` | Warp ho... | `int` | 55 | ワープフェー
|
||||
`LLOT` | Player ... | `int` | 10 | プレイヤー半
|
||||
`LLOT` | Warp rise | `20.12` | 0.03 | ワープ浮き上
|
||||
ID | Translation | Meaning
|
||||
-------|--------------|---------
|
||||
`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
|
||||
`AMOS` | Armos
|
||||
`CHUC` | Chuchu
|
||||
`PLDM` | Player Dummy | Placeholder for switching between Gongoron/Link
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
# Assets
|
||||
This file documents the purpose of various asset files in the game.
|
||||
- [`/Player`](#player)
|
||||
|
||||
## `/Player`
|
||||
- [`item.bin` and `item.nsbtx`](#itembin-and-itemnsbtx)
|
||||
- [`obj.bin` and `obj.nsbtx`](#objbin-and-objnsbtx)
|
||||
|
||||
### `item.bin` and `item.nsbtx`
|
||||
These files contains models, textures and animations for Link's equipment items.
|
||||
|
||||
The items consist of arrow, headless arrow, bomb, bombchu, bombchu destination, bow, hammer, red potion, purple potion, yellow
|
||||
potion, grapple hook, shovel, wooden shield, Oshus's sword and the phantom sword.
|
||||
|
||||
`item.bin` is compressed and contains three files:
|
||||
- `item.nsbca`: Joint animations
|
||||
- Hammer idle/swing
|
||||
- Shield block
|
||||
- `item.nsbma`: Unknown
|
||||
- `item.nsbmd`: Models
|
||||
|
||||
Lastly, `item.nsbtx` contains textures.
|
||||
|
||||
These files are loaded by `ItemModelLoader` and are stored in `ItemManager` in the field `mItemModels`.
|
||||
|
||||
### `obj.bin` and `obj.nsbtx`
|
||||
These files contains models, textures and animations for dungeon items.
|
||||
|
||||
The items consist of boss key, force gems, circle crystal, square crystal and triangle crystal.
|
||||
|
||||
`obj.bin` is compressed and contains two files:
|
||||
- `obj.nsbmd`: Models
|
||||
- `obj.nsbtp`: Material animations
|
||||
- Force gem colors
|
||||
|
||||
Lastly, `obj.nsbtx` contains textures.
|
||||
|
||||
These files are loaded by `ItemModelLoader` and are stored in `ItemManager` in the field `mDungeonItemModels`.
|
||||
+108
@@ -0,0 +1,108 @@
|
||||
# Link
|
||||
This file documents technical information about Link.
|
||||
- [States](#states)
|
||||
- [State hierarchy](#state-hierarchy)
|
||||
|
||||
## State handlers
|
||||
State handlers contain data and functions to process Link's state. Only one state handler is active at a time, but data can be
|
||||
shared outside of the active state handler.
|
||||
|
||||
Index | Name | Description
|
||||
-------|---------------|-------------
|
||||
0 | `LinkMove` | Handles Link's movement.
|
||||
1 | `LinkItem` | Handles item usage.
|
||||
2 | `LinkGrab` | Handles grabbing objects.
|
||||
3 | `LinkState3` | Unknown
|
||||
4 | `LinkState4` | Unknown
|
||||
5 | `LinkDamage` | Handles receiving damage.
|
||||
6 | `LinkItemGet` | Handles getting items.
|
||||
|
||||
## State hierarchy
|
||||
Link's states are organized in a hierarchical structure. Similar to actor IDs, states are labelled by 4-character IDs. In
|
||||
addition, the states have names in Japanese.
|
||||
|
||||
> [!NOTE]
|
||||
> The hierarchy and Japanese names were likely used for debugging and may have no meaning in the actual game engine.
|
||||
|
||||
- `PLYR`: Player
|
||||
- `PLNK`: Link motion (リンクモーション)
|
||||
- `LGNR`: General (全般)
|
||||
- `LWIT`: Wait (ウェイト)
|
||||
- `LMOV`: Move (移動)
|
||||
- `LROL`: Roll (前転)
|
||||
- `LAJP`: Auto-jump (オートジャンプ)
|
||||
- `LATK`: Attack (剣振り)
|
||||
- `LVAT`: Vertical attack (縦切り)
|
||||
- `LLAT`: Horizontal attack (横切り)
|
||||
- `LSAT`: Stab attack (突き)
|
||||
- `LTAT`: Spin attack (回転切り)
|
||||
- `LARB`: Recoil (反動)
|
||||
- `LJAT`: Jump attack (ジャンプ切り)
|
||||
- `LDFC`: Defence (防御)
|
||||
- `LDMG`: Damage (ダメージ)
|
||||
- `LGRB`: Grab (持ち上げ)
|
||||
- `LPSH`: Push/pull (押し引き)
|
||||
- `LIGT`: Item get (アイテムゲット)
|
||||
- `LNAV`: Navi (精霊)
|
||||
- `LBOW`: Bow (弓矢)
|
||||
- `LBMR`: Boomerang (ブーメラン)
|
||||
- `LHMR`: Hammer (ハンマー)
|
||||
- `LROP`: Rope (ロープ)
|
||||
- `LSCP`: Scoop (スコップ)
|
||||
- `LOIT`: Other item (他のアイテム)
|
||||
- `LABN`: Abnormal state (状態異常)
|
||||
- `LLOT`: Other (その他)
|
||||
- `PTMP`: Temporary (一時調整)
|
||||
- `PEFT`: Effect (エフェクト)
|
||||
|
||||
The states can also be found in `Player/motion.bhio` in the assets. The file appears to contain configurable properties for
|
||||
some of the states. The properties are labelled with up to 12 bytes (6 characters) of Japanese text, causing some labels to be cut off.
|
||||
|
||||
State | Property | Type | Value | Japanese
|
||||
-------|--------------------------|---------|-------|----------
|
||||
`LGNR` | Shadow darkness | `int` | 26 | 影の濃さ
|
||||
`LGNR` | Model type | `int` | 2 | モデルタイプ
|
||||
`LGNR` | Semi-transparent model | `int` | 11 | 半透明モデル
|
||||
`LGNR` | Semi-transparent R | `int` | 31 | 半透明R
|
||||
`LGNR` | Semi-transparent G | `int` | 31 | 半透明G
|
||||
`LGNR` | Semi-transparent B | `int` | 31 | 半透明B
|
||||
`LGNR` | Area change | `int` | 15 | エリア替えフ
|
||||
`LGNR` | Stairway fade | `int` | 10 | 階段フェード
|
||||
`LGNR` | Other ho... | `int` | 13 | その他フェー
|
||||
`LGNR` | Area movement offset | `20.12` | 1.9 | エリア移動オ
|
||||
`LDMG` | Damage tie... | `int` | 0 | ダメージタイ
|
||||
`LDMG` | Small damage speed | `20.12` | 2.0 | 小ダメ再生速
|
||||
`LDMG` | Small damage start frame | `20.12` | 0.0 | 小ダメ開始フ
|
||||
`LDMG` | Small damage end frame | `20.12` | 10.0 | 小ダメ終了フ
|
||||
`LDMG` | ??? | `int` | 6 | ビリビリ回数
|
||||
`LDMG` | ??? | `20.12` | 1.0 | ビリビリ再生
|
||||
`LDMG` | ??? | `20.12` | 1.23 | 吹き上げ高さ
|
||||
`LDMG` | ??? | `20.12` | 0.2 | 吹き上げふっ
|
||||
`LDMG` | ??? | `20.12` | 0.2 | フリック跳び
|
||||
`LDMG` | Ice damage? | `int` | 60 | 凍りダメージ
|
||||
`LGRB` | Grab speed | `20.12` | 1.6 | 持ち上げ再生
|
||||
`LGRB` | Grab start | `20.12` | 2.0 | 持ち上げ開始
|
||||
`LGRB` | Grab end | `20.12` | 10.0 | 持ち上げ終了
|
||||
`LGRB` | Throw speed | `20.12` | 1.0 | 投げ再生速度
|
||||
`LGRB` | Throw start frame | `20.12` | 0.0 | 投げ開始フレ
|
||||
`LGRB` | Throw end frame | `20.12` | 15.0 | 投げ終了フレ
|
||||
`LGRB` | Throw frame | `20.12` | 2.0 | 投げ離れフレ
|
||||
`LPSH` | Stop time | `int` | 3 | 停止時間
|
||||
`LPSH` | Direct push | `20.12` | 0.5 | ダイレクトプ
|
||||
`LIGT` | X-offset | `20.12` | 0.368 | オフセットX
|
||||
`LIGT` | Y-offset | `20.12` | 1.323 | オフセットY
|
||||
`LIGT` | Z-offset | `20.12` | 0.05 | オフセットZ
|
||||
`LIGT` | Rotation speed | `20.12` | 0.066 | 回転速度
|
||||
`LROP` | Rope width | `20.12` | 0.12 | ロープ幅
|
||||
`LROP` | Texture... | `20.12` | 30.0 | テクスチャリ
|
||||
`LROP` | High jump | `20.12` | 0.54 | ハイジャンプ
|
||||
`LROP` | Lean depth? | `20.12` | 0.6 | 寄りかかり深
|
||||
`LLOT` | Breath start frame | `20.12` | 0.0 | 息吹き開始フ
|
||||
`LLOT` | Breath end frame | `20.12` | 10.0 | 息吹き終了フ
|
||||
`LLOT` | Walk offset | `20.12` | 1.1 | 歩きオフセッ
|
||||
`LLOT` | Run offset | `20.12` | 1.7 | 走りオフセッ
|
||||
`LLOT` | Stairway offset | `20.12` | 1.0 | 階段オフセッ
|
||||
`LLOT` | Player ... | `20.12` | 0.01 | プレイヤー消
|
||||
`LLOT` | Warp ho... | `int` | 55 | ワープフェー
|
||||
`LLOT` | Player ... | `int` | 10 | プレイヤー半
|
||||
`LLOT` | Warp rise | `20.12` | 0.03 | ワープ浮き上
|
||||
Reference in New Issue
Block a user