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:
|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.|
|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
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: 1-Up mushroom
2: Power Star
The Power Star requires a properly set up AppearPowerStarObj parameter.
|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.
|AnmModelSwitchSyncBrk||An object for which the following animation names are played:
Move When its SW_A switch is activated
|RailMoveObj||Path-moving MapParts platform. Can play animations with the name Move when moving.|
|RailMoveShadowDropYObj||Path-moving MapParts platform that drops a shadow|
|RailMoveObjClipParts||Path-moving platform that can be clipped|
|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.)
|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.
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.|
|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|
|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|
|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