ROOM (File Format)

Revision as of 15:16, 9 May 2016 by >Aruki

The ROOM format is used to store object layout data in Tropical Freeze.


This file format needs a lot of research
Most of this format hasn't been researched yet.


Format

RMHD

Type Size Description
Chunk Descriptor 0x18 RMHD chunk descriptor
u16 2 Unknown (Always 3?)

PGRP

PGRP likely stands for Performance Group, a term referenced by a few objects.

Type Size Description
Chunk Descriptor 0x18 PGRP chunk descriptor
u16 2 Count

For count:

Type Size Description
u32 4 Name length
string - Name (not zero-terminated)
u128 0x10 ID
u8 1 Unknown
u16 2 ID count (IC)
u128 0x10 * IC IDs

LGEN

Type Size Description
Chunk Descriptor 0x18 LGEN chunk descriptor
u16 2 Count

For count:

Type Size Description
u128 0x10 ID
u128 0x10 ID

COMP

Type Size Description
Chunk Descriptor 0x18 COMP chunk descriptor
u32 4 Object type
u128 0x10 Instance ID
u32 4 Instance name length
string - Instance name (not zero-terminated)
u16 2 Connection count

Each connection is structured as:

Offset Type Size Description
0x0 char[4] 4 State
0x4 char[4] 4 Message
0x8 u128 0x10 Target Instance ID
0x18 u32 4 Unknown

Following is property data; size and contents vary by object type.

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