From 08d4818ba7c7661778c1330d9c97b419b8fa2a48 Mon Sep 17 00:00:00 2001 From: MysterD Date: Sat, 12 Mar 2022 21:28:57 -0800 Subject: [PATCH] Added Lua definitions for autocomplete in visual studio code --- autogen/common.py | 21 + autogen/convert_constants.py | 41 + autogen/convert_functions.py | 55 +- autogen/convert_structs.py | 57 +- autogen/lua_constants/built-in.lua | 68 + autogen/lua_definitions/constants.lua | 7909 +++++++++++++++++++++++++ autogen/lua_definitions/functions.lua | 3800 ++++++++++++ autogen/lua_definitions/manual.lua | 116 + autogen/lua_definitions/structs.lua | 1523 +++++ docs/lua/functions.md | 32 +- docs/lua/structs.md | 20 +- mods/football.lua | 10 + src/pc/lua/smlua_constants_autogen.c | 68 + 13 files changed, 13687 insertions(+), 33 deletions(-) create mode 100644 autogen/lua_definitions/constants.lua create mode 100644 autogen/lua_definitions/functions.lua create mode 100644 autogen/lua_definitions/manual.lua create mode 100644 autogen/lua_definitions/structs.lua diff --git a/autogen/common.py b/autogen/common.py index dc22d685..1575eb69 100644 --- a/autogen/common.py +++ b/autogen/common.py @@ -124,6 +124,8 @@ def translate_type_to_lua(ptype): if ptype == 'char*' or ('char' in ptype and '[' in ptype): return '`string`', None + ptype = ptype.replace('const ', '') + if 'Vec3' in ptype: return ptype, 'structs.md#%s' % ptype @@ -136,6 +138,18 @@ def translate_type_to_lua(ptype): else: return '`integer`', None + if ptype == 'char': + return '`integer`', None + + if ptype == 'int': + return '`integer`', None + + if ptype == 'float': + return '`number`', None + + if ptype == 'bool': + return '`boolean`', None + if 'void' == ptype: return None, None @@ -161,3 +175,10 @@ def gen_comment_header(f): s += "" + comment_l + "\n" s += "\n" return s + +def translate_to_def(ptype): + if ptype == None: + return 'nil' + if 'Lua Function' in ptype: + return 'function' + return ptype.replace('enum ', '').replace('const ', '').replace(' ', '').replace('`', '').replace('<', '_').replace('>', '') \ No newline at end of file diff --git a/autogen/convert_constants.py b/autogen/convert_constants.py index 7027f60c..f4db0b6b 100644 --- a/autogen/convert_constants.py +++ b/autogen/convert_constants.py @@ -6,6 +6,7 @@ from extract_constants import * in_filename = 'autogen/lua_constants/built-in.lua' out_filename = 'src/pc/lua/smlua_constants_autogen.c' out_filename_docs = 'docs/lua/constants.md' +out_filename_defs = 'autogen/lua_definitions/constants.lua' in_files = [ "include/types.h", @@ -292,6 +293,42 @@ def doc_files(processed_files): ############################################################################ +def def_constant(processed_constant): + constants = processed_constant + s = '' + + is_enum = 'identifier' in processed_constant + if is_enum: + s += '\n--- @class %s\n' % translate_to_def(processed_constant['identifier']) + constants = processed_constant['constants'] + if len(constants) == 0: + return '' + for c in constants: + s += '\n--- @type %s\n' % translate_to_def(processed_constant['identifier']) + s += '%s = %s\n' % (c[0], c[1]) + return s + + for c in [processed_constant]: + s += '\n--- @type integer\n' + s += '%s = %s\n' % (c[0], c[1]) + + return s + +def build_to_def(processed_files): + s = '-- AUTOGENERATED FOR CODE EDITORS --\n\n' + with open(get_path(in_filename), 'r') as f: + s += f.read() + s += '\n' + + for file in processed_files: + constants = sorted(file['constants'], key=lambda d: 'zzz' + d['identifier'] if 'identifier' in d else d[0]) + for c in constants: + s += def_constant(c) + + return s + +############################################################################ + def main(): processed_files = process_files() built_files = build_files(processed_files) @@ -306,6 +343,10 @@ def main(): with open(get_path(out_filename_docs), 'w') as out: out.write(doc) + defs = build_to_def(processed_files) + with open(get_path(out_filename_defs), 'w') as out: + out.write(defs) + global totalConstants print("Total constants: " + str(totalConstants)) diff --git a/autogen/convert_functions.py b/autogen/convert_functions.py index 26e2dd0c..e3a31713 100644 --- a/autogen/convert_functions.py +++ b/autogen/convert_functions.py @@ -8,7 +8,8 @@ integer_types = ["u8", "u16", "u32", "u64", "s8", "s16", "s32", "s64", "int"] number_types = ["f32", "float"] param_override_build = {} out_filename = 'src/pc/lua/smlua_functions_autogen.c' -docs_lua_functions = 'docs/lua/functions.md' +out_filename_docs = 'docs/lua/functions.md' +out_filename_defs = 'autogen/lua_definitions/functions.lua' in_files = [ "src/audio/external.h", @@ -599,7 +600,56 @@ def doc_files(processed_files): s += '\n# functions from %s\n\n
\n\n' % processed_file['filename'] s += doc_functions(processed_file['functions']) - with open(get_path(docs_lua_functions), 'w') as out: + with open(get_path(out_filename_docs), 'w') as out: + out.write(s) + +############################################################################ + +def_pointers = [] + +def def_function(function): + s = '' + if not function['implemented']: + return '' + + fid = function['identifier'] + rtype, rlink = translate_type_to_lua(function['type']) + param_str = ', '.join([x['identifier'] for x in function['params']]) + + if rtype == None: + rtype = 'nil' + + for param in function['params']: + pid = param['identifier'] + ptype = param['type'] + ptype, plink = translate_type_to_lua(ptype) + + ptype = translate_to_def(ptype) + if ptype.startswith('Pointer_') and ptype not in def_pointers: + def_pointers.append(ptype) + + s += '--- @param %s %s\n' % (pid, ptype) + + rtype = translate_to_def(rtype) + if rtype.startswith('Pointer_') and rtype not in def_pointers: + def_pointers.append(rtype) + + s += '--- @return %s\n' % rtype + s += "function %s(%s)\n -- ...\nend\n\n" % (fid, param_str) + + return s + + +def def_files(processed_files): + s = '-- AUTOGENERATED FOR CODE EDITORS --\n\n' + for processed_file in processed_files: + for function in processed_file['functions']: + s += def_function(function) + + for def_pointer in def_pointers: + s += '--- @class %s\n' % def_pointer + + with open(get_path(out_filename_defs), 'w') as out: out.write(s) ############################################################################ @@ -624,6 +674,7 @@ def main(): print('REJECTS:\n%s' % rejects) doc_files(processed_files) + def_files(processed_files) global total_functions print('Total functions: ' + str(total_functions)) diff --git a/autogen/convert_structs.py b/autogen/convert_structs.py index a5b59c69..fb72344e 100644 --- a/autogen/convert_structs.py +++ b/autogen/convert_structs.py @@ -21,8 +21,10 @@ in_files = [ 'src/game/spawn_sound.h', ] -smlua_cobject_autogen = 'src/pc/lua/smlua_cobject_autogen' -docs_lua_structs = 'docs/lua/structs.md' +out_filename_c = 'src/pc/lua/smlua_cobject_autogen.c' +out_filename_h = 'src/pc/lua/smlua_cobject_autogen.h' +out_filename_docs = 'docs/lua/structs.md' +out_filename_defs = 'autogen/lua_definitions/structs.lua' c_template = """/* THIS FILE IS AUTOGENERATED */ /* SHOULD NOT BE MANUALLY CHANGED */ @@ -388,7 +390,51 @@ def doc_structs(structs): continue s += doc_struct(struct) + '\n' - with open(get_path(docs_lua_structs), 'w') as out: + with open(get_path(out_filename_docs), 'w') as out: + out.write(s) + +############################################################################ + +def_pointers = [] + +def def_struct(struct): + sid = struct['identifier'] + + stype = translate_to_def(sid) + if stype.startswith('Pointer_') and stype not in def_pointers: + def_pointers.append(stype) + + s = '\n--- @class %s\n' % stype + + for field in struct['fields']: + fid, ftype, fimmutable, lvt, lot = get_struct_field_info(struct, field) + + if '???' in lvt or '???' in lot: + continue + + ftype, flink = translate_type_to_lua(ftype) + + ftype = translate_to_def(ftype) + if ftype.startswith('Pointer_') and ftype not in def_pointers: + def_pointers.append(ftype) + + s += '--- @field public %s %s\n' % (fid, ftype) + + return s + +def def_structs(structs): + s = '-- AUTOGENERATED FOR CODE EDITORS --\n' + + for struct in structs: + if struct['identifier'] in exclude_structs: + continue + s += def_struct(struct) + + s += '\n' + for def_pointer in def_pointers: + s += '--- @class %s\n' % def_pointer + + with open(get_path(out_filename_defs), 'w') as out: out.write(s) ############################################################################ @@ -406,15 +452,16 @@ def build_files(): built_enum = build_lot_enum() built_include = build_includes() - out_c_filename = get_path(smlua_cobject_autogen + '.c') + out_c_filename = get_path(out_filename_c) with open(out_c_filename, 'w') as out: out.write(c_template.replace("$[BODY]", built_body).replace('$[INCLUDES]', built_include)) - out_h_filename = get_path(smlua_cobject_autogen + '.h') + out_h_filename = get_path(out_filename_h) with open(out_h_filename, 'w') as out: out.write(h_template.replace("$[BODY]", built_enum)) doc_structs(parsed) + def_structs(parsed) global total_structs global total_fields diff --git a/autogen/lua_constants/built-in.lua b/autogen/lua_constants/built-in.lua index 138470c0..88e5b8b3 100644 --- a/autogen/lua_constants/built-in.lua +++ b/autogen/lua_constants/built-in.lua @@ -45,6 +45,9 @@ _ReadOnlyTable = { end } +--- @param dest Vec3f +--- @param src Vec3f +--- @return Vec3f function vec3f_copy(dest, src) dest.x = src.x dest.y = src.y @@ -52,6 +55,11 @@ function vec3f_copy(dest, src) return dest end +--- @param dest Vec3f +--- @param x number +--- @param y number +--- @param z number +--- @return Vec3f function vec3f_set(dest, x, y, z) dest.x = x dest.y = y @@ -59,6 +67,9 @@ function vec3f_set(dest, x, y, z) return dest end +--- @param dest Vec3f +--- @param a Vec3f +--- @return Vec3f function vec3f_add(dest, a) dest.x = dest.x + a.x dest.y = dest.y + a.y @@ -66,6 +77,10 @@ function vec3f_add(dest, a) return dest end +--- @param dest Vec3f +--- @param a Vec3f +--- @param b Vec3f +--- @return Vec3f function vec3f_sum(dest, a, b) dest.x = a.x + b.x dest.y = a.y + b.y @@ -73,6 +88,9 @@ function vec3f_sum(dest, a, b) return dest end +--- @param dest Vec3f +--- @param a number +--- @return Vec3f function vec3f_mul(dest, a) dest.x = dest.x * a dest.y = dest.y * a @@ -80,6 +98,8 @@ function vec3f_mul(dest, a) return dest end +--- @param dest Vec3f +--- @return Vec3f function vec3f_normalize(dest) local divisor = math.sqrt(dest.x * dest.x + dest.y * dest.y + dest.z * dest.z) if divisor == 0 then @@ -94,14 +114,22 @@ function vec3f_normalize(dest) return dest end +--- @param a Vec3f +--- @return number function vec3f_length(a) return math.sqrt(a.x * a.x + a.y * a.y + a.z * a.z) end +--- @param a Vec3f +--- @param b Vec3f +--- @return number function vec3f_dot(a, b) return a.x * b.x + a.y * b.y + a.z * b.z end +--- @param vec Vec3f +--- @param onto Vec3f +--- @return Vec3f function vec3f_project(vec, onto) local numerator = vec3f_dot(vec, onto) local denominator = vec3f_dot(onto, onto) @@ -111,6 +139,9 @@ function vec3f_project(vec, onto) return out end +--- @param v1 Vec3f +--- @param v2 Vec3f +--- @return number function vec3f_dist(v1, v2) dx = v1.x - v2.x dy = v1.y - v2.y @@ -118,6 +149,9 @@ function vec3f_dist(v1, v2) return math.sqrt(dx * dx + dy * dy + dz * dz) end +--- @param dest Vec3s +--- @param src Vec3s +--- @return Vec3s function vec3s_copy(dest, src) dest.x = src.x dest.y = src.y @@ -125,6 +159,11 @@ function vec3s_copy(dest, src) return dest end +--- @param dest Vec3s +--- @param x number +--- @param y number +--- @param z number +--- @return Vec3s function vec3s_set(dest, x, y, z) dest.x = x dest.y = y @@ -132,6 +171,9 @@ function vec3s_set(dest, x, y, z) return dest end +--- @param dest Vec3s +--- @param a Vec3s +--- @return Vec3s function vec3s_add(dest, a) dest.x = dest.x + a.x dest.y = dest.y + a.y @@ -139,6 +181,10 @@ function vec3s_add(dest, a) return dest end +--- @param dest Vec3s +--- @param a Vec3s +--- @param b Vec3s +--- @return Vec3s function vec3s_sum(dest, a, b) dest.x = a.x + b.x dest.y = a.y + b.y @@ -146,6 +192,9 @@ function vec3s_sum(dest, a, b) return dest end +--- @param dest Vec3s +--- @param a number +--- @return Vec3s function vec3s_mul(dest, a) dest.x = dest.x * a dest.y = dest.y * a @@ -153,6 +202,9 @@ function vec3s_mul(dest, a) return dest end +--- @param v1 Vec3s +--- @param v2 Vec3s +--- @return number function vec3s_dist(v1, v2) dx = v1.x - v2.x dy = v1.y - v2.y @@ -160,6 +212,11 @@ function vec3s_dist(v1, v2) return math.sqrt(dx * dx + dy * dy + dz * dz) end +--- @param current number +--- @param target number +--- @param inc number +--- @param dec number +--- @return number function approach_f32(current, target, inc, dec) if current < target then current = current + inc @@ -175,6 +232,11 @@ function approach_f32(current, target, inc, dec) return current; end +--- @param current number +--- @param target number +--- @param inc number +--- @param dec number +--- @return number function approach_s32(current, target, inc, dec) if current < target then current = current + inc @@ -190,6 +252,12 @@ function approach_s32(current, target, inc, dec) return current; end +--- @param bank number +--- @param playFlags number +--- @param soundID number +--- @param priority number +--- @param flags2 number +--- @return number function SOUND_ARG_LOAD(bank, playFlags, soundID, priority, flags2) return ((bank << 28) | (playFlags << 24) | (soundID << 16) | (priority << 8) | (flags2 << 4) | 1) end diff --git a/autogen/lua_definitions/constants.lua b/autogen/lua_definitions/constants.lua new file mode 100644 index 00000000..7959a985 --- /dev/null +++ b/autogen/lua_definitions/constants.lua @@ -0,0 +1,7909 @@ +-- AUTOGENERATED FOR CODE EDITORS -- + +_CObject = { + __index = function (t,k) + return _get_field(t['_lot'], t['_pointer'], k, t) + end, + __newindex = function (t,k,v) + _set_field(t['_lot'], t['_pointer'], k, v, t) + end, + __eq = function (a, b) + return a['_pointer'] == b['_pointer'] and a['_lot'] == b['_lot'] and a['_pointer'] ~= nil and a['_lot'] ~= nil + end +} + +_CPointer = { + __index = function (t,k) + return nil + end, + __newindex = function (t,k,v) + end, + __tostring = function(t) + return 'CPointer: ' .. t['_lvt'] .. ', [' .. string.format('0x%08X', t['_pointer']) .. ']' + end, + __eq = function (a, b) + return a['_pointer'] == b['_pointer'] and a['_pointer'] ~= nil and a['_lvt'] ~= nil + end +} + +_SyncTable = { + __index = function (t,k) + local _table = rawget(t, '_table') + return _table[k] + end, + __newindex = function (t,k,v) + local _table = rawget(t, '_table') + if _table[k] == v then return end + _set_sync_table_field(t, k, v) + end +} + +_ReadOnlyTable = { + __index = function (t,k) + local _table = rawget(t, '_table') + return _table[k] + end, + __newindex = function (t,k,v) + end +} + +--- @param dest Vec3f +--- @param src Vec3f +--- @return Vec3f +function vec3f_copy(dest, src) + dest.x = src.x + dest.y = src.y + dest.z = src.z + return dest +end + +--- @param dest Vec3f +--- @param x number +--- @param y number +--- @param z number +--- @return Vec3f +function vec3f_set(dest, x, y, z) + dest.x = x + dest.y = y + dest.z = z + return dest +end + +--- @param dest Vec3f +--- @param a Vec3f +--- @return Vec3f +function vec3f_add(dest, a) + dest.x = dest.x + a.x + dest.y = dest.y + a.y + dest.z = dest.z + a.z + return dest +end + +--- @param dest Vec3f +--- @param a Vec3f +--- @param b Vec3f +--- @return Vec3f +function vec3f_sum(dest, a, b) + dest.x = a.x + b.x + dest.y = a.y + b.y + dest.z = a.z + b.z + return dest +end + +--- @param dest Vec3f +--- @param a number +--- @return Vec3f +function vec3f_mul(dest, a) + dest.x = dest.x * a + dest.y = dest.y * a + dest.z = dest.z * a + return dest +end + +--- @param dest Vec3f +--- @return Vec3f +function vec3f_normalize(dest) + local divisor = math.sqrt(dest.x * dest.x + dest.y * dest.y + dest.z * dest.z) + if divisor == 0 then + return dest + end + + local invsqrt = 1.0 / divisor + dest.x = dest.x * invsqrt + dest.y = dest.y * invsqrt + dest.z = dest.z * invsqrt + + return dest +end + +--- @param a Vec3f +--- @return number +function vec3f_length(a) + return math.sqrt(a.x * a.x + a.y * a.y + a.z * a.z) +end + +--- @param a Vec3f +--- @param b Vec3f +--- @return number +function vec3f_dot(a, b) + return a.x * b.x + a.y * b.y + a.z * b.z +end + +--- @param vec Vec3f +--- @param onto Vec3f +--- @return Vec3f +function vec3f_project(vec, onto) + local numerator = vec3f_dot(vec, onto) + local denominator = vec3f_dot(onto, onto) + local out = {} + vec3f_copy(out, onto) + vec3f_mul(out, numerator / denominator) + return out +end + +--- @param v1 Vec3f +--- @param v2 Vec3f +--- @return number +function vec3f_dist(v1, v2) + dx = v1.x - v2.x + dy = v1.y - v2.y + dz = v1.z - v2.z + return math.sqrt(dx * dx + dy * dy + dz * dz) +end + +--- @param dest Vec3s +--- @param src Vec3s +--- @return Vec3s +function vec3s_copy(dest, src) + dest.x = src.x + dest.y = src.y + dest.z = src.z + return dest +end + +--- @param dest Vec3s +--- @param x number +--- @param y number +--- @param z number +--- @return Vec3s +function vec3s_set(dest, x, y, z) + dest.x = x + dest.y = y + dest.z = z + return dest +end + +--- @param dest Vec3s +--- @param a Vec3s +--- @return Vec3s +function vec3s_add(dest, a) + dest.x = dest.x + a.x + dest.y = dest.y + a.y + dest.z = dest.z + a.z + return dest +end + +--- @param dest Vec3s +--- @param a Vec3s +--- @param b Vec3s +--- @return Vec3s +function vec3s_sum(dest, a, b) + dest.x = a.x + b.x + dest.y = a.y + b.y + dest.z = a.z + b.z + return dest +end + +--- @param dest Vec3s +--- @param a number +--- @return Vec3s +function vec3s_mul(dest, a) + dest.x = dest.x * a + dest.y = dest.y * a + dest.z = dest.z * a + return dest +end + +--- @param v1 Vec3s +--- @param v2 Vec3s +--- @return number +function vec3s_dist(v1, v2) + dx = v1.x - v2.x + dy = v1.y - v2.y + dz = v1.z - v2.z + return math.sqrt(dx * dx + dy * dy + dz * dz) +end + +--- @param current number +--- @param target number +--- @param inc number +--- @param dec number +--- @return number +function approach_f32(current, target, inc, dec) + if current < target then + current = current + inc + if current > target then + current = target + end + else + current = current - dec + if current < target then + current = target + end + end + return current; +end + +--- @param current number +--- @param target number +--- @param inc number +--- @param dec number +--- @return number +function approach_s32(current, target, inc, dec) + if current < target then + current = current + inc + if current > target then + current = target + end + else + current = current - dec + if current < target then + current = target + end + end + return current; +end + +--- @param bank number +--- @param playFlags number +--- @param soundID number +--- @param priority number +--- @param flags2 number +--- @return number +function SOUND_ARG_LOAD(bank, playFlags, soundID, priority, flags2) + return ((bank << 28) | (playFlags << 24) | (soundID << 16) | (priority << 8) | (flags2 << 4) | 1) +end + + +--- @type integer +NO_SOUND = 0 + +--- @type integer +SOUNDARGS_MASK_BANK = 0xF0000000 + +--- @type integer +SOUNDARGS_MASK_PRIORITY = 0x0000FF00 + +--- @type integer +SOUNDARGS_MASK_SOUNDID = 0x00FF0000 + +--- @type integer +SOUNDARGS_MASK_STATUS = 0x0000000F + +--- @type integer +SOUNDARGS_SHIFT_BANK = 28 + +--- @type integer +SOUNDARGS_SHIFT_PRIORITY = 8 + +--- @type integer +SOUNDARGS_SHIFT_SOUNDID = 16 + +--- @type integer +SOUND_ACTION_BONK = SOUND_ARG_LOAD(0, 4, 0x45, 0xA0, 8) + +--- @type integer +SOUND_ACTION_BOUNCE_OFF_OBJECT = SOUND_ARG_LOAD(0, 4, 0x59, 0xB0, 8) + +--- @type integer +SOUND_ACTION_BRUSH_HAIR = SOUND_ARG_LOAD(0, 4, 0x40, 0x80, 8) + +--- @type integer +SOUND_ACTION_CLAP_HANDS_COLD = SOUND_ARG_LOAD(0, 6, 0x2C, 0x00, 8) + +--- @type integer +SOUND_ACTION_CLIMB_DOWN_TREE = 0x003B + +--- @type integer +SOUND_ACTION_CLIMB_UP_POLE = SOUND_ARG_LOAD(0, 4, 0x41, 0x80, 8) + +--- @type integer +SOUND_ACTION_CLIMB_UP_TREE = SOUND_ARG_LOAD(0, 4, 0x3A, 0x80, 8) + +--- @type integer +SOUND_ACTION_FLYING_FAST = SOUND_ARG_LOAD(0, 4, 0x56, 0x80, 8) + +--- @type integer +SOUND_ACTION_HANGING_STEP = SOUND_ARG_LOAD(0, 4, 0x2D, 0xA0, 8) + +--- @type integer +SOUND_ACTION_HIT = SOUND_ARG_LOAD(0, 4, 0x44, 0xC0, 8) + +--- @type integer +SOUND_ACTION_HIT_2 = SOUND_ARG_LOAD(0, 4, 0x44, 0xB0, 8) + +--- @type integer +SOUND_ACTION_HIT_3 = SOUND_ARG_LOAD(0, 4, 0x44, 0xA0, 8) + +--- @type integer +SOUND_ACTION_INTRO_UNK45E = SOUND_ARG_LOAD(0, 4, 0x5E, 0x80, 8) + +--- @type integer +SOUND_ACTION_INTRO_UNK45F = SOUND_ARG_LOAD(0, 4, 0x5F, 0x80, 8) + +--- @type integer +SOUND_ACTION_KEY_SWISH = SOUND_ARG_LOAD(0, 4, 0x36, 0x80, 8) + +--- @type integer +SOUND_ACTION_METAL_BONK = SOUND_ARG_LOAD(0, 4, 0x42, 0x80, 8) + +--- @type integer +SOUND_ACTION_METAL_HEAVY_LANDING = SOUND_ARG_LOAD(0, 4, 0x2B, 0x90, 8) + +--- @type integer +SOUND_ACTION_METAL_JUMP = SOUND_ARG_LOAD(0, 4, 0x28, 0x90, 8) + +--- @type integer +SOUND_ACTION_METAL_JUMP_WATER = SOUND_ARG_LOAD(0, 4, 0x50, 0x90, 8) + +--- @type integer +SOUND_ACTION_METAL_LANDING = SOUND_ARG_LOAD(0, 4, 0x29, 0x90, 8) + +--- @type integer +SOUND_ACTION_METAL_LAND_WATER = SOUND_ARG_LOAD(0, 4, 0x51, 0x90, 8) + +--- @type integer +SOUND_ACTION_METAL_STEP = SOUND_ARG_LOAD(0, 4, 0x2A, 0x90, 8) + +--- @type integer +SOUND_ACTION_METAL_STEP_TIPTOE = SOUND_ARG_LOAD(0, 4, 0x2F, 0x90, 8) + +--- @type integer +SOUND_ACTION_METAL_STEP_WATER = SOUND_ARG_LOAD(0, 4, 0x52, 0x90, 8) + +--- @type integer +SOUND_ACTION_PAT_BACK = SOUND_ARG_LOAD(0, 4, 0x3F, 0x80, 8) + +--- @type integer +SOUND_ACTION_QUICKSAND_STEP = SOUND_ARG_LOAD(0, 4, 0x2E, 0x00, 8) + +--- @type integer +SOUND_ACTION_READ_SIGN = SOUND_ARG_LOAD(0, 4, 0x5B, 0xFF, 8) + +--- @type integer +SOUND_ACTION_SHRINK_INTO_BBH = SOUND_ARG_LOAD(0, 4, 0x46, 0xA0, 8) + +--- @type integer +SOUND_ACTION_SIDE_FLIP_UNK = SOUND_ARG_LOAD(0, 4, 0x5A, 0x80, 8) + +--- @type integer +SOUND_ACTION_SPIN = SOUND_ARG_LOAD(0, 4, 0x37, 0x80, 8) + +--- @type integer +SOUND_ACTION_SWIM = SOUND_ARG_LOAD(0, 4, 0x33, 0x80, 8) + +--- @type integer +SOUND_ACTION_SWIM_FAST = SOUND_ARG_LOAD(0, 4, 0x47, 0xA0, 8) + +--- @type integer +SOUND_ACTION_TELEPORT = SOUND_ARG_LOAD(0, 4, 0x57, 0xC0, 8) + +--- @type integer +SOUND_ACTION_TERRAIN_BODY_HIT_GROUND = SOUND_ARG_LOAD(0, 4, 0x18, 0x80, 8) + +--- @type integer +SOUND_ACTION_TERRAIN_HEAVY_LANDING = SOUND_ARG_LOAD(0, 4, 0x60, 0x80, 8) + +--- @type integer +SOUND_ACTION_TERRAIN_JUMP = SOUND_ARG_LOAD(0, 4, 0x00, 0x80, 8) + +--- @type integer +SOUND_ACTION_TERRAIN_LANDING = SOUND_ARG_LOAD(0, 4, 0x08, 0x80, 8) + +--- @type integer +SOUND_ACTION_TERRAIN_STEP = SOUND_ARG_LOAD(0, 6, 0x10, 0x80, 8) + +--- @type integer +SOUND_ACTION_TERRAIN_STEP_TIPTOE = SOUND_ARG_LOAD(0, 6, 0x20, 0x80, 8) + +--- @type integer +SOUND_ACTION_TERRAIN_STUCK_IN_GROUND = SOUND_ARG_LOAD(0, 4, 0x48, 0x80, 8) + +--- @type integer +SOUND_ACTION_THROW = SOUND_ARG_LOAD(0, 4, 0x35, 0x80, 8) + +--- @type integer +SOUND_ACTION_TWIRL = SOUND_ARG_LOAD(0, 4, 0x38, 0x80, 8) + +--- @type integer +SOUND_ACTION_UNK3C = 0x003C + +--- @type integer +SOUND_ACTION_UNK53 = 0x0053 + +--- @type integer +SOUND_ACTION_UNK54 = 0x0054 + +--- @type integer +SOUND_ACTION_UNK55 = 0x0055 + +--- @type integer +SOUND_ACTION_UNK5D = 0x005D + +--- @type integer +SOUND_ACTION_UNKNOWN430 = SOUND_ARG_LOAD(0, 4, 0x30, 0xC0, 8) + +--- @type integer +SOUND_ACTION_UNKNOWN431 = SOUND_ARG_LOAD(0, 4, 0x31, 0x60, 8) + +--- @type integer +SOUND_ACTION_UNKNOWN432 = SOUND_ARG_LOAD(0, 4, 0x32, 0x80, 8) + +--- @type integer +SOUND_ACTION_UNKNOWN434 = SOUND_ARG_LOAD(0, 4, 0x34, 0x80, 8) + +--- @type integer +SOUND_ACTION_UNKNOWN43D = SOUND_ARG_LOAD(0, 4, 0x3D, 0x80, 8) + +--- @type integer +SOUND_ACTION_UNKNOWN43E = SOUND_ARG_LOAD(0, 4, 0x3E, 0x80, 8) + +--- @type integer +SOUND_ACTION_UNKNOWN458 = SOUND_ARG_LOAD(0, 4, 0x58, 0xA0, 8) + +--- @type integer +SOUND_ACTION_UNKNOWN45C = SOUND_ARG_LOAD(0, 4, 0x5C, 0x80, 8) + +--- @type integer +SOUND_ACTION_UNSTUCK_FROM_GROUND = SOUND_ARG_LOAD(0, 4, 0x43, 0x80, 8) + +--- @type integer +SOUND_AIR_AMP_BUZZ = SOUND_ARG_LOAD(6, 0, 0x03, 0x40, 0) + +--- @type integer +SOUND_AIR_BLOW_FIRE = SOUND_ARG_LOAD(6, 0, 0x04, 0x80, 0) + +--- @type integer +SOUND_AIR_BLOW_WIND = SOUND_ARG_LOAD(6, 0, 0x04, 0x40, 0) + +--- @type integer +SOUND_AIR_BOBOMB_LIT_FUSE = SOUND_ARG_LOAD(6, 0, 0x08, 0x60, 0) + +--- @type integer +SOUND_AIR_BOWSER_SPIT_FIRE = SOUND_ARG_LOAD(6, 0, 0x00, 0x00, 0) + +--- @type integer +SOUND_AIR_CASTLE_OUTDOORS_AMBIENT = SOUND_ARG_LOAD(6, 0, 0x10, 0x40, 0) + +--- @type integer +SOUND_AIR_CHUCKYA_MOVE = SOUND_ARG_LOAD(6, 0, 0x0A, 0x40, 0) + +--- @type integer +SOUND_AIR_HEAVEHO_MOVE = SOUND_ARG_LOAD(6, 0, 0x06, 0x40, 0) + +--- @type integer +SOUND_AIR_HOWLING_WIND = SOUND_ARG_LOAD(6, 0, 0x09, 0x80, 0) + +--- @type integer +SOUND_AIR_LAKITU_FLY = SOUND_ARG_LOAD(6, 0, 0x02, 0x80, 0) + +--- @type integer +SOUND_AIR_LAKITU_FLY_HIGHPRIO = SOUND_ARG_LOAD(6, 0, 0x02, 0xFF, 0) + +--- @type integer +SOUND_AIR_PEACH_TWINKLE = SOUND_ARG_LOAD(6, 0, 0x0B, 0x40, 0) + +--- @type integer +SOUND_AIR_ROUGH_SLIDE = SOUND_ARG_LOAD(6, 0, 0x05, 0x00, 0) + +--- @type integer +SOUND_AIR_UNK01 = 0x6001 + +--- @type integer +SOUND_AIR_UNK07 = 0x6007 + +--- @type integer +SOUND_ENV_BOAT_ROCKING1 = SOUND_ARG_LOAD(4, 0, 0x0B, 0x00, 0) + +--- @type integer +SOUND_ENV_DRONING1 = SOUND_ARG_LOAD(4, 1, 0x03, 0x00, 0) + +--- @type integer +SOUND_ENV_DRONING2 = SOUND_ARG_LOAD(4, 0, 0x04, 0x00, 0) + +--- @type integer +SOUND_ENV_ELEVATOR1 = SOUND_ARG_LOAD(4, 0, 0x02, 0x00, 0) + +--- @type integer +SOUND_ENV_ELEVATOR2 = SOUND_ARG_LOAD(4, 0, 0x08, 0x00, 0) + +--- @type integer +SOUND_ENV_ELEVATOR3 = SOUND_ARG_LOAD(4, 0, 0x0C, 0x00, 0) + +--- @type integer +SOUND_ENV_ELEVATOR4 = SOUND_ARG_LOAD(4, 0, 0x0D, 0x00, 0) + +--- @type integer +SOUND_ENV_ELEVATOR4_2 = SOUND_ARG_LOAD(4, 1, 0x0D, 0x00, 0) + +--- @type integer +SOUND_ENV_MERRY_GO_ROUND_CREAKING = SOUND_ARG_LOAD(4, 0, 0x0F, 0x40, 0) + +--- @type integer +SOUND_ENV_METAL_BOX_PUSH = SOUND_ARG_LOAD(4, 0, 0x17, 0x80, 0) + +--- @type integer +SOUND_ENV_MOVINGSAND = SOUND_ARG_LOAD(4, 0, 0x0E, 0x00, 0) + +--- @type integer +SOUND_ENV_MOVING_SAND_SNOW = 0x4006 + +--- @type integer +SOUND_ENV_SINK_QUICKSAND = SOUND_ARG_LOAD(4, 0, 0x18, 0x80, 0) + +--- @type integer +SOUND_ENV_SLIDING = SOUND_ARG_LOAD(4, 0, 0x13, 0x00, 0) + +--- @type integer +SOUND_ENV_STAR = SOUND_ARG_LOAD(4, 0, 0x14, 0x00, 1) + +--- @type integer +SOUND_ENV_UNK07 = 0x4007 + +--- @type integer +SOUND_ENV_UNK12 = 0x4012 + +--- @type integer +SOUND_ENV_UNKNOWN2 = SOUND_ARG_LOAD(4, 0, 0x0A, 0x00, 0) + +--- @type integer +SOUND_ENV_UNKNOWN4 = SOUND_ARG_LOAD(4, 1, 0x15, 0x00, 0) + +--- @type integer +SOUND_ENV_WATER = SOUND_ARG_LOAD(4, 0, 0x09, 0x00, 0) + +--- @type integer +SOUND_ENV_WATERFALL1 = SOUND_ARG_LOAD(4, 0, 0x00, 0x00, 0) + +--- @type integer +SOUND_ENV_WATERFALL2 = SOUND_ARG_LOAD(4, 0, 0x01, 0x00, 0) + +--- @type integer +SOUND_ENV_WATER_DRAIN = SOUND_ARG_LOAD(4, 1, 0x16, 0x00, 0) + +--- @type integer +SOUND_ENV_WIND1 = SOUND_ARG_LOAD(4, 0, 0x05, 0x00, 0) + +--- @type integer +SOUND_ENV_WIND2 = SOUND_ARG_LOAD(4, 0, 0x10, 0x80, 0) + +--- @type integer +SOUND_GENERAL2_1UP_APPEAR = SOUND_ARG_LOAD(8, 0, 0x63, 0xD0, 8) + +--- @type integer +SOUND_GENERAL2_BIRD_CHIRP2 = SOUND_ARG_LOAD(8, 0, 0x50, 0x40, 0) + +--- @type integer +SOUND_GENERAL2_BOBOMB_EXPLOSION = SOUND_ARG_LOAD(8, 0, 0x2E, 0x20, 8) + +--- @type integer +SOUND_GENERAL2_BOWSER_EXPLODE = SOUND_ARG_LOAD(8, 0, 0x60, 0x00, 8) + +--- @type integer +SOUND_GENERAL2_BOWSER_KEY = SOUND_ARG_LOAD(8, 0, 0x61, 0x00, 8) + +--- @type integer +SOUND_GENERAL2_PURPLE_SWITCH = SOUND_ARG_LOAD(8, 0, 0x3E, 0xC0, 8) + +--- @type integer +SOUND_GENERAL2_PYRAMID_TOP_EXPLOSION = SOUND_ARG_LOAD(8, 1, 0x4C, 0xF0, 8) + +--- @type integer +SOUND_GENERAL2_PYRAMID_TOP_SPIN = SOUND_ARG_LOAD(8, 1, 0x4B, 0xE0, 8) + +--- @type integer +SOUND_GENERAL2_RIGHT_ANSWER = SOUND_ARG_LOAD(8, 0, 0x6A, 0xA0, 8) + +--- @type integer +SOUND_GENERAL2_ROTATING_BLOCK_ALERT = SOUND_ARG_LOAD(8, 0, 0x59, 0x00, 8) + +--- @type integer +SOUND_GENERAL2_ROTATING_BLOCK_CLICK = SOUND_ARG_LOAD(8, 0, 0x40, 0x00, 8) + +--- @type integer +SOUND_GENERAL2_SPINDEL_ROLL = SOUND_ARG_LOAD(8, 0, 0x48, 0x20, 8) + +--- @type integer +SOUND_GENERAL2_STAR_APPEARS = SOUND_ARG_LOAD(8, 0, 0x57, 0xFF, 9) + +--- @type integer +SOUND_GENERAL2_SWITCH_TICK_FAST = SOUND_ARG_LOAD(8, 0, 0x54, 0xF0, 1) + +--- @type integer +SOUND_GENERAL2_SWITCH_TICK_SLOW = SOUND_ARG_LOAD(8, 0, 0x55, 0xF0, 1) + +--- @type integer +SOUND_GENERAL_ACTIVATE_CAP_SWITCH = SOUND_ARG_LOAD(3, 0, 0x00, 0x80, 8) + +--- @type integer +SOUND_GENERAL_BIG_CLOCK = SOUND_ARG_LOAD(3, 0, 0x17, 0x00, 8) + +--- @type integer +SOUND_GENERAL_BIG_POUND = SOUND_ARG_LOAD(3, 0, 0x44, 0x00, 8) + +--- @type integer +SOUND_GENERAL_BIRDS_FLY_AWAY = SOUND_ARG_LOAD(3, 0, 0x69, 0x00, 8) + +--- @type integer +SOUND_GENERAL_BOAT_ROCK = SOUND_ARG_LOAD(3, 0, 0x75, 0x00, 8) + +--- @type integer +SOUND_GENERAL_BOAT_TILT1 = SOUND_ARG_LOAD(3, 0, 0x34, 0x40, 8) + +--- @type integer +SOUND_GENERAL_BOAT_TILT2 = SOUND_ARG_LOAD(3, 0, 0x35, 0x40, 8) + +--- @type integer +SOUND_GENERAL_BOING1 = SOUND_ARG_LOAD(3, 0, 0x6C, 0x40, 8) + +--- @type integer +SOUND_GENERAL_BOING2 = SOUND_ARG_LOAD(3, 0, 0x6D, 0x40, 8) + +--- @type integer +SOUND_GENERAL_BOING2_LOWPRIO = SOUND_ARG_LOAD(3, 0, 0x6D, 0x20, 8) + +--- @type integer +SOUND_GENERAL_BOING3 = 0x3072 + +--- @type integer +SOUND_GENERAL_BOWSER_BOMB_EXPLOSION = SOUND_ARG_LOAD(3, 1, 0x2F, 0x00, 8) + +--- @type integer +SOUND_GENERAL_BOWSER_PLATFORM = SOUND_ARG_LOAD(3, 0, 0x62, 0x80, 8) + +--- @type integer +SOUND_GENERAL_BOWSER_PLATFORM_2 = SOUND_ARG_LOAD(3, 1, 0x62, 0x80, 8) + +--- @type integer +SOUND_GENERAL_BOX_LANDING = SOUND_ARG_LOAD(3, 0, 0x24, 0x00, 8) + +--- @type integer +SOUND_GENERAL_BOX_LANDING_2 = SOUND_ARG_LOAD(3, 2, 0x24, 0x00, 8) + +--- @type integer +SOUND_GENERAL_BREAK_BOX = SOUND_ARG_LOAD(3, 0, 0x41, 0xC0, 8) + +--- @type integer +SOUND_GENERAL_BUBBLES = 0x3008 + +--- @type integer +SOUND_GENERAL_BUTTON_PRESS = SOUND_ARG_LOAD(3, 0, 0x5A, 0x40, 8) + +--- @type integer +SOUND_GENERAL_BUTTON_PRESS_2 = SOUND_ARG_LOAD(3, 1, 0x5A, 0x40, 8) + +--- @type integer +SOUND_GENERAL_BUTTON_PRESS_2_LOWPRIO = SOUND_ARG_LOAD(3, 1, 0x5A, 0x00, 8) + +--- @type integer +SOUND_GENERAL_BUTTON_PRESS_LOWPRIO = SOUND_ARG_LOAD(3, 0, 0x5A, 0x00, 8) + +--- @type integer +SOUND_GENERAL_CAGE_OPEN = SOUND_ARG_LOAD(3, 0, 0x3F, 0xA0, 8) + +--- @type integer +SOUND_GENERAL_CANNON_UP = SOUND_ARG_LOAD(3, 0, 0x47, 0x80, 8) + +--- @type integer +SOUND_GENERAL_CASTLE_TRAP_OPEN = SOUND_ARG_LOAD(3, 0, 0x0E, 0x80, 8) + +--- @type integer +SOUND_GENERAL_CHAIN_CHOMP1 = SOUND_ARG_LOAD(3, 0, 0x39, 0x00, 8) + +--- @type integer +SOUND_GENERAL_CHAIN_CHOMP2 = SOUND_ARG_LOAD(3, 0, 0x3A, 0x00, 8) + +--- @type integer +SOUND_GENERAL_CLAM_SHELL1 = SOUND_ARG_LOAD(3, 1, 0x22, 0x80, 8) + +--- @type integer +SOUND_GENERAL_CLAM_SHELL2 = SOUND_ARG_LOAD(3, 0, 0x26, 0x40, 8) + +--- @type integer +SOUND_GENERAL_CLAM_SHELL3 = SOUND_ARG_LOAD(3, 0, 0x27, 0x40, 8) + +--- @type integer +SOUND_GENERAL_CLOSE_IRON_DOOR = SOUND_ARG_LOAD(3, 0, 0x07, 0xC0, 8) + +--- @type integer +SOUND_GENERAL_CLOSE_WOOD_DOOR = SOUND_ARG_LOAD(3, 0, 0x05, 0xC0, 8) + +--- @type integer +SOUND_GENERAL_COIN = SOUND_ARG_LOAD(3, 8, 0x11, 0x80, 8) + +--- @type integer +SOUND_GENERAL_COIN_DROP = SOUND_ARG_LOAD(3, 0, 0x36, 0x40, 8) + +--- @type integer +SOUND_GENERAL_COIN_SPURT = SOUND_ARG_LOAD(3, 0, 0x30, 0x00, 8) + +--- @type integer +SOUND_GENERAL_COIN_SPURT_2 = SOUND_ARG_LOAD(3, 8, 0x30, 0x00, 8) + +--- @type integer +SOUND_GENERAL_COIN_SPURT_EU = SOUND_ARG_LOAD(3, 8, 0x30, 0x20, 8) + +--- @type integer +SOUND_GENERAL_COIN_WATER = SOUND_ARG_LOAD(3, 8, 0x12, 0x80, 8) + +--- @type integer +SOUND_GENERAL_COLLECT_1UP = SOUND_ARG_LOAD(3, 0, 0x58, 0xFF, 8) + +--- @type integer +SOUND_GENERAL_DONUT_PLATFORM_EXPLOSION = SOUND_ARG_LOAD(3, 0, 0x2E, 0x20, 8) + +--- @type integer +SOUND_GENERAL_DOOR_INSERT_KEY = SOUND_ARG_LOAD(3, 0, 0x42, 0x00, 8) + +--- @type integer +SOUND_GENERAL_DOOR_TURN_KEY = SOUND_ARG_LOAD(3, 0, 0x3B, 0x00, 8) + +--- @type integer +SOUND_GENERAL_ELEVATOR_MOVE = SOUND_ARG_LOAD(3, 0, 0x5B, 0x00, 8) + +--- @type integer +SOUND_GENERAL_ELEVATOR_MOVE_2 = SOUND_ARG_LOAD(3, 1, 0x5B, 0x00, 8) + +--- @type integer +SOUND_GENERAL_ENEMY_ALERT1 = SOUND_ARG_LOAD(3, 0, 0x6F, 0x30, 8) + +--- @type integer +SOUND_GENERAL_EXPLOSION6 = 0x3031 + +--- @type integer +SOUND_GENERAL_EXPLOSION7 = 0x3049 + +--- @type integer +SOUND_GENERAL_FLAME_OUT = SOUND_ARG_LOAD(3, 0, 0x03, 0x80, 8) + +--- @type integer +SOUND_GENERAL_GRAND_STAR = SOUND_ARG_LOAD(3, 0, 0x73, 0x00, 8) + +--- @type integer +SOUND_GENERAL_GRAND_STAR_JUMP = SOUND_ARG_LOAD(3, 0, 0x74, 0x00, 8) + +--- @type integer +SOUND_GENERAL_GRINDEL_ROLL = SOUND_ARG_LOAD(3, 0, 0x48, 0x00, 8) + +--- @type integer +SOUND_GENERAL_HAUNTED_CHAIR = SOUND_ARG_LOAD(3, 0, 0x5D, 0x00, 8) + +--- @type integer +SOUND_GENERAL_HAUNTED_CHAIR_MOVE = SOUND_ARG_LOAD(3, 0, 0x5F, 0x00, 8) + +--- @type integer +SOUND_GENERAL_HEART_SPIN = SOUND_ARG_LOAD(3, 0, 0x64, 0xC0, 8) + +--- @type integer +SOUND_GENERAL_LEVEL_SELECT_CHANGE = SOUND_ARG_LOAD(3, 0, 0x2B, 0x00, 8) + +--- @type integer +SOUND_GENERAL_LOUD_POUND = 0x3018 + +--- @type integer +SOUND_GENERAL_LOUD_POUND2 = 0x3019 + +--- @type integer +SOUND_GENERAL_METAL_POUND = SOUND_ARG_LOAD(3, 0, 0x6B, 0x80, 8) + +--- @type integer +SOUND_GENERAL_MOVING_IN_SAND = SOUND_ARG_LOAD(3, 0, 0x3C, 0x00, 8) + +--- @type integer +SOUND_GENERAL_MOVING_PLATFORM_SWITCH = SOUND_ARG_LOAD(3, 0, 0x3E, 0x00, 8) + +--- @type integer +SOUND_GENERAL_MOVING_WATER = SOUND_ARG_LOAD(3, 0, 0x09, 0x00, 8) + +--- @type integer +SOUND_GENERAL_OPEN_CHEST = SOUND_ARG_LOAD(3, 1, 0x20, 0x80, 8) + +--- @type integer +SOUND_GENERAL_OPEN_IRON_DOOR = SOUND_ARG_LOAD(3, 0, 0x06, 0xC0, 8) + +--- @type integer +SOUND_GENERAL_OPEN_WOOD_DOOR = SOUND_ARG_LOAD(3, 0, 0x04, 0xC0, 8) + +--- @type integer +SOUND_GENERAL_PAINTING_EJECT = SOUND_ARG_LOAD(3, 9, 0x28, 0x00, 8) + +--- @type integer +SOUND_GENERAL_PENDULUM_SWING = SOUND_ARG_LOAD(3, 0, 0x38, 0x00, 8) + +--- @type integer +SOUND_GENERAL_PLATFORM = SOUND_ARG_LOAD(3, 0, 0x2D, 0x80, 8) + +--- @type integer +SOUND_GENERAL_POUND_ROCK = SOUND_ARG_LOAD(3, 0, 0x56, 0x00, 8) + +--- @type integer +SOUND_GENERAL_POUND_WOOD_POST = SOUND_ARG_LOAD(3, 0, 0x65, 0xC0, 8) + +--- @type integer +SOUND_GENERAL_QUIET_BUBBLE = SOUND_ARG_LOAD(3, 0, 0x0B, 0x00, 8) + +--- @type integer +SOUND_GENERAL_QUIET_BUBBLE2 = SOUND_ARG_LOAD(3, 0, 0x0D, 0x00, 8) + +--- @type integer +SOUND_GENERAL_QUIET_POUND1 = SOUND_ARG_LOAD(3, 0, 0x40, 0x40, 8) + +--- @type integer +SOUND_GENERAL_QUIET_POUND1_LOWPRIO = SOUND_ARG_LOAD(3, 0, 0x40, 0x00, 8) + +--- @type integer +SOUND_GENERAL_QUIET_POUND2 = SOUND_ARG_LOAD(3, 0, 0x43, 0x00, 8) + +--- @type integer +SOUND_GENERAL_RACE_GUN_SHOT = SOUND_ARG_LOAD(3, 1, 0x4D, 0x40, 8) + +--- @type integer +SOUND_GENERAL_RED_COIN = SOUND_ARG_LOAD(3, 0, 0x68, 0x90, 8) + +--- @type integer +SOUND_GENERAL_SHAKE_COFFIN = 0x304A + +--- @type integer +SOUND_GENERAL_SHORT_POUND1 = 0x301A + +--- @type integer +SOUND_GENERAL_SHORT_POUND2 = 0x301B + +--- @type integer +SOUND_GENERAL_SHORT_POUND3 = 0x301C + +--- @type integer +SOUND_GENERAL_SHORT_POUND4 = 0x301D + +--- @type integer +SOUND_GENERAL_SHORT_POUND5 = 0x301E + +--- @type integer +SOUND_GENERAL_SHORT_POUND6 = 0x301F + +--- @type integer +SOUND_GENERAL_SHORT_STAR = SOUND_ARG_LOAD(3, 0, 0x16, 0x00, 9) + +--- @type integer +SOUND_GENERAL_SOFT_LANDING = SOUND_ARG_LOAD(3, 0, 0x5E, 0x00, 8) + +--- @type integer +SOUND_GENERAL_SPLATTERING = SOUND_ARG_LOAD(3, 0, 0x71, 0x30, 8) + +--- @type integer +SOUND_GENERAL_STAR_APPEARS = SOUND_ARG_LOAD(3, 0, 0x57, 0xFF, 9) + +--- @type integer +SOUND_GENERAL_STAR_DOOR_CLOSE = SOUND_ARG_LOAD(3, 0, 0x4F, 0xC0, 8) + +--- @type integer +SOUND_GENERAL_STAR_DOOR_OPEN = SOUND_ARG_LOAD(3, 0, 0x4E, 0xC0, 8) + +--- @type integer +SOUND_GENERAL_SWISH_AIR = SOUND_ARG_LOAD(3, 0, 0x5C, 0x00, 8) + +--- @type integer +SOUND_GENERAL_SWISH_AIR_2 = SOUND_ARG_LOAD(3, 1, 0x5C, 0x00, 8) + +--- @type integer +SOUND_GENERAL_SWISH_WATER = SOUND_ARG_LOAD(3, 0, 0x0A, 0x00, 8) + +--- @type integer +SOUND_GENERAL_SWITCH_DOOR_OPEN = SOUND_ARG_LOAD(3, 0, 0x67, 0xA0, 8) + +--- @type integer +SOUND_GENERAL_UNK32 = 0x3032 + +--- @type integer +SOUND_GENERAL_UNK45 = SOUND_ARG_LOAD(3, 0, 0x45, 0x00, 8) + +--- @type integer +SOUND_GENERAL_UNK46 = SOUND_ARG_LOAD(3, 0, 0x46, 0x80, 8) + +--- @type integer +SOUND_GENERAL_UNK46_LOWPRIO = SOUND_ARG_LOAD(3, 0, 0x46, 0x00, 8) + +--- @type integer +SOUND_GENERAL_UNKNOWN1 = SOUND_ARG_LOAD(3, 0, 0x25, 0x00, 8) + +--- @type integer +SOUND_GENERAL_UNKNOWN1_2 = SOUND_ARG_LOAD(3, 2, 0x25, 0x00, 8) + +--- @type integer +SOUND_GENERAL_UNKNOWN3 = SOUND_ARG_LOAD(3, 0, 0x37, 0x80, 8) + +--- @type integer +SOUND_GENERAL_UNKNOWN3_2 = SOUND_ARG_LOAD(3, 8, 0x37, 0x80, 8) + +--- @type integer +SOUND_GENERAL_UNKNOWN3_LOWPRIO = SOUND_ARG_LOAD(3, 0, 0x37, 0x00, 8) + +--- @type integer +SOUND_GENERAL_UNKNOWN4 = SOUND_ARG_LOAD(3, 0, 0x3D, 0x80, 8) + +--- @type integer +SOUND_GENERAL_UNKNOWN4_LOWPRIO = SOUND_ARG_LOAD(3, 0, 0x3D, 0x00, 8) + +--- @type integer +SOUND_GENERAL_VANISH_SFX = SOUND_ARG_LOAD(3, 0, 0x76, 0x20, 8) + +--- @type integer +SOUND_GENERAL_VOLCANO_EXPLOSION = SOUND_ARG_LOAD(3, 0, 0x0C, 0x80, 8) + +--- @type integer +SOUND_GENERAL_WALL_EXPLOSION = SOUND_ARG_LOAD(3, 0, 0x0F, 0x00, 8) + +--- @type integer +SOUND_GENERAL_WATER_LEVEL_TRIG = SOUND_ARG_LOAD(3, 0, 0x66, 0x80, 8) + +--- @type integer +SOUND_GENERAL_YOSHI_TALK = SOUND_ARG_LOAD(3, 0, 0x70, 0x30, 8) + +--- @type integer +SOUND_GENERAL_YOSHI_WALK = SOUND_ARG_LOAD(3, 0, 0x6E, 0x20, 8) + +--- @type integer +SOUND_LO_BITFLAG_UNK1 = 0x10 + +--- @type integer +SOUND_LO_BITFLAG_UNK8 = 0x80 + +--- @type integer +SOUND_MARIO_ATTACKED = SOUND_ARG_LOAD(2, 4, 0x0A, 0xFF, 8) + +--- @type integer +SOUND_MARIO_COUGHING1 = SOUND_ARG_LOAD(2, 4, 0x1B, 0x80, 8) + +--- @type integer +SOUND_MARIO_COUGHING2 = SOUND_ARG_LOAD(2, 4, 0x1C, 0x80, 8) + +--- @type integer +SOUND_MARIO_COUGHING3 = SOUND_ARG_LOAD(2, 4, 0x1D, 0x80, 8) + +--- @type integer +SOUND_MARIO_DOH = SOUND_ARG_LOAD(2, 4, 0x30, 0x80, 8) + +--- @type integer +SOUND_MARIO_DROWNING = SOUND_ARG_LOAD(2, 4, 0x23, 0xF0, 8) + +--- @type integer +SOUND_MARIO_DYING = SOUND_ARG_LOAD(2, 4, 0x15, 0xFF, 8) + +--- @type integer +SOUND_MARIO_EEUH = SOUND_ARG_LOAD(2, 4, 0x09, 0x80, 8) + +--- @type integer +SOUND_MARIO_GAME_OVER = SOUND_ARG_LOAD(2, 4, 0x31, 0xFF, 8) + +--- @type integer +SOUND_MARIO_GROUND_POUND_WAH = SOUND_ARG_LOAD(2, 4, 0x22, 0x80, 8) + +--- @type integer +SOUND_MARIO_HAHA = SOUND_ARG_LOAD(2, 4, 0x11, 0x80, 8) + +--- @type integer +SOUND_MARIO_HAHA_2 = SOUND_ARG_LOAD(2, 4, 0x11, 0xF0, 8) + +--- @type integer +SOUND_MARIO_HELLO = SOUND_ARG_LOAD(2, 4, 0x32, 0xFF, 8) + +--- @type integer +SOUND_MARIO_HERE_WE_GO = SOUND_ARG_LOAD(2, 4, 0x0C, 0x80, 8) + +--- @type integer +SOUND_MARIO_HOOHOO = SOUND_ARG_LOAD(2, 4, 0x03, 0x80, 8) + +--- @type integer +SOUND_MARIO_HRMM = SOUND_ARG_LOAD(2, 4, 0x06, 0x80, 8) + +--- @type integer +SOUND_MARIO_IMA_TIRED = SOUND_ARG_LOAD(2, 4, 0x37, 0x80, 8) + +--- @type integer +SOUND_MARIO_MAMA_MIA = SOUND_ARG_LOAD(2, 4, 0x20, 0x80, 8) + +--- @type integer +SOUND_MARIO_OKEY_DOKEY = 0x2021 + +--- @type integer +SOUND_MARIO_ON_FIRE = SOUND_ARG_LOAD(2, 4, 0x14, 0xA0, 8) + +--- @type integer +SOUND_MARIO_OOOF = SOUND_ARG_LOAD(2, 4, 0x0B, 0x80, 8) + +--- @type integer +SOUND_MARIO_OOOF2 = SOUND_ARG_LOAD(2, 4, 0x0B, 0xD0, 8) + +--- @type integer +SOUND_MARIO_PANTING = SOUND_ARG_LOAD(2, 4, 0x18, 0x80, 8) + +--- @type integer +SOUND_MARIO_PANTING_COLD = SOUND_ARG_LOAD(2, 4, 0x16, 0x80, 8) + +--- @type integer +SOUND_MARIO_PRESS_START_TO_PLAY = SOUND_ARG_LOAD(2, 4, 0x33, 0xFF, 0xA) + +--- @type integer +SOUND_MARIO_PUNCH_HOO = SOUND_ARG_LOAD(2, 4, 0x1F, 0x80, 8) + +--- @type integer +SOUND_MARIO_PUNCH_WAH = SOUND_ARG_LOAD(2, 4, 0x24, 0x80, 8) + +--- @type integer +SOUND_MARIO_PUNCH_YAH = SOUND_ARG_LOAD(2, 4, 0x1E, 0x80, 8) + +--- @type integer +SOUND_MARIO_SNORING1 = SOUND_ARG_LOAD(2, 4, 0x0E, 0x00, 8) + +--- @type integer +SOUND_MARIO_SNORING2 = SOUND_ARG_LOAD(2, 4, 0x0F, 0x00, 8) + +--- @type integer +SOUND_MARIO_SNORING3 = SOUND_ARG_LOAD(2, 4, 0x35, 0x00, 8) + +--- @type integer +SOUND_MARIO_SO_LONGA_BOWSER = SOUND_ARG_LOAD(2, 4, 0x36, 0x80, 8) + +--- @type integer +SOUND_MARIO_TWIRL_BOUNCE = SOUND_ARG_LOAD(2, 4, 0x34, 0x80, 8) + +--- @type integer +SOUND_MARIO_UH = SOUND_ARG_LOAD(2, 4, 0x05, 0x80, 8) + +--- @type integer +SOUND_MARIO_UH2 = SOUND_ARG_LOAD(2, 4, 0x13, 0xD0, 8) + +--- @type integer +SOUND_MARIO_UH2_2 = SOUND_ARG_LOAD(2, 4, 0x13, 0x80, 8) + +--- @type integer +SOUND_MARIO_WAAAOOOW = SOUND_ARG_LOAD(2, 4, 0x10, 0xC0, 8) + +--- @type integer +SOUND_MARIO_WAH2 = SOUND_ARG_LOAD(2, 4, 0x07, 0x80, 8) + +--- @type integer +SOUND_MARIO_WHOA = SOUND_ARG_LOAD(2, 4, 0x08, 0xC0, 8) + +--- @type integer +SOUND_MARIO_YAHOO = SOUND_ARG_LOAD(2, 4, 0x04, 0x80, 8) + +--- @type integer +SOUND_MARIO_YAHOO_WAHA_YIPPEE = SOUND_ARG_LOAD(2, 4, 0x2B, 0x80, 8) + +--- @type integer +SOUND_MARIO_YAH_WAH_HOO = SOUND_ARG_LOAD(2, 4, 0x00, 0x80, 8) + +--- @type integer +SOUND_MARIO_YAWNING = SOUND_ARG_LOAD(2, 4, 0x0D, 0x80, 8) + +--- @type integer +SOUND_MENU_BOWSER_LAUGH = SOUND_ARG_LOAD(7, 0, 0x18, 0x80, 8) + +--- @type integer +SOUND_MENU_CAMERA_BUZZ = SOUND_ARG_LOAD(7, 0, 0x0E, 0x00, 8) + +--- @type integer +SOUND_MENU_CAMERA_TURN = SOUND_ARG_LOAD(7, 0, 0x0F, 0x00, 8) + +--- @type integer +SOUND_MENU_CAMERA_UNUSED1 = 0x701B + +--- @type integer +SOUND_MENU_CAMERA_UNUSED2 = 0x701C + +--- @type integer +SOUND_MENU_CAMERA_ZOOM_IN = SOUND_ARG_LOAD(7, 0, 0x06, 0x00, 8) + +--- @type integer +SOUND_MENU_CAMERA_ZOOM_OUT = SOUND_ARG_LOAD(7, 0, 0x07, 0x00, 8) + +--- @type integer +SOUND_MENU_CHANGE_SELECT = SOUND_ARG_LOAD(7, 0, 0x00, 0xF8, 8) + +--- @type integer +SOUND_MENU_CLICK_CHANGE_VIEW = SOUND_ARG_LOAD(7, 0, 0x1A, 0x80, 8) + +--- @type integer +SOUND_MENU_CLICK_FILE_SELECT = SOUND_ARG_LOAD(7, 0, 0x11, 0x00, 8) + +--- @type integer +SOUND_MENU_COIN_ITS_A_ME_MARIO = SOUND_ARG_LOAD(7, 0, 0x14, 0x00, 8) + +--- @type integer +SOUND_MENU_COLLECT_RED_COIN = SOUND_ARG_LOAD(7, 8, 0x28, 0x90, 8) + +--- @type integer +SOUND_MENU_COLLECT_SECRET = SOUND_ARG_LOAD(7, 0, 0x30, 0x20, 8) + +--- @type integer +SOUND_MENU_ENTER_HOLE = SOUND_ARG_LOAD(7, 1, 0x19, 0x80, 8) + +--- @type integer +SOUND_MENU_ENTER_PIPE = SOUND_ARG_LOAD(7, 0, 0x16, 0xA0, 8) + +--- @type integer +SOUND_MENU_EXIT_A_SIGN = 0x7021 + +--- @type integer +SOUND_MENU_EXIT_PIPE = SOUND_ARG_LOAD(7, 0, 0x17, 0xA0, 8) + +--- @type integer +SOUND_MENU_HAND_APPEAR = SOUND_ARG_LOAD(7, 0, 0x0A, 0x00, 8) + +--- @type integer +SOUND_MENU_HAND_DISAPPEAR = SOUND_ARG_LOAD(7, 0, 0x0B, 0x00, 8) + +--- @type integer +SOUND_MENU_LET_GO_MARIO_FACE = SOUND_ARG_LOAD(7, 0, 0x09, 0x00, 8) + +--- @type integer +SOUND_MENU_MARIO_CASTLE_WARP = SOUND_ARG_LOAD(7, 0, 0x1D, 0xB0, 8) + +--- @type integer +SOUND_MENU_MARIO_CASTLE_WARP2 = SOUND_ARG_LOAD(7, 0, 0x22, 0x20, 8) + +--- @type integer +SOUND_MENU_MESSAGE_APPEAR = SOUND_ARG_LOAD(7, 0, 0x04, 0x00, 8) + +--- @type integer +SOUND_MENU_MESSAGE_DISAPPEAR = SOUND_ARG_LOAD(7, 0, 0x05, 0x00, 8) + +--- @type integer +SOUND_MENU_MESSAGE_NEXT_PAGE = SOUND_ARG_LOAD(7, 0, 0x13, 0x00, 8) + +--- @type integer +SOUND_MENU_PAUSE = SOUND_ARG_LOAD(7, 0, 0x02, 0xF0, 8) + +--- @type integer +SOUND_MENU_PAUSE_2 = SOUND_ARG_LOAD(7, 0, 0x03, 0xFF, 8) + +--- @type integer +SOUND_MENU_PAUSE_HIGHPRIO = SOUND_ARG_LOAD(7, 0, 0x02, 0xFF, 8) + +--- @type integer +SOUND_MENU_PINCH_MARIO_FACE = SOUND_ARG_LOAD(7, 0, 0x08, 0x00, 8) + +--- @type integer +SOUND_MENU_POWER_METER = SOUND_ARG_LOAD(7, 0, 0x0D, 0x00, 8) + +--- @type integer +SOUND_MENU_READ_A_SIGN = 0x7020 + +--- @type integer +SOUND_MENU_REVERSE_PAUSE = 0x7001 + +--- @type integer +SOUND_MENU_STAR_SOUND = SOUND_ARG_LOAD(7, 0, 0x1E, 0xFF, 8) + +--- @type integer +SOUND_MENU_STAR_SOUND_LETS_A_GO = SOUND_ARG_LOAD(7, 0, 0x24, 0xFF, 8) + +--- @type integer +SOUND_MENU_STAR_SOUND_OKEY_DOKEY = SOUND_ARG_LOAD(7, 0, 0x23, 0xFF, 8) + +--- @type integer +SOUND_MENU_THANK_YOU_PLAYING_MY_GAME = SOUND_ARG_LOAD(7, 0, 0x1F, 0xFF, 8) + +--- @type integer +SOUND_MENU_UNK0C = SOUND_ARG_LOAD(7, 0, 0x0C, 0x00, 8) + +--- @type integer +SOUND_MENU_UNK10 = 0x7010 + +--- @type integer +SOUND_MENU_YOSHI_GAIN_LIVES = SOUND_ARG_LOAD(7, 0, 0x15, 0x00, 8) + +--- @type integer +SOUND_MOVING_AIM_CANNON = SOUND_ARG_LOAD(1, 0xD, 0x19, 0x20, 0) + +--- @type integer +SOUND_MOVING_ALMOST_DROWNING = SOUND_ARG_LOAD(1, 0xC, 0x18, 0x00, 0) + +--- @type integer +SOUND_MOVING_FLYING = SOUND_ARG_LOAD(1, 4, 0x17, 0x00, 0) + +--- @type integer +SOUND_MOVING_LAVA_BURN = SOUND_ARG_LOAD(1, 4, 0x10, 0x00, 0) + +--- @type integer +SOUND_MOVING_QUICKSAND_DEATH = SOUND_ARG_LOAD(1, 4, 0x14, 0x00, 0) + +--- @type integer +SOUND_MOVING_RIDING_SHELL_LAVA = SOUND_ARG_LOAD(1, 4, 0x28, 0x00, 0) + +--- @type integer +SOUND_MOVING_SHOCKED = SOUND_ARG_LOAD(1, 4, 0x16, 0x00, 0) + +--- @type integer +SOUND_MOVING_SLIDE_DOWN_POLE = SOUND_ARG_LOAD(1, 4, 0x11, 0x00, 0) + +--- @type integer +SOUND_MOVING_SLIDE_DOWN_TREE = SOUND_ARG_LOAD(1, 4, 0x12, 0x80, 0) + +--- @type integer +SOUND_MOVING_TERRAIN_RIDING_SHELL = SOUND_ARG_LOAD(1, 4, 0x20, 0x00, 0) + +--- @type integer +SOUND_MOVING_TERRAIN_SLIDE = SOUND_ARG_LOAD(1, 4, 0x00, 0x00, 0) + +--- @type integer +SOUND_MOVING_UNK1A = 0x101A + +--- @type integer +SOUND_NO_ECHO = 0x20 + +--- @type integer +SOUND_NO_FREQUENCY_LOSS = 0x8000000 + +--- @type integer +SOUND_NO_PRIORITY_LOSS = 0x4000000 + +--- @type integer +SOUND_NO_VOLUME_LOSS = 0x1000000 + +--- @type integer +SOUND_OBJ2_BABY_PENGUIN_YELL = SOUND_ARG_LOAD(9, 0, 0x45, 0x00, 8) + +--- @type integer +SOUND_OBJ2_BIRD_CHIRP1 = SOUND_ARG_LOAD(9, 0, 0x52, 0x40, 0) + +--- @type integer +SOUND_OBJ2_BOSS_DIALOG_GRUNT = SOUND_ARG_LOAD(9, 0, 0x69, 0x40, 8) + +--- @type integer +SOUND_OBJ2_BOWSER_PUZZLE_PIECE_MOVE = SOUND_ARG_LOAD(9, 0, 0x19, 0x20, 8) + +--- @type integer +SOUND_OBJ2_BOWSER_ROAR = SOUND_ARG_LOAD(9, 0, 0x04, 0x00, 8) + +--- @type integer +SOUND_OBJ2_BOWSER_TELEPORT = SOUND_ARG_LOAD(9, 0, 0x66, 0x80, 8) + +--- @type integer +SOUND_OBJ2_BULLY_ATTACKED = SOUND_ARG_LOAD(9, 0, 0x1C, 0x00, 8) + +--- @type integer +SOUND_OBJ2_EYEROK_SOUND_LONG = SOUND_ARG_LOAD(9, 2, 0x5B, 0x00, 8) + +--- @type integer +SOUND_OBJ2_EYEROK_SOUND_SHORT = SOUND_ARG_LOAD(9, 3, 0x5A, 0x00, 8) + +--- @type integer +SOUND_OBJ2_KING_BOBOMB_DAMAGE = SOUND_ARG_LOAD(9, 1, 0x42, 0x40, 8) + +--- @type integer +SOUND_OBJ2_LARGE_BULLY_ATTACKED = SOUND_ARG_LOAD(9, 0, 0x57, 0x00, 8) + +--- @type integer +SOUND_OBJ2_MONTY_MOLE_APPEAR = SOUND_ARG_LOAD(9, 0, 0x67, 0x80, 8) + +--- @type integer +SOUND_OBJ2_MRI_SPINNING = SOUND_ARG_LOAD(9, 0, 0x6B, 0x00, 8) + +--- @type integer +SOUND_OBJ2_PIRANHA_PLANT_BITE = SOUND_ARG_LOAD(9, 0, 0x10, 0x50, 8) + +--- @type integer +SOUND_OBJ2_PIRANHA_PLANT_DYING = SOUND_ARG_LOAD(9, 0, 0x11, 0x60, 8) + +--- @type integer +SOUND_OBJ2_SCUTTLEBUG_ALERT = SOUND_ARG_LOAD(9, 0, 0x44, 0x40, 8) + +--- @type integer +SOUND_OBJ2_SCUTTLEBUG_WALK = SOUND_ARG_LOAD(9, 0, 0x43, 0x40, 8) + +--- @type integer +SOUND_OBJ2_SWOOP = SOUND_ARG_LOAD(9, 0, 0x49, 0x00, 8) + +--- @type integer +SOUND_OBJ2_WHOMP_SOUND_SHORT = SOUND_ARG_LOAD(9, 3, 0x5A, 0xC0, 8) + +--- @type integer +SOUND_OBJ_BABY_PENGUIN_DIVE = SOUND_ARG_LOAD(5, 0, 0x1F, 0x40, 8) + +--- @type integer +SOUND_OBJ_BABY_PENGUIN_WALK = SOUND_ARG_LOAD(5, 0, 0x02, 0x00, 8) + +--- @type integer +SOUND_OBJ_BIG_PENGUIN_WALK = SOUND_ARG_LOAD(5, 0, 0x09, 0x80, 8) + +--- @type integer +SOUND_OBJ_BIG_PENGUIN_YELL = SOUND_ARG_LOAD(5, 0, 0x2D, 0x00, 8) + +--- @type integer +SOUND_OBJ_BIRD_CHIRP3 = SOUND_ARG_LOAD(5, 0, 0x51, 0x40, 0) + +--- @type integer +SOUND_OBJ_BOBOMB_BUDDY_TALK = SOUND_ARG_LOAD(5, 0, 0x58, 0x40, 8) + +--- @type integer +SOUND_OBJ_BOBOMB_WALK = SOUND_ARG_LOAD(5, 0, 0x27, 0x00, 8) + +--- @type integer +SOUND_OBJ_BOO_BOUNCE_TOP = SOUND_ARG_LOAD(5, 0, 0x0A, 0x00, 8) + +--- @type integer +SOUND_OBJ_BOO_LAUGH_LONG = SOUND_ARG_LOAD(5, 0, 0x48, 0x00, 8) + +--- @type integer +SOUND_OBJ_BOO_LAUGH_SHORT = SOUND_ARG_LOAD(5, 0, 0x0B, 0x00, 8) + +--- @type integer +SOUND_OBJ_BOWSER_DEFEATED = SOUND_ARG_LOAD(5, 0, 0x06, 0x00, 8) + +--- @type integer +SOUND_OBJ_BOWSER_INHALING = SOUND_ARG_LOAD(5, 0, 0x08, 0x00, 8) + +--- @type integer +SOUND_OBJ_BOWSER_INTRO_LAUGH = SOUND_ARG_LOAD(5, 0, 0x5F, 0x80, 9) + +--- @type integer +SOUND_OBJ_BOWSER_LAUGH = SOUND_ARG_LOAD(5, 0, 0x38, 0x80, 8) + +--- @type integer +SOUND_OBJ_BOWSER_SPINNING = SOUND_ARG_LOAD(5, 0, 0x07, 0x00, 8) + +--- @type integer +SOUND_OBJ_BOWSER_TAIL_PICKUP = SOUND_ARG_LOAD(5, 0, 0x05, 0x00, 8) + +--- @type integer +SOUND_OBJ_BOWSER_WALK = SOUND_ARG_LOAD(5, 0, 0x03, 0x00, 8) + +--- @type integer +SOUND_OBJ_BUBBA_CHOMP = SOUND_ARG_LOAD(5, 0, 0x73, 0x40, 8) + +--- @type integer +SOUND_OBJ_BULLY_EXPLODE = SOUND_ARG_LOAD(5, 0, 0x18, 0xA0, 8) + +--- @type integer +SOUND_OBJ_BULLY_EXPLODE_2 = SOUND_ARG_LOAD(5, 1, 0x18, 0xA0, 8) + +--- @type integer +SOUND_OBJ_BULLY_METAL = SOUND_ARG_LOAD(5, 0, 0x17, 0x80, 8) + +--- @type integer +SOUND_OBJ_BULLY_WALK = SOUND_ARG_LOAD(5, 0, 0x1B, 0x30, 8) + +--- @type integer +SOUND_OBJ_BULLY_WALKING = SOUND_ARG_LOAD(5, 0, 0x36, 0x60, 8) + +--- @type integer +SOUND_OBJ_CANNON1 = SOUND_ARG_LOAD(5, 0, 0x0D, 0xF0, 8) + +--- @type integer +SOUND_OBJ_CANNON2 = SOUND_ARG_LOAD(5, 0, 0x0E, 0xF0, 8) + +--- @type integer +SOUND_OBJ_CANNON3 = SOUND_ARG_LOAD(5, 0, 0x0F, 0xF0, 8) + +--- @type integer +SOUND_OBJ_CANNON4 = SOUND_ARG_LOAD(5, 0, 0x25, 0x40, 8) + +--- @type integer +SOUND_OBJ_CHUCKYA_DEATH = SOUND_ARG_LOAD(5, 1, 0x6E, 0x00, 8) + +--- @type integer +SOUND_OBJ_DEFAULT_DEATH = SOUND_ARG_LOAD(5, 0, 0x2C, 0x80, 8) + +--- @type integer +SOUND_OBJ_DIVING_INTO_WATER = SOUND_ARG_LOAD(5, 0, 0x32, 0x40, 8) + +--- @type integer +SOUND_OBJ_DIVING_IN_WATER = SOUND_ARG_LOAD(5, 0, 0x29, 0xA0, 8) + +--- @type integer +SOUND_OBJ_DORRIE = SOUND_ARG_LOAD(5, 0, 0x37, 0x60, 8) + +--- @type integer +SOUND_OBJ_DYING_ENEMY1 = SOUND_ARG_LOAD(5, 0, 0x24, 0x40, 8) + +--- @type integer +SOUND_OBJ_DYING_ENEMY2 = 0x5026 + +--- @type integer +SOUND_OBJ_EEL = SOUND_ARG_LOAD(5, 0, 0x4A, 0x00, 8) + +--- @type integer +SOUND_OBJ_EEL_2 = SOUND_ARG_LOAD(5, 2, 0x4A, 0x00, 8) + +--- @type integer +SOUND_OBJ_ENEMY_DEATH_HIGH = SOUND_ARG_LOAD(5, 0, 0x60, 0xB0, 8) + +--- @type integer +SOUND_OBJ_ENEMY_DEATH_LOW = SOUND_ARG_LOAD(5, 0, 0x61, 0xB0, 8) + +--- @type integer +SOUND_OBJ_ENEMY_DEFEAT_SHRINK = SOUND_ARG_LOAD(5, 0, 0x74, 0x40, 8) + +--- @type integer +SOUND_OBJ_EVIL_LAKITU_THROW = SOUND_ARG_LOAD(5, 0, 0x22, 0x20, 8) + +--- @type integer +SOUND_OBJ_EYEROK_EXPLODE = SOUND_ARG_LOAD(5, 0, 0x6D, 0x00, 8) + +--- @type integer +SOUND_OBJ_EYEROK_SHOW_EYE = SOUND_ARG_LOAD(5, 2, 0x4B, 0x00, 8) + +--- @type integer +SOUND_OBJ_FLAME_BLOWN = SOUND_ARG_LOAD(5, 0, 0x55, 0x80, 8) + +--- @type integer +SOUND_OBJ_GOOMBA_ALERT = SOUND_ARG_LOAD(5, 0, 0x2F, 0x00, 8) + +--- @type integer +SOUND_OBJ_GOOMBA_WALK = SOUND_ARG_LOAD(5, 0, 0x20, 0x00, 8) + +--- @type integer +SOUND_OBJ_HEAVEHO_TOSSED = SOUND_ARG_LOAD(5, 0, 0x5D, 0x40, 8) + +--- @type integer +SOUND_OBJ_JUMP_WALK_WATER = 0x5012 + +--- @type integer +SOUND_OBJ_KING_BOBOMB = SOUND_ARG_LOAD(5, 0, 0x16, 0x80, 8) + +--- @type integer +SOUND_OBJ_KING_BOBOMB_JUMP = SOUND_ARG_LOAD(5, 0, 0x46, 0x80, 8) + +--- @type integer +SOUND_OBJ_KING_BOBOMB_TALK = SOUND_ARG_LOAD(5, 0, 0x41, 0x00, 8) + +--- @type integer +SOUND_OBJ_KING_WHOMP_DEATH = SOUND_ARG_LOAD(5, 1, 0x47, 0xC0, 8) + +--- @type integer +SOUND_OBJ_KLEPTO1 = SOUND_ARG_LOAD(5, 0, 0x3F, 0x40, 8) + +--- @type integer +SOUND_OBJ_KLEPTO2 = SOUND_ARG_LOAD(5, 0, 0x40, 0x60, 8) + +--- @type integer +SOUND_OBJ_KOOPA_DAMAGE = SOUND_ARG_LOAD(5, 0, 0x3E, 0xA0, 8) + +--- @type integer +SOUND_OBJ_KOOPA_FLYGUY_DEATH = SOUND_ARG_LOAD(5, 0, 0x63, 0xB0, 8) + +--- @type integer +SOUND_OBJ_KOOPA_TALK = SOUND_ARG_LOAD(5, 0, 0x3D, 0xA0, 8) + +--- @type integer +SOUND_OBJ_KOOPA_THE_QUICK_WALK = SOUND_ARG_LOAD(5, 0, 0x34, 0x20, 8) + +--- @type integer +SOUND_OBJ_KOOPA_WALK = SOUND_ARG_LOAD(5, 0, 0x35, 0x00, 8) + +--- @type integer +SOUND_OBJ_MAD_PIANO_CHOMPING = SOUND_ARG_LOAD(5, 2, 0x56, 0x40, 8) + +--- @type integer +SOUND_OBJ_MIPS_RABBIT = SOUND_ARG_LOAD(5, 0, 0x6A, 0x00, 8) + +--- @type integer +SOUND_OBJ_MIPS_RABBIT_WATER = SOUND_ARG_LOAD(5, 0, 0x6C, 0x00, 8) + +--- @type integer +SOUND_OBJ_MONTY_MOLE_ATTACK = SOUND_ARG_LOAD(5, 0, 0x22, 0x00, 8) + +--- @type integer +SOUND_OBJ_MRI_DEATH = SOUND_ARG_LOAD(5, 0, 0x14, 0x00, 8) + +--- @type integer +SOUND_OBJ_MRI_SHOOT = SOUND_ARG_LOAD(5, 0, 0x01, 0x00, 8) + +--- @type integer +SOUND_OBJ_MR_BLIZZARD_ALERT = SOUND_ARG_LOAD(5, 0, 0x4C, 0x00, 8) + +--- @type integer +SOUND_OBJ_PIRANHA_PLANT_APPEAR = SOUND_ARG_LOAD(5, 0, 0x54, 0x20, 8) + +--- @type integer +SOUND_OBJ_PIRANHA_PLANT_SHRINK = SOUND_ARG_LOAD(5, 0, 0x33, 0x40, 8) + +--- @type integer +SOUND_OBJ_POKEY_DEATH = SOUND_ARG_LOAD(5, 0, 0x63, 0xC0, 8) + +--- @type integer +SOUND_OBJ_POUNDING1 = SOUND_ARG_LOAD(5, 0, 0x15, 0x50, 8) + +--- @type integer +SOUND_OBJ_POUNDING1_HIGHPRIO = SOUND_ARG_LOAD(5, 0, 0x15, 0x80, 8) + +--- @type integer +SOUND_OBJ_POUNDING_CANNON = SOUND_ARG_LOAD(5, 0, 0x1A, 0x50, 8) + +--- @type integer +SOUND_OBJ_POUNDING_LOUD = SOUND_ARG_LOAD(5, 0, 0x68, 0x40, 8) + +--- @type integer +SOUND_OBJ_SKEETER_WALK = SOUND_ARG_LOAD(5, 0, 0x4E, 0x00, 8) + +--- @type integer +SOUND_OBJ_SNOWMAN_BOUNCE = SOUND_ARG_LOAD(5, 0, 0x64, 0xC0, 8) + +--- @type integer +SOUND_OBJ_SNOWMAN_EXPLODE = SOUND_ARG_LOAD(5, 0, 0x65, 0xD0, 8) + +--- @type integer +SOUND_OBJ_SNOW_SAND1 = SOUND_ARG_LOAD(5, 0, 0x2A, 0x00, 8) + +--- @type integer +SOUND_OBJ_SNOW_SAND2 = SOUND_ARG_LOAD(5, 0, 0x2B, 0x00, 8) + +--- @type integer +SOUND_OBJ_SNUFIT_SHOOT = SOUND_ARG_LOAD(5, 0, 0x4D, 0x00, 8) + +--- @type integer +SOUND_OBJ_SNUFIT_SKEETER_DEATH = SOUND_ARG_LOAD(5, 0, 0x72, 0xC0, 8) + +--- @type integer +SOUND_OBJ_SOMETHING_LANDING = SOUND_ARG_LOAD(5, 0, 0x28, 0x80, 8) + +--- @type integer +SOUND_OBJ_SPINY_UNK59 = SOUND_ARG_LOAD(5, 0, 0x59, 0x10, 8) + +--- @type integer +SOUND_OBJ_STOMPED = SOUND_ARG_LOAD(5, 0, 0x30, 0x80, 8) + +--- @type integer +SOUND_OBJ_SUSHI_SHARK_WATER_SOUND = SOUND_ARG_LOAD(5, 0, 0x00, 0x80, 8) + +--- @type integer +SOUND_OBJ_SWOOP_DEATH = SOUND_ARG_LOAD(5, 0, 0x62, 0xB0, 8) + +--- @type integer +SOUND_OBJ_THWOMP = SOUND_ARG_LOAD(5, 0, 0x0C, 0xA0, 8) + +--- @type integer +SOUND_OBJ_UKIKI_CHATTER_IDLE = SOUND_ARG_LOAD(5, 0, 0x3A, 0x00, 8) + +--- @type integer +SOUND_OBJ_UKIKI_CHATTER_LONG = SOUND_ARG_LOAD(5, 0, 0x21, 0x00, 8) + +--- @type integer +SOUND_OBJ_UKIKI_CHATTER_SHORT = SOUND_ARG_LOAD(5, 0, 0x39, 0x00, 8) + +--- @type integer +SOUND_OBJ_UKIKI_STEP_DEFAULT = SOUND_ARG_LOAD(5, 0, 0x3B, 0x00, 8) + +--- @type integer +SOUND_OBJ_UKIKI_STEP_LEAVES = SOUND_ARG_LOAD(5, 0, 0x3C, 0x00, 8) + +--- @type integer +SOUND_OBJ_UNK23 = 0x5023 + +--- @type integer +SOUND_OBJ_UNKNOWN2 = SOUND_ARG_LOAD(5, 0, 0x13, 0x00, 8) + +--- @type integer +SOUND_OBJ_UNKNOWN3 = SOUND_ARG_LOAD(5, 0, 0x1D, 0x80, 8) + +--- @type integer +SOUND_OBJ_UNKNOWN4 = SOUND_ARG_LOAD(5, 0, 0x1E, 0xA0, 8) + +--- @type integer +SOUND_OBJ_UNKNOWN6 = SOUND_ARG_LOAD(5, 0, 0x31, 0x00, 8) + +--- @type integer +SOUND_OBJ_WALKING_WATER = SOUND_ARG_LOAD(5, 0, 0x4F, 0x00, 8) + +--- @type integer +SOUND_OBJ_WATER_BOMB_BOUNCING = SOUND_ARG_LOAD(5, 0, 0x2E, 0x80, 8) + +--- @type integer +SOUND_OBJ_WHOMP_LOWPRIO = SOUND_ARG_LOAD(5, 0, 0x16, 0x60, 8) + +--- @type integer +SOUND_OBJ_WIGGLER_ATTACKED = SOUND_ARG_LOAD(5, 0, 0x70, 0x60, 8) + +--- @type integer +SOUND_OBJ_WIGGLER_DEATH = 0x505E + +--- @type integer +SOUND_OBJ_WIGGLER_HIGH_PITCH = SOUND_ARG_LOAD(5, 0, 0x5C, 0x40, 8) + +--- @type integer +SOUND_OBJ_WIGGLER_JUMP = SOUND_ARG_LOAD(5, 0, 0x2F, 0x60, 8) + +--- @type integer +SOUND_OBJ_WIGGLER_LOW_PITCH = SOUND_ARG_LOAD(5, 0, 0x71, 0x20, 8) + +--- @type integer +SOUND_OBJ_WIGGLER_TALK = SOUND_ARG_LOAD(5, 0, 0x6F, 0x00, 8) + +--- @type integer +SOUND_PEACH_BAKE_A_CAKE = SOUND_ARG_LOAD(2, 4, 0x3D, 0xFF, 8) + +--- @type integer +SOUND_PEACH_DEAR_MARIO = SOUND_ARG_LOAD(2, 4, 0x28, 0xFF, 8) + +--- @type integer +SOUND_PEACH_FOR_MARIO = SOUND_ARG_LOAD(2, 4, 0x3E, 0xFF, 8) + +--- @type integer +SOUND_PEACH_MARIO = SOUND_ARG_LOAD(2, 4, 0x38, 0xFF, 8) + +--- @type integer +SOUND_PEACH_MARIO2 = SOUND_ARG_LOAD(2, 4, 0x3F, 0xFF, 8) + +--- @type integer +SOUND_PEACH_POWER_OF_THE_STARS = SOUND_ARG_LOAD(2, 4, 0x39, 0xFF, 8) + +--- @type integer +SOUND_PEACH_SOMETHING_SPECIAL = SOUND_ARG_LOAD(2, 4, 0x3C, 0xFF, 8) + +--- @type integer +SOUND_PEACH_THANKS_TO_YOU = SOUND_ARG_LOAD(2, 4, 0x3A, 0xFF, 8) + +--- @type integer +SOUND_PEACH_THANK_YOU_MARIO = SOUND_ARG_LOAD(2, 4, 0x3B, 0xFF, 8) + +--- @type integer +SOUND_STATUS_PLAYING = 2 + +--- @type integer +SOUND_STATUS_STARTING = 1 + +--- @type integer +SOUND_STATUS_STOPPED = 0 + +--- @type integer +SOUND_TERRAIN_DEFAULT = 0 + +--- @type integer +SOUND_TERRAIN_GRASS = 1 + +--- @type integer +SOUND_TERRAIN_ICE = 6 + +--- @type integer +SOUND_TERRAIN_SAND = 7 + +--- @type integer +SOUND_TERRAIN_SNOW = 5 + +--- @type integer +SOUND_TERRAIN_SPOOKY = 4 + +--- @type integer +SOUND_TERRAIN_STONE = 3 + +--- @type integer +SOUND_TERRAIN_WATER = 2 + +--- @type integer +SOUND_VIBRATO = 0x2000000 + +--- @class BehaviorId + +--- @type BehaviorId +id_bhvStarDoor = 0 + +--- @type BehaviorId +id_bhvMrI = 1 + +--- @type BehaviorId +id_bhvMrIBody = 2 + +--- @type BehaviorId +id_bhvMrIParticle = 3 + +--- @type BehaviorId +id_bhvPurpleParticle = 4 + +--- @type BehaviorId +id_bhvGiantPole = 5 + +--- @type BehaviorId +id_bhvPoleGrabbing = 6 + +--- @type BehaviorId +id_bhvThiHugeIslandTop = 7 + +--- @type BehaviorId +id_bhvThiTinyIslandTop = 8 + +--- @type BehaviorId +id_bhvCapSwitchBase = 9 + +--- @type BehaviorId +id_bhvCapSwitch = 10 + +--- @type BehaviorId +id_bhvKingBobomb = 11 + +--- @type BehaviorId +id_bhvBobombAnchorMario = 12 + +--- @type BehaviorId +id_bhvBetaChestBottom = 13 + +--- @type BehaviorId +id_bhvBetaChestLid = 14 + +--- @type BehaviorId +id_bhvBubbleParticleSpawner = 15 + +--- @type BehaviorId +id_bhvBubbleMaybe = 16 + +--- @type BehaviorId +id_bhvBubblePlayer = 17 + +--- @type BehaviorId +id_bhvSmallWaterWave = 18 + +--- @type BehaviorId +id_bhvWaterAirBubble = 19 + +--- @type BehaviorId +id_bhvSmallParticle = 20 + +--- @type BehaviorId +id_bhvPlungeBubble = 21 + +--- @type BehaviorId +id_bhvSmallParticleSnow = 22 + +--- @type BehaviorId +id_bhvSmallParticleBubbles = 23 + +--- @type BehaviorId +id_bhvFishGroup = 24 + +--- @type BehaviorId +id_bhvCannon = 25 + +--- @type BehaviorId +id_bhvCannonBarrel = 26 + +--- @type BehaviorId +id_bhvCannonBaseUnused = 27 + +--- @type BehaviorId +id_bhvChuckya = 28 + +--- @type BehaviorId +id_bhvChuckyaAnchorMario = 29 + +--- @type BehaviorId +id_bhvUnused05A8 = 30 + +--- @type BehaviorId +id_bhvRotatingPlatform = 31 + +--- @type BehaviorId +id_bhvTower = 32 + +--- @type BehaviorId +id_bhvBulletBillCannon = 33 + +--- @type BehaviorId +id_bhvWfBreakableWallRight = 34 + +--- @type BehaviorId +id_bhvWfBreakableWallLeft = 35 + +--- @type BehaviorId +id_bhvKickableBoard = 36 + +--- @type BehaviorId +id_bhvTowerDoor = 37 + +--- @type BehaviorId +id_bhvRotatingCounterClockwise = 38 + +--- @type BehaviorId +id_bhvWfRotatingWoodenPlatform = 39 + +--- @type BehaviorId +id_bhvKoopaShellUnderwater = 40 + +--- @type BehaviorId +id_bhvExitPodiumWarp = 41 + +--- @type BehaviorId +id_bhvFadingWarp = 42 + +--- @type BehaviorId +id_bhvWarp = 43 + +--- @type BehaviorId +id_bhvWarpPipe = 44 + +--- @type BehaviorId +id_bhvWhitePuffExplosion = 45 + +--- @type BehaviorId +id_bhvSpawnedStar = 46 + +--- @type BehaviorId +id_bhvSpawnedStarNoLevelExit = 47 + +--- @type BehaviorId +id_bhvMrIBlueCoin = 48 + +--- @type BehaviorId +id_bhvCoinInsideBoo = 49 + +--- @type BehaviorId +id_bhvCoinFormationSpawn = 50 + +--- @type BehaviorId +id_bhvCoinFormation = 51 + +--- @type BehaviorId +id_bhvOneCoin = 52 + +--- @type BehaviorId +id_bhvYellowCoin = 53 + +--- @type BehaviorId +id_bhvTemporaryYellowCoin = 54 + +--- @type BehaviorId +id_bhvThreeCoinsSpawn = 55 + +--- @type BehaviorId +id_bhvTenCoinsSpawn = 56 + +--- @type BehaviorId +id_bhvSingleCoinGetsSpawned = 57 + +--- @type BehaviorId +id_bhvCoinSparkles = 58 + +--- @type BehaviorId +id_bhvGoldenCoinSparkles = 59 + +--- @type BehaviorId +id_bhvWallTinyStarParticle = 60 + +--- @type BehaviorId +id_bhvVertStarParticleSpawner = 61 + +--- @type BehaviorId +id_bhvPoundTinyStarParticle = 62 + +--- @type BehaviorId +id_bhvHorStarParticleSpawner = 63 + +--- @type BehaviorId +id_bhvPunchTinyTriangle = 64 + +--- @type BehaviorId +id_bhvTriangleParticleSpawner = 65 + +--- @type BehaviorId +id_bhvDoorWarp = 66 + +--- @type BehaviorId +id_bhvDoor = 67 + +--- @type BehaviorId +id_bhvGrindel = 68 + +--- @type BehaviorId +id_bhvThwomp2 = 69 + +--- @type BehaviorId +id_bhvThwomp = 70 + +--- @type BehaviorId +id_bhvTumblingBridgePlatform = 71 + +--- @type BehaviorId +id_bhvWfTumblingBridge = 72 + +--- @type BehaviorId +id_bhvBbhTumblingBridge = 73 + +--- @type BehaviorId +id_bhvLllTumblingBridge = 74 + +--- @type BehaviorId +id_bhvFlame = 75 + +--- @type BehaviorId +id_bhvAnotherElavator = 76 + +--- @type BehaviorId +id_bhvRrElevatorPlatform = 77 + +--- @type BehaviorId +id_bhvHmcElevatorPlatform = 78 + +--- @type BehaviorId +id_bhvWaterMist = 79 + +--- @type BehaviorId +id_bhvBreathParticleSpawner = 80 + +--- @type BehaviorId +id_bhvBreakBoxTriangle = 81 + +--- @type BehaviorId +id_bhvWaterMist2 = 82 + +--- @type BehaviorId +id_bhvUnused0DFC = 83 + +--- @type BehaviorId +id_bhvMistCircParticleSpawner = 84 + +--- @type BehaviorId +id_bhvDirtParticleSpawner = 85 + +--- @type BehaviorId +id_bhvSnowParticleSpawner = 86 + +--- @type BehaviorId +id_bhvWind = 87 + +--- @type BehaviorId +id_bhvEndToad = 88 + +--- @type BehaviorId +id_bhvEndPeach = 89 + +--- @type BehaviorId +id_bhvUnusedParticleSpawn = 90 + +--- @type BehaviorId +id_bhvUkiki = 91 + +--- @type BehaviorId +id_bhvUkikiCageChild = 92 + +--- @type BehaviorId +id_bhvUkikiCageStar = 93 + +--- @type BehaviorId +id_bhvUkikiCage = 94 + +--- @type BehaviorId +id_bhvBitfsSinkingPlatforms = 95 + +--- @type BehaviorId +id_bhvBitfsSinkingCagePlatform = 96 + +--- @type BehaviorId +id_bhvDddMovingPole = 97 + +--- @type BehaviorId +id_bhvBitfsTiltingInvertedPyramid = 98 + +--- @type BehaviorId +id_bhvSquishablePlatform = 99 + +--- @type BehaviorId +id_bhvCutOutObject = 100 + +--- @type BehaviorId +id_bhvBetaMovingFlames = 101 + +--- @type BehaviorId +id_bhvRrRotatingBridgePlatform = 102 + +--- @type BehaviorId +id_bhvFlamethrower = 103 + +--- @type BehaviorId +id_bhvFlamethrowerFlame = 104 + +--- @type BehaviorId +id_bhvBouncingFireball = 105 + +--- @type BehaviorId +id_bhvBouncingFireballFlame = 106 + +--- @type BehaviorId +id_bhvBowserShockWave = 107 + +--- @type BehaviorId +id_bhvFireParticleSpawner = 108 + +--- @type BehaviorId +id_bhvBlackSmokeMario = 109 + +--- @type BehaviorId +id_bhvBlackSmokeBowser = 110 + +--- @type BehaviorId +id_bhvBlackSmokeUpward = 111 + +--- @type BehaviorId +id_bhvBetaFishSplashSpawner = 112 + +--- @type BehaviorId +id_bhvSpindrift = 113 + +--- @type BehaviorId +id_bhvTowerPlatformGroup = 114 + +--- @type BehaviorId +id_bhvWfSlidingTowerPlatform = 115 + +--- @type BehaviorId +id_bhvWfElevatorTowerPlatform = 116 + +--- @type BehaviorId +id_bhvWfSolidTowerPlatform = 117 + +--- @type BehaviorId +id_bhvLeafParticleSpawner = 118 + +--- @type BehaviorId +id_bhvTreeSnow = 119 + +--- @type BehaviorId +id_bhvTreeLeaf = 120 + +--- @type BehaviorId +id_bhvAnotherTiltingPlatform = 121 + +--- @type BehaviorId +id_bhvSquarishPathMoving = 122 + +--- @type BehaviorId +id_bhvSquarishPathParent = 123 + +--- @type BehaviorId +id_bhvPiranhaPlantBubble = 124 + +--- @type BehaviorId +id_bhvPiranhaPlantWakingBubbles = 125 + +--- @type BehaviorId +id_bhvFloorSwitchAnimatesObject = 126 + +--- @type BehaviorId +id_bhvFloorSwitchGrills = 127 + +--- @type BehaviorId +id_bhvFloorSwitchHardcodedModel = 128 + +--- @type BehaviorId +id_bhvFloorSwitchHiddenObjects = 129 + +--- @type BehaviorId +id_bhvHiddenObject = 130 + +--- @type BehaviorId +id_bhvBreakableBox = 131 + +--- @type BehaviorId +id_bhvPushableMetalBox = 132 + +--- @type BehaviorId +id_bhvHeaveHo = 133 + +--- @type BehaviorId +id_bhvHeaveHoThrowMario = 134 + +--- @type BehaviorId +id_bhvCcmTouchedStarSpawn = 135 + +--- @type BehaviorId +id_bhvUnusedPoundablePlatform = 136 + +--- @type BehaviorId +id_bhvBetaTrampolineTop = 137 + +--- @type BehaviorId +id_bhvBetaTrampolineSpring = 138 + +--- @type BehaviorId +id_bhvJumpingBox = 139 + +--- @type BehaviorId +id_bhvBooCage = 140 + +--- @type BehaviorId +id_bhvStub = 141 + +--- @type BehaviorId +id_bhvIgloo = 142 + +--- @type BehaviorId +id_bhvBowserKey = 143 + +--- @type BehaviorId +id_bhvGrandStar = 144 + +--- @type BehaviorId +id_bhvBetaBooKey = 145 + +--- @type BehaviorId +id_bhvAlphaBooKey = 146 + +--- @type BehaviorId +id_bhvBulletBill = 147 + +--- @type BehaviorId +id_bhvWhitePuffSmoke = 148 + +--- @type BehaviorId +id_bhvUnused1820 = 149 + +--- @type BehaviorId +id_bhvBowserTailAnchor = 150 + +--- @type BehaviorId +id_bhvBowser = 151 + +--- @type BehaviorId +id_bhvBowserBodyAnchor = 152 + +--- @type BehaviorId +id_bhvBowserFlameSpawn = 153 + +--- @type BehaviorId +id_bhvTiltingBowserLavaPlatform = 154 + +--- @type BehaviorId +id_bhvFallingBowserPlatform = 155 + +--- @type BehaviorId +id_bhvBlueBowserFlame = 156 + +--- @type BehaviorId +id_bhvFlameFloatingLanding = 157 + +--- @type BehaviorId +id_bhvBlueFlamesGroup = 158 + +--- @type BehaviorId +id_bhvFlameBouncing = 159 + +--- @type BehaviorId +id_bhvFlameMovingForwardGrowing = 160 + +--- @type BehaviorId +id_bhvFlameBowser = 161 + +--- @type BehaviorId +id_bhvFlameLargeBurningOut = 162 + +--- @type BehaviorId +id_bhvBlueFish = 163 + +--- @type BehaviorId +id_bhvTankFishGroup = 164 + +--- @type BehaviorId +id_bhvCheckerboardElevatorGroup = 165 + +--- @type BehaviorId +id_bhvCheckerboardPlatformSub = 166 + +--- @type BehaviorId +id_bhvBowserKeyUnlockDoor = 167 + +--- @type BehaviorId +id_bhvBowserKeyCourseExit = 168 + +--- @type BehaviorId +id_bhvInvisibleObjectsUnderBridge = 169 + +--- @type BehaviorId +id_bhvWaterLevelPillar = 170 + +--- @type BehaviorId +id_bhvDddWarp = 171 + +--- @type BehaviorId +id_bhvMoatGrills = 172 + +--- @type BehaviorId +id_bhvClockMinuteHand = 173 + +--- @type BehaviorId +id_bhvClockHourHand = 174 + +--- @type BehaviorId +id_bhvMacroUkiki = 175 + +--- @type BehaviorId +id_bhvStub1D0C = 176 + +--- @type BehaviorId +id_bhvLllRotatingHexagonalPlatform = 177 + +--- @type BehaviorId +id_bhvLllSinkingRockBlock = 178 + +--- @type BehaviorId +id_bhvStub1D70 = 179 + +--- @type BehaviorId +id_bhvLllMovingOctagonalMeshPlatform = 180 + +--- @type BehaviorId +id_bhvLllRotatingBlockWithFireBars = 181 + +--- @type BehaviorId +id_bhvLllRotatingHexFlame = 182 + +--- @type BehaviorId +id_bhvLllWoodPiece = 183 + +--- @type BehaviorId +id_bhvLllFloatingWoodBridge = 184 + +--- @type BehaviorId +id_bhvVolcanoFlames = 185 + +--- @type BehaviorId +id_bhvLllRotatingHexagonalRing = 186 + +--- @type BehaviorId +id_bhvLllSinkingRectangularPlatform = 187 + +--- @type BehaviorId +id_bhvLllSinkingSquarePlatforms = 188 + +--- @type BehaviorId +id_bhvLllTiltingInvertedPyramid = 189 + +--- @type BehaviorId +id_bhvUnused1F30 = 190 + +--- @type BehaviorId +id_bhvKoopaShell = 191 + +--- @type BehaviorId +id_bhvKoopaShellFlame = 192 + +--- @type BehaviorId +id_bhvToxBox = 193 + +--- @type BehaviorId +id_bhvPiranhaPlant = 194 + +--- @type BehaviorId +id_bhvLllHexagonalMesh = 195 + +--- @type BehaviorId +id_bhvLllBowserPuzzlePiece = 196 + +--- @type BehaviorId +id_bhvLllBowserPuzzle = 197 + +--- @type BehaviorId +id_bhvTuxiesMother = 198 + +--- @type BehaviorId +id_bhvPenguinBaby = 199 + +--- @type BehaviorId +id_bhvUnused20E0 = 200 + +--- @type BehaviorId +id_bhvSmallPenguin = 201 + +--- @type BehaviorId +id_bhvFish2 = 202 + +--- @type BehaviorId +id_bhvFish3 = 203 + +--- @type BehaviorId +id_bhvLargeFishGroup = 204 + +--- @type BehaviorId +id_bhvFish = 205 + +--- @type BehaviorId +id_bhvWdwExpressElevator = 206 + +--- @type BehaviorId +id_bhvWdwExpressElevatorPlatform = 207 + +--- @type BehaviorId +id_bhvChirpChirp = 208 + +--- @type BehaviorId +id_bhvBub = 209 + +--- @type BehaviorId +id_bhvExclamationBox = 210 + +--- @type BehaviorId +id_bhvRotatingExclamationMark = 211 + +--- @type BehaviorId +id_bhvSoundSpawner = 212 + +--- @type BehaviorId +id_bhvRockSolid = 213 + +--- @type BehaviorId +id_bhvBowserSubDoor = 214 + +--- @type BehaviorId +id_bhvBowsersSub = 215 + +--- @type BehaviorId +id_bhvSushiShark = 216 + +--- @type BehaviorId +id_bhvSushiSharkCollisionChild = 217 + +--- @type BehaviorId +id_bhvJrbSlidingBox = 218 + +--- @type BehaviorId +id_bhvShipPart3 = 219 + +--- @type BehaviorId +id_bhvInSunkenShip3 = 220 + +--- @type BehaviorId +id_bhvSunkenShipPart = 221 + +--- @type BehaviorId +id_bhvSunkenShipPart2 = 222 + +--- @type BehaviorId +id_bhvInSunkenShip = 223 + +--- @type BehaviorId +id_bhvInSunkenShip2 = 224 + +--- @type BehaviorId +id_bhvMistParticleSpawner = 225 + +--- @type BehaviorId +id_bhvWhitePuff1 = 226 + +--- @type BehaviorId +id_bhvWhitePuff2 = 227 + +--- @type BehaviorId +id_bhvWhitePuffSmoke2 = 228 + +--- @type BehaviorId +id_bhvPurpleSwitchHiddenBoxes = 229 + +--- @type BehaviorId +id_bhvBlueCoinSwitch = 230 + +--- @type BehaviorId +id_bhvHiddenBlueCoin = 231 + +--- @type BehaviorId +id_bhvOpenableCageDoor = 232 + +--- @type BehaviorId +id_bhvOpenableGrill = 233 + +--- @type BehaviorId +id_bhvWaterLevelDiamond = 234 + +--- @type BehaviorId +id_bhvInitializeChangingWaterLevel = 235 + +--- @type BehaviorId +id_bhvTweesterSandParticle = 236 + +--- @type BehaviorId +id_bhvTweester = 237 + +--- @type BehaviorId +id_bhvMerryGoRoundBooManager = 238 + +--- @type BehaviorId +id_bhvAnimatedTexture = 239 + +--- @type BehaviorId +id_bhvBooInCastle = 240 + +--- @type BehaviorId +id_bhvBooWithCage = 241 + +--- @type BehaviorId +id_bhvBalconyBigBoo = 242 + +--- @type BehaviorId +id_bhvMerryGoRoundBigBoo = 243 + +--- @type BehaviorId +id_bhvGhostHuntBigBoo = 244 + +--- @type BehaviorId +id_bhvCourtyardBooTriplet = 245 + +--- @type BehaviorId +id_bhvBoo = 246 + +--- @type BehaviorId +id_bhvMerryGoRoundBoo = 247 + +--- @type BehaviorId +id_bhvGhostHuntBoo = 248 + +--- @type BehaviorId +id_bhvHiddenStaircaseStep = 249 + +--- @type BehaviorId +id_bhvBooBossSpawnedBridge = 250 + +--- @type BehaviorId +id_bhvBbhTiltingTrapPlatform = 251 + +--- @type BehaviorId +id_bhvHauntedBookshelf = 252 + +--- @type BehaviorId +id_bhvMeshElevator = 253 + +--- @type BehaviorId +id_bhvMerryGoRound = 254 + +--- @type BehaviorId +id_bhvPlaysMusicTrackWhenTouched = 255 + +--- @type BehaviorId +id_bhvBetaBowserAnchor = 256 + +--- @type BehaviorId +id_bhvStaticCheckeredPlatform = 257 + +--- @type BehaviorId +id_bhvUnused2A10 = 258 + +--- @type BehaviorId +id_bhvUnusedFakeStar = 259 + +--- @type BehaviorId +id_bhvStaticObject = 260 + +--- @type BehaviorId +id_bhvUnused2A54 = 261 + +--- @type BehaviorId +id_bhvCastleFloorTrap = 262 + +--- @type BehaviorId +id_bhvFloorTrapInCastle = 263 + +--- @type BehaviorId +id_bhvTree = 264 + +--- @type BehaviorId +id_bhvSparkle = 265 + +--- @type BehaviorId +id_bhvSparkleSpawn = 266 + +--- @type BehaviorId +id_bhvSparkleParticleSpawner = 267 + +--- @type BehaviorId +id_bhvScuttlebug = 268 + +--- @type BehaviorId +id_bhvScuttlebugSpawn = 269 + +--- @type BehaviorId +id_bhvWhompKingBoss = 270 + +--- @type BehaviorId +id_bhvSmallWhomp = 271 + +--- @type BehaviorId +id_bhvWaterSplash = 272 + +--- @type BehaviorId +id_bhvWaterDroplet = 273 + +--- @type BehaviorId +id_bhvWaterDropletSplash = 274 + +--- @type BehaviorId +id_bhvBubbleSplash = 275 + +--- @type BehaviorId +id_bhvIdleWaterWave = 276 + +--- @type BehaviorId +id_bhvObjectWaterSplash = 277 + +--- @type BehaviorId +id_bhvShallowWaterWave = 278 + +--- @type BehaviorId +id_bhvShallowWaterSplash = 279 + +--- @type BehaviorId +id_bhvObjectWaveTrail = 280 + +--- @type BehaviorId +id_bhvWaveTrail = 281 + +--- @type BehaviorId +id_bhvTinyStrongWindParticle = 282 + +--- @type BehaviorId +id_bhvStrongWindParticle = 283 + +--- @type BehaviorId +id_bhvSLSnowmanWind = 284 + +--- @type BehaviorId +id_bhvSLWalkingPenguin = 285 + +--- @type BehaviorId +id_bhvYellowBall = 286 + +--- @type BehaviorId +id_bhvMario = 287 + +--- @type BehaviorId +id_bhvToadMessage = 288 + +--- @type BehaviorId +id_bhvUnlockDoorStar = 289 + +--- @type BehaviorId +id_bhvRandomAnimatedTexture = 290 + +--- @type BehaviorId +id_bhvYellowBackgroundInMenu = 291 + +--- @type BehaviorId +id_bhvMenuButton = 292 + +--- @type BehaviorId +id_bhvMenuButtonManager = 293 + +--- @type BehaviorId +id_bhvActSelectorStarType = 294 + +--- @type BehaviorId +id_bhvActSelector = 295 + +--- @type BehaviorId +id_bhvMovingYellowCoin = 296 + +--- @type BehaviorId +id_bhvMovingBlueCoin = 297 + +--- @type BehaviorId +id_bhvBlueCoinSliding = 298 + +--- @type BehaviorId +id_bhvBlueCoinJumping = 299 + +--- @type BehaviorId +id_bhvSeaweed = 300 + +--- @type BehaviorId +id_bhvSeaweedBundle = 301 + +--- @type BehaviorId +id_bhvBobomb = 302 + +--- @type BehaviorId +id_bhvBobombFuseSmoke = 303 + +--- @type BehaviorId +id_bhvBobombBuddy = 304 + +--- @type BehaviorId +id_bhvBobombBuddyOpensCannon = 305 + +--- @type BehaviorId +id_bhvCannonClosed = 306 + +--- @type BehaviorId +id_bhvWhirlpool = 307 + +--- @type BehaviorId +id_bhvJetStream = 308 + +--- @type BehaviorId +id_bhvMessagePanel = 309 + +--- @type BehaviorId +id_bhvSignOnWall = 310 + +--- @type BehaviorId +id_bhvHomingAmp = 311 + +--- @type BehaviorId +id_bhvCirclingAmp = 312 + +--- @type BehaviorId +id_bhvButterfly = 313 + +--- @type BehaviorId +id_bhvHoot = 314 + +--- @type BehaviorId +id_bhvBetaHoldableObject = 315 + +--- @type BehaviorId +id_bhvCarrySomething1 = 316 + +--- @type BehaviorId +id_bhvCarrySomething2 = 317 + +--- @type BehaviorId +id_bhvCarrySomething3 = 318 + +--- @type BehaviorId +id_bhvCarrySomething4 = 319 + +--- @type BehaviorId +id_bhvCarrySomething5 = 320 + +--- @type BehaviorId +id_bhvCarrySomething6 = 321 + +--- @type BehaviorId +id_bhvObjectBubble = 322 + +--- @type BehaviorId +id_bhvObjectWaterWave = 323 + +--- @type BehaviorId +id_bhvExplosion = 324 + +--- @type BehaviorId +id_bhvBobombBullyDeathSmoke = 325 + +--- @type BehaviorId +id_bhvSmoke = 326 + +--- @type BehaviorId +id_bhvBobombExplosionBubble = 327 + +--- @type BehaviorId +id_bhvRespawner = 328 + +--- @type BehaviorId +id_bhvSmallBully = 329 + +--- @type BehaviorId +id_bhvBigBully = 330 + +--- @type BehaviorId +id_bhvBigBullyWithMinions = 331 + +--- @type BehaviorId +id_bhvSmallChillBully = 332 + +--- @type BehaviorId +id_bhvBigChillBully = 333 + +--- @type BehaviorId +id_bhvJetStreamRingSpawner = 334 + +--- @type BehaviorId +id_bhvJetStreamWaterRing = 335 + +--- @type BehaviorId +id_bhvMantaRayWaterRing = 336 + +--- @type BehaviorId +id_bhvMantaRayRingManager = 337 + +--- @type BehaviorId +id_bhvBowserBomb = 338 + +--- @type BehaviorId +id_bhvBowserBombExplosion = 339 + +--- @type BehaviorId +id_bhvBowserBombSmoke = 340 + +--- @type BehaviorId +id_bhvCelebrationStar = 341 + +--- @type BehaviorId +id_bhvCelebrationStarSparkle = 342 + +--- @type BehaviorId +id_bhvStarKeyCollectionPuffSpawner = 343 + +--- @type BehaviorId +id_bhvLllDrawbridgeSpawner = 344 + +--- @type BehaviorId +id_bhvLllDrawbridge = 345 + +--- @type BehaviorId +id_bhvSmallBomp = 346 + +--- @type BehaviorId +id_bhvLargeBomp = 347 + +--- @type BehaviorId +id_bhvWfSlidingPlatform = 348 + +--- @type BehaviorId +id_bhvMoneybag = 349 + +--- @type BehaviorId +id_bhvMoneybagHidden = 350 + +--- @type BehaviorId +id_bhvPitBowlingBall = 351 + +--- @type BehaviorId +id_bhvFreeBowlingBall = 352 + +--- @type BehaviorId +id_bhvBowlingBall = 353 + +--- @type BehaviorId +id_bhvTtmBowlingBallSpawner = 354 + +--- @type BehaviorId +id_bhvBobBowlingBallSpawner = 355 + +--- @type BehaviorId +id_bhvThiBowlingBallSpawner = 356 + +--- @type BehaviorId +id_bhvRrCruiserWing = 357 + +--- @type BehaviorId +id_bhvSpindel = 358 + +--- @type BehaviorId +id_bhvSslMovingPyramidWall = 359 + +--- @type BehaviorId +id_bhvPyramidElevator = 360 + +--- @type BehaviorId +id_bhvPyramidElevatorTrajectoryMarkerBall = 361 + +--- @type BehaviorId +id_bhvPyramidTop = 362 + +--- @type BehaviorId +id_bhvPyramidTopFragment = 363 + +--- @type BehaviorId +id_bhvPyramidPillarTouchDetector = 364 + +--- @type BehaviorId +id_bhvWaterfallSoundLoop = 365 + +--- @type BehaviorId +id_bhvVolcanoSoundLoop = 366 + +--- @type BehaviorId +id_bhvCastleFlagWaving = 367 + +--- @type BehaviorId +id_bhvBirdsSoundLoop = 368 + +--- @type BehaviorId +id_bhvAmbientSounds = 369 + +--- @type BehaviorId +id_bhvSandSoundLoop = 370 + +--- @type BehaviorId +id_bhvHiddenAt120Stars = 371 + +--- @type BehaviorId +id_bhvSnowmansBottom = 372 + +--- @type BehaviorId +id_bhvSnowmansHead = 373 + +--- @type BehaviorId +id_bhvSnowmansBodyCheckpoint = 374 + +--- @type BehaviorId +id_bhvBigSnowmanWhole = 375 + +--- @type BehaviorId +id_bhvBigBoulder = 376 + +--- @type BehaviorId +id_bhvBigBoulderGenerator = 377 + +--- @type BehaviorId +id_bhvWingCap = 378 + +--- @type BehaviorId +id_bhvMetalCap = 379 + +--- @type BehaviorId +id_bhvNormalCap = 380 + +--- @type BehaviorId +id_bhvVanishCap = 381 + +--- @type BehaviorId +id_bhvStar = 382 + +--- @type BehaviorId +id_bhvStarSpawnCoordinates = 383 + +--- @type BehaviorId +id_bhvHiddenRedCoinStar = 384 + +--- @type BehaviorId +id_bhvRedCoin = 385 + +--- @type BehaviorId +id_bhvBowserCourseRedCoinStar = 386 + +--- @type BehaviorId +id_bhvHiddenStar = 387 + +--- @type BehaviorId +id_bhvHiddenStarTrigger = 388 + +--- @type BehaviorId +id_bhvTtmRollingLog = 389 + +--- @type BehaviorId +id_bhvLllVolcanoFallingTrap = 390 + +--- @type BehaviorId +id_bhvLllRollingLog = 391 + +--- @type BehaviorId +id_bhv1upWalking = 392 + +--- @type BehaviorId +id_bhv1upRunningAway = 393 + +--- @type BehaviorId +id_bhv1upSliding = 394 + +--- @type BehaviorId +id_bhv1Up = 395 + +--- @type BehaviorId +id_bhv1upJumpOnApproach = 396 + +--- @type BehaviorId +id_bhvHidden1up = 397 + +--- @type BehaviorId +id_bhvHidden1upTrigger = 398 + +--- @type BehaviorId +id_bhvHidden1upInPole = 399 + +--- @type BehaviorId +id_bhvHidden1upInPoleTrigger = 400 + +--- @type BehaviorId +id_bhvHidden1upInPoleSpawner = 401 + +--- @type BehaviorId +id_bhvControllablePlatform = 402 + +--- @type BehaviorId +id_bhvControllablePlatformSub = 403 + +--- @type BehaviorId +id_bhvBreakableBoxSmall = 404 + +--- @type BehaviorId +id_bhvSlidingSnowMound = 405 + +--- @type BehaviorId +id_bhvSnowMoundSpawn = 406 + +--- @type BehaviorId +id_bhvWdwSquareFloatingPlatform = 407 + +--- @type BehaviorId +id_bhvWdwRectangularFloatingPlatform = 408 + +--- @type BehaviorId +id_bhvJrbFloatingPlatform = 409 + +--- @type BehaviorId +id_bhvArrowLift = 410 + +--- @type BehaviorId +id_bhvOrangeNumber = 411 + +--- @type BehaviorId +id_bhvMantaRay = 412 + +--- @type BehaviorId +id_bhvFallingPillar = 413 + +--- @type BehaviorId +id_bhvFallingPillarHitbox = 414 + +--- @type BehaviorId +id_bhvPillarBase = 415 + +--- @type BehaviorId +id_bhvJrbFloatingBox = 416 + +--- @type BehaviorId +id_bhvDecorativePendulum = 417 + +--- @type BehaviorId +id_bhvTreasureChestsShip = 418 + +--- @type BehaviorId +id_bhvTreasureChestsJrb = 419 + +--- @type BehaviorId +id_bhvTreasureChests = 420 + +--- @type BehaviorId +id_bhvTreasureChestBottom = 421 + +--- @type BehaviorId +id_bhvTreasureChestTop = 422 + +--- @type BehaviorId +id_bhvMips = 423 + +--- @type BehaviorId +id_bhvYoshi = 424 + +--- @type BehaviorId +id_bhvKoopa = 425 + +--- @type BehaviorId +id_bhvKoopaRaceEndpoint = 426 + +--- @type BehaviorId +id_bhvKoopaFlag = 427 + +--- @type BehaviorId +id_bhvPokey = 428 + +--- @type BehaviorId +id_bhvPokeyBodyPart = 429 + +--- @type BehaviorId +id_bhvSwoop = 430 + +--- @type BehaviorId +id_bhvFlyGuy = 431 + +--- @type BehaviorId +id_bhvGoomba = 432 + +--- @type BehaviorId +id_bhvGoombaTripletSpawner = 433 + +--- @type BehaviorId +id_bhvChainChomp = 434 + +--- @type BehaviorId +id_bhvChainChompChainPart = 435 + +--- @type BehaviorId +id_bhvWoodenPost = 436 + +--- @type BehaviorId +id_bhvChainChompGate = 437 + +--- @type BehaviorId +id_bhvWigglerHead = 438 + +--- @type BehaviorId +id_bhvWigglerBody = 439 + +--- @type BehaviorId +id_bhvEnemyLakitu = 440 + +--- @type BehaviorId +id_bhvCameraLakitu = 441 + +--- @type BehaviorId +id_bhvCloud = 442 + +--- @type BehaviorId +id_bhvCloudPart = 443 + +--- @type BehaviorId +id_bhvSpiny = 444 + +--- @type BehaviorId +id_bhvMontyMole = 445 + +--- @type BehaviorId +id_bhvMontyMoleHole = 446 + +--- @type BehaviorId +id_bhvMontyMoleRock = 447 + +--- @type BehaviorId +id_bhvPlatformOnTrack = 448 + +--- @type BehaviorId +id_bhvTrackBall = 449 + +--- @type BehaviorId +id_bhvSeesawPlatform = 450 + +--- @type BehaviorId +id_bhvFerrisWheelAxle = 451 + +--- @type BehaviorId +id_bhvFerrisWheelPlatform = 452 + +--- @type BehaviorId +id_bhvWaterBombSpawner = 453 + +--- @type BehaviorId +id_bhvWaterBomb = 454 + +--- @type BehaviorId +id_bhvWaterBombShadow = 455 + +--- @type BehaviorId +id_bhvTTCRotatingSolid = 456 + +--- @type BehaviorId +id_bhvTTCPendulum = 457 + +--- @type BehaviorId +id_bhvTTCTreadmill = 458 + +--- @type BehaviorId +id_bhvTTCMovingBar = 459 + +--- @type BehaviorId +id_bhvTTCCog = 460 + +--- @type BehaviorId +id_bhvTTCPitBlock = 461 + +--- @type BehaviorId +id_bhvTTCElevator = 462 + +--- @type BehaviorId +id_bhvTTC2DRotator = 463 + +--- @type BehaviorId +id_bhvTTCSpinner = 464 + +--- @type BehaviorId +id_bhvMrBlizzard = 465 + +--- @type BehaviorId +id_bhvMrBlizzardSnowball = 466 + +--- @type BehaviorId +id_bhvSlidingPlatform2 = 467 + +--- @type BehaviorId +id_bhvOctagonalPlatformRotating = 468 + +--- @type BehaviorId +id_bhvAnimatesOnFloorSwitchPress = 469 + +--- @type BehaviorId +id_bhvActivatedBackAndForthPlatform = 470 + +--- @type BehaviorId +id_bhvRecoveryHeart = 471 + +--- @type BehaviorId +id_bhvWaterBombCannon = 472 + +--- @type BehaviorId +id_bhvCannonBarrelBubbles = 473 + +--- @type BehaviorId +id_bhvUnagi = 474 + +--- @type BehaviorId +id_bhvUnagiSubobject = 475 + +--- @type BehaviorId +id_bhvDorrie = 476 + +--- @type BehaviorId +id_bhvHauntedChair = 477 + +--- @type BehaviorId +id_bhvMadPiano = 478 + +--- @type BehaviorId +id_bhvFlyingBookend = 479 + +--- @type BehaviorId +id_bhvBookendSpawn = 480 + +--- @type BehaviorId +id_bhvHauntedBookshelfManager = 481 + +--- @type BehaviorId +id_bhvBookSwitch = 482 + +--- @type BehaviorId +id_bhvFirePiranhaPlant = 483 + +--- @type BehaviorId +id_bhvSmallPiranhaFlame = 484 + +--- @type BehaviorId +id_bhvFireSpitter = 485 + +--- @type BehaviorId +id_bhvFlyguyFlame = 486 + +--- @type BehaviorId +id_bhvSnufit = 487 + +--- @type BehaviorId +id_bhvSnufitBalls = 488 + +--- @type BehaviorId +id_bhvHorizontalGrindel = 489 + +--- @type BehaviorId +id_bhvEyerokBoss = 490 + +--- @type BehaviorId +id_bhvEyerokHand = 491 + +--- @type BehaviorId +id_bhvKlepto = 492 + +--- @type BehaviorId +id_bhvBird = 493 + +--- @type BehaviorId +id_bhvRacingPenguin = 494 + +--- @type BehaviorId +id_bhvPenguinRaceFinishLine = 495 + +--- @type BehaviorId +id_bhvPenguinRaceShortcutCheck = 496 + +--- @type BehaviorId +id_bhvCoffinSpawner = 497 + +--- @type BehaviorId +id_bhvCoffin = 498 + +--- @type BehaviorId +id_bhvClamShell = 499 + +--- @type BehaviorId +id_bhvSkeeter = 500 + +--- @type BehaviorId +id_bhvSkeeterWave = 501 + +--- @type BehaviorId +id_bhvSwingPlatform = 502 + +--- @type BehaviorId +id_bhvDonutPlatformSpawner = 503 + +--- @type BehaviorId +id_bhvDonutPlatform = 504 + +--- @type BehaviorId +id_bhvDDDPole = 505 + +--- @type BehaviorId +id_bhvRedCoinStarMarker = 506 + +--- @type BehaviorId +id_bhvTripletButterfly = 507 + +--- @type BehaviorId +id_bhvBubba = 508 + +--- @type BehaviorId +id_bhvBeginningLakitu = 509 + +--- @type BehaviorId +id_bhvBeginningPeach = 510 + +--- @type BehaviorId +id_bhvEndBirds1 = 511 + +--- @type BehaviorId +id_bhvEndBirds2 = 512 + +--- @type BehaviorId +id_bhvIntroScene = 513 + +--- @type BehaviorId +id_bhv_max_count = 514 + +--- @type integer +CAMERA_MODE_8_DIRECTIONS = 0x0E + +--- @type integer +CAMERA_MODE_BEHIND_MARIO = 0x03 + +--- @type integer +CAMERA_MODE_BOSS_FIGHT = 0x0B + +--- @type integer +CAMERA_MODE_CLOSE = 0x04 + +--- @type integer +CAMERA_MODE_C_UP = 0x06 + +--- @type integer +CAMERA_MODE_FIXED = 0x0D + +--- @type integer +CAMERA_MODE_FREE_ROAM = 0x10 + +--- @type integer +CAMERA_MODE_INSIDE_CANNON = 0x0A + +--- @type integer +CAMERA_MODE_NEWCAM = 0x12 + +--- @type integer +CAMERA_MODE_NONE = 0x00 + +--- @type integer +CAMERA_MODE_OUTWARD_RADIAL = 0x02 + +--- @type integer +CAMERA_MODE_PARALLEL_TRACKING = 0x0C + +--- @type integer +CAMERA_MODE_RADIAL = 0x01 + +--- @type integer +CAMERA_MODE_SLIDE_HOOT = 0x09 + +--- @type integer +CAMERA_MODE_SPIRAL_STAIRS = 0x11 + +--- @type integer +CAMERA_MODE_WATER_SURFACE = 0x08 + +--- @type integer +CAM_ANGLE_LAKITU = 2 + +--- @type integer +CAM_ANGLE_MARIO = 1 + +--- @type integer +CAM_EVENT_BOWSER_INIT = 4 + +--- @type integer +CAM_EVENT_BOWSER_JUMP = 7 + +--- @type integer +CAM_EVENT_BOWSER_THROW_BOUNCE = 8 + +--- @type integer +CAM_EVENT_CANNON = 1 + +--- @type integer +CAM_EVENT_DOOR = 6 + +--- @type integer +CAM_EVENT_DOOR_WARP = 5 + +--- @type integer +CAM_EVENT_SHOT_FROM_CANNON = 2 + +--- @type integer +CAM_EVENT_START_CREDITS = 13 + +--- @type integer +CAM_EVENT_START_ENDING = 11 + +--- @type integer +CAM_EVENT_START_END_WAVING = 12 + +--- @type integer +CAM_EVENT_START_GRAND_STAR = 10 + +--- @type integer +CAM_EVENT_START_INTRO = 9 + +--- @type integer +CAM_EVENT_UNUSED_3 = 3 + +--- @type integer +CAM_FLAG_BEHIND_MARIO_POST_DOOR = 0x8000 + +--- @type integer +CAM_FLAG_BLOCK_AREA_PROCESSING = 0x1000 + +--- @type integer +CAM_FLAG_BLOCK_SMOOTH_MOVEMENT = 0x0002 + +--- @type integer +CAM_FLAG_CAM_NEAR_WALL = 0x0020 + +--- @type integer +CAM_FLAG_CCM_SLIDE_SHORTCUT = 0x0010 + +--- @type integer +CAM_FLAG_CHANGED_PARTRACK_INDEX = 0x0008 + +--- @type integer +CAM_FLAG_COLLIDED_WITH_WALL = 0x0200 + +--- @type integer +CAM_FLAG_FRAME_AFTER_CAM_INIT = 0x0004 + +--- @type integer +CAM_FLAG_SLEEPING = 0x0040 + +--- @type integer +CAM_FLAG_SMOOTH_MOVEMENT = 0x0001 + +--- @type integer +CAM_FLAG_START_TRANSITION = 0x0400 + +--- @type integer +CAM_FLAG_TRANSITION_OUT_OF_C_UP = 0x0800 + +--- @type integer +CAM_FLAG_UNUSED_13 = 0x2000 + +--- @type integer +CAM_FLAG_UNUSED_7 = 0x0080 + +--- @type integer +CAM_FLAG_UNUSED_8 = 0x0100 + +--- @type integer +CAM_FLAG_UNUSED_CUTSCENE_ACTIVE = 0x4000 + +--- @type integer +CAM_FOV_APP_20 = 6 + +--- @type integer +CAM_FOV_APP_30 = 10 + +--- @type integer +CAM_FOV_APP_45 = 4 + +--- @type integer +CAM_FOV_APP_60 = 11 + +--- @type integer +CAM_FOV_APP_80 = 9 + +--- @type integer +CAM_FOV_BBH = 7 + +--- @type integer +CAM_FOV_DEFAULT = 2 + +--- @type integer +CAM_FOV_SET_29 = 13 + +--- @type integer +CAM_FOV_SET_30 = 5 + +--- @type integer +CAM_FOV_SET_45 = 1 + +--- @type integer +CAM_FOV_ZOOM_30 = 12 + +--- @type integer +CAM_MODE_LAKITU_WAS_ZOOMED_OUT = 0x02 + +--- @type integer +CAM_MODE_MARIO_ACTIVE = 0x01 + +--- @type integer +CAM_MODE_MARIO_SELECTED = 0x04 + +--- @type integer +CAM_MOVE_ALREADY_ZOOMED_OUT = 0x1000 + +--- @type integer +CAM_MOVE_C_UP_MODE = 0x2000 + +--- @type integer +CAM_MOVE_ENTERED_ROTATE_SURFACE = 0x0010 + +--- @type integer +CAM_MOVE_FIX_IN_PLACE = 0x0040 + +--- @type integer +CAM_MOVE_INIT_CAMERA = 0x0800 + +--- @type integer +CAM_MOVE_METAL_BELOW_WATER = 0x0020 + +--- @type integer +CAM_MOVE_PAUSE_SCREEN = 0x8000 + +--- @type integer +CAM_MOVE_RESTRICT = (CAM_MOVE_ENTERED_ROTATE_SURFACE | CAM_MOVE_METAL_BELOW_WATER | CAM_MOVE_FIX_IN_PLACE | CAM_MOVE_UNKNOWN_8) + +--- @type integer +CAM_MOVE_RETURN_TO_MIDDLE = 0x0001 + +--- @type integer +CAM_MOVE_ROTATE = (CAM_MOVE_ROTATE_RIGHT | CAM_MOVE_ROTATE_LEFT | CAM_MOVE_RETURN_TO_MIDDLE) + +--- @type integer +CAM_MOVE_ROTATE_LEFT = 0x0008 + +--- @type integer +CAM_MOVE_ROTATE_RIGHT = 0x0004 + +--- @type integer +CAM_MOVE_STARTED_EXITING_C_UP = 0x0200 + +--- @type integer +CAM_MOVE_SUBMERGED = 0x4000 + +--- @type integer +CAM_MOVE_UNKNOWN_11 = 0x0400 + +--- @type integer +CAM_MOVE_UNKNOWN_8 = 0x0080 + +--- @type integer +CAM_MOVE_ZOOMED_OUT = 0x0002 + +--- @type integer +CAM_MOVING_INTO_MODE = 0x0100 + +--- @type integer +CAM_SELECTION_FIXED = 2 + +--- @type integer +CAM_SELECTION_MARIO = 1 + +--- @type integer +CAM_SOUND_C_UP_PLAYED = 0x01 + +--- @type integer +CAM_SOUND_FIXED_ACTIVE = 0x20 + +--- @type integer +CAM_SOUND_MARIO_ACTIVE = 0x02 + +--- @type integer +CAM_SOUND_NORMAL_ACTIVE = 0x04 + +--- @type integer +CAM_SOUND_UNUSED_SELECT_FIXED = 0x10 + +--- @type integer +CAM_SOUND_UNUSED_SELECT_MARIO = 0x08 + +--- @type integer +CAM_STATUS_C_DOWN = 1 << 3 + +--- @type integer +CAM_STATUS_C_MODE_GROUP = (CAM_STATUS_C_DOWN | CAM_STATUS_C_UP) + +--- @type integer +CAM_STATUS_C_UP = 1 << 4 + +--- @type integer +CAM_STATUS_FIXED = 1 << 2 + +--- @type integer +CAM_STATUS_LAKITU = 1 << 1 + +--- @type integer +CAM_STATUS_MARIO = 1 << 0 + +--- @type integer +CAM_STATUS_MODE_GROUP = (CAM_STATUS_MARIO | CAM_STATUS_LAKITU | CAM_STATUS_FIXED) + +--- @type integer +CAM_STATUS_NONE = 0 + +--- @type integer +CUTSCENE_0F_UNUSED = 145 + +--- @type integer +CUTSCENE_CAP_SWITCH_PRESS = 161 + +--- @type integer +CUTSCENE_CREDITS = 178 + +--- @type integer +CUTSCENE_DANCE_CLOSEUP = 166 + +--- @type integer +CUTSCENE_DANCE_DEFAULT = 175 + +--- @type integer +CUTSCENE_DANCE_FLY_AWAY = 165 + +--- @type integer +CUTSCENE_DANCE_ROTATE = 143 + +--- @type integer +CUTSCENE_DEATH_EXIT = 135 + +--- @type integer +CUTSCENE_DEATH_ON_BACK = 154 + +--- @type integer +CUTSCENE_DEATH_ON_STOMACH = 153 + +--- @type integer +CUTSCENE_DIALOG = 162 + +--- @type integer +CUTSCENE_DOOR_PULL = 130 + +--- @type integer +CUTSCENE_DOOR_PULL_MODE = 140 + +--- @type integer +CUTSCENE_DOOR_PUSH = 131 + +--- @type integer +CUTSCENE_DOOR_PUSH_MODE = 141 + +--- @type integer +CUTSCENE_DOOR_WARP = 139 + +--- @type integer +CUTSCENE_ENDING = 172 + +--- @type integer +CUTSCENE_END_WAVING = 177 + +--- @type integer +CUTSCENE_ENTER_BOWSER_ARENA = 144 + +--- @type integer +CUTSCENE_ENTER_CANNON = 133 + +--- @type integer +CUTSCENE_ENTER_PAINTING = 134 + +--- @type integer +CUTSCENE_ENTER_POOL = 181 + +--- @type integer +CUTSCENE_ENTER_PYRAMID_TOP = 164 + +--- @type integer +CUTSCENE_EXIT_BOWSER_DEATH = 158 + +--- @type integer +CUTSCENE_EXIT_BOWSER_SUCC = 157 + +--- @type integer +CUTSCENE_EXIT_FALL_WMOTR = 180 + +--- @type integer +CUTSCENE_EXIT_PAINTING_SUCC = 160 + +--- @type integer +CUTSCENE_EXIT_SPECIAL_SUCC = 169 + +--- @type integer +CUTSCENE_EXIT_WATERFALL = 179 + +--- @type integer +CUTSCENE_GRAND_STAR = 174 + +--- @type integer +CUTSCENE_INTRO_PEACH = 142 + +--- @type integer +CUTSCENE_KEY_DANCE = 167 + +--- @type integer +CUTSCENE_LOOP = 0x7FFF + +--- @type integer +CUTSCENE_NONPAINTING_DEATH = 170 + +--- @type integer +CUTSCENE_PREPARE_CANNON = 150 + +--- @type integer +CUTSCENE_QUICKSAND_DEATH = 155 + +--- @type integer +CUTSCENE_RACE_DIALOG = 163 + +--- @type integer +CUTSCENE_READ_MESSAGE = 171 + +--- @type integer +CUTSCENE_RED_COIN_STAR_SPAWN = 176 + +--- @type integer +CUTSCENE_SLIDING_DOORS_OPEN = 149 + +--- @type integer +CUTSCENE_SSL_PYRAMID_EXPLODE = 168 + +--- @type integer +CUTSCENE_STANDING_DEATH = 152 + +--- @type integer +CUTSCENE_STAR_SPAWN = 173 + +--- @type integer +CUTSCENE_STOP = 0x8000 + +--- @type integer +CUTSCENE_SUFFOCATION_DEATH = 156 + +--- @type integer +CUTSCENE_UNLOCK_KEY_DOOR = 151 + +--- @type integer +CUTSCENE_UNUSED_EXIT = 147 + +--- @type integer +CUTSCENE_WATER_DEATH = 159 + +--- @type integer +DOOR_DEFAULT = 0 + +--- @type integer +DOOR_ENTER_LOBBY = 2 + +--- @type integer +DOOR_LEAVING_SPECIAL = 1 + +--- @type integer +HAND_CAM_SHAKE_CUTSCENE = 1 + +--- @type integer +HAND_CAM_SHAKE_HANG_OWL = 3 + +--- @type integer +HAND_CAM_SHAKE_HIGH = 4 + +--- @type integer +HAND_CAM_SHAKE_LOW = 6 + +--- @type integer +HAND_CAM_SHAKE_OFF = 0 + +--- @type integer +HAND_CAM_SHAKE_STAR_DANCE = 5 + +--- @type integer +HAND_CAM_SHAKE_UNUSED = 2 + +--- @type integer +SHAKE_ATTACK = 1 + +--- @type integer +SHAKE_ENV_BOWSER_JUMP = 3 + +--- @type integer +SHAKE_ENV_BOWSER_THROW_BOUNCE = 2 + +--- @type integer +SHAKE_ENV_EXPLOSION = 1 + +--- @type integer +SHAKE_ENV_FALLING_BITS_PLAT = 10 + +--- @type integer +SHAKE_ENV_JRB_SHIP_DRAIN = 9 + +--- @type integer +SHAKE_ENV_PYRAMID_EXPLODE = 8 + +--- @type integer +SHAKE_ENV_UNUSED_5 = 5 + +--- @type integer +SHAKE_ENV_UNUSED_6 = 6 + +--- @type integer +SHAKE_ENV_UNUSED_7 = 7 + +--- @type integer +SHAKE_FALL_DAMAGE = 9 + +--- @type integer +SHAKE_FOV_LARGE = 4 + +--- @type integer +SHAKE_FOV_MEDIUM = 3 + +--- @type integer +SHAKE_FOV_SMALL = 1 + +--- @type integer +SHAKE_FOV_UNUSED = 2 + +--- @type integer +SHAKE_GROUND_POUND = 2 + +--- @type integer +SHAKE_HIT_FROM_BELOW = 8 + +--- @type integer +SHAKE_LARGE_DAMAGE = 5 + +--- @type integer +SHAKE_MED_DAMAGE = 4 + +--- @type integer +SHAKE_POS_BOWLING_BALL = 4 + +--- @type integer +SHAKE_POS_LARGE = 3 + +--- @type integer +SHAKE_POS_MEDIUM = 2 + +--- @type integer +SHAKE_POS_SMALL = 1 + +--- @type integer +SHAKE_SHOCK = 10 + +--- @type integer +SHAKE_SMALL_DAMAGE = 3 + +--- @type integer +PALETTE_MAX = 24 + +--- @class CharacterSound + +--- @type CharacterSound +CHAR_SOUND_YAH_WAH_HOO = 0 + +--- @type CharacterSound +CHAR_SOUND_HOOHOO = 1 + +--- @type CharacterSound +CHAR_SOUND_YAHOO = 2 + +--- @type CharacterSound +CHAR_SOUND_UH = 3 + +--- @type CharacterSound +CHAR_SOUND_HRMM = 4 + +--- @type CharacterSound +CHAR_SOUND_WAH2 = 5 + +--- @type CharacterSound +CHAR_SOUND_WHOA = 6 + +--- @type CharacterSound +CHAR_SOUND_EEUH = 7 + +--- @type CharacterSound +CHAR_SOUND_ATTACKED = 8 + +--- @type CharacterSound +CHAR_SOUND_OOOF = 9 + +--- @type CharacterSound +CHAR_SOUND_OOOF2 = 10 + +--- @type CharacterSound +CHAR_SOUND_HERE_WE_GO = 11 + +--- @type CharacterSound +CHAR_SOUND_YAWNING = 12 + +--- @type CharacterSound +CHAR_SOUND_SNORING1 = 13 + +--- @type CharacterSound +CHAR_SOUND_SNORING2 = 14 + +--- @type CharacterSound +CHAR_SOUND_WAAAOOOW = 15 + +--- @type CharacterSound +CHAR_SOUND_HAHA = 16 + +--- @type CharacterSound +CHAR_SOUND_HAHA_2 = 17 + +--- @type CharacterSound +CHAR_SOUND_UH2 = 18 + +--- @type CharacterSound +CHAR_SOUND_UH2_2 = 19 + +--- @type CharacterSound +CHAR_SOUND_ON_FIRE = 20 + +--- @type CharacterSound +CHAR_SOUND_DYING = 21 + +--- @type CharacterSound +CHAR_SOUND_PANTING_COLD = 22 + +--- @type CharacterSound +CHAR_SOUND_PANTING = 23 + +--- @type CharacterSound +CHAR_SOUND_COUGHING1 = 24 + +--- @type CharacterSound +CHAR_SOUND_COUGHING2 = 25 + +--- @type CharacterSound +CHAR_SOUND_COUGHING3 = 26 + +--- @type CharacterSound +CHAR_SOUND_PUNCH_YAH = 27 + +--- @type CharacterSound +CHAR_SOUND_PUNCH_HOO = 28 + +--- @type CharacterSound +CHAR_SOUND_MAMA_MIA = 29 + +--- @type CharacterSound +CHAR_SOUND_GROUND_POUND_WAH = 30 + +--- @type CharacterSound +CHAR_SOUND_DROWNING = 31 + +--- @type CharacterSound +CHAR_SOUND_PUNCH_WAH = 32 + +--- @type CharacterSound +CHAR_SOUND_YAHOO_WAHA_YIPPEE = 33 + +--- @type CharacterSound +CHAR_SOUND_DOH = 34 + +--- @type CharacterSound +CHAR_SOUND_GAME_OVER = 35 + +--- @type CharacterSound +CHAR_SOUND_HELLO = 36 + +--- @type CharacterSound +CHAR_SOUND_PRESS_START_TO_PLAY = 37 + +--- @type CharacterSound +CHAR_SOUND_TWIRL_BOUNCE = 38 + +--- @type CharacterSound +CHAR_SOUND_SNORING3 = 39 + +--- @type CharacterSound +CHAR_SOUND_SO_LONGA_BOWSER = 40 + +--- @type CharacterSound +CHAR_SOUND_IMA_TIRED = 41 + +--- @type CharacterSound +CHAR_SOUND_MAX = 42 + +--- @class CharacterType + +--- @type CharacterType +CT_MARIO = 0 + +--- @type CharacterType +CT_LUIGI = 1 + +--- @type CharacterType +CT_TOAD = 2 + +--- @type CharacterType +CT_WALUIGI = 3 + +--- @type CharacterType +CT_WARIO = 4 + +--- @type CharacterType +CT_MAX = 5 + +--- @class DjuiFontType + +--- @type DjuiFontType +FONT_NORMAL = 0 + +--- @type DjuiFontType +FONT_MENU = 1 + +--- @type DjuiFontType +FONT_HUD = 2 + +--- @type DjuiFontType +FONT_COUNT = 3 + +--- @class HudUtilsResolution + +--- @type HudUtilsResolution +RESOLUTION_DJUI = 0 + +--- @type HudUtilsResolution +RESOLUTION_N64 = 1 + +--- @type HudUtilsResolution +RESOLUTION_COUNT = 2 + +--- @type integer +GEO_CONTEXT_AREA_INIT = 4 + +--- @type integer +GEO_CONTEXT_AREA_LOAD = 3 + +--- @type integer +GEO_CONTEXT_AREA_UNLOAD = 2 + +--- @type integer +GEO_CONTEXT_CREATE = 0 + +--- @type integer +GEO_CONTEXT_HELD_OBJ = 5 + +--- @type integer +GEO_CONTEXT_RENDER = 1 + +--- @type integer +GFX_NUM_MASTER_LISTS = 8 + +--- @type integer +GRAPH_NODE_TYPE_400 = 0x400 + +--- @type integer +GRAPH_NODE_TYPE_ANIMATED_PART = 0x019 + +--- @type integer +GRAPH_NODE_TYPE_BACKGROUND = (0x02C | GRAPH_NODE_TYPE_FUNCTIONAL) + +--- @type integer +GRAPH_NODE_TYPE_BILLBOARD = 0x01A + +--- @type integer +GRAPH_NODE_TYPE_CAMERA = (0x014 | GRAPH_NODE_TYPE_FUNCTIONAL) + +--- @type integer +GRAPH_NODE_TYPE_CULLING_RADIUS = 0x02F + +--- @type integer +GRAPH_NODE_TYPE_DISPLAY_LIST = 0x01B + +--- @type integer +GRAPH_NODE_TYPE_FUNCTIONAL = 0x100 + +--- @type integer +GRAPH_NODE_TYPE_GENERATED_LIST = (0x02A | GRAPH_NODE_TYPE_FUNCTIONAL) + +--- @type integer +GRAPH_NODE_TYPE_HELD_OBJ = (0x02E | GRAPH_NODE_TYPE_FUNCTIONAL) + +--- @type integer +GRAPH_NODE_TYPE_LEVEL_OF_DETAIL = 0x00B + +--- @type integer +GRAPH_NODE_TYPE_MASTER_LIST = 0x004 + +--- @type integer +GRAPH_NODE_TYPE_OBJECT = 0x018 + +--- @type integer +GRAPH_NODE_TYPE_OBJECT_PARENT = 0x029 + +--- @type integer +GRAPH_NODE_TYPE_ORTHO_PROJECTION = 0x002 + +--- @type integer +GRAPH_NODE_TYPE_PERSPECTIVE = (0x003 | GRAPH_NODE_TYPE_FUNCTIONAL) + +--- @type integer +GRAPH_NODE_TYPE_ROOT = 0x001 + +--- @type integer +GRAPH_NODE_TYPE_ROTATION = 0x017 + +--- @type integer +GRAPH_NODE_TYPE_SCALE = 0x01C + +--- @type integer +GRAPH_NODE_TYPE_SHADOW = 0x028 + +--- @type integer +GRAPH_NODE_TYPE_START = 0x00A + +--- @type integer +GRAPH_NODE_TYPE_SWITCH_CASE = (0x00C | GRAPH_NODE_TYPE_FUNCTIONAL) + +--- @type integer +GRAPH_NODE_TYPE_TRANSLATION = 0x016 + +--- @type integer +GRAPH_NODE_TYPE_TRANSLATION_ROTATION = 0x015 + +--- @type integer +GRAPH_RENDER_ACTIVE = (1 << 0) + +--- @type integer +GRAPH_RENDER_BILLBOARD = (1 << 2) + +--- @type integer +GRAPH_RENDER_CHILDREN_FIRST = (1 << 1) + +--- @type integer +GRAPH_RENDER_CYLBOARD = (1 << 6) + +--- @type integer +GRAPH_RENDER_HAS_ANIMATION = (1 << 5) + +--- @type integer +GRAPH_RENDER_INVISIBLE = (1 << 4) + +--- @type integer +GRAPH_RENDER_PLAYER = (1 << 7) + +--- @type integer +GRAPH_RENDER_Z_BUFFER = (1 << 3) + +--- @type integer +INT_ANY_ATTACK = (INT_GROUND_POUND_OR_TWIRL | INT_PUNCH | INT_KICK | INT_TRIP | INT_SLIDE_KICK | INT_FAST_ATTACK_OR_SHELL | INT_HIT_FROM_ABOVE | INT_HIT_FROM_BELOW) + +--- @type integer +INT_ATTACK_NOT_FROM_BELOW = (INT_GROUND_POUND_OR_TWIRL | INT_PUNCH | INT_KICK | INT_TRIP | INT_SLIDE_KICK | INT_FAST_ATTACK_OR_SHELL | INT_HIT_FROM_ABOVE) + +--- @type integer +INT_ATTACK_NOT_WEAK_FROM_ABOVE = (INT_GROUND_POUND_OR_TWIRL | INT_PUNCH | INT_KICK | INT_TRIP | INT_HIT_FROM_BELOW) + +--- @type integer +INT_ATTACK_SLIDE = (INT_SLIDE_KICK | INT_FAST_ATTACK_OR_SHELL) + +--- @class InteractionFlag + +--- @type InteractionFlag +INT_GROUND_POUND_OR_TWIRL = (1 << 0) + +--- @type InteractionFlag +INT_PUNCH = (1 << 1) + +--- @type InteractionFlag +INT_KICK = (1 << 2) + +--- @type InteractionFlag +INT_TRIP = (1 << 3) + +--- @type InteractionFlag +INT_SLIDE_KICK = (1 << 4) + +--- @type InteractionFlag +INT_FAST_ATTACK_OR_SHELL = (1 << 5) + +--- @type InteractionFlag +INT_HIT_FROM_ABOVE = (1 << 6) + +--- @type InteractionFlag +INT_HIT_FROM_BELOW = (1 << 7) + +--- @type integer +ATTACK_FAST_ATTACK = 5 + +--- @type integer +ATTACK_FROM_ABOVE = 3 + +--- @type integer +ATTACK_FROM_BELOW = 6 + +--- @type integer +ATTACK_GROUND_POUND_OR_TWIRL = 4 + +--- @type integer +ATTACK_KICK_OR_TRIP = 2 + +--- @type integer +ATTACK_PUNCH = 1 + +--- @type integer +INT_STATUS_ATTACKED_MARIO = (1 << 13) + +--- @type integer +INT_STATUS_ATTACK_MASK = 0x000000FF + +--- @type integer +INT_STATUS_GRABBED_MARIO = (1 << 11) + +--- @type integer +INT_STATUS_HIT_BY_SHOCKWAVE = (1 << 4) + +--- @type integer +INT_STATUS_HIT_MINE = (1 << 21) + +--- @type integer +INT_STATUS_HOOT_GRABBED_BY_MARIO = (1 << 0) + +--- @type integer +INT_STATUS_INTERACTED = (1 << 15) + +--- @type integer +INT_STATUS_MARIO_DROP_OBJECT = (1 << 3) + +--- @type integer +INT_STATUS_MARIO_UNK1 = (1 << 1) + +--- @type integer +INT_STATUS_MARIO_UNK2 = (1 << 2) + +--- @type integer +INT_STATUS_MARIO_UNK5 = (1 << 5) + +--- @type integer +INT_STATUS_MARIO_UNK6 = (1 << 6) + +--- @type integer +INT_STATUS_MARIO_UNK7 = (1 << 7) + +--- @type integer +INT_STATUS_STOP_RIDING = (1 << 22) + +--- @type integer +INT_STATUS_TOUCHED_BOB_OMB = (1 << 23) + +--- @type integer +INT_STATUS_TRAP_TURN = (1 << 20) + +--- @type integer +INT_STATUS_WAS_ATTACKED = (1 << 14) + +--- @type integer +INT_SUBTYPE_BIG_KNOCKBACK = 0x00000008 + +--- @type integer +INT_SUBTYPE_DELAY_INVINCIBILITY = 0x00000002 + +--- @type integer +INT_SUBTYPE_DROP_IMMEDIATELY = 0x00000040 + +--- @type integer +INT_SUBTYPE_EATS_MARIO = 0x00002000 + +--- @type integer +INT_SUBTYPE_FADING_WARP = 0x00000001 + +--- @type integer +INT_SUBTYPE_GRABS_MARIO = 0x00000004 + +--- @type integer +INT_SUBTYPE_GRAND_STAR = 0x00000800 + +--- @type integer +INT_SUBTYPE_HOLDABLE_NPC = 0x00000010 + +--- @type integer +INT_SUBTYPE_KICKABLE = 0x00000100 + +--- @type integer +INT_SUBTYPE_NOT_GRABBABLE = 0x00000200 + +--- @type integer +INT_SUBTYPE_NO_EXIT = 0x00000400 + +--- @type integer +INT_SUBTYPE_NPC = 0x00004000 + +--- @type integer +INT_SUBTYPE_SIGN = 0x00001000 + +--- @type integer +INT_SUBTYPE_STAR_DOOR = 0x00000020 + +--- @type integer +INT_SUBTYPE_TWIRL_BOUNCE = 0x00000080 + +--- @class InteractionType + +--- @type InteractionType +INTERACT_HOOT = (1 << 0) + +--- @type InteractionType +INTERACT_GRABBABLE = (1 << 1) + +--- @type InteractionType +INTERACT_DOOR = (1 << 2) + +--- @type InteractionType +INTERACT_DAMAGE = (1 << 3) + +--- @type InteractionType +INTERACT_COIN = (1 << 4) + +--- @type InteractionType +INTERACT_CAP = (1 << 5) + +--- @type InteractionType +INTERACT_POLE = (1 << 6) + +--- @type InteractionType +INTERACT_KOOPA = (1 << 7) + +--- @type InteractionType +INTERACT_UNKNOWN_08 = (1 << 8) + +--- @type InteractionType +INTERACT_BREAKABLE = (1 << 9) + +--- @type InteractionType +INTERACT_STRONG_WIND = (1 << 10) + +--- @type InteractionType +INTERACT_WARP_DOOR = (1 << 11) + +--- @type InteractionType +INTERACT_STAR_OR_KEY = (1 << 12) + +--- @type InteractionType +INTERACT_WARP = (1 << 13) + +--- @type InteractionType +INTERACT_CANNON_BASE = (1 << 14) + +--- @type InteractionType +INTERACT_BOUNCE_TOP = (1 << 15) + +--- @type InteractionType +INTERACT_WATER_RING = (1 << 16) + +--- @type InteractionType +INTERACT_BULLY = (1 << 17) + +--- @type InteractionType +INTERACT_FLAME = (1 << 18) + +--- @type InteractionType +INTERACT_KOOPA_SHELL = (1 << 19) + +--- @type InteractionType +INTERACT_BOUNCE_TOP2 = (1 << 20) + +--- @type InteractionType +INTERACT_MR_BLIZZARD = (1 << 21) + +--- @type InteractionType +INTERACT_HIT_FROM_BELOW = (1 << 22) + +--- @type InteractionType +INTERACT_TEXT = (1 << 23) + +--- @type InteractionType +INTERACT_TORNADO = (1 << 24) + +--- @type InteractionType +INTERACT_WHIRLPOOL = (1 << 25) + +--- @type InteractionType +INTERACT_CLAM_OR_BUBBA = (1 << 26) + +--- @type InteractionType +INTERACT_BBH_ENTRANCE = (1 << 27) + +--- @type InteractionType +INTERACT_SNUFIT_BULLET = (1 << 28) + +--- @type InteractionType +INTERACT_SHOCK = (1 << 29) + +--- @type InteractionType +INTERACT_IGLOO_BARRIER = (1 << 30) + +--- @type InteractionType +INTERACT_PLAYER = (1 << 31) + +--- @class LevelNum + +--- @type LevelNum +LEVEL_NONE = 0 + +--- @type LevelNum +LEVEL_UNKNOWN_1 = 1 + +--- @type LevelNum +LEVEL_UNKNOWN_2 = 2 + +--- @type LevelNum +LEVEL_UNKNOWN_3 = 3 + +--- @type LevelNum +LEVEL_BBH = 4 + +--- @type LevelNum +LEVEL_CCM = 5 + +--- @type LevelNum +LEVEL_CASTLE = 6 + +--- @type LevelNum +LEVEL_HMC = 7 + +--- @type LevelNum +LEVEL_SSL = 8 + +--- @type LevelNum +LEVEL_BOB = 9 + +--- @type LevelNum +LEVEL_SL = 10 + +--- @type LevelNum +LEVEL_WDW = 11 + +--- @type LevelNum +LEVEL_JRB = 12 + +--- @type LevelNum +LEVEL_THI = 13 + +--- @type LevelNum +LEVEL_TTC = 14 + +--- @type LevelNum +LEVEL_RR = 15 + +--- @type LevelNum +LEVEL_CASTLE_GROUNDS = 16 + +--- @type LevelNum +LEVEL_BITDW = 17 + +--- @type LevelNum +LEVEL_VCUTM = 18 + +--- @type LevelNum +LEVEL_BITFS = 19 + +--- @type LevelNum +LEVEL_SA = 20 + +--- @type LevelNum +LEVEL_BITS = 21 + +--- @type LevelNum +LEVEL_LLL = 22 + +--- @type LevelNum +LEVEL_DDD = 23 + +--- @type LevelNum +LEVEL_WF = 24 + +--- @type LevelNum +LEVEL_ENDING = 25 + +--- @type LevelNum +LEVEL_CASTLE_COURTYARD = 26 + +--- @type LevelNum +LEVEL_PSS = 27 + +--- @type LevelNum +LEVEL_COTMC = 28 + +--- @type LevelNum +LEVEL_TOTWC = 29 + +--- @type LevelNum +LEVEL_BOWSER_1 = 30 + +--- @type LevelNum +LEVEL_WMOTR = 31 + +--- @type LevelNum +LEVEL_UNKNOWN_32 = 32 + +--- @type LevelNum +LEVEL_BOWSER_2 = 33 + +--- @type LevelNum +LEVEL_BOWSER_3 = 34 + +--- @type LevelNum +LEVEL_UNKNOWN_35 = 35 + +--- @type LevelNum +LEVEL_TTM = 36 + +--- @type LevelNum +LEVEL_UNKNOWN_37 = 37 + +--- @type LevelNum +LEVEL_UNKNOWN_38 = 38 + +--- @type LevelNum +LEVEL_COUNT = 39 + +--- @class MarioAnimID + +--- @type MarioAnimID +MARIO_ANIM_SLOW_LEDGE_GRAB = 0 + +--- @type MarioAnimID +MARIO_ANIM_FALL_OVER_BACKWARDS = 1 + +--- @type MarioAnimID +MARIO_ANIM_BACKWARD_AIR_KB = 2 + +--- @type MarioAnimID +MARIO_ANIM_DYING_ON_BACK = 3 + +--- @type MarioAnimID +MARIO_ANIM_BACKFLIP = 4 + +--- @type MarioAnimID +MARIO_ANIM_CLIMB_UP_POLE = 5 + +--- @type MarioAnimID +MARIO_ANIM_GRAB_POLE_SHORT = 6 + +--- @type MarioAnimID +MARIO_ANIM_GRAB_POLE_SWING_PART1 = 7 + +--- @type MarioAnimID +MARIO_ANIM_GRAB_POLE_SWING_PART2 = 8 + +--- @type MarioAnimID +MARIO_ANIM_HANDSTAND_IDLE = 9 + +--- @type MarioAnimID +MARIO_ANIM_HANDSTAND_JUMP = 10 + +--- @type MarioAnimID +MARIO_ANIM_START_HANDSTAND = 11 + +--- @type MarioAnimID +MARIO_ANIM_RETURN_FROM_HANDSTAND = 12 + +--- @type MarioAnimID +MARIO_ANIM_IDLE_ON_POLE = 13 + +--- @type MarioAnimID +MARIO_ANIM_A_POSE = 14 + +--- @type MarioAnimID +MARIO_ANIM_SKID_ON_GROUND = 15 + +--- @type MarioAnimID +MARIO_ANIM_STOP_SKID = 16 + +--- @type MarioAnimID +MARIO_ANIM_CROUCH_FROM_FAST_LONGJUMP = 17 + +--- @type MarioAnimID +MARIO_ANIM_CROUCH_FROM_SLOW_LONGJUMP = 18 + +--- @type MarioAnimID +MARIO_ANIM_FAST_LONGJUMP = 19 + +--- @type MarioAnimID +MARIO_ANIM_SLOW_LONGJUMP = 20 + +--- @type MarioAnimID +MARIO_ANIM_AIRBORNE_ON_STOMACH = 21 + +--- @type MarioAnimID +MARIO_ANIM_WALK_WITH_LIGHT_OBJ = 22 + +--- @type MarioAnimID +MARIO_ANIM_RUN_WITH_LIGHT_OBJ = 23 + +--- @type MarioAnimID +MARIO_ANIM_SLOW_WALK_WITH_LIGHT_OBJ = 24 + +--- @type MarioAnimID +MARIO_ANIM_SHIVERING_WARMING_HAND = 25 + +--- @type MarioAnimID +MARIO_ANIM_SHIVERING_RETURN_TO_IDLE = 26 + +--- @type MarioAnimID +MARIO_ANIM_SHIVERING = 27 + +--- @type MarioAnimID +MARIO_ANIM_CLIMB_DOWN_LEDGE = 28 + +--- @type MarioAnimID +MARIO_ANIM_CREDITS_WAVING = 29 + +--- @type MarioAnimID +MARIO_ANIM_CREDITS_LOOK_UP = 30 + +--- @type MarioAnimID +MARIO_ANIM_CREDITS_RETURN_FROM_LOOK_UP = 31 + +--- @type MarioAnimID +MARIO_ANIM_CREDITS_RAISE_HAND = 32 + +--- @type MarioAnimID +MARIO_ANIM_CREDITS_LOWER_HAND = 33 + +--- @type MarioAnimID +MARIO_ANIM_CREDITS_TAKE_OFF_CAP = 34 + +--- @type MarioAnimID +MARIO_ANIM_CREDITS_START_WALK_LOOK_UP = 35 + +--- @type MarioAnimID +MARIO_ANIM_CREDITS_LOOK_BACK_THEN_RUN = 36 + +--- @type MarioAnimID +MARIO_ANIM_FINAL_BOWSER_RAISE_HAND_SPIN = 37 + +--- @type MarioAnimID +MARIO_ANIM_FINAL_BOWSER_WING_CAP_TAKE_OFF = 38 + +--- @type MarioAnimID +MARIO_ANIM_CREDITS_PEACE_SIGN = 39 + +--- @type MarioAnimID +MARIO_ANIM_STAND_UP_FROM_LAVA_BOOST = 40 + +--- @type MarioAnimID +MARIO_ANIM_FIRE_LAVA_BURN = 41 + +--- @type MarioAnimID +MARIO_ANIM_WING_CAP_FLY = 42 + +--- @type MarioAnimID +MARIO_ANIM_HANG_ON_OWL = 43 + +--- @type MarioAnimID +MARIO_ANIM_LAND_ON_STOMACH = 44 + +--- @type MarioAnimID +MARIO_ANIM_AIR_FORWARD_KB = 45 + +--- @type MarioAnimID +MARIO_ANIM_DYING_ON_STOMACH = 46 + +--- @type MarioAnimID +MARIO_ANIM_SUFFOCATING = 47 + +--- @type MarioAnimID +MARIO_ANIM_COUGHING = 48 + +--- @type MarioAnimID +MARIO_ANIM_THROW_CATCH_KEY = 49 + +--- @type MarioAnimID +MARIO_ANIM_DYING_FALL_OVER = 50 + +--- @type MarioAnimID +MARIO_ANIM_IDLE_ON_LEDGE = 51 + +--- @type MarioAnimID +MARIO_ANIM_FAST_LEDGE_GRAB = 52 + +--- @type MarioAnimID +MARIO_ANIM_HANG_ON_CEILING = 53 + +--- @type MarioAnimID +MARIO_ANIM_PUT_CAP_ON = 54 + +--- @type MarioAnimID +MARIO_ANIM_TAKE_CAP_OFF_THEN_ON = 55 + +--- @type MarioAnimID +MARIO_ANIM_QUICKLY_PUT_CAP_ON = 56 + +--- @type MarioAnimID +MARIO_ANIM_HEAD_STUCK_IN_GROUND = 57 + +--- @type MarioAnimID +MARIO_ANIM_GROUND_POUND_LANDING = 58 + +--- @type MarioAnimID +MARIO_ANIM_TRIPLE_JUMP_GROUND_POUND = 59 + +--- @type MarioAnimID +MARIO_ANIM_START_GROUND_POUND = 60 + +--- @type MarioAnimID +MARIO_ANIM_GROUND_POUND = 61 + +--- @type MarioAnimID +MARIO_ANIM_BOTTOM_STUCK_IN_GROUND = 62 + +--- @type MarioAnimID +MARIO_ANIM_IDLE_WITH_LIGHT_OBJ = 63 + +--- @type MarioAnimID +MARIO_ANIM_JUMP_LAND_WITH_LIGHT_OBJ = 64 + +--- @type MarioAnimID +MARIO_ANIM_JUMP_WITH_LIGHT_OBJ = 65 + +--- @type MarioAnimID +MARIO_ANIM_FALL_LAND_WITH_LIGHT_OBJ = 66 + +--- @type MarioAnimID +MARIO_ANIM_FALL_WITH_LIGHT_OBJ = 67 + +--- @type MarioAnimID +MARIO_ANIM_FALL_FROM_SLIDING_WITH_LIGHT_OBJ = 68 + +--- @type MarioAnimID +MARIO_ANIM_SLIDING_ON_BOTTOM_WITH_LIGHT_OBJ = 69 + +--- @type MarioAnimID +MARIO_ANIM_STAND_UP_FROM_SLIDING_WITH_LIGHT_OBJ = 70 + +--- @type MarioAnimID +MARIO_ANIM_RIDING_SHELL = 71 + +--- @type MarioAnimID +MARIO_ANIM_WALKING = 72 + +--- @type MarioAnimID +MARIO_ANIM_FORWARD_FLIP = 73 + +--- @type MarioAnimID +MARIO_ANIM_JUMP_RIDING_SHELL = 74 + +--- @type MarioAnimID +MARIO_ANIM_LAND_FROM_DOUBLE_JUMP = 75 + +--- @type MarioAnimID +MARIO_ANIM_DOUBLE_JUMP_FALL = 76 + +--- @type MarioAnimID +MARIO_ANIM_SINGLE_JUMP = 77 + +--- @type MarioAnimID +MARIO_ANIM_LAND_FROM_SINGLE_JUMP = 78 + +--- @type MarioAnimID +MARIO_ANIM_AIR_KICK = 79 + +--- @type MarioAnimID +MARIO_ANIM_DOUBLE_JUMP_RISE = 80 + +--- @type MarioAnimID +MARIO_ANIM_START_FORWARD_SPINNING = 81 + +--- @type MarioAnimID +MARIO_ANIM_THROW_LIGHT_OBJECT = 82 + +--- @type MarioAnimID +MARIO_ANIM_FALL_FROM_SLIDE_KICK = 83 + +--- @type MarioAnimID +MARIO_ANIM_BEND_KNESS_RIDING_SHELL = 84 + +--- @type MarioAnimID +MARIO_ANIM_LEGS_STUCK_IN_GROUND = 85 + +--- @type MarioAnimID +MARIO_ANIM_GENERAL_FALL = 86 + +--- @type MarioAnimID +MARIO_ANIM_GENERAL_LAND = 87 + +--- @type MarioAnimID +MARIO_ANIM_BEING_GRABBED = 88 + +--- @type MarioAnimID +MARIO_ANIM_GRAB_HEAVY_OBJECT = 89 + +--- @type MarioAnimID +MARIO_ANIM_SLOW_LAND_FROM_DIVE = 90 + +--- @type MarioAnimID +MARIO_ANIM_FLY_FROM_CANNON = 91 + +--- @type MarioAnimID +MARIO_ANIM_MOVE_ON_WIRE_NET_RIGHT = 92 + +--- @type MarioAnimID +MARIO_ANIM_MOVE_ON_WIRE_NET_LEFT = 93 + +--- @type MarioAnimID +MARIO_ANIM_MISSING_CAP = 94 + +--- @type MarioAnimID +MARIO_ANIM_PULL_DOOR_WALK_IN = 95 + +--- @type MarioAnimID +MARIO_ANIM_PUSH_DOOR_WALK_IN = 96 + +--- @type MarioAnimID +MARIO_ANIM_UNLOCK_DOOR = 97 + +--- @type MarioAnimID +MARIO_ANIM_START_REACH_POCKET = 98 + +--- @type MarioAnimID +MARIO_ANIM_REACH_POCKET = 99 + +--- @type MarioAnimID +MARIO_ANIM_STOP_REACH_POCKET = 100 + +--- @type MarioAnimID +MARIO_ANIM_GROUND_THROW = 101 + +--- @type MarioAnimID +MARIO_ANIM_GROUND_KICK = 102 + +--- @type MarioAnimID +MARIO_ANIM_FIRST_PUNCH = 103 + +--- @type MarioAnimID +MARIO_ANIM_SECOND_PUNCH = 104 + +--- @type MarioAnimID +MARIO_ANIM_FIRST_PUNCH_FAST = 105 + +--- @type MarioAnimID +MARIO_ANIM_SECOND_PUNCH_FAST = 106 + +--- @type MarioAnimID +MARIO_ANIM_PICK_UP_LIGHT_OBJ = 107 + +--- @type MarioAnimID +MARIO_ANIM_PUSHING = 108 + +--- @type MarioAnimID +MARIO_ANIM_START_RIDING_SHELL = 109 + +--- @type MarioAnimID +MARIO_ANIM_PLACE_LIGHT_OBJ = 110 + +--- @type MarioAnimID +MARIO_ANIM_FORWARD_SPINNING = 111 + +--- @type MarioAnimID +MARIO_ANIM_BACKWARD_SPINNING = 112 + +--- @type MarioAnimID +MARIO_ANIM_BREAKDANCE = 113 + +--- @type MarioAnimID +MARIO_ANIM_RUNNING = 114 + +--- @type MarioAnimID +MARIO_ANIM_RUNNING_UNUSED = 115 + +--- @type MarioAnimID +MARIO_ANIM_SOFT_BACK_KB = 116 + +--- @type MarioAnimID +MARIO_ANIM_SOFT_FRONT_KB = 117 + +--- @type MarioAnimID +MARIO_ANIM_DYING_IN_QUICKSAND = 118 + +--- @type MarioAnimID +MARIO_ANIM_IDLE_IN_QUICKSAND = 119 + +--- @type MarioAnimID +MARIO_ANIM_MOVE_IN_QUICKSAND = 120 + +--- @type MarioAnimID +MARIO_ANIM_ELECTROCUTION = 121 + +--- @type MarioAnimID +MARIO_ANIM_SHOCKED = 122 + +--- @type MarioAnimID +MARIO_ANIM_BACKWARD_KB = 123 + +--- @type MarioAnimID +MARIO_ANIM_FORWARD_KB = 124 + +--- @type MarioAnimID +MARIO_ANIM_IDLE_HEAVY_OBJ = 125 + +--- @type MarioAnimID +MARIO_ANIM_STAND_AGAINST_WALL = 126 + +--- @type MarioAnimID +MARIO_ANIM_SIDESTEP_LEFT = 127 + +--- @type MarioAnimID +MARIO_ANIM_SIDESTEP_RIGHT = 128 + +--- @type MarioAnimID +MARIO_ANIM_START_SLEEP_IDLE = 129 + +--- @type MarioAnimID +MARIO_ANIM_START_SLEEP_SCRATCH = 130 + +--- @type MarioAnimID +MARIO_ANIM_START_SLEEP_YAWN = 131 + +--- @type MarioAnimID +MARIO_ANIM_START_SLEEP_SITTING = 132 + +--- @type MarioAnimID +MARIO_ANIM_SLEEP_IDLE = 133 + +--- @type MarioAnimID +MARIO_ANIM_SLEEP_START_LYING = 134 + +--- @type MarioAnimID +MARIO_ANIM_SLEEP_LYING = 135 + +--- @type MarioAnimID +MARIO_ANIM_DIVE = 136 + +--- @type MarioAnimID +MARIO_ANIM_SLIDE_DIVE = 137 + +--- @type MarioAnimID +MARIO_ANIM_GROUND_BONK = 138 + +--- @type MarioAnimID +MARIO_ANIM_STOP_SLIDE_LIGHT_OBJ = 139 + +--- @type MarioAnimID +MARIO_ANIM_SLIDE_KICK = 140 + +--- @type MarioAnimID +MARIO_ANIM_CROUCH_FROM_SLIDE_KICK = 141 + +--- @type MarioAnimID +MARIO_ANIM_SLIDE_MOTIONLESS = 142 + +--- @type MarioAnimID +MARIO_ANIM_STOP_SLIDE = 143 + +--- @type MarioAnimID +MARIO_ANIM_FALL_FROM_SLIDE = 144 + +--- @type MarioAnimID +MARIO_ANIM_SLIDE = 145 + +--- @type MarioAnimID +MARIO_ANIM_TIPTOE = 146 + +--- @type MarioAnimID +MARIO_ANIM_TWIRL_LAND = 147 + +--- @type MarioAnimID +MARIO_ANIM_TWIRL = 148 + +--- @type MarioAnimID +MARIO_ANIM_START_TWIRL = 149 + +--- @type MarioAnimID +MARIO_ANIM_STOP_CROUCHING = 150 + +--- @type MarioAnimID +MARIO_ANIM_START_CROUCHING = 151 + +--- @type MarioAnimID +MARIO_ANIM_CROUCHING = 152 + +--- @type MarioAnimID +MARIO_ANIM_CRAWLING = 153 + +--- @type MarioAnimID +MARIO_ANIM_STOP_CRAWLING = 154 + +--- @type MarioAnimID +MARIO_ANIM_START_CRAWLING = 155 + +--- @type MarioAnimID +MARIO_ANIM_SUMMON_STAR = 156 + +--- @type MarioAnimID +MARIO_ANIM_RETURN_STAR_APPROACH_DOOR = 157 + +--- @type MarioAnimID +MARIO_ANIM_BACKWARDS_WATER_KB = 158 + +--- @type MarioAnimID +MARIO_ANIM_SWIM_WITH_OBJ_PART1 = 159 + +--- @type MarioAnimID +MARIO_ANIM_SWIM_WITH_OBJ_PART2 = 160 + +--- @type MarioAnimID +MARIO_ANIM_FLUTTERKICK_WITH_OBJ = 161 + +--- @type MarioAnimID +MARIO_ANIM_WATER_ACTION_END_WITH_OBJ = 162 + +--- @type MarioAnimID +MARIO_ANIM_STOP_GRAB_OBJ_WATER = 163 + +--- @type MarioAnimID +MARIO_ANIM_WATER_IDLE_WITH_OBJ = 164 + +--- @type MarioAnimID +MARIO_ANIM_DROWNING_PART1 = 165 + +--- @type MarioAnimID +MARIO_ANIM_DROWNING_PART2 = 166 + +--- @type MarioAnimID +MARIO_ANIM_WATER_DYING = 167 + +--- @type MarioAnimID +MARIO_ANIM_WATER_FORWARD_KB = 168 + +--- @type MarioAnimID +MARIO_ANIM_FALL_FROM_WATER = 169 + +--- @type MarioAnimID +MARIO_ANIM_SWIM_PART1 = 170 + +--- @type MarioAnimID +MARIO_ANIM_SWIM_PART2 = 171 + +--- @type MarioAnimID +MARIO_ANIM_FLUTTERKICK = 172 + +--- @type MarioAnimID +MARIO_ANIM_WATER_ACTION_END = 173 + +--- @type MarioAnimID +MARIO_ANIM_WATER_PICK_UP_OBJ = 174 + +--- @type MarioAnimID +MARIO_ANIM_WATER_GRAB_OBJ_PART2 = 175 + +--- @type MarioAnimID +MARIO_ANIM_WATER_GRAB_OBJ_PART1 = 176 + +--- @type MarioAnimID +MARIO_ANIM_WATER_THROW_OBJ = 177 + +--- @type MarioAnimID +MARIO_ANIM_WATER_IDLE = 178 + +--- @type MarioAnimID +MARIO_ANIM_WATER_STAR_DANCE = 179 + +--- @type MarioAnimID +MARIO_ANIM_RETURN_FROM_WATER_STAR_DANCE = 180 + +--- @type MarioAnimID +MARIO_ANIM_GRAB_BOWSER = 181 + +--- @type MarioAnimID +MARIO_ANIM_SWINGING_BOWSER = 182 + +--- @type MarioAnimID +MARIO_ANIM_RELEASE_BOWSER = 183 + +--- @type MarioAnimID +MARIO_ANIM_HOLDING_BOWSER = 184 + +--- @type MarioAnimID +MARIO_ANIM_HEAVY_THROW = 185 + +--- @type MarioAnimID +MARIO_ANIM_WALK_PANTING = 186 + +--- @type MarioAnimID +MARIO_ANIM_WALK_WITH_HEAVY_OBJ = 187 + +--- @type MarioAnimID +MARIO_ANIM_TURNING_PART1 = 188 + +--- @type MarioAnimID +MARIO_ANIM_TURNING_PART2 = 189 + +--- @type MarioAnimID +MARIO_ANIM_SLIDEFLIP_LAND = 190 + +--- @type MarioAnimID +MARIO_ANIM_SLIDEFLIP = 191 + +--- @type MarioAnimID +MARIO_ANIM_TRIPLE_JUMP_LAND = 192 + +--- @type MarioAnimID +MARIO_ANIM_TRIPLE_JUMP = 193 + +--- @type MarioAnimID +MARIO_ANIM_FIRST_PERSON = 194 + +--- @type MarioAnimID +MARIO_ANIM_IDLE_HEAD_LEFT = 195 + +--- @type MarioAnimID +MARIO_ANIM_IDLE_HEAD_RIGHT = 196 + +--- @type MarioAnimID +MARIO_ANIM_IDLE_HEAD_CENTER = 197 + +--- @type MarioAnimID +MARIO_ANIM_HANDSTAND_LEFT = 198 + +--- @type MarioAnimID +MARIO_ANIM_HANDSTAND_RIGHT = 199 + +--- @type MarioAnimID +MARIO_ANIM_WAKE_FROM_SLEEP = 200 + +--- @type MarioAnimID +MARIO_ANIM_WAKE_FROM_LYING = 201 + +--- @type MarioAnimID +MARIO_ANIM_START_TIPTOE = 202 + +--- @type MarioAnimID +MARIO_ANIM_SLIDEJUMP = 203 + +--- @type MarioAnimID +MARIO_ANIM_START_WALLKICK = 204 + +--- @type MarioAnimID +MARIO_ANIM_STAR_DANCE = 205 + +--- @type MarioAnimID +MARIO_ANIM_RETURN_FROM_STAR_DANCE = 206 + +--- @type MarioAnimID +MARIO_ANIM_FORWARD_SPINNING_FLIP = 207 + +--- @type MarioAnimID +MARIO_ANIM_TRIPLE_JUMP_FLY = 208 + +--- @class MarioCapGSCId + +--- @type MarioCapGSCId +MARIO_HAS_DEFAULT_CAP_ON = 0 + +--- @type MarioCapGSCId +MARIO_HAS_DEFAULT_CAP_OFF = 1 + +--- @type MarioCapGSCId +MARIO_HAS_WING_CAP_ON = 2 + +--- @type MarioCapGSCId +MARIO_HAS_WING_CAP_OFF = 3 + +--- @class MarioEyesGSCId + +--- @type MarioEyesGSCId +MARIO_EYES_BLINK = 0 + +--- @type MarioEyesGSCId +MARIO_EYES_OPEN = 1 + +--- @type MarioEyesGSCId +MARIO_EYES_HALF_CLOSED = 2 + +--- @type MarioEyesGSCId +MARIO_EYES_CLOSED = 3 + +--- @type MarioEyesGSCId +MARIO_EYES_LOOK_LEFT = 4 + +--- @type MarioEyesGSCId +MARIO_EYES_LOOK_RIGHT = 5 + +--- @type MarioEyesGSCId +MARIO_EYES_LOOK_UP = 6 + +--- @type MarioEyesGSCId +MARIO_EYES_LOOK_DOWN = 7 + +--- @type MarioEyesGSCId +MARIO_EYES_DEAD = 8 + +--- @class MarioGrabPosGSCId + +--- @type MarioGrabPosGSCId +GRAB_POS_NULL = 0 + +--- @type MarioGrabPosGSCId +GRAB_POS_LIGHT_OBJ = 1 + +--- @type MarioGrabPosGSCId +GRAB_POS_HEAVY_OBJ = 2 + +--- @type MarioGrabPosGSCId +GRAB_POS_BOWSER = 3 + +--- @class MarioHandGSCId + +--- @type MarioHandGSCId +MARIO_HAND_FISTS = 0 + +--- @type MarioHandGSCId +MARIO_HAND_OPEN = 1 + +--- @type MarioHandGSCId +MARIO_HAND_PEACE_SIGN = 2 + +--- @type MarioHandGSCId +MARIO_HAND_HOLDING_CAP = 3 + +--- @type MarioHandGSCId +MARIO_HAND_HOLDING_WING_CAP = 4 + +--- @type MarioHandGSCId +MARIO_HAND_RIGHT_OPEN = 5 + +--- @type integer +MAX_RX_SEQ_IDS = 16 + +--- @type integer +NETWORK_PLAYER_TIMEOUT = 10 + +--- @type integer +UNKNOWN_GLOBAL_INDEX = (-1) + +--- @type integer +UNKNOWN_LOCAL_INDEX = (-1) + +--- @type integer +UNKNOWN_NETWORK_INDEX = (-1) + +--- @class NetworkPlayerType + +--- @type NetworkPlayerType +NPT_UNKNOWN = 0 + +--- @type NetworkPlayerType +NPT_LOCAL = 1 + +--- @type NetworkPlayerType +NPT_SERVER = 2 + +--- @type NetworkPlayerType +NPT_CLIENT = 3 + +--- @type integer +ACTIVE_FLAG_ACTIVE = (1 << 0) + +--- @type integer +ACTIVE_FLAG_DEACTIVATED = 0 + +--- @type integer +ACTIVE_FLAG_DITHERED_ALPHA = (1 << 7) + +--- @type integer +ACTIVE_FLAG_FAR_AWAY = (1 << 1) + +--- @type integer +ACTIVE_FLAG_INITIATED_TIME_STOP = (1 << 5) + +--- @type integer +ACTIVE_FLAG_IN_DIFFERENT_ROOM = (1 << 3) + +--- @type integer +ACTIVE_FLAG_MOVE_THROUGH_GRATE = (1 << 6) + +--- @type integer +ACTIVE_FLAG_UNIMPORTANT = (1 << 4) + +--- @type integer +ACTIVE_FLAG_UNK10 = (1 << 10) + +--- @type integer +ACTIVE_FLAG_UNK2 = (1 << 2) + +--- @type integer +ACTIVE_FLAG_UNK8 = (1 << 8) + +--- @type integer +ACTIVE_FLAG_UNK9 = (1 << 9) + +--- @type integer +ACTIVE_PARTICLE_BREATH = (1 << 17) + +--- @type integer +ACTIVE_PARTICLE_BUBBLE = (1 << 5) + +--- @type integer +ACTIVE_PARTICLE_DIRT = (1 << 14) + +--- @type integer +ACTIVE_PARTICLE_DUST = (1 << 0) + +--- @type integer +ACTIVE_PARTICLE_FIRE = (1 << 11) + +--- @type integer +ACTIVE_PARTICLE_H_STAR = (1 << 4) + +--- @type integer +ACTIVE_PARTICLE_IDLE_WATER_WAVE = (1 << 7) + +--- @type integer +ACTIVE_PARTICLE_LEAF = (1 << 13) + +--- @type integer +ACTIVE_PARTICLE_MIST_CIRCLE = (1 << 15) + +--- @type integer +ACTIVE_PARTICLE_PLUNGE_BUBBLE = (1 << 9) + +--- @type integer +ACTIVE_PARTICLE_SHALLOW_WATER_SPLASH = (1 << 12) + +--- @type integer +ACTIVE_PARTICLE_SHALLOW_WATER_WAVE = (1 << 8) + +--- @type integer +ACTIVE_PARTICLE_SNOW = (1 << 16) + +--- @type integer +ACTIVE_PARTICLE_SPARKLES = (1 << 3) + +--- @type integer +ACTIVE_PARTICLE_TRIANGLE = (1 << 19) + +--- @type integer +ACTIVE_PARTICLE_UNUSED_1 = (1 << 1) + +--- @type integer +ACTIVE_PARTICLE_UNUSED_2 = (1 << 2) + +--- @type integer +ACTIVE_PARTICLE_V_STAR = (1 << 18) + +--- @type integer +ACTIVE_PARTICLE_WATER_SPLASH = (1 << 6) + +--- @type integer +ACTIVE_PARTICLE_WAVE_TRAIL = (1 << 10) + +--- @type integer +HELD_DROPPED = 3 + +--- @type integer +HELD_FREE = 0 + +--- @type integer +HELD_HELD = 1 + +--- @type integer +HELD_THROWN = 2 + +--- @type integer +OBJ_FLAG_0020 = (1 << 5) + +--- @type integer +OBJ_FLAG_0100 = (1 << 8) + +--- @type integer +OBJ_FLAG_1000 = (1 << 12) + +--- @type integer +OBJ_FLAG_30 = (1 << 30) + +--- @type integer +OBJ_FLAG_8000 = (1 << 15) + +--- @type integer +OBJ_FLAG_ACTIVE_FROM_AFAR = (1 << 7) + +--- @type integer +OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO = (1 << 13) + +--- @type integer +OBJ_FLAG_COMPUTE_DIST_TO_MARIO = (1 << 6) + +--- @type integer +OBJ_FLAG_HOLDABLE = (1 << 10) + +--- @type integer +OBJ_FLAG_MOVE_XZ_USING_FVEL = (1 << 1) + +--- @type integer +OBJ_FLAG_MOVE_Y_WITH_TERMINAL_VEL = (1 << 2) + +--- @type integer +OBJ_FLAG_PERSISTENT_RESPAWN = (1 << 14) + +--- @type integer +OBJ_FLAG_SET_FACE_ANGLE_TO_MOVE_ANGLE = (1 << 4) + +--- @type integer +OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW = (1 << 3) + +--- @type integer +OBJ_FLAG_SET_THROW_MATRIX_FROM_TRANSFORM = (1 << 11) + +--- @type integer +OBJ_FLAG_TRANSFORM_RELATIVE_TO_PARENT = (1 << 9) + +--- @type integer +OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE = (1 << 0) + +--- @type integer +OBJ_MOVE_ABOVE_DEATH_BARRIER = (1 << 14) + +--- @type integer +OBJ_MOVE_ABOVE_LAVA = (1 << 11) + +--- @type integer +OBJ_MOVE_AT_WATER_SURFACE = (1 << 4) + +--- @type integer +OBJ_MOVE_BOUNCE = (1 << 13) + +--- @type integer +OBJ_MOVE_ENTERED_WATER = (1 << 3) + +--- @type integer +OBJ_MOVE_HIT_EDGE = (1 << 10) + +--- @type integer +OBJ_MOVE_HIT_WALL = (1 << 9) + +--- @type integer +OBJ_MOVE_IN_AIR = (1 << 7) + +--- @type integer +OBJ_MOVE_LANDED = (1 << 0) + +--- @type integer +OBJ_MOVE_LEAVING_WATER = (1 << 12) + +--- @type integer +OBJ_MOVE_LEFT_GROUND = (1 << 2) + +--- @type integer +OBJ_MOVE_MASK_IN_WATER = ( OBJ_MOVE_ENTERED_WATER | OBJ_MOVE_AT_WATER_SURFACE | OBJ_MOVE_UNDERWATER_OFF_GROUND | OBJ_MOVE_UNDERWATER_ON_GROUND) + +--- @type integer +OBJ_MOVE_MASK_ON_GROUND = (OBJ_MOVE_LANDED | OBJ_MOVE_ON_GROUND) + +--- @type integer +OBJ_MOVE_ON_GROUND = (1 << 1) + +--- @type integer +OBJ_MOVE_OUT_SCOPE = (1 << 8) + +--- @type integer +OBJ_MOVE_UNDERWATER_OFF_GROUND = (1 << 5) + +--- @type integer +OBJ_MOVE_UNDERWATER_ON_GROUND = (1 << 6) + +--- @type integer +RESPAWN_INFO_DONT_RESPAWN = 0xFF + +--- @type integer +RESPAWN_INFO_TYPE_16 = 2 + +--- @type integer +RESPAWN_INFO_TYPE_32 = 1 + +--- @type integer +RESPAWN_INFO_TYPE_NULL = 0 + +--- @type integer +OBJECT_POOL_CAPACITY = 960 + +--- @type integer +TIME_STOP_ACTIVE = (1 << 6) + +--- @type integer +TIME_STOP_ALL_OBJECTS = (1 << 4) + +--- @type integer +TIME_STOP_DIALOG = (1 << 2) + +--- @type integer +TIME_STOP_ENABLED = (1 << 1) + +--- @type integer +TIME_STOP_MARIO_AND_DOORS = (1 << 3) + +--- @type integer +TIME_STOP_MARIO_OPENED_DOOR = (1 << 5) + +--- @type integer +TIME_STOP_UNKNOWN_0 = (1 << 0) + +--- @class ObjectList + +--- @type ObjectList +OBJ_LIST_PLAYER = 0 + +--- @type ObjectList +OBJ_LIST_UNUSED_1 = 1 + +--- @type ObjectList +OBJ_LIST_DESTRUCTIVE = 2 + +--- @type ObjectList +OBJ_LIST_UNUSED_3 = 3 + +--- @type ObjectList +OBJ_LIST_GENACTOR = 4 + +--- @type ObjectList +OBJ_LIST_PUSHABLE = 5 + +--- @type ObjectList +OBJ_LIST_LEVEL = 6 + +--- @type ObjectList +OBJ_LIST_UNUSED_7 = 7 + +--- @type ObjectList +OBJ_LIST_DEFAULT = 8 + +--- @type ObjectList +OBJ_LIST_SURFACE = 9 + +--- @type ObjectList +OBJ_LIST_POLELIKE = 10 + +--- @type ObjectList +OBJ_LIST_SPAWNER = 11 + +--- @type ObjectList +OBJ_LIST_UNIMPORTANT = 12 + +--- @type ObjectList +NUM_OBJ_LISTS = 13 + +--- @type integer +A_BUTTON = CONT_A + +--- @type integer +B_BUTTON = CONT_B + +--- @type integer +CONT_A = 0x8000 + +--- @type integer +CONT_ABSOLUTE = 0x0001 + +--- @type integer +CONT_ADDR_CRC_ER = 0x04 + +--- @type integer +CONT_B = 0x4000 + +--- @type integer +CONT_C = 0x0002 + +--- @type integer +CONT_CARD_ON = 0x01 + +--- @type integer +CONT_CARD_PULL = 0x02 + +--- @type integer +CONT_COLLISION_ERROR = 0x1 + +--- @type integer +CONT_D = 0x0004 + +--- @type integer +CONT_DOWN = 0x0400 + +--- @type integer +CONT_E = 0x0008 + +--- @type integer +CONT_EEP16K = 0x4000 + +--- @type integer +CONT_EEPROM = 0x8000 + +--- @type integer +CONT_EEPROM_BUSY = 0x80 + +--- @type integer +CONT_F = 0x0001 + +--- @type integer +CONT_FRAME_ERROR = 0x2 + +--- @type integer +CONT_G = 0x2000 + +--- @type integer +CONT_JOYPORT = 0x0004 + +--- @type integer +CONT_L = 0x0020 + +--- @type integer +CONT_LEFT = 0x0200 + +--- @type integer +CONT_NO_RESPONSE_ERROR = 0x8 + +--- @type integer +CONT_OVERRUN_ERROR = 0x4 + +--- @type integer +CONT_R = 0x0010 + +--- @type integer +CONT_RELATIVE = 0x0002 + +--- @type integer +CONT_RIGHT = 0x0100 + +--- @type integer +CONT_START = 0x1000 + +--- @type integer +CONT_TYPE_MASK = 0x1f07 + +--- @type integer +CONT_TYPE_MOUSE = 0x0002 + +--- @type integer +CONT_TYPE_NORMAL = 0x0005 + +--- @type integer +CONT_TYPE_VOICE = 0x0100 + +--- @type integer +CONT_UP = 0x0800 + +--- @type integer +CONT_X = 0x0040 + +--- @type integer +CONT_Y = 0x0080 + +--- @type integer +D_CBUTTONS = CONT_D + +--- @type integer +D_JPAD = CONT_DOWN + +--- @type integer +L_CBUTTONS = CONT_C + +--- @type integer +L_JPAD = CONT_LEFT + +--- @type integer +L_TRIG = CONT_L + +--- @type integer +R_CBUTTONS = CONT_F + +--- @type integer +R_JPAD = CONT_RIGHT + +--- @type integer +R_TRIG = CONT_R + +--- @type integer +START_BUTTON = CONT_START + +--- @type integer +U_CBUTTONS = CONT_E + +--- @type integer +U_JPAD = CONT_UP + +--- @type integer +X_BUTTON = CONT_X + +--- @type integer +Y_BUTTON = CONT_Y + +--- @type integer +Z_TRIG = CONT_G + +--- @type integer +ACT_AIR_HIT_WALL = 0x000008A7 + +--- @type integer +ACT_AIR_THROW = 0x830008AB + +--- @type integer +ACT_AIR_THROW_LAND = 0x80000A36 + +--- @type integer +ACT_BACKFLIP = 0x01000883 + +--- @type integer +ACT_BACKFLIP_LAND = 0x0400047A + +--- @type integer +ACT_BACKFLIP_LAND_STOP = 0x0800022F + +--- @type integer +ACT_BACKWARD_AIR_KB = 0x010208B0 + +--- @type integer +ACT_BACKWARD_GROUND_KB = 0x00020462 + +--- @type integer +ACT_BACKWARD_ROLLOUT = 0x010008AD + +--- @type integer +ACT_BACKWARD_WATER_KB = 0x300222C5 + +--- @type integer +ACT_BBH_ENTER_JUMP = 0x00001934 + +--- @type integer +ACT_BBH_ENTER_SPIN = 0x00001535 + +--- @type integer +ACT_BEGIN_SLIDING = 0x00000050 + +--- @type integer +ACT_BRAKING = 0x04000445 + +--- @type integer +ACT_BRAKING_STOP = 0x0C00023D + +--- @type integer +ACT_BREASTSTROKE = 0x300024D0 + +--- @type integer +ACT_BUBBLED = (0x173 | ACT_FLAG_MOVING | ACT_FLAG_PAUSE_EXIT) + +--- @type integer +ACT_BURNING_FALL = 0x010208B5 + +--- @type integer +ACT_BURNING_GROUND = 0x00020449 + +--- @type integer +ACT_BURNING_JUMP = 0x010208B4 + +--- @type integer +ACT_BUTT_SLIDE = 0x00840452 + +--- @type integer +ACT_BUTT_SLIDE_AIR = 0x0300088E + +--- @type integer +ACT_BUTT_SLIDE_STOP = 0x0C00023E + +--- @type integer +ACT_BUTT_STUCK_IN_GROUND = 0x0002033B + +--- @type integer +ACT_CAUGHT_IN_WHIRLPOOL = 0x300222E3 + +--- @type integer +ACT_CLIMBING_POLE = 0x00100343 + +--- @type integer +ACT_COUGHING = 0x0C40020A + +--- @type integer +ACT_CRAWLING = 0x04008448 + +--- @type integer +ACT_CRAZY_BOX_BOUNCE = 0x000008AE + +--- @type integer +ACT_CREDITS_CUTSCENE = 0x00001319 + +--- @type integer +ACT_CROUCHING = 0x0C008220 + +--- @type integer +ACT_CROUCH_SLIDE = 0x04808459 + +--- @type integer +ACT_DEATH_EXIT = 0x00001928 + +--- @type integer +ACT_DEATH_EXIT_LAND = 0x00020467 + +--- @type integer +ACT_DEATH_ON_BACK = 0x00021316 + +--- @type integer +ACT_DEATH_ON_STOMACH = 0x00021315 + +--- @type integer +ACT_DEBUG_FREE_MOVE = 0x0000130F + +--- @type integer +ACT_DECELERATING = 0x0400044A + +--- @type integer +ACT_DISAPPEARED = 0x00001300 + +--- @type integer +ACT_DIVE = 0x0188088A + +--- @type integer +ACT_DIVE_PICKING_UP = 0x00000385 + +--- @type integer +ACT_DIVE_SLIDE = 0x00880456 + +--- @type integer +ACT_DOUBLE_JUMP = 0x03000881 + +--- @type integer +ACT_DOUBLE_JUMP_LAND = 0x04000472 + +--- @type integer +ACT_DOUBLE_JUMP_LAND_STOP = 0x0C000231 + +--- @type integer +ACT_DROWNING = 0x300032C4 + +--- @type integer +ACT_EATEN_BY_BUBBA = 0x00021317 + +--- @type integer +ACT_ELECTROCUTION = 0x00021313 + +--- @type integer +ACT_EMERGE_FROM_PIPE = 0x00001923 + +--- @type integer +ACT_END_PEACH_CUTSCENE = 0x00001918 + +--- @type integer +ACT_END_WAVING_CUTSCENE = 0x0000131A + +--- @type integer +ACT_ENTERING_STAR_DOOR = 0x00001331 + +--- @type integer +ACT_EXIT_AIRBORNE = 0x00001926 + +--- @type integer +ACT_EXIT_LAND_SAVE_DIALOG = 0x00001327 + +--- @type integer +ACT_FALLING_DEATH_EXIT = 0x0000192A + +--- @type integer +ACT_FALLING_EXIT_AIRBORNE = 0x0000192D + +--- @type integer +ACT_FALL_AFTER_STAR_GRAB = 0x00001904 + +--- @type integer +ACT_FEET_STUCK_IN_GROUND = 0x0002033C + +--- @type integer +ACT_FINISH_TURNING_AROUND = 0x00000444 + +--- @type integer +ACT_FIRST_PERSON = 0x0C000227 + +--- @type integer +ACT_FLAG_AIR = (1 << 11) + +--- @type integer +ACT_FLAG_ALLOW_FIRST_PERSON = (1 << 26) + +--- @type integer +ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION = (1 << 24) + +--- @type integer +ACT_FLAG_ATTACKING = (1 << 23) + +--- @type integer +ACT_FLAG_BUTT_OR_STOMACH_SLIDE = (1 << 18) + +--- @type integer +ACT_FLAG_CONTROL_JUMP_HEIGHT = (1 << 25) + +--- @type integer +ACT_FLAG_DIVING = (1 << 19) + +--- @type integer +ACT_FLAG_HANGING = (1 << 21) + +--- @type integer +ACT_FLAG_IDLE = (1 << 22) + +--- @type integer +ACT_FLAG_INTANGIBLE = (1 << 12) + +--- @type integer +ACT_FLAG_INVULNERABLE = (1 << 17) + +--- @type integer +ACT_FLAG_METAL_WATER = (1 << 14) + +--- @type integer +ACT_FLAG_MOVING = (1 << 10) + +--- @type integer +ACT_FLAG_ON_POLE = (1 << 20) + +--- @type integer +ACT_FLAG_PAUSE_EXIT = (1 << 27) + +--- @type integer +ACT_FLAG_RIDING_SHELL = (1 << 16) + +--- @type integer +ACT_FLAG_SHORT_HITBOX = (1 << 15) + +--- @type integer +ACT_FLAG_STATIONARY = (1 << 9) + +--- @type integer +ACT_FLAG_SWIMMING = (1 << 13) + +--- @type integer +ACT_FLAG_SWIMMING_OR_FLYING = (1 << 28) + +--- @type integer +ACT_FLAG_THROWING = (1 << 31) + +--- @type integer +ACT_FLAG_WATER_OR_TEXT = (1 << 29) + +--- @type integer +ACT_FLUTTER_KICK = 0x300024D2 + +--- @type integer +ACT_FLYING = 0x10880899 + +--- @type integer +ACT_FLYING_TRIPLE_JUMP = 0x03000894 + +--- @type integer +ACT_FORWARD_AIR_KB = 0x010208B1 + +--- @type integer +ACT_FORWARD_GROUND_KB = 0x00020463 + +--- @type integer +ACT_FORWARD_ROLLOUT = 0x010008A6 + +--- @type integer +ACT_FORWARD_WATER_KB = 0x300222C6 + +--- @type integer +ACT_FREEFALL = 0x0100088C + +--- @type integer +ACT_FREEFALL_LAND = 0x04000471 + +--- @type integer +ACT_FREEFALL_LAND_STOP = 0x0C000232 + +--- @type integer +ACT_GETTING_BLOWN = 0x010208B8 + +--- @type integer +ACT_GRABBED = 0x00020370 + +--- @type integer +ACT_GRAB_POLE_FAST = 0x00100342 + +--- @type integer +ACT_GRAB_POLE_SLOW = 0x00100341 + +--- @type integer +ACT_GROUND_BONK = 0x00020466 + +--- @type integer +ACT_GROUND_POUND = 0x008008A9 + +--- @type integer +ACT_GROUND_POUND_LAND = 0x0080023C + +--- @type integer +ACT_GROUP_AIRBORNE = (2 << 6) + +--- @type integer +ACT_GROUP_AUTOMATIC = (5 << 6) + +--- @type integer +ACT_GROUP_CUTSCENE = (4 << 6) + +--- @type integer +ACT_GROUP_MASK = 0x000001C0 + +--- @type integer +ACT_GROUP_MOVING = (1 << 6) + +--- @type integer +ACT_GROUP_OBJECT = (6 << 6) + +--- @type integer +ACT_GROUP_STATIONARY = (0 << 6) + +--- @type integer +ACT_GROUP_SUBMERGED = (3 << 6) + +--- @type integer +ACT_HANGING = 0x00200349 + +--- @type integer +ACT_HANG_MOVING = 0x0020054A + +--- @type integer +ACT_HARD_BACKWARD_AIR_KB = 0x010208B3 + +--- @type integer +ACT_HARD_BACKWARD_GROUND_KB = 0x00020460 + +--- @type integer +ACT_HARD_FORWARD_AIR_KB = 0x010208B2 + +--- @type integer +ACT_HARD_FORWARD_GROUND_KB = 0x00020461 + +--- @type integer +ACT_HEAD_STUCK_IN_GROUND = 0x0002033A + +--- @type integer +ACT_HEAVY_THROW = 0x80000589 + +--- @type integer +ACT_HOLDING_BOWSER = 0x00000391 + +--- @type integer +ACT_HOLDING_POLE = 0x08100340 + +--- @type integer +ACT_HOLD_BEGIN_SLIDING = 0x00000051 + +--- @type integer +ACT_HOLD_BREASTSTROKE = 0x300024D3 + +--- @type integer +ACT_HOLD_BUTT_SLIDE = 0x00840454 + +--- @type integer +ACT_HOLD_BUTT_SLIDE_AIR = 0x010008A2 + +--- @type integer +ACT_HOLD_BUTT_SLIDE_STOP = 0x0800043F + +--- @type integer +ACT_HOLD_DECELERATING = 0x0000044B + +--- @type integer +ACT_HOLD_FLUTTER_KICK = 0x300024D5 + +--- @type integer +ACT_HOLD_FREEFALL = 0x010008A1 + +--- @type integer +ACT_HOLD_FREEFALL_LAND = 0x00000475 + +--- @type integer +ACT_HOLD_FREEFALL_LAND_STOP = 0x08000235 + +--- @type integer +ACT_HOLD_HEAVY_IDLE = 0x08000208 + +--- @type integer +ACT_HOLD_HEAVY_WALKING = 0x00000447 + +--- @type integer +ACT_HOLD_IDLE = 0x08000207 + +--- @type integer +ACT_HOLD_JUMP = 0x030008A0 + +--- @type integer +ACT_HOLD_JUMP_LAND = 0x00000474 + +--- @type integer +ACT_HOLD_JUMP_LAND_STOP = 0x08000234 + +--- @type integer +ACT_HOLD_METAL_WATER_FALLING = 0x000042F5 + +--- @type integer +ACT_HOLD_METAL_WATER_FALL_LAND = 0x000042F7 + +--- @type integer +ACT_HOLD_METAL_WATER_JUMP = 0x000044F9 + +--- @type integer +ACT_HOLD_METAL_WATER_JUMP_LAND = 0x000044FB + +--- @type integer +ACT_HOLD_METAL_WATER_STANDING = 0x080042F1 + +--- @type integer +ACT_HOLD_METAL_WATER_WALKING = 0x000044F3 + +--- @type integer +ACT_HOLD_PANTING_UNUSED = 0x08000206 + +--- @type integer +ACT_HOLD_QUICKSAND_JUMP_LAND = 0x00000477 + +--- @type integer +ACT_HOLD_STOMACH_SLIDE = 0x008C0455 + +--- @type integer +ACT_HOLD_SWIMMING_END = 0x300024D4 + +--- @type integer +ACT_HOLD_WALKING = 0x00000442 + +--- @type integer +ACT_HOLD_WATER_ACTION_END = 0x300022C3 + +--- @type integer +ACT_HOLD_WATER_IDLE = 0x380022C1 + +--- @type integer +ACT_HOLD_WATER_JUMP = 0x010008A3 + +--- @type integer +ACT_IDLE = 0x0C400201 + +--- @type integer +ACT_ID_MASK = 0x000001FF + +--- @type integer +ACT_INTRO_CUTSCENE = 0x04001301 + +--- @type integer +ACT_IN_CANNON = 0x00001371 + +--- @type integer +ACT_IN_QUICKSAND = 0x0002020D + +--- @type integer +ACT_JUMBO_STAR_CUTSCENE = 0x00001909 + +--- @type integer +ACT_JUMP = 0x03000880 + +--- @type integer +ACT_JUMP_KICK = 0x018008AC + +--- @type integer +ACT_JUMP_LAND = 0x04000470 + +--- @type integer +ACT_JUMP_LAND_STOP = 0x0C000230 + +--- @type integer +ACT_LAVA_BOOST = 0x010208B7 + +--- @type integer +ACT_LAVA_BOOST_LAND = 0x08000239 + +--- @type integer +ACT_LEDGE_CLIMB_DOWN = 0x0000054E + +--- @type integer +ACT_LEDGE_CLIMB_FAST = 0x0000054F + +--- @type integer +ACT_LEDGE_CLIMB_SLOW_1 = 0x0000054C + +--- @type integer +ACT_LEDGE_CLIMB_SLOW_2 = 0x0000054D + +--- @type integer +ACT_LEDGE_GRAB = 0x0800034B + +--- @type integer +ACT_LONG_JUMP = 0x03000888 + +--- @type integer +ACT_LONG_JUMP_LAND = 0x00000479 + +--- @type integer +ACT_LONG_JUMP_LAND_STOP = 0x0800023B + +--- @type integer +ACT_METAL_WATER_FALLING = 0x000042F4 + +--- @type integer +ACT_METAL_WATER_FALL_LAND = 0x000042F6 + +--- @type integer +ACT_METAL_WATER_JUMP = 0x000044F8 + +--- @type integer +ACT_METAL_WATER_JUMP_LAND = 0x000044FA + +--- @type integer +ACT_METAL_WATER_STANDING = 0x080042F0 + +--- @type integer +ACT_METAL_WATER_WALKING = 0x000044F2 + +--- @type integer +ACT_MOVE_PUNCHING = 0x00800457 + +--- @type integer +ACT_PANTING = 0x0C400205 + +--- @type integer +ACT_PICKING_UP = 0x00000383 + +--- @type integer +ACT_PICKING_UP_BOWSER = 0x00000390 + +--- @type integer +ACT_PLACING_DOWN = 0x00000387 + +--- @type integer +ACT_PULLING_DOOR = 0x00001320 + +--- @type integer +ACT_PUNCHING = 0x00800380 + +--- @type integer +ACT_PUSHING_DOOR = 0x00001321 + +--- @type integer +ACT_PUTTING_ON_CAP = 0x0000133D + +--- @type integer +ACT_QUICKSAND_DEATH = 0x00021312 + +--- @type integer +ACT_QUICKSAND_JUMP_LAND = 0x00000476 + +--- @type integer +ACT_READING_AUTOMATIC_DIALOG = 0x20001305 + +--- @type integer +ACT_READING_NPC_DIALOG = 0x20001306 + +--- @type integer +ACT_READING_SIGN = 0x00001308 + +--- @type integer +ACT_RELEASING_BOWSER = 0x00000392 + +--- @type integer +ACT_RIDING_HOOT = 0x000004A8 + +--- @type integer +ACT_RIDING_SHELL_FALL = 0x0081089B + +--- @type integer +ACT_RIDING_SHELL_GROUND = 0x20810446 + +--- @type integer +ACT_RIDING_SHELL_JUMP = 0x0281089A + +--- @type integer +ACT_SHIVERING = 0x0C40020B + +--- @type integer +ACT_SHOCKED = 0x00020338 + +--- @type integer +ACT_SHOCKWAVE_BOUNCE = 0x00020226 + +--- @type integer +ACT_SHOT_FROM_CANNON = 0x00880898 + +--- @type integer +ACT_SIDE_FLIP = 0x01000887 + +--- @type integer +ACT_SIDE_FLIP_LAND = 0x04000473 + +--- @type integer +ACT_SIDE_FLIP_LAND_STOP = 0x0C000233 + +--- @type integer +ACT_SLEEPING = 0x0C000203 + +--- @type integer +ACT_SLIDE_KICK = 0x018008AA + +--- @type integer +ACT_SLIDE_KICK_SLIDE = 0x0080045A + +--- @type integer +ACT_SLIDE_KICK_SLIDE_STOP = 0x08000225 + +--- @type integer +ACT_SOFT_BACKWARD_GROUND_KB = 0x00020464 + +--- @type integer +ACT_SOFT_BONK = 0x010208B6 + +--- @type integer +ACT_SOFT_FORWARD_GROUND_KB = 0x00020465 + +--- @type integer +ACT_SPAWN_NO_SPIN_AIRBORNE = 0x00001932 + +--- @type integer +ACT_SPAWN_NO_SPIN_LANDING = 0x00001333 + +--- @type integer +ACT_SPAWN_SPIN_AIRBORNE = 0x00001924 + +--- @type integer +ACT_SPAWN_SPIN_LANDING = 0x00001325 + +--- @type integer +ACT_SPECIAL_DEATH_EXIT = 0x0000192C + +--- @type integer +ACT_SPECIAL_EXIT_AIRBORNE = 0x0000192B + +--- @type integer +ACT_SPECIAL_TRIPLE_JUMP = 0x030008AF + +--- @type integer +ACT_SQUISHED = 0x00020339 + +--- @type integer +ACT_STANDING_AGAINST_WALL = 0x0C400209 + +--- @type integer +ACT_STANDING_DEATH = 0x00021311 + +--- @type integer +ACT_START_CRAWLING = 0x0C008223 + +--- @type integer +ACT_START_CROUCHING = 0x0C008221 + +--- @type integer +ACT_START_HANGING = 0x08200348 + +--- @type integer +ACT_START_SLEEPING = 0x0C400202 + +--- @type integer +ACT_STAR_DANCE_EXIT = 0x00001302 + +--- @type integer +ACT_STAR_DANCE_NO_EXIT = 0x00001307 + +--- @type integer +ACT_STAR_DANCE_WATER = 0x00001303 + +--- @type integer +ACT_STEEP_JUMP = 0x03000885 + +--- @type integer +ACT_STOMACH_SLIDE = 0x008C0453 + +--- @type integer +ACT_STOMACH_SLIDE_STOP = 0x00000386 + +--- @type integer +ACT_STOP_CRAWLING = 0x0C008224 + +--- @type integer +ACT_STOP_CROUCHING = 0x0C008222 + +--- @type integer +ACT_SUFFOCATION = 0x00021314 + +--- @type integer +ACT_SWIMMING_END = 0x300024D1 + +--- @type integer +ACT_TELEPORT_FADE_IN = 0x00001337 + +--- @type integer +ACT_TELEPORT_FADE_OUT = 0x00001336 + +--- @type integer +ACT_THROWING = 0x80000588 + +--- @type integer +ACT_THROWN_BACKWARD = 0x010208BE + +--- @type integer +ACT_THROWN_FORWARD = 0x010208BD + +--- @type integer +ACT_TOP_OF_POLE = 0x00100345 + +--- @type integer +ACT_TOP_OF_POLE_JUMP = 0x0300088D + +--- @type integer +ACT_TOP_OF_POLE_TRANSITION = 0x00100344 + +--- @type integer +ACT_TORNADO_TWIRLING = 0x10020372 + +--- @type integer +ACT_TRIPLE_JUMP = 0x01000882 + +--- @type integer +ACT_TRIPLE_JUMP_LAND = 0x04000478 + +--- @type integer +ACT_TRIPLE_JUMP_LAND_STOP = 0x0800023A + +--- @type integer +ACT_TURNING_AROUND = 0x00000443 + +--- @type integer +ACT_TWIRLING = 0x108008A4 + +--- @type integer +ACT_TWIRL_LAND = 0x18800238 + +--- @type integer +ACT_UNINITIALIZED = 0x00000000 + +--- @type integer +ACT_UNKNOWN_0002020E = 0x0002020E + +--- @type integer +ACT_UNLOCKING_KEY_DOOR = 0x0000132E + +--- @type integer +ACT_UNLOCKING_STAR_DOOR = 0x0000132F + +--- @type integer +ACT_UNUSED_DEATH_EXIT = 0x00001929 + +--- @type integer +ACT_VERTICAL_WIND = 0x1008089C + +--- @type integer +ACT_WAITING_FOR_DIALOG = 0x0000130A + +--- @type integer +ACT_WAKING_UP = 0x0C000204 + +--- @type integer +ACT_WALKING = 0x04000440 + +--- @type integer +ACT_WALL_KICK_AIR = 0x03000886 + +--- @type integer +ACT_WARP_DOOR_SPAWN = 0x00001322 + +--- @type integer +ACT_WATER_ACTION_END = 0x300022C2 + +--- @type integer +ACT_WATER_DEATH = 0x300032C7 + +--- @type integer +ACT_WATER_IDLE = 0x380022C0 + +--- @type integer +ACT_WATER_JUMP = 0x01000889 + +--- @type integer +ACT_WATER_PLUNGE = 0x300022E2 + +--- @type integer +ACT_WATER_PUNCH = 0x300024E1 + +--- @type integer +ACT_WATER_SHELL_SWIMMING = 0x300024D6 + +--- @type integer +ACT_WATER_SHOCKED = 0x300222C8 + +--- @type integer +ACT_WATER_THROW = 0x300024E0 + +--- @type integer +AIR_STEP_CHECK_HANG = 0x00000002 + +--- @type integer +AIR_STEP_CHECK_LEDGE_GRAB = 0x00000001 + +--- @type integer +AIR_STEP_GRABBED_CEILING = 4 + +--- @type integer +AIR_STEP_GRABBED_LEDGE = 3 + +--- @type integer +AIR_STEP_HIT_LAVA_WALL = 6 + +--- @type integer +AIR_STEP_HIT_WALL = 2 + +--- @type integer +AIR_STEP_LANDED = 1 + +--- @type integer +AIR_STEP_NONE = 0 + +--- @type integer +C_BUTTONS = (U_CBUTTONS | D_CBUTTONS | L_CBUTTONS | R_CBUTTONS ) + +--- @type integer +END_DEMO = (1 << 7) + +--- @type integer +GROUND_STEP_HIT_WALL = 2 + +--- @type integer +GROUND_STEP_HIT_WALL_CONTINUE_QSTEPS = 3 + +--- @type integer +GROUND_STEP_HIT_WALL_STOP_QSTEPS = 2 + +--- @type integer +GROUND_STEP_LEFT_GROUND = 0 + +--- @type integer +GROUND_STEP_NONE = 1 + +--- @type integer +INPUT_ABOVE_SLIDE = 0x0008 + +--- @type integer +INPUT_A_DOWN = 0x0080 + +--- @type integer +INPUT_A_PRESSED = 0x0002 + +--- @type integer +INPUT_B_PRESSED = 0x2000 + +--- @type integer +INPUT_FIRST_PERSON = 0x0010 + +--- @type integer +INPUT_INTERACT_OBJ_GRABBABLE = 0x0800 + +--- @type integer +INPUT_IN_POISON_GAS = 0x0100 + +--- @type integer +INPUT_IN_WATER = 0x0200 + +--- @type integer +INPUT_NONZERO_ANALOG = 0x0001 + +--- @type integer +INPUT_OFF_FLOOR = 0x0004 + +--- @type integer +INPUT_SQUISHED = 0x0040 + +--- @type integer +INPUT_UNKNOWN_10 = 0x0400 + +--- @type integer +INPUT_UNKNOWN_12 = 0x1000 + +--- @type integer +INPUT_ZERO_MOVEMENT = 0x0020 + +--- @type integer +INPUT_Z_DOWN = 0x4000 + +--- @type integer +INPUT_Z_PRESSED = 0x8000 + +--- @type integer +LAYER_ALPHA = 4 + +--- @type integer +LAYER_FORCE = 0 + +--- @type integer +LAYER_OPAQUE = 1 + +--- @type integer +LAYER_OPAQUE_DECAL = 2 + +--- @type integer +LAYER_OPAQUE_INTER = 3 + +--- @type integer +LAYER_TRANSPARENT = 5 + +--- @type integer +LAYER_TRANSPARENT_DECAL = 6 + +--- @type integer +LAYER_TRANSPARENT_INTER = 7 + +--- @type integer +MARIO_ACTION_SOUND_PLAYED = 0x00010000 + +--- @type integer +MARIO_CAPS = (MARIO_NORMAL_CAP | MARIO_SPECIAL_CAPS) + +--- @type integer +MARIO_CAP_IN_HAND = 0x00000020 + +--- @type integer +MARIO_CAP_ON_HEAD = 0x00000010 + +--- @type integer +MARIO_KICKING = 0x00200000 + +--- @type integer +MARIO_MARIO_SOUND_PLAYED = 0x00020000 + +--- @type integer +MARIO_METAL_CAP = 0x00000004 + +--- @type integer +MARIO_METAL_SHOCK = 0x00000040 + +--- @type integer +MARIO_NORMAL_CAP = 0x00000001 + +--- @type integer +MARIO_PUNCHING = 0x00100000 + +--- @type integer +MARIO_SPECIAL_CAPS = (MARIO_VANISH_CAP | MARIO_METAL_CAP | MARIO_WING_CAP) + +--- @type integer +MARIO_TELEPORTING = 0x00000080 + +--- @type integer +MARIO_TRIPPING = 0x00400000 + +--- @type integer +MARIO_UNKNOWN_08 = 0x00000100 + +--- @type integer +MARIO_UNKNOWN_13 = 0x00002000 + +--- @type integer +MARIO_UNKNOWN_18 = 0x00040000 + +--- @type integer +MARIO_UNKNOWN_25 = 0x02000000 + +--- @type integer +MARIO_UNKNOWN_30 = 0x40000000 + +--- @type integer +MARIO_UNKNOWN_31 = 0x80000000 + +--- @type integer +MARIO_VANISH_CAP = 0x00000002 + +--- @type integer +MARIO_WING_CAP = 0x00000008 + +--- @type integer +MODEL_STATE_METAL = 0x200 + +--- @type integer +MODEL_STATE_NOISE_ALPHA = 0x180 + +--- @type integer +PARTICLE_19 = (1 << 19) + +--- @type integer +PARTICLE_2 = (1 << 2) + +--- @type integer +PARTICLE_BREATH = (1 << 17) + +--- @type integer +PARTICLE_BUBBLE = (1 << 5) + +--- @type integer +PARTICLE_DIRT = (1 << 15) + +--- @type integer +PARTICLE_DUST = (1 << 0) + +--- @type integer +PARTICLE_FIRE = (1 << 11) + +--- @type integer +PARTICLE_HORIZONTAL_STAR = (1 << 4) + +--- @type integer +PARTICLE_IDLE_WATER_WAVE = (1 << 7) + +--- @type integer +PARTICLE_LEAF = (1 << 13) + +--- @type integer +PARTICLE_MIST_CIRCLE = (1 << 16) + +--- @type integer +PARTICLE_PLUNGE_BUBBLE = (1 << 9) + +--- @type integer +PARTICLE_SHALLOW_WATER_SPLASH = (1 << 12) + +--- @type integer +PARTICLE_SHALLOW_WATER_WAVE = (1 << 8) + +--- @type integer +PARTICLE_SNOW = (1 << 14) + +--- @type integer +PARTICLE_SPARKLES = (1 << 3) + +--- @type integer +PARTICLE_TRIANGLE = (1 << 18) + +--- @type integer +PARTICLE_VERTICAL_STAR = (1 << 1) + +--- @type integer +PARTICLE_WATER_SPLASH = (1 << 6) + +--- @type integer +PARTICLE_WAVE_TRAIL = (1 << 10) + +--- @type integer +VALID_BUTTONS = (A_BUTTON | B_BUTTON | Z_TRIG | START_BUTTON | U_JPAD | D_JPAD | L_JPAD | R_JPAD | L_TRIG | R_TRIG | X_BUTTON | Y_BUTTON | U_CBUTTONS | D_CBUTTONS | L_CBUTTONS | R_CBUTTONS ) + +--- @type integer +WATER_STEP_CANCELLED = 3 + +--- @type integer +WATER_STEP_HIT_CEILING = 2 + +--- @type integer +WATER_STEP_HIT_FLOOR = 1 + +--- @type integer +WATER_STEP_HIT_WALL = 4 + +--- @type integer +WATER_STEP_NONE = 0 + +--- @class LuaHookedEventType + +--- @type LuaHookedEventType +HOOK_UPDATE = 0 + +--- @type LuaHookedEventType +HOOK_MARIO_UPDATE = 1 + +--- @type LuaHookedEventType +HOOK_BEFORE_MARIO_UPDATE = 2 + +--- @type LuaHookedEventType +HOOK_ON_SET_MARIO_ACTION = 3 + +--- @type LuaHookedEventType +HOOK_BEFORE_PHYS_STEP = 4 + +--- @type LuaHookedEventType +HOOK_ON_PVP_ATTACK = 5 + +--- @type LuaHookedEventType +HOOK_ON_PLAYER_CONNECTED = 6 + +--- @type LuaHookedEventType +HOOK_ON_PLAYER_DISCONNECTED = 7 + +--- @type LuaHookedEventType +HOOK_ON_HUD_RENDER = 8 + +--- @type LuaHookedEventType +HOOK_ON_INTERACT = 9 + +--- @type LuaHookedEventType +HOOK_MAX = 10 + +--- @class ModelExtendedId + +--- @type ModelExtendedId +E_MODEL_NONE = 0 + +--- @type ModelExtendedId +E_MODEL_MARIO = 1 + +--- @type ModelExtendedId +E_MODEL_SMOKE = 2 + +--- @type ModelExtendedId +E_MODEL_SPARKLES = 3 + +--- @type ModelExtendedId +E_MODEL_BUBBLE = 4 + +--- @type ModelExtendedId +E_MODEL_SMALL_WATER_SPLASH = 5 + +--- @type ModelExtendedId +E_MODEL_IDLE_WATER_WAVE = 6 + +--- @type ModelExtendedId +E_MODEL_WATER_SPLASH = 7 + +--- @type ModelExtendedId +E_MODEL_WAVE_TRAIL = 8 + +--- @type ModelExtendedId +E_MODEL_YELLOW_COIN = 9 + +--- @type ModelExtendedId +E_MODEL_STAR = 10 + +--- @type ModelExtendedId +E_MODEL_TRANSPARENT_STAR = 11 + +--- @type ModelExtendedId +E_MODEL_WOODEN_SIGNPOST = 12 + +--- @type ModelExtendedId +E_MODEL_WHITE_PARTICLE_SMALL = 13 + +--- @type ModelExtendedId +E_MODEL_RED_FLAME = 14 + +--- @type ModelExtendedId +E_MODEL_BLUE_FLAME = 15 + +--- @type ModelExtendedId +E_MODEL_BURN_SMOKE = 16 + +--- @type ModelExtendedId +E_MODEL_LEAVES = 17 + +--- @type ModelExtendedId +E_MODEL_PURPLE_MARBLE = 18 + +--- @type ModelExtendedId +E_MODEL_TRAMPOLINE = 19 + +--- @type ModelExtendedId +E_MODEL_TRAMPOLINE_CENTER = 20 + +--- @type ModelExtendedId +E_MODEL_TRAMPOLINE_BASE = 21 + +--- @type ModelExtendedId +E_MODEL_FISH = 22 + +--- @type ModelExtendedId +E_MODEL_FISH_SHADOW = 23 + +--- @type ModelExtendedId +E_MODEL_SPARKLES_ANIMATION = 24 + +--- @type ModelExtendedId +E_MODEL_SAND_DUST = 25 + +--- @type ModelExtendedId +E_MODEL_BUTTERFLY = 26 + +--- @type ModelExtendedId +E_MODEL_BURN_SMOKE_UNUSED = 27 + +--- @type ModelExtendedId +E_MODEL_PEBBLE = 28 + +--- @type ModelExtendedId +E_MODEL_MIST = 29 + +--- @type ModelExtendedId +E_MODEL_WHITE_PUFF = 30 + +--- @type ModelExtendedId +E_MODEL_WHITE_PARTICLE_DL = 31 + +--- @type ModelExtendedId +E_MODEL_WHITE_PARTICLE = 32 + +--- @type ModelExtendedId +E_MODEL_YELLOW_COIN_NO_SHADOW = 33 + +--- @type ModelExtendedId +E_MODEL_BLUE_COIN = 34 + +--- @type ModelExtendedId +E_MODEL_BLUE_COIN_NO_SHADOW = 35 + +--- @type ModelExtendedId +E_MODEL_MARIOS_WINGED_METAL_CAP = 36 + +--- @type ModelExtendedId +E_MODEL_MARIOS_METAL_CAP = 37 + +--- @type ModelExtendedId +E_MODEL_MARIOS_WING_CAP = 38 + +--- @type ModelExtendedId +E_MODEL_MARIOS_CAP = 39 + +--- @type ModelExtendedId +E_MODEL_BOWSER_KEY_CUTSCENE = 40 + +--- @type ModelExtendedId +E_MODEL_BOWSER_KEY = 41 + +--- @type ModelExtendedId +E_MODEL_RED_FLAME_SHADOW = 42 + +--- @type ModelExtendedId +E_MODEL_1UP = 43 + +--- @type ModelExtendedId +E_MODEL_RED_COIN = 44 + +--- @type ModelExtendedId +E_MODEL_RED_COIN_NO_SHADOW = 45 + +--- @type ModelExtendedId +E_MODEL_NUMBER = 46 + +--- @type ModelExtendedId +E_MODEL_EXPLOSION = 47 + +--- @type ModelExtendedId +E_MODEL_DIRT_ANIMATION = 48 + +--- @type ModelExtendedId +E_MODEL_CARTOON_STAR = 49 + +--- @type ModelExtendedId +E_MODEL_BLUE_COIN_SWITCH = 50 + +--- @type ModelExtendedId +E_MODEL_AMP = 51 + +--- @type ModelExtendedId +E_MODEL_PURPLE_SWITCH = 52 + +--- @type ModelExtendedId +E_MODEL_CHECKERBOARD_PLATFORM = 53 + +--- @type ModelExtendedId +E_MODEL_BREAKABLE_BOX = 54 + +--- @type ModelExtendedId +E_MODEL_BREAKABLE_BOX_SMALL = 55 + +--- @type ModelExtendedId +E_MODEL_EXCLAMATION_BOX_OUTLINE = 56 + +--- @type ModelExtendedId +E_MODEL_EXCLAMATION_BOX = 57 + +--- @type ModelExtendedId +E_MODEL_GOOMBA = 58 + +--- @type ModelExtendedId +E_MODEL_EXCLAMATION_POINT = 59 + +--- @type ModelExtendedId +E_MODEL_KOOPA_SHELL = 60 + +--- @type ModelExtendedId +E_MODEL_METAL_BOX = 61 + +--- @type ModelExtendedId +E_MODEL_METAL_BOX_DL = 62 + +--- @type ModelExtendedId +E_MODEL_BLACK_BOBOMB = 63 + +--- @type ModelExtendedId +E_MODEL_BOBOMB_BUDDY = 64 + +--- @type ModelExtendedId +E_MODEL_DL_CANNON_LID = 65 + +--- @type ModelExtendedId +E_MODEL_BOWLING_BALL = 66 + +--- @type ModelExtendedId +E_MODEL_CANNON_BARREL = 67 + +--- @type ModelExtendedId +E_MODEL_CANNON_BASE = 68 + +--- @type ModelExtendedId +E_MODEL_HEART = 69 + +--- @type ModelExtendedId +E_MODEL_FLYGUY = 70 + +--- @type ModelExtendedId +E_MODEL_CHUCKYA = 71 + +--- @type ModelExtendedId +E_MODEL_TRAJECTORY_MARKER_BALL = 72 + +--- @type ModelExtendedId +E_MODEL_BULLET_BILL = 73 + +--- @type ModelExtendedId +E_MODEL_YELLOW_SPHERE = 74 + +--- @type ModelExtendedId +E_MODEL_HOOT = 75 + +--- @type ModelExtendedId +E_MODEL_YOSHI_EGG = 76 + +--- @type ModelExtendedId +E_MODEL_THWOMP = 77 + +--- @type ModelExtendedId +E_MODEL_HEAVE_HO = 78 + +--- @type ModelExtendedId +E_MODEL_BLARGG = 79 + +--- @type ModelExtendedId +E_MODEL_BULLY = 80 + +--- @type ModelExtendedId +E_MODEL_BULLY_BOSS = 81 + +--- @type ModelExtendedId +E_MODEL_WATER_BOMB = 82 + +--- @type ModelExtendedId +E_MODEL_WATER_BOMB_SHADOW = 83 + +--- @type ModelExtendedId +E_MODEL_KING_BOBOMB = 84 + +--- @type ModelExtendedId +E_MODEL_MANTA_RAY = 85 + +--- @type ModelExtendedId +E_MODEL_UNAGI = 86 + +--- @type ModelExtendedId +E_MODEL_SUSHI = 87 + +--- @type ModelExtendedId +E_MODEL_DL_WHIRLPOOL = 88 + +--- @type ModelExtendedId +E_MODEL_CLAM_SHELL = 89 + +--- @type ModelExtendedId +E_MODEL_POKEY_HEAD = 90 + +--- @type ModelExtendedId +E_MODEL_POKEY_BODY_PART = 91 + +--- @type ModelExtendedId +E_MODEL_TWEESTER = 92 + +--- @type ModelExtendedId +E_MODEL_KLEPTO = 93 + +--- @type ModelExtendedId +E_MODEL_EYEROK_LEFT_HAND = 94 + +--- @type ModelExtendedId +E_MODEL_EYEROK_RIGHT_HAND = 95 + +--- @type ModelExtendedId +E_MODEL_DL_MONTY_MOLE_HOLE = 96 + +--- @type ModelExtendedId +E_MODEL_MONTY_MOLE = 97 + +--- @type ModelExtendedId +E_MODEL_UKIKI = 98 + +--- @type ModelExtendedId +E_MODEL_FWOOSH = 99 + +--- @type ModelExtendedId +E_MODEL_SPINDRIFT = 100 + +--- @type ModelExtendedId +E_MODEL_MR_BLIZZARD_HIDDEN = 101 + +--- @type ModelExtendedId +E_MODEL_MR_BLIZZARD = 102 + +--- @type ModelExtendedId +E_MODEL_PENGUIN = 103 + +--- @type ModelExtendedId +E_MODEL_CAP_SWITCH_EXCLAMATION = 104 + +--- @type ModelExtendedId +E_MODEL_CAP_SWITCH = 105 + +--- @type ModelExtendedId +E_MODEL_CAP_SWITCH_BASE = 106 + +--- @type ModelExtendedId +E_MODEL_BOO = 107 + +--- @type ModelExtendedId +E_MODEL_BETA_BOO_KEY = 108 + +--- @type ModelExtendedId +E_MODEL_HAUNTED_CHAIR = 109 + +--- @type ModelExtendedId +E_MODEL_MAD_PIANO = 110 + +--- @type ModelExtendedId +E_MODEL_BOOKEND_PART = 111 + +--- @type ModelExtendedId +E_MODEL_BOOKEND = 112 + +--- @type ModelExtendedId +E_MODEL_HAUNTED_CAGE = 113 + +--- @type ModelExtendedId +E_MODEL_BIRDS = 114 + +--- @type ModelExtendedId +E_MODEL_PEACH = 115 + +--- @type ModelExtendedId +E_MODEL_YOSHI = 116 + +--- @type ModelExtendedId +E_MODEL_ENEMY_LAKITU = 117 + +--- @type ModelExtendedId +E_MODEL_SPINY_BALL = 118 + +--- @type ModelExtendedId +E_MODEL_SPINY = 119 + +--- @type ModelExtendedId +E_MODEL_WIGGLER_HEAD = 120 + +--- @type ModelExtendedId +E_MODEL_WIGGLER_BODY = 121 + +--- @type ModelExtendedId +E_MODEL_BUBBA = 122 + +--- @type ModelExtendedId +E_MODEL_BOWSER = 123 + +--- @type ModelExtendedId +E_MODEL_BOWSER_BOMB_CHILD_OBJ = 124 + +--- @type ModelExtendedId +E_MODEL_BOWSER_BOMB = 125 + +--- @type ModelExtendedId +E_MODEL_BOWSER_SMOKE = 126 + +--- @type ModelExtendedId +E_MODEL_BOWSER_FLAMES = 127 + +--- @type ModelExtendedId +E_MODEL_BOWSER_WAVE = 128 + +--- @type ModelExtendedId +E_MODEL_BOWSER2 = 129 + +--- @type ModelExtendedId +E_MODEL_BUB = 130 + +--- @type ModelExtendedId +E_MODEL_TREASURE_CHEST_BASE = 131 + +--- @type ModelExtendedId +E_MODEL_TREASURE_CHEST_LID = 132 + +--- @type ModelExtendedId +E_MODEL_CYAN_FISH = 133 + +--- @type ModelExtendedId +E_MODEL_WATER_RING = 134 + +--- @type ModelExtendedId +E_MODEL_WATER_MINE = 135 + +--- @type ModelExtendedId +E_MODEL_SEAWEED = 136 + +--- @type ModelExtendedId +E_MODEL_SKEETER = 137 + +--- @type ModelExtendedId +E_MODEL_PIRANHA_PLANT = 138 + +--- @type ModelExtendedId +E_MODEL_WHOMP = 139 + +--- @type ModelExtendedId +E_MODEL_KOOPA_WITH_SHELL = 140 + +--- @type ModelExtendedId +E_MODEL_KOOPA_WITHOUT_SHELL = 141 + +--- @type ModelExtendedId +E_MODEL_METALLIC_BALL = 142 + +--- @type ModelExtendedId +E_MODEL_CHAIN_CHOMP = 143 + +--- @type ModelExtendedId +E_MODEL_KOOPA_FLAG = 144 + +--- @type ModelExtendedId +E_MODEL_WOODEN_POST = 145 + +--- @type ModelExtendedId +E_MODEL_MIPS = 146 + +--- @type ModelExtendedId +E_MODEL_BOO_CASTLE = 147 + +--- @type ModelExtendedId +E_MODEL_LAKITU = 148 + +--- @type ModelExtendedId +E_MODEL_TOAD = 149 + +--- @type ModelExtendedId +E_MODEL_CHILL_BULLY = 150 + +--- @type ModelExtendedId +E_MODEL_BIG_CHILL_BULLY = 151 + +--- @type ModelExtendedId +E_MODEL_MONEYBAG = 152 + +--- @type ModelExtendedId +E_MODEL_SWOOP = 153 + +--- @type ModelExtendedId +E_MODEL_SCUTTLEBUG = 154 + +--- @type ModelExtendedId +E_MODEL_MR_I_IRIS = 155 + +--- @type ModelExtendedId +E_MODEL_MR_I = 156 + +--- @type ModelExtendedId +E_MODEL_DORRIE = 157 + +--- @type ModelExtendedId +E_MODEL_SNUFIT = 158 + +--- @type ModelExtendedId +E_MODEL_BUBBLY_TREE = 159 + +--- @type ModelExtendedId +E_MODEL_COURTYARD_SPIKY_TREE = 160 + +--- @type ModelExtendedId +E_MODEL_SNOW_TREE = 161 + +--- @type ModelExtendedId +E_MODEL_PALM_TREE = 162 + +--- @type ModelExtendedId +E_MODEL_CASTLE_CASTLE_DOOR = 163 + +--- @type ModelExtendedId +E_MODEL_BBH_HAUNTED_DOOR = 164 + +--- @type ModelExtendedId +E_MODEL_HMC_WOODEN_DOOR = 165 + +--- @type ModelExtendedId +E_MODEL_HMC_METAL_DOOR = 166 + +--- @type ModelExtendedId +E_MODEL_HMC_HAZY_MAZE_DOOR = 167 + +--- @type ModelExtendedId +E_MODEL_CASTLE_DOOR_0_STARS = 168 + +--- @type ModelExtendedId +E_MODEL_CASTLE_DOOR_1_STAR = 169 + +--- @type ModelExtendedId +E_MODEL_CASTLE_DOOR_3_STARS = 170 + +--- @type ModelExtendedId +E_MODEL_CASTLE_KEY_DOOR = 171 + +--- @type ModelExtendedId +E_MODEL_CCM_CABIN_DOOR = 172 + +--- @type ModelExtendedId +E_MODEL_CASTLE_METAL_DOOR = 173 + +--- @type ModelExtendedId +E_MODEL_CASTLE_GROUNDS_METAL_DOOR = 174 + +--- @type ModelExtendedId +E_MODEL_WF_TOWER_TRAPEZOID_PLATORM = 175 + +--- @type ModelExtendedId +E_MODEL_WF_TOWER_SQUARE_PLATORM = 176 + +--- @type ModelExtendedId +E_MODEL_WF_TOWER_SQUARE_PLATORM_UNUSED = 177 + +--- @type ModelExtendedId +E_MODEL_WF_TOWER_SQUARE_PLATORM_ELEVATOR = 178 + +--- @type ModelExtendedId +E_MODEL_BBH_STAIRCASE_STEP = 179 + +--- @type ModelExtendedId +E_MODEL_BBH_TILTING_FLOOR_PLATFORM = 180 + +--- @type ModelExtendedId +E_MODEL_BBH_TUMBLING_PLATFORM = 181 + +--- @type ModelExtendedId +E_MODEL_BBH_TUMBLING_PLATFORM_PART = 182 + +--- @type ModelExtendedId +E_MODEL_BBH_MOVING_BOOKSHELF = 183 + +--- @type ModelExtendedId +E_MODEL_BBH_MESH_ELEVATOR = 184 + +--- @type ModelExtendedId +E_MODEL_BBH_MERRY_GO_ROUND = 185 + +--- @type ModelExtendedId +E_MODEL_BBH_WOODEN_TOMB = 186 + +--- @type ModelExtendedId +E_MODEL_CCM_ROPEWAY_LIFT = 187 + +--- @type ModelExtendedId +E_MODEL_CCM_SNOWMAN_HEAD = 188 + +--- @type ModelExtendedId +E_MODEL_CASTLE_BOWSER_TRAP = 189 + +--- @type ModelExtendedId +E_MODEL_CASTLE_WATER_LEVEL_PILLAR = 190 + +--- @type ModelExtendedId +E_MODEL_CASTLE_CLOCK_MINUTE_HAND = 191 + +--- @type ModelExtendedId +E_MODEL_CASTLE_CLOCK_HOUR_HAND = 192 + +--- @type ModelExtendedId +E_MODEL_CASTLE_CLOCK_PENDULUM = 193 + +--- @type ModelExtendedId +E_MODEL_HMC_METAL_PLATFORM = 194 + +--- @type ModelExtendedId +E_MODEL_HMC_METAL_ARROW_PLATFORM = 195 + +--- @type ModelExtendedId +E_MODEL_HMC_ELEVATOR_PLATFORM = 196 + +--- @type ModelExtendedId +E_MODEL_HMC_ROLLING_ROCK = 197 + +--- @type ModelExtendedId +E_MODEL_HMC_ROCK_PIECE = 198 + +--- @type ModelExtendedId +E_MODEL_HMC_ROCK_SMALL_PIECE = 199 + +--- @type ModelExtendedId +E_MODEL_HMC_RED_GRILLS = 200 + +--- @type ModelExtendedId +E_MODEL_SSL_PYRAMID_TOP = 201 + +--- @type ModelExtendedId +E_MODEL_SSL_GRINDEL = 202 + +--- @type ModelExtendedId +E_MODEL_SSL_SPINDEL = 203 + +--- @type ModelExtendedId +E_MODEL_SSL_MOVING_PYRAMID_WALL = 204 + +--- @type ModelExtendedId +E_MODEL_SSL_PYRAMID_ELEVATOR = 205 + +--- @type ModelExtendedId +E_MODEL_BOB_CHAIN_CHOMP_GATE = 206 + +--- @type ModelExtendedId +E_MODEL_BOB_SEESAW_PLATFORM = 207 + +--- @type ModelExtendedId +E_MODEL_BOB_BARS_GRILLS = 208 + +--- @type ModelExtendedId +E_MODEL_SL_SNOW_TRIANGLE = 209 + +--- @type ModelExtendedId +E_MODEL_SL_CRACKED_ICE = 210 + +--- @type ModelExtendedId +E_MODEL_SL_CRACKED_ICE_CHUNK = 211 + +--- @type ModelExtendedId +E_MODEL_WDW_SQUARE_FLOATING_PLATFORM = 212 + +--- @type ModelExtendedId +E_MODEL_WDW_ARROW_LIFT = 213 + +--- @type ModelExtendedId +E_MODEL_WDW_WATER_LEVEL_DIAMOND = 214 + +--- @type ModelExtendedId +E_MODEL_WDW_HIDDEN_PLATFORM = 215 + +--- @type ModelExtendedId +E_MODEL_WDW_EXPRESS_ELEVATOR = 216 + +--- @type ModelExtendedId +E_MODEL_WDW_RECTANGULAR_FLOATING_PLATFORM = 217 + +--- @type ModelExtendedId +E_MODEL_WDW_ROTATING_PLATFORM = 218 + +--- @type ModelExtendedId +E_MODEL_JRB_SHIP_LEFT_HALF_PART = 219 + +--- @type ModelExtendedId +E_MODEL_JRB_SHIP_BACK_LEFT_PART = 220 + +--- @type ModelExtendedId +E_MODEL_JRB_SHIP_RIGHT_HALF_PART = 221 + +--- @type ModelExtendedId +E_MODEL_JRB_SHIP_BACK_RIGHT_PART = 222 + +--- @type ModelExtendedId +E_MODEL_JRB_SUNKEN_SHIP = 223 + +--- @type ModelExtendedId +E_MODEL_JRB_SUNKEN_SHIP_BACK = 224 + +--- @type ModelExtendedId +E_MODEL_JRB_ROCK = 225 + +--- @type ModelExtendedId +E_MODEL_JRB_SLIDING_BOX = 226 + +--- @type ModelExtendedId +E_MODEL_JRB_FALLING_PILLAR = 227 + +--- @type ModelExtendedId +E_MODEL_JRB_FALLING_PILLAR_BASE = 228 + +--- @type ModelExtendedId +E_MODEL_JRB_FLOATING_PLATFORM = 229 + +--- @type ModelExtendedId +E_MODEL_THI_HUGE_ISLAND_TOP = 230 + +--- @type ModelExtendedId +E_MODEL_THI_TINY_ISLAND_TOP = 231 + +--- @type ModelExtendedId +E_MODEL_TTC_ROTATING_CUBE = 232 + +--- @type ModelExtendedId +E_MODEL_TTC_ROTATING_PRISM = 233 + +--- @type ModelExtendedId +E_MODEL_TTC_PENDULUM = 234 + +--- @type ModelExtendedId +E_MODEL_TTC_LARGE_TREADMILL = 235 + +--- @type ModelExtendedId +E_MODEL_TTC_SMALL_TREADMILL = 236 + +--- @type ModelExtendedId +E_MODEL_TTC_PUSH_BLOCK = 237 + +--- @type ModelExtendedId +E_MODEL_TTC_ROTATING_HEXAGON = 238 + +--- @type ModelExtendedId +E_MODEL_TTC_ROTATING_TRIANGLE = 239 + +--- @type ModelExtendedId +E_MODEL_TTC_PIT_BLOCK = 240 + +--- @type ModelExtendedId +E_MODEL_TTC_PIT_BLOCK_UNUSED = 241 + +--- @type ModelExtendedId +E_MODEL_TTC_ELEVATOR_PLATFORM = 242 + +--- @type ModelExtendedId +E_MODEL_TTC_CLOCK_HAND = 243 + +--- @type ModelExtendedId +E_MODEL_TTC_SPINNER = 244 + +--- @type ModelExtendedId +E_MODEL_TTC_SMALL_GEAR = 245 + +--- @type ModelExtendedId +E_MODEL_TTC_LARGE_GEAR = 246 + +--- @type ModelExtendedId +E_MODEL_RR_SLIDING_PLATFORM = 247 + +--- @type ModelExtendedId +E_MODEL_RR_FLYING_CARPET = 248 + +--- @type ModelExtendedId +E_MODEL_RR_OCTAGONAL_PLATFORM = 249 + +--- @type ModelExtendedId +E_MODEL_RR_ROTATING_BRIDGE_PLATFORM = 250 + +--- @type ModelExtendedId +E_MODEL_RR_TRIANGLE_PLATFORM = 251 + +--- @type ModelExtendedId +E_MODEL_RR_CRUISER_WING = 252 + +--- @type ModelExtendedId +E_MODEL_RR_SEESAW_PLATFORM = 253 + +--- @type ModelExtendedId +E_MODEL_RR_L_SHAPED_PLATFORM = 254 + +--- @type ModelExtendedId +E_MODEL_RR_SWINGING_PLATFORM = 255 + +--- @type ModelExtendedId +E_MODEL_RR_DONUT_PLATFORM = 256 + +--- @type ModelExtendedId +E_MODEL_RR_ELEVATOR_PLATFORM = 257 + +--- @type ModelExtendedId +E_MODEL_RR_TRICKY_TRIANGLES = 258 + +--- @type ModelExtendedId +E_MODEL_RR_TRICKY_TRIANGLES_FRAME1 = 259 + +--- @type ModelExtendedId +E_MODEL_RR_TRICKY_TRIANGLES_FRAME2 = 260 + +--- @type ModelExtendedId +E_MODEL_RR_TRICKY_TRIANGLES_FRAME3 = 261 + +--- @type ModelExtendedId +E_MODEL_RR_TRICKY_TRIANGLES_FRAME4 = 262 + +--- @type ModelExtendedId +E_MODEL_BITDW_SQUARE_PLATFORM = 263 + +--- @type ModelExtendedId +E_MODEL_BITDW_SEESAW_PLATFORM = 264 + +--- @type ModelExtendedId +E_MODEL_BITDW_SLIDING_PLATFORM = 265 + +--- @type ModelExtendedId +E_MODEL_BITDW_FERRIS_WHEEL_AXLE = 266 + +--- @type ModelExtendedId +E_MODEL_BITDW_BLUE_PLATFORM = 267 + +--- @type ModelExtendedId +E_MODEL_BITDW_STAIRCASE_FRAME4 = 268 + +--- @type ModelExtendedId +E_MODEL_BITDW_STAIRCASE_FRAME3 = 269 + +--- @type ModelExtendedId +E_MODEL_BITDW_STAIRCASE_FRAME2 = 270 + +--- @type ModelExtendedId +E_MODEL_BITDW_STAIRCASE_FRAME1 = 271 + +--- @type ModelExtendedId +E_MODEL_BITDW_STAIRCASE = 272 + +--- @type ModelExtendedId +E_MODEL_BITFS_PLATFORM_ON_TRACK = 273 + +--- @type ModelExtendedId +E_MODEL_BITFS_TILTING_SQUARE_PLATFORM = 274 + +--- @type ModelExtendedId +E_MODEL_BITFS_SINKING_PLATFORMS = 275 + +--- @type ModelExtendedId +E_MODEL_BITFS_BLUE_POLE = 276 + +--- @type ModelExtendedId +E_MODEL_BITFS_SINKING_CAGE_PLATFORM = 277 + +--- @type ModelExtendedId +E_MODEL_BITFS_ELEVATOR = 278 + +--- @type ModelExtendedId +E_MODEL_BITFS_STRETCHING_PLATFORMS = 279 + +--- @type ModelExtendedId +E_MODEL_BITFS_SEESAW_PLATFORM = 280 + +--- @type ModelExtendedId +E_MODEL_BITFS_MOVING_SQUARE_PLATFORM = 281 + +--- @type ModelExtendedId +E_MODEL_BITFS_SLIDING_PLATFORM = 282 + +--- @type ModelExtendedId +E_MODEL_BITFS_TUMBLING_PLATFORM_PART = 283 + +--- @type ModelExtendedId +E_MODEL_BITFS_TUMBLING_PLATFORM = 284 + +--- @type ModelExtendedId +E_MODEL_BITS_SLIDING_PLATFORM = 285 + +--- @type ModelExtendedId +E_MODEL_BITS_TWIN_SLIDING_PLATFORMS = 286 + +--- @type ModelExtendedId +E_MODEL_BITS_OCTAGONAL_PLATFORM = 287 + +--- @type ModelExtendedId +E_MODEL_BITS_BLUE_PLATFORM = 288 + +--- @type ModelExtendedId +E_MODEL_BITS_FERRIS_WHEEL_AXLE = 289 + +--- @type ModelExtendedId +E_MODEL_BITS_ARROW_PLATFORM = 290 + +--- @type ModelExtendedId +E_MODEL_BITS_SEESAW_PLATFORM = 291 + +--- @type ModelExtendedId +E_MODEL_BITS_TILTING_W_PLATFORM = 292 + +--- @type ModelExtendedId +E_MODEL_BITS_STAIRCASE = 293 + +--- @type ModelExtendedId +E_MODEL_BITS_STAIRCASE_FRAME1 = 294 + +--- @type ModelExtendedId +E_MODEL_BITS_STAIRCASE_FRAME2 = 295 + +--- @type ModelExtendedId +E_MODEL_BITS_STAIRCASE_FRAME3 = 296 + +--- @type ModelExtendedId +E_MODEL_BITS_STAIRCASE_FRAME4 = 297 + +--- @type ModelExtendedId +E_MODEL_BITS_WARP_PIPE = 298 + +--- @type ModelExtendedId +E_MODEL_LLL_DRAWBRIDGE_PART = 299 + +--- @type ModelExtendedId +E_MODEL_LLL_ROTATING_BLOCK_FIRE_BARS = 300 + +--- @type ModelExtendedId +E_MODEL_LLL_ROTATING_HEXAGONAL_RING = 301 + +--- @type ModelExtendedId +E_MODEL_LLL_SINKING_RECTANGULAR_PLATFORM = 302 + +--- @type ModelExtendedId +E_MODEL_LLL_SINKING_SQUARE_PLATFORMS = 303 + +--- @type ModelExtendedId +E_MODEL_LLL_TILTING_SQUARE_PLATFORM = 304 + +--- @type ModelExtendedId +E_MODEL_LLL_BOWSER_PIECE_1 = 305 + +--- @type ModelExtendedId +E_MODEL_LLL_BOWSER_PIECE_2 = 306 + +--- @type ModelExtendedId +E_MODEL_LLL_BOWSER_PIECE_3 = 307 + +--- @type ModelExtendedId +E_MODEL_LLL_BOWSER_PIECE_4 = 308 + +--- @type ModelExtendedId +E_MODEL_LLL_BOWSER_PIECE_5 = 309 + +--- @type ModelExtendedId +E_MODEL_LLL_BOWSER_PIECE_6 = 310 + +--- @type ModelExtendedId +E_MODEL_LLL_BOWSER_PIECE_7 = 311 + +--- @type ModelExtendedId +E_MODEL_LLL_BOWSER_PIECE_8 = 312 + +--- @type ModelExtendedId +E_MODEL_LLL_BOWSER_PIECE_9 = 313 + +--- @type ModelExtendedId +E_MODEL_LLL_BOWSER_PIECE_10 = 314 + +--- @type ModelExtendedId +E_MODEL_LLL_BOWSER_PIECE_11 = 315 + +--- @type ModelExtendedId +E_MODEL_LLL_BOWSER_PIECE_12 = 316 + +--- @type ModelExtendedId +E_MODEL_LLL_BOWSER_PIECE_13 = 317 + +--- @type ModelExtendedId +E_MODEL_LLL_BOWSER_PIECE_14 = 318 + +--- @type ModelExtendedId +E_MODEL_LLL_MOVING_OCTAGONAL_MESH_PLATFORM = 319 + +--- @type ModelExtendedId +E_MODEL_LLL_SINKING_ROCK_BLOCK = 320 + +--- @type ModelExtendedId +E_MODEL_LLL_ROLLING_LOG = 321 + +--- @type ModelExtendedId +E_MODEL_LLL_WOOD_BRIDGE = 322 + +--- @type ModelExtendedId +E_MODEL_LLL_LARGE_WOOD_BRIDGE = 323 + +--- @type ModelExtendedId +E_MODEL_LLL_FALLING_PLATFORM = 324 + +--- @type ModelExtendedId +E_MODEL_LLL_LARGE_FALLING_PLATFORM = 325 + +--- @type ModelExtendedId +E_MODEL_LLL_VOLCANO_FALLING_TRAP = 326 + +--- @type ModelExtendedId +E_MODEL_DDD_BOWSER_SUB_DOOR = 327 + +--- @type ModelExtendedId +E_MODEL_DDD_BOWSER_SUB = 328 + +--- @type ModelExtendedId +E_MODEL_DDD_POLE = 329 + +--- @type ModelExtendedId +E_MODEL_WF_BREAKABLE_WALL_RIGHT = 330 + +--- @type ModelExtendedId +E_MODEL_WF_BREAKABLE_WALL_LEFT = 331 + +--- @type ModelExtendedId +E_MODEL_WF_KICKABLE_BOARD = 332 + +--- @type ModelExtendedId +E_MODEL_WF_TOWER_DOOR = 333 + +--- @type ModelExtendedId +E_MODEL_WF_KICKABLE_BOARD_FELLED = 334 + +--- @type ModelExtendedId +E_MODEL_CASTLE_GROUNDS_VCUTM_GRILL = 335 + +--- @type ModelExtendedId +E_MODEL_CASTLE_GROUNDS_FLAG = 336 + +--- @type ModelExtendedId +E_MODEL_CASTLE_GROUNDS_CANNON_GRILL = 337 + +--- @type ModelExtendedId +E_MODEL_BOWSER_2_TILTING_ARENA = 338 + +--- @type ModelExtendedId +E_MODEL_BOWSER_3_FALLING_PLATFORM_1 = 339 + +--- @type ModelExtendedId +E_MODEL_BOWSER_3_FALLING_PLATFORM_2 = 340 + +--- @type ModelExtendedId +E_MODEL_BOWSER_3_FALLING_PLATFORM_3 = 341 + +--- @type ModelExtendedId +E_MODEL_BOWSER_3_FALLING_PLATFORM_4 = 342 + +--- @type ModelExtendedId +E_MODEL_BOWSER_3_FALLING_PLATFORM_5 = 343 + +--- @type ModelExtendedId +E_MODEL_BOWSER_3_FALLING_PLATFORM_6 = 344 + +--- @type ModelExtendedId +E_MODEL_BOWSER_3_FALLING_PLATFORM_7 = 345 + +--- @type ModelExtendedId +E_MODEL_BOWSER_3_FALLING_PLATFORM_8 = 346 + +--- @type ModelExtendedId +E_MODEL_BOWSER_3_FALLING_PLATFORM_9 = 347 + +--- @type ModelExtendedId +E_MODEL_BOWSER_3_FALLING_PLATFORM_10 = 348 + +--- @type ModelExtendedId +E_MODEL_TTM_ROLLING_LOG = 349 + +--- @type ModelExtendedId +E_MODEL_TTM_STAR_CAGE = 350 + +--- @type ModelExtendedId +E_MODEL_TTM_BLUE_SMILEY = 351 + +--- @type ModelExtendedId +E_MODEL_TTM_YELLOW_SMILEY = 352 + +--- @type ModelExtendedId +E_MODEL_TTM_STAR_SMILEY = 353 + +--- @type ModelExtendedId +E_MODEL_TTM_MOON_SMILEY = 354 + +--- @type ModelExtendedId +E_MODEL_BUBBLE_PLAYER = 355 + +--- @type ModelExtendedId +E_MODEL_LUIGI = 356 + +--- @type ModelExtendedId +E_MODEL_LUIGIS_CAP = 357 + +--- @type ModelExtendedId +E_MODEL_LUIGIS_METAL_CAP = 358 + +--- @type ModelExtendedId +E_MODEL_LUIGIS_WING_CAP = 359 + +--- @type ModelExtendedId +E_MODEL_LUIGIS_WINGED_METAL_CAP = 360 + +--- @type ModelExtendedId +E_MODEL_TOAD_PLAYER = 361 + +--- @type ModelExtendedId +E_MODEL_TOADS_CAP = 362 + +--- @type ModelExtendedId +E_MODEL_TOADS_METAL_CAP = 363 + +--- @type ModelExtendedId +E_MODEL_TOADS_WING_CAP = 364 + +--- @type ModelExtendedId +E_MODEL_WALUIGI = 365 + +--- @type ModelExtendedId +E_MODEL_WALUIGIS_CAP = 366 + +--- @type ModelExtendedId +E_MODEL_WALUIGIS_METAL_CAP = 367 + +--- @type ModelExtendedId +E_MODEL_WALUIGIS_WING_CAP = 368 + +--- @type ModelExtendedId +E_MODEL_WALUIGIS_WINGED_METAL_CAP = 369 + +--- @type ModelExtendedId +E_MODEL_WARIO = 370 + +--- @type ModelExtendedId +E_MODEL_WARIOS_CAP = 371 + +--- @type ModelExtendedId +E_MODEL_WARIOS_METAL_CAP = 372 + +--- @type ModelExtendedId +E_MODEL_WARIOS_WING_CAP = 373 + +--- @type ModelExtendedId +E_MODEL_WARIOS_WINGED_METAL_CAP = 374 + +--- @type ModelExtendedId +E_MODEL_MAX = 375 + +--- @type integer +ANIM_FLAG_2 = (1 << 2) + +--- @type integer +ANIM_FLAG_5 = (1 << 5) + +--- @type integer +ANIM_FLAG_6 = (1 << 6) + +--- @type integer +ANIM_FLAG_7 = (1 << 7) + +--- @type integer +ANIM_FLAG_FORWARD = (1 << 1) + +--- @type integer +ANIM_FLAG_HOR_TRANS = (1 << 3) + +--- @type integer +ANIM_FLAG_NOLOOP = (1 << 0) + +--- @type integer +ANIM_FLAG_VERT_TRANS = (1 << 4) + +--- @type integer +COOP_OBJ_FLAG_LUA = (1 << 1) + +--- @type integer +COOP_OBJ_FLAG_NETWORK = (1 << 0) + +--- @type integer +COOP_OBJ_FLAG_NON_SYNC = (1 << 2) + +--- @type integer +MAX_PLAYERS = 16 + +--- @type integer +PLAY_MODE_CHANGE_AREA = 3 + +--- @type integer +PLAY_MODE_CHANGE_LEVEL = 4 + +--- @type integer +PLAY_MODE_FRAME_ADVANCE = 5 + +--- @type integer +PLAY_MODE_NORMAL = 0 + +--- @type integer +PLAY_MODE_PAUSED = 2 + +--- @class AreaTimerType + +--- @type AreaTimerType +AREA_TIMER_TYPE_NONE = 0 + +--- @type AreaTimerType +AREA_TIMER_TYPE_LOOP = 1 + +--- @type AreaTimerType +AREA_TIMER_TYPE_MAXIMUM = 2 + +--- @class SpTaskState + +--- @type SpTaskState +SPTASK_STATE_NOT_STARTED = 0 + +--- @type SpTaskState +SPTASK_STATE_RUNNING = 1 + +--- @type SpTaskState +SPTASK_STATE_INTERRUPTED = 2 + +--- @type SpTaskState +SPTASK_STATE_FINISHED = 3 + +--- @type SpTaskState +SPTASK_STATE_FINISHED_DP = 4 diff --git a/autogen/lua_definitions/functions.lua b/autogen/lua_definitions/functions.lua new file mode 100644 index 00000000..bff8eb97 --- /dev/null +++ b/autogen/lua_definitions/functions.lua @@ -0,0 +1,3800 @@ +-- AUTOGENERATED FOR CODE EDITORS -- + +--- @param id BehaviorId +--- @return Pointer_BehaviorScript +function get_behavior_from_id(id) + -- ... +end + +--- @param behavior Pointer_BehaviorScript +--- @return BehaviorId +function get_id_from_behavior(behavior) + -- ... +end + +--- @param c Camera +--- @param mode integer +--- @param frames integer +--- @return nil +function set_camera_mode(c, mode, frames) + -- ... +end + +--- @param c Camera +--- @param x integer +--- @param y integer +--- @param z integer +--- @return integer +function set_camera_mode_fixed(c, x, y, z) + -- ... +end + +--- @param mag integer +--- @param decay integer +--- @param inc integer +--- @return nil +function set_camera_pitch_shake(mag, decay, inc) + -- ... +end + +--- @param mag integer +--- @param decay integer +--- @param inc integer +--- @return nil +function set_camera_roll_shake(mag, decay, inc) + -- ... +end + +--- @param shake integer +--- @return nil +function set_camera_shake_from_hit(shake) + -- ... +end + +--- @param shake integer +--- @param posX number +--- @param posY number +--- @param posZ number +--- @return nil +function set_camera_shake_from_point(shake, posX, posY, posZ) + -- ... +end + +--- @param mag integer +--- @param decay integer +--- @param inc integer +--- @return nil +function set_camera_yaw_shake(mag, decay, inc) + -- ... +end + +--- @param shake integer +--- @return nil +function set_environmental_camera_shake(shake) + -- ... +end + +--- @param m MarioState +--- @return Character +function get_character(m) + -- ... +end + +--- @param m MarioState +--- @return number +function get_character_anim_offset(m) + -- ... +end + +--- @param m MarioState +--- @param characterSound CharacterSound +--- @return nil +function play_character_sound(m, characterSound) + -- ... +end + +--- @param m MarioState +--- @param characterSound CharacterSound +--- @param flags integer +--- @return nil +function play_character_sound_if_no_flag(m, characterSound, flags) + -- ... +end + +--- @param m MarioState +--- @param characterSound CharacterSound +--- @param offset integer +--- @return nil +function play_character_sound_offset(m, characterSound, offset) + -- ... +end + +--- @param m MarioState +--- @return nil +function update_character_anim_offset(m) + -- ... +end + +--- @param message string +--- @return nil +function djui_chat_message_create(message) + -- ... +end + +--- @return integer +function djui_hud_get_screen_height() + -- ... +end + +--- @return integer +function djui_hud_get_screen_width() + -- ... +end + +--- @param message string +--- @return number +function djui_hud_measure_text(message) + -- ... +end + +--- @param message string +--- @param x number +--- @param y number +--- @param scale number +--- @return nil +function djui_hud_print_text(message, x, y, scale) + -- ... +end + +--- @param x number +--- @param y number +--- @param width number +--- @param height number +--- @return nil +function djui_hud_render_rect(x, y, width, height) + -- ... +end + +--- @param texInfo TextureInfo +--- @param x number +--- @param y number +--- @param scaleW number +--- @param scaleH number +--- @return nil +function djui_hud_render_texture(texInfo, x, y, scaleW, scaleH) + -- ... +end + +--- @param r integer +--- @param g integer +--- @param b integer +--- @param a integer +--- @return nil +function djui_hud_set_color(r, g, b, a) + -- ... +end + +--- @param fontType DjuiFontType +--- @return nil +function djui_hud_set_font(fontType) + -- ... +end + +--- @param resolutionType HudUtilsResolution +--- @return nil +function djui_hud_set_resolution(resolutionType) + -- ... +end + +--- @param message string +--- @param lines integer +--- @return nil +function djui_popup_create(message, lines) + -- ... +end + +--- @param player integer +--- @param targetScale integer +--- @param fadeTimer integer +--- @return nil +function fade_volume_scale(player, targetScale, fadeTimer) + -- ... +end + +--- @param arg0 integer +--- @param fadeOut integer +--- @return nil +function fadeout_background_music(arg0, fadeOut) + -- ... +end + +--- @return nil +function play_course_clear() + -- ... +end + +--- @param dialogID integer +--- @return nil +function play_dialog_sound(dialogID) + -- ... +end + +--- @param player integer +--- @param seqArgs integer +--- @param fadeTimer integer +--- @return nil +function play_music(player, seqArgs, fadeTimer) + -- ... +end + +--- @return nil +function play_peachs_jingle() + -- ... +end + +--- @param arg0 integer +--- @return nil +function play_power_star_jingle(arg0) + -- ... +end + +--- @return nil +function play_puzzle_jingle() + -- ... +end + +--- @return nil +function play_race_fanfare() + -- ... +end + +--- @param seqId integer +--- @param bgMusicVolume integer +--- @param volume integer +--- @param fadeTimer integer +--- @return nil +function play_secondary_music(seqId, bgMusicVolume, volume, fadeTimer) + -- ... +end + +--- @param soundBits integer +--- @param pos Vec3f +--- @return nil +function play_sound(soundBits, pos) + -- ... +end + +--- @param soundBits integer +--- @param pos Vec3f +--- @param freqScale number +--- @return nil +function play_sound_with_freq_scale(soundBits, pos, freqScale) + -- ... +end + +--- @return nil +function play_star_fanfare() + -- ... +end + +--- @return nil +function play_toads_jingle() + -- ... +end + +--- @param player integer +--- @param fadeTimer integer +--- @return nil +function sequence_player_fade_out(player, fadeTimer) + -- ... +end + +--- @param player integer +--- @param fadeTimer integer +--- @return nil +function sequence_player_unlower(player, fadeTimer) + -- ... +end + +--- @param m MarioState +--- @return integer +function does_mario_have_normal_cap_on_head(m) + -- ... +end + +--- @param door Object +--- @return integer +function get_door_save_file_flag(door) + -- ... +end + +--- @param m MarioState +--- @param capSpeed number +--- @return nil +function mario_blow_off_cap(m, capSpeed) + -- ... +end + +--- @param m MarioState +--- @return integer +function mario_check_object_grab(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function mario_drop_held_object(m) + -- ... +end + +--- @param m MarioState +--- @param interactType integer +--- @return Object +function mario_get_collided_object(m, interactType) + -- ... +end + +--- @param m MarioState +--- @return nil +function mario_grab_used_object(m) + -- ... +end + +--- @param m MarioState +--- @param arg integer +--- @return integer +function mario_lose_cap_to_enemy(m, arg) + -- ... +end + +--- @param m MarioState +--- @param o Object +--- @return integer +function mario_obj_angle_to_object(m, o) + -- ... +end + +--- @param m MarioState +--- @return nil +function mario_retrieve_cap(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function mario_stop_riding_and_holding(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function mario_stop_riding_object(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function mario_throw_held_object(m) + -- ... +end + +--- @param courseNum integer +--- @param levelNum integer +--- @param areaIndex integer +--- @return string +function get_level_name(courseNum, levelNum, areaIndex) + -- ... +end + +--- @param m MarioState +--- @return nil +function adjust_sound_for_speed(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function check_common_action_exits(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function check_common_hold_action_exits(m) + -- ... +end + +--- @param m MarioState +--- @param action integer +--- @param actionArg integer +--- @return integer +function drop_and_set_mario_action(m, action, actionArg) + -- ... +end + +--- @param o Object +--- @return integer +function execute_mario_action(o) + -- ... +end + +--- @param m MarioState +--- @param angleFromMario integer +--- @param distFromMario number +--- @return number +function find_floor_height_relative_polar(m, angleFromMario, distFromMario) + -- ... +end + +--- @param m MarioState +--- @param yawOffset integer +--- @return integer +function find_floor_slope(m, yawOffset) + -- ... +end + +--- @param o Object +--- @param yaw integer +--- @param translation Vec3s +--- @return integer +function find_mario_anim_flags_and_translation(o, yaw, translation) + -- ... +end + +--- @param m MarioState +--- @return integer +function force_idle_state(m) + -- ... +end + +--- @param m MarioState +--- @param action integer +--- @param actionArg integer +--- @param hurtCounter integer +--- @return integer +function hurt_and_set_mario_action(m, action, actionArg, hurtCounter) + -- ... +end + +--- @param m MarioState +--- @return integer +function is_anim_at_end(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function is_anim_past_end(m) + -- ... +end + +--- @param m MarioState +--- @param animFrame integer +--- @return integer +function is_anim_past_frame(m, animFrame) + -- ... +end + +--- @param m MarioState +--- @return boolean +function mario_can_bubble(m) + -- ... +end + +--- @param m MarioState +--- @param turnYaw integer +--- @return integer +function mario_facing_downhill(m, turnYaw) + -- ... +end + +--- @param m MarioState +--- @return integer +function mario_floor_is_slippery(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function mario_floor_is_slope(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function mario_floor_is_steep(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function mario_get_floor_class(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function mario_get_terrain_sound_addend(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function mario_set_bubbled(m) + -- ... +end + +--- @param m MarioState +--- @param speed number +--- @return nil +function mario_set_forward_vel(m, speed) + -- ... +end + +--- @param m MarioState +--- @param soundBits integer +--- @param waveParticleType integer +--- @return nil +function play_mario_action_sound(m, soundBits, waveParticleType) + -- ... +end + +--- @param m MarioState +--- @param soundBits integer +--- @return nil +function play_mario_heavy_landing_sound(m, soundBits) + -- ... +end + +--- @param m MarioState +--- @param soundBits integer +--- @return nil +function play_mario_heavy_landing_sound_once(m, soundBits) + -- ... +end + +--- @param m MarioState +--- @return nil +function play_mario_jump_sound(m) + -- ... +end + +--- @param m MarioState +--- @param soundBits integer +--- @return nil +function play_mario_landing_sound(m, soundBits) + -- ... +end + +--- @param m MarioState +--- @param soundBits integer +--- @return nil +function play_mario_landing_sound_once(m, soundBits) + -- ... +end + +--- @param m MarioState +--- @param primarySoundBits integer +--- @param scondarySoundBits integer +--- @return nil +function play_mario_sound(m, primarySoundBits, scondarySoundBits) + -- ... +end + +--- @param m MarioState +--- @param soundBits integer +--- @param waveParticleType integer +--- @return nil +function play_sound_and_spawn_particles(m, soundBits, waveParticleType) + -- ... +end + +--- @param m MarioState +--- @param soundBits integer +--- @param flags integer +--- @return nil +function play_sound_if_no_flag(m, soundBits, flags) + -- ... +end + +--- @param pos Vec3f +--- @param offset number +--- @param radius number +--- @return Surface +function resolve_and_return_wall_collisions(pos, offset, radius) + -- ... +end + +--- @param m MarioState +--- @return integer +function return_mario_anim_y_translation(m) + -- ... +end + +--- @param m MarioState +--- @param animFrame integer +--- @return nil +function set_anim_to_frame(m, animFrame) + -- ... +end + +--- @param m MarioState +--- @return integer +function set_jump_from_landing(m) + -- ... +end + +--- @param m MarioState +--- @param action integer +--- @param actionArg integer +--- @return integer +function set_jumping_action(m, action, actionArg) + -- ... +end + +--- @param m MarioState +--- @param action integer +--- @param actionArg integer +--- @return integer +function set_mario_action(m, action, actionArg) + -- ... +end + +--- @param m MarioState +--- @param targetAnimID integer +--- @param accel integer +--- @return integer +function set_mario_anim_with_accel(m, targetAnimID, accel) + -- ... +end + +--- @param m MarioState +--- @param targetAnimID integer +--- @return integer +function set_mario_animation(m, targetAnimID) + -- ... +end + +--- @param m MarioState +--- @return nil +function set_steep_jump_action(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function set_water_plunge_action(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function transition_submerged_to_walking(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function update_mario_pos_for_anim(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function update_mario_sound_and_camera(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function check_common_airborne_cancels(m) + -- ... +end + +--- @param m MarioState +--- @param hardFallAction integer +--- @return integer +function check_fall_damage(m, hardFallAction) + -- ... +end + +--- @param m MarioState +--- @param hardFallAction integer +--- @return integer +function check_fall_damage_or_get_stuck(m, hardFallAction) + -- ... +end + +--- @param m MarioState +--- @return integer +function check_horizontal_wind(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function check_kick_or_dive_in_air(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function check_wall_kick(m) + -- ... +end + +--- @param m MarioState +--- @param landAction integer +--- @param animation integer +--- @param stepArg integer +--- @return integer +function common_air_action_step(m, landAction, animation, stepArg) + -- ... +end + +--- @param m MarioState +--- @param landAction integer +--- @param hardFallAction integer +--- @param animation integer +--- @param speed number +--- @return integer +function common_air_knockback_step(m, landAction, hardFallAction, animation, speed) + -- ... +end + +--- @param m MarioState +--- @return integer +function lava_boost_on_wall(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function mario_execute_airborne_action(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function play_far_fall_sound(m) + -- ... +end + +--- @param m MarioState +--- @param frame1 integer +--- @param frame2 integer +--- @param frame3 integer +--- @return nil +function play_flip_sounds(m, frame1, frame2, frame3) + -- ... +end + +--- @param m MarioState +--- @return nil +function play_knockback_sound(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function should_get_stuck_in_ground(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function update_air_with_turn(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function update_air_without_turn(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function update_flying(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function update_flying_pitch(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function update_flying_yaw(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function update_lava_boost_or_twirling(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function add_tree_leaf_particles(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function check_common_automatic_cancels(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function climb_up_ledge(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function let_go_of_ledge(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function mario_execute_automatic_action(m) + -- ... +end + +--- @param m MarioState +--- @param nextPos Vec3f +--- @return integer +function perform_hanging_step(m, nextPos) + -- ... +end + +--- @param m MarioState +--- @param b integer +--- @return nil +function play_climbing_sounds(m, b) + -- ... +end + +--- @param m MarioState +--- @param offsetY number +--- @return integer +function set_pole_position(m, offsetY) + -- ... +end + +--- @param m MarioState +--- @return integer +function update_hang_moving(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function update_hang_stationary(m) + -- ... +end + +--- @param m MarioState +--- @param animation integer +--- @param endAction integer +--- @return nil +function update_ledge_climb(m, animation, endAction) + -- ... +end + +--- @param m MarioState +--- @return nil +function update_ledge_climb_camera(m) + -- ... +end + +--- @return nil +function bhv_end_peach_loop() + -- ... +end + +--- @return nil +function bhv_end_toad_loop() + -- ... +end + +--- @param m MarioState +--- @param animation integer +--- @param frameToDeathWarp integer +--- @return integer +function common_death_handler(m, animation, frameToDeathWarp) + -- ... +end + +--- @param m MarioState +--- @return nil +function cutscene_put_cap_on(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function cutscene_take_cap_off(m) + -- ... +end + +--- @param m MarioState +--- @param isInWater integer +--- @return nil +function general_star_dance_handler(m, isInWater) + -- ... +end + +--- @param x integer +--- @param y integer +--- @param z integer +--- @param radius number +--- @return nil +function generate_yellow_sparkles(x, y, z, radius) + -- ... +end + +--- @param m MarioState +--- @return integer +function get_star_collection_dialog(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function handle_save_menu(m) + -- ... +end + +--- @param m MarioState +--- @param endAction integer +--- @param animation integer +--- @param forwardVel number +--- @return integer +function launch_mario_until_land(m, endAction, animation, forwardVel) + -- ... +end + +--- @param m MarioState +--- @return integer +function mario_execute_cutscene_action(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function mario_ready_to_speak(m) + -- ... +end + +--- @return nil +function print_displaying_credits_entry() + -- ... +end + +--- @param m MarioState +--- @param object Object +--- @return integer +function should_start_or_continue_dialog(m, object) + -- ... +end + +--- @param m MarioState +--- @param animation integer +--- @param unstuckFrame integer +--- @param target2 integer +--- @param target3 integer +--- @param endAction integer +--- @return nil +function stuck_in_ground_handler(m, animation, unstuckFrame, target2, target3, endAction) + -- ... +end + +--- @param m MarioState +--- @return nil +function align_with_floor(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function analog_stick_held_back(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function anim_and_audio_for_heavy_walk(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function anim_and_audio_for_hold_walk(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function anim_and_audio_for_walk(m) + -- ... +end + +--- @param m MarioState +--- @param frictionFactor number +--- @return integer +function apply_landing_accel(m, frictionFactor) + -- ... +end + +--- @param m MarioState +--- @return nil +function apply_slope_accel(m) + -- ... +end + +--- @param m MarioState +--- @param decelCoef number +--- @return integer +function apply_slope_decel(m, decelCoef) + -- ... +end + +--- @param m MarioState +--- @return integer +function begin_braking_action(m) + -- ... +end + +--- @param m MarioState +--- @param forwardVel number +--- @param action integer +--- @param actionArg integer +--- @return integer +function begin_walking_action(m, forwardVel, action, actionArg) + -- ... +end + +--- @param m MarioState +--- @return integer +function check_common_moving_cancels(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function check_ground_dive_or_punch(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function check_ledge_climb_down(m) + -- ... +end + +--- @param m MarioState +--- @param animation integer +--- @param arg2 integer +--- @param arg3 integer +--- @param arg4 integer +--- @return integer +function common_ground_knockback_action(m, animation, arg2, arg3, arg4) + -- ... +end + +--- @param m MarioState +--- @param animation integer +--- @param airAction integer +--- @return integer +function common_landing_action(m, animation, airAction) + -- ... +end + +--- @param m MarioState +--- @param endAction integer +--- @param airAction integer +--- @param animation integer +--- @return nil +function common_slide_action(m, endAction, airAction, animation) + -- ... +end + +--- @param m MarioState +--- @param stopAction integer +--- @param jumpAction integer +--- @param airAction integer +--- @param animation integer +--- @return integer +function common_slide_action_with_jump(m, stopAction, jumpAction, airAction, animation) + -- ... +end + +--- @param m MarioState +--- @return integer +function mario_execute_moving_action(m) + -- ... +end + +--- @param m MarioState +--- @param frame1 integer +--- @param frame2 integer +--- @return nil +function play_step_sound(m, frame1, frame2) + -- ... +end + +--- @param m MarioState +--- @param startPos Vec3f +--- @return nil +function push_or_sidle_wall(m, startPos) + -- ... +end + +--- @param m MarioState +--- @param animation1 integer +--- @param animation2 integer +--- @param endAction integer +--- @param airAction integer +--- @return integer +function quicksand_jump_land_action(m, animation1, animation2, endAction, airAction) + -- ... +end + +--- @param m MarioState +--- @param action integer +--- @param actionArg integer +--- @return integer +function set_triple_jump_action(m, action, actionArg) + -- ... +end + +--- @param m MarioState +--- @return integer +function should_begin_sliding(m) + -- ... +end + +--- @param m MarioState +--- @param fastAction integer +--- @param slowAction integer +--- @return nil +function slide_bonk(m, fastAction, slowAction) + -- ... +end + +--- @param m MarioState +--- @param stopAction integer +--- @param airAction integer +--- @param animation integer +--- @return integer +function stomach_slide_action(m, stopAction, airAction, animation) + -- ... +end + +--- @param m MarioState +--- @return nil +function tilt_body_butt_slide(m) + -- ... +end + +--- @param m MarioState +--- @param startYaw integer +--- @return nil +function tilt_body_ground_shell(m, startYaw) + -- ... +end + +--- @param m MarioState +--- @return integer +function tilt_body_running(m) + -- ... +end + +--- @param m MarioState +--- @param startYaw integer +--- @return nil +function tilt_body_walking(m, startYaw) + -- ... +end + +--- @param m MarioState +--- @return integer +function update_decelerating_speed(m) + -- ... +end + +--- @param m MarioState +--- @return nil +function update_shell_speed(m) + -- ... +end + +--- @param m MarioState +--- @param stopSpeed number +--- @return integer +function update_sliding(m, stopSpeed) + -- ... +end + +--- @param m MarioState +--- @param accel number +--- @param lossFactor number +--- @return nil +function update_sliding_angle(m, accel, lossFactor) + -- ... +end + +--- @param m MarioState +--- @return nil +function update_walking_speed(m) + -- ... +end + +--- @param m MarioState +--- @param animation integer +--- @param endAction integer +--- @return nil +function animated_stationary_ground_step(m, animation, endAction) + -- ... +end + +--- @param m MarioState +--- @return integer +function check_common_object_cancels(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function mario_execute_object_action(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function mario_update_punch_sequence(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function check_common_hold_idle_cancels(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function check_common_idle_cancels(m) + -- ... +end + +--- @param m MarioState +--- @param action integer +--- @return integer +function check_common_landing_cancels(m, action) + -- ... +end + +--- @param m MarioState +--- @return integer +function check_common_stationary_cancels(m) + -- ... +end + +--- @param m MarioState +--- @param arg1 integer +--- @param action integer +--- @return integer +function landing_step(m, arg1, action) + -- ... +end + +--- @param m MarioState +--- @return integer +function mario_execute_stationary_action(m) + -- ... +end + +--- @param m MarioState +--- @param actionState integer +--- @param animFrame integer +--- @param sound integer +--- @return nil +function play_anim_sound(m, actionState, animFrame, sound) + -- ... +end + +--- @param m MarioState +--- @param animID integer +--- @param action integer +--- @return nil +function stopping_step(m, animID, action) + -- ... +end + +--- @param m MarioState +--- @param step Vec3f +--- @return nil +function apply_water_current(m, step) + -- ... +end + +--- @param m MarioState +--- @return nil +function float_surface_gfx(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function mario_execute_submerged_action(m) + -- ... +end + +--- @param m MarioState +--- @param nextPos Vec3f +--- @return integer +function perform_water_full_step(m, nextPos) + -- ... +end + +--- @param m MarioState +--- @return integer +function perform_water_step(m) + -- ... +end + +--- @param m MarioState +--- @param particleFlag integer +--- @return nil +function set_swimming_at_surface_particles(m, particleFlag) + -- ... +end + +--- @return number +function get_additive_y_vel_for_jumps() + -- ... +end + +--- @param data BullyCollisionData +--- @param posX number +--- @param posZ number +--- @param forwardVel number +--- @param yaw integer +--- @param conversionRatio number +--- @param radius number +--- @return nil +function init_bully_collision_data(data, posX, posZ, forwardVel, yaw, conversionRatio, radius) + -- ... +end + +--- @param arg0 MarioState +--- @param arg1 integer +--- @return nil +function mario_bonk_reflection(arg0, arg1) + -- ... +end + +--- @param arg0 MarioState +--- @param arg1 integer +--- @param arg2 integer +--- @return integer +function mario_push_off_steep_floor(arg0, arg1, arg2) + -- ... +end + +--- @param arg0 MarioState +--- @return integer +function mario_update_moving_sand(arg0) + -- ... +end + +--- @param arg0 MarioState +--- @param arg1 number +--- @return integer +function mario_update_quicksand(arg0, arg1) + -- ... +end + +--- @param arg0 MarioState +--- @return integer +function mario_update_windy_ground(arg0) + -- ... +end + +--- @param arg0 MarioState +--- @param arg1 integer +--- @return integer +function perform_air_step(arg0, arg1) + -- ... +end + +--- @param arg0 MarioState +--- @return integer +function perform_ground_step(arg0) + -- ... +end + +--- @param m MarioState +--- @return nil +function set_vel_from_pitch_and_yaw(m) + -- ... +end + +--- @param arg0 MarioState +--- @return integer +function stationary_ground_step(arg0) + -- ... +end + +--- @param arg0 MarioState +--- @return nil +function stop_and_set_height_to_floor(arg0) + -- ... +end + +--- @param courseNum integer +--- @param actNum integer +--- @param levelNum integer +--- @param areaIndex integer +--- @return NetworkPlayer +function get_network_player_from_area(courseNum, actNum, levelNum, areaIndex) + -- ... +end + +--- @param courseNum integer +--- @param actNum integer +--- @param levelNum integer +--- @return NetworkPlayer +function get_network_player_from_level(courseNum, actNum, levelNum) + -- ... +end + +--- @return NetworkPlayer +function get_network_player_smallest_global() + -- ... +end + +--- @return integer +function network_player_connected_count() + -- ... +end + +--- @param globalIndex integer +--- @return NetworkPlayer +function network_player_from_global_index(globalIndex) + -- ... +end + +--- @param np NetworkPlayer +--- @param description string +--- @param r integer +--- @param g integer +--- @param b integer +--- @param a integer +--- @return nil +function network_player_set_description(np, description, r, g, b, a) + -- ... +end + +--- @param localIndex integer +--- @return string +function network_get_player_text_color_string(localIndex) + -- ... +end + +--- @param localIndex integer +--- @return integer +function network_global_index_from_local(localIndex) + -- ... +end + +--- @return boolean +function network_is_server() + -- ... +end + +--- @param globalIndex integer +--- @return integer +function network_local_index_from_global(globalIndex) + -- ... +end + +--- @param f number +--- @return number +function absf_2(f) + -- ... +end + +--- @param objFloor Surface +--- @param objFloorY number +--- @param objVelX number +--- @param objVelZ number +--- @return nil +function calc_new_obj_vel_and_pos_y(objFloor, objFloorY, objVelX, objVelZ) + -- ... +end + +--- @param objFloor Surface +--- @param floorY number +--- @param objVelX number +--- @param objVelZ number +--- @param waterY number +--- @return nil +function calc_new_obj_vel_and_pos_y_underwater(objFloor, floorY, objVelX, objVelZ, waterY) + -- ... +end + +--- @param objFriction Pointer_number +--- @param floor_nY number +--- @return nil +function calc_obj_friction(objFriction, floor_nY) + -- ... +end + +--- @param room integer +--- @return integer +function current_mario_room_check(room) + -- ... +end + +--- @param m MarioState +--- @return integer +function is_player_active(m) + -- ... +end + +--- @param obj Object +--- @param x number +--- @param y number +--- @param z number +--- @param dist integer +--- @return integer +function is_point_close_to_object(obj, x, y, z, dist) + -- ... +end + +--- @param x number +--- @param y number +--- @param z number +--- @param dist integer +--- @return integer +function is_point_within_radius_of_mario(x, y, z, dist) + -- ... +end + +--- @param obj Object +--- @return MarioState +function nearest_mario_state_to_object(obj) + -- ... +end + +--- @param obj Object +--- @return Object +function nearest_player_to_object(obj) + -- ... +end + +--- @param collisionFlags integer +--- @param floor Surface +--- @return nil +function obj_check_floor_death(collisionFlags, floor) + -- ... +end + +--- @param base integer +--- @param goal integer +--- @param range integer +--- @return integer +function obj_check_if_facing_toward_angle(base, goal, range) + -- ... +end + +--- @param objNewX number +--- @param objY number +--- @param objNewZ number +--- @param objVelX number +--- @param objVelZ number +--- @return integer +function obj_find_wall(objNewX, objY, objNewZ, objVelX, objVelZ) + -- ... +end + +--- @param dist Vec3f +--- @param x number +--- @param y number +--- @param z number +--- @param radius number +--- @return integer +function obj_find_wall_displacement(dist, x, y, z, radius) + -- ... +end + +--- @param obj Object +--- @param lifeSpan integer +--- @return integer +function obj_flicker_and_disappear(obj, lifeSpan) + -- ... +end + +--- @return integer +function obj_lava_death() + -- ... +end + +--- @param obj Object +--- @return nil +function obj_move_xyz_using_fvel_and_yaw(obj) + -- ... +end + +--- @param obj Object +--- @param normalX number +--- @param normalY number +--- @param normalZ number +--- @return nil +function obj_orient_graph(obj, normalX, normalY, normalZ) + -- ... +end + +--- @param obj Object +--- @param homeX number +--- @param homeY number +--- @param homeZ number +--- @param baseDisp integer +--- @return nil +function obj_return_and_displace_home(obj, homeX, homeY, homeZ, baseDisp) + -- ... +end + +--- @param obj Object +--- @param homeX number +--- @param y number +--- @param homeZ number +--- @param dist integer +--- @return integer +function obj_return_home_if_safe(obj, homeX, y, homeZ, dist) + -- ... +end + +--- @param obj Object +--- @param nCoins integer +--- @return nil +function obj_spawn_yellow_coins(obj, nCoins) + -- ... +end + +--- @param waterY integer +--- @param objY integer +--- @return nil +function obj_splash(waterY, objY) + -- ... +end + +--- @return nil +function obj_update_pos_vel_xz() + -- ... +end + +--- @return integer +function object_step() + -- ... +end + +--- @return integer +function object_step_without_floor_orient() + -- ... +end + +--- @param obj Object +--- @param dist integer +--- @return nil +function set_object_visibility(obj, dist) + -- ... +end + +--- @return nil +function set_yoshi_as_not_dead() + -- ... +end + +--- @param behParam integer +--- @param relX integer +--- @param relY integer +--- @param relZ integer +--- @return nil +function spawn_orange_number(behParam, relX, relY, relZ) + -- ... +end + +--- @param objFloor Surface +--- @param floorY number +--- @param objVelX number +--- @param objVelZ number +--- @return integer +function turn_obj_away_from_steep_floor(objFloor, floorY, objVelX, objVelZ) + -- ... +end + +--- @param velX number +--- @param velZ number +--- @param nX number +--- @param nY number +--- @param nZ number +--- @param objYawX Pointer_number +--- @param objYawZ Pointer_number +--- @return nil +function turn_obj_away_from_surface(velX, velZ, nX, nY, nZ, objYawX, objYawZ) + -- ... +end + +--- @param px Pointer_number +--- @param target number +--- @param delta number +--- @return integer +function approach_f32_ptr(px, target, delta) + -- ... +end + +--- @param arg0 integer +--- @return integer +function cur_obj_init_anim_and_check_if_end(arg0) + -- ... +end + +--- @param arg0 integer +--- @param arg1 integer +--- @return integer +function cur_obj_init_anim_check_frame(arg0, arg1) + -- ... +end + +--- @param arg0 integer +--- @return nil +function cur_obj_init_anim_extend(arg0) + -- ... +end + +--- @param arg0 integer +--- @param arg1 integer +--- @param sound integer +--- @return integer +function cur_obj_play_sound_at_anim_range(arg0, arg1, sound) + -- ... +end + +--- @param arg0 integer +--- @return integer +function cur_obj_set_anim_if_at_end(arg0) + -- ... +end + +--- @param arg0 number +--- @param arg1 number +--- @return nil +function cur_obj_spin_all_dimensions(arg0, arg1) + -- ... +end + +--- @param baseScale number +--- @return nil +function obj_act_knockback(baseScale) + -- ... +end + +--- @param baseScale number +--- @return nil +function obj_act_squished(baseScale) + -- ... +end + +--- @param targetYaw Pointer_integer +--- @return integer +function obj_bounce_off_walls_edges_objects(targetYaw) + -- ... +end + +--- @param hitbox ObjectHitbox +--- @param attackedMarioAction integer +--- @return integer +function obj_check_attacks(hitbox, attackedMarioAction) + -- ... +end + +--- @param speed number +--- @return nil +function obj_compute_vel_from_move_pitch(speed) + -- ... +end + +--- @return integer +function obj_die_if_above_lava_and_health_non_positive() + -- ... +end + +--- @return nil +function obj_die_if_health_non_positive() + -- ... +end + +--- @param targetPitch integer +--- @param deltaPitch integer +--- @return integer +function obj_face_pitch_approach(targetPitch, deltaPitch) + -- ... +end + +--- @param targetRoll integer +--- @param deltaRoll integer +--- @return integer +function obj_face_roll_approach(targetRoll, deltaRoll) + -- ... +end + +--- @param targetYaw integer +--- @param deltaYaw integer +--- @return integer +function obj_face_yaw_approach(targetYaw, deltaYaw) + -- ... +end + +--- @param target number +--- @param delta number +--- @return integer +function obj_forward_vel_approach(target, delta) + -- ... +end + +--- @return integer +function obj_get_pitch_from_vel() + -- ... +end + +--- @param latDistToHome number +--- @return integer +function obj_get_pitch_to_home(latDistToHome) + -- ... +end + +--- @param scaleVel Pointer_number +--- @param shootFireScale number +--- @param endScale number +--- @return integer +function obj_grow_then_shrink(scaleVel, shootFireScale, endScale) + -- ... +end + +--- @param hitbox ObjectHitbox +--- @param attackedMarioAction integer +--- @param attackHandlers Pointer_integer +--- @return integer +function obj_handle_attacks(hitbox, attackedMarioAction, attackHandlers) + -- ... +end + +--- @param m MarioState +--- @param maxDist number +--- @param maxAngleDiff integer +--- @return integer +function obj_is_near_to_and_facing_mario(m, maxDist, maxAngleDiff) + -- ... +end + +--- @return integer +function obj_is_rendering_enabled() + -- ... +end + +--- @param endAction integer +--- @return integer +function obj_move_for_one_second(endAction) + -- ... +end + +--- @param target integer +--- @param delta integer +--- @return integer +function obj_move_pitch_approach(target, delta) + -- ... +end + +--- @param delta integer +--- @return integer +function obj_random_fixed_turn(delta) + -- ... +end + +--- @param targetYaw integer +--- @param turnSpeed integer +--- @return integer +function obj_resolve_collisions_and_turn(targetYaw, turnSpeed) + -- ... +end + +--- @param targetYaw Pointer_integer +--- @return integer +function obj_resolve_object_collisions(targetYaw) + -- ... +end + +--- @param targetYaw integer +--- @param maxRoll integer +--- @param rollSpeed integer +--- @return nil +function obj_roll_to_match_yaw_turn(targetYaw, maxRoll, rollSpeed) + -- ... +end + +--- @param targetYaw integer +--- @param turnAmount integer +--- @return nil +function obj_rotate_yaw_and_bounce_off_walls(targetYaw, turnAmount) + -- ... +end + +--- @param distFromHome number +--- @return nil +function obj_set_dist_from_home(distFromHome) + -- ... +end + +--- @param attackType integer +--- @return nil +function obj_set_knockback_action(attackType) + -- ... +end + +--- @return nil +function obj_set_squished_action() + -- ... +end + +--- @param angleVel Pointer_integer +--- @param angle Pointer_integer +--- @param targetAngle integer +--- @param targetSpeedProportion number +--- @param accel integer +--- @param minSpeed integer +--- @param maxSpeed integer +--- @return integer +function obj_smooth_turn(angleVel, angle, targetAngle, targetSpeedProportion, accel, minSpeed, maxSpeed) + -- ... +end + +--- @param relativePosX integer +--- @param relativePosY integer +--- @param relativePosZ integer +--- @param scale number +--- @param model integer +--- @param startSpeed number +--- @param endSpeed number +--- @param movePitch integer +--- @return Object +function obj_spit_fire(relativePosX, relativePosY, relativePosZ, scale, model, startSpeed, endSpeed, movePitch) + -- ... +end + +--- @param m MarioState +--- @param targetOffsetY number +--- @param turnAmount integer +--- @return integer +function obj_turn_pitch_toward_mario(m, targetOffsetY, turnAmount) + -- ... +end + +--- @return nil +function obj_unused_die() + -- ... +end + +--- @param blinkTimer Pointer_integer +--- @param baseCycleLength integer +--- @param cycleLengthRange integer +--- @param blinkLength integer +--- @return nil +function obj_update_blinking(blinkTimer, baseCycleLength, cycleLengthRange, blinkLength) + -- ... +end + +--- @param scale number +--- @return integer +function obj_update_standard_actions(scale) + -- ... +end + +--- @param target number +--- @param delta number +--- @return integer +function obj_y_vel_approach(target, delta) + -- ... +end + +--- @param value Pointer_integer +--- @param vel Pointer_number +--- @param target integer +--- @param velCloseToZero number +--- @param accel number +--- @param slowdown number +--- @return integer +function oscillate_toward(value, vel, target, velCloseToZero, accel, slowdown) + -- ... +end + +--- @param ballIndex integer +--- @param x number +--- @param y number +--- @param z number +--- @return nil +function platform_on_track_update_pos_or_spawn_ball(ballIndex, x, y, z) + -- ... +end + +--- @param base integer +--- @param range integer +--- @return integer +function random_linear_offset(base, range) + -- ... +end + +--- @param base integer +--- @param step integer +--- @param mod integer +--- @return integer +function random_mod_offset(base, step, mod) + -- ... +end + +--- @param x0 integer +--- @param x1 integer +--- @return integer +function abs_angle_diff(x0, x1) + -- ... +end + +--- @param value Pointer_number +--- @param dragStrength number +--- @return nil +function apply_drag_to_value(value, dragStrength) + -- ... +end + +--- @param value Pointer_number +--- @param target number +--- @param increment number +--- @return integer +function approach_f32_signed(value, target, increment) + -- ... +end + +--- @param value number +--- @param target number +--- @param increment number +--- @return number +function approach_f32_symmetric(value, target, increment) + -- ... +end + +--- @param value integer +--- @param target integer +--- @param increment integer +--- @return integer +function approach_s16_symmetric(value, target, increment) + -- ... +end + +--- @return nil +function bhv_dust_smoke_loop() + -- ... +end + +--- @return nil +function bhv_init_room() + -- ... +end + +--- @param a0 integer +--- @return integer +function bit_shift_left(a0) + -- ... +end + +--- @param segment ChainSegment +--- @return nil +function chain_segment_init(segment) + -- ... +end + +--- @param bitSet Pointer_integer +--- @param flag integer +--- @return integer +function clear_move_flag(bitSet, flag) + -- ... +end + +--- @param flags integer +--- @return nil +function clear_time_stop_flags(flags) + -- ... +end + +--- @param behavior Pointer_BehaviorScript +--- @return integer +function count_objects_with_behavior(behavior) + -- ... +end + +--- @return integer +function count_unimportant_objects() + -- ... +end + +--- @return number +function cur_obj_abs_y_dist_to_home() + -- ... +end + +--- @return integer +function cur_obj_advance_looping_anim() + -- ... +end + +--- @return nil +function cur_obj_align_gfx_with_floor() + -- ... +end + +--- @return integer +function cur_obj_angle_to_home() + -- ... +end + +--- @param dragStrength number +--- @return nil +function cur_obj_apply_drag_xz(dragStrength) + -- ... +end + +--- @return nil +function cur_obj_become_intangible() + -- ... +end + +--- @return nil +function cur_obj_become_tangible() + -- ... +end + +--- @param m MarioState +--- @param radius number +--- @param height number +--- @param unused integer +--- @return integer +function cur_obj_can_mario_activate_textbox(m, radius, height, unused) + -- ... +end + +--- @param m MarioState +--- @param radius number +--- @param height number +--- @return integer +function cur_obj_can_mario_activate_textbox_2(m, radius, height) + -- ... +end + +--- @param action integer +--- @return nil +function cur_obj_change_action(action) + -- ... +end + +--- @param frame integer +--- @return integer +function cur_obj_check_anim_frame(frame) + -- ... +end + +--- @param startFrame integer +--- @param rangeLength integer +--- @return integer +function cur_obj_check_anim_frame_in_range(startFrame, rangeLength) + -- ... +end + +--- @param a0 Pointer_integer +--- @return integer +function cur_obj_check_frame_prior_current_frame(a0) + -- ... +end + +--- @return integer +function cur_obj_check_grabbed_mario() + -- ... +end + +--- @return integer +function cur_obj_check_if_at_animation_end() + -- ... +end + +--- @return integer +function cur_obj_check_if_near_animation_end() + -- ... +end + +--- @return integer +function cur_obj_check_interacted() + -- ... +end + +--- @param flag integer +--- @return integer +function cur_obj_clear_interact_status_flag(flag) + -- ... +end + +--- @return nil +function cur_obj_compute_vel_xz() + -- ... +end + +--- @param behavior Pointer_BehaviorScript +--- @param dist number +--- @return integer +function cur_obj_count_objects_with_behavior(behavior, dist) + -- ... +end + +--- @param steepAngleDegrees integer +--- @return integer +function cur_obj_detect_steep_floor(steepAngleDegrees) + -- ... +end + +--- @return nil +function cur_obj_disable() + -- ... +end + +--- @return nil +function cur_obj_disable_rendering() + -- ... +end + +--- @param obj Object +--- @return nil +function cur_obj_disable_rendering_and_become_intangible(obj) + -- ... +end + +--- @param behavior Pointer_BehaviorScript +--- @return number +function cur_obj_dist_to_nearest_object_with_behavior(behavior) + -- ... +end + +--- @return nil +function cur_obj_enable_rendering() + -- ... +end + +--- @return nil +function cur_obj_enable_rendering_2() + -- ... +end + +--- @param obj Object +--- @return nil +function cur_obj_enable_rendering_and_become_tangible(obj) + -- ... +end + +--- @return nil +function cur_obj_enable_rendering_if_mario_in_room() + -- ... +end + +--- @param m MarioState +--- @param dialogFlags integer +--- @param dialogResult integer +--- @return nil +function cur_obj_end_dialog(m, dialogFlags, dialogResult) + -- ... +end + +--- @return nil +function cur_obj_extend_animation_if_at_end() + -- ... +end + +--- @param behavior Pointer_BehaviorScript +--- @param maxDist number +--- @return Object +function cur_obj_find_nearby_held_actor(behavior, maxDist) + -- ... +end + +--- @param behavior Pointer_BehaviorScript +--- @param dist Pointer_number +--- @return Object +function cur_obj_find_nearest_object_with_behavior(behavior, dist) + -- ... +end + +--- @return Object +function cur_obj_find_nearest_pole() + -- ... +end + +--- @param unusedArg integer +--- @return integer +function cur_obj_follow_path(unusedArg) + -- ... +end + +--- @param target number +--- @param increment number +--- @return nil +function cur_obj_forward_vel_approach_upward(target, increment) + -- ... +end + +--- @return nil +function cur_obj_get_dropped() + -- ... +end + +--- @param forwardVel number +--- @param velY number +--- @param thrownAction integer +--- @return nil +function cur_obj_get_thrown_or_placed(forwardVel, velY, thrownAction) + -- ... +end + +--- @param behavior Pointer_BehaviorScript +--- @return integer +function cur_obj_has_behavior(behavior) + -- ... +end + +--- @param modelID integer +--- @return integer +function cur_obj_has_model(modelID) + -- ... +end + +--- @return nil +function cur_obj_hide() + -- ... +end + +--- @param distY number +--- @return integer +function cur_obj_hide_if_mario_far_away_y(distY) + -- ... +end + +--- @return nil +function cur_obj_if_hit_wall_bounce_away() + -- ... +end + +--- @param animIndex integer +--- @return nil +function cur_obj_init_animation(animIndex) + -- ... +end + +--- @param animIndex integer +--- @param animFrame integer +--- @return nil +function cur_obj_init_animation_and_anim_frame(animIndex, animFrame) + -- ... +end + +--- @param animIndex integer +--- @return integer +function cur_obj_init_animation_and_check_if_near_end(animIndex) + -- ... +end + +--- @param animIndex integer +--- @return nil +function cur_obj_init_animation_and_extend_if_at_end(animIndex) + -- ... +end + +--- @param animIndex integer +--- @param accel number +--- @return nil +function cur_obj_init_animation_with_accel_and_sound(animIndex, accel) + -- ... +end + +--- @param animIndex integer +--- @return nil +function cur_obj_init_animation_with_sound(animIndex) + -- ... +end + +--- @return integer +function cur_obj_is_any_player_on_platform() + -- ... +end + +--- @return integer +function cur_obj_is_mario_ground_pounding_platform() + -- ... +end + +--- @return integer +function cur_obj_is_mario_on_platform() + -- ... +end + +--- @return number +function cur_obj_lateral_dist_from_mario_to_home() + -- ... +end + +--- @param obj Object +--- @return number +function cur_obj_lateral_dist_from_obj_to_home(obj) + -- ... +end + +--- @return number +function cur_obj_lateral_dist_to_home() + -- ... +end + +--- @return integer +function cur_obj_mario_far_away() + -- ... +end + +--- @param forwardVel number +--- @param velY number +--- @return nil +function cur_obj_move_after_thrown_or_dropped(forwardVel, velY) + -- ... +end + +--- @param steepSlopeAngleDegrees integer +--- @return nil +function cur_obj_move_standard(steepSlopeAngleDegrees) + -- ... +end + +--- @param a0 integer +--- @return integer +function cur_obj_move_up_and_down(a0) + -- ... +end + +--- @param gravity number +--- @param bounciness number +--- @return nil +function cur_obj_move_update_ground_air_flags(gravity, bounciness) + -- ... +end + +--- @return nil +function cur_obj_move_update_underwater_flags() + -- ... +end + +--- @return nil +function cur_obj_move_using_fvel_and_gravity() + -- ... +end + +--- @return nil +function cur_obj_move_using_vel() + -- ... +end + +--- @return nil +function cur_obj_move_using_vel_and_gravity() + -- ... +end + +--- @param steepSlopeNormalY number +--- @param careAboutEdgesAndSteepSlopes integer +--- @return integer +function cur_obj_move_xz(steepSlopeNormalY, careAboutEdgesAndSteepSlopes) + -- ... +end + +--- @return nil +function cur_obj_move_xz_using_fvel_and_yaw() + -- ... +end + +--- @param gravity number +--- @param bounciness number +--- @param buoyancy number +--- @return nil +function cur_obj_move_y(gravity, bounciness, buoyancy) + -- ... +end + +--- @param gravity number +--- @param buoyancy number +--- @return number +function cur_obj_move_y_and_get_water_level(gravity, buoyancy) + -- ... +end + +--- @return nil +function cur_obj_move_y_with_terminal_vel() + -- ... +end + +--- @param behavior Pointer_BehaviorScript +--- @return Object +function cur_obj_nearest_object_with_behavior(behavior) + -- ... +end + +--- @param minX number +--- @param maxX number +--- @param minZ number +--- @param maxZ number +--- @return integer +function cur_obj_outside_home_rectangle(minX, maxX, minZ, maxZ) + -- ... +end + +--- @param halfLength number +--- @return integer +function cur_obj_outside_home_square(halfLength) + -- ... +end + +--- @return integer +function cur_obj_progress_direction_table() + -- ... +end + +--- @param radius number +--- @return nil +function cur_obj_push_mario_away(radius) + -- ... +end + +--- @param radius number +--- @param extentY number +--- @return nil +function cur_obj_push_mario_away_from_cylinder(radius, extentY) + -- ... +end + +--- @return integer +function cur_obj_reflect_move_angle_off_wall() + -- ... +end + +--- @return nil +function cur_obj_reset_timer_and_subaction() + -- ... +end + +--- @return integer +function cur_obj_resolve_wall_collisions() + -- ... +end + +--- @return nil +function cur_obj_reverse_animation() + -- ... +end + +--- @return nil +function cur_obj_rotate_face_angle_using_vel() + -- ... +end + +--- @return nil +function cur_obj_rotate_move_angle_using_vel() + -- ... +end + +--- @param target integer +--- @param increment integer +--- @return integer +function cur_obj_rotate_yaw_toward(target, increment) + -- ... +end + +--- @param scale number +--- @return nil +function cur_obj_scale(scale) + -- ... +end + +--- @param a0 integer +--- @param a1 integer +--- @param sp10 number +--- @param sp14 number +--- @return nil +function cur_obj_scale_over_time(a0, a1, sp10, sp14) + -- ... +end + +--- @param behavior Pointer_BehaviorScript +--- @return nil +function cur_obj_set_behavior(behavior) + -- ... +end + +--- @param a0 Pointer_integer +--- @return integer +function cur_obj_set_direction_table(a0) + -- ... +end + +--- @return nil +function cur_obj_set_face_angle_to_move_angle() + -- ... +end + +--- @param hitbox ObjectHitbox +--- @param deathSound integer +--- @param noLootCoins integer +--- @return integer +function cur_obj_set_hitbox_and_die_if_attacked(hitbox, deathSound, noLootCoins) + -- ... +end + +--- @param radius number +--- @param height number +--- @return nil +function cur_obj_set_hitbox_radius_and_height(radius, height) + -- ... +end + +--- @param radius number +--- @param height number +--- @return nil +function cur_obj_set_hurtbox_radius_and_height(radius, height) + -- ... +end + +--- @param modelID integer +--- @return nil +function cur_obj_set_model(modelID) + -- ... +end + +--- @param other Object +--- @param dleft number +--- @param dy number +--- @param dforward number +--- @return nil +function cur_obj_set_pos_relative(other, dleft, dy, dforward) + -- ... +end + +--- @param dleft number +--- @param dy number +--- @param dforward number +--- @return nil +function cur_obj_set_pos_relative_to_parent(dleft, dy, dforward) + -- ... +end + +--- @return nil +function cur_obj_set_pos_to_home() + -- ... +end + +--- @return nil +function cur_obj_set_pos_to_home_and_stop() + -- ... +end + +--- @return nil +function cur_obj_set_pos_to_home_with_debug() + -- ... +end + +--- @return nil +function cur_obj_set_pos_via_transform() + -- ... +end + +--- @param m MarioState +--- @param f12 number +--- @param f14 number +--- @return nil +function cur_obj_set_vel_from_mario_vel(m, f12, f14) + -- ... +end + +--- @param sp18 number +--- @param sp1C integer +--- @return nil +function cur_obj_set_y_vel_and_animation(sp18, sp1C) + -- ... +end + +--- @param shake integer +--- @return nil +function cur_obj_shake_screen(shake) + -- ... +end + +--- @param amount number +--- @return nil +function cur_obj_shake_y(amount) + -- ... +end + +--- @param cycles integer +--- @param amount integer +--- @return integer +function cur_obj_shake_y_until(cycles, amount) + -- ... +end + +--- @return nil +function cur_obj_spawn_loot_blue_coin() + -- ... +end + +--- @param m MarioState +--- @return nil +function cur_obj_spawn_loot_coin_at_mario_pos(m) + -- ... +end + +--- @param info SpawnParticlesInfo +--- @return nil +function cur_obj_spawn_particles(info) + -- ... +end + +--- @param targetX number +--- @param targetY number +--- @param targetZ number +--- @param offsetY number +--- @return nil +function cur_obj_spawn_star_at_y_offset(targetX, targetY, targetZ, offsetY) + -- ... +end + +--- @param obj Object +--- @param cameraEvent integer +--- @return nil +function cur_obj_start_cam_event(obj, cameraEvent) + -- ... +end + +--- @return nil +function cur_obj_unhide() + -- ... +end + +--- @param sp18 integer +--- @param sp1C integer +--- @return nil +function cur_obj_unrender_and_reset_state(sp18, sp1C) + -- ... +end + +--- @return nil +function cur_obj_unused_init_on_floor() + -- ... +end + +--- @param animFrame1 integer +--- @param animFrame2 integer +--- @param sound integer +--- @return nil +function cur_obj_unused_play_footstep_sound(animFrame1, animFrame2, sound) + -- ... +end + +--- @param offsetY number +--- @param radius number +--- @return nil +function cur_obj_unused_resolve_wall_collisions(offsetY, radius) + -- ... +end + +--- @return nil +function cur_obj_update_floor() + -- ... +end + +--- @param steepSlopeDegrees integer +--- @return nil +function cur_obj_update_floor_and_resolve_wall_collisions(steepSlopeDegrees) + -- ... +end + +--- @return nil +function cur_obj_update_floor_and_walls() + -- ... +end + +--- @return nil +function cur_obj_update_floor_height() + -- ... +end + +--- @return Surface +function cur_obj_update_floor_height_and_get_floor() + -- ... +end + +--- @param timeUntilBlinking integer +--- @param numBlinks integer +--- @return integer +function cur_obj_wait_then_blink(timeUntilBlinking, numBlinks) + -- ... +end + +--- @return integer +function cur_obj_was_attacked_or_ground_pounded() + -- ... +end + +--- @return integer +function cur_obj_within_12k_bounds() + -- ... +end + +--- @return nil +function disable_time_stop() + -- ... +end + +--- @return nil +function disable_time_stop_including_mario() + -- ... +end + +--- @param obj Object +--- @param pointX number +--- @param pointY number +--- @param pointZ number +--- @return number +function dist_between_object_and_point(obj, pointX, pointY, pointZ) + -- ... +end + +--- @param obj1 Object +--- @param obj2 Object +--- @return number +function dist_between_objects(obj1, obj2) + -- ... +end + +--- @return nil +function enable_time_stop() + -- ... +end + +--- @return nil +function enable_time_stop_including_mario() + -- ... +end + +--- @return Object +function find_unimportant_object() + -- ... +end + +--- @param callContext integer +--- @param a1 GraphNode +--- @param sp8 integer +--- @return integer +function geo_offset_klepto_debug(callContext, a1, sp8) + -- ... +end + +--- @param behavior Pointer_BehaviorScript +--- @return integer +function get_object_list_from_behavior(behavior) + -- ... +end + +--- @param value number +--- @param center number +--- @param zeroThreshold number +--- @param increment number +--- @return number +function increment_velocity_toward_range(value, center, zeroThreshold, increment) + -- ... +end + +--- @param item integer +--- @param array Pointer_integer +--- @return integer +function is_item_in_array(item, array) + -- ... +end + +--- @param speedThreshold integer +--- @return integer +function is_mario_moving_fast_or_in_air(speedThreshold) + -- ... +end + +--- @param obj1 Object +--- @param obj2 Object +--- @return number +function lateral_dist_between_objects(obj1, obj2) + -- ... +end + +--- @param m MarioState +--- @return integer +function mario_is_dive_sliding(m) + -- ... +end + +--- @param m MarioState +--- @return integer +function mario_is_in_air_action(m) + -- ... +end + +--- @param minX integer +--- @param maxX integer +--- @param minZ integer +--- @param maxZ integer +--- @return integer +function mario_is_within_rectangle(minX, maxX, minZ, maxZ) + -- ... +end + +--- @param flag integer +--- @return nil +function mario_set_flag(flag) + -- ... +end + +--- @param obj1 Object +--- @param obj2 Object +--- @return integer +function obj_angle_to_object(obj1, obj2) + -- ... +end + +--- @param obj Object +--- @param pointX number +--- @param pointZ number +--- @return integer +function obj_angle_to_point(obj, pointX, pointZ) + -- ... +end + +--- @param obj Object +--- @return nil +function obj_apply_scale_to_transform(obj) + -- ... +end + +--- @param obj Object +--- @return integer +function obj_attack_collided_from_other_object(obj) + -- ... +end + +--- @param obj Object +--- @return nil +function obj_become_tangible(obj) + -- ... +end + +--- @param obj Object +--- @return nil +function obj_build_relative_transform(obj) + -- ... +end + +--- @param obj Object +--- @param posIndex integer +--- @param angleIndex integer +--- @return nil +function obj_build_transform_from_pos_and_angle(obj, posIndex, angleIndex) + -- ... +end + +--- @param obj Object +--- @return nil +function obj_build_transform_relative_to_parent(obj) + -- ... +end + +--- @param a0 Object +--- @return nil +function obj_build_vel_from_transform(a0) + -- ... +end + +--- @param obj1 Object +--- @param obj2 Object +--- @return integer +function obj_check_if_collided_with_object(obj1, obj2) + -- ... +end + +--- @param dst Object +--- @param src Object +--- @return nil +function obj_copy_angle(dst, src) + -- ... +end + +--- @param dst Object +--- @param src Object +--- @return nil +function obj_copy_behavior_params(dst, src) + -- ... +end + +--- @param dst Object +--- @param src Object +--- @return nil +function obj_copy_graph_y_offset(dst, src) + -- ... +end + +--- @param dst Object +--- @param src Object +--- @return nil +function obj_copy_pos(dst, src) + -- ... +end + +--- @param dst Object +--- @param src Object +--- @return nil +function obj_copy_pos_and_angle(dst, src) + -- ... +end + +--- @param dst Object +--- @param src Object +--- @return nil +function obj_copy_scale(dst, src) + -- ... +end + +--- @param obj Object +--- @return nil +function obj_create_transform_from_self(obj) + -- ... +end + +--- @param sp18 number +--- @param sp1C integer +--- @return nil +function obj_explode_and_spawn_coins(sp18, sp1C) + -- ... +end + +--- @param obj Object +--- @param behavior Pointer_BehaviorScript +--- @return integer +function obj_has_behavior(obj, behavior) + -- ... +end + +--- @param obj Object +--- @param animIndex integer +--- @return nil +function obj_init_animation(obj, animIndex) + -- ... +end + +--- @param obj Object +--- @return integer +function obj_is_hidden(obj) + -- ... +end + +--- @param obj Object +--- @return nil +function obj_mark_for_deletion(obj) + -- ... +end + +--- @param obj Object +--- @param target Object +--- @return integer +function obj_pitch_to_object(obj, target) + -- ... +end + +--- @param obj Object +--- @param scale number +--- @return nil +function obj_scale(obj, scale) + -- ... +end + +--- @param obj Object +--- @param rangeLength number +--- @param minScale number +--- @return nil +function obj_scale_random(obj, rangeLength, minScale) + -- ... +end + +--- @param obj Object +--- @param xScale number +--- @param yScale number +--- @param zScale number +--- @return nil +function obj_scale_xyz(obj, xScale, yScale, zScale) + -- ... +end + +--- @param obj Object +--- @param pitch integer +--- @param yaw integer +--- @param roll integer +--- @return nil +function obj_set_angle(obj, pitch, yaw, roll) + -- ... +end + +--- @param obj Object +--- @param behavior Pointer_BehaviorScript +--- @return nil +function obj_set_behavior(obj, behavior) + -- ... +end + +--- @param obj Object +--- @return nil +function obj_set_billboard(obj) + -- ... +end + +--- @param obj Object +--- @return nil +function obj_set_cylboard(obj) + -- ... +end + +--- @param obj Object +--- @return nil +function obj_set_face_angle_to_move_angle(obj) + -- ... +end + +--- @param obj1 Object +--- @param obj2 Object +--- @return nil +function obj_set_gfx_pos_at_obj_pos(obj1, obj2) + -- ... +end + +--- @param obj Object +--- @return nil +function obj_set_gfx_pos_from_pos(obj) + -- ... +end + +--- @param obj Object +--- @param heldBehavior Pointer_BehaviorScript +--- @return nil +function obj_set_held_state(obj, heldBehavior) + -- ... +end + +--- @param obj Object +--- @param hitbox ObjectHitbox +--- @return nil +function obj_set_hitbox(obj, hitbox) + -- ... +end + +--- @param obj Object +--- @param relX integer +--- @param relY integer +--- @param relZ integer +--- @return nil +function obj_set_parent_relative_pos(obj, relX, relY, relZ) + -- ... +end + +--- @param obj Object +--- @param x integer +--- @param y integer +--- @param z integer +--- @return nil +function obj_set_pos(obj, x, y, z) + -- ... +end + +--- @param obj Object +--- @param other Object +--- @param dleft number +--- @param dy number +--- @param dforward number +--- @return nil +function obj_set_pos_relative(obj, other, dleft, dy, dforward) + -- ... +end + +--- @param obj Object +--- @return nil +function obj_set_throw_matrix_from_transform(obj) + -- ... +end + +--- @param obj Object +--- @param numCoins integer +--- @param sp28 number +--- @param posJitter integer +--- @return nil +function obj_spawn_loot_blue_coins(obj, numCoins, sp28, posJitter) + -- ... +end + +--- @param obj Object +--- @param numCoins integer +--- @param sp30 number +--- @param coinBehavior Pointer_BehaviorScript +--- @param posJitter integer +--- @param model integer +--- @return nil +function obj_spawn_loot_coins(obj, numCoins, sp30, coinBehavior, posJitter, model) + -- ... +end + +--- @param obj Object +--- @param numCoins integer +--- @param sp28 number +--- @return nil +function obj_spawn_loot_yellow_coins(obj, numCoins, sp28) + -- ... +end + +--- @param obj Object +--- @param posIndex integer +--- @param localTranslateIndex integer +--- @return nil +function obj_translate_local(obj, posIndex, localTranslateIndex) + -- ... +end + +--- @param obj Object +--- @param rangeLength number +--- @return nil +function obj_translate_xyz_random(obj, rangeLength) + -- ... +end + +--- @param obj Object +--- @param rangeLength number +--- @return nil +function obj_translate_xz_random(obj, rangeLength) + -- ... +end + +--- @param obj Object +--- @param target Object +--- @param angleIndex integer +--- @param turnAmount integer +--- @return integer +function obj_turn_toward_object(obj, target, angleIndex, turnAmount) + -- ... +end + +--- @return integer +function player_performed_grab_escape_action() + -- ... +end + +--- @param diameter number +--- @return number +function random_f32_around_zero(diameter) + -- ... +end + +--- @param sp0 integer +--- @param sp4 integer +--- @param sp8 number +--- @return nil +function set_mario_interact_hoot_if_in_range(sp0, sp4, sp8) + -- ... +end + +--- @param flags integer +--- @return nil +function set_time_stop_flags(flags) + -- ... +end + +--- @param x integer +--- @return integer +function signum_positive(x) + -- ... +end + +--- @return nil +function spawn_base_star_with_no_lvl_exit() + -- ... +end + +--- @return nil +function spawn_mist_particles() + -- ... +end + +--- @param sp18 integer +--- @return nil +function spawn_mist_particles_with_sound(sp18) + -- ... +end + +--- @param sp20 integer +--- @param sp24 integer +--- @return Object +function spawn_star_with_no_lvl_exit(sp20, sp24) + -- ... +end + +--- @param parent Object +--- @param params WaterDropletParams +--- @return Object +function spawn_water_droplet(parent, params) + -- ... +end + +--- @param sp0 integer +--- @param sp4 integer +--- @return nil +function stub_obj_helpers_3(sp0, sp4) + -- ... +end + +--- @return nil +function stub_obj_helpers_4() + -- ... +end + +--- @param capPos Vec3s +--- @return integer +function save_file_get_cap_pos(capPos) + -- ... +end + +--- @param fileIndex integer +--- @param courseIndex integer +--- @return integer +function save_file_get_course_coin_score(fileIndex, courseIndex) + -- ... +end + +--- @param fileIndex integer +--- @param courseIndex integer +--- @return integer +function save_file_get_course_star_count(fileIndex, courseIndex) + -- ... +end + +--- @return integer +function save_file_get_flags() + -- ... +end + +--- @param courseIndex integer +--- @return integer +function save_file_get_max_coin_score(courseIndex) + -- ... +end + +--- @return integer +function save_file_get_sound_mode() + -- ... +end + +--- @param fileIndex integer +--- @param courseIndex integer +--- @return integer +function save_file_get_star_flags(fileIndex, courseIndex) + -- ... +end + +--- @param fileIndex integer +--- @param minCourse integer +--- @param maxCourse integer +--- @return integer +function save_file_get_total_star_count(fileIndex, minCourse, maxCourse) + -- ... +end + +--- @param startX number +--- @param startY number +--- @param startZ number +--- @param endX number +--- @param endY number +--- @param endZ number +--- @return RayIntersectionInfo +function collision_find_surface_on_ray(startX, startY, startZ, endX, endY, endZ) + -- ... +end + +--- @return integer +function get_network_area_timer() + -- ... +end + +--- @return nil +function hud_hide() + -- ... +end + +--- @return nil +function hud_show() + -- ... +end + +--- @param aDelay integer +--- @return boolean +function warp_exit_level(aDelay) + -- ... +end + +--- @return boolean +function warp_restart_level() + -- ... +end + +--- @param aLevel integer +--- @return boolean +function warp_to_castle(aLevel) + -- ... +end + +--- @param aLevel integer +--- @param aArea integer +--- @param aAct integer +--- @return boolean +function warp_to_level(aLevel, aArea, aAct) + -- ... +end + +--- @return ObjectHitbox +function get_temp_object_hitbox() + -- ... +end + +--- @param objList ObjectList +--- @return Object +function obj_get_first(objList) + -- ... +end + +--- @param behaviorId BehaviorId +--- @return Object +function obj_get_first_with_behavior_id(behaviorId) + -- ... +end + +--- @param behaviorId BehaviorId +--- @param fieldIndex integer +--- @param value number +--- @return Object +function obj_get_first_with_behavior_id_and_field_f32(behaviorId, fieldIndex, value) + -- ... +end + +--- @param behaviorId BehaviorId +--- @param fieldIndex integer +--- @param value integer +--- @return Object +function obj_get_first_with_behavior_id_and_field_s32(behaviorId, fieldIndex, value) + -- ... +end + +--- @param o Object +--- @return Object +function obj_get_next(o) + -- ... +end + +--- @param o Object +--- @return Object +function obj_get_next_with_same_behavior_id(o) + -- ... +end + +--- @param o Object +--- @param fieldIndex integer +--- @param value number +--- @return Object +function obj_get_next_with_same_behavior_id_and_field_f32(o, fieldIndex, value) + -- ... +end + +--- @param o Object +--- @param fieldIndex integer +--- @param value integer +--- @return Object +function obj_get_next_with_same_behavior_id_and_field_s32(o, fieldIndex, value) + -- ... +end + +--- @param modelId ModelExtendedId +--- @return SpawnParticlesInfo +function obj_get_temp_spawn_particles_info(modelId) + -- ... +end + +--- @param o Object +--- @param behaviorId BehaviorId +--- @return integer +function obj_has_behavior_id(o, behaviorId) + -- ... +end + +--- @param o Object +--- @param modelId ModelExtendedId +--- @return integer +function obj_has_model_extended(o, modelId) + -- ... +end + +--- @param o Object +--- @param modelId ModelExtendedId +--- @return nil +function obj_set_model_extended(o, modelId) + -- ... +end + +--- @param behaviorId BehaviorId +--- @param modelId ModelExtendedId +--- @param x number +--- @param y number +--- @param z number +--- @param objSetupFunction function +--- @return Object +function spawn_non_sync_object(behaviorId, modelId, x, y, z, objSetupFunction) + -- ... +end + +--- @param behaviorId BehaviorId +--- @param modelId ModelExtendedId +--- @param x number +--- @param y number +--- @param z number +--- @param objSetupFunction function +--- @return Object +function spawn_sync_object(behaviorId, modelId, x, y, z, objSetupFunction) + -- ... +end + +--- @return nil +function disable_background_sound() + -- ... +end + +--- @return nil +function enable_background_sound() + -- ... +end + +--- @return nil +function fadeout_cap_music() + -- ... +end + +--- @param fadeTimer integer +--- @return nil +function fadeout_level_music(fadeTimer) + -- ... +end + +--- @param fadeOutTime integer +--- @return nil +function fadeout_music(fadeOutTime) + -- ... +end + +--- @param a integer +--- @return nil +function lower_background_noise(a) + -- ... +end + +--- @param seqArgs integer +--- @return nil +function play_cap_music(seqArgs) + -- ... +end + +--- @param seqArgs integer +--- @return nil +function play_cutscene_music(seqArgs) + -- ... +end + +--- @return nil +function play_infinite_stairs_music() + -- ... +end + +--- @param soundMenuFlags integer +--- @return nil +function play_menu_sounds(soundMenuFlags) + -- ... +end + +--- @return nil +function play_painting_eject_sound() + -- ... +end + +--- @return nil +function play_shell_music() + -- ... +end + +--- @param a integer +--- @return nil +function raise_background_noise(a) + -- ... +end + +--- @return nil +function reset_volume() + -- ... +end + +--- @param a integer +--- @param seqArgs integer +--- @param fadeTimer integer +--- @return nil +function set_background_music(a, seqArgs, fadeTimer) + -- ... +end + +--- @return nil +function stop_cap_music() + -- ... +end + +--- @return nil +function stop_shell_music() + -- ... +end + +--- @param distance number +--- @return integer +function calc_dist_to_volume_range_1(distance) + -- ... +end + +--- @param distance number +--- @return integer +function calc_dist_to_volume_range_2(distance) + -- ... +end + +--- @param soundMagic integer +--- @return nil +function cur_obj_play_sound_1(soundMagic) + -- ... +end + +--- @param soundMagic integer +--- @return nil +function cur_obj_play_sound_2(soundMagic) + -- ... +end + +--- @param soundStates SoundState +--- @return nil +function exec_anim_sound_state(soundStates) + -- ... +end + +--- @param x number +--- @param y number +--- @param z number +--- @return number +function find_ceil_height(x, y, z) + -- ... +end + +--- @param x number +--- @param y number +--- @param z number +--- @return number +function find_floor_height(x, y, z) + -- ... +end + +--- @param x number +--- @param z number +--- @return number +function find_poison_gas_level(x, z) + -- ... +end + +--- @param colData WallCollisionData +--- @return integer +function find_wall_collisions(colData) + -- ... +end + +--- @param x number +--- @param z number +--- @return number +function find_water_level(x, z) + -- ... +end + +--- @return nil +function alloc_surface_pools() + -- ... +end + +--- @return nil +function clear_dynamic_surfaces() + -- ... +end + +--- @param data Pointer_integer +--- @return integer +function get_area_terrain_size(data) + -- ... +end + +--- @param index integer +--- @param data Pointer_integer +--- @param surfaceRooms Pointer_integer +--- @param macroObjects Pointer_integer +--- @return nil +function load_area_terrain(index, data, surfaceRooms, macroObjects) + -- ... +end + +--- @return nil +function load_object_collision_model() + -- ... +end + +--- @param a0 integer +--- @param a1 integer +--- @return nil +function queue_rumble_data(a0, a1) + -- ... +end + +--- @param m MarioState +--- @param a0 integer +--- @param a1 integer +--- @return nil +function queue_rumble_data_mario(m, a0, a1) + -- ... +end + +--- @param object Object +--- @param a0 integer +--- @param a1 integer +--- @return nil +function queue_rumble_data_object(object, a0, a1) + -- ... +end + +--- @class Pointer_BehaviorScript +--- @class Pointer_number +--- @class Pointer_integer diff --git a/autogen/lua_definitions/manual.lua b/autogen/lua_definitions/manual.lua new file mode 100644 index 00000000..fe8225b9 --- /dev/null +++ b/autogen/lua_definitions/manual.lua @@ -0,0 +1,116 @@ +------------- +-- globals -- +------------- + +--- @type MarioState[] +gMarioStates = {} + +--- @type NetworkPlayer[] +gNetworkPlayers = {} + +--- @type Character[] +gCharacter = {} + +--- @type GlobalTextures +gTextures = {} + +--- @type GlobalObjectAnimations +gObjectAnimations = {} + +--- @type GlobalObjectCollisionData +gGlobalObjectCollisionData = {} + +--- @alias SyncTable table + +--- @type SyncTable +gGlobalSyncTable = {} + +--- @type SyncTable[] +gPlayerSyncTable = {} + +----------- +-- hooks -- +----------- + +--- @param behaviorId BehaviorId +--- @param objectList ObjectList +--- @param replaceBehavior boolean +--- @param initFunction fun(obj:Object) +--- @param loopFunction fun(obj:Object) +--- @return BehaviorId +function hook_behavior(behaviorId, objectList, replaceBehavior, initFunction, loopFunction) + -- ... +end + +--- @param command string +--- @param description string +--- @param func fun(msg:string) +function hook_chat_command(command, description, func) + -- ... +end + +--- @param hookEventType LuaHookedEventType +--- @param func function +function hook_event(hookEventType, func) + -- ... +end + +--- @param actionId integer +--- @param func fun(m:MarioState):integer +--- @param interactionType InteractionFlag +function hook_mario_action(actionId, func, interactionType) + -- ... +end + +--- @param syncTable SyncTable +--- @param field any +--- @param tag any +--- @param func fun(tag:any, oldVal:any, newVal:any) +function hook_on_sync_table_change(syncTable, field, tag, func) + -- ... +end + +--------------- +-- functions -- +--------------- + +--- @param t number +--- @return number +function sins(t) + -- ... +end + +--- @param t number +--- @return number +function coss(t) + -- ... +end + +--- @param y number +--- @param x number +--- @return integer +function atan2s(y, x) + -- ... +end + +--- @param objFieldTable table +--- @return nil +function define_custom_obj_fields(objFieldTable) + -- ... +end + +--- @param object Object +--- @param standardSync boolean +--- @param fieldTable table +--- @return nil +function network_init_object(object, standardSync, fieldTable) + -- ... +end + +--- @param object Object +--- @param reliable boolean +--- @return nil +function network_send_object(object, reliable) + -- ... +end + diff --git a/autogen/lua_definitions/structs.lua b/autogen/lua_definitions/structs.lua new file mode 100644 index 00000000..d989b58c --- /dev/null +++ b/autogen/lua_definitions/structs.lua @@ -0,0 +1,1523 @@ +-- AUTOGENERATED FOR CODE EDITORS -- + +--- @class AnimInfo +--- @field public animAccel integer +--- @field public animFrame integer +--- @field public animFrameAccelAssist integer +--- @field public animID integer +--- @field public animTimer integer +--- @field public animYTrans integer +--- @field public curAnim Animation +--- @field public prevAnimFrame integer +--- @field public prevAnimFrameTimestamp integer +--- @field public prevAnimID integer +--- @field public prevAnimPtr Animation + +--- @class Animation +--- @field public animYTransDivisor integer +--- @field public flags integer +--- @field public index Pointer_integer +--- @field public length integer +--- @field public loopEnd integer +--- @field public loopStart integer +--- @field public startFrame integer +--- @field public unusedBoneCount integer +--- @field public values Pointer_integer + +--- @class Area +--- @field public camera Camera +--- @field public flags integer +--- @field public index integer +--- @field public instantWarps InstantWarp +--- @field public macroObjects Pointer_integer +--- @field public musicParam integer +--- @field public musicParam2 integer +--- @field public objectSpawnInfos SpawnInfo +--- @field public paintingWarpNodes WarpNode +--- @field public surfaceRooms Pointer_integer +--- @field public terrainData Pointer_integer +--- @field public terrainType integer +--- @field public warpNodes ObjectWarpNode + +--- @class BullyCollisionData +--- @field public conversionRatio number +--- @field public posX number +--- @field public posZ number +--- @field public radius number +--- @field public velX number +--- @field public velZ number + +--- @class Camera +--- @field public areaCenX number +--- @field public areaCenY number +--- @field public areaCenZ number +--- @field public cutscene integer +--- @field public defMode integer +--- @field public doorStatus integer +--- @field public focus Vec3f +--- @field public mode integer +--- @field public nextYaw integer +--- @field public pos Vec3f +--- @field public unusedVec1 Vec3f +--- @field public yaw integer + +--- @class CameraFOVStatus +--- @field public decay integer +--- @field public fov number +--- @field public fovFunc integer +--- @field public fovOffset number +--- @field public shakeAmplitude number +--- @field public shakePhase integer +--- @field public shakeSpeed integer +--- @field public unusedIsSleeping integer + +--- @class CameraStoredInfo +--- @field public cannonYOffset number +--- @field public focus Vec3f +--- @field public panDist number +--- @field public pos Vec3f + +--- @class CameraTrigger +--- @field public area integer +--- @field public boundsX integer +--- @field public boundsY integer +--- @field public boundsYaw integer +--- @field public boundsZ integer +--- @field public centerX integer +--- @field public centerY integer +--- @field public centerZ integer + +--- @class ChainSegment +--- @field public pitch integer +--- @field public posX number +--- @field public posY number +--- @field public posZ number +--- @field public roll integer +--- @field public yaw integer + +--- @class Character +--- @field public animOffsetEnabled integer +--- @field public animOffsetFeet number +--- @field public animOffsetHand number +--- @field public animOffsetLowYPoint number +--- @field public cameraHudHead integer +--- @field public capEnemyLayer integer +--- @field public capMetalModelId integer +--- @field public capMetalWingModelId integer +--- @field public capModelId integer +--- @field public capWingModelId integer +--- @field public hudHead integer +--- @field public hudHeadTexture TextureInfo +--- @field public modelId integer +--- @field public name string +--- @field public soundAttacked integer +--- @field public soundCoughing1 integer +--- @field public soundCoughing2 integer +--- @field public soundCoughing3 integer +--- @field public soundDoh integer +--- @field public soundDrowning integer +--- @field public soundDying integer +--- @field public soundEeuh integer +--- @field public soundFreqScale number +--- @field public soundGameOver integer +--- @field public soundGroundPoundWah integer +--- @field public soundHaha integer +--- @field public soundHaha_2 integer +--- @field public soundHello integer +--- @field public soundHereWeGo integer +--- @field public soundHoohoo integer +--- @field public soundHrmm integer +--- @field public soundImaTired integer +--- @field public soundMamaMia integer +--- @field public soundOnFire integer +--- @field public soundOoof integer +--- @field public soundOoof2 integer +--- @field public soundPanting integer +--- @field public soundPantingCold integer +--- @field public soundPressStartToPlay integer +--- @field public soundPunchHoo integer +--- @field public soundPunchWah integer +--- @field public soundPunchYah integer +--- @field public soundSnoring1 integer +--- @field public soundSnoring2 integer +--- @field public soundSnoring3 integer +--- @field public soundSoLongaBowser integer +--- @field public soundTwirlBounce integer +--- @field public soundUh integer +--- @field public soundUh2 integer +--- @field public soundUh2_2 integer +--- @field public soundWaaaooow integer +--- @field public soundWah2 integer +--- @field public soundWhoa integer +--- @field public soundYahWahHoo integer +--- @field public soundYahoo integer +--- @field public soundYahooWahaYippee integer +--- @field public soundYawning integer +--- @field public torsoRotMult number +--- @field public type CharacterType + +--- @class Controller +--- @field public buttonDown integer +--- @field public buttonPressed integer +--- @field public extStickX integer +--- @field public extStickY integer +--- @field public port integer +--- @field public rawStickX integer +--- @field public rawStickY integer +--- @field public stickMag number +--- @field public stickX number +--- @field public stickY number + +--- @class Cutscene +--- @field public duration integer + +--- @class CutsceneSplinePoint +--- @field public index integer +--- @field public point Vec3s +--- @field public speed integer + +--- @class CutsceneVariable +--- @field public angle Vec3s +--- @field public point Vec3f +--- @field public unused1 integer +--- @field public unused2 integer +--- @field public unusedPoint Vec3f + +--- @class FloorGeometry +--- @field public normalX number +--- @field public normalY number +--- @field public normalZ number +--- @field public originOffset number + +--- @class GlobalObjectAnimations +--- @field public amp_seg8_anims_08004034 Pointer_ObjectAnimPointer +--- @field public birds_seg5_anims_050009E8 Pointer_ObjectAnimPointer +--- @field public blue_fish_seg3_anims_0301C2B0 Pointer_ObjectAnimPointer +--- @field public bobomb_seg8_anims_0802396C Pointer_ObjectAnimPointer +--- @field public bookend_seg5_anims_05002540 Pointer_ObjectAnimPointer +--- @field public bowser_key_seg3_anims_list Pointer_ObjectAnimPointer +--- @field public bowser_seg6_anims_06057690 Pointer_ObjectAnimPointer +--- @field public bub_seg6_anims_06012354 Pointer_ObjectAnimPointer +--- @field public bully_seg5_anims_0500470C Pointer_ObjectAnimPointer +--- @field public butterfly_seg3_anims_030056B0 Pointer_ObjectAnimPointer +--- @field public castle_grounds_seg7_anims_flags Pointer_ObjectAnimPointer +--- @field public chain_chomp_seg6_anims_06025178 Pointer_ObjectAnimPointer +--- @field public chair_seg5_anims_05005784 Pointer_ObjectAnimPointer +--- @field public chilly_chief_seg6_anims_06003994 Pointer_ObjectAnimPointer +--- @field public chuckya_seg8_anims_0800C070 Pointer_ObjectAnimPointer +--- @field public clam_shell_seg5_anims_05001744 Pointer_ObjectAnimPointer +--- @field public door_seg3_anims_030156C0 Pointer_ObjectAnimPointer +--- @field public dorrie_seg6_anims_0600F638 Pointer_ObjectAnimPointer +--- @field public eyerok_seg5_anims_050116E4 Pointer_ObjectAnimPointer +--- @field public flyguy_seg8_anims_08011A64 Pointer_ObjectAnimPointer +--- @field public goomba_seg8_anims_0801DA4C Pointer_ObjectAnimPointer +--- @field public heave_ho_seg5_anims_0501534C Pointer_ObjectAnimPointer +--- @field public hoot_seg5_anims_05005768 Pointer_ObjectAnimPointer +--- @field public king_bobomb_seg5_anims_0500FE30 Pointer_ObjectAnimPointer +--- @field public klepto_seg5_anims_05008CFC Pointer_ObjectAnimPointer +--- @field public koopa_flag_seg6_anims_06001028 Pointer_ObjectAnimPointer +--- @field public koopa_seg6_anims_06011364 Pointer_ObjectAnimPointer +--- @field public lakitu_enemy_seg5_anims_050144D4 Pointer_ObjectAnimPointer +--- @field public lakitu_seg6_anims_060058F8 Pointer_ObjectAnimPointer +--- @field public mad_piano_seg5_anims_05009B14 Pointer_ObjectAnimPointer +--- @field public manta_seg5_anims_05008EB4 Pointer_ObjectAnimPointer +--- @field public mips_seg6_anims_06015634 Pointer_ObjectAnimPointer +--- @field public moneybag_seg6_anims_06005E5C Pointer_ObjectAnimPointer +--- @field public monty_mole_seg5_anims_05007248 Pointer_ObjectAnimPointer +--- @field public peach_seg5_anims_0501C41C Pointer_ObjectAnimPointer +--- @field public penguin_seg5_anims_05008B74 Pointer_ObjectAnimPointer +--- @field public piranha_plant_seg6_anims_0601C31C Pointer_ObjectAnimPointer +--- @field public scuttlebug_seg6_anims_06015064 Pointer_ObjectAnimPointer +--- @field public seaweed_seg6_anims_0600A4D4 Pointer_ObjectAnimPointer +--- @field public skeeter_seg6_anims_06007DE0 Pointer_ObjectAnimPointer +--- @field public snowman_seg5_anims_0500D118 Pointer_ObjectAnimPointer +--- @field public spindrift_seg5_anims_05002D68 Pointer_ObjectAnimPointer +--- @field public spiny_seg5_anims_05016EAC Pointer_ObjectAnimPointer +--- @field public sushi_seg5_anims_0500AE54 Pointer_ObjectAnimPointer +--- @field public swoop_seg6_anims_060070D0 Pointer_ObjectAnimPointer +--- @field public toad_seg6_anims_0600FB58 Pointer_ObjectAnimPointer +--- @field public ukiki_seg5_anims_05015784 Pointer_ObjectAnimPointer +--- @field public unagi_seg5_anims_05012824 Pointer_ObjectAnimPointer +--- @field public water_ring_seg6_anims_06013F7C Pointer_ObjectAnimPointer +--- @field public whomp_seg6_anims_06020A04 Pointer_ObjectAnimPointer +--- @field public wiggler_seg5_anims_0500C874 Pointer_ObjectAnimPointer +--- @field public wiggler_seg5_anims_0500EC8C Pointer_ObjectAnimPointer +--- @field public yoshi_seg5_anims_05024100 Pointer_ObjectAnimPointer + +--- @class GlobalObjectCollisionData +--- @field public bbh_seg7_collision_coffin Pointer_Collision +--- @field public bbh_seg7_collision_haunted_bookshelf Pointer_Collision +--- @field public bbh_seg7_collision_merry_go_round Pointer_Collision +--- @field public bbh_seg7_collision_mesh_elevator Pointer_Collision +--- @field public bbh_seg7_collision_staircase_step Pointer_Collision +--- @field public bbh_seg7_collision_tilt_floor_platform Pointer_Collision +--- @field public bitdw_seg7_collision_moving_pyramid Pointer_Collision +--- @field public bitfs_seg7_collision_inverted_pyramid Pointer_Collision +--- @field public bitfs_seg7_collision_sinking_cage_platform Pointer_Collision +--- @field public bitfs_seg7_collision_sinking_platform Pointer_Collision +--- @field public bitfs_seg7_collision_squishable_platform Pointer_Collision +--- @field public blue_coin_switch_seg8_collision_08000E98 Pointer_Collision +--- @field public bob_seg7_collision_chain_chomp_gate Pointer_Collision +--- @field public bowser_2_seg7_collision_tilting_platform Pointer_Collision +--- @field public breakable_box_seg8_collision_08012D70 Pointer_Collision +--- @field public cannon_lid_seg8_collision_08004950 Pointer_Collision +--- @field public capswitch_collision_050033D0 Pointer_Collision +--- @field public capswitch_collision_05003448 Pointer_Collision +--- @field public castle_grounds_seg7_collision_cannon_grill Pointer_Collision +--- @field public castle_grounds_seg7_collision_moat_grills Pointer_Collision +--- @field public checkerboard_platform_seg8_collision_0800D710 Pointer_Collision +--- @field public ddd_seg7_collision_bowser_sub_door Pointer_Collision +--- @field public ddd_seg7_collision_submarine Pointer_Collision +--- @field public door_seg3_collision_0301CE78 Pointer_Collision +--- @field public dorrie_seg6_collision_0600F644 Pointer_Collision +--- @field public exclamation_box_outline_seg8_collision_08025F78 Pointer_Collision +--- @field public hmc_seg7_collision_controllable_platform Pointer_Collision +--- @field public hmc_seg7_collision_controllable_platform_sub Pointer_Collision +--- @field public hmc_seg7_collision_elevator Pointer_Collision +--- @field public inside_castle_seg7_collision_floor_trap Pointer_Collision +--- @field public inside_castle_seg7_collision_star_door Pointer_Collision +--- @field public inside_castle_seg7_collision_water_level_pillar Pointer_Collision +--- @field public jrb_seg7_collision_floating_box Pointer_Collision +--- @field public jrb_seg7_collision_floating_platform Pointer_Collision +--- @field public jrb_seg7_collision_in_sunken_ship Pointer_Collision +--- @field public jrb_seg7_collision_in_sunken_ship_2 Pointer_Collision +--- @field public jrb_seg7_collision_in_sunken_ship_3 Pointer_Collision +--- @field public jrb_seg7_collision_pillar_base Pointer_Collision +--- @field public jrb_seg7_collision_rock_solid Pointer_Collision +--- @field public lll_hexagonal_mesh_seg3_collision_0301CECC Pointer_Collision +--- @field public lll_seg7_collision_drawbridge Pointer_Collision +--- @field public lll_seg7_collision_falling_wall Pointer_Collision +--- @field public lll_seg7_collision_floating_block Pointer_Collision +--- @field public lll_seg7_collision_hexagonal_platform Pointer_Collision +--- @field public lll_seg7_collision_inverted_pyramid Pointer_Collision +--- @field public lll_seg7_collision_octagonal_moving_platform Pointer_Collision +--- @field public lll_seg7_collision_pitoune Pointer_Collision +--- @field public lll_seg7_collision_puzzle_piece Pointer_Collision +--- @field public lll_seg7_collision_rotating_fire_bars Pointer_Collision +--- @field public lll_seg7_collision_rotating_platform Pointer_Collision +--- @field public lll_seg7_collision_sinking_pyramids Pointer_Collision +--- @field public lll_seg7_collision_slow_tilting_platform Pointer_Collision +--- @field public lll_seg7_collision_wood_piece Pointer_Collision +--- @field public metal_box_seg8_collision_08024C28 Pointer_Collision +--- @field public penguin_seg5_collision_05008B88 Pointer_Collision +--- @field public poundable_pole_collision_06002490 Pointer_Collision +--- @field public purple_switch_seg8_collision_0800C7A8 Pointer_Collision +--- @field public rr_seg7_collision_donut_platform Pointer_Collision +--- @field public rr_seg7_collision_elevator_platform Pointer_Collision +--- @field public rr_seg7_collision_pendulum Pointer_Collision +--- @field public rr_seg7_collision_rotating_platform_with_fire Pointer_Collision +--- @field public sl_seg7_collision_pound_explodes Pointer_Collision +--- @field public sl_seg7_collision_sliding_snow_mound Pointer_Collision +--- @field public springboard_collision_05001A28 Pointer_Collision +--- @field public ssl_seg7_collision_0702808C Pointer_Collision +--- @field public ssl_seg7_collision_grindel Pointer_Collision +--- @field public ssl_seg7_collision_pyramid_elevator Pointer_Collision +--- @field public ssl_seg7_collision_pyramid_top Pointer_Collision +--- @field public ssl_seg7_collision_spindel Pointer_Collision +--- @field public ssl_seg7_collision_tox_box Pointer_Collision +--- @field public thi_seg7_collision_top_trap Pointer_Collision +--- @field public thwomp_seg5_collision_0500B7D0 Pointer_Collision +--- @field public thwomp_seg5_collision_0500B92C Pointer_Collision +--- @field public ttc_seg7_collision_clock_main_rotation Pointer_Collision +--- @field public ttc_seg7_collision_clock_pendulum Pointer_Collision +--- @field public ttc_seg7_collision_clock_platform Pointer_Collision +--- @field public ttc_seg7_collision_rotating_clock_platform2 Pointer_Collision +--- @field public ttc_seg7_collision_sliding_surface Pointer_Collision +--- @field public ttm_seg7_collision_pitoune_2 Pointer_Collision +--- @field public ttm_seg7_collision_podium_warp Pointer_Collision +--- @field public ttm_seg7_collision_ukiki_cage Pointer_Collision +--- @field public warp_pipe_seg3_collision_03009AC8 Pointer_Collision +--- @field public wdw_seg7_collision_arrow_lift Pointer_Collision +--- @field public wdw_seg7_collision_express_elevator_platform Pointer_Collision +--- @field public wdw_seg7_collision_rect_floating_platform Pointer_Collision +--- @field public wdw_seg7_collision_square_floating_platform Pointer_Collision +--- @field public wf_seg7_collision_breakable_wall Pointer_Collision +--- @field public wf_seg7_collision_breakable_wall_2 Pointer_Collision +--- @field public wf_seg7_collision_bullet_bill_cannon Pointer_Collision +--- @field public wf_seg7_collision_clocklike_rotation Pointer_Collision +--- @field public wf_seg7_collision_kickable_board Pointer_Collision +--- @field public wf_seg7_collision_large_bomp Pointer_Collision +--- @field public wf_seg7_collision_platform Pointer_Collision +--- @field public wf_seg7_collision_sliding_brick_platform Pointer_Collision +--- @field public wf_seg7_collision_small_bomp Pointer_Collision +--- @field public wf_seg7_collision_tower Pointer_Collision +--- @field public wf_seg7_collision_tower_door Pointer_Collision +--- @field public whomp_seg6_collision_06020A0C Pointer_Collision +--- @field public wooden_signpost_seg3_collision_0302DD80 Pointer_Collision + +--- @class GlobalTextures +--- @field public arrow_down TextureInfo +--- @field public arrow_up TextureInfo +--- @field public camera TextureInfo +--- @field public coin TextureInfo +--- @field public lakitu TextureInfo +--- @field public no_camera TextureInfo +--- @field public star TextureInfo + +--- @class GraphNode +--- @field public children GraphNode +--- @field public flags integer +--- @field public next GraphNode +--- @field public parent GraphNode +--- @field public prev GraphNode +--- @field public type integer + +--- @class GraphNodeObject +--- @field public activeAreaIndex integer +--- @field public angle Vec3s +--- @field public animInfo AnimInfo +--- @field public areaIndex integer +--- @field public cameraToObject Vec3f +--- @field public node GraphNode +--- @field public pos Vec3f +--- @field public prevAngle Vec3s +--- @field public prevPos Vec3f +--- @field public prevScale Vec3f +--- @field public prevScaleTimestamp integer +--- @field public prevShadowPos Vec3f +--- @field public prevShadowPosTimestamp integer +--- @field public prevThrowMatrixTimestamp integer +--- @field public prevTimestamp integer +--- @field public scale Vec3f +--- @field public sharedChild GraphNode +--- @field public skipInterpolationTimestamp integer +--- @field public unk4C SpawnInfo + +--- @class GraphNode_802A45E4 +--- @field public unk18 integer +--- @field public unk1A integer +--- @field public unk1C integer +--- @field public unk1E integer +--- @field public unk20 integer +--- @field public unk22 integer + +--- @class HandheldShakePoint +--- @field public index integer +--- @field public pad integer +--- @field public point Vec3s + +--- @class InstantWarp +--- @field public area integer +--- @field public displacement Vec3s +--- @field public id integer + +--- @class LakituState +--- @field public curFocus Vec3f +--- @field public curPos Vec3f +--- @field public defMode integer +--- @field public focHSpeed number +--- @field public focVSpeed number +--- @field public focus Vec3f +--- @field public focusDistance number +--- @field public goalFocus Vec3f +--- @field public goalPos Vec3f +--- @field public keyDanceRoll integer +--- @field public lastFrameAction integer +--- @field public mode integer +--- @field public nextYaw integer +--- @field public oldPitch integer +--- @field public oldRoll integer +--- @field public oldYaw integer +--- @field public pos Vec3f +--- @field public posHSpeed number +--- @field public posVSpeed number +--- @field public roll integer +--- @field public shakeMagnitude Vec3s +--- @field public shakePitchDecay integer +--- @field public shakePitchPhase integer +--- @field public shakePitchVel integer +--- @field public shakeRollDecay integer +--- @field public shakeRollPhase integer +--- @field public shakeRollVel integer +--- @field public shakeYawDecay integer +--- @field public shakeYawPhase integer +--- @field public shakeYawVel integer +--- @field public skipCameraInterpolationTimestamp integer +--- @field public unused integer +--- @field public unusedVec1 Vec3f +--- @field public unusedVec2 Vec3s +--- @field public yaw integer + +--- @class LinearTransitionPoint +--- @field public dist number +--- @field public focus Vec3f +--- @field public pitch integer +--- @field public pos Vec3f +--- @field public yaw integer + +--- @class MarioAnimation +--- @field public currentAnimAddr Pointer_integer +--- @field public targetAnim Animation + +--- @class MarioBodyState +--- @field public action integer +--- @field public capState integer +--- @field public eyeState integer +--- @field public grabPos integer +--- @field public handState integer +--- @field public headAngle Vec3s +--- @field public heldObjLastPosition Vec3f +--- @field public modelState integer +--- @field public punchState integer +--- @field public torsoAngle Vec3s +--- @field public torsoPos Vec3f +--- @field public wingFlutter integer + +--- @class MarioState +--- @field public action integer +--- @field public actionArg integer +--- @field public actionState integer +--- @field public actionTimer integer +--- @field public angleVel Vec3s +--- @field public animation MarioAnimation +--- @field public area Area +--- @field public bubbleObj Object +--- @field public capTimer integer +--- @field public ceil Surface +--- @field public ceilHeight number +--- @field public character Character +--- @field public collidedObjInteractTypes integer +--- @field public controller Controller +--- @field public curAnimOffset number +--- @field public currentRoom integer +--- @field public doubleJumpTimer integer +--- @field public faceAngle Vec3s +--- @field public fadeWarpOpacity integer +--- @field public flags integer +--- @field public floor Surface +--- @field public floorAngle integer +--- @field public floorHeight number +--- @field public forwardVel number +--- @field public framesSinceA integer +--- @field public framesSinceB integer +--- @field public freeze integer +--- @field public healCounter integer +--- @field public health integer +--- @field public heldByObj Object +--- @field public heldObj Object +--- @field public hurtCounter integer +--- @field public input integer +--- @field public intendedMag number +--- @field public intendedYaw integer +--- @field public interactObj Object +--- @field public invincTimer integer +--- @field public isSnoring integer +--- @field public marioBodyState MarioBodyState +--- @field public marioObj Object +--- @field public minimumBoneY number +--- @field public nonInstantWarpPos Vec3f +--- @field public numCoins integer +--- @field public numKeys integer +--- @field public numLives integer +--- @field public numStars integer +--- @field public particleFlags integer +--- @field public peakHeight number +--- @field public playerIndex integer +--- @field public pos Vec3f +--- @field public prevAction integer +--- @field public prevNumStarsForDialog integer +--- @field public quicksandDepth number +--- @field public riddenObj Object +--- @field public slideVelX number +--- @field public slideVelZ number +--- @field public slideYaw integer +--- @field public spawnInfo SpawnInfo +--- @field public splineKeyframeFraction number +--- @field public splineState integer +--- @field public squishTimer integer +--- @field public statusForCamera PlayerCameraState +--- @field public terrainSoundAddend integer +--- @field public twirlYaw integer +--- @field public unkB0 integer +--- @field public unkC4 number +--- @field public usedObj Object +--- @field public vel Vec3f +--- @field public wall Surface +--- @field public wallKickTimer integer +--- @field public wasNetworkVisible integer +--- @field public waterLevel integer + +--- @class ModeTransitionInfo +--- @field public frame integer +--- @field public lastMode integer +--- @field public max integer +--- @field public newMode integer +--- @field public transitionEnd LinearTransitionPoint +--- @field public transitionStart LinearTransitionPoint + +--- @class NetworkPlayer +--- @field public connected boolean +--- @field public currActNum integer +--- @field public currAreaIndex integer +--- @field public currAreaSyncValid boolean +--- @field public currCourseNum integer +--- @field public currLevelAreaSeqId integer +--- @field public currLevelNum integer +--- @field public currLevelSyncValid boolean +--- @field public description string +--- @field public descriptionA integer +--- @field public descriptionB integer +--- @field public descriptionG integer +--- @field public descriptionR integer +--- @field public fadeOpacity integer +--- @field public globalIndex integer +--- @field public lastReceived number +--- @field public lastSent number +--- @field public localIndex integer +--- @field public modelIndex integer +--- @field public name string +--- @field public onRxSeqId integer +--- @field public overrideModelIndex integer +--- @field public overridePaletteIndex integer +--- @field public paletteIndex integer +--- @field public type integer + +--- @class Object +--- @field public activeFlags integer +--- @field public areaTimer integer +--- @field public areaTimerDuration integer +--- @field public areaTimerType AreaTimerType +--- @field public behavior Pointer_BehaviorScript +--- @field public bhvDelayTimer integer +--- @field public bhvStackIndex integer +--- @field public collidedObjInteractTypes integer +--- @field public collisionData Pointer_Collision +--- @field public coopFlags integer +--- @field public curBhvCommand Pointer_BehaviorScript +--- @field public globalPlayerIndex integer +--- @field public header ObjectNode +--- @field public heldByPlayerIndex integer +--- @field public hitboxDownOffset number +--- @field public hitboxHeight number +--- @field public hitboxRadius number +--- @field public hurtboxHeight number +--- @field public hurtboxRadius number +--- @field public numCollidedObjs integer +--- @field public o1UpForceSpawn integer +--- @field public o1UpHiddenUnkF4 integer +--- @field public oAction integer +--- @field public oActivatedBackAndForthPlatformCountdown integer +--- @field public oActivatedBackAndForthPlatformFlipRotation integer +--- @field public oActivatedBackAndForthPlatformMaxOffset number +--- @field public oActivatedBackAndForthPlatformOffset number +--- @field public oActivatedBackAndForthPlatformStartYaw integer +--- @field public oActivatedBackAndForthPlatformVel number +--- @field public oActivatedBackAndForthPlatformVertical integer +--- @field public oActiveParticleFlags integer +--- @field public oAmpRadiusOfRotation number +--- @field public oAmpYPhase integer +--- @field public oAngleToHome integer +--- @field public oAngleToMario integer +--- @field public oAngleVelPitch integer +--- @field public oAngleVelRoll integer +--- @field public oAngleVelYaw integer +--- @field public oAnimState integer +--- @field public oAnimations Pointer_ObjectAnimPointer +--- @field public oArrowLiftDisplacement number +--- @field public oArrowLiftUnk100 integer +--- @field public oBBallSpawnerMaxSpawnDist number +--- @field public oBBallSpawnerPeriodMinus1 integer +--- @field public oBBallSpawnerSpawnOdds number +--- @field public oBackAndForthPlatformUnk100 number +--- @field public oBackAndForthPlatformUnkF4 number +--- @field public oBackAndForthPlatformUnkF8 number +--- @field public oBackAndForthPlatformUnkFC number +--- @field public oBehParams integer +--- @field public oBehParams2ndByte integer +--- @field public oBetaTrampolineMarioOnTrampoline integer +--- @field public oBigBooNumMinionBoosKilled integer +--- @field public oBirdChirpChirpUnkF4 integer +--- @field public oBirdSpeed number +--- @field public oBirdTargetPitch integer +--- @field public oBirdTargetYaw integer +--- @field public oBlackSmokeBowserUnkF4 number +--- @field public oBlueFishRandomAngle number +--- @field public oBlueFishRandomTime integer +--- @field public oBlueFishRandomVel number +--- @field public oBlueFlameUnkF8 number +--- @field public oBobombBlinkTimer integer +--- @field public oBobombBuddyBlinkTimer integer +--- @field public oBobombBuddyCannonStatus integer +--- @field public oBobombBuddyHasTalkedToMario integer +--- @field public oBobombBuddyPosXCopy number +--- @field public oBobombBuddyPosYCopy number +--- @field public oBobombBuddyPosZCopy number +--- @field public oBobombBuddyRole integer +--- @field public oBobombExpBubGfxExpRateX integer +--- @field public oBobombExpBubGfxExpRateY integer +--- @field public oBobombExpBubGfxScaleFacX integer +--- @field public oBobombExpBubGfxScaleFacY integer +--- @field public oBobombFuseLit integer +--- @field public oBobombFuseTimer integer +--- @field public oBooBaseScale number +--- @field public oBooDeathStatus integer +--- @field public oBooInitialMoveYaw integer +--- @field public oBooMoveYawBeforeHit number +--- @field public oBooMoveYawDuringHit integer +--- @field public oBooNegatedAggressiveness number +--- @field public oBooOscillationTimer integer +--- @field public oBooParentBigBoo Object +--- @field public oBooTargetOpacity integer +--- @field public oBooTurningSpeed integer +--- @field public oBookSwitchManagerUnkF4 integer +--- @field public oBookSwitchManagerUnkF8 integer +--- @field public oBookSwitchUnkF4 number +--- @field public oBookendUnkF4 integer +--- @field public oBookendUnkF8 integer +--- @field public oBounciness number +--- @field public oBouncingFireBallUnkF4 integer +--- @field public oBowlingBallTargetYaw integer +--- @field public oBowserAngleToCentre integer +--- @field public oBowserDistToCentre number +--- @field public oBowserEyesShut integer +--- @field public oBowserHeldAnglePitch integer +--- @field public oBowserHeldAngleVelYaw integer +--- @field public oBowserKeyScale number +--- @field public oBowserPuzzleCompletionFlags integer +--- @field public oBowserPuzzlePieceContinuePerformingAction integer +--- @field public oBowserPuzzlePieceOffsetX number +--- @field public oBowserPuzzlePieceOffsetY number +--- @field public oBowserPuzzlePieceOffsetZ number +--- @field public oBowserShockWaveUnkF4 number +--- @field public oBowserUnk106 integer +--- @field public oBowserUnk108 integer +--- @field public oBowserUnk10E integer +--- @field public oBowserUnk110 integer +--- @field public oBowserUnk1AC integer +--- @field public oBowserUnk1AE integer +--- @field public oBowserUnk1B2 integer +--- @field public oBowserUnk88 integer +--- @field public oBowserUnkF4 integer +--- @field public oBowserUnkF8 integer +--- @field public oBreakableBoxSmallFramesSinceReleased integer +--- @field public oBreakableBoxSmallReleased integer +--- @field public oBreakableWallForce integer +--- @field public oBubbaUnk100 integer +--- @field public oBubbaUnk104 integer +--- @field public oBubbaUnk108 number +--- @field public oBubbaUnk10C number +--- @field public oBubbaUnk1AC integer +--- @field public oBubbaUnk1AE integer +--- @field public oBubbaUnk1B0 integer +--- @field public oBubbaUnk1B2 integer +--- @field public oBubbaUnkF4 number +--- @field public oBubbaUnkF8 integer +--- @field public oBubbaUnkFC integer +--- @field public oBulletBillInitialMoveYaw integer +--- @field public oBullyKBTimerAndMinionKOCounter integer +--- @field public oBullyMarioCollisionAngle integer +--- @field public oBullyPrevX number +--- @field public oBullyPrevY number +--- @field public oBullyPrevZ number +--- @field public oBullySubtype integer +--- @field public oBuoyancy number +--- @field public oButterflyYPhase integer +--- @field public oCameraLakituBlinkTimer integer +--- @field public oCameraLakituCircleRadius number +--- @field public oCameraLakituFinishedDialog integer +--- @field public oCameraLakituPitchVel integer +--- @field public oCameraLakituSpeed number +--- @field public oCameraLakituUnk104 integer +--- @field public oCameraLakituYawVel integer +--- @field public oCannonBarrelBubblesUnkF4 number +--- @field public oCannonPlayerIndex integer +--- @field public oCannonUnk10C integer +--- @field public oCannonUnkF4 integer +--- @field public oCannonUnkF8 integer +--- @field public oCapUnkF4 integer +--- @field public oCapUnkF8 integer +--- @field public oCelebStarDiameterOfRotation integer +--- @field public oCelebStarUnkF4 integer +--- @field public oChainChompDistToPivot number +--- @field public oChainChompHitGate integer +--- @field public oChainChompMaxDistBetweenChainParts number +--- @field public oChainChompMaxDistFromPivotPerChainPart number +--- @field public oChainChompNumLunges integer +--- @field public oChainChompReleaseStatus integer +--- @field public oChainChompRestrictedByChain integer +--- @field public oChainChompSegments ChainSegment +--- @field public oChainChompTargetPitch integer +--- @field public oChainChompUnk104 number +--- @field public oCheckerBoardPlatformUnk1AC number +--- @field public oCheckerBoardPlatformUnkF8 integer +--- @field public oCheckerBoardPlatformUnkFC integer +--- @field public oCheepCheepUnk104 number +--- @field public oCheepCheepUnk108 number +--- @field public oCheepCheepUnkF4 number +--- @field public oCheepCheepUnkF8 number +--- @field public oCheepCheepUnkFC number +--- @field public oChuckyaUnk100 integer +--- @field public oChuckyaUnk88 integer +--- @field public oChuckyaUnkF8 integer +--- @field public oChuckyaUnkFC integer +--- @field public oClamUnkF4 integer +--- @field public oCloudBlowing integer +--- @field public oCloudCenterX number +--- @field public oCloudCenterY number +--- @field public oCloudFwooshMovementRadius integer +--- @field public oCloudGrowSpeed number +--- @field public oCoinUnk110 number +--- @field public oCoinUnk1B0 integer +--- @field public oCoinUnkF4 integer +--- @field public oCoinUnkF8 integer +--- @field public oCollisionDistance number +--- @field public oCollisionParticleUnkF4 number +--- @field public oControllablePlatformUnk100 integer +--- @field public oControllablePlatformUnkF8 integer +--- @field public oControllablePlatformUnkFC number +--- @field public oDDDPoleMaxOffset number +--- @field public oDDDPoleOffset number +--- @field public oDDDPoleVel number +--- @field public oDamageOrCoinValue integer +--- @field public oDeathSound integer +--- @field public oDialogResponse integer +--- @field public oDialogState integer +--- @field public oDistanceToMario number +--- @field public oDonutPlatformSpawnerSpawnedPlatforms integer +--- @field public oDoorUnk100 integer +--- @field public oDoorUnk88 integer +--- @field public oDoorUnkF8 integer +--- @field public oDoorUnkFC integer +--- @field public oDorrieAngleToHome integer +--- @field public oDorrieDistToHome number +--- @field public oDorrieForwardDistToMario number +--- @field public oDorrieGroundPounded integer +--- @field public oDorrieHeadRaiseSpeed integer +--- @field public oDorrieLiftingMario integer +--- @field public oDorrieNeckAngle integer +--- @field public oDorrieOffsetY number +--- @field public oDorrieVelY number +--- @field public oDorrieYawVel integer +--- @field public oDragStrength number +--- @field public oDrawingDistance number +--- @field public oElevatorUnk100 integer +--- @field public oElevatorUnkF4 number +--- @field public oElevatorUnkF8 number +--- @field public oElevatorUnkFC number +--- @field public oEndBirdUnk104 number +--- @field public oEnemyLakituBlinkTimer integer +--- @field public oEnemyLakituFaceForwardCountdown integer +--- @field public oEnemyLakituNumSpinies integer +--- @field public oEnemyLakituSpinyCooldown integer +--- @field public oExclamationBoxForce integer +--- @field public oExclamationBoxUnkF4 number +--- @field public oExclamationBoxUnkF8 number +--- @field public oExclamationBoxUnkFC integer +--- @field public oEyerokBossActiveHand integer +--- @field public oEyerokBossNumHands integer +--- @field public oEyerokBossUnk104 integer +--- @field public oEyerokBossUnk108 number +--- @field public oEyerokBossUnk10C number +--- @field public oEyerokBossUnk110 number +--- @field public oEyerokBossUnk1AC integer +--- @field public oEyerokBossUnkFC integer +--- @field public oEyerokHandDead integer +--- @field public oEyerokHandUnk100 integer +--- @field public oEyerokHandUnkFC integer +--- @field public oEyerokHandWakeUpTimer integer +--- @field public oEyerokReceivedAttack integer +--- @field public oFaceAnglePitch integer +--- @field public oFaceAngleRoll integer +--- @field public oFaceAngleYaw integer +--- @field public oFallingPillarPitchAcceleration number +--- @field public oFirePiranhaPlantActive integer +--- @field public oFirePiranhaPlantDeathSpinTimer integer +--- @field public oFirePiranhaPlantDeathSpinVel number +--- @field public oFirePiranhaPlantNeutralScale number +--- @field public oFirePiranhaPlantScale number +--- @field public oFireSpitterLastWaterY number +--- @field public oFireSpitterScaleVel number +--- @field public oFishActiveDistance number +--- @field public oFishDepthDistance number +--- @field public oFishPosY number +--- @field public oFishRandomOffset number +--- @field public oFishRandomSpeed integer +--- @field public oFishRandomVel number +--- @field public oFishRespawnDistance number +--- @field public oFishWaterLevel number +--- @field public oFlags integer +--- @field public oFlameThowerFlameUnk110 integer +--- @field public oFlameThowerUnk110 integer +--- @field public oFlameUnk100 Object +--- @field public oFlameUnkF4 number +--- @field public oFlameUnkF8 integer +--- @field public oFlameUnkFC number +--- @field public oFloatingPlatformUnk100 integer +--- @field public oFloatingPlatformUnkF4 integer +--- @field public oFloatingPlatformUnkF8 number +--- @field public oFloatingPlatformUnkFC number +--- @field public oFloor Surface +--- @field public oFloorHeight number +--- @field public oFloorRoom integer +--- @field public oFloorSwitchPressAnimationUnk100 integer +--- @field public oFloorSwitchPressAnimationUnkF4 integer +--- @field public oFloorSwitchPressAnimationUnkF8 integer +--- @field public oFloorSwitchPressAnimationUnkFC integer +--- @field public oFloorType integer +--- @field public oFlyGuyIdleTimer integer +--- @field public oFlyGuyLungeTargetPitch integer +--- @field public oFlyGuyLungeYDecel number +--- @field public oFlyGuyOscTimer integer +--- @field public oFlyGuyScaleVel number +--- @field public oFlyGuyTargetRoll integer +--- @field public oFlyGuyUnusedJitter integer +--- @field public oForwardVel number +--- @field public oForwardVelS32 integer +--- @field public oFriction number +--- @field public oGoombaBlinkTimer integer +--- @field public oGoombaJumpCooldown integer +--- @field public oGoombaRelativeSpeed number +--- @field public oGoombaScale number +--- @field public oGoombaSize integer +--- @field public oGoombaTargetYaw integer +--- @field public oGoombaTurningAwayFromWall integer +--- @field public oGoombaWalkTimer integer +--- @field public oGrandStarUnk108 integer +--- @field public oGraphYOffset number +--- @field public oGravity number +--- @field public oHauntedBookshelfShouldOpen integer +--- @field public oHauntedChairUnk100 Pointer_integer +--- @field public oHauntedChairUnk104 integer +--- @field public oHauntedChairUnkF4 integer +--- @field public oHauntedChairUnkF8 number +--- @field public oHauntedChairUnkFC number +--- @field public oHealth integer +--- @field public oHeaveHoUnk88 integer +--- @field public oHeaveHoUnkF4 number +--- @field public oHeldState integer +--- @field public oHiddenBlueCoinSwitch Object +--- @field public oHiddenObjectUnkF4 Object +--- @field public oHiddenStarTriggerCounter integer +--- @field public oHomeX number +--- @field public oHomeY number +--- @field public oHomeZ number +--- @field public oHomingAmpAvgY number +--- @field public oHomingAmpLockedOn integer +--- @field public oHootAvailability integer +--- @field public oHootMarioReleaseTime integer +--- @field public oHorizontalGrindelDistToHome number +--- @field public oHorizontalGrindelOnGround integer +--- @field public oHorizontalGrindelTargetYaw integer +--- @field public oHorizontalMovementUnk100 number +--- @field public oHorizontalMovementUnk104 integer +--- @field public oHorizontalMovementUnk108 number +--- @field public oHorizontalMovementUnkF4 integer +--- @field public oHorizontalMovementUnkF8 integer +--- @field public oIntangibleTimer integer +--- @field public oInteractStatus integer +--- @field public oInteractType integer +--- @field public oInteractionSubtype integer +--- @field public oIntroLakituCloud Object +--- @field public oIntroLakituSplineSegment number +--- @field public oIntroLakituSplineSegmentProgress number +--- @field public oIntroLakituUnk100 number +--- @field public oIntroLakituUnk104 number +--- @field public oIntroLakituUnk108 number +--- @field public oIntroLakituUnk10C number +--- @field public oIntroLakituUnk110 number +--- @field public oIntroPeachDistToCamera number +--- @field public oIntroPeachPitchFromFocus number +--- @field public oIntroPeachYawFromFocus number +--- @field public oJrbSlidingBoxUnkF4 Object +--- @field public oJrbSlidingBoxUnkF8 integer +--- @field public oJrbSlidingBoxUnkFC number +--- @field public oJumpingBoxUnkF4 integer +--- @field public oJumpingBoxUnkF8 integer +--- @field public oKickableBoardF4 integer +--- @field public oKickableBoardF8 integer +--- @field public oKingBobombUnk100 integer +--- @field public oKingBobombUnk104 integer +--- @field public oKingBobombUnk108 integer +--- @field public oKingBobombUnk88 integer +--- @field public oKingBobombUnkF8 integer +--- @field public oKingBobombUnkFC integer +--- @field public oKleptoDistanceToTarget number +--- @field public oKleptoSpeed number +--- @field public oKleptoStartPosX number +--- @field public oKleptoStartPosY number +--- @field public oKleptoStartPosZ number +--- @field public oKleptoTargetNumber integer +--- @field public oKleptoTimeUntilTargetChange integer +--- @field public oKleptoUnk1AE integer +--- @field public oKleptoUnk1B0 integer +--- @field public oKleptoUnkF8 number +--- @field public oKleptoUnkFC number +--- @field public oKleptoYawToTarget integer +--- @field public oKoopaAgility number +--- @field public oKoopaAngleToMario integer +--- @field public oKoopaBlinkTimer integer +--- @field public oKoopaCountdown integer +--- @field public oKoopaDistanceToMario number +--- @field public oKoopaMovementType integer +--- @field public oKoopaRaceEndpointKoopaFinished integer +--- @field public oKoopaRaceEndpointRaceBegun integer +--- @field public oKoopaRaceEndpointRaceEnded integer +--- @field public oKoopaRaceEndpointRaceStatus integer +--- @field public oKoopaRaceEndpointUnk100 integer +--- @field public oKoopaShellFlameUnkF4 number +--- @field public oKoopaShellFlameUnkF8 number +--- @field public oKoopaTargetYaw integer +--- @field public oKoopaTheQuickInitTextboxCooldown integer +--- @field public oKoopaTheQuickRaceIndex integer +--- @field public oKoopaTurningAwayFromWall integer +--- @field public oKoopaUnshelledTimeUntilTurn integer +--- @field public oLllRotatingHexFlameUnkF4 number +--- @field public oLllRotatingHexFlameUnkF8 number +--- @field public oLllRotatingHexFlameUnkFC number +--- @field public oLllWoodPieceOscillationTimer integer +--- @field public oMacroUnk108 number +--- @field public oMacroUnk10C number +--- @field public oMacroUnk110 number +--- @field public oMantaUnk1AC integer +--- @field public oMantaUnkF4 integer +--- @field public oMantaUnkF8 integer +--- @field public oMarioBurnTimer integer +--- @field public oMarioCannonInputYaw integer +--- @field public oMarioCannonObjectYaw integer +--- @field public oMarioLongJumpIsSlow integer +--- @field public oMarioParticleFlags integer +--- @field public oMarioPolePos number +--- @field public oMarioPoleUnk108 integer +--- @field public oMarioPoleYawVel integer +--- @field public oMarioReadingSignDPosX number +--- @field public oMarioReadingSignDPosZ number +--- @field public oMarioReadingSignDYaw integer +--- @field public oMarioSteepJumpYaw integer +--- @field public oMarioTornadoPosY number +--- @field public oMarioTornadoYawVel integer +--- @field public oMarioWalkingPitch integer +--- @field public oMarioWhirlpoolPosY number +--- @field public oMenuButtonActionPhase integer +--- @field public oMenuButtonIsCustom integer +--- @field public oMenuButtonOrigPosX number +--- @field public oMenuButtonOrigPosY number +--- @field public oMenuButtonOrigPosZ number +--- @field public oMenuButtonScale number +--- @field public oMenuButtonState integer +--- @field public oMenuButtonTimer integer +--- @field public oMerryGoRoundBooManagerNumBoosKilled integer +--- @field public oMerryGoRoundBooManagerNumBoosSpawned integer +--- @field public oMerryGoRoundMarioIsOutside integer +--- @field public oMerryGoRoundMusicShouldPlay integer +--- @field public oMerryGoRoundStopped integer +--- @field public oMipsForwardVelocity number +--- @field public oMipsStarStatus integer +--- @field public oMipsStartWaypointIndex integer +--- @field public oMoneybagJumpState integer +--- @field public oMontyMoleCurrentHole Object +--- @field public oMontyMoleHeightRelativeToFloor number +--- @field public oMontyMoleHoleCooldown integer +--- @field public oMontyMoleHoleX number +--- @field public oMontyMoleHoleY number +--- @field public oMontyMoleHoleZ number +--- @field public oMoveAnglePitch integer +--- @field public oMoveAngleRoll integer +--- @field public oMoveAngleYaw integer +--- @field public oMoveFlags integer +--- @field public oMovingFlameTimer integer +--- @field public oMrBlizzardChangeInDizziness number +--- @field public oMrBlizzardDistFromHome integer +--- @field public oMrBlizzardDizziness number +--- @field public oMrBlizzardGraphYOffset number +--- @field public oMrBlizzardGraphYVel number +--- @field public oMrBlizzardHeldObj Object +--- @field public oMrBlizzardScale number +--- @field public oMrBlizzardTargetMoveYaw integer +--- @field public oMrBlizzardTimer integer +--- @field public oMrISize number +--- @field public oMrIUnk100 integer +--- @field public oMrIUnk104 integer +--- @field public oMrIUnk108 integer +--- @field public oMrIUnk110 integer +--- @field public oMrIUnkF4 integer +--- @field public oMrIUnkFC integer +--- @field public oNumLootCoins integer +--- @field public oOpacity integer +--- @field public oOpenableGrillUnk88 integer +--- @field public oOpenableGrillUnkF4 Object +--- @field public oParentRelativePosX number +--- @field public oParentRelativePosY number +--- @field public oParentRelativePosZ number +--- @field public oPathedPrevWaypoint Waypoint +--- @field public oPathedPrevWaypointFlags integer +--- @field public oPathedStartWaypoint Waypoint +--- @field public oPathedTargetPitch integer +--- @field public oPathedTargetYaw integer +--- @field public oPiranhaPlantScale number +--- @field public oPiranhaPlantSleepMusicState integer +--- @field public oPitouneUnkF4 number +--- @field public oPitouneUnkF8 number +--- @field public oPitouneUnkFC number +--- @field public oPlatformOnTrackBaseBallIndex integer +--- @field public oPlatformOnTrackDistMovedSinceLastBall number +--- @field public oPlatformOnTrackIsNotHMC integer +--- @field public oPlatformOnTrackIsNotSkiLift integer +--- @field public oPlatformOnTrackOffsetY number +--- @field public oPlatformOnTrackPitch integer +--- @field public oPlatformOnTrackPrevWaypoint Waypoint +--- @field public oPlatformOnTrackPrevWaypointFlags integer +--- @field public oPlatformOnTrackSkiLiftRollVel number +--- @field public oPlatformOnTrackStartWaypoint Waypoint +--- @field public oPlatformOnTrackType integer +--- @field public oPlatformOnTrackWasStoodOn integer +--- @field public oPlatformOnTrackYaw integer +--- @field public oPlatformSpawnerUnk100 number +--- @field public oPlatformSpawnerUnk104 number +--- @field public oPlatformSpawnerUnk108 number +--- @field public oPlatformSpawnerUnkF4 integer +--- @field public oPlatformSpawnerUnkF8 integer +--- @field public oPlatformSpawnerUnkFC integer +--- @field public oPlatformTimer integer +--- @field public oPlatformUnk10C number +--- @field public oPlatformUnk110 number +--- @field public oPlatformUnkF8 Object +--- @field public oPlatformUnkFC integer +--- @field public oPokeyAliveBodyPartFlags integer +--- @field public oPokeyBodyPartBlinkTimer integer +--- @field public oPokeyBodyPartDeathDelayAfterHeadKilled integer +--- @field public oPokeyBottomBodyPartSize number +--- @field public oPokeyChangeTargetTimer integer +--- @field public oPokeyHeadWasKilled integer +--- @field public oPokeyNumAliveBodyParts integer +--- @field public oPokeyTargetYaw integer +--- @field public oPokeyTurningAwayFromWall integer +--- @field public oPosX number +--- @field public oPosY number +--- @field public oPosZ number +--- @field public oPrevAction integer +--- @field public oPyramidTopFragmentsScale number +--- @field public oPyramidTopPillarsTouched integer +--- @field public oRRCruiserWingUnkF4 integer +--- @field public oRRCruiserWingUnkF8 integer +--- @field public oRacingPenguinFinalTextbox integer +--- @field public oRacingPenguinInitTextCooldown integer +--- @field public oRacingPenguinMarioCheated integer +--- @field public oRacingPenguinMarioWon integer +--- @field public oRacingPenguinReachedBottom integer +--- @field public oRacingPenguinWeightedNewTargetSpeed number +--- @field public oRespawnerMinSpawnDist number +--- @field public oRespawnerModelToRespawn integer +--- @field public oRollingLogUnkF4 number +--- @field public oRoom integer +--- @field public oSLSnowmanWindOriginalYaw integer +--- @field public oSLWalkingPenguinCurStep integer +--- @field public oSLWalkingPenguinCurStepTimer integer +--- @field public oSLWalkingPenguinWindCollisionXPos number +--- @field public oSLWalkingPenguinWindCollisionZPos number +--- @field public oScuttlebugSpawnerUnk88 integer +--- @field public oScuttlebugSpawnerUnkF4 integer +--- @field public oScuttlebugUnkF4 integer +--- @field public oScuttlebugUnkF8 integer +--- @field public oScuttlebugUnkFC integer +--- @field public oSeesawPlatformPitchVel number +--- @field public oShipPart3UnkF4 integer +--- @field public oShipPart3UnkF8 integer +--- @field public oSinkWhenSteppedOnUnk104 integer +--- @field public oSinkWhenSteppedOnUnk108 number +--- @field public oSkeeterLastWaterY number +--- @field public oSkeeterTargetAngle integer +--- @field public oSkeeterUnk1AC integer +--- @field public oSkeeterUnkF8 integer +--- @field public oSkeeterUnkFC number +--- @field public oSkeeterWaitTime integer +--- @field public oSmallBompInitX number +--- @field public oSmallPenguinUnk100 integer +--- @field public oSmallPenguinUnk104 number +--- @field public oSmallPenguinUnk108 number +--- @field public oSmallPenguinUnk110 integer +--- @field public oSmallPenguinUnk88 integer +--- @field public oSmallPiranhaFlameEndSpeed number +--- @field public oSmallPiranhaFlameModel integer +--- @field public oSmallPiranhaFlameStartSpeed number +--- @field public oSmallPiranhaFlameUnk100 integer +--- @field public oSmallPiranhaFlameUnk104 number +--- @field public oSmokeTimer integer +--- @field public oSnowmansBottomUnk1AC integer +--- @field public oSnowmansBottomUnkF4 number +--- @field public oSnowmansBottomUnkF8 integer +--- @field public oSnowmansHeadUnkF4 integer +--- @field public oSnufitBodyBaseScale integer +--- @field public oSnufitBodyScale integer +--- @field public oSnufitBodyScalePeriod integer +--- @field public oSnufitBullets integer +--- @field public oSnufitCircularPeriod integer +--- @field public oSnufitRecoil integer +--- @field public oSnufitScale number +--- @field public oSnufitXOffset integer +--- @field public oSnufitYOffset integer +--- @field public oSnufitZOffset integer +--- @field public oSoundEffectUnkF4 integer +--- @field public oSoundStateID integer +--- @field public oSparkleSpawnUnk1B0 integer +--- @field public oSpindelUnkF4 integer +--- @field public oSpindelUnkF8 integer +--- @field public oSpinningHeartPlayedSound integer +--- @field public oSpinningHeartTotalSpin integer +--- @field public oSpinyTargetYaw integer +--- @field public oSpinyTimeUntilTurn integer +--- @field public oSpinyTurningAwayFromWall integer +--- @field public oStarSelectorSize number +--- @field public oStarSelectorTimer integer +--- @field public oStarSelectorType integer +--- @field public oStarSpawnDisFromHome number +--- @field public oStarSpawnUnkFC number +--- @field public oStrongWindParticlePenguinObj Object +--- @field public oSubAction integer +--- @field public oSushiSharkUnkF4 integer +--- @field public oSwingPlatformAngle number +--- @field public oSwingPlatformSpeed number +--- @field public oSwoopBonkCountdown integer +--- @field public oSwoopTargetPitch integer +--- @field public oSwoopTargetYaw integer +--- @field public oSyncDeath integer +--- @field public oSyncID integer +--- @field public oTTC2DRotatorIncrement integer +--- @field public oTTC2DRotatorMinTimeUntilNextTurn integer +--- @field public oTTC2DRotatorRandomDirTimer integer +--- @field public oTTC2DRotatorSpeed integer +--- @field public oTTC2DRotatorTargetYaw integer +--- @field public oTTCChangeDirTimer integer +--- @field public oTTCCogDir number +--- @field public oTTCCogSpeed number +--- @field public oTTCCogTargetVel number +--- @field public oTTCElevatorDir number +--- @field public oTTCElevatorMoveTime integer +--- @field public oTTCElevatorPeakY number +--- @field public oTTCMovingBarDelay integer +--- @field public oTTCMovingBarOffset number +--- @field public oTTCMovingBarSpeed number +--- @field public oTTCMovingBarStartOffset number +--- @field public oTTCMovingBarStoppedTimer integer +--- @field public oTTCPendulumAccelDir number +--- @field public oTTCPendulumAngle number +--- @field public oTTCPendulumAngleAccel number +--- @field public oTTCPendulumAngleVel number +--- @field public oTTCPendulumDelay integer +--- @field public oTTCPendulumSoundTimer integer +--- @field public oTTCPitBlockDir integer +--- @field public oTTCPitBlockPeakY number +--- @field public oTTCPitBlockWaitTime integer +--- @field public oTTCRotatingSolidNumSides integer +--- @field public oTTCRotatingSolidNumTurns integer +--- @field public oTTCRotatingSolidRotationDelay integer +--- @field public oTTCRotatingSolidSoundTimer integer +--- @field public oTTCRotatingSolidVelY number +--- @field public oTTCSpinnerDir integer +--- @field public oTTCTreadmillBigSurface Pointer_integer +--- @field public oTTCTreadmillSmallSurface Pointer_integer +--- @field public oTTCTreadmillSpeed number +--- @field public oTTCTreadmillTargetSpeed number +--- @field public oTTCTreadmillTimeUntilSwitch integer +--- @field public oThwompRandomTimer integer +--- @field public oTiltingPyramidMarioOnPlatform integer +--- @field public oTiltingPyramidNormalX number +--- @field public oTiltingPyramidNormalY number +--- @field public oTiltingPyramidNormalZ number +--- @field public oTimer integer +--- @field public oToadMessageDialogId integer +--- @field public oToadMessageRecentlyTalked integer +--- @field public oToadMessageState integer +--- @field public oToxBoxMovementStep integer +--- @field public oTreasureChestSound integer +--- @field public oTreasureChestUnkF4 integer +--- @field public oTreasureChestUnkF8 integer +--- @field public oTreasureChestUnkFC integer +--- @field public oTreeSnowOrLeafUnkF4 integer +--- @field public oTreeSnowOrLeafUnkF8 integer +--- @field public oTreeSnowOrLeafUnkFC integer +--- @field public oTripletButterflyBaseYaw number +--- @field public oTripletButterflyModel integer +--- @field public oTripletButterflyScale number +--- @field public oTripletButterflyScalePhase integer +--- @field public oTripletButterflySelectedButterfly integer +--- @field public oTripletButterflySpeed number +--- @field public oTripletButterflyTargetPitch integer +--- @field public oTripletButterflyTargetYaw integer +--- @field public oTripletButterflyType integer +--- @field public oTumblingBridgeUnkF4 integer +--- @field public oTweesterScaleTimer integer +--- @field public oTweesterUnused integer +--- @field public oUkikiCageNextAction integer +--- @field public oUkikiCageSpinTimer integer +--- @field public oUkikiChaseFleeRange number +--- @field public oUkikiHasCap integer +--- @field public oUkikiTauntCounter integer +--- @field public oUkikiTauntsToBeDone integer +--- @field public oUkikiTextState integer +--- @field public oUkikiTextboxTimer integer +--- @field public oUnagiUnk110 number +--- @field public oUnagiUnk1AC number +--- @field public oUnagiUnk1B0 integer +--- @field public oUnagiUnk1B2 integer +--- @field public oUnagiUnkF4 number +--- @field public oUnagiUnkF8 number +--- @field public oUnk1A8 integer +--- @field public oUnk94 integer +--- @field public oUnkBC number +--- @field public oUnkC0 number +--- @field public oUnlockDoorStarState integer +--- @field public oUnlockDoorStarTimer integer +--- @field public oUnlockDoorStarYawVel integer +--- @field public oVelX number +--- @field public oVelY number +--- @field public oVelZ number +--- @field public oWFSlidBrickPtfmMovVel number +--- @field public oWallAngle integer +--- @field public oWallHitboxRadius number +--- @field public oWaterBombNumBounces number +--- @field public oWaterBombOnGround integer +--- @field public oWaterBombSpawnerBombActive integer +--- @field public oWaterBombSpawnerTimeToSpawn integer +--- @field public oWaterBombStretchSpeed number +--- @field public oWaterBombVerticalStretch number +--- @field public oWaterCannonUnk100 integer +--- @field public oWaterCannonUnkF4 integer +--- @field public oWaterCannonUnkF8 integer +--- @field public oWaterCannonUnkFC integer +--- @field public oWaterLevelPillarDrained integer +--- @field public oWaterLevelTriggerTargetWaterLevel integer +--- @field public oWaterLevelTriggerUnkF4 integer +--- @field public oWaterObjUnk100 integer +--- @field public oWaterObjUnkF4 integer +--- @field public oWaterObjUnkF8 integer +--- @field public oWaterObjUnkFC integer +--- @field public oWaterRingAvgScale number +--- @field public oWaterRingIndex integer +--- @field public oWaterRingMarioDistInFront number +--- @field public oWaterRingMgrLastRingCollected integer +--- @field public oWaterRingMgrNextRingIndex integer +--- @field public oWaterRingNormalX number +--- @field public oWaterRingNormalY number +--- @field public oWaterRingNormalZ number +--- @field public oWaterRingScalePhaseX integer +--- @field public oWaterRingScalePhaseY integer +--- @field public oWaterRingScalePhaseZ integer +--- @field public oWaterRingSpawnerRingsCollected integer +--- @field public oWaveTrailSize number +--- @field public oWhirlpoolInitFacePitch integer +--- @field public oWhirlpoolInitFaceRoll integer +--- @field public oWhirlpoolTimeout integer +--- @field public oWhitePuffUnkF4 number +--- @field public oWhitePuffUnkF8 integer +--- @field public oWhitePuffUnkFC integer +--- @field public oWhompShakeVal integer +--- @field public oWigglerFallThroughFloorsHeight number +--- @field public oWigglerSegments ChainSegment +--- @field public oWigglerSquishSpeed number +--- @field public oWigglerTargetYaw integer +--- @field public oWigglerTextStatus integer +--- @field public oWigglerTimeUntilRandomTurn integer +--- @field public oWigglerUnused integer +--- @field public oWigglerWalkAnimSpeed number +--- @field public oWigglerWalkAwayFromWallTimer integer +--- @field public oWoodenPostMarioPounding integer +--- @field public oWoodenPostOffsetY number +--- @field public oWoodenPostPrevAngleToMario integer +--- @field public oWoodenPostSpeedY number +--- @field public oWoodenPostTotalMarioAngle integer +--- @field public oYoshiBlinkTimer integer +--- @field public oYoshiChosenHome integer +--- @field public oYoshiTargetYaw integer +--- @field public parentObj Object +--- @field public platform Object +--- @field public prevObj Object +--- @field public respawnInfoType integer +--- @field public unused1 integer + +--- @class ObjectHitbox +--- @field public damageOrCoinValue integer +--- @field public downOffset integer +--- @field public health integer +--- @field public height integer +--- @field public hurtboxHeight integer +--- @field public hurtboxRadius integer +--- @field public interactType integer +--- @field public numLootCoins integer +--- @field public radius integer + +--- @class ObjectNode +--- @field public gfx GraphNodeObject +--- @field public next ObjectNode +--- @field public prev ObjectNode + +--- @class ObjectWarpNode +--- @field public next ObjectWarpNode +--- @field public node WarpNode +--- @field public object Object + +--- @class OffsetSizePair +--- @field public offset integer +--- @field public size integer + +--- @class ParallelTrackingPoint +--- @field public distThresh number +--- @field public pos Vec3f +--- @field public startOfPath integer +--- @field public zoom number + +--- @class PlayerCameraState +--- @field public action integer +--- @field public cameraEvent integer +--- @field public faceAngle Vec3s +--- @field public headRotation Vec3s +--- @field public pos Vec3f +--- @field public unused integer +--- @field public usedObj Object + +--- @class PlayerGeometry +--- @field public currCeil Surface +--- @field public currCeilHeight number +--- @field public currCeilType integer +--- @field public currFloor Surface +--- @field public currFloorHeight number +--- @field public currFloorType integer +--- @field public prevCeil Surface +--- @field public prevCeilHeight number +--- @field public prevCeilType integer +--- @field public prevFloor Surface +--- @field public prevFloorHeight number +--- @field public prevFloorType integer +--- @field public waterHeight number + +--- @class RayIntersectionInfo +--- @field public hitPos Vec3f +--- @field public surface Surface + +--- @class SoundState +--- @field public animFrame1 integer +--- @field public animFrame2 integer +--- @field public playSound integer +--- @field public soundMagic integer + +--- @class SpawnInfo +--- @field public activeAreaIndex integer +--- @field public areaIndex integer +--- @field public behaviorArg integer +--- @field public next SpawnInfo +--- @field public startAngle Vec3s +--- @field public startPos Vec3s +--- @field public unk18 GraphNode + +--- @class SpawnParticlesInfo +--- @field public behParam integer +--- @field public count integer +--- @field public dragStrength integer +--- @field public forwardVelBase integer +--- @field public forwardVelRange integer +--- @field public gravity integer +--- @field public model integer +--- @field public offsetY integer +--- @field public sizeBase number +--- @field public sizeRange number +--- @field public velYBase integer +--- @field public velYRange integer + +--- @class Struct802A272C +--- @field public vecF Vec3f +--- @field public vecS Vec3s + +--- @class Surface +--- @field public flags integer +--- @field public force integer +--- @field public lowerY integer +--- @field public modifiedTimestamp integer +--- @field public normal Vec3f +--- @field public object Object +--- @field public originOffset number +--- @field public prevVertex1 Vec3s +--- @field public prevVertex2 Vec3s +--- @field public prevVertex3 Vec3s +--- @field public room integer +--- @field public type integer +--- @field public upperY integer +--- @field public vertex1 Vec3s +--- @field public vertex2 Vec3s +--- @field public vertex3 Vec3s + +--- @class TextureInfo +--- @field public bitSize integer +--- @field public height integer +--- @field public texture Pointer_integer +--- @field public width integer + +--- @class TransitionInfo +--- @field public focDist number +--- @field public focPitch integer +--- @field public focYaw integer +--- @field public framesLeft integer +--- @field public marioPos Vec3f +--- @field public pad integer +--- @field public posDist number +--- @field public posPitch integer +--- @field public posYaw integer + +--- @class WallCollisionData +--- @field public numWalls integer +--- @field public offsetY number +--- @field public radius number +--- @field public unk14 integer + +--- @class WarpNode +--- @field public destArea integer +--- @field public destLevel integer +--- @field public destNode integer +--- @field public id integer + +--- @class WarpTransition +--- @field public data WarpTransitionData +--- @field public isActive integer +--- @field public pauseRendering integer +--- @field public time integer +--- @field public type integer + +--- @class WarpTransitionData +--- @field public blue integer +--- @field public endTexRadius integer +--- @field public endTexX integer +--- @field public endTexY integer +--- @field public green integer +--- @field public red integer +--- @field public startTexRadius integer +--- @field public startTexX integer +--- @field public startTexY integer +--- @field public texTimer integer + +--- @class WaterDropletParams +--- @field public behavior Pointer_BehaviorScript +--- @field public flags integer +--- @field public model integer +--- @field public moveAngleRange integer +--- @field public moveRange integer +--- @field public randForwardVelOffset number +--- @field public randForwardVelScale number +--- @field public randSizeOffset number +--- @field public randSizeScale number +--- @field public randYVelOffset number +--- @field public randYVelScale number + +--- @class Waypoint +--- @field public flags integer +--- @field public pos Vec3s + +--- @class Whirlpool +--- @field public pos Vec3s +--- @field public strength integer + +--- @class struct802A1230 +--- @field public unk00 integer +--- @field public unk02 integer + +--- @class Vec3f +--- @field public x number +--- @field public y number +--- @field public z number + +--- @class Vec3s +--- @field public x integer +--- @field public y integer +--- @field public z integer + +--- @class Pointer_integer +--- @class Pointer_ObjectAnimPointer +--- @class Pointer_Collision +--- @class Pointer_BehaviorScript diff --git a/docs/lua/functions.md b/docs/lua/functions.md index f6bedc7c..26a403d8 100644 --- a/docs/lua/functions.md +++ b/docs/lua/functions.md @@ -1236,9 +1236,9 @@ The `reliable` field will ensure that the packet arrives, but should be used spa | Field | Type | | ----- | ---- | | message | `string` | -| x | `float` | -| y | `float` | -| scale | `float` | +| x | `number` | +| y | `number` | +| scale | `number` | ### Returns - None @@ -1375,7 +1375,7 @@ The `reliable` field will ensure that the packet arrives, but should be used spa | Field | Type | | ----- | ---- | | message | `string` | -| lines | `int` | +| lines | `integer` | ### Returns - None @@ -2292,7 +2292,7 @@ The `reliable` field will ensure that the packet arrives, but should be used spa ## [mario_can_bubble](#mario_can_bubble) ### Lua Example -`local boolValue = mario_can_bubble(m)` +`local booleanValue = mario_can_bubble(m)` ### Parameters | Field | Type | @@ -2300,7 +2300,7 @@ The `reliable` field will ensure that the packet arrives, but should be used spa | m | [MarioState](structs.md#MarioState) | ### Returns -- `bool` +- `boolean` ### C Prototype `bool mario_can_bubble(struct MarioState* m);` @@ -5467,13 +5467,13 @@ The `reliable` field will ensure that the packet arrives, but should be used spa ## [network_is_server](#network_is_server) ### Lua Example -`local boolValue = network_is_server()` +`local booleanValue = network_is_server()` ### Parameters - None ### Returns -- `bool` +- `boolean` ### C Prototype `bool network_is_server(void);` @@ -11528,7 +11528,7 @@ The `reliable` field will ensure that the packet arrives, but should be used spa ## [warp_exit_level](#warp_exit_level) ### Lua Example -`local boolValue = warp_exit_level(aDelay)` +`local booleanValue = warp_exit_level(aDelay)` ### Parameters | Field | Type | @@ -11536,7 +11536,7 @@ The `reliable` field will ensure that the packet arrives, but should be used spa | aDelay | `integer` | ### Returns -- `bool` +- `boolean` ### C Prototype `bool warp_exit_level(s32 aDelay);` @@ -11548,13 +11548,13 @@ The `reliable` field will ensure that the packet arrives, but should be used spa ## [warp_restart_level](#warp_restart_level) ### Lua Example -`local boolValue = warp_restart_level()` +`local booleanValue = warp_restart_level()` ### Parameters - None ### Returns -- `bool` +- `boolean` ### C Prototype `bool warp_restart_level(void);` @@ -11566,7 +11566,7 @@ The `reliable` field will ensure that the packet arrives, but should be used spa ## [warp_to_castle](#warp_to_castle) ### Lua Example -`local boolValue = warp_to_castle(aLevel)` +`local booleanValue = warp_to_castle(aLevel)` ### Parameters | Field | Type | @@ -11574,7 +11574,7 @@ The `reliable` field will ensure that the packet arrives, but should be used spa | aLevel | `integer` | ### Returns -- `bool` +- `boolean` ### C Prototype `bool warp_to_castle(s32 aLevel);` @@ -11586,7 +11586,7 @@ The `reliable` field will ensure that the packet arrives, but should be used spa ## [warp_to_level](#warp_to_level) ### Lua Example -`local boolValue = warp_to_level(aLevel, aArea, aAct)` +`local booleanValue = warp_to_level(aLevel, aArea, aAct)` ### Parameters | Field | Type | @@ -11596,7 +11596,7 @@ The `reliable` field will ensure that the packet arrives, but should be used spa | aAct | `integer` | ### Returns -- `bool` +- `boolean` ### C Prototype `bool warp_to_level(s32 aLevel, s32 aArea, s32 aAct);` diff --git a/docs/lua/structs.md b/docs/lua/structs.md index 533f1780..21c5ea46 100644 --- a/docs/lua/structs.md +++ b/docs/lua/structs.md @@ -236,7 +236,7 @@ | capMetalWingModelId | `integer` | read-only | | capModelId | `integer` | read-only | | capWingModelId | `integer` | read-only | -| hudHead | `char` | read-only | +| hudHead | `integer` | read-only | | hudHeadTexture | [TextureInfo](structs.md#TextureInfo) | read-only | | modelId | `integer` | read-only | | name | `string` | read-only | @@ -816,14 +816,14 @@ | Field | Type | Access | | ----- | ---- | ------ | -| connected | `bool` | read-only | +| connected | `boolean` | read-only | | currActNum | `integer` | read-only | | currAreaIndex | `integer` | read-only | -| currAreaSyncValid | `bool` | read-only | +| currAreaSyncValid | `boolean` | read-only | | currCourseNum | `integer` | read-only | | currLevelAreaSeqId | `integer` | read-only | | currLevelNum | `integer` | read-only | -| currLevelSyncValid | `bool` | read-only | +| currLevelSyncValid | `boolean` | read-only | | description | `string` | read-only | | descriptionA | `integer` | read-only | | descriptionB | `integer` | read-only | @@ -1818,10 +1818,10 @@ | Field | Type | Access | | ----- | ---- | ------ | -| bitSize | `const u8` | read-only | -| height | `const u32` | read-only | +| bitSize | `integer` | read-only | +| height | `integer` | read-only | | texture | `Pointer` <`integer`> | read-only | -| width | `const u32` | read-only | +| width | `integer` | read-only | [:arrow_up_small:](#) @@ -1849,9 +1849,9 @@ | Field | Type | Access | | ----- | ---- | ------ | -| x | `float` | | -| y | `float` | | -| z | `float` | | +| x | `number` | | +| y | `number` | | +| z | `number` | | [:arrow_up_small:](#) diff --git a/mods/football.lua b/mods/football.lua index 603ee4b9..48b1915e 100644 --- a/mods/football.lua +++ b/mods/football.lua @@ -163,6 +163,7 @@ define_custom_obj_fields({ oFrozen = 'u32', }) +--- @param obj Object function bhv_ball_particle_trail(obj) local spi = obj_get_temp_spawn_particles_info(E_MODEL_SPARKLES) if spi == nil then @@ -184,6 +185,7 @@ function bhv_ball_particle_trail(obj) cur_obj_spawn_particles(spi) end +--- @param obj Object function bhv_ball_particle_bounce(obj) local spi = obj_get_temp_spawn_particles_info(E_MODEL_MIST) if spi == nil then @@ -205,6 +207,7 @@ function bhv_ball_particle_bounce(obj) cur_obj_spawn_particles(spi) end +--- @param obj Object function bhv_ball_init(obj) -- flags and such obj.oFlags = OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE @@ -244,6 +247,7 @@ function bhv_ball_init(obj) }) end +--- @param obj Object function bhv_ball_player_collision(obj) local alterPos = { x = 0, y = 0, z = 0} @@ -434,6 +438,8 @@ function bhv_ball_player_collision(obj) return alterPos end +--- @param obj Object +--- @param offset Vec3f function bhv_ball_resolve(obj, offset) local a = { x = obj.oPosX + 0, y = obj.oPosY + 0, z = obj.oPosZ + 0 } local dir = { x = offset.x * -1.0, y = offset.y * -1.0, z = offset.z * -1.0} @@ -450,6 +456,7 @@ function bhv_ball_resolve(obj, offset) return { x = info.surface.normal.x, y = info.surface.normal.y, z = info.surface.normal.z } end +--- @param obj Object function bhv_ball_loop(obj) if obj.oFrozen ~= 0 then return @@ -1026,6 +1033,7 @@ function gamemode_update() end end +--- @param m MarioState function on_player_connected(m) -- only run on server if not network_is_server() then @@ -1160,6 +1168,7 @@ end -- update stuff -- ------------------ +--- @param m MarioState function mario_update_local(m) local np = gNetworkPlayers[m.playerIndex] local s = gPlayerSyncTable[m.playerIndex] @@ -1231,6 +1240,7 @@ function mario_update_local(m) end end +--- @param m MarioState function mario_update(m) if m.playerIndex == 0 then mario_update_local(m) diff --git a/src/pc/lua/smlua_constants_autogen.c b/src/pc/lua/smlua_constants_autogen.c index ab6695c3..19fe0a5c 100644 --- a/src/pc/lua/smlua_constants_autogen.c +++ b/src/pc/lua/smlua_constants_autogen.c @@ -42,36 +42,56 @@ char gSmluaConstants[] = "" " __newindex = function (t,k,v)\n" " end\n" "}\n" +"--- @param dest Vec3f\n" +"--- @param src Vec3f\n" +"--- @return Vec3f\n" "function vec3f_copy(dest, src)\n" " dest.x = src.x\n" " dest.y = src.y\n" " dest.z = src.z\n" " return dest\n" "end\n" +"--- @param dest Vec3f\n" +"--- @param x number\n" +"--- @param y number\n" +"--- @param z number\n" +"--- @return Vec3f\n" "function vec3f_set(dest, x, y, z)\n" " dest.x = x\n" " dest.y = y\n" " dest.z = z\n" " return dest\n" "end\n" +"--- @param dest Vec3f\n" +"--- @param a Vec3f\n" +"--- @return Vec3f\n" "function vec3f_add(dest, a)\n" " dest.x = dest.x + a.x\n" " dest.y = dest.y + a.y\n" " dest.z = dest.z + a.z\n" " return dest\n" "end\n" +"--- @param dest Vec3f\n" +"--- @param a Vec3f\n" +"--- @param b Vec3f\n" +"--- @return Vec3f\n" "function vec3f_sum(dest, a, b)\n" " dest.x = a.x + b.x\n" " dest.y = a.y + b.y\n" " dest.z = a.z + b.z\n" " return dest\n" "end\n" +"--- @param dest Vec3f\n" +"--- @param a number\n" +"--- @return Vec3f\n" "function vec3f_mul(dest, a)\n" " dest.x = dest.x * a\n" " dest.y = dest.y * a\n" " dest.z = dest.z * a\n" " return dest\n" "end\n" +"--- @param dest Vec3f\n" +"--- @return Vec3f\n" "function vec3f_normalize(dest)\n" " local divisor = math.sqrt(dest.x * dest.x + dest.y * dest.y + dest.z * dest.z)\n" " if divisor == 0 then\n" @@ -83,12 +103,20 @@ char gSmluaConstants[] = "" " dest.z = dest.z * invsqrt\n" " return dest\n" "end\n" +"--- @param a Vec3f\n" +"--- @return number\n" "function vec3f_length(a)\n" " return math.sqrt(a.x * a.x + a.y * a.y + a.z * a.z)\n" "end\n" +"--- @param a Vec3f\n" +"--- @param b Vec3f\n" +"--- @return number\n" "function vec3f_dot(a, b)\n" " return a.x * b.x + a.y * b.y + a.z * b.z\n" "end\n" +"--- @param vec Vec3f\n" +"--- @param onto Vec3f\n" +"--- @return Vec3f\n" "function vec3f_project(vec, onto)\n" " local numerator = vec3f_dot(vec, onto)\n" " local denominator = vec3f_dot(onto, onto)\n" @@ -97,48 +125,77 @@ char gSmluaConstants[] = "" " vec3f_mul(out, numerator / denominator)\n" " return out\n" "end\n" +"--- @param v1 Vec3f\n" +"--- @param v2 Vec3f\n" +"--- @return number\n" "function vec3f_dist(v1, v2)\n" " dx = v1.x - v2.x\n" " dy = v1.y - v2.y\n" " dz = v1.z - v2.z\n" " return math.sqrt(dx * dx + dy * dy + dz * dz)\n" "end\n" +"--- @param dest Vec3s\n" +"--- @param src Vec3s\n" +"--- @return Vec3s\n" "function vec3s_copy(dest, src)\n" " dest.x = src.x\n" " dest.y = src.y\n" " dest.z = src.z\n" " return dest\n" "end\n" +"--- @param dest Vec3s\n" +"--- @param x number\n" +"--- @param y number\n" +"--- @param z number\n" +"--- @return Vec3s\n" "function vec3s_set(dest, x, y, z)\n" " dest.x = x\n" " dest.y = y\n" " dest.z = z\n" " return dest\n" "end\n" +"--- @param dest Vec3s\n" +"--- @param a Vec3s\n" +"--- @return Vec3s\n" "function vec3s_add(dest, a)\n" " dest.x = dest.x + a.x\n" " dest.y = dest.y + a.y\n" " dest.z = dest.z + a.z\n" " return dest\n" "end\n" +"--- @param dest Vec3s\n" +"--- @param a Vec3s\n" +"--- @param b Vec3s\n" +"--- @return Vec3s\n" "function vec3s_sum(dest, a, b)\n" " dest.x = a.x + b.x\n" " dest.y = a.y + b.y\n" " dest.z = a.z + b.z\n" " return dest\n" "end\n" +"--- @param dest Vec3s\n" +"--- @param a number\n" +"--- @return Vec3s\n" "function vec3s_mul(dest, a)\n" " dest.x = dest.x * a\n" " dest.y = dest.y * a\n" " dest.z = dest.z * a\n" " return dest\n" "end\n" +"--- @param v1 Vec3s\n" +"--- @param v2 Vec3s\n" +"--- @return number\n" "function vec3s_dist(v1, v2)\n" " dx = v1.x - v2.x\n" " dy = v1.y - v2.y\n" " dz = v1.z - v2.z\n" " return math.sqrt(dx * dx + dy * dy + dz * dz)\n" "end\n" +"--- @param current number\n" +"--- @param target number\n" +"--- @param inc number\n" +"--- @param dec number\n" +"--- @return number\n" "function approach_f32(current, target, inc, dec)\n" " if current < target then\n" " current = current + inc\n" @@ -153,6 +210,11 @@ char gSmluaConstants[] = "" " end\n" " return current;\n" "end\n" +"--- @param current number\n" +"--- @param target number\n" +"--- @param inc number\n" +"--- @param dec number\n" +"--- @return number\n" "function approach_s32(current, target, inc, dec)\n" " if current < target then\n" " current = current + inc\n" @@ -167,6 +229,12 @@ char gSmluaConstants[] = "" " end\n" " return current;\n" "end\n" +"--- @param bank number\n" +"--- @param playFlags number\n" +"--- @param soundID number\n" +"--- @param priority number\n" +"--- @param flags2 number\n" +"--- @return number\n" "function SOUND_ARG_LOAD(bank, playFlags, soundID, priority, flags2)\n" " return ((bank << 28) | (playFlags << 24) | (soundID << 16) | (priority << 8) | (flags2 << 4) | 1)\n" "end\n"