Document Bg_Ice_Shelter (Red Ice) (#1358)

* Doc BgIceShelter

* Fix comment and add macro

* Various fixes

* Rename switch flag macro
This commit is contained in:
HylianFreddy
2022-10-07 03:57:26 +02:00
committed by GitHub
parent 9771afdc69
commit 8c17339e06
3 changed files with 198 additions and 128 deletions

View File

@@ -2,23 +2,23 @@
<File Name="object_ice_objects" Segment="6">
<DList Name="object_ice_objects_DL_000190" Offset="0x190"/>
<Collision Name="object_ice_objects_Col_0003F0" Offset="0x3F0"/>
<DList Name="object_ice_objects_DL_0006F0" Offset="0x6F0"/>
<DList Name="object_ice_objects_DL_0012A0" Offset="0x12A0"/>
<Collision Name="object_ice_objects_Col_001C1C" Offset="0x1C1C"/>
<DList Name="gRedIceBlockDL" Offset="0x6F0"/>
<DList Name="gRedIcePlatformDL" Offset="0x12A0"/>
<Collision Name="gRedIcePlatformCol" Offset="0x1C1C"/>
<DList Name="object_ice_objects_DL_001D10" Offset="0x1D10"/>
<DList Name="object_ice_objects_DL_0021F0" Offset="0x21F0"/>
<DList Name="object_ice_objects_DL_0023D0" Offset="0x23D0"/>
<Collision Name="object_ice_objects_Col_002594" Offset="0x2594"/>
<DList Name="object_ice_objects_DL_002640" Offset="0x2640"/>
<DList Name="gRedIceWallDL" Offset="0x2640"/>
<DList Name="object_ice_objects_DL_002740" Offset="0x2740"/>
<Collision Name="object_ice_objects_Col_002854" Offset="0x2854"/>
<Collision Name="object_ice_objects_Col_002920" Offset="0x2920"/>
<Collision Name="gRedIceWallCol" Offset="0x2920"/>
<Texture Name="object_ice_objects_Tex_002950" OutName="tex_00002950" Format="rgba16" Width="32" Height="32" Offset="0x2950"/>
<Texture Name="object_ice_objects_Tex_003150" OutName="tex_00003150" Format="i8" Width="32" Height="128" Offset="0x3150"/>
<Texture Name="gRedIceWallTex" OutName="red_ice_wall" Format="i8" Width="32" Height="128" Offset="0x3150"/>
<Texture Name="object_ice_objects_Tex_004150" OutName="tex_00004150" Format="rgba16" Width="32" Height="32" Offset="0x4150"/>
<Texture Name="object_ice_objects_Tex_004950" OutName="tex_00004950" Format="rgba16" Width="32" Height="32" Offset="0x4950"/>
<Texture Name="object_ice_objects_Tex_005150" OutName="tex_00005150" Format="i8" Width="32" Height="32" Offset="0x5150"/>
<Texture Name="object_ice_objects_Tex_005550" OutName="tex_00005550" Format="i4" Width="64" Height="64" Offset="0x5550"/>
<Texture Name="gRedIceBlockTex" OutName="red_ice_block" Format="i8" Width="32" Height="32" Offset="0x5150"/>
<Texture Name="gRedIcePlatformTex" OutName="red_ice_platform" Format="i4" Width="64" Height="64" Offset="0x5550"/>
<Texture Name="object_ice_objects_Tex_005D50" OutName="tex_00005D50" Format="i8" Width="64" Height="64" Offset="0x5D50"/>
<Texture Name="object_ice_objects_Tex_006D50" OutName="tex_00006D50" Format="rgba16" Width="32" Height="64" Offset="0x6D50"/>
<Texture Name="object_ice_objects_Tex_007D50" OutName="tex_00007D50" Format="ia8" Width="64" Height="64" Offset="0x7D50"/>

File diff suppressed because it is too large Load Diff

View File

@@ -8,11 +8,19 @@ struct BgIceShelter;
typedef void (*BgIceShelterActionFunc)(struct BgIceShelter*, PlayState*);
typedef enum {
/* 0 */ RED_ICE_LARGE, // Large red ice block
/* 1 */ RED_ICE_SMALL, // Small red ice block
/* 2 */ RED_ICE_PLATFORM, // Complex structure that can be climbed and walked on. Unused in vanilla OoT, used in MQ to cover the Ice Cavern Map chest
/* 3 */ RED_ICE_WALL, // Vertical ice sheets blocking corridors
/* 4 */ RED_ICE_KING_ZORA // Giant red ice block covering King Zora
} RedIceType;
typedef struct BgIceShelter {
/* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ BgIceShelterActionFunc actionFunc;
/* 0x0168 */ ColliderCylinder cylinder1;
/* 0x01B4 */ ColliderCylinder cylinder2;
/* 0x0168 */ ColliderCylinder cylinder1; // Used to detect blue fire and also as OC for no-dynapoly types
/* 0x01B4 */ ColliderCylinder cylinder2; // Only used by no-dynapoly types to make weapons bounce off
/* 0x0200 */ s16 alpha;
} BgIceShelter; // size = 0x0204