EvilEngine/MINF

From Heavy Iron Modding
Revision as of 02:42, 7 September 2022 by MinecraftFreak73 (talk | contribs) (BrainIDs)

MINF
Model Info
TypeBinary
Games usedNight of 100 Frights

Battle for Bikini Bottom
The SpongeBob SquarePants Movie
The Incredibles
Rise of the Underminer

Ratatouille Prototype
Source codexModel.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

ROTU