Difference between revisions of "ROOM (File Format)"
From Retro Modding Wiki
(PGRP) |
m (→Connection) |
||
(13 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
The '''ROOM format''' is used to store object layout data in Tropical Freeze. | The '''ROOM format''' is used to store object layout data in Tropical Freeze. | ||
− | {{research| | + | {{research|moderate|Still a lot of unknown values and a lot of things that aren't known about how objects interact with each other.}} |
__TOC__ | __TOC__ | ||
Line 7: | Line 7: | ||
== Format == | == Format == | ||
− | === | + | {| class="wikitable" |
+ | ! Type | ||
+ | ! Count | ||
+ | ! Name | ||
+ | ! Notes | ||
+ | |- | ||
+ | | [[Form Descriptor (Tropical Freeze)|Form Descriptor]] | ||
+ | | 1 | ||
+ | | '''ROOM Form Descriptor''' | ||
+ | | Data type is <code>ROOM</code> | ||
+ | |- | ||
+ | | [[#Header|Header]] | ||
+ | | 1 | ||
+ | | '''Header''' | ||
+ | | | ||
+ | |- | ||
+ | | [[#Layer|Layer]] | ||
+ | | Varying | ||
+ | | '''Layers''' | ||
+ | | Each layer is under its own form. Unsure if the format has a layer count anywhere. | ||
+ | |} | ||
+ | |||
+ | === Header === | ||
{| class="wikitable" | {| class="wikitable" | ||
! Type | ! Type | ||
− | ! | + | ! Count |
− | ! | + | ! Name |
+ | ! Notes | ||
|- | |- | ||
− | | [[ | + | | [[Form Descriptor (Tropical Freeze)|Form Descriptor]] |
− | | | + | | 1 |
− | | '''" | + | | '''Header Descriptor''' |
+ | | Data type is <code>HEAD</code> | ||
+ | |- | ||
+ | | [[#Room Header|Room Header]] | ||
+ | | 1 | ||
+ | | '''Room Header''' | ||
+ | | | ||
+ | |- | ||
+ | | [[#Performance Groups|Performance Groups]] | ||
+ | | 1 | ||
+ | | '''Performance Groups''' | ||
+ | | | ||
+ | |- | ||
+ | | [[#Generated Object Map|Generated Object Map]] | ||
+ | | 1 | ||
+ | | '''Generated Object Map''' | ||
+ | | | ||
+ | |- | ||
+ | | [[#Load Unit|Load Unit]] | ||
+ | | Varies | ||
+ | | '''Load Units''' | ||
+ | | Unsure whether there's a count of these | ||
+ | |} | ||
+ | |||
+ | ==== Room Header ==== | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Type | ||
+ | ! Count | ||
+ | ! Name | ||
+ | ! Notes | ||
+ | |- | ||
+ | | [[Chunk Descriptor (Tropical Freeze)|Chunk Descriptor]] | ||
+ | | 1 | ||
+ | | '''Room Header Descriptor''' | ||
+ | | Data type is <code>RMHD</code> | ||
|- | |- | ||
| u16 | | u16 | ||
− | | | + | | 1 |
− | | {{unknown|'''Unknown''' | + | | {{unknown|'''Unknown'''}} |
+ | | Always 3? | ||
|} | |} | ||
− | === | + | ==== Performance Groups ==== |
{| class="wikitable" | {| class="wikitable" | ||
! Type | ! Type | ||
− | ! | + | ! Count |
− | ! | + | ! Name |
+ | ! Notes | ||
|- | |- | ||
− | | [[ | + | | [[Chunk Descriptor (Tropical Freeze)|Chunk Descriptor]] |
− | | | + | | 1 |
− | | ''' | + | | '''Performance Groups Descriptor''' |
+ | | Data type is <code>PGRP</code> | ||
|- | |- | ||
| u16 | | u16 | ||
− | | | + | | 1 |
− | | '''Count''' | + | | '''Performance Group Count''' |
+ | | | ||
+ | |- | ||
+ | | [[#Performance Group|Performance Group]] | ||
+ | | ''Performance Group Count'' | ||
+ | | '''Performance Groups''' | ||
+ | | | ||
|} | |} | ||
− | + | ===== Performance Group ===== | |
{| class="wikitable" | {| class="wikitable" | ||
! Type | ! Type | ||
− | ! | + | ! Count |
− | ! | + | ! Name |
+ | ! Notes | ||
|- | |- | ||
| u32 | | u32 | ||
− | | | + | | 1 |
− | | '''Name | + | | '''Name Length''' |
+ | | | ||
|- | |- | ||
− | | | + | | char |
− | | | + | | ''Name Length'' |
− | | '''Name''' | + | | '''Performance Group Name''' |
+ | | Not zero-terminated | ||
|- | |- | ||
− | | | + | | GUID |
− | | | + | | 1 |
− | | | + | | '''PerformanceGroupController Instance GUID''' |
+ | | | ||
|- | |- | ||
− | | | + | | bool |
| 1 | | 1 | ||
| {{unknown|'''Unknown'''}} | | {{unknown|'''Unknown'''}} | ||
+ | | | ||
|- | |- | ||
| u16 | | u16 | ||
− | | | + | | 1 |
− | | ''' | + | | '''Layer Count''' |
+ | | | ||
|- | |- | ||
− | | | + | | GUID |
− | | | + | | ''Layer Count'' |
− | | ''' | + | | '''Layer GUIDs''' |
+ | | | ||
|} | |} | ||
+ | ==== Generated Object Map ==== | ||
− | === | + | {| class="wikitable" |
+ | ! Type | ||
+ | ! Count | ||
+ | ! Name | ||
+ | ! Notes | ||
+ | |- | ||
+ | | [[Chunk Descriptor (Tropical Freeze)|Chunk Descriptor]] | ||
+ | | 1 | ||
+ | | '''Generated Object Map Descriptor''' | ||
+ | | Data type is <code>LGEN</code> | ||
+ | |- | ||
+ | | u16 | ||
+ | | 1 | ||
+ | | '''Count''' | ||
+ | | | ||
+ | |- | ||
+ | | [[#Generated Object|Generated Object]] | ||
+ | | ''Count'' | ||
+ | | '''Generated Object Array''' | ||
+ | | | ||
+ | |} | ||
+ | |||
+ | ===== Generated Object ===== | ||
{| class="wikitable" | {| class="wikitable" | ||
! Type | ! Type | ||
− | ! | + | ! Count |
− | ! | + | ! Name |
+ | ! Notes | ||
|- | |- | ||
− | | [[ | + | | GUID |
− | | | + | | 1 |
− | | ''' | + | | '''Generated Object ID''' |
+ | | | ||
+ | |- | ||
+ | | GUID | ||
+ | | 1 | ||
+ | | '''Layer ID''' | ||
+ | | This is the ID of the layer that contains the above generated object | ||
+ | |} | ||
+ | |||
+ | ==== Load Unit ==== | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Type | ||
+ | ! Count | ||
+ | ! Name | ||
+ | ! Notes | ||
+ | |- | ||
+ | | [[Form Descriptor (Tropical Freeze)|Form Descriptor]] | ||
+ | | 1 | ||
+ | | '''Load Unit Descriptor''' | ||
+ | | Data type is <code>LUNT</code> | ||
+ | |- | ||
+ | | [[Chunk Descriptor (Tropical Freeze)|Chunk Descriptor]] | ||
+ | | 1 | ||
+ | | '''Load Unit Header Descriptor''' | ||
+ | | Data type is <code>LUHD</code> | ||
|- | |- | ||
| u32 | | u32 | ||
− | | | + | | 1 |
− | | ''' | + | | '''Name Length''' |
+ | | | ||
|- | |- | ||
− | | | + | | char |
− | | | + | | ''Name Length'' |
+ | | '''Load Unit Name''' | ||
+ | | For some reason these seem to generally have really short names (sometimes a single character). | ||
+ | |- | ||
+ | | GUID | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | | Probably the GUID for this load unit | ||
+ | |- | ||
+ | | u16 | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | | | ||
+ | |- | ||
+ | | [[Chunk Descriptor (Tropical Freeze)|Chunk Descriptor]] | ||
+ | | 1 | ||
+ | | '''Load Unit Resources Descriptor''' | ||
+ | | Data type is <code>LRES</code> | ||
+ | |- | ||
+ | | u32 | ||
+ | | 1 | ||
+ | | '''Resource Count''' | ||
+ | | | ||
+ | |- | ||
+ | | GUID | ||
+ | | ''Resource Count'' | ||
+ | | '''Load Unit Resources Array''' | ||
+ | | Likely a list of all resources that are used by this load unit. | ||
+ | |- | ||
+ | | [[Chunk Descriptor (Tropical Freeze)|Chunk Descriptor]] | ||
+ | | 1 | ||
+ | | '''Load Unit Layers Descriptor''' | ||
+ | | Data type is <code>LLYR</code> | ||
+ | |- | ||
+ | | u32 | ||
+ | | 1 | ||
+ | | '''Layer Count''' | ||
+ | | | ||
+ | |- | ||
+ | | GUID | ||
+ | | ''Layer Count'' | ||
+ | | '''Load Unit Layers Array''' | ||
+ | | Likely a list of all layers that are part of this load unit. (Note that it seems layers can be included in multiple load units.) | ||
+ | |} | ||
+ | |||
+ | === Layer === | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Type | ||
+ | ! Count | ||
+ | ! Name | ||
+ | ! Notes | ||
+ | |- | ||
+ | | [[Form Descriptor (Tropical Freeze)|Form Descriptor]] | ||
+ | | 1 | ||
+ | | '''Layer Form Descriptor''' | ||
+ | | Data type is <code>LAYR</code> | ||
+ | |- | ||
+ | | [[Chunk Descriptor (Tropical Freeze)|Chunk Descriptor]] | ||
+ | | 1 | ||
+ | | '''Layer Header Descriptor''' | ||
+ | | Data type is <code>LHED</code> | ||
+ | |- | ||
+ | | u32 | ||
+ | | 1 | ||
+ | | '''Name Length''' | ||
+ | | | ||
+ | |- | ||
+ | | char | ||
+ | | ''Name Length'' | ||
+ | | '''Layer Name''' | ||
+ | | | ||
+ | |- | ||
+ | | GUID | ||
+ | | 1 | ||
+ | | '''Layer ID''' | ||
+ | | | ||
+ | |- | ||
+ | | u32 | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | | | ||
+ | |- | ||
+ | | GUID | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | | | ||
+ | |- | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | | | ||
+ | |- | ||
+ | | [[Form Descriptor (Tropical Freeze)|Form Descriptor]] | ||
+ | | 1 | ||
+ | | '''Generated Script Object Descriptor''' | ||
+ | | Data type is <code>GSRP</code>. | ||
+ | |- | ||
+ | | [[#Generated Game Object|Generated Game Object]] | ||
+ | | Varies | ||
+ | | '''Generated Game Objects''' | ||
+ | | Unsure if there is a generated object count. | ||
+ | |- | ||
+ | | [[Form Descriptor (Tropical Freeze)|Form Descriptor]] | ||
+ | | 1 | ||
+ | | '''Script Object Descriptor''' | ||
+ | | Data type is <code>SRIP</code> | ||
+ | |- | ||
+ | | [[#Game Object Component|Game Object Component]] | ||
+ | | Varies | ||
+ | | '''Components''' | ||
+ | | Unsure if there is a layer component count. | ||
+ | |} | ||
+ | |||
+ | ==== Generated Game Object ==== | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Type | ||
+ | ! Count | ||
+ | ! Name | ||
+ | ! Notes | ||
+ | |- | ||
+ | | [[Chunk Descriptor (Tropical Freeze)|Chunk Descriptor]] | ||
+ | | 1 | ||
+ | | '''Generated Game Object Descriptor''' | ||
+ | | Data type is <code>GGOB</code> | ||
+ | |- | ||
+ | | GUID | ||
+ | | 1 | ||
+ | | '''Generated Game Object ID''' | ||
+ | | | ||
+ | |- | ||
+ | | u16 | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | | | ||
+ | |- | ||
+ | | [[#Game Object Component|Game Object Component]] | ||
+ | | Varies | ||
+ | | '''Components''' | ||
+ | | | ||
+ | |} | ||
+ | |||
+ | ==== Game Object Component ==== | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Type | ||
+ | ! Count | ||
+ | ! Name | ||
+ | ! Notes | ||
+ | |- | ||
+ | | [[Chunk Descriptor (Tropical Freeze)|Chunk Descriptor]] | ||
+ | | 1 | ||
+ | | '''Component Descriptor''' | ||
+ | | Data type is <code>COMP</code> | ||
+ | |- | ||
+ | | u32 | ||
+ | | 1 | ||
+ | | '''[[#Component Types|Component Type]]''' | ||
+ | | This appears to be a hash of the component name. | ||
+ | |- | ||
+ | | GUID | ||
+ | | 1 | ||
| '''Instance ID''' | | '''Instance ID''' | ||
+ | | | ||
|- | |- | ||
| u32 | | u32 | ||
− | | | + | | 1 |
− | | ''' | + | | '''Name Length''' |
+ | | | ||
|- | |- | ||
− | | | + | | char |
− | | | + | | ''Name Length'' |
− | | '''Instance | + | | '''Instance Name''' |
+ | | | ||
+ | |} | ||
+ | |||
+ | The remaining data seems to have two structures; one that's used by most objects and one that's specific to GameObject components. | ||
+ | |||
+ | ''Regular structure:'' | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Type | ||
+ | ! Count | ||
+ | ! Name | ||
+ | ! Notes | ||
|- | |- | ||
| u16 | | u16 | ||
− | | | + | | 1 |
− | | '''Connection | + | | '''Connection Count''' |
+ | | | ||
+ | |- | ||
+ | | [[#Connection|Connection]] | ||
+ | | ''Connection Count'' | ||
+ | | '''Connection Array''' | ||
+ | | These establish links to other components to allow them to interact | ||
+ | |- | ||
+ | | u32 | ||
+ | | 1 | ||
+ | | '''Property Count''' | ||
+ | | | ||
+ | |- | ||
+ | | [[#Property|Property]] | ||
+ | | ''Property Count'' | ||
+ | | '''Object Properties''' | ||
+ | | | ||
+ | |} | ||
+ | |||
+ | ''GameObject structure:'' | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Type | ||
+ | ! Count | ||
+ | ! Name | ||
+ | ! Notes | ||
+ | |- | ||
+ | | u32 | ||
+ | | 1 | ||
+ | | '''Sub-Component Count''' | ||
+ | | | ||
+ | |- | ||
+ | | [[#Sub-Component|Sub-Component]] | ||
+ | | ''Sub-Component Count'' | ||
+ | | '''Sub-Component Array''' | ||
+ | | Seems to describe other script components that are children of this one. | ||
+ | |- | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | | This is likely the Active flag that appears on every object in the previous games. | ||
+ | |- | ||
+ | | vector3 | ||
+ | | 1 | ||
+ | | '''Position''' | ||
+ | | | ||
+ | |- | ||
+ | | vector3 | ||
+ | | 1 | ||
+ | | '''Rotation''' | ||
+ | | Euler XYZ angles in degrees (presumably in ZYX order like the previous games). | ||
+ | |- | ||
+ | | vector3 | ||
+ | | 1 | ||
+ | | '''Scale''' | ||
+ | | | ||
|} | |} | ||
− | + | ===== Connection ===== | |
{| class="wikitable" | {| class="wikitable" | ||
− | |||
! Type | ! Type | ||
− | ! | + | ! Count |
− | ! | + | ! Name |
+ | ! Notes | ||
|- | |- | ||
− | + | | char | |
− | | char | + | |
| 4 | | 4 | ||
− | | ''' | + | | '''Event''' |
+ | | Event that causes the connection to trigger. (These are what were called States in the previous games.) | ||
|- | |- | ||
− | + | | char | |
− | | char | + | |
| 4 | | 4 | ||
− | | ''' | + | | '''Action''' |
+ | | Action that the connected object should execute when the connection triggers. (These are what were called Messages in the previous games.) | ||
|- | |- | ||
− | | | + | | GUID |
− | | | + | | 1 |
− | + | ||
| '''Target Instance ID''' | | '''Target Instance ID''' | ||
+ | | Instance ID of the target object. | ||
|- | |- | ||
− | |||
| u32 | | u32 | ||
− | | | + | | 1 |
| {{unknown|'''Unknown'''}} | | {{unknown|'''Unknown'''}} | ||
+ | | | ||
|} | |} | ||
− | + | ===== Property ===== | |
+ | |||
+ | {| class="wikitable" | ||
+ | ! Type | ||
+ | ! Count | ||
+ | ! Name | ||
+ | ! Notes | ||
+ | |- | ||
+ | | u32 | ||
+ | | 1 | ||
+ | | '''Property ID''' | ||
+ | | 32-bit hash of the property name. | ||
+ | |- | ||
+ | | u16 | ||
+ | | 1 | ||
+ | | '''Property Size''' | ||
+ | | | ||
+ | |- | ||
+ | | {{unknown|}} | ||
+ | | {{unknown|}} | ||
+ | | '''Property Data''' | ||
+ | | Varies depending on the type of the property (which is hardcoded depending on the property ID). | ||
+ | |} | ||
+ | |||
+ | ===== Sub-Component ===== | ||
+ | |||
+ | This structure is used to define sub-components that are attached to GameObject components. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Type | ||
+ | ! Count | ||
+ | ! Name | ||
+ | ! Notes | ||
+ | |- | ||
+ | | char | ||
+ | | 4 | ||
+ | | '''Type''' | ||
+ | | Usually <code>COMP</code>, but sometimes other things like <code>IL00</code>. Not sure what it means. | ||
+ | |- | ||
+ | | GUID | ||
+ | | 1 | ||
+ | | '''Component ID''' | ||
+ | | | ||
+ | |- | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | | Might be an Active/Enabled flag. | ||
+ | |} | ||
− | == | + | == Component Types == |
{| class="wikitable" | {| class="wikitable" | ||
! ID | ! ID | ||
− | ! | + | ! Component |
+ | |- | ||
+ | | 0x749749F1 | ||
+ | | GameObject | ||
+ | |- | ||
+ | | 0x4EC5FA3A | ||
+ | | FakePlayerControls | ||
+ | |- | ||
+ | | 0x57153AA4 | ||
+ | | StaticCollision | ||
+ | |- | ||
+ | | 0x41956904 | ||
+ | | RenderWorld | ||
+ | |- | ||
+ | | 0xB4361E7B | ||
+ | | ActorCollision | ||
|- | |- | ||
| 0x2BE8BC19 | | 0x2BE8BC19 | ||
Line 147: | Line 565: | ||
| LightDynamic | | LightDynamic | ||
|- | |- | ||
− | | | + | | 0xCD098F70 |
− | | | + | | Effect |
|- | |- | ||
− | | | + | | 0x8FE0BFC9 |
− | | | + | | Relay |
|- | |- | ||
− | | | + | | 0xA7DB53C1 |
− | | | + | | Counter |
|- | |- | ||
− | | | + | | 0xADA85938 |
− | | | + | | SeaLion |
|- | |- | ||
− | | | + | | 0xAAEBA313 |
− | | | + | | WarusKing |
+ | |- | ||
+ | | 0x05DD288E | ||
+ | | Switch | ||
+ | |- | ||
+ | | 0x9E8A4940 | ||
+ | | Timer | ||
+ | |- | ||
+ | | 0xD616EE8B | ||
+ | | ControllerAction | ||
+ | |- | ||
+ | | 0xD898656D | ||
+ | | Waypoint | ||
+ | |- | ||
+ | | 0xF0240D23 | ||
+ | | PathControl | ||
+ | |- | ||
+ | | 0x4FE57689 | ||
+ | | CameraHint | ||
|- | |- | ||
| 0x97E65DDD | | 0x97E65DDD | ||
| TouchableTrigger | | TouchableTrigger | ||
+ | |- | ||
+ | | 0x1A4117AB | ||
+ | | Toucher | ||
|- | |- | ||
| 0xC49D730E | | 0xC49D730E | ||
| TriggerLogic | | TriggerLogic | ||
+ | |- | ||
+ | | 0xD47974E4 | ||
+ | | FiniteStateMachine | ||
+ | |- | ||
+ | | 0x1349E5AC | ||
+ | | CustomInterpolation | ||
+ | |- | ||
+ | | 0xC1F64515 | ||
+ | | CameraTarget | ||
+ | |- | ||
+ | | 0xDE522669 | ||
+ | | Generator | ||
+ | |- | ||
+ | | 0x1383F6D6 | ||
+ | | GeneratorDeleter | ||
+ | |- | ||
+ | | 0x2C4F2D31 | ||
+ | | SplineMotion | ||
+ | |- | ||
+ | | 0x1223437C | ||
+ | | Creature | ||
+ | |- | ||
+ | | 0x21C57D2B | ||
+ | | DynamicActorCollision | ||
+ | |- | ||
+ | | 0xDF31EC16 | ||
+ | | Render | ||
+ | |- | ||
+ | | 0xAE921C3B | ||
+ | | Player | ||
+ | |- | ||
+ | | 0x81A242A0 | ||
+ | | DirectionalIrradianceMap | ||
+ | |- | ||
+ | | 0xBDE4AB05 | ||
+ | | TakeDamage | ||
+ | |- | ||
+ | | 0x5453C979 | ||
+ | | MasterSlave | ||
+ | |- | ||
+ | | 0x07E3137F | ||
+ | | TraceObject | ||
+ | |- | ||
+ | | 0x046FAD23 | ||
+ | | TimerSequence | ||
|- | |- | ||
| 0x3175DF36 | | 0x3175DF36 | ||
| ApplyDamage | | ApplyDamage | ||
+ | |- | ||
+ | | 0x65E2349B | ||
+ | | RelayRandom | ||
+ | |- | ||
+ | | 0xABBCFC6A | ||
+ | | RelayConditional | ||
+ | |- | ||
+ | | 0xEA30E0B1 | ||
+ | | SpawnPoint | ||
+ | |- | ||
+ | | 0x1FB9AF22 | ||
+ | | ActorKeyframe | ||
+ | |- | ||
+ | | 0xCB6D9ACE | ||
+ | | PlayerProxy | ||
+ | |- | ||
+ | | 0x6FB22081 | ||
+ | | BarrelCannon | ||
+ | |- | ||
+ | | 0xF4567AD7 | ||
+ | | RumbleEffect | ||
+ | |- | ||
+ | | 0x10EA9EC8 | ||
+ | | ObjectFollow | ||
+ | |- | ||
+ | | 0x481EA5AF | ||
+ | | Pickup | ||
+ | |- | ||
+ | | 0xBC9A60AE | ||
+ | | CameraManager | ||
+ | |- | ||
+ | | 0xDB38B3FB | ||
+ | | GroundPoundDetector | ||
+ | |- | ||
+ | | 0xBE82DEF3 | ||
+ | | Projectile | ||
+ | |- | ||
+ | | 0x43C0D52A | ||
+ | | ClingPathControl | ||
+ | |- | ||
+ | | 0xB85D6790 | ||
+ | | ColorModifier | ||
+ | |- | ||
+ | | 0x021C14B0 | ||
+ | | Explosion | ||
+ | |- | ||
+ | | 0x16702F15 | ||
+ | | ReloadSetLoader | ||
+ | |- | ||
+ | | 0x660FC7C1 | ||
+ | | Checkpoint | ||
+ | |- | ||
+ | | 0x8C2CCFAC | ||
+ | | PlayerRespawn | ||
+ | |- | ||
+ | | 0xC0281AE7 | ||
+ | | ImpulseDriver | ||
+ | |- | ||
+ | | 0xD4538C9B | ||
+ | | Bouncer | ||
|- | |- | ||
| 0x06E89BE7 | | 0x06E89BE7 | ||
| Health | | Health | ||
|- | |- | ||
− | | | + | | 0xE0AFAF06 |
− | | | + | | PlayerActionHint |
+ | |- | ||
+ | | 0x1A90271D | ||
+ | | Grabbable | ||
+ | |- | ||
+ | | 0x3C23783B | ||
+ | | GrabThrow | ||
+ | |- | ||
+ | | 0x9373FEC0 | ||
+ | | Respawn | ||
+ | |- | ||
+ | | 0xAF565E69 | ||
+ | | SwingRope | ||
+ | |- | ||
+ | | 0xC7B43DA6 | ||
+ | | ActorInteraction | ||
+ | |- | ||
+ | | 0xC9ED6454 | ||
+ | | WindWaker | ||
+ | |- | ||
+ | | 0x78D8893A | ||
+ | | CameraTargetPlayer | ||
+ | |- | ||
+ | | 0xA86E6401 | ||
+ | | PoiObject | ||
+ | |- | ||
+ | | 0xFDD83489 | ||
+ | | Sound | ||
+ | |- | ||
+ | | 0xCCAD4BD9 | ||
+ | | PerformanceGroupController | ||
+ | |- | ||
+ | | 0x502506D6 | ||
+ | | TouchSet | ||
+ | |- | ||
+ | | 0x88603CF7 | ||
+ | | MineCartProxy | ||
+ | |- | ||
+ | | 0xE1E1C49C | ||
+ | | WaterVolume | ||
|- | |- | ||
| 0x6C5D597D | | 0x6C5D597D | ||
| NearVisible | | NearVisible | ||
|- | |- | ||
− | | | + | | 0x3449A5DF |
− | | | + | | Swimmer |
+ | |- | ||
+ | | 0x591D8F55 | ||
+ | | CharacterPrimitivesCollision | ||
+ | |- | ||
+ | | 0x90D8D3CE | ||
+ | | RenderMethodResolver | ||
+ | |- | ||
+ | | 0xBD4CFA2F | ||
+ | | TriggerForce | ||
+ | |- | ||
+ | | 0x3150D2F6 | ||
+ | | FuseBomb | ||
+ | |- | ||
+ | | 0xAF3A06F2 | ||
+ | | PathControlZipline | ||
+ | |- | ||
+ | | 0xD32870DF | ||
+ | | PolarBear | ||
+ | |- | ||
+ | | 0x2131C235 | ||
+ | | GroupSpawn | ||
+ | |- | ||
+ | | 0x2751EBF2 | ||
+ | | AnimationGridController | ||
+ | |- | ||
+ | | 0x18B96D29 | ||
+ | | TimerAnimationGridParamProvider | ||
+ | |- | ||
+ | | 0xB9F9F04C | ||
+ | | ActionDetector | ||
+ | |- | ||
+ | | 0x343A47F7 | ||
+ | | CameraShaker | ||
+ | |- | ||
+ | | 0x06159C2D | ||
+ | | RespawnBalloon | ||
+ | |- | ||
+ | | 0x7E6063C8 | ||
+ | | PlayerActor | ||
+ | |- | ||
+ | | 0x91F22DCF | ||
+ | | Tippy | ||
+ | |- | ||
+ | | 0x89F426F2 | ||
+ | | CinematicCameraShot | ||
+ | |- | ||
+ | | 0x1EB2749F | ||
+ | | ConveyorModifier | ||
+ | |- | ||
+ | | 0x73AECD92 | ||
+ | | FogVolume | ||
+ | |- | ||
+ | | 0x845E492A | ||
+ | | Retronome | ||
+ | |- | ||
+ | | 0x23C5DFF4 | ||
+ | | WaterRenderVolume | ||
+ | |- | ||
+ | | 0x55F80CCE | ||
+ | | CinematicSkipHandler | ||
+ | |- | ||
+ | | 0xAB5C5D7B | ||
+ | | BonusRoom | ||
+ | |- | ||
+ | | 0x3A3A6FAD | ||
+ | | TireBounce | ||
+ | |- | ||
+ | | 0x9D25FE2D | ||
+ | | BeatUpHandler | ||
+ | |- | ||
+ | | 0x9FC07D01 | ||
+ | | Owl | ||
+ | |- | ||
+ | | 0xA42F7AB9 | ||
+ | | GrabbableGenerator | ||
+ | |- | ||
+ | | 0xF34EDD1F | ||
+ | | InventoryItem | ||
+ | |- | ||
+ | | 0x18C0AD0F | ||
+ | | EndGame | ||
+ | |- | ||
+ | | 0xEBE92100 | ||
+ | | RocketBarrelProxy | ||
+ | |- | ||
+ | | 0xB7ADA3EC | ||
+ | | BurningBranch | ||
+ | |- | ||
+ | | 0x59AB515E | ||
+ | | HotCoals | ||
+ | |- | ||
+ | | 0xE21D45CB | ||
+ | | BarrelBalloon | ||
+ | |- | ||
+ | | 0x6302BBB3 | ||
+ | | UVTransform | ||
+ | |- | ||
+ | | 0x5FEF037B | ||
+ | | Baboon | ||
+ | |- | ||
+ | | 0x25899782 | ||
+ | | MusicData | ||
+ | |- | ||
+ | | 0x1AC8C8FD | ||
+ | | MusicStateController | ||
+ | |- | ||
+ | | 0x47A60DC3 | ||
+ | | MusicSystemTransport | ||
+ | |- | ||
+ | | 0x5CF17BFE | ||
+ | | AdapterManager | ||
+ | |- | ||
+ | | 0xCA08C6A4 | ||
+ | | WaterRenderDecal | ||
+ | |- | ||
+ | | 0x7F6D1CBA | ||
+ | | RelayAutoFire | ||
+ | |- | ||
+ | | 0x3DAAF68B | ||
+ | | BaboonManager | ||
+ | |- | ||
+ | | 0xD745DC42 | ||
+ | | GraphicalTransition | ||
+ | |- | ||
+ | | 0x0FA3899C | ||
+ | | RetronomeDriver | ||
+ | |- | ||
+ | | 0x57E54B9D | ||
+ | | EndLevel | ||
+ | |- | ||
+ | | 0x6780941E | ||
+ | | SuperCombinedAbilityEmitter | ||
+ | |- | ||
+ | | 0xB8B6A22E | ||
+ | | SuperCombinedAbilityResponder | ||
+ | |- | ||
+ | | 0x0AF8D63C | ||
+ | | MapPlayer | ||
+ | |- | ||
+ | | 0x8CB5BF7D | ||
+ | | MapPathControl | ||
+ | |- | ||
+ | | 0xEBE0DAEE | ||
+ | | WaterCurrentVolume | ||
+ | |- | ||
+ | | 0xA7D1C922 | ||
+ | | CausticVolume | ||
+ | |- | ||
+ | | 0x35D8F3F0 | ||
+ | | PufferFish | ||
+ | |- | ||
+ | | 0xBA796FEF | ||
+ | | Playlist | ||
+ | |- | ||
+ | | 0xC2F2282A | ||
+ | | WindWakerImpulser | ||
+ | |- | ||
+ | | 0xE03DD39F | ||
+ | | MapNode | ||
+ | |- | ||
+ | | 0x55AAB5F1 | ||
+ | | RambiCrate | ||
+ | |- | ||
+ | | 0x24D9D323 | ||
+ | | AudioEffect | ||
+ | |- | ||
+ | | 0xF7602744 | ||
+ | | DSP | ||
+ | |- | ||
+ | | 0x160E9AF9 | ||
+ | | RoomSettings | ||
+ | |- | ||
+ | | 0x5746A908 | ||
+ | | DynamicActorControl | ||
+ | |- | ||
+ | | 0x59276E0E | ||
+ | | HUDAnchor | ||
+ | |- | ||
+ | | 0xF442A668 | ||
+ | | TimeKeyframe | ||
+ | |- | ||
+ | | 0xB6040870 | ||
+ | | RelayProbabilityGameMode | ||
+ | |- | ||
+ | | 0xF3847DE3 | ||
+ | | FlyingPickupEffect | ||
+ | |- | ||
+ | | 0x212BCDF5 | ||
+ | | SimpleShadow | ||
+ | |- | ||
+ | | 0x655C5175 | ||
+ | | AudioBusController | ||
+ | |- | ||
+ | | 0xF6751A5D | ||
+ | | PlayerKeyframe | ||
+ | |- | ||
+ | | 0xC04DAF13 | ||
+ | | BreathMonitor | ||
+ | |- | ||
+ | | 0x4C7B9FC8 | ||
+ | | DirectionalIrradianceProbes | ||
+ | |- | ||
+ | | 0x0BE7FC29 | ||
+ | | SurfaceControl | ||
+ | |- | ||
+ | | 0xB6EC1A51 | ||
+ | | SimpleSound | ||
+ | |- | ||
+ | | 0xD2CAC9A5 | ||
+ | | LightGroupProxy | ||
+ | |- | ||
+ | | 0xDFD2A23A | ||
+ | | DialogPanel | ||
+ | |- | ||
+ | | 0xBCCB1B30 | ||
+ | | MinecartPathManager | ||
+ | |- | ||
+ | | 0xD856F6B9 | ||
+ | | Imposter | ||
+ | |- | ||
+ | | 0xBD040603 | ||
+ | | LevelDarkener | ||
+ | |- | ||
+ | | 0xA72A9926 | ||
+ | | RenderGroup | ||
+ | |- | ||
+ | | 0x3258FD44 | ||
+ | | RenderToFlash | ||
+ | |- | ||
+ | | 0x3ABCFF68 | ||
+ | | SkinSwap | ||
+ | |- | ||
+ | | 0xC532AD25 | ||
+ | | ScreenCaptureToFlash | ||
+ | |- | ||
+ | | 0xB152AD59 | ||
+ | | PlayerSound | ||
+ | |- | ||
+ | | 0xBFF963D2 | ||
+ | | StreamedMovie | ||
+ | |- | ||
+ | | 0x7DCAF170 | ||
+ | | BloomEffect | ||
+ | |- | ||
+ | | 0x1243C3E3 | ||
+ | | ProjectedSimpleShadowReceiver | ||
+ | |- | ||
+ | | 0x5368FF52 | ||
+ | | ShopData | ||
+ | |- | ||
+ | | 0xA04F0C68 | ||
+ | | ShopInstance | ||
+ | |- | ||
+ | | 0x5B0C954B | ||
+ | | UICameraSelector | ||
+ | |- | ||
+ | | 0x7CC0B7BF | ||
+ | | Squawks | ||
+ | |- | ||
+ | | 0xB177FA02 | ||
+ | | SquawksProxy | ||
+ | |- | ||
+ | | 0x4C53A836 | ||
+ | | UnitController | ||
+ | |- | ||
+ | | 0x008E3AF5 | ||
+ | | FlashTextureSwapper | ||
+ | |- | ||
+ | | 0xF5D80D1A | ||
+ | | Extras | ||
+ | |- | ||
+ | | 0xBB449D71 | ||
+ | | ExtrasType | ||
+ | |- | ||
+ | | 0xA98F9015 | ||
+ | | ExtrasCategory | ||
+ | |- | ||
+ | | 0xEE0D6FD4 | ||
+ | | DynamicLoadManager | ||
+ | |- | ||
+ | | 0xFDDB58A1 | ||
+ | | MapManagerProxy | ||
+ | |- | ||
+ | | 0xA32E718F | ||
+ | | Achievement | ||
+ | |- | ||
+ | | 0x62913993 | ||
+ | | AudioBusMixer | ||
+ | |- | ||
+ | | 0xADCD416E | ||
+ | | Credits | ||
+ | |- | ||
+ | | 0xA4E4FE1D | ||
+ | | HUDFadeDetector | ||
+ | |- | ||
+ | | 0xAF9DEA76 | ||
+ | | ProductionFrontEndProxy | ||
|} | |} | ||
[[Category:File Formats]] | [[Category:File Formats]] | ||
[[Category:Donkey Kong Country: Tropical Freeze]] | [[Category:Donkey Kong Country: Tropical Freeze]] |
Latest revision as of 05:24, 6 June 2016
The ROOM format is used to store object layout data in Tropical Freeze.
This file format needs more research Still a lot of unknown values and a lot of things that aren't known about how objects interact with each other. |
Contents
Format
Type | Count | Name | Notes |
---|---|---|---|
Form Descriptor | 1 | ROOM Form Descriptor | Data type is ROOM
|
Header | 1 | Header | |
Layer | Varying | Layers | Each layer is under its own form. Unsure if the format has a layer count anywhere. |
Header
Type | Count | Name | Notes |
---|---|---|---|
Form Descriptor | 1 | Header Descriptor | Data type is HEAD
|
Room Header | 1 | Room Header | |
Performance Groups | 1 | Performance Groups | |
Generated Object Map | 1 | Generated Object Map | |
Load Unit | Varies | Load Units | Unsure whether there's a count of these |
Room Header
Type | Count | Name | Notes |
---|---|---|---|
Chunk Descriptor | 1 | Room Header Descriptor | Data type is RMHD
|
u16 | 1 | Unknown | Always 3? |
Performance Groups
Type | Count | Name | Notes |
---|---|---|---|
Chunk Descriptor | 1 | Performance Groups Descriptor | Data type is PGRP
|
u16 | 1 | Performance Group Count | |
Performance Group | Performance Group Count | Performance Groups |
Performance Group
Type | Count | Name | Notes |
---|---|---|---|
u32 | 1 | Name Length | |
char | Name Length | Performance Group Name | Not zero-terminated |
GUID | 1 | PerformanceGroupController Instance GUID | |
bool | 1 | Unknown | |
u16 | 1 | Layer Count | |
GUID | Layer Count | Layer GUIDs |
Generated Object Map
Type | Count | Name | Notes |
---|---|---|---|
Chunk Descriptor | 1 | Generated Object Map Descriptor | Data type is LGEN
|
u16 | 1 | Count | |
Generated Object | Count | Generated Object Array |
Generated Object
Type | Count | Name | Notes |
---|---|---|---|
GUID | 1 | Generated Object ID | |
GUID | 1 | Layer ID | This is the ID of the layer that contains the above generated object |
Load Unit
Type | Count | Name | Notes |
---|---|---|---|
Form Descriptor | 1 | Load Unit Descriptor | Data type is LUNT
|
Chunk Descriptor | 1 | Load Unit Header Descriptor | Data type is LUHD
|
u32 | 1 | Name Length | |
char | Name Length | Load Unit Name | For some reason these seem to generally have really short names (sometimes a single character). |
GUID | 1 | Unknown | Probably the GUID for this load unit |
u16 | 1 | Unknown | |
Chunk Descriptor | 1 | Load Unit Resources Descriptor | Data type is LRES
|
u32 | 1 | Resource Count | |
GUID | Resource Count | Load Unit Resources Array | Likely a list of all resources that are used by this load unit. |
Chunk Descriptor | 1 | Load Unit Layers Descriptor | Data type is LLYR
|
u32 | 1 | Layer Count | |
GUID | Layer Count | Load Unit Layers Array | Likely a list of all layers that are part of this load unit. (Note that it seems layers can be included in multiple load units.) |
Layer
Type | Count | Name | Notes |
---|---|---|---|
Form Descriptor | 1 | Layer Form Descriptor | Data type is LAYR
|
Chunk Descriptor | 1 | Layer Header Descriptor | Data type is LHED
|
u32 | 1 | Name Length | |
char | Name Length | Layer Name | |
GUID | 1 | Layer ID | |
u32 | 1 | Unknown | |
GUID | 1 | Unknown | |
bool | 1 | Unknown | |
Form Descriptor | 1 | Generated Script Object Descriptor | Data type is GSRP .
|
Generated Game Object | Varies | Generated Game Objects | Unsure if there is a generated object count. |
Form Descriptor | 1 | Script Object Descriptor | Data type is SRIP
|
Game Object Component | Varies | Components | Unsure if there is a layer component count. |
Generated Game Object
Type | Count | Name | Notes |
---|---|---|---|
Chunk Descriptor | 1 | Generated Game Object Descriptor | Data type is GGOB
|
GUID | 1 | Generated Game Object ID | |
u16 | 1 | Unknown | |
Game Object Component | Varies | Components |
Game Object Component
Type | Count | Name | Notes |
---|---|---|---|
Chunk Descriptor | 1 | Component Descriptor | Data type is COMP
|
u32 | 1 | Component Type | This appears to be a hash of the component name. |
GUID | 1 | Instance ID | |
u32 | 1 | Name Length | |
char | Name Length | Instance Name |
The remaining data seems to have two structures; one that's used by most objects and one that's specific to GameObject components.
Regular structure:
Type | Count | Name | Notes |
---|---|---|---|
u16 | 1 | Connection Count | |
Connection | Connection Count | Connection Array | These establish links to other components to allow them to interact |
u32 | 1 | Property Count | |
Property | Property Count | Object Properties |
GameObject structure:
Type | Count | Name | Notes |
---|---|---|---|
u32 | 1 | Sub-Component Count | |
Sub-Component | Sub-Component Count | Sub-Component Array | Seems to describe other script components that are children of this one. |
bool | 1 | Unknown | This is likely the Active flag that appears on every object in the previous games. |
vector3 | 1 | Position | |
vector3 | 1 | Rotation | Euler XYZ angles in degrees (presumably in ZYX order like the previous games). |
vector3 | 1 | Scale |
Connection
Type | Count | Name | Notes |
---|---|---|---|
char | 4 | Event | Event that causes the connection to trigger. (These are what were called States in the previous games.) |
char | 4 | Action | Action that the connected object should execute when the connection triggers. (These are what were called Messages in the previous games.) |
GUID | 1 | Target Instance ID | Instance ID of the target object. |
u32 | 1 | Unknown |
Property
Type | Count | Name | Notes |
---|---|---|---|
u32 | 1 | Property ID | 32-bit hash of the property name. |
u16 | 1 | Property Size | |
Property Data | Varies depending on the type of the property (which is hardcoded depending on the property ID). |
Sub-Component
This structure is used to define sub-components that are attached to GameObject components.
Type | Count | Name | Notes |
---|---|---|---|
char | 4 | Type | Usually COMP , but sometimes other things like IL00 . Not sure what it means.
|
GUID | 1 | Component ID | |
bool | 1 | Unknown | Might be an Active/Enabled flag. |
Component Types
ID | Component |
---|---|
0x749749F1 | GameObject |
0x4EC5FA3A | FakePlayerControls |
0x57153AA4 | StaticCollision |
0x41956904 | RenderWorld |
0xB4361E7B | ActorCollision |
0x2BE8BC19 | LightStatic |
0x9EE5541D | LightDynamic |
0xCD098F70 | Effect |
0x8FE0BFC9 | Relay |
0xA7DB53C1 | Counter |
0xADA85938 | SeaLion |
0xAAEBA313 | WarusKing |
0x05DD288E | Switch |
0x9E8A4940 | Timer |
0xD616EE8B | ControllerAction |
0xD898656D | Waypoint |
0xF0240D23 | PathControl |
0x4FE57689 | CameraHint |
0x97E65DDD | TouchableTrigger |
0x1A4117AB | Toucher |
0xC49D730E | TriggerLogic |
0xD47974E4 | FiniteStateMachine |
0x1349E5AC | CustomInterpolation |
0xC1F64515 | CameraTarget |
0xDE522669 | Generator |
0x1383F6D6 | GeneratorDeleter |
0x2C4F2D31 | SplineMotion |
0x1223437C | Creature |
0x21C57D2B | DynamicActorCollision |
0xDF31EC16 | Render |
0xAE921C3B | Player |
0x81A242A0 | DirectionalIrradianceMap |
0xBDE4AB05 | TakeDamage |
0x5453C979 | MasterSlave |
0x07E3137F | TraceObject |
0x046FAD23 | TimerSequence |
0x3175DF36 | ApplyDamage |
0x65E2349B | RelayRandom |
0xABBCFC6A | RelayConditional |
0xEA30E0B1 | SpawnPoint |
0x1FB9AF22 | ActorKeyframe |
0xCB6D9ACE | PlayerProxy |
0x6FB22081 | BarrelCannon |
0xF4567AD7 | RumbleEffect |
0x10EA9EC8 | ObjectFollow |
0x481EA5AF | Pickup |
0xBC9A60AE | CameraManager |
0xDB38B3FB | GroundPoundDetector |
0xBE82DEF3 | Projectile |
0x43C0D52A | ClingPathControl |
0xB85D6790 | ColorModifier |
0x021C14B0 | Explosion |
0x16702F15 | ReloadSetLoader |
0x660FC7C1 | Checkpoint |
0x8C2CCFAC | PlayerRespawn |
0xC0281AE7 | ImpulseDriver |
0xD4538C9B | Bouncer |
0x06E89BE7 | Health |
0xE0AFAF06 | PlayerActionHint |
0x1A90271D | Grabbable |
0x3C23783B | GrabThrow |
0x9373FEC0 | Respawn |
0xAF565E69 | SwingRope |
0xC7B43DA6 | ActorInteraction |
0xC9ED6454 | WindWaker |
0x78D8893A | CameraTargetPlayer |
0xA86E6401 | PoiObject |
0xFDD83489 | Sound |
0xCCAD4BD9 | PerformanceGroupController |
0x502506D6 | TouchSet |
0x88603CF7 | MineCartProxy |
0xE1E1C49C | WaterVolume |
0x6C5D597D | NearVisible |
0x3449A5DF | Swimmer |
0x591D8F55 | CharacterPrimitivesCollision |
0x90D8D3CE | RenderMethodResolver |
0xBD4CFA2F | TriggerForce |
0x3150D2F6 | FuseBomb |
0xAF3A06F2 | PathControlZipline |
0xD32870DF | PolarBear |
0x2131C235 | GroupSpawn |
0x2751EBF2 | AnimationGridController |
0x18B96D29 | TimerAnimationGridParamProvider |
0xB9F9F04C | ActionDetector |
0x343A47F7 | CameraShaker |
0x06159C2D | RespawnBalloon |
0x7E6063C8 | PlayerActor |
0x91F22DCF | Tippy |
0x89F426F2 | CinematicCameraShot |
0x1EB2749F | ConveyorModifier |
0x73AECD92 | FogVolume |
0x845E492A | Retronome |
0x23C5DFF4 | WaterRenderVolume |
0x55F80CCE | CinematicSkipHandler |
0xAB5C5D7B | BonusRoom |
0x3A3A6FAD | TireBounce |
0x9D25FE2D | BeatUpHandler |
0x9FC07D01 | Owl |
0xA42F7AB9 | GrabbableGenerator |
0xF34EDD1F | InventoryItem |
0x18C0AD0F | EndGame |
0xEBE92100 | RocketBarrelProxy |
0xB7ADA3EC | BurningBranch |
0x59AB515E | HotCoals |
0xE21D45CB | BarrelBalloon |
0x6302BBB3 | UVTransform |
0x5FEF037B | Baboon |
0x25899782 | MusicData |
0x1AC8C8FD | MusicStateController |
0x47A60DC3 | MusicSystemTransport |
0x5CF17BFE | AdapterManager |
0xCA08C6A4 | WaterRenderDecal |
0x7F6D1CBA | RelayAutoFire |
0x3DAAF68B | BaboonManager |
0xD745DC42 | GraphicalTransition |
0x0FA3899C | RetronomeDriver |
0x57E54B9D | EndLevel |
0x6780941E | SuperCombinedAbilityEmitter |
0xB8B6A22E | SuperCombinedAbilityResponder |
0x0AF8D63C | MapPlayer |
0x8CB5BF7D | MapPathControl |
0xEBE0DAEE | WaterCurrentVolume |
0xA7D1C922 | CausticVolume |
0x35D8F3F0 | PufferFish |
0xBA796FEF | Playlist |
0xC2F2282A | WindWakerImpulser |
0xE03DD39F | MapNode |
0x55AAB5F1 | RambiCrate |
0x24D9D323 | AudioEffect |
0xF7602744 | DSP |
0x160E9AF9 | RoomSettings |
0x5746A908 | DynamicActorControl |
0x59276E0E | HUDAnchor |
0xF442A668 | TimeKeyframe |
0xB6040870 | RelayProbabilityGameMode |
0xF3847DE3 | FlyingPickupEffect |
0x212BCDF5 | SimpleShadow |
0x655C5175 | AudioBusController |
0xF6751A5D | PlayerKeyframe |
0xC04DAF13 | BreathMonitor |
0x4C7B9FC8 | DirectionalIrradianceProbes |
0x0BE7FC29 | SurfaceControl |
0xB6EC1A51 | SimpleSound |
0xD2CAC9A5 | LightGroupProxy |
0xDFD2A23A | DialogPanel |
0xBCCB1B30 | MinecartPathManager |
0xD856F6B9 | Imposter |
0xBD040603 | LevelDarkener |
0xA72A9926 | RenderGroup |
0x3258FD44 | RenderToFlash |
0x3ABCFF68 | SkinSwap |
0xC532AD25 | ScreenCaptureToFlash |
0xB152AD59 | PlayerSound |
0xBFF963D2 | StreamedMovie |
0x7DCAF170 | BloomEffect |
0x1243C3E3 | ProjectedSimpleShadowReceiver |
0x5368FF52 | ShopData |
0xA04F0C68 | ShopInstance |
0x5B0C954B | UICameraSelector |
0x7CC0B7BF | Squawks |
0xB177FA02 | SquawksProxy |
0x4C53A836 | UnitController |
0x008E3AF5 | FlashTextureSwapper |
0xF5D80D1A | Extras |
0xBB449D71 | ExtrasType |
0xA98F9015 | ExtrasCategory |
0xEE0D6FD4 | DynamicLoadManager |
0xFDDB58A1 | MapManagerProxy |
0xA32E718F | Achievement |
0x62913993 | AudioBusMixer |
0xADCD416E | Credits |
0xA4E4FE1D | HUDFadeDetector |
0xAF9DEA76 | ProductionFrontEndProxy |