ProductMapObjDataTable

From Luma's Workshop
Revision as of 12:10, 10 August 2022 by LouisMiles (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

ProductMapObjDataTable is a BCSV table that defines map objects and assigns them a class. The file can be found in SMG2 in ObjectData/ProductMapObjDataTable.arc/root/ProductMapObjDataTable.bcsv. It contains the following fields:

Field Type Description
ModelName string The object name and model file in ObjectData.
ClassName string The name of the class that this object uses. A list of propery classes can be found below.

Classes

Class Function
AutoMakeMapObj Alias for SimpleMapObj.
SimpleMapObj A basic object that can be used in any level.
Supports BCK, BTK, BTP, BVA, and BRK. BPK is not supported. Animations must take on the same name as the model in order to be played, and they start playing once the object loads.
obj_arg0 allows for this model to change colours based on a file inside the archive called "ColorChange.brk". The value put into obj_arg0 corresponds to the frame to use.
obj_arg1 allows for this model to change textures based on a file inside the archive called "TexChange.btp" ("TexChange.btk" is also supported. Both btk and btp may exist at the same time, both will be used). The value put into obj_arg1 corresponds to the frame to use.
obj_arg2 dictates how far the shadow of the object drops (Calculated with in-game units).
Shadows can be used if you setup a Shadow.bcsv inside the object's ActorInfo.
SimpleMapObjFarMax Basic object with a far viewing range
SimpleMapObjWithEffect Basic object with particle effects
SimpleClipPartsObj Basic object that can be clipped
SimpleSeesawObj Basic seesaw MapParts object
MoveConditionType: Rotate back to initially rotation when jumped off? 1 = Yes, 0 = No
RotateSpeed: Rotation Speed; How fast the Seesaw rotates when jumped on
RotateAngle: Degree of rotation; How far the Seesaw can rotate on one side
RotateAxis: On which axis the object rotates; 0 = Z-Axis, 1 = ? (Doesn't rotate), 2 = Z- and X-Axis
RotateAccelType: ?
RotateStopTime: Back Swinging Speed; How fast it swings back when jumped off
SimpleFloaterObj Basic floater MapParts object
MoveConditionType: Depth; How far it sinks (a negative value to make the object rising up will glitch, turning the object over instead will work)
RotateSpeed: Sinking Speed; How fast it sinks
RotateAngle: Pop-Up Speed; How fast it comes back to it's initially height
LavaFloater Lava floating platform that requires effects
SimpleBreakableObj Object that can be destroyed with a SW_B switch. Can spawn items when destroyed via obj_arg3:
-1: Coin
0: Nothing
1: 1-Up mushroom
2: Power Star
3: Starbits
The Power Star requires a properly set up AppearPowerStarObj parameter.
SimpleBreakableCollisionObj
SimpleBreakableDeleteShadowObj
SimpleBreakableStrongLightObj
AnmModelSwitchMove Object for which animations with the name Move are played as soon as its SW_A switch is activated. Supports any animation type except BPK.
AnmModelSwitchMoveEndKill Special object for cutscenes with action type 4.

Plays animations with the name Move when activated and then disappears.

AnmModelSwitchMoveEndKillAnyAnim Same as AnmModelSwitchMoveEndKill but supports any animation type? More investigation needed.

Used by YoshiEggCapsuleCage.

AnmModelSwitchMoveValidateCollision
AnmModelSwitchMoveInvalidateCollision
AnmModelSwitchSyncBrk An object for which the following animation names are played:

Move When its SW_A switch is activated
Reverse When its SW_A switch is deactivated

RailMoveObj Path-moving MapParts platform. Can play animations with the name Move when moving.
RailMoveWithReverseAnimObj
RailMoveWithIndirectModelObj
RailMoveShadowDropYObj Path-moving MapParts platform that drops a shadow
RailMoveObjClipParts Path-moving platform that can be clipped
RailMoveDemoActionObj
RailMoveLavaProjmapObj
RailRotateMoveObj A MapParts platform that can move and rotate along a path.
point_arg0: Move speed/time (see point arg 7)
point_arg1: Acceleration speed/time (see point arg 7)
point_arg2: Rotate Speed/time (see point arg 7)
point_arg3: Rotation Angle. Relative (180 on two path points will rotate 360)
point_arg4: Rotation Axis. (0 = X, 1 = Y, 2 = Z)
point_arg5: Wait time. Stops movement at this path point for the provided time (in frames).
point_arg6: Rotation Type (-1 = Rotate at point, 1 = Rotate between this path point and next path point)
point_arg7: Calculation Type (-1 = Speed, 1 = Time. Time will define a fixed amount of time, while speed will set a value without care for how far away the next point is.)
RailAndRotateMoveObj
RotateMoveObj Rotating MapParts platform
MoveConditionType: 0 = Always moving, 1 = Wait for player to step on it.
RotateSpeed: Rotation Speed. How fast the object rotates. Negative numbers are allowed, and will rotate the object in the opposite direction.
RotateAngle: How much to rotate. For always spinning objects that just do 360, set this to 0.
RotateAxis: On which axis the object rotates. 0 = X, 1 = Y, 2 = Z.
RotateAccelType: ?
RotateStopTime: If applicable, how long to stop rotating for. In frames.
RotateMoveObjClipParts Rotating MapParts platform that can be clipped.
EffectObjR500F50 An effect object which can span with a radius of 500 and a Far Clip distance of 50.
EffectObjR1000F50 An effect object which can span with a radius of 1000 and a Far Clip distance of 50.
EffectObjR1500F400 An effect object which can span with a radius of 1500 and a Far Clip distance of 400.
EffectObj20x20x10SyncClipping
EffectObj50x50x10SyncClipping
EffectObj10x10x10SyncClipping
Sky A basic Sky that simply moves with the camera. Supports most animation formats with the same name as the model.
ProjectionMapSky Also a Sky model, but the difference is unknown
SoundSyncSky Sky model that plays a BRK animation to the beat
Air Basic atmosphere object
ProjectionMapAir
PriorDrawAir
AfterMapObjDrawAir
CloudStep Cloud platform that can move on paths as well
CloudSea Unknown; used by the bowl swamp planet in Cloudy Court Galaxy
HipDropMoveBlock Moves when groundpounded on its Y-Axis; used by the blocks in Puzzle Plank Galaxy
  • Obj_arg0: Units, how far the object may be pushed at most in one direction; a positive number lets you move the object from the bottom up, while a negative number lets you move it from the top down.
  • Obj_arg1: How many times you have to stomp on it until it reaches the end point set above
  • Obj_arg2: Rising Speed
  • Obj_arg3: Can be stomped only in one direction? -1 = No, 0 = Yes; allows stomping only in the direction set in arg_0
GorogoroCylinderRock Rolling cylinder rocks that move on a path and respawn; see Clockwork Ruins Galaxy
SwitchingMoveBlock Moves when a switch is activated. Used by the red and blue platforms in Flip-Out Galaxy
obj_arg0: How many units this object moves on its X Axis
obj_arg1: How many units this object moves on its Y Axis
obj_arg2: How many units this object moves on its Z Axis
obj_arg3: How many units this object rotates on its X Axis
obj_arg4: How many units this object rotates on its Y Axis
obj_arg5: How many units this object rotates on its Z Axis