diff options
| author | Anghelo Carvajal <angheloalf95@gmail.com> | 2021-09-13 11:29:46 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-13 10:29:46 -0400 |
| commit | 4d051c0fa036d245027a211bc7fd6a4afdce207f (patch) | |
| tree | eb1697990e40e60343971b777cbfe99c6eee548c /docs | |
| parent | 90662f3cbade844c8edc3943ab8252e334b6166a (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.md | 61 |
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`. ------------------------- |
