summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorAnghelo Carvajal <angheloalf95@gmail.com>2021-09-13 11:29:46 -0300
committerGitHub <noreply@github.com>2021-09-13 10:29:46 -0400
commit4d051c0fa036d245027a211bc7fd6a4afdce207f (patch)
treeeb1697990e40e60343971b777cbfe99c6eee548c /docs
parent90662f3cbade844c8edc3943ab8252e334b6166a (diff)
ZRoom cleaning 3 (#140)
* Remove redundant scene member * altheaders clean * it is broken and I don't know why * fix VTXs * Fix the stuff I broke in SetRoomList * Add RoomAltHeader and SceneAltHeader * fix syotes again and set the size of each ZRoomCommand * Add SCENE_CMD_UNK_09 todo * Nuke HintSystem * run format * Remove `canHaveInner` from ZRoom since the HintSystem doesn't exists anymore * Remove sourceOutput member from ZResource * Update docs * run format * Add non 64-bits aligned textures warning * remove unused json library * Update SCENE_CMD_UNK_09 * Fix merge issues * run format * Clean up actorlist output * Fix merge conflicts * format * Fix actorlist extraction * Unify AltHeader * fix merge conflicts * Run formatter * minor style changes * fix using wrong symbols for extracted vtxs from overlays * format * fix makefile stuff * fix merge issue
Diffstat (limited to 'docs')
-rw-r--r--docs/zapd_extraction_xml_reference.md61
1 files changed, 58 insertions, 3 deletions
diff --git a/docs/zapd_extraction_xml_reference.md b/docs/zapd_extraction_xml_reference.md
index 9d84525..e27e8bc 100644
--- a/docs/zapd_extraction_xml_reference.md
+++ b/docs/zapd_extraction_xml_reference.md
@@ -14,6 +14,7 @@ This document aims to be a small reference of how to create a compatible xml fil
- [Blob](#blob)
- [DList](#dlist)
- [Scene and Room](#scene-and-room)
+ - [AltHeader](#altheader)
- [Animation](#animation)
- [PlayerAnimation](#playeranimation)
- [CurveAnimation](#curveanimation)
@@ -42,7 +43,7 @@ An example of an object xml:
<Animation Name="gJabuJabuAnim" Offset="0x1F4C"/>
<Skeleton Name="gJabuJabuSkel" Type="Flex" LimbType="Standard" Offset="0xB9A8"/>
-
+
<!-- Jabu Jabu eye textures -->
<Texture Name="gJabuJabuEyeOpenTex" OutName="jabu_jabu_eye_open" Format="rgba16" Width="16" Height="32" Offset="0x7698"/>
<Texture Name="gJabuJabuEyeHalfTex" OutName="jabu_jabu_eye_half" Format="rgba16" Width="16" Height="32" Offset="0x7A98"/>
@@ -129,7 +130,7 @@ The following is a list of the texture formats the Nintendo 64 supports, with th
| 16-bit red, green, blue, alpha (RGBA) (5/5/5/1) | `G_IM_FMT_RGBA, G_IM_SIZ_16b` | `rgba16` |
| 16-bit IA (8/8) | `G_IM_FMT_IA, G_IM_SIZ_16b` | `ia16` |
| 16-bit YUV (Luminance, Blue-Y, Red-Y) | `G_IM_FMT_YUV, G_IM_SIZ_16b` | (not used) |
-| 32-bit RGBA (8/8/8/8) | `G_IM_FMT_RGBA, G_IM_SIZ_32b` | `rgba8` |
+| 32-bit RGBA (8/8/8/8) | `G_IM_FMT_RGBA, G_IM_SIZ_32b` | `rgba32` |
If you want to know more about this formats, you can check [`gsDPLoadTextureBlock`](http://n64devkit.square7.ch/n64man/gdp/gDPLoadTextureBlock.htm) for most formats, or [`gDPLoadTextureBlock_4b`](http://n64devkit.square7.ch/n64man/gdp/gDPLoadTextureBlock_4b.htm) for the 4-bit formats.
@@ -198,7 +199,61 @@ A.k.a. Display list, or Gfx.
### Scene and Room
-TODO. I'm hoping somebody else will do this.
+`Scene`s and `Room`s are a bit special, because `Room`s usually needs assets declared in their respective `Scene` (which is in a different file), so they need to be extracted together.
+
+To accomplish this, the scene and each of their rooms must be declared in the same XML.
+
+- Example:
+
+```xml
+<Root>
+ <File Name="spot12_scene" Segment="2">
+ <Cutscene Name="gSpot12Cs_006490" Offset="0x6490"/>
+
+ <Scene Name="spot12_scene" Offset="0x0"/>
+ </File>
+ <File Name="spot12_room_0" Segment="3">
+ <Room Name="spot12_room_0" Offset="0x0"/>
+ </File>
+ <File Name="spot12_room_1" Segment="3">
+ <Room Name="spot12_room_1" Offset="0x0"/>
+ </File>
+</Root>
+
+```
+
+- Attributes:
+
+ - `HackMode`: Optional. This is a simple non-hardcoded way to handle some edge cases. Valid values: `syotes_room`.
+
+-------------------------
+
+### AltHeader
+
+Like `Scene`s and `Room`s, `AltHeader`s is special too. It should always be declared in the same `File` as a `Scene` or a `Room`.
+
+- Example:
+
+```xml
+<File Name="spot01_scene" Segment="2">
+ <Path Name="gSpot01Path_0003D0" NumPaths="3" Offset="0x3D0"/>
+
+ <Texture Name="gSpot01TLUT_00A870" OutName="spot01_tlut_A870" Format="rgb5a1" Width="220" Height="1" Offset="0xA870"/>
+ <Texture Name="gSpot01GrassTex" OutName="spot01_grass" Format="rgb5a1" Width="32" Height="32" Offset="0xAA50"/>
+
+ <Texture Name="gSpot01WindowDayTex" OutName="spot01_window_day" Format="rgb5a1" Width="32" Height="64" Offset="0x15b50"/>
+ <Texture Name="gSpot01WindowNightTex" OutName="spot01_window_night" Format="rgb5a1" Width="32" Height="64" Offset="0x16b50"/>
+
+ <Cutscene Name="gKakarikoFirstTimeCs" Offset="0xA540"/>
+
+ <Scene Name="spot01_scene" Offset="0x0"/>
+ <AltHeader Name="gKakarikoAltHeader_009980" Offset="0x9980"/>
+</File>
+```
+
+- Attributes:
+
+ - `Name`: Required. Suxffixed by `AltHeader`.
-------------------------