EvilEngine/MINF
MINF | |
---|---|
Model Info | |
Type | Binary |
Games used | Night of 100 Frights Battle for Bikini Bottom |
Source code | xModel.h |
This asset defines information for enemies and NPCs. For example, they contain the asset IDs of the object's model, animations, and parameters.
Format
Offset | Type | Description |
---|---|---|
0x00 | uint32 | Magic - MINF |
0x04 | uint32 | NumMinfReference - number of model reference entries |
0x08 | AssetID | AnimTableID - ATBL id |
0x0C | AssetID | CombatID - Always null in BfBB. Always 0x9214B548 for TSSM Enemies. Not present in Scooby |
0x10 | AssetID | BrainID - only used by jellyfish_pink_bind.MINF in BfBB. Used for determining the Enemy's AI in TSSM, Incredibles, ROTU, and RatProto, see BrainIDs. Not present in Scooby |
0x14 | MinfReference[NumMinfReference] | Model references |
- | MinfParam[] | Model parameters |
MinfReference
Offset | Type | Description |
---|---|---|
0x00 | AssetID | ModelID - MODL or another MINF |
0x04 | uint16 | Flags |
0x06 | uint8 | Parent |
0x07 | uint8 | Bone |
Matrix | ||
0x08 | Vector3 | Right - usually (1, 0, 0) |
0x14 | Vector3 | Up - usually (0, 1, 0) |
0x20 | Vector3 | At - usually (0, 0, 1) |
0x2C | Vector3 | Pos - usually (0, 0, 0) |
MinfParam
Offset | Type | Description |
---|---|---|
0x00 | uint32 | Param Type - a BKDR hash of the name of the parameter type |
0x04 | uint8 | Length - packed length of entry. To get the actual length of the entry (including trailing padding zeroes, but not including the 4 bytes of the param type), add 1 to this then multiply by 4. |
0x05 | string | Value - Zero-terminated string, usually representing a floating point value or a vector. |
- | uint8[] | Padding - 1 to 3 zeroes to align to 4 bytes |
BrainIDs
TSSM
Notes: Common, Tiki, First See Type, Critter, Critbasic, Turret, Turspiral, Turpopup, Turturner, Turarty, Turtrace, Standard, Popper V2, Zapper V2, Zapper V3, Mervyn V1, Mervyn V2, Buckotron V1, Buckotron V7, and Last See Type are unused in retail. Popper V2 is an unused popper type that has six HP, shoots five projectiles, reloads in 3.2 seconds, and releases a yellow spray when teleporting. The executable references a "popper_v2_gumball.dff" model which means that popper V2 was a Goofy Goober variation. Zapper V2 and V3 have the same AI as Minimerv, which is Zapper V1. Mervyn V1 and V2 have the same AI as Mervyn V3. Turspiral, Turpopup, Turturner, Turarty, and Turtrace have completely different AI than the used turret types which means that they were most likely used for testing.
- NME_TYPE_COMMON
- NME_TYPE_TIKI
- NME_TYPE_TIKI_WOOD
- NME_TYPE_TIKI_LOVEY
- NME_TYPE_TIKI_QUIET
- NME_TYPE_TIKI_THUNDER
- NME_TYPE_TIKI_STONE
- NME_TYPE_FIRST_SEE_TYPE
- NME_TYPE_CRITTER
- NME_TYPE_CRITBASIC
- NME_TYPE_CRITJELLY
- NME_TYPE_BUCKETJELLY
- NME_TYPE_TURRET
- NME_TYPE_TURBARREL
- NME_TYPE_TURBARREL_V1
- NME_TYPE_TURBARREL_V2
- NME_TYPE_TURBARREL_V3
- NME_TYPE_TURSPIRAL
- NME_TYPE_TURPOPUP
- NME_TYPE_TURTURNER
- NME_TYPE_TURARTY
- NME_TYPE_TURTRACE
- NME_TYPE_STANDARD
- NME_TYPE_FOGGER
- NME_TYPE_FOGGER_V1
- NME_TYPE_FOGGER_V2
- NME_TYPE_FOGGER_V3
- NME_TYPE_SLAMMER
- NME_TYPE_SLAMMER_V1
- NME_TYPE_SLAMMER_V2
- NME_TYPE_SLAMMER_V3
- NME_TYPE_FLINGER
- NME_TYPE_FLINGER_V1
- NME_TYPE_FLINGER_V2
- NME_TYPE_FLINGER_V3
- NME_TYPE_SPINNER
- NME_TYPE_SPINNER_V1
- NME_TYPE_SPINNER_V2
- NME_TYPE_SPINNER_V3
- NME_TYPE_POPPER
- NME_TYPE_POPPER_V1
- NME_TYPE_POPPER_V2
- NME_TYPE_POPPER_V3
- NME_TYPE_ZAPPER_V1
- NME_TYPE_ZAPPER_V2
- NME_TYPE_ZAPPER_V3
- NME_TYPE_MERVYN
- NME_TYPE_MERVYN_V1
- NME_TYPE_MERVYN_V2
- NME_TYPE_MERVYN_V3
- NME_TYPE_BUCKOTRON
- NME_TYPE_BUCKOTRON_V1
- NME_TYPE_BUCKOTRON_V2
- NME_TYPE_BUCKOTRON_V3
- NME_TYPE_BUCKOTRON_V4
- NME_TYPE_BUCKOTRON_V5
- NME_TYPE_BUCKOTRON_V6
- NME_TYPE_BUCKOTRON_V7
- NME_TYPE_LAST_SEE_TYPE
- NME_TYPE_FROGFISH
- NME_TYPE_DENNIS
- NME_TYPE_DENNIS_V1
- NME_TYPE_DENNIS_V2
- NME_TYPE_NEPTUNE
- NME_TYPE_SBBAT
- NME_TYPE_TONGUESPIN
- NME_TYPE_MINDY
- NME_TYPE_NPC_PAT
- NME_TYPE_NPC_BOB
Incredibles
- NPC_TYPE_UNKNOWN
- NPC_TYPE_BASIC
- NPC_TYPE_COMMON
- NPC_TYPE_MELEE
- NPC_TYPE_MELEE_BOT
- NPC_TYPE_MINE
- NPC_TYPE_ORACLE
- NPC_TYPE_TURRET
- NPC_TYPE_SPIN_TURRET
- NPC_TYPE_FLY_ROCKET
- NPC_TYPE_FLY_SHOOTER
- NPC_TYPE_FLY_LOBBER
- NPC_TYPE_SHOOTER
- NPC_TYPE_VIOLET_GUN
- NPC_TYPE_SECURITY_BIRD
- NPC_TYPE_STREAMER
- NPC_TYPE_WATER_STREAMER
- NPC_TYPE_CAR
- NPC_TYPE_FRIENDLY
- NPC_TYPE_TANK
- NPC_TYPE_MELEE_SHIELED
- NPC_TYPE_LOBBER
- NPC_TYPE_VELOCIPOD
- NPC_TYPE_VELOCIPOD_DASH
- NPC_TYPE_VIPER
- NPC_TYPE_MISSLE
- NPC_TYPE_HELIBOT
- NPC_TYPE_BOT_LOB_WATER
- NPC_TYPE_BOT_LEAP
- NPC_TYPE_BOSS_OMNIDROID
- NPC_TYPE_BOSS_OMNIDROID10
- NPC_TYPE_BOSS_BOMB_CHOPPER
- NPC_TYPE_MONOPOD
- NPC_TYPE_INCREDIBALL
- NPC_TYPE_FROZONE
- PLAYER_TYPE_MR_INCREDIBLE_DISGUISED
- PLAYER_TYPE_MR_INCREDIBLE_OLD_FAT_BLUE
- PLAYER_TYPE_MR_INCREDIBLE_YOUNG
- PLAYER_TYPE_MR_INCREDIBLE_OLD_FAT_RED
- PLAYER_TYPE_MR_INCREDIBLE_OLD_FIT
- PLAYER_TYPE_ELASTI_GIRL_YOUNG
- PLAYER_TYPE_ELASTI_GIRL_OLD
- PLAYER_TYPE_DASH_REGULAR
- PLAYER_TYPE_DASH_COSTUMED
- PLAYER_TYPE_INCREDI_BALL
- PLAYER_TYPE_VIOLET
ROTU
- NPC_TYPE_UNKNOWN
- NPC_TYPE_HUMANOID
- NPC_TYPE_RAT
- NPC_TYPE_CHICKEN
- NPC_TYPE_DRILLER
- NPC_TYPE_SHOOTER
- NPC_TYPE_BOMBER
- NPC_TYPE_ROBOTTANK
- NPC_TYPE_ENFORCER
- NPC_TYPE_SCIENTIST
- NPC_TYPE_BOSSUNDERMINERDRILL
- NPC_TYPE_BOSSUNDERMINERUM
- PLAYER_TYPE_MR_INCREDIBLE_OLD_FIT
- PLAYER_TYPE_FROZONE
RatProto
- NPC_TYPE_UNKNOWN
- NPC_TYPE_THIEF
- NPC_TYPE_CHEF
- NPC_TYPE_ALARMER
- NPC_TYPE_WAITER
- NPC_TYPE_STIRRINGPLAYER
- NPC_TYPE_STIRRINGREMY
- NPC_TYPE_LEFTARM
- NPC_TYPE_RIGHTARM
- NPC_TYPE_POURNSWIRL
- NPC_TYPE_SPRINGBOARD
- NPC_TYPE_SWARM_OWL
- NPC_TYPE_SIMPLETON
- PLAYER_TYPE_REMY
- PLAYER_TYPE_HUMAN_VEHICLE
- PLAYER_TYPE_RATBALL
- PLAYER_TYPE_MG2_RATONBALL
- PLAYER_TYPE_MG3_PUFFEROIDS
- PLAYER_TYPE_MG4_STOMPER
- PLAYER_TYPE_MG5_CONGALINE
- PLAYER_TYPE_MG6_AVOIDTHESTUFF
Param Types
Note: the lists are possibly incomplete.
Scooby
- Parm_AttackDmgBegTime
- Parm_AttackDmgEndTime
- Parm_Bubbled_Time
- Parm_Chase_Rate
- Parm_Dazed_Time
- Parm_Detect_Height
- Parm_Detect_HeightOffset
- Parm_Detect_Radius
- Parm_DmgVert_Buttbounce
- Parm_Extend_Range
- Parm_Extend_Rate
- Parm_Extend_Time
- Parm_Extend_Width
- Parm_FOV_Angle
- Parm_Gloat_Time
- Parm_Gummed_Time
- Parm_GumVert_CustomA
- Parm_GumVert_CustomB
- Parm_GumVert_Elbow
- Parm_GumVert_LeftFoot
- Parm_GumVert_RightFoot
- Parm_Hit_Points
- Parm_Lob_Arcness
- Parm_Lob_Heaviness
- Parm_Lob_ProjectileTypeName
- Parm_Lob_Range
- Parm_Lob_Reload_Time
- Parm_Lob_Salvo
- Parm_Lob_Speed
- Parm_LOSVert_Eyeball
- Parm_MinDifficulty
- Parm_ModelScale_Base
- Parm_Move_Rate
- Parm_Pursue_Radius
- Parm_SAnim_Chase
- Parm_SAnim_Idle
- Parm_SAnim_Move
- Parm_SBound2OffsetVec
- Parm_SBound2Radius
- Parm_SBoundOffsetVec
- Parm_SBoundRadius
- Parm_SpawnMask
- Parm_Turn_Rate
- Parm_Wander_Angle
- Parm_WepVert_Attach
- Parm_WepVert_Launch
- Parm_WepVert_LaunchAlt
- Parm_WepVert_RBSwordHandle
- Parm_WepVert_RBSwordPivot
BFBB
- AlertTime
- AttackFOV
- AttackFrames01
- AttackFrames01a
- AttackFrames01b
- AttackFrames02
- AttackFrames02a
- AttackFrames02b
- AttackFrames03
- AttackFrames03a
- AttackFrames03b
- AttackPeriod
- AttackRadius
- AttackSize01
- Bogus_Share
- BoundMainCenter
- BoundMainExtent
- BoundMainIsBox
- DelayFidget
- DetectHeight
- DetectOffset
- DetectRadius
- DistShadowCast
- Empty
- EndTag_INIOnly
- EndTag_PropsOnly
- EndTag_Shared
- EsteemSlotA
- EsteemSlotB
- EsteemSlotC
- EsteemSlotD
- EsteemSlotE
- FactorAccel
- FactorDrift
- FactorElasticity
- FactorGravKnoc
- FactorMass
- FirstMovepoint
- HitPoints
- MoveSpeed
- NonRandomTalkAnims
- ScaleModel
- ShadowCacheRadius
- ShadowRasterRadius
- SoundRadius
- StunTime
- TestCount
- TurnSpeed
- VtxAttack
- VtxAttack1
- VtxAttack2
- VtxAttack3
- VtxAttack4
- VtxAttackBase
- VtxDmgFlameA
- VtxDmgFlameB
- VtxDmgFlameC
- VtxDmgSmokeA
- VtxDmgSmokeB
- VtxDmgSmokeC
- VtxExhaust
- VtxEyeball
- VtxGen01
- VtxGen02
- VtxGen03
- VtxGen04
- VtxGen05
- VtxPropel
TSSM
Note: unknown if the bound params work.
- BoundBone
- BoundCenter
- BoundOffset
- BoundRadius
- BoundScale
- IsBucketHead
- Shrapnel
- UseBoundingBox
Incredibles
- AboveAttackRadius
- Acceleration
- ApproachRadius
- ArmorHitPoints
- AttackRadius
- AttackTable
- BallPhysicsRadius
- BankForce
- BeepSoundGroup
- BladeBone
- BoneSpinDegreesPerSec
- BoundBone
- BoundCenter
- BoundOffset
- BoundRadius
- BoundScale
- CastShadow
- ChargeNoiseGroup
- ChargePastDistance
- ChargeTurnSpeed
- ChaseRadius
- Damage
- DeathBounce
- DeathShrapnel
- DestroyedModel
- DetectRadius
- ExhaustEffectOffset
- ExhaustEffectRadius
- ExhaustModel
- ExhaustSurface
- ExplodeTimer
- eyeBone
- EyeBoneOffset
- EyeModel
- FaceJumpDirection
- FactorAccel
- FactorDrift
- FactorMass
- FlyingNoiseGroup
- GrabBone
- GrabOffset
- GroupDelay
- GunBone
- HitPoints
- HitShrapnel
- IncrediPowerPoints
- LOSAngle
- LOSDistance
- Mass
- ME
- MinSpeed
- MoveSpeed
- MoveSpeedMult
- MPAngleBeforeMove
- MPArriveThreshold
- MPBankBlendK
- MPBankForce
- MPBeginTurnDistance
- MPOrientationBlendSpeed
- MPOrientToPath
- MPSpeed
- MPSpeedForce
- MPStopDistance
- MPVelocityBlendSpeed
- MU
- NeverHurtThings
- PauseTime
- ProjectileHitShrapnel
- Scale
- ShootAttackRadius
- ShotDelay
- ShotsInGroup
- SpeedForce
- TurnSpeed
- UpdateCullDistance
- UseBoundingBox
- WaitTime
- WeaponBone1
- WeaponModel1