Dummy Display Model Table - Lord-G-INC/Modular-PTD GitHub Wiki
The Dummy Display Model Table allows new visual models to be displayed in supporting objects.
Obj_arg6 of any DummyDisplayModel supporting actor now accesses a list defined in the new DummyDisplayModelTable BCSV file.
This module is by Evanbowl.
This is a new page and new information may be added at any time.
Archive | Type |
---|---|
/SystemData/DummyDisplayModelTable.arc | Custom |
You can get a sample table here. Or, you can find it in the disc folder inside the module.
Note 1: The first 15 rows of the Table, or Indices 0-14, are the DummyDisplayModel data entries used by the vanilla game.
Editing them is possible but it is recommended to keep these as vanilla as possible.
Indices 15-23 are new and not in the original game. These are all of the Power Ups.
Name | Data Type | JMap Hash | Is In Lookup? |
---|---|---|---|
Index |
Int | 043838B2 |
Yes |
ModelName |
String | FF974D34 |
Yes |
InitName |
String | 13D7AFDB |
No |
OffsetX |
Float | 06EDC605 |
Yes |
OffsetY |
Float | 06EDC606 |
Yes |
OffsetZ |
Float | 06EDC607 |
Yes |
Param00Int |
Int | 8F1F6D82 |
Yes |
AnimName |
String | D46BA45C |
Yes |
ColorChange |
Int | 81F680D3 |
Yes |
RotateType |
Int | 72209755 |
Yes |
SetupType |
Int | D452D737 |
No |
NoLightCtrl |
Int | E9CF93C0 |
No |
BehaviorType |
Int | 7DDC90CC |
No |
(In Lookup means the hash is present in the hash databases of tools such as Whitehole or pyjmap)
This table uses hashes that do not exist in the lookup by default. It is recommened to copy and paste this into the bottom of Whitehole's hashlookup.txt
# DummyDisplayModelTable
InitName
SetupType
NoLightCtrl
BehaviorType
It is optional, but you would want these columns to actually be named, instead of being represented by a bunch of numbers.
These first columns populate a DummyDisplayModelInfo instance.
Index - Required This column connects Obj_arg7 to a row in the DummyDisplayModelTable. Obj_arg7 set to 9 would use Index #9, which is defined as Goomba Numerical order is not required, any index ID can be used as long as there is only one of each.
This defines the ObjectData file you intend to use as a model. Must be a valid model Pulls from /ObjectData/ModelName.arc
Defines an InitActor file to initialize. "Dummy" would read from "InitActorDummy.bcsv" If 0 (default), the game will read from "ActorInfo.bcsv"
Makes up a vector used to offset the model's position.
This function defined by this parameter is unknown, however models from the vanilla game define values here.
Starts an animation after DummyDisplayModel initialization.
Determines whether or not the DummyDisplayModel is paired with a BTP or BRK animation. The BTPbr/K animation frame is controlled by Obj_arg6 -> This is used by Kinopio(1) and Tico(5)
These next columns are new and not part of DummyDisplayModelInfo.
Defines how a model rotates. 1 = CoinRotator, 2 = Power Star. Any other values disable -> Note: DummyDisplayModels created by any of the CrystalCage actors will not spin, completely ignoring this setting.
Determines what extra initialization process apply to a DummyDisplayModel . The list is as follows.
ID | Function |
---|---|
1 | Shadow Sphere |
2 | Power Star Setup Color |
3 | Grand Star Setup Color |
4 | SuperSpinDriver Start Color Animation |
5 | Create LodCtrl |
-> Only one SetupType can be used at a time.
If enabled, the DummyDisplayModel will not initialize LightCtrl.
Determines how a DummyDisplayModel supporting actor uses the DummyDisplayModel
-> This is actor specific! A table is provided.
Behavior ID | BreakableCage | CrystalCage | Teresa |
---|---|---|---|
0 | -- | Declares 1 Coin | -- |
1 | -- | Plays SvKinopioPuha on break |
-- |
4 | Declares 5 StarPieces | Declares 5 StarPieces | -- |
5 | -- | Plays OjCryCageMvTicoApr on break |
-- |
6 | -- | -- | Constructs KeySwitch |
7 | -- | Declares PowerStar | -- |
Without this module, these functions are determined by the Model ID of each model. As such, all of the DummyDisplayModels from the original game have their BehaviorType
set to their original Model IDs.
Kinopio
, Index 1, is bugged in SMG2. It may appear invisible from outside CrystalCages.
To fix this bug, set InitName
to "Dummy"
and supply an InitActorDummy.bcsv
with the Executor parameter set to "CrystalItem"
.