EvilEngine/DYNA: Difference between revisions
No edit summary |
No edit summary |
||
(13 intermediate revisions by 3 users not shown) | |||
Line 4: | Line 4: | ||
{{#vardefine:type|[[Base]]}}<nowiki/> |
{{#vardefine:type|[[Base]]}}<nowiki/> |
||
{{#vardefine:basetype|0x00}}<nowiki/> |
{{#vardefine:basetype|0x00}}<nowiki/> |
||
{{#vardefine:games|BFBB TSSM Incredibles ROTU}}<nowiki/> |
{{#vardefine:games|BFBB TSSM Incredibles ROTU RatProto}}<nowiki/> |
||
{{#vardefine:sourcecode|[https://github.com/bfbbdecomp/bfbb/blob/master/src/Core/x/xDynAsset.h xDynAsset.h]}}<nowiki/> |
{{#vardefine:sourcecode|[https://github.com/bfbbdecomp/bfbb/blob/master/src/Core/x/xDynAsset.h xDynAsset.h]}}<nowiki/> |
||
{{#vardefine:image|}}<nowiki/> |
{{#vardefine:image|}}<nowiki/> |
||
Line 26: | Line 26: | ||
==Types== |
==Types== |
||
The following is a list of all DYNA types found across all |
The following is a list of all DYNA types found across all 5 games (Scooby doesn't use DYNAs), as well as which DYNA types are present in each game, signified by a checkmark (✔). |
||
{| class="wikitable sortable" |
{| class="wikitable sortable" |
||
Line 32: | Line 32: | ||
! ID |
! ID |
||
! Version |
! Version |
||
⚫ | |||
! [[:Category:BFBB|BFBB]] |
! [[:Category:BFBB|BFBB]] |
||
! [[:Category:TSSM|TSSM]] |
! [[:Category:TSSM|TSSM]] |
||
! [[:Category:Incredibles|Incredibles]] |
! [[:Category:Incredibles|Incredibles]] |
||
! [[:Category:ROTU|ROTU]] |
! [[:Category:ROTU|ROTU]] |
||
! [[:Category:RatProto|RatProto]] |
|||
⚫ | |||
{{AutoDynaAssetTableRow|DYNA/Analog Deflection}} |
|||
{{AutoDynaAssetTableRow|DYNA/Analog Direction}} |
|||
{{AutoDynaAssetTableRow|DYNA/audio:conversation}} |
{{AutoDynaAssetTableRow|DYNA/audio:conversation}} |
||
{{AutoDynaAssetTableRow|DYNA/camera:binary_poi}} |
{{AutoDynaAssetTableRow|DYNA/camera:binary_poi}} |
||
Line 42: | Line 45: | ||
{{AutoDynaAssetTableRow|DYNA/camera:transition_path|Unused.}} |
{{AutoDynaAssetTableRow|DYNA/camera:transition_path|Unused.}} |
||
{{AutoDynaAssetTableRow|DYNA/camera:transition_time}} |
{{AutoDynaAssetTableRow|DYNA/camera:transition_time}} |
||
{{AutoDynaAssetTableRow|DYNA/Carrying:Carryable Object}} |
|||
{{AutoDynaAssetTableRow|EvilEngine/DYNA/Carrying:Carryable Property|Used as parent class, all carryable property assets inherit from this.}} |
|||
{{AutoDynaAssetTableRow|DYNA/Carrying:Carryable Property:Generic Use Property}} |
|||
{{AutoDynaAssetTableRow|DYNA/Carrying:Carryable Property:Use Property Attract}} |
|||
{{AutoDynaAssetTableRow|DYNA/Carrying:Carryable Property:Use Property Repel}} |
|||
{{AutoDynaAssetTableRow|DYNA/Carrying:Carryable Property:Use Property Swipe}} |
|||
{{AutoDynaAssetTableRow|DYNA/Checkpoint}} |
{{AutoDynaAssetTableRow|DYNA/Checkpoint}} |
||
{{AutoDynaAssetTableRow|DYNA/Context Object:Pole Swing}} |
|||
{{AutoDynaAssetTableRow|DYNA/Context Object:Springboard}} |
|||
{{AutoDynaAssetTableRow|DYNA/Context Object:Tightrope}} |
|||
{{AutoDynaAssetTableRow|DYNA/effect:BossBrain}} |
{{AutoDynaAssetTableRow|DYNA/effect:BossBrain}} |
||
{{AutoDynaAssetTableRow|DYNA/effect:Flamethrower}} |
{{AutoDynaAssetTableRow|DYNA/effect:Flamethrower}} |
||
Line 65: | Line 77: | ||
{{AutoDynaAssetTableRow|DYNA/effect:water_body}} |
{{AutoDynaAssetTableRow|DYNA/effect:water_body}} |
||
{{AutoDynaAssetTableRow|DYNA/effect:Waterhose|Unused.}} |
{{AutoDynaAssetTableRow|DYNA/effect:Waterhose|Unused.}} |
||
{{AutoDynaAssetTableRow|DYNA/Enemy: |
{{AutoDynaAssetTableRow|DYNA/Enemy:IN2|All Enemy classes inherit from this.}} |
||
{{AutoDynaAssetTableRow|DYNA/Enemy:IN2:Bomber}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:IN2:BossUnderminerDrill}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:IN2:BossUnderminerUM}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:IN2:Chicken}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:IN2:Driller}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:IN2:Enforcer}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:IN2:Humanoid}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:IN2:RobotTank}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:IN2:Scientist}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:IN2:Shooter}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:NPC Gate}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:NPC Walls}} |
|||
{{AutoDynaAssetTableRow|EvilEngine/DYNA/Enemy:RATS|All Enemy classes inherit from this.}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:RATS:LeftArm}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:RATS:RightArm}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:RATS:Swarm:Bug}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:RATS:Swarm:Owl}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:RATS:Thief}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:RATS:Waiter}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:SB|All Enemy classes inherit from this.}} |
|||
{{AutoDynaAssetTableRow|DYNA/Enemy:SB:BucketOTron|Bucket-O-Tron enemy.}} |
{{AutoDynaAssetTableRow|DYNA/Enemy:SB:BucketOTron|Bucket-O-Tron enemy.}} |
||
{{AutoDynaAssetTableRow|DYNA/Enemy:SB:CastNCrew|Frogfish tongue spinner enemy and Dennis SpongeBob enemy.}} |
{{AutoDynaAssetTableRow|DYNA/Enemy:SB:CastNCrew|Frogfish tongue spinner enemy and Dennis SpongeBob enemy.}} |
||
Line 108: | Line 140: | ||
{{AutoDynaAssetTableRow|DYNA/game_object:Vent}} |
{{AutoDynaAssetTableRow|DYNA/game_object:Vent}} |
||
{{AutoDynaAssetTableRow|DYNA/game_object:VentType}} |
{{AutoDynaAssetTableRow|DYNA/game_object:VentType}} |
||
{{AutoDynaAssetTableRow|DYNA/HUD_Compass_Object}} |
|||
{{AutoDynaAssetTableRow|DYNA/HUD_Compass_System}} |
|||
{{AutoDynaAssetTableRow|DYNA/hud:image}} |
{{AutoDynaAssetTableRow|DYNA/hud:image}} |
||
{{AutoDynaAssetTableRow|DYNA/hud:meter:font}} |
{{AutoDynaAssetTableRow|DYNA/hud:meter:font}} |
||
Line 122: | Line 156: | ||
{{AutoDynaAssetTableRow|DYNA/JSP Extra Data}} |
{{AutoDynaAssetTableRow|DYNA/JSP Extra Data}} |
||
{{AutoDynaAssetTableRow|DYNA/logic:Function Generator}} |
{{AutoDynaAssetTableRow|DYNA/logic:Function Generator}} |
||
{{AutoDynaAssetTableRow|DYNA/logic:Mission}} |
|||
{{AutoDynaAssetTableRow|DYNA/logic:reference}} |
{{AutoDynaAssetTableRow|DYNA/logic:reference}} |
||
{{AutoDynaAssetTableRow|DYNA/logic:Task}} |
|||
{{AutoDynaAssetTableRow|DYNA/npc:CoverPoint}} |
{{AutoDynaAssetTableRow|DYNA/npc:CoverPoint}} |
||
{{AutoDynaAssetTableRow|DYNA/npc:group}} |
{{AutoDynaAssetTableRow|DYNA/npc:group}} |
||
{{AutoDynaAssetTableRow|DYNA/npc:NPC_Custom_AV}} |
{{AutoDynaAssetTableRow|DYNA/npc:NPC_Custom_AV}} |
||
{{AutoDynaAssetTableRow|DYNA/pointer}} |
{{AutoDynaAssetTableRow|DYNA/pointer}} |
||
{{AutoDynaAssetTableRow|DYNA/Pour Widget}} |
|||
{{AutoDynaAssetTableRow|DYNA/Scene Properties}} |
{{AutoDynaAssetTableRow|DYNA/Scene Properties}} |
||
{{AutoDynaAssetTableRow|DYNA/Twiddler}} |
|||
{{AutoDynaAssetTableRow|EvilEngine/DYNA/ui:asset|Used as parent class, all ui assets inherit from this.}} |
|||
{{AutoDynaAssetTableRow|DYNA/ui:box}} |
{{AutoDynaAssetTableRow|DYNA/ui:box}} |
||
{{AutoDynaAssetTableRow|DYNA/ui:controller}} |
{{AutoDynaAssetTableRow|DYNA/ui:controller}} |
||
Line 135: | Line 174: | ||
{{AutoDynaAssetTableRow|DYNA/ui:text:user string}} |
{{AutoDynaAssetTableRow|DYNA/ui:text:user string}} |
||
|- |
|- |
||
| Unknown || |
| Unknown || 0xEBC04E7B || || || || ✔ || ✔ || |
||
|- |
|||
| Unknown || 0x460F4FB2 || || || || || || ✔ |
|||
|- |
|||
| Unknown || 0x4EE03B24 || || || || || || ✔ |
|||
|- |
|||
| Unknown || 0x9F234F8E || || || || || || ✔ |
|||
|- |
|||
| Unknown || 0xAD7CB421 || || || || || || ✔ |
|||
|- |
|||
| Unknown || 0xC6C76EEE || || || || || || ✔ |
|||
|- |
|||
| Unknown || 0xCDB57387 || || || || || || ✔ |
|||
|- |
|||
| Unknown || 0xCF21DB89 || || || || || || ✔ |
|||
|- |
|||
| Unknown || 0xE2301EA9 || || || || || || ✔ |
|||
|- |
|||
| Unknown || 0xE5D82D97 || || || || || || ✔ |
|||
|- |
|||
| Unknown || 0xEBC04E7B || || || || || ✔ || ✔ |
|||
|- |
|||
| Unknown || 0xFC2951C1 || || || || || || ✔ |
|||
|} |
|} |
||
Latest revision as of 16:22, 23 March 2024
DYNA | |
---|---|
Dynamic | |
Type | Base |
Base Type | 0x00 |
Games used | Battle for Bikini Bottom The SpongeBob SquarePants Movie |
Source code | xDynAsset.h |
A Dynamic is an asset type which can do multiple functions, depending on their type. The format for each DYNA type is completely different, and some are only used in some games.
Format
Dynamics are base assets, so they start with their 8 byte header, then are followed by another 8 byte header:
Offset | Type | Variable | Description |
---|---|---|---|
0x08 | int | type | The subtype of this dynamic. Each type is listed below. |
0x0C | short | version | The version of this dynamic (depends on the type). |
0x0E | short | handle | Always 0. |
Types
The following is a list of all DYNA types found across all 5 games (Scooby doesn't use DYNAs), as well as which DYNA types are present in each game, signified by a checkmark (✔).
Name | ID | Version | BFBB | TSSM | Incredibles | ROTU | RatProto | Description |
---|---|---|---|---|---|---|---|---|
|
0x16B0A88D | ✔ | ||||||
|
0xC0288F1F | ✔ | ||||||
|
0x3A335FCF | ✔ | ✔ | |||||
|
0xFA0E4015 | ✔ | ✔ | |||||
|
0xCDAB9190 | ✔ | ✔ | ✔ | ||||
|
0xBBA5036A | ✔ | ✔ | Unused. | ||||
|
0xBC304E86 | ✔ | ✔ | |||||
|
0x284375FD | ✔ | ||||||
|
0x7FC069B3 | ✔ | Used as parent class, all carryable property assets inherit from this. | |||||
|
0x35F3B22A | 1 | ✔ | |||||
|
0x45F261C6 | 1 | ✔ | |||||
|
0x0A21FFAD | 1 | ✔ | |||||
|
0x1E175B3F | 1 | ✔ | |||||
|
0x2DE7AB98 | ✔ | ✔ | |||||
|
0xD9CA96BC | ✔ | ||||||
|
0x2D0D198B | 4 | ✔ | |||||
|
0x105DFF22 | 3 | ✔ | |||||
|
0xDEC6DFF0 | ✔ | ||||||
|
0xFB1179F5 | ✔ | ||||||
|
0x081A3629 | ✔ | ||||||
|
0x2CD29541 | 3 | ✔ | ✔ | ✔ | ✔ | ||
|
0xA072A4DA | 3 | ✔ | ✔ | ✔ | ✔ | ||
|
0x5EAB97E1 | ✔ | ✔ | |||||
|
0x53CE3CA4 | ✔ | ✔ | |||||
|
0x96727F69 | ✔ | ||||||
|
0x94B8EF2D | 2 | ✔ | ✔ | ✔ | ✔ | ||
|
0x4AF4ABC7 | 1 | ✔ | ✔ | ✔ | ✔ | ||
|
0x2A59443A | 3 | ✔ | ✔ | ✔ | ✔ | ||
|
0x56F5D96F | Unused. | ||||||
|
0x1337E641 | 1 | ✔ | ✔ | ✔ | |||
|
0x9535DB9D | 1 | ✔ | ✔ | ✔ | |||
|
0xC2783A7F | 1 | ✔ | |||||
|
0x0903FBB9 | 1 | ✔ | ✔ | ✔ | ✔ | ||
|
0xA7039867 | ✔ | ✔ | |||||
|
0xCDF6730C | 2 | ✔ | |||||
|
0x6AA8BF67 | 2 | ✔ | ✔ | ✔ | |||
|
0xA866726F | 1 | ✔ | |||||
|
0x90D4BA5B | ✔ | ✔ | ✔ | ||||
|
0x03E64AEB | ✔ | Unused. | |||||
|
0x9FB437C7 | ✔ | All Enemy classes inherit from this. | |||||
|
0xC6C76EEE | ✔ | ||||||
|
0x4EE03B24 | ✔ | ||||||
|
0xCDB57387 | ✔ | ||||||
|
0x460F4FB2 | ✔ | ||||||
|
0xCF21DB89 | ✔ | ||||||
|
0xE5D82D97 | ✔ | ||||||
|
0x2743B85C | ✔ | ||||||
|
0xAD7CB421 | ✔ | ||||||
|
0xE2301EA9 | ✔ | ||||||
|
0xFC2951C1 | ✔ | ||||||
|
0x175ED698 | ✔ | ||||||
|
0x0E612078 | ✔ | ||||||
|
0xBA69EF8C | ✔ | All Enemy classes inherit from this. | |||||
|
0xB34B0083 | ✔ | ||||||
|
0x89F5441A | ✔ | ||||||
|
0x544AA34C | ✔ | ||||||
|
0x544E0BCC | ✔ | ||||||
|
0xEF5FD10C | ✔ | ||||||
|
0xF5B8CC9C | ✔ | ||||||
|
0x5B1CC119 | ✔ | All Enemy classes inherit from this. | |||||
|
0xD2D6A1E5 | 4 | ✔ | Bucket-O-Tron enemy. | ||||
|
0x1F9D54BB | 1 | ✔ | Frogfish tongue spinner enemy and Dennis SpongeBob enemy. | ||||
|
0x45B73B62 | 2 | ✔ | Jellyfish enemy. | ||||
|
0xCE41C144 | 3 | ✔ | Dennis boss. | ||||
|
0x11FCF451 | 2 | ✔ | Frogfish boss. | ||||
|
0xC92170B2 | 3 | ✔ | Mindy, SpongeBob, and Patrick NPC. | ||||
|
0xBE8C5CAC | 4 | ✔ | King Neptune boss. | ||||
|
0x44EA147A | 7 | ✔ | Fogger, Slammer, Flinger, Popper, Spinner, Mini-Merv, and Mervyn enemy. | ||||
|
0x495BFF9B | 2 | ✔ | Supply Crate, Balloon Box, Supply Computer, Thunder Barrel, and Steel Safe. | ||||
|
0x9FEC1E09 | 4 | ✔ | Turret enemy. | ||||
|
0xBB4864D8 | 1 | ✔ | ✔ | ✔ | ✔ | ||
|
0x381232B4 | ✔ | ✔ | |||||
|
0x390467A4 | ✔ | ✔ | ✔ | ||||
|
0x574749A4 | 1 | ✔ | ✔ | ||||
|
0x57CFB6F0 | 13 | ✔ | ✔ | ||||
|
0x8F012778 | 2 | ✔ | ✔ | Bus Stop/Port-O-Head for switching playable characters. | |||
|
0xE44DCEBA | ✔ | ||||||
|
0x9092FB14 | 1 | ✔ | ✔ | ✔ | ✔ | ||
|
0x571A5DBC | 2 | ✔ | |||||
|
0xE6120704 | 4-5 | ✔ | ✔ | ✔ | ✔ | ||
|
0x85BFDF34 | 1 | ✔ | ✔ | ✔ | Widget for Flythrough. | ||
|
0x35D19631 | ✔ | ||||||
|
0xE7928821 | ✔ | ||||||
|
0x1D3C54EE | 1 | ✔ | ✔ | ||||
|
0x832E4208 | ✔ | ✔ | ✔ | ||||
|
0xBBCB17C1 | 2 | ✔ | ✔ | ||||
|
0x8768334A | 2 | ✔ | |||||
|
0x844BCF76 | 2 | ✔ | ✔ | ||||
|
0x945F2E84 | ✔ | ||||||
|
0x4D81C1EE | 2 | ✔ | |||||
|
0x18028CA7 | 3 | ✔ | |||||
|
0x3D0D5121 | ✔ | ✔ | |||||
|
0x0934B196 | 11 | ✔ | ✔ | ✔ | Instance of text box. | ||
|
0xE9D2C1BB | 2 | ✔ | ✔ | ✔ | NPC talk box settings for specific playable characters. | ||
|
0x4DC449FC | 1 | ✔ | Taxi stops for warping to other levels. | ||||
|
0x70ADB7F9 | 1 or 2 | ✔ | ✔ | Teleport box. | |||
|
0x442E1337 | 1 | ✔ | ✔ | ✔ | ✔ | ✔ | Text box style settings. |
|
0xC279D693 | ✔ | ||||||
|
0xEA7B28D9 | ✔ | ||||||
|
0x798A7982 | ✔ | ||||||
|
0x4E09EC43 | 1 | ✔ | ✔ | ✔ | |||
|
0x5E5B5165 | 1 | ✔ | ✔ | ✔ | |||
|
0x50B5E94C | ✔ | ||||||
|
0xD3BB2158 | ✔ | ||||||
|
0xB8DA553C | ✔ | ||||||
|
0x8B3E732F | 3 | ✔ | ✔ | ||||
|
0x8D40B9AC | 3 | ✔ | ✔ | ||||
|
0xFF5691D2 | 1 | ✔ | ✔ | ||||
|
0x687ED0B0 | 1 | ✔ | ✔ | ✔ | |||
|
0xD6093241 | 1 | ✔ | |||||
|
0xF7E8697A | ✔ | ||||||
|
0x4B03B4F7 | ✔ | ||||||
|
0x4C1F2B57 | ✔ | ✔ | |||||
|
0x28478E46 | ✔ | ||||||
|
0x4D34C2B9 | ✔ | ||||||
|
0x1F662B3C | ✔ | ||||||
|
0x204D6ADB | 1 | ✔ | ✔ | ||||
|
0x4494F483 | ✔ | ||||||
|
0x890EB71C | 2 | ✔ | |||||
|
0xF98698FF | 1 | ✔ | ✔ | ✔ | ✔ | ||
|
0x1D40CE5D | 2 | ✔ | |||||
|
0x48C0D3A6 | ✔ | ✔ | |||||
|
0x2326640A | 1 | ✔ | |||||
|
0xFF7E4CFC | 4 | ✔ | |||||
|
0x2196C135 | 1 | ✔ | ✔ | ✔ | ✔ | ✔ | |
|
0x2DDFA8F4 | 2 | ✔ | |||||
|
0xFABDB3B3 | 1 | ✔ | ✔ | ✔ | ✔ | ||
|
0x01A49323 | 2 | ✔ | |||||
|
0xA7E09FF6 | ✔ | ✔ | ✔ | ✔ | Used as parent class, all ui assets inherit from this. | ||
|
0x8C2D107D | 2 | ✔ | ✔ | ✔ | ✔ | ||
|
0xE8753BAE | 0 | ✔ | ✔ | ✔ | ✔ | ||
|
0x337BCB31 | 1 | ✔ | ✔ | ✔ | ✔ | ||
|
0x79F807C7 | 2 | ✔ | ✔ | ||||
|
0xBD7646D7 | 2 | ✔ | ✔ | ✔ | ✔ | ||
|
0xFB50BACB | ✔ | ✔ | ✔ | ✔ | |||
Unknown | 0xEBC04E7B | ✔ | ✔ |