mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2025-10-30 08:01:01 +00:00
Various Lua object API improvements
Lifted immutablity of most Lua struct fields Added object constants to Lua API Added ability to set struct pointers in Lua API Prevented respawners for Lua-spawned objects
This commit is contained in:
parent
82d60fed4f
commit
33ced38baa
12 changed files with 328 additions and 169 deletions
|
|
@ -1,4 +1,5 @@
|
|||
import os
|
||||
from xml.etree.ElementInclude import include
|
||||
from common import *
|
||||
from extract_constants import *
|
||||
|
||||
|
|
@ -21,16 +22,16 @@ in_files = [
|
|||
"src/pc/djui/djui_hud_utils.h",
|
||||
"include/behavior_table.h",
|
||||
"src/pc/lua/smlua_model_utils.h",
|
||||
"include/object_constants.h",
|
||||
]
|
||||
|
||||
exclude_constants = [
|
||||
'^MAXCONTROLLERS$',
|
||||
'^LEVEL_.*',
|
||||
'^AREA_.*',
|
||||
'^CONT_ERR.*',
|
||||
'^READ_MASK$',
|
||||
'^SIGN_RANGE$',
|
||||
]
|
||||
exclude_constants = {
|
||||
'*': [ '^MAXCONTROLLERS$', '^LEVEL_.*', '^AREA_.*', '^CONT_ERR.*', '^READ_MASK$', '^SIGN_RANGE$', ]
|
||||
}
|
||||
|
||||
include_constants = {
|
||||
"include/object_constants.h" : [ "^ACTIVE_FLAG_", "^ACTIVE_PARTICLE_", "^HELD_", "^OBJ_FLAG_", "^RESPAWN_INFO_", ],
|
||||
}
|
||||
|
||||
pretend_find = [
|
||||
'SOUND_ARG_LOAD'
|
||||
|
|
@ -64,7 +65,25 @@ def saw_constant(identifier):
|
|||
seen_constants.append(identifier)
|
||||
return False
|
||||
|
||||
def process_enum(line):
|
||||
def allowed_identifier(filename, ident):
|
||||
exclude_list = exclude_constants['*']
|
||||
|
||||
if filename in exclude_constants:
|
||||
exclude_list.extend(exclude_constants[filename])
|
||||
|
||||
for exclude in exclude_list:
|
||||
if re.search(exclude, ident) != None:
|
||||
return False
|
||||
|
||||
if filename in include_constants:
|
||||
for include in include_constants[filename]:
|
||||
if re.search(include, ident) != None:
|
||||
return True
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
def process_enum(filename, line):
|
||||
_, ident, val = line.split(' ', 2)
|
||||
|
||||
if '{' not in val or '}' not in val:
|
||||
|
|
@ -98,12 +117,7 @@ def process_enum(line):
|
|||
index += 1
|
||||
continue
|
||||
|
||||
excluded = False
|
||||
for exclude in exclude_constants:
|
||||
if re.search(exclude, field) != None:
|
||||
excluded = True
|
||||
|
||||
if not excluded:
|
||||
if allowed_identifier(filename, field):
|
||||
constants.append([field, str(index)])
|
||||
|
||||
if saw_constant(field):
|
||||
|
|
@ -115,7 +129,7 @@ def process_enum(line):
|
|||
return ret
|
||||
|
||||
|
||||
def process_define(line):
|
||||
def process_define(filename, line):
|
||||
_, ident, val = line.split(' ', 2)
|
||||
|
||||
val = val.replace('(u8)', '')
|
||||
|
|
@ -129,9 +143,8 @@ def process_define(line):
|
|||
print('UNRECOGNIZED DEFINE: ' + line)
|
||||
return None
|
||||
|
||||
for exclude in exclude_constants:
|
||||
if re.search(exclude, ident) != None:
|
||||
return None
|
||||
if not allowed_identifier(filename, ident):
|
||||
return None
|
||||
|
||||
if saw_constant(ident):
|
||||
print('>>> ' + line)
|
||||
|
|
@ -139,11 +152,11 @@ def process_define(line):
|
|||
return [ident, val]
|
||||
|
||||
|
||||
def process_line(line):
|
||||
def process_line(filename, line):
|
||||
if line.startswith('enum '):
|
||||
return process_enum(line)
|
||||
return process_enum(filename, line)
|
||||
elif line.startswith('#define '):
|
||||
return process_define(line)
|
||||
return process_define(filename, line)
|
||||
else:
|
||||
print("UNRECOGNIZED LINE: " + line)
|
||||
return None
|
||||
|
|
@ -155,7 +168,7 @@ def process_file(filename):
|
|||
constants = []
|
||||
lines = extract_constants(get_path(filename)).splitlines()
|
||||
for line in lines:
|
||||
c = process_line(line)
|
||||
c = process_line(filename, line)
|
||||
if c != None:
|
||||
constants.append(c)
|
||||
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ override_field_immutable = {
|
|||
"Character": [ "*" ],
|
||||
"NetworkPlayer": [ "*" ],
|
||||
"TextureInfo": [ "*" ],
|
||||
"Object": ["oSyncID"],
|
||||
"Object": ["oSyncID", "createdThroughNetwork"],
|
||||
}
|
||||
|
||||
sLuaManuallyDefinedStructs = [
|
||||
|
|
@ -196,7 +196,9 @@ def get_struct_field_info(struct, field):
|
|||
|
||||
lvt = translate_type_to_lvt(ftype)
|
||||
lot = translate_type_to_lot(ftype)
|
||||
fimmutable = str(lvt == 'LVT_COBJECT' or lvt.endswith('_P') or 'const ' in ftype).lower()
|
||||
fimmutable = str(lvt == 'LVT_COBJECT' or 'const ' in ftype).lower()
|
||||
if lvt.startswith('LVT_') and lvt.endswith('_P') and 'OBJECT' not in lvt:
|
||||
fimmutable = 'true'
|
||||
|
||||
if sid in override_field_immutable:
|
||||
if fid in override_field_immutable[sid] or '*' in override_field_immutable[sid]:
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
- [MarioAnimID](#MarioAnimID)
|
||||
- [network_player.h](#network_player.h)
|
||||
- [NetworkPlayerType](#NetworkPlayerType)
|
||||
- [object_constants.h](#object_constants.h)
|
||||
- [os_cont.h](#os_cont.h)
|
||||
- [sm64.h](#sm64.h)
|
||||
- [smlua_hooks.h](#smlua_hooks.h)
|
||||
|
|
@ -1625,6 +1626,67 @@
|
|||
|
||||
<br />
|
||||
|
||||
## [object_constants.h](#object_constants.h)
|
||||
- ACTIVE_FLAG_ACTIVE
|
||||
- ACTIVE_FLAG_DEACTIVATED
|
||||
- ACTIVE_FLAG_DITHERED_ALPHA
|
||||
- ACTIVE_FLAG_FAR_AWAY
|
||||
- ACTIVE_FLAG_INITIATED_TIME_STOP
|
||||
- ACTIVE_FLAG_IN_DIFFERENT_ROOM
|
||||
- ACTIVE_FLAG_MOVE_THROUGH_GRATE
|
||||
- ACTIVE_FLAG_UNIMPORTANT
|
||||
- ACTIVE_FLAG_UNK10
|
||||
- ACTIVE_FLAG_UNK2
|
||||
- ACTIVE_FLAG_UNK8
|
||||
- ACTIVE_FLAG_UNK9
|
||||
- ACTIVE_PARTICLE_BREATH
|
||||
- ACTIVE_PARTICLE_BUBBLE
|
||||
- ACTIVE_PARTICLE_DIRT
|
||||
- ACTIVE_PARTICLE_DUST
|
||||
- ACTIVE_PARTICLE_FIRE
|
||||
- ACTIVE_PARTICLE_H_STAR
|
||||
- ACTIVE_PARTICLE_IDLE_WATER_WAVE
|
||||
- ACTIVE_PARTICLE_LEAF
|
||||
- ACTIVE_PARTICLE_MIST_CIRCLE
|
||||
- ACTIVE_PARTICLE_PLUNGE_BUBBLE
|
||||
- ACTIVE_PARTICLE_SHALLOW_WATER_SPLASH
|
||||
- ACTIVE_PARTICLE_SHALLOW_WATER_WAVE
|
||||
- ACTIVE_PARTICLE_SNOW
|
||||
- ACTIVE_PARTICLE_SPARKLES
|
||||
- ACTIVE_PARTICLE_TRIANGLE
|
||||
- ACTIVE_PARTICLE_UNUSED_1
|
||||
- ACTIVE_PARTICLE_UNUSED_2
|
||||
- ACTIVE_PARTICLE_V_STAR
|
||||
- ACTIVE_PARTICLE_WATER_SPLASH
|
||||
- ACTIVE_PARTICLE_WAVE_TRAIL
|
||||
- HELD_DROPPED
|
||||
- HELD_FREE
|
||||
- HELD_HELD
|
||||
- HELD_THROWN
|
||||
- OBJ_FLAG_0020
|
||||
- OBJ_FLAG_0100
|
||||
- OBJ_FLAG_1000
|
||||
- OBJ_FLAG_30
|
||||
- OBJ_FLAG_8000
|
||||
- OBJ_FLAG_ACTIVE_FROM_AFAR
|
||||
- OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO
|
||||
- OBJ_FLAG_COMPUTE_DIST_TO_MARIO
|
||||
- OBJ_FLAG_HOLDABLE
|
||||
- OBJ_FLAG_MOVE_XZ_USING_FVEL
|
||||
- OBJ_FLAG_MOVE_Y_WITH_TERMINAL_VEL
|
||||
- OBJ_FLAG_PERSISTENT_RESPAWN
|
||||
- OBJ_FLAG_SET_FACE_ANGLE_TO_MOVE_ANGLE
|
||||
- OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW
|
||||
- OBJ_FLAG_SET_THROW_MATRIX_FROM_TRANSFORM
|
||||
- OBJ_FLAG_TRANSFORM_RELATIVE_TO_PARENT
|
||||
- OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
|
||||
- RESPAWN_INFO_DONT_RESPAWN
|
||||
- RESPAWN_INFO_TYPE_16
|
||||
- RESPAWN_INFO_TYPE_32
|
||||
- RESPAWN_INFO_TYPE_NULL
|
||||
|
||||
<br />
|
||||
|
||||
## [os_cont.h](#os_cont.h)
|
||||
- A_BUTTON
|
||||
- B_BUTTON
|
||||
|
|
|
|||
|
|
@ -69,11 +69,11 @@
|
|||
| animID | integer | |
|
||||
| animTimer | integer | |
|
||||
| animYTrans | integer | |
|
||||
| curAnim | [Animation](#Animation) | read-only |
|
||||
| curAnim | [Animation](#Animation) | |
|
||||
| prevAnimFrame | integer | |
|
||||
| prevAnimFrameTimestamp | integer | |
|
||||
| prevAnimID | integer | |
|
||||
| prevAnimPtr | [Animation](#Animation) | read-only |
|
||||
| prevAnimPtr | [Animation](#Animation) | |
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
|
|
@ -101,19 +101,19 @@
|
|||
|
||||
| Field | Type | Access |
|
||||
| ----- | ---- | ------ |
|
||||
| camera | [Camera](#Camera) | read-only |
|
||||
| camera | [Camera](#Camera) | |
|
||||
| flags | integer | |
|
||||
| index | integer | |
|
||||
| instantWarps | [InstantWarp](#InstantWarp) | read-only |
|
||||
| instantWarps | [InstantWarp](#InstantWarp) | |
|
||||
| macroObjects | Pointer <integer> | read-only |
|
||||
| musicParam | integer | |
|
||||
| musicParam2 | integer | |
|
||||
| objectSpawnInfos | [SpawnInfo](#SpawnInfo) | read-only |
|
||||
| paintingWarpNodes | [WarpNode](#WarpNode) | read-only |
|
||||
| objectSpawnInfos | [SpawnInfo](#SpawnInfo) | |
|
||||
| paintingWarpNodes | [WarpNode](#WarpNode) | |
|
||||
| surfaceRooms | Pointer <integer> | read-only |
|
||||
| terrainData | Pointer <integer> | read-only |
|
||||
| terrainType | integer | |
|
||||
| warpNodes | [ObjectWarpNode](#ObjectWarpNode) | read-only |
|
||||
| warpNodes | [ObjectWarpNode](#ObjectWarpNode) | |
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
|
|
@ -358,11 +358,11 @@
|
|||
|
||||
| Field | Type | Access |
|
||||
| ----- | ---- | ------ |
|
||||
| children | [GraphNode](#GraphNode) | read-only |
|
||||
| children | [GraphNode](#GraphNode) | |
|
||||
| flags | integer | |
|
||||
| next | [GraphNode](#GraphNode) | read-only |
|
||||
| parent | [GraphNode](#GraphNode) | read-only |
|
||||
| prev | [GraphNode](#GraphNode) | read-only |
|
||||
| next | [GraphNode](#GraphNode) | |
|
||||
| parent | [GraphNode](#GraphNode) | |
|
||||
| prev | [GraphNode](#GraphNode) | |
|
||||
| type | integer | |
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
|
@ -389,9 +389,9 @@
|
|||
| prevThrowMatrixTimestamp | integer | |
|
||||
| prevTimestamp | integer | |
|
||||
| scale | [Vec3f](#Vec3f) | read-only |
|
||||
| sharedChild | [GraphNode](#GraphNode) | read-only |
|
||||
| sharedChild | [GraphNode](#GraphNode) | |
|
||||
| skipInterpolationTimestamp | integer | |
|
||||
| unk4C | [SpawnInfo](#SpawnInfo) | read-only |
|
||||
| unk4C | [SpawnInfo](#SpawnInfo) | |
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
|
|
@ -499,7 +499,7 @@
|
|||
| Field | Type | Access |
|
||||
| ----- | ---- | ------ |
|
||||
| currentAnimAddr | Pointer <integer> | read-only |
|
||||
| targetAnim | [Animation](#Animation) | read-only |
|
||||
| targetAnim | [Animation](#Animation) | |
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
|
|
@ -535,22 +535,22 @@
|
|||
| actionState | integer | |
|
||||
| actionTimer | integer | |
|
||||
| angleVel | [Vec3s](#Vec3s) | read-only |
|
||||
| animation | [MarioAnimation](#MarioAnimation) | read-only |
|
||||
| area | [Area](#Area) | read-only |
|
||||
| bubbleObj | [Object](#Object) | read-only |
|
||||
| animation | [MarioAnimation](#MarioAnimation) | |
|
||||
| area | [Area](#Area) | |
|
||||
| bubbleObj | [Object](#Object) | |
|
||||
| capTimer | integer | |
|
||||
| ceil | [Surface](#Surface) | read-only |
|
||||
| ceil | [Surface](#Surface) | |
|
||||
| ceilHeight | number | |
|
||||
| character | [Character](#Character) | read-only |
|
||||
| character | [Character](#Character) | |
|
||||
| collidedObjInteractTypes | integer | |
|
||||
| controller | [Controller](#Controller) | read-only |
|
||||
| controller | [Controller](#Controller) | |
|
||||
| curAnimOffset | number | |
|
||||
| currentRoom | integer | |
|
||||
| doubleJumpTimer | integer | |
|
||||
| faceAngle | [Vec3s](#Vec3s) | read-only |
|
||||
| fadeWarpOpacity | integer | |
|
||||
| flags | integer | |
|
||||
| floor | [Surface](#Surface) | read-only |
|
||||
| floor | [Surface](#Surface) | |
|
||||
| floorAngle | integer | |
|
||||
| floorHeight | number | |
|
||||
| forwardVel | number | |
|
||||
|
|
@ -559,17 +559,17 @@
|
|||
| freeze | integer | |
|
||||
| healCounter | integer | |
|
||||
| health | integer | |
|
||||
| heldByObj | [Object](#Object) | read-only |
|
||||
| heldObj | [Object](#Object) | read-only |
|
||||
| heldByObj | [Object](#Object) | |
|
||||
| heldObj | [Object](#Object) | |
|
||||
| hurtCounter | integer | |
|
||||
| input | integer | |
|
||||
| intendedMag | number | |
|
||||
| intendedYaw | integer | |
|
||||
| interactObj | [Object](#Object) | read-only |
|
||||
| interactObj | [Object](#Object) | |
|
||||
| invincTimer | integer | |
|
||||
| isSnoring | integer | |
|
||||
| marioBodyState | [MarioBodyState](#MarioBodyState) | read-only |
|
||||
| marioObj | [Object](#Object) | read-only |
|
||||
| marioBodyState | [MarioBodyState](#MarioBodyState) | |
|
||||
| marioObj | [Object](#Object) | |
|
||||
| minimumBoneY | number | |
|
||||
| nonInstantWarpPos | [Vec3f](#Vec3f) | read-only |
|
||||
| numCoins | integer | |
|
||||
|
|
@ -583,22 +583,22 @@
|
|||
| prevAction | integer | |
|
||||
| prevNumStarsForDialog | integer | |
|
||||
| quicksandDepth | number | |
|
||||
| riddenObj | [Object](#Object) | read-only |
|
||||
| riddenObj | [Object](#Object) | |
|
||||
| slideVelX | number | |
|
||||
| slideVelZ | number | |
|
||||
| slideYaw | integer | |
|
||||
| spawnInfo | [SpawnInfo](#SpawnInfo) | read-only |
|
||||
| spawnInfo | [SpawnInfo](#SpawnInfo) | |
|
||||
| splineKeyframeFraction | number | |
|
||||
| splineState | integer | |
|
||||
| squishTimer | integer | |
|
||||
| statusForCamera | [PlayerCameraState](#PlayerCameraState) | read-only |
|
||||
| statusForCamera | [PlayerCameraState](#PlayerCameraState) | |
|
||||
| terrainSoundAddend | integer | |
|
||||
| twirlYaw | integer | |
|
||||
| unkB0 | integer | |
|
||||
| unkC4 | number | |
|
||||
| usedObj | [Object](#Object) | read-only |
|
||||
| usedObj | [Object](#Object) | |
|
||||
| vel | [Vec3f](#Vec3f) | read-only |
|
||||
| wall | [Surface](#Surface) | read-only |
|
||||
| wall | [Surface](#Surface) | |
|
||||
| wallKickTimer | integer | |
|
||||
| wasNetworkVisible | integer | |
|
||||
| waterLevel | integer | |
|
||||
|
|
@ -666,7 +666,7 @@
|
|||
| bhvDelayTimer | integer | |
|
||||
| bhvStackIndex | integer | |
|
||||
| collidedObjInteractTypes | integer | |
|
||||
| createdThroughNetwork | integer | |
|
||||
| createdThroughNetwork | integer | read-only |
|
||||
| curBhvCommand | Pointer <BehaviorScript> | read-only |
|
||||
| globalPlayerIndex | integer | |
|
||||
| header | [ObjectNode](#ObjectNode) | read-only |
|
||||
|
|
@ -677,9 +677,9 @@
|
|||
| hurtboxHeight | number | |
|
||||
| hurtboxRadius | number | |
|
||||
| numCollidedObjs | integer | |
|
||||
| parentObj | [Object](#Object) | read-only |
|
||||
| platform | [Object](#Object) | read-only |
|
||||
| prevObj | [Object](#Object) | read-only |
|
||||
| parentObj | [Object](#Object) | |
|
||||
| platform | [Object](#Object) | |
|
||||
| prevObj | [Object](#Object) | |
|
||||
| respawnInfoType | integer | |
|
||||
| unused1 | integer | |
|
||||
|
||||
|
|
@ -754,14 +754,14 @@
|
|||
| oFloorType | integer | |
|
||||
| oFloorRoom | integer | |
|
||||
| oAngleToHome | integer | |
|
||||
| oFloor | [Surface](#Surface) | read-only |
|
||||
| oFloor | [Surface](#Surface) | |
|
||||
| oDeathSound | integer | |
|
||||
|
||||
### Object-Dependent Data Fields
|
||||
| Field | Type | Access |
|
||||
| ----- | ---- | ------ |
|
||||
| oPathedStartWaypoint | [Waypoint](#Waypoint) | read-only |
|
||||
| oPathedPrevWaypoint | [Waypoint](#Waypoint) | read-only |
|
||||
| oPathedStartWaypoint | [Waypoint](#Waypoint) | |
|
||||
| oPathedPrevWaypoint | [Waypoint](#Waypoint) | |
|
||||
| oPathedPrevWaypointFlags | integer | |
|
||||
| oPathedTargetPitch | integer | |
|
||||
| oPathedTargetYaw | integer | |
|
||||
|
|
@ -808,7 +808,7 @@
|
|||
| oBirdTargetYaw | integer | |
|
||||
| oBirdChirpChirpUnkF4 | integer | |
|
||||
| oEndBirdUnk104 | number | |
|
||||
| oHiddenBlueCoinSwitch | [Object](#Object) | read-only |
|
||||
| oHiddenBlueCoinSwitch | [Object](#Object) | |
|
||||
| oBobombBlinkTimer | integer | |
|
||||
| oBobombFuseLit | integer | |
|
||||
| oBobombFuseTimer | integer | |
|
||||
|
|
@ -830,7 +830,7 @@
|
|||
| oBooOscillationTimer | integer | |
|
||||
| oBooMoveYawDuringHit | integer | |
|
||||
| oBooMoveYawBeforeHit | number | |
|
||||
| oBooParentBigBoo | [Object](#Object) | read-only |
|
||||
| oBooParentBigBoo | [Object](#Object) | |
|
||||
| oBooNegatedAggressiveness | number | |
|
||||
| oBooInitialMoveYaw | integer | |
|
||||
| oBooTurningSpeed | integer | |
|
||||
|
|
@ -903,7 +903,7 @@
|
|||
| oCannonPlayerIndex | integer | |
|
||||
| oCapUnkF4 | integer | |
|
||||
| oCapUnkF8 | integer | |
|
||||
| oChainChompSegments | [ChainSegment](#ChainSegment) | read-only |
|
||||
| oChainChompSegments | [ChainSegment](#ChainSegment) | |
|
||||
| oChainChompMaxDistFromPivotPerChainPart | number | |
|
||||
| oChainChompMaxDistBetweenChainParts | number | |
|
||||
| oChainChompDistToPivot | number | |
|
||||
|
|
@ -998,7 +998,7 @@
|
|||
| oFlameUnkF4 | number | |
|
||||
| oFlameUnkF8 | integer | |
|
||||
| oFlameUnkFC | number | |
|
||||
| oFlameUnk100 | [Object](#Object) | read-only |
|
||||
| oFlameUnk100 | [Object](#Object) | |
|
||||
| oBlueFlameUnkF8 | number | |
|
||||
| oSmallPiranhaFlameStartSpeed | number | |
|
||||
| oSmallPiranhaFlameEndSpeed | number | |
|
||||
|
|
@ -1042,7 +1042,7 @@
|
|||
| oHauntedChairUnk104 | integer | |
|
||||
| oHeaveHoUnk88 | integer | |
|
||||
| oHeaveHoUnkF4 | number | |
|
||||
| oHiddenObjectUnkF4 | [Object](#Object) | read-only |
|
||||
| oHiddenObjectUnkF4 | [Object](#Object) | |
|
||||
| oHootAvailability | integer | |
|
||||
| oHootMarioReleaseTime | integer | |
|
||||
| oHorizontalMovementUnkF4 | integer | |
|
||||
|
|
@ -1106,7 +1106,7 @@
|
|||
| oIntroLakituUnk108 | number | |
|
||||
| oIntroLakituUnk10C | number | |
|
||||
| oIntroLakituUnk110 | number | |
|
||||
| oIntroLakituCloud | [Object](#Object) | read-only |
|
||||
| oIntroLakituCloud | [Object](#Object) | |
|
||||
| oMenuButtonState | integer | |
|
||||
| oMenuButtonTimer | integer | |
|
||||
| oMenuButtonOrigPosX | number | |
|
||||
|
|
@ -1127,14 +1127,14 @@
|
|||
| oMipsStartWaypointIndex | integer | |
|
||||
| oMipsForwardVelocity | number | |
|
||||
| oMoneybagJumpState | integer | |
|
||||
| oMontyMoleCurrentHole | [Object](#Object) | read-only |
|
||||
| oMontyMoleCurrentHole | [Object](#Object) | |
|
||||
| oMontyMoleHeightRelativeToFloor | number | |
|
||||
| oMontyMoleHoleX | number | |
|
||||
| oMontyMoleHoleY | number | |
|
||||
| oMontyMoleHoleZ | number | |
|
||||
| oMontyMoleHoleCooldown | integer | |
|
||||
| oMrBlizzardScale | number | |
|
||||
| oMrBlizzardHeldObj | [Object](#Object) | read-only |
|
||||
| oMrBlizzardHeldObj | [Object](#Object) | |
|
||||
| oMrBlizzardGraphYVel | number | |
|
||||
| oMrBlizzardTimer | integer | |
|
||||
| oMrBlizzardDizziness | number | |
|
||||
|
|
@ -1152,7 +1152,7 @@
|
|||
| oRespawnerModelToRespawn | integer | |
|
||||
| oRespawnerMinSpawnDist | number | |
|
||||
| oOpenableGrillUnk88 | integer | |
|
||||
| oOpenableGrillUnkF4 | [Object](#Object) | read-only |
|
||||
| oOpenableGrillUnkF4 | [Object](#Object) | |
|
||||
| oIntroPeachYawFromFocus | number | |
|
||||
| oIntroPeachPitchFromFocus | number | |
|
||||
| oIntroPeachDistToCamera | number | |
|
||||
|
|
@ -1182,15 +1182,15 @@
|
|||
| oPitouneUnkF8 | number | |
|
||||
| oPitouneUnkFC | number | |
|
||||
| oPlatformTimer | integer | |
|
||||
| oPlatformUnkF8 | [Object](#Object) | read-only |
|
||||
| oPlatformUnkF8 | [Object](#Object) | |
|
||||
| oPlatformUnkFC | integer | |
|
||||
| oPlatformUnk10C | number | |
|
||||
| oPlatformUnk110 | number | |
|
||||
| oPlatformOnTrackBaseBallIndex | integer | |
|
||||
| oPlatformOnTrackDistMovedSinceLastBall | number | |
|
||||
| oPlatformOnTrackSkiLiftRollVel | number | |
|
||||
| oPlatformOnTrackStartWaypoint | [Waypoint](#Waypoint) | read-only |
|
||||
| oPlatformOnTrackPrevWaypoint | [Waypoint](#Waypoint) | read-only |
|
||||
| oPlatformOnTrackStartWaypoint | [Waypoint](#Waypoint) | |
|
||||
| oPlatformOnTrackPrevWaypoint | [Waypoint](#Waypoint) | |
|
||||
| oPlatformOnTrackPrevWaypointFlags | integer | |
|
||||
| oPlatformOnTrackPitch | integer | |
|
||||
| oPlatformOnTrackYaw | integer | |
|
||||
|
|
@ -1239,7 +1239,7 @@
|
|||
| oSkeeterWaitTime | integer | |
|
||||
| oSkeeterLastWaterY | number | |
|
||||
| oSkeeterUnk1AC | integer | |
|
||||
| oJrbSlidingBoxUnkF4 | [Object](#Object) | read-only |
|
||||
| oJrbSlidingBoxUnkF4 | [Object](#Object) | |
|
||||
| oJrbSlidingBoxUnkF8 | integer | |
|
||||
| oJrbSlidingBoxUnkFC | number | |
|
||||
| oWFSlidBrickPtfmMovVel | number | |
|
||||
|
|
@ -1393,10 +1393,10 @@
|
|||
| oWhitePuffUnkF4 | number | |
|
||||
| oWhitePuffUnkF8 | integer | |
|
||||
| oWhitePuffUnkFC | integer | |
|
||||
| oStrongWindParticlePenguinObj | [Object](#Object) | read-only |
|
||||
| oStrongWindParticlePenguinObj | [Object](#Object) | |
|
||||
| oWhompShakeVal | integer | |
|
||||
| oWigglerFallThroughFloorsHeight | number | |
|
||||
| oWigglerSegments | [ChainSegment](#ChainSegment) | read-only |
|
||||
| oWigglerSegments | [ChainSegment](#ChainSegment) | |
|
||||
| oWigglerWalkAnimSpeed | number | |
|
||||
| oWigglerSquishSpeed | number | |
|
||||
| oWigglerTimeUntilRandomTurn | integer | |
|
||||
|
|
@ -1442,8 +1442,8 @@
|
|||
| Field | Type | Access |
|
||||
| ----- | ---- | ------ |
|
||||
| gfx | [GraphNodeObject](#GraphNodeObject) | read-only |
|
||||
| next | [ObjectNode](#ObjectNode) | read-only |
|
||||
| prev | [ObjectNode](#ObjectNode) | read-only |
|
||||
| next | [ObjectNode](#ObjectNode) | |
|
||||
| prev | [ObjectNode](#ObjectNode) | |
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
|
|
@ -1453,9 +1453,9 @@
|
|||
|
||||
| Field | Type | Access |
|
||||
| ----- | ---- | ------ |
|
||||
| next | [ObjectWarpNode](#ObjectWarpNode) | read-only |
|
||||
| next | [ObjectWarpNode](#ObjectWarpNode) | |
|
||||
| node | [WarpNode](#WarpNode) | read-only |
|
||||
| object | [Object](#Object) | read-only |
|
||||
| object | [Object](#Object) | |
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
|
|
@ -1495,7 +1495,7 @@
|
|||
| headRotation | [Vec3s](#Vec3s) | read-only |
|
||||
| pos | [Vec3f](#Vec3f) | read-only |
|
||||
| unused | integer | |
|
||||
| usedObj | [Object](#Object) | read-only |
|
||||
| usedObj | [Object](#Object) | |
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
|
|
@ -1505,16 +1505,16 @@
|
|||
|
||||
| Field | Type | Access |
|
||||
| ----- | ---- | ------ |
|
||||
| currCeil | [Surface](#Surface) | read-only |
|
||||
| currCeil | [Surface](#Surface) | |
|
||||
| currCeilHeight | number | |
|
||||
| currCeilType | integer | |
|
||||
| currFloor | [Surface](#Surface) | read-only |
|
||||
| currFloor | [Surface](#Surface) | |
|
||||
| currFloorHeight | number | |
|
||||
| currFloorType | integer | |
|
||||
| prevCeil | [Surface](#Surface) | read-only |
|
||||
| prevCeil | [Surface](#Surface) | |
|
||||
| prevCeilHeight | number | |
|
||||
| prevCeilType | integer | |
|
||||
| prevFloor | [Surface](#Surface) | read-only |
|
||||
| prevFloor | [Surface](#Surface) | |
|
||||
| prevFloorHeight | number | |
|
||||
| prevFloorType | integer | |
|
||||
| waterHeight | number | |
|
||||
|
|
@ -1530,10 +1530,10 @@
|
|||
| activeAreaIndex | integer | |
|
||||
| areaIndex | integer | |
|
||||
| behaviorArg | integer | |
|
||||
| next | [SpawnInfo](#SpawnInfo) | read-only |
|
||||
| next | [SpawnInfo](#SpawnInfo) | |
|
||||
| startAngle | [Vec3s](#Vec3s) | read-only |
|
||||
| startPos | [Vec3s](#Vec3s) | read-only |
|
||||
| unk18 | [GraphNode](#GraphNode) | read-only |
|
||||
| unk18 | [GraphNode](#GraphNode) | |
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
|
|
@ -1580,7 +1580,7 @@
|
|||
| lowerY | integer | |
|
||||
| modifiedTimestamp | integer | |
|
||||
| normal | [Vec3f](#Vec3f) | read-only |
|
||||
| object | [Object](#Object) | read-only |
|
||||
| object | [Object](#Object) | |
|
||||
| originOffset | number | |
|
||||
| prevVertex1 | [Vec3s](#Vec3s) | read-only |
|
||||
| prevVertex2 | [Vec3s](#Vec3s) | read-only |
|
||||
|
|
|
|||
|
|
@ -41,7 +41,9 @@ void bobomb_act_explode(void) {
|
|||
}
|
||||
|
||||
bobomb_spawn_coin();
|
||||
create_respawner(MODEL_BLACK_BOBOMB, bhvBobomb, 3000);
|
||||
if (!o->createdThroughNetwork) {
|
||||
create_respawner(MODEL_BLACK_BOBOMB, bhvBobomb, 3000);
|
||||
}
|
||||
o->activeFlags = ACTIVE_FLAG_DEACTIVATED;
|
||||
}
|
||||
}
|
||||
|
|
@ -131,13 +133,15 @@ void generic_bobomb_free_loop(void) {
|
|||
break;
|
||||
|
||||
case BOBOMB_ACT_LAVA_DEATH:
|
||||
if (obj_lava_death() == 1)
|
||||
if (obj_lava_death() == 1 && !o->createdThroughNetwork)
|
||||
create_respawner(MODEL_BLACK_BOBOMB, bhvBobomb, 3000);
|
||||
break;
|
||||
|
||||
case BOBOMB_ACT_DEATH_PLANE_DEATH:
|
||||
o->activeFlags = ACTIVE_FLAG_DEACTIVATED;
|
||||
create_respawner(MODEL_BLACK_BOBOMB, bhvBobomb, 3000);
|
||||
if (!o->createdThroughNetwork) {
|
||||
create_respawner(MODEL_BLACK_BOBOMB, bhvBobomb, 3000);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -158,13 +162,15 @@ void stationary_bobomb_free_loop(void) {
|
|||
break;
|
||||
|
||||
case BOBOMB_ACT_LAVA_DEATH:
|
||||
if (obj_lava_death() == 1)
|
||||
if (obj_lava_death() == 1 && !o->createdThroughNetwork)
|
||||
create_respawner(MODEL_BLACK_BOBOMB, bhvBobomb, 3000);
|
||||
break;
|
||||
|
||||
case BOBOMB_ACT_DEATH_PLANE_DEATH:
|
||||
o->activeFlags = ACTIVE_FLAG_DEACTIVATED;
|
||||
create_respawner(MODEL_BLACK_BOBOMB, bhvBobomb, 3000);
|
||||
if (!o->createdThroughNetwork) {
|
||||
create_respawner(MODEL_BLACK_BOBOMB, bhvBobomb, 3000);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -71,7 +71,9 @@ void breakable_box_small_released_loop(void) {
|
|||
|
||||
// Despawn, and create a corkbox respawner
|
||||
if (o->oBreakableBoxSmallFramesSinceReleased > 900) {
|
||||
create_respawner(MODEL_BREAKABLE_BOX_SMALL, bhvBreakableBoxSmall, 3000);
|
||||
if (!o->createdThroughNetwork) {
|
||||
create_respawner(MODEL_BREAKABLE_BOX_SMALL, bhvBreakableBoxSmall, 3000);
|
||||
}
|
||||
o->activeFlags = ACTIVE_FLAG_DEACTIVATED;
|
||||
}
|
||||
}
|
||||
|
|
@ -88,7 +90,9 @@ void breakable_box_small_idle_loop(void) {
|
|||
|
||||
case 101:
|
||||
o->activeFlags = ACTIVE_FLAG_DEACTIVATED;
|
||||
create_respawner(MODEL_BREAKABLE_BOX_SMALL, bhvBreakableBoxSmall, 3000);
|
||||
if (!o->createdThroughNetwork) {
|
||||
create_respawner(MODEL_BREAKABLE_BOX_SMALL, bhvBreakableBoxSmall, 3000);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -104,7 +104,9 @@ void snowmans_bottom_act_2(void) {
|
|||
}
|
||||
|
||||
if (o->oTimer == 200) {
|
||||
create_respawner(MODEL_CCM_SNOWMAN_BASE, bhvSnowmansBottom, 3000);
|
||||
if (!o->createdThroughNetwork) {
|
||||
create_respawner(MODEL_CCM_SNOWMAN_BASE, bhvSnowmansBottom, 3000);
|
||||
}
|
||||
o->activeFlags = ACTIVE_FLAG_DEACTIVATED;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,7 +50,9 @@ void yoshi_walk_loop(void) {
|
|||
}
|
||||
|
||||
if (o->oPosY < 2100.0f) {
|
||||
create_respawner(MODEL_YOSHI, bhvYoshi, 3000);
|
||||
if (!o->createdThroughNetwork) {
|
||||
create_respawner(MODEL_YOSHI, bhvYoshi, 3000);
|
||||
}
|
||||
o->activeFlags = ACTIVE_FLAG_DEACTIVATED;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -181,6 +181,7 @@ static int smlua__set_field(lua_State* L) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
void* valuePointer = NULL;
|
||||
u8* p = ((u8*)(intptr_t)pointer) + data->valueOffset;
|
||||
switch (data->valueType) {
|
||||
case LVT_BOOL:*(u8*) p = smlua_to_boolean(L, -1); break;
|
||||
|
|
@ -191,6 +192,14 @@ static int smlua__set_field(lua_State* L) {
|
|||
case LVT_S16: *(s16*)p = smlua_to_integer(L, -1); break;
|
||||
case LVT_S32: *(s32*)p = smlua_to_integer(L, -1); break;
|
||||
case LVT_F32: *(f32*)p = smlua_to_number(L, -1); break;
|
||||
|
||||
case LVT_COBJECT_P:
|
||||
valuePointer = smlua_to_cobject(L, -1, data->lot);
|
||||
if (gSmLuaConvertSuccess) {
|
||||
*(u8**)p = valuePointer;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_LUA("_set_field on unimplemented type '%d', key '%s'", data->valueType, key);
|
||||
smlua_logline();
|
||||
|
|
|
|||
|
|
@ -20,11 +20,11 @@ static struct LuaObjectField sAnimInfoFields[LUA_ANIM_INFO_FIELD_COUNT] = {
|
|||
{ "animID", LVT_S16, offsetof(struct AnimInfo, animID), false, LOT_NONE },
|
||||
{ "animTimer", LVT_U16, offsetof(struct AnimInfo, animTimer), false, LOT_NONE },
|
||||
{ "animYTrans", LVT_S16, offsetof(struct AnimInfo, animYTrans), false, LOT_NONE },
|
||||
{ "curAnim", LVT_COBJECT_P, offsetof(struct AnimInfo, curAnim), true, LOT_ANIMATION },
|
||||
{ "curAnim", LVT_COBJECT_P, offsetof(struct AnimInfo, curAnim), false, LOT_ANIMATION },
|
||||
{ "prevAnimFrame", LVT_S16, offsetof(struct AnimInfo, prevAnimFrame), false, LOT_NONE },
|
||||
{ "prevAnimFrameTimestamp", LVT_U32, offsetof(struct AnimInfo, prevAnimFrameTimestamp), false, LOT_NONE },
|
||||
{ "prevAnimID", LVT_S16, offsetof(struct AnimInfo, prevAnimID), false, LOT_NONE },
|
||||
{ "prevAnimPtr", LVT_COBJECT_P, offsetof(struct AnimInfo, prevAnimPtr), true, LOT_ANIMATION },
|
||||
{ "prevAnimPtr", LVT_COBJECT_P, offsetof(struct AnimInfo, prevAnimPtr), false, LOT_ANIMATION },
|
||||
};
|
||||
|
||||
#define LUA_ANIMATION_FIELD_COUNT 9
|
||||
|
|
@ -44,22 +44,22 @@ static struct LuaObjectField sAnimationFields[LUA_ANIMATION_FIELD_COUNT] = {
|
|||
static struct LuaObjectField sAreaFields[LUA_AREA_FIELD_COUNT] = {
|
||||
// { "cachedBehaviors", LOT_???, offsetof(struct Area, cachedBehaviors), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
// { "cachedPositions", LOT_???, offsetof(struct Area, cachedPositions), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
{ "camera", LVT_COBJECT_P, offsetof(struct Area, camera), true, LOT_CAMERA },
|
||||
{ "camera", LVT_COBJECT_P, offsetof(struct Area, camera), false, LOT_CAMERA },
|
||||
// { "dialog", LOT_???, offsetof(struct Area, dialog), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
{ "flags", LVT_S8, offsetof(struct Area, flags), false, LOT_NONE },
|
||||
{ "index", LVT_S8, offsetof(struct Area, index), false, LOT_NONE },
|
||||
{ "instantWarps", LVT_COBJECT_P, offsetof(struct Area, instantWarps), true, LOT_INSTANTWARP },
|
||||
{ "instantWarps", LVT_COBJECT_P, offsetof(struct Area, instantWarps), false, LOT_INSTANTWARP },
|
||||
{ "macroObjects", LVT_S16_P, offsetof(struct Area, macroObjects), true, LOT_POINTER },
|
||||
{ "musicParam", LVT_U16, offsetof(struct Area, musicParam), false, LOT_NONE },
|
||||
{ "musicParam2", LVT_U16, offsetof(struct Area, musicParam2), false, LOT_NONE },
|
||||
{ "objectSpawnInfos", LVT_COBJECT_P, offsetof(struct Area, objectSpawnInfos), true, LOT_SPAWNINFO },
|
||||
{ "paintingWarpNodes", LVT_COBJECT_P, offsetof(struct Area, paintingWarpNodes), true, LOT_WARPNODE },
|
||||
{ "objectSpawnInfos", LVT_COBJECT_P, offsetof(struct Area, objectSpawnInfos), false, LOT_SPAWNINFO },
|
||||
{ "paintingWarpNodes", LVT_COBJECT_P, offsetof(struct Area, paintingWarpNodes), false, LOT_WARPNODE },
|
||||
{ "surfaceRooms", LVT_S8_P, offsetof(struct Area, surfaceRooms), true, LOT_POINTER },
|
||||
{ "terrainData", LVT_S16_P, offsetof(struct Area, terrainData), true, LOT_POINTER },
|
||||
{ "terrainType", LVT_U16, offsetof(struct Area, terrainType), false, LOT_NONE },
|
||||
// { "unk04", LVT_COBJECT_P, offsetof(struct Area, unk04), true, LOT_??? }, <--- UNIMPLEMENTED
|
||||
// { "unused28", LVT_COBJECT_P, offsetof(struct Area, unused28), true, LOT_??? }, <--- UNIMPLEMENTED
|
||||
{ "warpNodes", LVT_COBJECT_P, offsetof(struct Area, warpNodes), true, LOT_OBJECTWARPNODE },
|
||||
// { "unk04", LVT_COBJECT_P, offsetof(struct Area, unk04), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
// { "unused28", LVT_COBJECT_P, offsetof(struct Area, unused28), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
{ "warpNodes", LVT_COBJECT_P, offsetof(struct Area, warpNodes), false, LOT_OBJECTWARPNODE },
|
||||
// { "whirlpools", LOT_???, offsetof(struct Area, whirlpools), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
};
|
||||
|
||||
|
|
@ -249,11 +249,11 @@ static struct LuaObjectField sGlobalTexturesFields[LUA_GLOBAL_TEXTURES_FIELD_COU
|
|||
|
||||
#define LUA_GRAPH_NODE_FIELD_COUNT 6
|
||||
static struct LuaObjectField sGraphNodeFields[LUA_GRAPH_NODE_FIELD_COUNT] = {
|
||||
{ "children", LVT_COBJECT_P, offsetof(struct GraphNode, children), true, LOT_GRAPHNODE },
|
||||
{ "children", LVT_COBJECT_P, offsetof(struct GraphNode, children), false, LOT_GRAPHNODE },
|
||||
{ "flags", LVT_S16, offsetof(struct GraphNode, flags), false, LOT_NONE },
|
||||
{ "next", LVT_COBJECT_P, offsetof(struct GraphNode, next), true, LOT_GRAPHNODE },
|
||||
{ "parent", LVT_COBJECT_P, offsetof(struct GraphNode, parent), true, LOT_GRAPHNODE },
|
||||
{ "prev", LVT_COBJECT_P, offsetof(struct GraphNode, prev), true, LOT_GRAPHNODE },
|
||||
{ "next", LVT_COBJECT_P, offsetof(struct GraphNode, next), false, LOT_GRAPHNODE },
|
||||
{ "parent", LVT_COBJECT_P, offsetof(struct GraphNode, parent), false, LOT_GRAPHNODE },
|
||||
{ "prev", LVT_COBJECT_P, offsetof(struct GraphNode, prev), false, LOT_GRAPHNODE },
|
||||
{ "type", LVT_S16, offsetof(struct GraphNode, type), false, LOT_NONE },
|
||||
};
|
||||
|
||||
|
|
@ -276,11 +276,11 @@ static struct LuaObjectField sGraphNodeObjectFields[LUA_GRAPH_NODE_OBJECT_FIELD_
|
|||
{ "prevThrowMatrixTimestamp", LVT_U32, offsetof(struct GraphNodeObject, prevThrowMatrixTimestamp), false, LOT_NONE },
|
||||
{ "prevTimestamp", LVT_U32, offsetof(struct GraphNodeObject, prevTimestamp), false, LOT_NONE },
|
||||
{ "scale", LVT_COBJECT, offsetof(struct GraphNodeObject, scale), true, LOT_VEC3F },
|
||||
{ "sharedChild", LVT_COBJECT_P, offsetof(struct GraphNodeObject, sharedChild), true, LOT_GRAPHNODE },
|
||||
{ "sharedChild", LVT_COBJECT_P, offsetof(struct GraphNodeObject, sharedChild), false, LOT_GRAPHNODE },
|
||||
{ "skipInterpolationTimestamp", LVT_U32, offsetof(struct GraphNodeObject, skipInterpolationTimestamp), false, LOT_NONE },
|
||||
// { "throwMatrix", LVT_???, offsetof(struct GraphNodeObject, throwMatrix), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
// { "throwMatrixInterpolated", LVT_???, offsetof(struct GraphNodeObject, throwMatrixInterpolated), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
{ "unk4C", LVT_COBJECT_P, offsetof(struct GraphNodeObject, unk4C), true, LOT_SPAWNINFO },
|
||||
{ "unk4C", LVT_COBJECT_P, offsetof(struct GraphNodeObject, unk4C), false, LOT_SPAWNINFO },
|
||||
};
|
||||
|
||||
#define LUA_GRAPH_NODE_802_A45_E4_FIELD_COUNT 6
|
||||
|
|
@ -361,10 +361,10 @@ static struct LuaObjectField sLinearTransitionPointFields[LUA_LINEAR_TRANSITION_
|
|||
|
||||
#define LUA_MARIO_ANIMATION_FIELD_COUNT 2
|
||||
static struct LuaObjectField sMarioAnimationFields[LUA_MARIO_ANIMATION_FIELD_COUNT] = {
|
||||
// { "animDmaTable", LVT_COBJECT_P, offsetof(struct MarioAnimation, animDmaTable), true, LOT_??? }, <--- UNIMPLEMENTED
|
||||
// { "animDmaTable", LVT_COBJECT_P, offsetof(struct MarioAnimation, animDmaTable), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
{ "currentAnimAddr", LVT_U8_P, offsetof(struct MarioAnimation, currentAnimAddr), true, LOT_POINTER },
|
||||
// { "padding", LOT_???, offsetof(struct MarioAnimation, padding), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
{ "targetAnim", LVT_COBJECT_P, offsetof(struct MarioAnimation, targetAnim), true, LOT_ANIMATION },
|
||||
{ "targetAnim", LVT_COBJECT_P, offsetof(struct MarioAnimation, targetAnim), false, LOT_ANIMATION },
|
||||
};
|
||||
|
||||
#define LUA_MARIO_BODY_STATE_FIELD_COUNT 12
|
||||
|
|
@ -391,22 +391,22 @@ static struct LuaObjectField sMarioStateFields[LUA_MARIO_STATE_FIELD_COUNT] = {
|
|||
{ "actionState", LVT_U16, offsetof(struct MarioState, actionState), false, LOT_NONE },
|
||||
{ "actionTimer", LVT_U16, offsetof(struct MarioState, actionTimer), false, LOT_NONE },
|
||||
{ "angleVel", LVT_COBJECT, offsetof(struct MarioState, angleVel), true, LOT_VEC3S },
|
||||
{ "animation", LVT_COBJECT_P, offsetof(struct MarioState, animation), true, LOT_MARIOANIMATION },
|
||||
{ "area", LVT_COBJECT_P, offsetof(struct MarioState, area), true, LOT_AREA },
|
||||
{ "bubbleObj", LVT_COBJECT_P, offsetof(struct MarioState, bubbleObj), true, LOT_OBJECT },
|
||||
{ "animation", LVT_COBJECT_P, offsetof(struct MarioState, animation), false, LOT_MARIOANIMATION },
|
||||
{ "area", LVT_COBJECT_P, offsetof(struct MarioState, area), false, LOT_AREA },
|
||||
{ "bubbleObj", LVT_COBJECT_P, offsetof(struct MarioState, bubbleObj), false, LOT_OBJECT },
|
||||
{ "capTimer", LVT_U16, offsetof(struct MarioState, capTimer), false, LOT_NONE },
|
||||
{ "ceil", LVT_COBJECT_P, offsetof(struct MarioState, ceil), true, LOT_SURFACE },
|
||||
{ "ceil", LVT_COBJECT_P, offsetof(struct MarioState, ceil), false, LOT_SURFACE },
|
||||
{ "ceilHeight", LVT_F32, offsetof(struct MarioState, ceilHeight), false, LOT_NONE },
|
||||
{ "character", LVT_COBJECT_P, offsetof(struct MarioState, character), true, LOT_CHARACTER },
|
||||
{ "character", LVT_COBJECT_P, offsetof(struct MarioState, character), false, LOT_CHARACTER },
|
||||
{ "collidedObjInteractTypes", LVT_U32, offsetof(struct MarioState, collidedObjInteractTypes), false, LOT_NONE },
|
||||
{ "controller", LVT_COBJECT_P, offsetof(struct MarioState, controller), true, LOT_CONTROLLER },
|
||||
{ "controller", LVT_COBJECT_P, offsetof(struct MarioState, controller), false, LOT_CONTROLLER },
|
||||
{ "curAnimOffset", LVT_F32, offsetof(struct MarioState, curAnimOffset), false, LOT_NONE },
|
||||
{ "currentRoom", LVT_S16, offsetof(struct MarioState, currentRoom), false, LOT_NONE },
|
||||
{ "doubleJumpTimer", LVT_U8, offsetof(struct MarioState, doubleJumpTimer), false, LOT_NONE },
|
||||
{ "faceAngle", LVT_COBJECT, offsetof(struct MarioState, faceAngle), true, LOT_VEC3S },
|
||||
{ "fadeWarpOpacity", LVT_U8, offsetof(struct MarioState, fadeWarpOpacity), false, LOT_NONE },
|
||||
{ "flags", LVT_U32, offsetof(struct MarioState, flags), false, LOT_NONE },
|
||||
{ "floor", LVT_COBJECT_P, offsetof(struct MarioState, floor), true, LOT_SURFACE },
|
||||
{ "floor", LVT_COBJECT_P, offsetof(struct MarioState, floor), false, LOT_SURFACE },
|
||||
{ "floorAngle", LVT_S16, offsetof(struct MarioState, floorAngle), false, LOT_NONE },
|
||||
{ "floorHeight", LVT_F32, offsetof(struct MarioState, floorHeight), false, LOT_NONE },
|
||||
{ "forwardVel", LVT_F32, offsetof(struct MarioState, forwardVel), false, LOT_NONE },
|
||||
|
|
@ -415,17 +415,17 @@ static struct LuaObjectField sMarioStateFields[LUA_MARIO_STATE_FIELD_COUNT] = {
|
|||
{ "freeze", LVT_U8, offsetof(struct MarioState, freeze), false, LOT_NONE },
|
||||
{ "healCounter", LVT_U8, offsetof(struct MarioState, healCounter), false, LOT_NONE },
|
||||
{ "health", LVT_S16, offsetof(struct MarioState, health), false, LOT_NONE },
|
||||
{ "heldByObj", LVT_COBJECT_P, offsetof(struct MarioState, heldByObj), true, LOT_OBJECT },
|
||||
{ "heldObj", LVT_COBJECT_P, offsetof(struct MarioState, heldObj), true, LOT_OBJECT },
|
||||
{ "heldByObj", LVT_COBJECT_P, offsetof(struct MarioState, heldByObj), false, LOT_OBJECT },
|
||||
{ "heldObj", LVT_COBJECT_P, offsetof(struct MarioState, heldObj), false, LOT_OBJECT },
|
||||
{ "hurtCounter", LVT_U8, offsetof(struct MarioState, hurtCounter), false, LOT_NONE },
|
||||
{ "input", LVT_U16, offsetof(struct MarioState, input), false, LOT_NONE },
|
||||
{ "intendedMag", LVT_F32, offsetof(struct MarioState, intendedMag), false, LOT_NONE },
|
||||
{ "intendedYaw", LVT_S16, offsetof(struct MarioState, intendedYaw), false, LOT_NONE },
|
||||
{ "interactObj", LVT_COBJECT_P, offsetof(struct MarioState, interactObj), true, LOT_OBJECT },
|
||||
{ "interactObj", LVT_COBJECT_P, offsetof(struct MarioState, interactObj), false, LOT_OBJECT },
|
||||
{ "invincTimer", LVT_S16, offsetof(struct MarioState, invincTimer), false, LOT_NONE },
|
||||
{ "isSnoring", LVT_U8, offsetof(struct MarioState, isSnoring), false, LOT_NONE },
|
||||
{ "marioBodyState", LVT_COBJECT_P, offsetof(struct MarioState, marioBodyState), true, LOT_MARIOBODYSTATE },
|
||||
{ "marioObj", LVT_COBJECT_P, offsetof(struct MarioState, marioObj), true, LOT_OBJECT },
|
||||
{ "marioBodyState", LVT_COBJECT_P, offsetof(struct MarioState, marioBodyState), false, LOT_MARIOBODYSTATE },
|
||||
{ "marioObj", LVT_COBJECT_P, offsetof(struct MarioState, marioObj), false, LOT_OBJECT },
|
||||
{ "minimumBoneY", LVT_F32, offsetof(struct MarioState, minimumBoneY), false, LOT_NONE },
|
||||
{ "nonInstantWarpPos", LVT_COBJECT, offsetof(struct MarioState, nonInstantWarpPos), true, LOT_VEC3F },
|
||||
{ "numCoins", LVT_S16, offsetof(struct MarioState, numCoins), false, LOT_NONE },
|
||||
|
|
@ -439,23 +439,23 @@ static struct LuaObjectField sMarioStateFields[LUA_MARIO_STATE_FIELD_COUNT] = {
|
|||
{ "prevAction", LVT_U32, offsetof(struct MarioState, prevAction), false, LOT_NONE },
|
||||
{ "prevNumStarsForDialog", LVT_S16, offsetof(struct MarioState, prevNumStarsForDialog), false, LOT_NONE },
|
||||
{ "quicksandDepth", LVT_F32, offsetof(struct MarioState, quicksandDepth), false, LOT_NONE },
|
||||
{ "riddenObj", LVT_COBJECT_P, offsetof(struct MarioState, riddenObj), true, LOT_OBJECT },
|
||||
{ "riddenObj", LVT_COBJECT_P, offsetof(struct MarioState, riddenObj), false, LOT_OBJECT },
|
||||
{ "slideVelX", LVT_F32, offsetof(struct MarioState, slideVelX), false, LOT_NONE },
|
||||
{ "slideVelZ", LVT_F32, offsetof(struct MarioState, slideVelZ), false, LOT_NONE },
|
||||
{ "slideYaw", LVT_S16, offsetof(struct MarioState, slideYaw), false, LOT_NONE },
|
||||
{ "spawnInfo", LVT_COBJECT_P, offsetof(struct MarioState, spawnInfo), true, LOT_SPAWNINFO },
|
||||
{ "spawnInfo", LVT_COBJECT_P, offsetof(struct MarioState, spawnInfo), false, LOT_SPAWNINFO },
|
||||
// { "splineKeyframe", LVT_???, offsetof(struct MarioState, splineKeyframe), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
{ "splineKeyframeFraction", LVT_F32, offsetof(struct MarioState, splineKeyframeFraction), false, LOT_NONE },
|
||||
{ "splineState", LVT_S32, offsetof(struct MarioState, splineState), false, LOT_NONE },
|
||||
{ "squishTimer", LVT_U8, offsetof(struct MarioState, squishTimer), false, LOT_NONE },
|
||||
{ "statusForCamera", LVT_COBJECT_P, offsetof(struct MarioState, statusForCamera), true, LOT_PLAYERCAMERASTATE },
|
||||
{ "statusForCamera", LVT_COBJECT_P, offsetof(struct MarioState, statusForCamera), false, LOT_PLAYERCAMERASTATE },
|
||||
{ "terrainSoundAddend", LVT_U32, offsetof(struct MarioState, terrainSoundAddend), false, LOT_NONE },
|
||||
{ "twirlYaw", LVT_S16, offsetof(struct MarioState, twirlYaw), false, LOT_NONE },
|
||||
{ "unkB0", LVT_S16, offsetof(struct MarioState, unkB0), false, LOT_NONE },
|
||||
{ "unkC4", LVT_F32, offsetof(struct MarioState, unkC4), false, LOT_NONE },
|
||||
{ "usedObj", LVT_COBJECT_P, offsetof(struct MarioState, usedObj), true, LOT_OBJECT },
|
||||
{ "usedObj", LVT_COBJECT_P, offsetof(struct MarioState, usedObj), false, LOT_OBJECT },
|
||||
{ "vel", LVT_COBJECT, offsetof(struct MarioState, vel), true, LOT_VEC3F },
|
||||
{ "wall", LVT_COBJECT_P, offsetof(struct MarioState, wall), true, LOT_SURFACE },
|
||||
{ "wall", LVT_COBJECT_P, offsetof(struct MarioState, wall), false, LOT_SURFACE },
|
||||
{ "wallKickTimer", LVT_U8, offsetof(struct MarioState, wallKickTimer), false, LOT_NONE },
|
||||
{ "wasNetworkVisible", LVT_U8, offsetof(struct MarioState, wasNetworkVisible), false, LOT_NONE },
|
||||
{ "waterLevel", LVT_S16, offsetof(struct MarioState, waterLevel), false, LOT_NONE },
|
||||
|
|
@ -514,7 +514,7 @@ static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = {
|
|||
{ "collidedObjInteractTypes", LVT_U32, offsetof(struct Object, collidedObjInteractTypes), false, LOT_NONE },
|
||||
// { "collidedObjs", LOT_???, offsetof(struct Object, collidedObjs), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
// { "collisionData", LVT_???, offsetof(struct Object, collisionData), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
{ "createdThroughNetwork", LVT_U8, offsetof(struct Object, createdThroughNetwork), false, LOT_NONE },
|
||||
{ "createdThroughNetwork", LVT_U8, offsetof(struct Object, createdThroughNetwork), true, LOT_NONE },
|
||||
{ "curBhvCommand", LVT_BEHAVIORSCRIPT_P, offsetof(struct Object, curBhvCommand), true, LOT_POINTER },
|
||||
{ "globalPlayerIndex", LVT_U8, offsetof(struct Object, globalPlayerIndex), false, LOT_NONE },
|
||||
{ "header", LVT_COBJECT, offsetof(struct Object, header), true, LOT_OBJECTNODE },
|
||||
|
|
@ -588,7 +588,7 @@ static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = {
|
|||
{ "oBooMoveYawDuringHit", LVT_S32, offsetof(struct Object, oBooMoveYawDuringHit), false, LOT_NONE },
|
||||
{ "oBooNegatedAggressiveness", LVT_F32, offsetof(struct Object, oBooNegatedAggressiveness), false, LOT_NONE },
|
||||
{ "oBooOscillationTimer", LVT_S32, offsetof(struct Object, oBooOscillationTimer), false, LOT_NONE },
|
||||
{ "oBooParentBigBoo", LVT_COBJECT_P, offsetof(struct Object, oBooParentBigBoo), true, LOT_OBJECT },
|
||||
{ "oBooParentBigBoo", LVT_COBJECT_P, offsetof(struct Object, oBooParentBigBoo), false, LOT_OBJECT },
|
||||
{ "oBooTargetOpacity", LVT_S32, offsetof(struct Object, oBooTargetOpacity), false, LOT_NONE },
|
||||
{ "oBooTurningSpeed", LVT_S16, offsetof(struct Object, oBooTurningSpeed), false, LOT_NONE },
|
||||
{ "oBookSwitchManagerUnkF4", LVT_S32, offsetof(struct Object, oBookSwitchManagerUnkF4), false, LOT_NONE },
|
||||
|
|
@ -669,7 +669,7 @@ static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = {
|
|||
{ "oChainChompNumLunges", LVT_S32, offsetof(struct Object, oChainChompNumLunges), false, LOT_NONE },
|
||||
{ "oChainChompReleaseStatus", LVT_S32, offsetof(struct Object, oChainChompReleaseStatus), false, LOT_NONE },
|
||||
{ "oChainChompRestrictedByChain", LVT_S32, offsetof(struct Object, oChainChompRestrictedByChain), false, LOT_NONE },
|
||||
{ "oChainChompSegments", LVT_COBJECT_P, offsetof(struct Object, oChainChompSegments), true, LOT_CHAINSEGMENT },
|
||||
{ "oChainChompSegments", LVT_COBJECT_P, offsetof(struct Object, oChainChompSegments), false, LOT_CHAINSEGMENT },
|
||||
{ "oChainChompTargetPitch", LVT_S32, offsetof(struct Object, oChainChompTargetPitch), false, LOT_NONE },
|
||||
{ "oChainChompUnk104", LVT_F32, offsetof(struct Object, oChainChompUnk104), false, LOT_NONE },
|
||||
{ "oCheckerBoardPlatformUnk1AC", LVT_F32, offsetof(struct Object, oCheckerBoardPlatformUnk1AC), false, LOT_NONE },
|
||||
|
|
@ -772,7 +772,7 @@ static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = {
|
|||
{ "oFlags", LVT_U32, offsetof(struct Object, oFlags), false, LOT_NONE },
|
||||
{ "oFlameThowerFlameUnk110", LVT_S32, offsetof(struct Object, oFlameThowerFlameUnk110), false, LOT_NONE },
|
||||
{ "oFlameThowerUnk110", LVT_S32, offsetof(struct Object, oFlameThowerUnk110), false, LOT_NONE },
|
||||
{ "oFlameUnk100", LVT_COBJECT_P, offsetof(struct Object, oFlameUnk100), true, LOT_OBJECT },
|
||||
{ "oFlameUnk100", LVT_COBJECT_P, offsetof(struct Object, oFlameUnk100), false, LOT_OBJECT },
|
||||
{ "oFlameUnkF4", LVT_F32, offsetof(struct Object, oFlameUnkF4), false, LOT_NONE },
|
||||
{ "oFlameUnkF8", LVT_S32, offsetof(struct Object, oFlameUnkF8), false, LOT_NONE },
|
||||
{ "oFlameUnkFC", LVT_F32, offsetof(struct Object, oFlameUnkFC), false, LOT_NONE },
|
||||
|
|
@ -780,7 +780,7 @@ static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = {
|
|||
{ "oFloatingPlatformUnkF4", LVT_S32, offsetof(struct Object, oFloatingPlatformUnkF4), false, LOT_NONE },
|
||||
{ "oFloatingPlatformUnkF8", LVT_F32, offsetof(struct Object, oFloatingPlatformUnkF8), false, LOT_NONE },
|
||||
{ "oFloatingPlatformUnkFC", LVT_F32, offsetof(struct Object, oFloatingPlatformUnkFC), false, LOT_NONE },
|
||||
{ "oFloor", LVT_COBJECT_P, offsetof(struct Object, oFloor), true, LOT_SURFACE },
|
||||
{ "oFloor", LVT_COBJECT_P, offsetof(struct Object, oFloor), false, LOT_SURFACE },
|
||||
{ "oFloorHeight", LVT_F32, offsetof(struct Object, oFloorHeight), false, LOT_NONE },
|
||||
{ "oFloorRoom", LVT_S16, offsetof(struct Object, oFloorRoom), false, LOT_NONE },
|
||||
{ "oFloorSwitchPressAnimationUnk100", LVT_S32, offsetof(struct Object, oFloorSwitchPressAnimationUnk100), false, LOT_NONE },
|
||||
|
|
@ -819,8 +819,8 @@ static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = {
|
|||
{ "oHeaveHoUnk88", LVT_S32, offsetof(struct Object, oHeaveHoUnk88), false, LOT_NONE },
|
||||
{ "oHeaveHoUnkF4", LVT_F32, offsetof(struct Object, oHeaveHoUnkF4), false, LOT_NONE },
|
||||
{ "oHeldState", LVT_U32, offsetof(struct Object, oHeldState), false, LOT_NONE },
|
||||
{ "oHiddenBlueCoinSwitch", LVT_COBJECT_P, offsetof(struct Object, oHiddenBlueCoinSwitch), true, LOT_OBJECT },
|
||||
{ "oHiddenObjectUnkF4", LVT_COBJECT_P, offsetof(struct Object, oHiddenObjectUnkF4), true, LOT_OBJECT },
|
||||
{ "oHiddenBlueCoinSwitch", LVT_COBJECT_P, offsetof(struct Object, oHiddenBlueCoinSwitch), false, LOT_OBJECT },
|
||||
{ "oHiddenObjectUnkF4", LVT_COBJECT_P, offsetof(struct Object, oHiddenObjectUnkF4), false, LOT_OBJECT },
|
||||
{ "oHiddenStarTriggerCounter", LVT_S32, offsetof(struct Object, oHiddenStarTriggerCounter), false, LOT_NONE },
|
||||
{ "oHomeX", LVT_F32, offsetof(struct Object, oHomeX), false, LOT_NONE },
|
||||
{ "oHomeY", LVT_F32, offsetof(struct Object, oHomeY), false, LOT_NONE },
|
||||
|
|
@ -841,7 +841,7 @@ static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = {
|
|||
{ "oInteractStatus", LVT_S32, offsetof(struct Object, oInteractStatus), false, LOT_NONE },
|
||||
{ "oInteractType", LVT_U32, offsetof(struct Object, oInteractType), false, LOT_NONE },
|
||||
{ "oInteractionSubtype", LVT_U32, offsetof(struct Object, oInteractionSubtype), false, LOT_NONE },
|
||||
{ "oIntroLakituCloud", LVT_COBJECT_P, offsetof(struct Object, oIntroLakituCloud), true, LOT_OBJECT },
|
||||
{ "oIntroLakituCloud", LVT_COBJECT_P, offsetof(struct Object, oIntroLakituCloud), false, LOT_OBJECT },
|
||||
{ "oIntroLakituSplineSegment", LVT_F32, offsetof(struct Object, oIntroLakituSplineSegment), false, LOT_NONE },
|
||||
{ "oIntroLakituSplineSegmentProgress", LVT_F32, offsetof(struct Object, oIntroLakituSplineSegmentProgress), false, LOT_NONE },
|
||||
{ "oIntroLakituUnk100", LVT_F32, offsetof(struct Object, oIntroLakituUnk100), false, LOT_NONE },
|
||||
|
|
@ -852,7 +852,7 @@ static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = {
|
|||
{ "oIntroPeachDistToCamera", LVT_F32, offsetof(struct Object, oIntroPeachDistToCamera), false, LOT_NONE },
|
||||
{ "oIntroPeachPitchFromFocus", LVT_F32, offsetof(struct Object, oIntroPeachPitchFromFocus), false, LOT_NONE },
|
||||
{ "oIntroPeachYawFromFocus", LVT_F32, offsetof(struct Object, oIntroPeachYawFromFocus), false, LOT_NONE },
|
||||
{ "oJrbSlidingBoxUnkF4", LVT_COBJECT_P, offsetof(struct Object, oJrbSlidingBoxUnkF4), true, LOT_OBJECT },
|
||||
{ "oJrbSlidingBoxUnkF4", LVT_COBJECT_P, offsetof(struct Object, oJrbSlidingBoxUnkF4), false, LOT_OBJECT },
|
||||
{ "oJrbSlidingBoxUnkF8", LVT_S32, offsetof(struct Object, oJrbSlidingBoxUnkF8), false, LOT_NONE },
|
||||
{ "oJrbSlidingBoxUnkFC", LVT_F32, offsetof(struct Object, oJrbSlidingBoxUnkFC), false, LOT_NONE },
|
||||
{ "oJumpingBoxUnkF4", LVT_S32, offsetof(struct Object, oJumpingBoxUnkF4), false, LOT_NONE },
|
||||
|
|
@ -938,7 +938,7 @@ static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = {
|
|||
{ "oMipsStarStatus", LVT_S32, offsetof(struct Object, oMipsStarStatus), false, LOT_NONE },
|
||||
{ "oMipsStartWaypointIndex", LVT_S32, offsetof(struct Object, oMipsStartWaypointIndex), false, LOT_NONE },
|
||||
{ "oMoneybagJumpState", LVT_S32, offsetof(struct Object, oMoneybagJumpState), false, LOT_NONE },
|
||||
{ "oMontyMoleCurrentHole", LVT_COBJECT_P, offsetof(struct Object, oMontyMoleCurrentHole), true, LOT_OBJECT },
|
||||
{ "oMontyMoleCurrentHole", LVT_COBJECT_P, offsetof(struct Object, oMontyMoleCurrentHole), false, LOT_OBJECT },
|
||||
{ "oMontyMoleHeightRelativeToFloor", LVT_F32, offsetof(struct Object, oMontyMoleHeightRelativeToFloor), false, LOT_NONE },
|
||||
{ "oMontyMoleHoleCooldown", LVT_S32, offsetof(struct Object, oMontyMoleHoleCooldown), false, LOT_NONE },
|
||||
{ "oMontyMoleHoleX", LVT_F32, offsetof(struct Object, oMontyMoleHoleX), false, LOT_NONE },
|
||||
|
|
@ -954,7 +954,7 @@ static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = {
|
|||
{ "oMrBlizzardDizziness", LVT_F32, offsetof(struct Object, oMrBlizzardDizziness), false, LOT_NONE },
|
||||
{ "oMrBlizzardGraphYOffset", LVT_F32, offsetof(struct Object, oMrBlizzardGraphYOffset), false, LOT_NONE },
|
||||
{ "oMrBlizzardGraphYVel", LVT_F32, offsetof(struct Object, oMrBlizzardGraphYVel), false, LOT_NONE },
|
||||
{ "oMrBlizzardHeldObj", LVT_COBJECT_P, offsetof(struct Object, oMrBlizzardHeldObj), true, LOT_OBJECT },
|
||||
{ "oMrBlizzardHeldObj", LVT_COBJECT_P, offsetof(struct Object, oMrBlizzardHeldObj), false, LOT_OBJECT },
|
||||
{ "oMrBlizzardScale", LVT_F32, offsetof(struct Object, oMrBlizzardScale), false, LOT_NONE },
|
||||
{ "oMrBlizzardTargetMoveYaw", LVT_S32, offsetof(struct Object, oMrBlizzardTargetMoveYaw), false, LOT_NONE },
|
||||
{ "oMrBlizzardTimer", LVT_S32, offsetof(struct Object, oMrBlizzardTimer), false, LOT_NONE },
|
||||
|
|
@ -968,13 +968,13 @@ static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = {
|
|||
{ "oNumLootCoins", LVT_S32, offsetof(struct Object, oNumLootCoins), false, LOT_NONE },
|
||||
{ "oOpacity", LVT_S32, offsetof(struct Object, oOpacity), false, LOT_NONE },
|
||||
{ "oOpenableGrillUnk88", LVT_S32, offsetof(struct Object, oOpenableGrillUnk88), false, LOT_NONE },
|
||||
{ "oOpenableGrillUnkF4", LVT_COBJECT_P, offsetof(struct Object, oOpenableGrillUnkF4), true, LOT_OBJECT },
|
||||
{ "oOpenableGrillUnkF4", LVT_COBJECT_P, offsetof(struct Object, oOpenableGrillUnkF4), false, LOT_OBJECT },
|
||||
{ "oParentRelativePosX", LVT_F32, offsetof(struct Object, oParentRelativePosX), false, LOT_NONE },
|
||||
{ "oParentRelativePosY", LVT_F32, offsetof(struct Object, oParentRelativePosY), false, LOT_NONE },
|
||||
{ "oParentRelativePosZ", LVT_F32, offsetof(struct Object, oParentRelativePosZ), false, LOT_NONE },
|
||||
{ "oPathedPrevWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPathedPrevWaypoint), true, LOT_WAYPOINT },
|
||||
{ "oPathedPrevWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPathedPrevWaypoint), false, LOT_WAYPOINT },
|
||||
{ "oPathedPrevWaypointFlags", LVT_S32, offsetof(struct Object, oPathedPrevWaypointFlags), false, LOT_NONE },
|
||||
{ "oPathedStartWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPathedStartWaypoint), true, LOT_WAYPOINT },
|
||||
{ "oPathedStartWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPathedStartWaypoint), false, LOT_WAYPOINT },
|
||||
{ "oPathedTargetPitch", LVT_S32, offsetof(struct Object, oPathedTargetPitch), false, LOT_NONE },
|
||||
{ "oPathedTargetYaw", LVT_S32, offsetof(struct Object, oPathedTargetYaw), false, LOT_NONE },
|
||||
{ "oPiranhaPlantScale", LVT_F32, offsetof(struct Object, oPiranhaPlantScale), false, LOT_NONE },
|
||||
|
|
@ -988,10 +988,10 @@ static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = {
|
|||
{ "oPlatformOnTrackIsNotSkiLift", LVT_S16, offsetof(struct Object, oPlatformOnTrackIsNotSkiLift), false, LOT_NONE },
|
||||
{ "oPlatformOnTrackOffsetY", LVT_F32, offsetof(struct Object, oPlatformOnTrackOffsetY), false, LOT_NONE },
|
||||
{ "oPlatformOnTrackPitch", LVT_S32, offsetof(struct Object, oPlatformOnTrackPitch), false, LOT_NONE },
|
||||
{ "oPlatformOnTrackPrevWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPlatformOnTrackPrevWaypoint), true, LOT_WAYPOINT },
|
||||
{ "oPlatformOnTrackPrevWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPlatformOnTrackPrevWaypoint), false, LOT_WAYPOINT },
|
||||
{ "oPlatformOnTrackPrevWaypointFlags", LVT_S32, offsetof(struct Object, oPlatformOnTrackPrevWaypointFlags), false, LOT_NONE },
|
||||
{ "oPlatformOnTrackSkiLiftRollVel", LVT_F32, offsetof(struct Object, oPlatformOnTrackSkiLiftRollVel), false, LOT_NONE },
|
||||
{ "oPlatformOnTrackStartWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPlatformOnTrackStartWaypoint), true, LOT_WAYPOINT },
|
||||
{ "oPlatformOnTrackStartWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPlatformOnTrackStartWaypoint), false, LOT_WAYPOINT },
|
||||
{ "oPlatformOnTrackType", LVT_S16, offsetof(struct Object, oPlatformOnTrackType), false, LOT_NONE },
|
||||
{ "oPlatformOnTrackWasStoodOn", LVT_S16, offsetof(struct Object, oPlatformOnTrackWasStoodOn), false, LOT_NONE },
|
||||
{ "oPlatformOnTrackYaw", LVT_S32, offsetof(struct Object, oPlatformOnTrackYaw), false, LOT_NONE },
|
||||
|
|
@ -1004,7 +1004,7 @@ static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = {
|
|||
{ "oPlatformTimer", LVT_S32, offsetof(struct Object, oPlatformTimer), false, LOT_NONE },
|
||||
{ "oPlatformUnk10C", LVT_F32, offsetof(struct Object, oPlatformUnk10C), false, LOT_NONE },
|
||||
{ "oPlatformUnk110", LVT_F32, offsetof(struct Object, oPlatformUnk110), false, LOT_NONE },
|
||||
{ "oPlatformUnkF8", LVT_COBJECT_P, offsetof(struct Object, oPlatformUnkF8), true, LOT_OBJECT },
|
||||
{ "oPlatformUnkF8", LVT_COBJECT_P, offsetof(struct Object, oPlatformUnkF8), false, LOT_OBJECT },
|
||||
{ "oPlatformUnkFC", LVT_S32, offsetof(struct Object, oPlatformUnkFC), false, LOT_NONE },
|
||||
{ "oPokeyAliveBodyPartFlags", LVT_U32, offsetof(struct Object, oPokeyAliveBodyPartFlags), false, LOT_NONE },
|
||||
{ "oPokeyBodyPartBlinkTimer", LVT_S32, offsetof(struct Object, oPokeyBodyPartBlinkTimer), false, LOT_NONE },
|
||||
|
|
@ -1096,7 +1096,7 @@ static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = {
|
|||
{ "oStarSelectorType", LVT_S32, offsetof(struct Object, oStarSelectorType), false, LOT_NONE },
|
||||
{ "oStarSpawnDisFromHome", LVT_F32, offsetof(struct Object, oStarSpawnDisFromHome), false, LOT_NONE },
|
||||
{ "oStarSpawnUnkFC", LVT_F32, offsetof(struct Object, oStarSpawnUnkFC), false, LOT_NONE },
|
||||
{ "oStrongWindParticlePenguinObj", LVT_COBJECT_P, offsetof(struct Object, oStrongWindParticlePenguinObj), true, LOT_OBJECT },
|
||||
{ "oStrongWindParticlePenguinObj", LVT_COBJECT_P, offsetof(struct Object, oStrongWindParticlePenguinObj), false, LOT_OBJECT },
|
||||
{ "oSubAction", LVT_S32, offsetof(struct Object, oSubAction), false, LOT_NONE },
|
||||
{ "oSushiSharkUnkF4", LVT_S32, offsetof(struct Object, oSushiSharkUnkF4), false, LOT_NONE },
|
||||
{ "oSwingPlatformAngle", LVT_F32, offsetof(struct Object, oSwingPlatformAngle), false, LOT_NONE },
|
||||
|
|
@ -1238,7 +1238,7 @@ static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = {
|
|||
{ "oWhitePuffUnkFC", LVT_S32, offsetof(struct Object, oWhitePuffUnkFC), false, LOT_NONE },
|
||||
{ "oWhompShakeVal", LVT_S32, offsetof(struct Object, oWhompShakeVal), false, LOT_NONE },
|
||||
{ "oWigglerFallThroughFloorsHeight", LVT_F32, offsetof(struct Object, oWigglerFallThroughFloorsHeight), false, LOT_NONE },
|
||||
{ "oWigglerSegments", LVT_COBJECT_P, offsetof(struct Object, oWigglerSegments), true, LOT_CHAINSEGMENT },
|
||||
{ "oWigglerSegments", LVT_COBJECT_P, offsetof(struct Object, oWigglerSegments), false, LOT_CHAINSEGMENT },
|
||||
{ "oWigglerSquishSpeed", LVT_F32, offsetof(struct Object, oWigglerSquishSpeed), false, LOT_NONE },
|
||||
{ "oWigglerTargetYaw", LVT_S32, offsetof(struct Object, oWigglerTargetYaw), false, LOT_NONE },
|
||||
{ "oWigglerTextStatus", LVT_S16, offsetof(struct Object, oWigglerTextStatus), false, LOT_NONE },
|
||||
|
|
@ -1254,9 +1254,9 @@ static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = {
|
|||
{ "oYoshiBlinkTimer", LVT_S32, offsetof(struct Object, oYoshiBlinkTimer), false, LOT_NONE },
|
||||
{ "oYoshiChosenHome", LVT_S32, offsetof(struct Object, oYoshiChosenHome), false, LOT_NONE },
|
||||
{ "oYoshiTargetYaw", LVT_S32, offsetof(struct Object, oYoshiTargetYaw), false, LOT_NONE },
|
||||
{ "parentObj", LVT_COBJECT_P, offsetof(struct Object, parentObj), true, LOT_OBJECT },
|
||||
{ "platform", LVT_COBJECT_P, offsetof(struct Object, platform), true, LOT_OBJECT },
|
||||
{ "prevObj", LVT_COBJECT_P, offsetof(struct Object, prevObj), true, LOT_OBJECT },
|
||||
{ "parentObj", LVT_COBJECT_P, offsetof(struct Object, parentObj), false, LOT_OBJECT },
|
||||
{ "platform", LVT_COBJECT_P, offsetof(struct Object, platform), false, LOT_OBJECT },
|
||||
{ "prevObj", LVT_COBJECT_P, offsetof(struct Object, prevObj), false, LOT_OBJECT },
|
||||
// { "ptrData", LOT_???, offsetof(struct Object, ptrData), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
// { "rawData", LOT_???, offsetof(struct Object, rawData), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
// { "respawnInfo", LVT_???, offsetof(struct Object, respawnInfo), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
|
|
@ -1280,16 +1280,16 @@ static struct LuaObjectField sObjectHitboxFields[LUA_OBJECT_HITBOX_FIELD_COUNT]
|
|||
|
||||
#define LUA_OBJECT_NODE_FIELD_COUNT 3
|
||||
static struct LuaObjectField sObjectNodeFields[LUA_OBJECT_NODE_FIELD_COUNT] = {
|
||||
{ "gfx", LVT_COBJECT, offsetof(struct ObjectNode, gfx), true, LOT_GRAPHNODEOBJECT },
|
||||
{ "next", LVT_COBJECT_P, offsetof(struct ObjectNode, next), true, LOT_OBJECTNODE },
|
||||
{ "prev", LVT_COBJECT_P, offsetof(struct ObjectNode, prev), true, LOT_OBJECTNODE },
|
||||
{ "gfx", LVT_COBJECT, offsetof(struct ObjectNode, gfx), true, LOT_GRAPHNODEOBJECT },
|
||||
{ "next", LVT_COBJECT_P, offsetof(struct ObjectNode, next), false, LOT_OBJECTNODE },
|
||||
{ "prev", LVT_COBJECT_P, offsetof(struct ObjectNode, prev), false, LOT_OBJECTNODE },
|
||||
};
|
||||
|
||||
#define LUA_OBJECT_WARP_NODE_FIELD_COUNT 3
|
||||
static struct LuaObjectField sObjectWarpNodeFields[LUA_OBJECT_WARP_NODE_FIELD_COUNT] = {
|
||||
{ "next", LVT_COBJECT_P, offsetof(struct ObjectWarpNode, next), true, LOT_OBJECTWARPNODE },
|
||||
{ "node", LVT_COBJECT, offsetof(struct ObjectWarpNode, node), true, LOT_WARPNODE },
|
||||
{ "object", LVT_COBJECT_P, offsetof(struct ObjectWarpNode, object), true, LOT_OBJECT },
|
||||
{ "next", LVT_COBJECT_P, offsetof(struct ObjectWarpNode, next), false, LOT_OBJECTWARPNODE },
|
||||
{ "node", LVT_COBJECT, offsetof(struct ObjectWarpNode, node), true, LOT_WARPNODE },
|
||||
{ "object", LVT_COBJECT_P, offsetof(struct ObjectWarpNode, object), false, LOT_OBJECT },
|
||||
};
|
||||
|
||||
#define LUA_OFFSET_SIZE_PAIR_FIELD_COUNT 2
|
||||
|
|
@ -1314,21 +1314,21 @@ static struct LuaObjectField sPlayerCameraStateFields[LUA_PLAYER_CAMERA_STATE_FI
|
|||
{ "headRotation", LVT_COBJECT, offsetof(struct PlayerCameraState, headRotation), true, LOT_VEC3S },
|
||||
{ "pos", LVT_COBJECT, offsetof(struct PlayerCameraState, pos), true, LOT_VEC3F },
|
||||
{ "unused", LVT_S16, offsetof(struct PlayerCameraState, unused), false, LOT_NONE },
|
||||
{ "usedObj", LVT_COBJECT_P, offsetof(struct PlayerCameraState, usedObj), true, LOT_OBJECT },
|
||||
{ "usedObj", LVT_COBJECT_P, offsetof(struct PlayerCameraState, usedObj), false, LOT_OBJECT },
|
||||
};
|
||||
|
||||
#define LUA_PLAYER_GEOMETRY_FIELD_COUNT 13
|
||||
static struct LuaObjectField sPlayerGeometryFields[LUA_PLAYER_GEOMETRY_FIELD_COUNT] = {
|
||||
{ "currCeil", LVT_COBJECT_P, offsetof(struct PlayerGeometry, currCeil), true, LOT_SURFACE },
|
||||
{ "currCeil", LVT_COBJECT_P, offsetof(struct PlayerGeometry, currCeil), false, LOT_SURFACE },
|
||||
{ "currCeilHeight", LVT_F32, offsetof(struct PlayerGeometry, currCeilHeight), false, LOT_NONE },
|
||||
{ "currCeilType", LVT_S16, offsetof(struct PlayerGeometry, currCeilType), false, LOT_NONE },
|
||||
{ "currFloor", LVT_COBJECT_P, offsetof(struct PlayerGeometry, currFloor), true, LOT_SURFACE },
|
||||
{ "currFloor", LVT_COBJECT_P, offsetof(struct PlayerGeometry, currFloor), false, LOT_SURFACE },
|
||||
{ "currFloorHeight", LVT_F32, offsetof(struct PlayerGeometry, currFloorHeight), false, LOT_NONE },
|
||||
{ "currFloorType", LVT_S16, offsetof(struct PlayerGeometry, currFloorType), false, LOT_NONE },
|
||||
{ "prevCeil", LVT_COBJECT_P, offsetof(struct PlayerGeometry, prevCeil), true, LOT_SURFACE },
|
||||
{ "prevCeil", LVT_COBJECT_P, offsetof(struct PlayerGeometry, prevCeil), false, LOT_SURFACE },
|
||||
{ "prevCeilHeight", LVT_F32, offsetof(struct PlayerGeometry, prevCeilHeight), false, LOT_NONE },
|
||||
{ "prevCeilType", LVT_S16, offsetof(struct PlayerGeometry, prevCeilType), false, LOT_NONE },
|
||||
{ "prevFloor", LVT_COBJECT_P, offsetof(struct PlayerGeometry, prevFloor), true, LOT_SURFACE },
|
||||
{ "prevFloor", LVT_COBJECT_P, offsetof(struct PlayerGeometry, prevFloor), false, LOT_SURFACE },
|
||||
{ "prevFloorHeight", LVT_F32, offsetof(struct PlayerGeometry, prevFloorHeight), false, LOT_NONE },
|
||||
{ "prevFloorType", LVT_S16, offsetof(struct PlayerGeometry, prevFloorType), false, LOT_NONE },
|
||||
{ "waterHeight", LVT_F32, offsetof(struct PlayerGeometry, waterHeight), false, LOT_NONE },
|
||||
|
|
@ -1340,10 +1340,10 @@ static struct LuaObjectField sSpawnInfoFields[LUA_SPAWN_INFO_FIELD_COUNT] = {
|
|||
{ "areaIndex", LVT_S8, offsetof(struct SpawnInfo, areaIndex), false, LOT_NONE },
|
||||
{ "behaviorArg", LVT_U32, offsetof(struct SpawnInfo, behaviorArg), false, LOT_NONE },
|
||||
// { "behaviorScript", LVT_???, offsetof(struct SpawnInfo, behaviorScript), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
{ "next", LVT_COBJECT_P, offsetof(struct SpawnInfo, next), true, LOT_SPAWNINFO },
|
||||
{ "next", LVT_COBJECT_P, offsetof(struct SpawnInfo, next), false, LOT_SPAWNINFO },
|
||||
{ "startAngle", LVT_COBJECT, offsetof(struct SpawnInfo, startAngle), true, LOT_VEC3S },
|
||||
{ "startPos", LVT_COBJECT, offsetof(struct SpawnInfo, startPos), true, LOT_VEC3S },
|
||||
{ "unk18", LVT_COBJECT_P, offsetof(struct SpawnInfo, unk18), true, LOT_GRAPHNODE },
|
||||
{ "unk18", LVT_COBJECT_P, offsetof(struct SpawnInfo, unk18), false, LOT_GRAPHNODE },
|
||||
};
|
||||
|
||||
#define LUA_SPAWN_PARTICLES_INFO_FIELD_COUNT 12
|
||||
|
|
@ -1375,7 +1375,7 @@ static struct LuaObjectField sSurfaceFields[LUA_SURFACE_FIELD_COUNT] = {
|
|||
{ "lowerY", LVT_S16, offsetof(struct Surface, lowerY), false, LOT_NONE },
|
||||
{ "modifiedTimestamp", LVT_U32, offsetof(struct Surface, modifiedTimestamp), false, LOT_NONE },
|
||||
{ "normal", LVT_COBJECT, offsetof(struct Surface, normal), true, LOT_VEC3F },
|
||||
{ "object", LVT_COBJECT_P, offsetof(struct Surface, object), true, LOT_OBJECT },
|
||||
{ "object", LVT_COBJECT_P, offsetof(struct Surface, object), false, LOT_OBJECT },
|
||||
{ "originOffset", LVT_F32, offsetof(struct Surface, originOffset), false, LOT_NONE },
|
||||
{ "prevVertex1", LVT_COBJECT, offsetof(struct Surface, prevVertex1), true, LOT_VEC3S },
|
||||
{ "prevVertex2", LVT_COBJECT, offsetof(struct Surface, prevVertex2), true, LOT_VEC3S },
|
||||
|
|
|
|||
|
|
@ -1667,6 +1667,63 @@ char gSmluaConstants[] = ""
|
|||
"NPT_LOCAL = 1\n"
|
||||
"NPT_SERVER = 2\n"
|
||||
"NPT_CLIENT = 3\n"
|
||||
"ACTIVE_FLAG_DEACTIVATED = 0\n"
|
||||
"ACTIVE_FLAG_ACTIVE = (1 << 0)\n"
|
||||
"ACTIVE_FLAG_FAR_AWAY = (1 << 1)\n"
|
||||
"ACTIVE_FLAG_UNK2 = (1 << 2)\n"
|
||||
"ACTIVE_FLAG_IN_DIFFERENT_ROOM = (1 << 3)\n"
|
||||
"ACTIVE_FLAG_UNIMPORTANT = (1 << 4)\n"
|
||||
"ACTIVE_FLAG_INITIATED_TIME_STOP = (1 << 5)\n"
|
||||
"ACTIVE_FLAG_MOVE_THROUGH_GRATE = (1 << 6)\n"
|
||||
"ACTIVE_FLAG_DITHERED_ALPHA = (1 << 7)\n"
|
||||
"ACTIVE_FLAG_UNK8 = (1 << 8)\n"
|
||||
"ACTIVE_FLAG_UNK9 = (1 << 9)\n"
|
||||
"ACTIVE_FLAG_UNK10 = (1 << 10)\n"
|
||||
"RESPAWN_INFO_TYPE_NULL = 0\n"
|
||||
"RESPAWN_INFO_TYPE_32 = 1\n"
|
||||
"RESPAWN_INFO_TYPE_16 = 2\n"
|
||||
"RESPAWN_INFO_DONT_RESPAWN = 0xFF\n"
|
||||
"OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE = (1 << 0)\n"
|
||||
"OBJ_FLAG_MOVE_XZ_USING_FVEL = (1 << 1)\n"
|
||||
"OBJ_FLAG_MOVE_Y_WITH_TERMINAL_VEL = (1 << 2)\n"
|
||||
"OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW = (1 << 3)\n"
|
||||
"OBJ_FLAG_SET_FACE_ANGLE_TO_MOVE_ANGLE = (1 << 4)\n"
|
||||
"OBJ_FLAG_0020 = (1 << 5)\n"
|
||||
"OBJ_FLAG_COMPUTE_DIST_TO_MARIO = (1 << 6)\n"
|
||||
"OBJ_FLAG_ACTIVE_FROM_AFAR = (1 << 7)\n"
|
||||
"OBJ_FLAG_0100 = (1 << 8)\n"
|
||||
"OBJ_FLAG_TRANSFORM_RELATIVE_TO_PARENT = (1 << 9)\n"
|
||||
"OBJ_FLAG_HOLDABLE = (1 << 10)\n"
|
||||
"OBJ_FLAG_SET_THROW_MATRIX_FROM_TRANSFORM = (1 << 11)\n"
|
||||
"OBJ_FLAG_1000 = (1 << 12)\n"
|
||||
"OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO = (1 << 13)\n"
|
||||
"OBJ_FLAG_PERSISTENT_RESPAWN = (1 << 14)\n"
|
||||
"OBJ_FLAG_8000 = (1 << 15)\n"
|
||||
"OBJ_FLAG_30 = (1 << 30)\n"
|
||||
"HELD_FREE = 0\n"
|
||||
"HELD_HELD = 1\n"
|
||||
"HELD_THROWN = 2\n"
|
||||
"HELD_DROPPED = 3\n"
|
||||
"ACTIVE_PARTICLE_DUST = (1 << 0)\n"
|
||||
"ACTIVE_PARTICLE_UNUSED_1 = (1 << 1)\n"
|
||||
"ACTIVE_PARTICLE_UNUSED_2 = (1 << 2)\n"
|
||||
"ACTIVE_PARTICLE_SPARKLES = (1 << 3)\n"
|
||||
"ACTIVE_PARTICLE_H_STAR = (1 << 4)\n"
|
||||
"ACTIVE_PARTICLE_BUBBLE = (1 << 5)\n"
|
||||
"ACTIVE_PARTICLE_WATER_SPLASH = (1 << 6)\n"
|
||||
"ACTIVE_PARTICLE_IDLE_WATER_WAVE = (1 << 7)\n"
|
||||
"ACTIVE_PARTICLE_SHALLOW_WATER_WAVE = (1 << 8)\n"
|
||||
"ACTIVE_PARTICLE_PLUNGE_BUBBLE = (1 << 9)\n"
|
||||
"ACTIVE_PARTICLE_WAVE_TRAIL = (1 << 10)\n"
|
||||
"ACTIVE_PARTICLE_FIRE = (1 << 11)\n"
|
||||
"ACTIVE_PARTICLE_SHALLOW_WATER_SPLASH = (1 << 12)\n"
|
||||
"ACTIVE_PARTICLE_LEAF = (1 << 13)\n"
|
||||
"ACTIVE_PARTICLE_DIRT = (1 << 14)\n"
|
||||
"ACTIVE_PARTICLE_MIST_CIRCLE = (1 << 15)\n"
|
||||
"ACTIVE_PARTICLE_SNOW = (1 << 16)\n"
|
||||
"ACTIVE_PARTICLE_BREATH = (1 << 17)\n"
|
||||
"ACTIVE_PARTICLE_V_STAR = (1 << 18)\n"
|
||||
"ACTIVE_PARTICLE_TRIANGLE = (1 << 19)\n"
|
||||
"CONT_NO_RESPONSE_ERROR = 0x8\n"
|
||||
"CONT_OVERRUN_ERROR = 0x4\n"
|
||||
"CONT_FRAME_ERROR = 0x2\n"
|
||||
|
|
|
|||
|
|
@ -43,6 +43,8 @@ static struct Object* spawn_object_internal(enum BehaviorId behaviorId, enum Mod
|
|||
obj->oHomeY = y;
|
||||
obj->oHomeZ = z;
|
||||
|
||||
obj->createdThroughNetwork = true;
|
||||
|
||||
if (objSetupFunction != 0) {
|
||||
lua_State* L = gLuaState;
|
||||
lua_rawgeti(L, LUA_REGISTRYINDEX, objSetupFunction);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue