mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2025-12-18 14:02:44 +00:00
Autogenerated Lua documentation
This commit is contained in:
parent
3d5d0b5306
commit
c170984471
13 changed files with 10394 additions and 2778 deletions
5
autogen/autogen.sh
Normal file
5
autogen/autogen.sh
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/usr/bin/bash
|
||||||
|
|
||||||
|
python3 ./autogen/convert_structs.py
|
||||||
|
python3 ./autogen/convert_functions.py
|
||||||
|
python3 ./autogen/convert_constants.py
|
||||||
|
|
@ -63,3 +63,24 @@ def gen_comment_header(f):
|
||||||
s += "" + comment_l + "\n"
|
s += "" + comment_l + "\n"
|
||||||
s += "\n"
|
s += "\n"
|
||||||
return s
|
return s
|
||||||
|
|
||||||
|
def translate_type_to_lua(ptype):
|
||||||
|
if ptype.startswith('struct '):
|
||||||
|
return ptype.split(' ')[1].replace('*', ''), True
|
||||||
|
|
||||||
|
if 'Vec3' in ptype:
|
||||||
|
return ptype, True
|
||||||
|
|
||||||
|
if ptype.startswith('enum '):
|
||||||
|
return 'integer', False
|
||||||
|
|
||||||
|
if ptype in usf_types:
|
||||||
|
if ptype.startswith('f'):
|
||||||
|
return 'number', False
|
||||||
|
else:
|
||||||
|
return 'integer', False
|
||||||
|
|
||||||
|
if 'void' == ptype:
|
||||||
|
return None, False
|
||||||
|
|
||||||
|
return ptype, False
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,118 @@
|
||||||
import os
|
import os
|
||||||
|
from common import *
|
||||||
|
|
||||||
in_filename = os.path.dirname(os.path.realpath(__file__)) + "/lua_constants/constants.lua"
|
in_filename = os.path.dirname(os.path.realpath(__file__)) + "/lua_constants/constants.lua"
|
||||||
out_filename = os.path.dirname(os.path.realpath(__file__)) + '/../src/pc/lua/smlua_constants_autogen.c'
|
out_filename = os.path.dirname(os.path.realpath(__file__)) + '/../src/pc/lua/smlua_constants_autogen.c'
|
||||||
|
docs_lua_constants = 'docs/lua/constants.md'
|
||||||
|
|
||||||
|
############################################################################
|
||||||
|
|
||||||
|
def build_constants():
|
||||||
|
built = "char gSmluaConstants[] = "
|
||||||
|
with open(in_filename) as fp:
|
||||||
|
lines = fp.readlines()
|
||||||
|
for line in lines:
|
||||||
|
if line.startswith('--'):
|
||||||
|
continue
|
||||||
|
if line.strip() == '':
|
||||||
|
continue
|
||||||
|
built += '"' + line.replace('\n', '').replace('\r', '') + '\\n"' + "\n"
|
||||||
|
built += ';'
|
||||||
|
|
||||||
|
with open(out_filename, 'w') as out:
|
||||||
|
out.write(built)
|
||||||
|
|
||||||
|
############################################################################
|
||||||
|
|
||||||
|
def doc_process(lines):
|
||||||
|
processed = []
|
||||||
|
cur = None
|
||||||
|
|
||||||
built = "char gSmluaConstants[] = "
|
|
||||||
with open(in_filename) as fp:
|
|
||||||
lines = fp.readlines()
|
|
||||||
for line in lines:
|
for line in lines:
|
||||||
if line.startswith('--'):
|
|
||||||
continue
|
|
||||||
if line.strip() == '':
|
|
||||||
continue
|
|
||||||
built += '"' + line.replace('\n', '').replace('\r', '') + '\\n"' + "\n"
|
|
||||||
built += ';'
|
|
||||||
|
|
||||||
with open(out_filename, 'w') as out:
|
if line.startswith('--'):
|
||||||
out.write(built)
|
spl = line.split()
|
||||||
|
if len(spl) == 3 and spl[0] == spl[2]:
|
||||||
|
if cur != None:
|
||||||
|
processed.append(cur)
|
||||||
|
cur = {}
|
||||||
|
cur['category'] = spl[1].strip()
|
||||||
|
cur['constants'] = []
|
||||||
|
continue
|
||||||
|
|
||||||
|
if len(line.strip()) == 0:
|
||||||
|
if len(cur['constants']) == 0:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if len(cur['constants'][-1]) == 0:
|
||||||
|
continue
|
||||||
|
|
||||||
|
cur['constants'].append('')
|
||||||
|
continue
|
||||||
|
|
||||||
|
if '=' not in line:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if line[0] < 'A' or line[0] > 'Z':
|
||||||
|
continue
|
||||||
|
|
||||||
|
cur['constants'].append(line.strip().split(' ')[0])
|
||||||
|
|
||||||
|
if cur != None:
|
||||||
|
processed.append(cur)
|
||||||
|
|
||||||
|
processed = sorted(processed, key=lambda d: d['category'])
|
||||||
|
return processed
|
||||||
|
|
||||||
|
def doc_build_category(p):
|
||||||
|
category = p['category']
|
||||||
|
constants = p['constants']
|
||||||
|
if len(constants[-1]) == 0:
|
||||||
|
constants = constants[:-1]
|
||||||
|
|
||||||
|
if len(constants) == 0:
|
||||||
|
return
|
||||||
|
|
||||||
|
s = '\n## [%s](%s)\n' % (category, category)
|
||||||
|
|
||||||
|
for c in constants:
|
||||||
|
if len(c) == 0:
|
||||||
|
s += '\n<br />\n\n'
|
||||||
|
continue
|
||||||
|
|
||||||
|
s += '- %s\n' % c
|
||||||
|
|
||||||
|
s += '\n[:arrow_up_small:](#)\n\n<br />\n'
|
||||||
|
|
||||||
|
return s
|
||||||
|
|
||||||
|
def doc_build_index(processed):
|
||||||
|
s = '# Supported Constants\n'
|
||||||
|
for p in processed:
|
||||||
|
s += '- [%s](#%s)\n' % (p['category'], p['category'])
|
||||||
|
|
||||||
|
s += '\n<br />\n'
|
||||||
|
|
||||||
|
return s
|
||||||
|
|
||||||
|
def doc_build(processed):
|
||||||
|
s = '## [:rewind: Lua Reference](lua.md)\n\n'
|
||||||
|
s += doc_build_index(processed)
|
||||||
|
for p in processed:
|
||||||
|
s += doc_build_category(p)
|
||||||
|
|
||||||
|
with open(get_path(docs_lua_constants), 'w') as out:
|
||||||
|
out.write(s)
|
||||||
|
|
||||||
|
def doc_constants():
|
||||||
|
with open(in_filename) as fp:
|
||||||
|
lines = fp.readlines()
|
||||||
|
|
||||||
|
processed = doc_process(lines)
|
||||||
|
doc_build(processed)
|
||||||
|
|
||||||
|
|
||||||
|
############################################################################
|
||||||
|
|
||||||
|
build_constants()
|
||||||
|
doc_constants()
|
||||||
|
|
@ -7,6 +7,7 @@ integer_types = ["u8", "u16", "u32", "u64", "s8", "s16", "s32", "s64", "int"]
|
||||||
number_types = ["f32", "float"]
|
number_types = ["f32", "float"]
|
||||||
param_override_build = {}
|
param_override_build = {}
|
||||||
out_filename = 'src/pc/lua/smlua_functions_autogen.c'
|
out_filename = 'src/pc/lua/smlua_functions_autogen.c'
|
||||||
|
docs_lua_functions = 'docs/lua/functions.md'
|
||||||
|
|
||||||
###########################################################
|
###########################################################
|
||||||
|
|
||||||
|
|
@ -75,18 +76,10 @@ param_override_build['Vec3s'] = {
|
||||||
'after': param_vec3s_after_call
|
'after': param_vec3s_after_call
|
||||||
}
|
}
|
||||||
|
|
||||||
###########################################################
|
############################################################################
|
||||||
|
|
||||||
built_functions = ""
|
|
||||||
built_binds = ""
|
|
||||||
|
|
||||||
#######
|
|
||||||
|
|
||||||
do_extern = False
|
|
||||||
header_h = ""
|
header_h = ""
|
||||||
|
|
||||||
functions = []
|
|
||||||
|
|
||||||
def reject_line(line):
|
def reject_line(line):
|
||||||
if len(line) == 0:
|
if len(line) == 0:
|
||||||
return True
|
return True
|
||||||
|
|
@ -104,46 +97,7 @@ def normalize_type(t):
|
||||||
t = parts[0] + ' ' + parts[1].replace(' ', '')
|
t = parts[0] + ' ' + parts[1].replace(' ', '')
|
||||||
return t
|
return t
|
||||||
|
|
||||||
def process_line(line):
|
############################################################################
|
||||||
function = {}
|
|
||||||
|
|
||||||
line = line.strip()
|
|
||||||
function['line'] = line
|
|
||||||
|
|
||||||
line = line.replace('UNUSED', '')
|
|
||||||
|
|
||||||
match = re.search('[a-zA-Z0-9_]+\(', line)
|
|
||||||
function['type'] = normalize_type(line[0:match.span()[0]])
|
|
||||||
function['identifier'] = match.group()[0:-1]
|
|
||||||
|
|
||||||
function['params'] = []
|
|
||||||
params_str = line.split('(', 1)[1].rsplit(')', 1)[0].strip()
|
|
||||||
if len(params_str) == 0 or params_str == 'void':
|
|
||||||
pass
|
|
||||||
else:
|
|
||||||
param_index = 0
|
|
||||||
for param_str in params_str.split(','):
|
|
||||||
param = {}
|
|
||||||
param_str = param_str.strip()
|
|
||||||
if param_str.endswith('*') or ' ' not in param_str:
|
|
||||||
param['type'] = normalize_type(param_str)
|
|
||||||
param['identifier'] = 'arg%d' % param_index
|
|
||||||
else:
|
|
||||||
match = re.search('[a-zA-Z0-9_]+$', param_str)
|
|
||||||
param['type'] = normalize_type(param_str[0:match.span()[0]])
|
|
||||||
param['identifier'] = match.group()
|
|
||||||
function['params'].append(param)
|
|
||||||
param_index += 1
|
|
||||||
|
|
||||||
functions.append(function)
|
|
||||||
|
|
||||||
def process_lines(file_str):
|
|
||||||
for line in file_str.splitlines():
|
|
||||||
if reject_line(line):
|
|
||||||
global rejects
|
|
||||||
rejects += line + '\n'
|
|
||||||
continue
|
|
||||||
process_line(line)
|
|
||||||
|
|
||||||
def build_param(param, i):
|
def build_param(param, i):
|
||||||
ptype = param['type']
|
ptype = param['type']
|
||||||
|
|
@ -192,7 +146,9 @@ def build_call(function):
|
||||||
|
|
||||||
return ' %s(L, %s);\n' % (lfunc, ccall)
|
return ' %s(L, %s);\n' % (lfunc, ccall)
|
||||||
|
|
||||||
def build_function(function):
|
def build_function(function, do_extern):
|
||||||
|
s = ''
|
||||||
|
|
||||||
if len(function['params']) <= 0:
|
if len(function['params']) <= 0:
|
||||||
s = 'int smlua_func_%s(UNUSED lua_State* L) {\n' % function['identifier']
|
s = 'int smlua_func_%s(UNUSED lua_State* L) {\n' % function['identifier']
|
||||||
else:
|
else:
|
||||||
|
|
@ -207,7 +163,6 @@ def build_function(function):
|
||||||
i += 1
|
i += 1
|
||||||
s += '\n'
|
s += '\n'
|
||||||
|
|
||||||
global do_extern
|
|
||||||
if do_extern:
|
if do_extern:
|
||||||
s += ' extern %s\n' % function['line']
|
s += ' extern %s\n' % function['line']
|
||||||
|
|
||||||
|
|
@ -225,12 +180,16 @@ def build_function(function):
|
||||||
if 'UNIMPLEMENTED' in s:
|
if 'UNIMPLEMENTED' in s:
|
||||||
s = "/*\n" + s + "*/\n"
|
s = "/*\n" + s + "*/\n"
|
||||||
|
|
||||||
global built_functions
|
return s + "\n"
|
||||||
built_functions += s + "\n"
|
|
||||||
|
|
||||||
def build_functions():
|
def build_functions(processed_files):
|
||||||
for function in functions:
|
s = ''
|
||||||
build_function(function)
|
for processed_file in processed_files:
|
||||||
|
s += gen_comment_header(processed_file['filename'])
|
||||||
|
|
||||||
|
for function in processed_file['functions']:
|
||||||
|
s += build_function(function, processed_file['extern'])
|
||||||
|
return s
|
||||||
|
|
||||||
def build_bind(function):
|
def build_bind(function):
|
||||||
s = 'smlua_bind_function(L, "%s", smlua_func_%s);' % (function['identifier'], function['identifier'])
|
s = 'smlua_bind_function(L, "%s", smlua_func_%s);' % (function['identifier'], function['identifier'])
|
||||||
|
|
@ -238,45 +197,172 @@ def build_bind(function):
|
||||||
s = ' ' + s
|
s = ' ' + s
|
||||||
else:
|
else:
|
||||||
s = ' //' + s + ' <--- UNIMPLEMENTED'
|
s = ' //' + s + ' <--- UNIMPLEMENTED'
|
||||||
global built_binds
|
return s + "\n"
|
||||||
built_binds += s + "\n"
|
|
||||||
|
|
||||||
def build_binds(fname):
|
def build_binds(processed_files):
|
||||||
global built_binds
|
s = ''
|
||||||
built_binds += "\n // " + fname.split('/')[-1] + "\n"
|
for processed_file in processed_files:
|
||||||
for function in functions:
|
s += "\n // " + processed_file['filename'] + "\n"
|
||||||
build_bind(function)
|
|
||||||
|
for function in processed_file['functions']:
|
||||||
|
s += build_bind(function)
|
||||||
|
return s
|
||||||
|
|
||||||
|
############################################################################
|
||||||
|
|
||||||
|
def process_function(line):
|
||||||
|
function = {}
|
||||||
|
|
||||||
|
line = line.strip()
|
||||||
|
function['line'] = line
|
||||||
|
|
||||||
|
line = line.replace('UNUSED', '')
|
||||||
|
|
||||||
|
match = re.search('[a-zA-Z0-9_]+\(', line)
|
||||||
|
function['type'] = normalize_type(line[0:match.span()[0]])
|
||||||
|
function['identifier'] = match.group()[0:-1]
|
||||||
|
|
||||||
|
function['params'] = []
|
||||||
|
params_str = line.split('(', 1)[1].rsplit(')', 1)[0].strip()
|
||||||
|
if len(params_str) == 0 or params_str == 'void':
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
param_index = 0
|
||||||
|
for param_str in params_str.split(','):
|
||||||
|
param = {}
|
||||||
|
param_str = param_str.strip()
|
||||||
|
if param_str.endswith('*') or ' ' not in param_str:
|
||||||
|
param['type'] = normalize_type(param_str)
|
||||||
|
param['identifier'] = 'arg%d' % param_index
|
||||||
|
else:
|
||||||
|
match = re.search('[a-zA-Z0-9_]+$', param_str)
|
||||||
|
param['type'] = normalize_type(param_str[0:match.span()[0]])
|
||||||
|
param['identifier'] = match.group()
|
||||||
|
function['params'].append(param)
|
||||||
|
param_index += 1
|
||||||
|
|
||||||
|
return function
|
||||||
|
|
||||||
|
def process_functions(file_str):
|
||||||
|
functions = []
|
||||||
|
for line in file_str.splitlines():
|
||||||
|
if reject_line(line):
|
||||||
|
global rejects
|
||||||
|
rejects += line + '\n'
|
||||||
|
continue
|
||||||
|
functions.append(process_function(line))
|
||||||
|
|
||||||
|
functions = sorted(functions, key=lambda d: d['identifier'])
|
||||||
|
return functions
|
||||||
|
|
||||||
def process_file(fname):
|
def process_file(fname):
|
||||||
functions.clear()
|
processed_file = {}
|
||||||
global do_extern
|
processed_file['filename'] = fname.replace('\\', '/').split('/')[-1]
|
||||||
do_extern = fname.endswith(".c")
|
processed_file['extern'] = fname.endswith('.c')
|
||||||
|
|
||||||
with open(fname) as file:
|
with open(fname) as file:
|
||||||
process_lines(file.read())
|
processed_file['functions'] = process_functions(file.read())
|
||||||
build_functions()
|
|
||||||
build_binds(fname)
|
return processed_file
|
||||||
|
|
||||||
def process_files():
|
def process_files():
|
||||||
|
processed_files = []
|
||||||
dir_path = os.path.dirname(os.path.realpath(__file__)) + '/lua_functions/'
|
dir_path = os.path.dirname(os.path.realpath(__file__)) + '/lua_functions/'
|
||||||
files = os.listdir(dir_path)
|
files = sorted(os.listdir(dir_path))
|
||||||
for f in files:
|
for f in files:
|
||||||
comment_header = "// " + f + " //"
|
processed_files.append(process_file(dir_path + f))
|
||||||
comment_line = "/" * len(comment_header)
|
return processed_files
|
||||||
|
|
||||||
global built_functions
|
############################################################################
|
||||||
built_functions += gen_comment_header(f)
|
|
||||||
|
|
||||||
process_file(dir_path + f)
|
def doc_function_index(processed_files):
|
||||||
|
s = '# Supported Functions\n'
|
||||||
|
for processed_file in processed_files:
|
||||||
|
s += '- %s\n' % processed_file['filename']
|
||||||
|
for function in processed_file['functions']:
|
||||||
|
s += ' - [%s](#%s)\n' % (function['identifier'], function['identifier'])
|
||||||
|
s += '\n<br />\n\n'
|
||||||
|
return s
|
||||||
|
|
||||||
|
def doc_function(function):
|
||||||
|
fid = function['identifier']
|
||||||
|
s = '\n## [%s](#%s)\n' % (fid, fid)
|
||||||
|
|
||||||
|
rtype, rlink = translate_type_to_lua(function['type'])
|
||||||
|
param_str = ', '.join([x['identifier'] for x in function['params']])
|
||||||
|
|
||||||
|
s += "\n### Lua Example\n"
|
||||||
|
if rtype != None:
|
||||||
|
s += "`local %sValue = %s(%s)`\n" % (rtype, fid, param_str)
|
||||||
|
else:
|
||||||
|
s += "`%s(%s)`\n" % (fid, param_str)
|
||||||
|
|
||||||
|
s += '\n### Parameters\n'
|
||||||
|
if len(function['params']) > 0:
|
||||||
|
s += '| Field | Type |\n'
|
||||||
|
s += '| ----- | ---- |\n'
|
||||||
|
for param in function['params']:
|
||||||
|
pid = param['identifier']
|
||||||
|
ptype = param['type']
|
||||||
|
ptype, plink = translate_type_to_lua(ptype)
|
||||||
|
|
||||||
|
if plink:
|
||||||
|
s += '| %s | [%s](structs.md#%s) |\n' % (pid, ptype, ptype)
|
||||||
|
continue
|
||||||
|
|
||||||
|
s += '| %s | %s |\n' % (pid, ptype)
|
||||||
|
|
||||||
|
else:
|
||||||
|
s += '- None\n'
|
||||||
|
|
||||||
|
s += '\n### Returns\n'
|
||||||
|
if rtype != None:
|
||||||
|
if rlink:
|
||||||
|
s += '[%s](structs.md#%s)\n' % (rtype, rtype)
|
||||||
|
else:
|
||||||
|
s += '- %s\n' % rtype
|
||||||
|
else:
|
||||||
|
s += '- None\n'
|
||||||
|
|
||||||
|
|
||||||
|
s += '\n### C Prototype\n'
|
||||||
|
s += '`%s`\n' % function['line'].strip()
|
||||||
|
|
||||||
|
s += '\n[:arrow_up_small:](#)\n\n<br />\n'
|
||||||
|
|
||||||
|
return s
|
||||||
|
|
||||||
|
def doc_functions(functions):
|
||||||
|
s = ''
|
||||||
|
for function in functions:
|
||||||
|
s += doc_function(function)
|
||||||
|
return s
|
||||||
|
|
||||||
|
def doc_files(processed_files):
|
||||||
|
s = '## [:rewind: Lua Reference](lua.md)\n\n'
|
||||||
|
s += doc_function_index(processed_files)
|
||||||
|
for processed_file in processed_files:
|
||||||
|
s += '\n---'
|
||||||
|
s += '\n# functions from %s\n\n<br />\n\n' % processed_file['filename']
|
||||||
|
s += doc_functions(processed_file['functions'])
|
||||||
|
|
||||||
|
with open(get_path(docs_lua_functions), 'w') as out:
|
||||||
|
out.write(s)
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
process_files()
|
processed_files = process_files()
|
||||||
|
|
||||||
|
built_functions = build_functions(processed_files)
|
||||||
|
built_binds = build_binds(processed_files)
|
||||||
|
|
||||||
filename = get_path(out_filename)
|
filename = get_path(out_filename)
|
||||||
with open(filename, 'w') as out:
|
with open(filename, 'w') as out:
|
||||||
out.write(template.replace("$[FUNCTIONS]", built_functions).replace("$[BINDS]", built_binds))
|
out.write(template.replace("$[FUNCTIONS]", built_functions).replace("$[BINDS]", built_binds))
|
||||||
print('REJECTS:')
|
print('REJECTS:')
|
||||||
print(rejects)
|
print(rejects)
|
||||||
|
doc_files(processed_files)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main()
|
main()
|
||||||
|
|
@ -13,6 +13,7 @@ in_files = [
|
||||||
]
|
]
|
||||||
|
|
||||||
smlua_cobject_autogen = 'src/pc/lua/smlua_cobject_autogen'
|
smlua_cobject_autogen = 'src/pc/lua/smlua_cobject_autogen'
|
||||||
|
docs_lua_structs = 'docs/lua/structs.md'
|
||||||
|
|
||||||
c_template = """/* THIS FILE IS AUTOGENERATED */
|
c_template = """/* THIS FILE IS AUTOGENERATED */
|
||||||
/* SHOULD NOT BE MANUALLY CHANGED */
|
/* SHOULD NOT BE MANUALLY CHANGED */
|
||||||
|
|
@ -56,6 +57,11 @@ override_field_immutable = {
|
||||||
"Character": [ "*" ],
|
"Character": [ "*" ],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sLuaManuallyDefinedStructs = [
|
||||||
|
'struct Vec3f { float x; float y; float z; }',
|
||||||
|
'struct Vec3s { s16 x; s16 y; s16 z; }'
|
||||||
|
]
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
def strip_internal_blocks(body):
|
def strip_internal_blocks(body):
|
||||||
|
|
@ -149,6 +155,8 @@ def parse_struct(struct_str):
|
||||||
|
|
||||||
struct['fields'].append(field)
|
struct['fields'].append(field)
|
||||||
|
|
||||||
|
struct['fields'] = sorted(struct['fields'], key=lambda d: d['identifier'])
|
||||||
|
|
||||||
return struct
|
return struct
|
||||||
|
|
||||||
def parse_structs(struct_strs):
|
def parse_structs(struct_strs):
|
||||||
|
|
@ -162,28 +170,34 @@ def parse_structs(struct_strs):
|
||||||
sLuaObjectTable = []
|
sLuaObjectTable = []
|
||||||
sLotAutoGenList = []
|
sLotAutoGenList = []
|
||||||
|
|
||||||
|
def get_struct_field_info(struct, field):
|
||||||
|
sid = struct['identifier']
|
||||||
|
fid = field['identifier']
|
||||||
|
ftype = field['type']
|
||||||
|
|
||||||
|
if sid in override_field_names and fid in override_field_names[sid]:
|
||||||
|
fid = override_field_names[sid][fid]
|
||||||
|
|
||||||
|
if sid in override_field_types and fid in override_field_types[sid]:
|
||||||
|
ftype = override_field_types[sid][fid]
|
||||||
|
|
||||||
|
lvt = translate_type_to_lvt(ftype)
|
||||||
|
lot = translate_type_to_lot(ftype)
|
||||||
|
fimmutable = str(lvt == 'LVT_COBJECT' or lvt == 'LVT_COBJECT_P').lower()
|
||||||
|
|
||||||
|
if sid in override_field_immutable:
|
||||||
|
if fid in override_field_immutable[sid] or '*' in override_field_immutable[sid]:
|
||||||
|
fimmutable = 'true'
|
||||||
|
|
||||||
|
return fid, ftype, fimmutable, lvt, lot
|
||||||
|
|
||||||
def build_struct(struct):
|
def build_struct(struct):
|
||||||
sid = struct['identifier']
|
sid = struct['identifier']
|
||||||
|
|
||||||
# build up table and track column width
|
# build up table and track column width
|
||||||
field_table = []
|
field_table = []
|
||||||
for field in struct['fields']:
|
for field in struct['fields']:
|
||||||
fid = field['identifier']
|
fid, ftype, fimmutable, lvt, lot = get_struct_field_info(struct, field)
|
||||||
ftype = field['type']
|
|
||||||
|
|
||||||
if sid in override_field_names and fid in override_field_names[sid]:
|
|
||||||
fid = override_field_names[sid][fid]
|
|
||||||
|
|
||||||
if sid in override_field_types and fid in override_field_types[sid]:
|
|
||||||
ftype = override_field_types[sid][fid]
|
|
||||||
|
|
||||||
lvt = translate_type_to_lvt(ftype)
|
|
||||||
lot = translate_type_to_lot(ftype)
|
|
||||||
fimmutable = str(lvt == 'LVT_COBJECT' or lvt == 'LVT_COBJECT_P').lower()
|
|
||||||
|
|
||||||
if sid in override_field_immutable:
|
|
||||||
if fid in override_field_immutable[sid] or '*' in override_field_immutable[sid]:
|
|
||||||
fimmutable = 'true'
|
|
||||||
|
|
||||||
row = []
|
row = []
|
||||||
row.append(' { ' )
|
row.append(' { ' )
|
||||||
|
|
@ -262,6 +276,57 @@ def build_includes():
|
||||||
s += '#include "%s"\n' % in_file
|
s += '#include "%s"\n' % in_file
|
||||||
return s
|
return s
|
||||||
|
|
||||||
|
|
||||||
|
############################################################################
|
||||||
|
|
||||||
|
def doc_struct_index(structs):
|
||||||
|
s = '# Supported Structs\n'
|
||||||
|
for struct in structs:
|
||||||
|
sid = struct['identifier']
|
||||||
|
s += '- [%s](#%s)\n' % (sid, sid)
|
||||||
|
s += '\n<br />\n\n'
|
||||||
|
return s
|
||||||
|
|
||||||
|
def doc_struct(struct):
|
||||||
|
sid = struct['identifier']
|
||||||
|
s = '## [%s](#%s)\n\n' % (sid, sid)
|
||||||
|
s += "| Field | Type |\n"
|
||||||
|
s += "| ----- | ---- |\n"
|
||||||
|
|
||||||
|
|
||||||
|
# build doc table
|
||||||
|
field_table = []
|
||||||
|
for field in struct['fields']:
|
||||||
|
fid, ftype, fimmutable, lvt, lot = get_struct_field_info(struct, field)
|
||||||
|
if '???' in lvt or '???' in lot:
|
||||||
|
continue
|
||||||
|
|
||||||
|
ftype, do_link = translate_type_to_lua(ftype)
|
||||||
|
|
||||||
|
if do_link:
|
||||||
|
s += '| %s | [%s](#%s) |\n' % (fid, ftype, ftype)
|
||||||
|
continue
|
||||||
|
|
||||||
|
s += '| %s | %s |\n' % (fid, ftype)
|
||||||
|
|
||||||
|
s += '\n[:arrow_up_small:](#)\n\n<br />\n'
|
||||||
|
|
||||||
|
return s
|
||||||
|
|
||||||
|
def doc_structs(structs):
|
||||||
|
structs.extend(parse_structs(sLuaManuallyDefinedStructs))
|
||||||
|
structs = sorted(structs, key=lambda d: d['identifier'])
|
||||||
|
|
||||||
|
s = '## [:rewind: Lua Reference](lua.md)\n\n'
|
||||||
|
s += doc_struct_index(structs)
|
||||||
|
for struct in structs:
|
||||||
|
if struct['identifier'] in exclude_structs:
|
||||||
|
continue
|
||||||
|
s += doc_struct(struct) + '\n'
|
||||||
|
|
||||||
|
with open(get_path(docs_lua_structs), 'w') as out:
|
||||||
|
out.write(s)
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
def build_files():
|
def build_files():
|
||||||
|
|
@ -271,6 +336,8 @@ def build_files():
|
||||||
extracted.extend(extract_structs(path))
|
extracted.extend(extract_structs(path))
|
||||||
|
|
||||||
parsed = parse_structs(extracted)
|
parsed = parse_structs(extracted)
|
||||||
|
parsed = sorted(parsed, key=lambda d: d['identifier'])
|
||||||
|
|
||||||
built_body = build_body(parsed)
|
built_body = build_body(parsed)
|
||||||
built_enum = build_lot_enum()
|
built_enum = build_lot_enum()
|
||||||
built_include = build_includes()
|
built_include = build_includes()
|
||||||
|
|
@ -283,6 +350,8 @@ def build_files():
|
||||||
with open(out_h_filename, 'w') as out:
|
with open(out_h_filename, 'w') as out:
|
||||||
out.write(h_template.replace("$[BODY]", built_enum))
|
out.write(h_template.replace("$[BODY]", built_enum))
|
||||||
|
|
||||||
|
doc_structs(parsed)
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
||||||
|
|
@ -1253,6 +1253,10 @@ MARIO_ANIM_RETURN_FROM_STAR_DANCE = 206
|
||||||
MARIO_ANIM_FORWARD_SPINNING_FLIP = 207
|
MARIO_ANIM_FORWARD_SPINNING_FLIP = 207
|
||||||
MARIO_ANIM_TRIPLE_JUMP_FLY = 208
|
MARIO_ANIM_TRIPLE_JUMP_FLY = 208
|
||||||
|
|
||||||
|
-----------
|
||||||
|
-- shake --
|
||||||
|
-----------
|
||||||
|
|
||||||
SHAKE_ATTACK = 1
|
SHAKE_ATTACK = 1
|
||||||
SHAKE_GROUND_POUND = 2
|
SHAKE_GROUND_POUND = 2
|
||||||
SHAKE_SMALL_DAMAGE = 3
|
SHAKE_SMALL_DAMAGE = 3
|
||||||
|
|
|
||||||
1256
docs/lua/constants.md
Normal file
1256
docs/lua/constants.md
Normal file
File diff suppressed because it is too large
Load diff
5184
docs/lua/functions.md
Normal file
5184
docs/lua/functions.md
Normal file
File diff suppressed because it is too large
Load diff
33
docs/lua/lua.md
Normal file
33
docs/lua/lua.md
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
# Lua Reference
|
||||||
|
|
||||||
|
The Lua scripting API is in early development.
|
||||||
|
|
||||||
|
Expect many more things to be supported in the future.
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## How to install Lua mods
|
||||||
|
Lua scripts you make can be placed either the `mods` folder in the base directory, or in `<SAVE FILE LOCATION>/mods`
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## Globals
|
||||||
|
| Identifier | Type | Description |
|
||||||
|
| :-------- | :--: | :---------: |
|
||||||
|
| gMarioStates[MAX_PLAYERS] | [MarioState](structs.md#MarioState) | An array of length MAX_PLAYERS containing mario states |
|
||||||
|
| gCharacter[CT_MAX] | [Character](structs.md#Character) | An array of length CT_MAX containing character information |
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## Exposed from SM64
|
||||||
|
- [Constants](constants.md)
|
||||||
|
- [Functions](functions.md)
|
||||||
|
- [Structs](structs.md)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## Example Lua mods
|
||||||
|
- [Extended Moveset](../../mods/extended-moveset.lua)
|
||||||
|
- [Character Movesets](../../mods/character-movesets.lua)
|
||||||
|
- [Low Gravity](../../mods/low-gravity.lua)
|
||||||
|
- [Faster Swimming](../../mods/faster-swimming.lua)
|
||||||
858
docs/lua/structs.md
Normal file
858
docs/lua/structs.md
Normal file
|
|
@ -0,0 +1,858 @@
|
||||||
|
## [:rewind: Lua Reference](lua.md)
|
||||||
|
|
||||||
|
# Supported Structs
|
||||||
|
- [Animation](#Animation)
|
||||||
|
- [Area](#Area)
|
||||||
|
- [Camera](#Camera)
|
||||||
|
- [CameraFOVStatus](#CameraFOVStatus)
|
||||||
|
- [CameraStoredInfo](#CameraStoredInfo)
|
||||||
|
- [CameraTrigger](#CameraTrigger)
|
||||||
|
- [Character](#Character)
|
||||||
|
- [Controller](#Controller)
|
||||||
|
- [Cutscene](#Cutscene)
|
||||||
|
- [CutsceneSplinePoint](#CutsceneSplinePoint)
|
||||||
|
- [CutsceneVariable](#CutsceneVariable)
|
||||||
|
- [FloorGeometry](#FloorGeometry)
|
||||||
|
- [GraphNode](#GraphNode)
|
||||||
|
- [GraphNodeObject](#GraphNodeObject)
|
||||||
|
- [GraphNodeObject_sub](#GraphNodeObject_sub)
|
||||||
|
- [HandheldShakePoint](#HandheldShakePoint)
|
||||||
|
- [InstantWarp](#InstantWarp)
|
||||||
|
- [LakituState](#LakituState)
|
||||||
|
- [LinearTransitionPoint](#LinearTransitionPoint)
|
||||||
|
- [MarioAnimDmaRelatedThing](#MarioAnimDmaRelatedThing)
|
||||||
|
- [MarioAnimation](#MarioAnimation)
|
||||||
|
- [MarioBodyState](#MarioBodyState)
|
||||||
|
- [MarioState](#MarioState)
|
||||||
|
- [ModeTransitionInfo](#ModeTransitionInfo)
|
||||||
|
- [Object](#Object)
|
||||||
|
- [ObjectHitbox](#ObjectHitbox)
|
||||||
|
- [ObjectNode](#ObjectNode)
|
||||||
|
- [ObjectWarpNode](#ObjectWarpNode)
|
||||||
|
- [OffsetSizePair](#OffsetSizePair)
|
||||||
|
- [ParallelTrackingPoint](#ParallelTrackingPoint)
|
||||||
|
- [PlayerCameraState](#PlayerCameraState)
|
||||||
|
- [PlayerGeometry](#PlayerGeometry)
|
||||||
|
- [SPTask](#SPTask)
|
||||||
|
- [SpawnInfo](#SpawnInfo)
|
||||||
|
- [Surface](#Surface)
|
||||||
|
- [TransitionInfo](#TransitionInfo)
|
||||||
|
- [UnusedArea28](#UnusedArea28)
|
||||||
|
- [VblankHandler](#VblankHandler)
|
||||||
|
- [Vec3f](#Vec3f)
|
||||||
|
- [Vec3s](#Vec3s)
|
||||||
|
- [WallCollisionData](#WallCollisionData)
|
||||||
|
- [WarpNode](#WarpNode)
|
||||||
|
- [WarpTransition](#WarpTransition)
|
||||||
|
- [WarpTransitionData](#WarpTransitionData)
|
||||||
|
- [Waypoint](#Waypoint)
|
||||||
|
- [Whirlpool](#Whirlpool)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [Animation](#Animation)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| flags | integer |
|
||||||
|
| length | integer |
|
||||||
|
| animYTransDivisor | integer |
|
||||||
|
| startFrame | integer |
|
||||||
|
| loopStart | integer |
|
||||||
|
| loopEnd | integer |
|
||||||
|
| unusedBoneCount | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [Area](#Area)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| camera | [Camera](#Camera) |
|
||||||
|
| flags | integer |
|
||||||
|
| index | integer |
|
||||||
|
| instantWarps | [InstantWarp](#InstantWarp) |
|
||||||
|
| musicParam | integer |
|
||||||
|
| musicParam2 | integer |
|
||||||
|
| objectSpawnInfos | [SpawnInfo](#SpawnInfo) |
|
||||||
|
| paintingWarpNodes | [WarpNode](#WarpNode) |
|
||||||
|
| terrainType | integer |
|
||||||
|
| warpNodes | [ObjectWarpNode](#ObjectWarpNode) |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [Camera](#Camera)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| areaCenX | number |
|
||||||
|
| areaCenY | number |
|
||||||
|
| areaCenZ | number |
|
||||||
|
| cutscene | integer |
|
||||||
|
| defMode | integer |
|
||||||
|
| doorStatus | integer |
|
||||||
|
| focus | [Vec3f](#Vec3f) |
|
||||||
|
| mode | integer |
|
||||||
|
| nextYaw | integer |
|
||||||
|
| pos | [Vec3f](#Vec3f) |
|
||||||
|
| unusedVec1 | [Vec3f](#Vec3f) |
|
||||||
|
| yaw | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [CameraFOVStatus](#CameraFOVStatus)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| decay | integer |
|
||||||
|
| fov | number |
|
||||||
|
| fovFunc | integer |
|
||||||
|
| fovOffset | number |
|
||||||
|
| shakeAmplitude | number |
|
||||||
|
| shakePhase | integer |
|
||||||
|
| shakeSpeed | integer |
|
||||||
|
| unusedIsSleeping | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [CameraStoredInfo](#CameraStoredInfo)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| cannonYOffset | number |
|
||||||
|
| focus | [Vec3f](#Vec3f) |
|
||||||
|
| panDist | number |
|
||||||
|
| pos | [Vec3f](#Vec3f) |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [CameraTrigger](#CameraTrigger)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| area | integer |
|
||||||
|
| boundsX | integer |
|
||||||
|
| boundsY | integer |
|
||||||
|
| boundsYaw | integer |
|
||||||
|
| boundsZ | integer |
|
||||||
|
| centerX | integer |
|
||||||
|
| centerY | integer |
|
||||||
|
| centerZ | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [Character](#Character)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| animOffsetEnabled | integer |
|
||||||
|
| animOffsetFeet | number |
|
||||||
|
| animOffsetHand | number |
|
||||||
|
| animOffsetLowYPoint | number |
|
||||||
|
| cameraHudHead | integer |
|
||||||
|
| capEnemyLayer | integer |
|
||||||
|
| capMetalModelId | integer |
|
||||||
|
| capMetalWingModelId | integer |
|
||||||
|
| capModelId | integer |
|
||||||
|
| capWingModelId | integer |
|
||||||
|
| modelId | integer |
|
||||||
|
| soundAttacked | integer |
|
||||||
|
| soundCoughing1 | integer |
|
||||||
|
| soundCoughing2 | integer |
|
||||||
|
| soundCoughing3 | integer |
|
||||||
|
| soundDoh | integer |
|
||||||
|
| soundDrowning | integer |
|
||||||
|
| soundDying | integer |
|
||||||
|
| soundEeuh | integer |
|
||||||
|
| soundFreqScale | number |
|
||||||
|
| soundGameOver | integer |
|
||||||
|
| soundGroundPoundWah | integer |
|
||||||
|
| soundHaha | integer |
|
||||||
|
| soundHaha_2 | integer |
|
||||||
|
| soundHello | integer |
|
||||||
|
| soundHereWeGo | integer |
|
||||||
|
| soundHoohoo | integer |
|
||||||
|
| soundHrmm | integer |
|
||||||
|
| soundImaTired | integer |
|
||||||
|
| soundMamaMia | integer |
|
||||||
|
| soundOnFire | integer |
|
||||||
|
| soundOoof | integer |
|
||||||
|
| soundOoof2 | integer |
|
||||||
|
| soundPanting | integer |
|
||||||
|
| soundPantingCold | integer |
|
||||||
|
| soundPressStartToPlay | integer |
|
||||||
|
| soundPunchHoo | integer |
|
||||||
|
| soundPunchWah | integer |
|
||||||
|
| soundPunchYah | integer |
|
||||||
|
| soundSnoring1 | integer |
|
||||||
|
| soundSnoring2 | integer |
|
||||||
|
| soundSnoring3 | integer |
|
||||||
|
| soundSoLongaBowser | integer |
|
||||||
|
| soundTwirlBounce | integer |
|
||||||
|
| soundUh | integer |
|
||||||
|
| soundUh2 | integer |
|
||||||
|
| soundUh2_2 | integer |
|
||||||
|
| soundWaaaooow | integer |
|
||||||
|
| soundWah2 | integer |
|
||||||
|
| soundWhoa | integer |
|
||||||
|
| soundYahWahHoo | integer |
|
||||||
|
| soundYahoo | integer |
|
||||||
|
| soundYahooWahaYippee | integer |
|
||||||
|
| soundYawning | integer |
|
||||||
|
| type | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [Controller](#Controller)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| buttonDown | integer |
|
||||||
|
| buttonPressed | integer |
|
||||||
|
| extStickX | integer |
|
||||||
|
| extStickY | integer |
|
||||||
|
| port | integer |
|
||||||
|
| rawStickX | integer |
|
||||||
|
| rawStickY | integer |
|
||||||
|
| stickMag | number |
|
||||||
|
| stickX | number |
|
||||||
|
| stickY | number |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [Cutscene](#Cutscene)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| duration | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [CutsceneSplinePoint](#CutsceneSplinePoint)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| index | integer |
|
||||||
|
| point | [Vec3s](#Vec3s) |
|
||||||
|
| speed | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [CutsceneVariable](#CutsceneVariable)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| angle | [Vec3s](#Vec3s) |
|
||||||
|
| point | [Vec3f](#Vec3f) |
|
||||||
|
| unused1 | integer |
|
||||||
|
| unused2 | integer |
|
||||||
|
| unusedPoint | [Vec3f](#Vec3f) |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [FloorGeometry](#FloorGeometry)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| normalX | number |
|
||||||
|
| normalY | number |
|
||||||
|
| normalZ | number |
|
||||||
|
| originOffset | number |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [GraphNode](#GraphNode)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| children | [GraphNode](#GraphNode) |
|
||||||
|
| flags | integer |
|
||||||
|
| next | [GraphNode](#GraphNode) |
|
||||||
|
| parent | [GraphNode](#GraphNode) |
|
||||||
|
| prev | [GraphNode](#GraphNode) |
|
||||||
|
| type | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [GraphNodeObject](#GraphNodeObject)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| angle | [Vec3s](#Vec3s) |
|
||||||
|
| cameraToObject | [Vec3f](#Vec3f) |
|
||||||
|
| node | [GraphNode](#GraphNode) |
|
||||||
|
| pos | [Vec3f](#Vec3f) |
|
||||||
|
| prevAngle | [Vec3s](#Vec3s) |
|
||||||
|
| prevPos | [Vec3f](#Vec3f) |
|
||||||
|
| prevScale | [Vec3f](#Vec3f) |
|
||||||
|
| prevScaleTimestamp | integer |
|
||||||
|
| prevShadowPos | [Vec3f](#Vec3f) |
|
||||||
|
| prevShadowPosTimestamp | integer |
|
||||||
|
| prevThrowMatrixTimestamp | integer |
|
||||||
|
| prevTimestamp | integer |
|
||||||
|
| scale | [Vec3f](#Vec3f) |
|
||||||
|
| sharedChild | [GraphNode](#GraphNode) |
|
||||||
|
| skipInterpolationTimestamp | integer |
|
||||||
|
| unk18 | integer |
|
||||||
|
| unk19 | integer |
|
||||||
|
| animInfo | [GraphNodeObject_sub](#GraphNodeObject_sub) |
|
||||||
|
| unk4C | [SpawnInfo](#SpawnInfo) |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [GraphNodeObject_sub](#GraphNodeObject_sub)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| animAccel | integer |
|
||||||
|
| animFrame | integer |
|
||||||
|
| animFrameAccelAssist | integer |
|
||||||
|
| animID | integer |
|
||||||
|
| animTimer | integer |
|
||||||
|
| animYTrans | integer |
|
||||||
|
| curAnim | [Animation](#Animation) |
|
||||||
|
| prevAnimFrame | integer |
|
||||||
|
| prevAnimFrameTimestamp | integer |
|
||||||
|
| prevAnimID | integer |
|
||||||
|
| prevAnimPtr | [Animation](#Animation) |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [HandheldShakePoint](#HandheldShakePoint)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| index | integer |
|
||||||
|
| pad | integer |
|
||||||
|
| point | [Vec3s](#Vec3s) |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [InstantWarp](#InstantWarp)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| area | integer |
|
||||||
|
| displacement | [Vec3s](#Vec3s) |
|
||||||
|
| id | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [LakituState](#LakituState)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| curFocus | [Vec3f](#Vec3f) |
|
||||||
|
| curPos | [Vec3f](#Vec3f) |
|
||||||
|
| defMode | integer |
|
||||||
|
| focHSpeed | number |
|
||||||
|
| focVSpeed | number |
|
||||||
|
| focus | [Vec3f](#Vec3f) |
|
||||||
|
| focusDistance | number |
|
||||||
|
| goalFocus | [Vec3f](#Vec3f) |
|
||||||
|
| goalPos | [Vec3f](#Vec3f) |
|
||||||
|
| keyDanceRoll | integer |
|
||||||
|
| lastFrameAction | integer |
|
||||||
|
| mode | integer |
|
||||||
|
| nextYaw | integer |
|
||||||
|
| oldPitch | integer |
|
||||||
|
| oldRoll | integer |
|
||||||
|
| oldYaw | integer |
|
||||||
|
| pos | [Vec3f](#Vec3f) |
|
||||||
|
| posHSpeed | number |
|
||||||
|
| posVSpeed | number |
|
||||||
|
| roll | integer |
|
||||||
|
| shakeMagnitude | [Vec3s](#Vec3s) |
|
||||||
|
| shakePitchDecay | integer |
|
||||||
|
| shakePitchPhase | integer |
|
||||||
|
| shakePitchVel | integer |
|
||||||
|
| shakeRollDecay | integer |
|
||||||
|
| shakeRollPhase | integer |
|
||||||
|
| shakeRollVel | integer |
|
||||||
|
| shakeYawDecay | integer |
|
||||||
|
| shakeYawPhase | integer |
|
||||||
|
| shakeYawVel | integer |
|
||||||
|
| skipCameraInterpolationTimestamp | integer |
|
||||||
|
| unused | integer |
|
||||||
|
| unusedVec1 | [Vec3f](#Vec3f) |
|
||||||
|
| unusedVec2 | [Vec3s](#Vec3s) |
|
||||||
|
| yaw | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [LinearTransitionPoint](#LinearTransitionPoint)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| dist | number |
|
||||||
|
| focus | [Vec3f](#Vec3f) |
|
||||||
|
| pitch | integer |
|
||||||
|
| pos | [Vec3f](#Vec3f) |
|
||||||
|
| yaw | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [MarioAnimation](#MarioAnimation)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| targetAnim | [Animation](#Animation) |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [MarioBodyState](#MarioBodyState)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| action | integer |
|
||||||
|
| capState | integer |
|
||||||
|
| eyeState | integer |
|
||||||
|
| grabPos | integer |
|
||||||
|
| handState | integer |
|
||||||
|
| headAngle | [Vec3s](#Vec3s) |
|
||||||
|
| heldObjLastPosition | [Vec3f](#Vec3f) |
|
||||||
|
| modelState | integer |
|
||||||
|
| punchState | integer |
|
||||||
|
| torsoAngle | [Vec3s](#Vec3s) |
|
||||||
|
| torsoPos | [Vec3f](#Vec3f) |
|
||||||
|
| wingFlutter | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [MarioState](#MarioState)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| action | integer |
|
||||||
|
| actionArg | integer |
|
||||||
|
| actionState | integer |
|
||||||
|
| actionTimer | integer |
|
||||||
|
| angleVel | [Vec3s](#Vec3s) |
|
||||||
|
| animation | [MarioAnimation](#MarioAnimation) |
|
||||||
|
| area | [Area](#Area) |
|
||||||
|
| bubbleObj | [Object](#Object) |
|
||||||
|
| capTimer | integer |
|
||||||
|
| ceil | [Surface](#Surface) |
|
||||||
|
| ceilHeight | number |
|
||||||
|
| character | [Character](#Character) |
|
||||||
|
| collidedObjInteractTypes | integer |
|
||||||
|
| controller | [Controller](#Controller) |
|
||||||
|
| curAnimOffset | number |
|
||||||
|
| currentRoom | integer |
|
||||||
|
| doubleJumpTimer | integer |
|
||||||
|
| faceAngle | [Vec3s](#Vec3s) |
|
||||||
|
| fadeWarpOpacity | integer |
|
||||||
|
| flags | integer |
|
||||||
|
| floor | [Surface](#Surface) |
|
||||||
|
| floorAngle | integer |
|
||||||
|
| floorHeight | number |
|
||||||
|
| forwardVel | number |
|
||||||
|
| framesSinceA | integer |
|
||||||
|
| framesSinceB | integer |
|
||||||
|
| freeze | integer |
|
||||||
|
| healCounter | integer |
|
||||||
|
| health | integer |
|
||||||
|
| heldByObj | [Object](#Object) |
|
||||||
|
| heldObj | [Object](#Object) |
|
||||||
|
| hurtCounter | integer |
|
||||||
|
| input | integer |
|
||||||
|
| intendedMag | number |
|
||||||
|
| intendedYaw | integer |
|
||||||
|
| interactObj | [Object](#Object) |
|
||||||
|
| invincTimer | integer |
|
||||||
|
| isSnoring | integer |
|
||||||
|
| marioBodyState | [MarioBodyState](#MarioBodyState) |
|
||||||
|
| marioObj | [Object](#Object) |
|
||||||
|
| minimumBoneY | number |
|
||||||
|
| nonInstantWarpPos | [Vec3f](#Vec3f) |
|
||||||
|
| numCoins | integer |
|
||||||
|
| numKeys | integer |
|
||||||
|
| numLives | integer |
|
||||||
|
| numStars | integer |
|
||||||
|
| particleFlags | integer |
|
||||||
|
| peakHeight | number |
|
||||||
|
| playerIndex | integer |
|
||||||
|
| pos | [Vec3f](#Vec3f) |
|
||||||
|
| prevAction | integer |
|
||||||
|
| prevNumStarsForDialog | integer |
|
||||||
|
| quicksandDepth | number |
|
||||||
|
| riddenObj | [Object](#Object) |
|
||||||
|
| slideVelX | number |
|
||||||
|
| slideVelZ | number |
|
||||||
|
| slideYaw | integer |
|
||||||
|
| spawnInfo | [SpawnInfo](#SpawnInfo) |
|
||||||
|
| splineKeyframeFraction | number |
|
||||||
|
| splineState | integer |
|
||||||
|
| squishTimer | integer |
|
||||||
|
| statusForCamera | [PlayerCameraState](#PlayerCameraState) |
|
||||||
|
| terrainSoundAddend | integer |
|
||||||
|
| twirlYaw | integer |
|
||||||
|
| unkB0 | integer |
|
||||||
|
| unkC4 | number |
|
||||||
|
| usedObj | [Object](#Object) |
|
||||||
|
| vel | [Vec3f](#Vec3f) |
|
||||||
|
| wall | [Surface](#Surface) |
|
||||||
|
| wallKickTimer | integer |
|
||||||
|
| wasNetworkVisible | integer |
|
||||||
|
| waterLevel | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [ModeTransitionInfo](#ModeTransitionInfo)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| frame | integer |
|
||||||
|
| lastMode | integer |
|
||||||
|
| max | integer |
|
||||||
|
| newMode | integer |
|
||||||
|
| transitionEnd | [LinearTransitionPoint](#LinearTransitionPoint) |
|
||||||
|
| transitionStart | [LinearTransitionPoint](#LinearTransitionPoint) |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [Object](#Object)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| activeFlags | integer |
|
||||||
|
| areaTimer | integer |
|
||||||
|
| areaTimerDuration | integer |
|
||||||
|
| areaTimerType | integer |
|
||||||
|
| bhvDelayTimer | integer |
|
||||||
|
| bhvStackIndex | integer |
|
||||||
|
| collidedObjInteractTypes | integer |
|
||||||
|
| createdThroughNetwork | integer |
|
||||||
|
| globalPlayerIndex | integer |
|
||||||
|
| header | [ObjectNode](#ObjectNode) |
|
||||||
|
| heldByPlayerIndex | integer |
|
||||||
|
| hitboxDownOffset | number |
|
||||||
|
| hitboxHeight | number |
|
||||||
|
| hitboxRadius | number |
|
||||||
|
| hurtboxHeight | number |
|
||||||
|
| hurtboxRadius | number |
|
||||||
|
| numCollidedObjs | integer |
|
||||||
|
| parentObj | [Object](#Object) |
|
||||||
|
| platform | [Object](#Object) |
|
||||||
|
| prevObj | [Object](#Object) |
|
||||||
|
| respawnInfoType | integer |
|
||||||
|
| unused1 | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [ObjectHitbox](#ObjectHitbox)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| damageOrCoinValue | integer |
|
||||||
|
| downOffset | integer |
|
||||||
|
| health | integer |
|
||||||
|
| height | integer |
|
||||||
|
| hurtboxHeight | integer |
|
||||||
|
| hurtboxRadius | integer |
|
||||||
|
| interactType | integer |
|
||||||
|
| numLootCoins | integer |
|
||||||
|
| radius | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [ObjectNode](#ObjectNode)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| gfx | [GraphNodeObject](#GraphNodeObject) |
|
||||||
|
| next | [ObjectNode](#ObjectNode) |
|
||||||
|
| prev | [ObjectNode](#ObjectNode) |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [ObjectWarpNode](#ObjectWarpNode)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| next | [ObjectWarpNode](#ObjectWarpNode) |
|
||||||
|
| node | [WarpNode](#WarpNode) |
|
||||||
|
| object | [Object](#Object) |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [OffsetSizePair](#OffsetSizePair)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| offset | integer |
|
||||||
|
| size | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [ParallelTrackingPoint](#ParallelTrackingPoint)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| distThresh | number |
|
||||||
|
| pos | [Vec3f](#Vec3f) |
|
||||||
|
| startOfPath | integer |
|
||||||
|
| zoom | number |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [PlayerCameraState](#PlayerCameraState)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| action | integer |
|
||||||
|
| cameraEvent | integer |
|
||||||
|
| faceAngle | [Vec3s](#Vec3s) |
|
||||||
|
| headRotation | [Vec3s](#Vec3s) |
|
||||||
|
| pos | [Vec3f](#Vec3f) |
|
||||||
|
| unused | integer |
|
||||||
|
| usedObj | [Object](#Object) |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [PlayerGeometry](#PlayerGeometry)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| currCeil | [Surface](#Surface) |
|
||||||
|
| currCeilHeight | number |
|
||||||
|
| currCeilType | integer |
|
||||||
|
| currFloor | [Surface](#Surface) |
|
||||||
|
| currFloorHeight | number |
|
||||||
|
| currFloorType | integer |
|
||||||
|
| prevCeil | [Surface](#Surface) |
|
||||||
|
| prevCeilHeight | number |
|
||||||
|
| prevCeilType | integer |
|
||||||
|
| prevFloor | [Surface](#Surface) |
|
||||||
|
| prevFloorHeight | number |
|
||||||
|
| prevFloorType | integer |
|
||||||
|
| waterHeight | number |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [SpawnInfo](#SpawnInfo)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| activeAreaIndex | integer |
|
||||||
|
| areaIndex | integer |
|
||||||
|
| behaviorArg | integer |
|
||||||
|
| next | [SpawnInfo](#SpawnInfo) |
|
||||||
|
| startAngle | [Vec3s](#Vec3s) |
|
||||||
|
| startPos | [Vec3s](#Vec3s) |
|
||||||
|
| unk18 | [GraphNode](#GraphNode) |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [Surface](#Surface)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| flags | integer |
|
||||||
|
| force | integer |
|
||||||
|
| lowerY | integer |
|
||||||
|
| modifiedTimestamp | integer |
|
||||||
|
| normal | [Vec3f](#Vec3f) |
|
||||||
|
| object | [Object](#Object) |
|
||||||
|
| originOffset | number |
|
||||||
|
| prevVertex1 | [Vec3s](#Vec3s) |
|
||||||
|
| prevVertex2 | [Vec3s](#Vec3s) |
|
||||||
|
| prevVertex3 | [Vec3s](#Vec3s) |
|
||||||
|
| room | integer |
|
||||||
|
| type | integer |
|
||||||
|
| upperY | integer |
|
||||||
|
| vertex1 | [Vec3s](#Vec3s) |
|
||||||
|
| vertex2 | [Vec3s](#Vec3s) |
|
||||||
|
| vertex3 | [Vec3s](#Vec3s) |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [TransitionInfo](#TransitionInfo)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| focDist | number |
|
||||||
|
| focPitch | integer |
|
||||||
|
| focYaw | integer |
|
||||||
|
| framesLeft | integer |
|
||||||
|
| marioPos | [Vec3f](#Vec3f) |
|
||||||
|
| pad | integer |
|
||||||
|
| posDist | number |
|
||||||
|
| posPitch | integer |
|
||||||
|
| posYaw | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [Vec3f](#Vec3f)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| x | float |
|
||||||
|
| y | float |
|
||||||
|
| z | float |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [Vec3s](#Vec3s)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| x | integer |
|
||||||
|
| y | integer |
|
||||||
|
| z | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [WallCollisionData](#WallCollisionData)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| numWalls | integer |
|
||||||
|
| offsetY | number |
|
||||||
|
| radius | number |
|
||||||
|
| unk14 | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [WarpNode](#WarpNode)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| destArea | integer |
|
||||||
|
| destLevel | integer |
|
||||||
|
| destNode | integer |
|
||||||
|
| id | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [WarpTransition](#WarpTransition)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| data | [WarpTransitionData](#WarpTransitionData) |
|
||||||
|
| isActive | integer |
|
||||||
|
| pauseRendering | integer |
|
||||||
|
| time | integer |
|
||||||
|
| type | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [WarpTransitionData](#WarpTransitionData)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| blue | integer |
|
||||||
|
| endTexRadius | integer |
|
||||||
|
| endTexX | integer |
|
||||||
|
| endTexY | integer |
|
||||||
|
| green | integer |
|
||||||
|
| red | integer |
|
||||||
|
| startTexRadius | integer |
|
||||||
|
| startTexX | integer |
|
||||||
|
| startTexY | integer |
|
||||||
|
| texTimer | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [Waypoint](#Waypoint)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| flags | integer |
|
||||||
|
| pos | [Vec3s](#Vec3s) |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
## [Whirlpool](#Whirlpool)
|
||||||
|
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| pos | [Vec3s](#Vec3s) |
|
||||||
|
| strength | integer |
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -5,46 +5,46 @@
|
||||||
|
|
||||||
enum LuaObjectAutogenType {
|
enum LuaObjectAutogenType {
|
||||||
LOT_AUTOGEN_MIN = 1000,
|
LOT_AUTOGEN_MIN = 1000,
|
||||||
LOT_CONTROLLER,
|
|
||||||
LOT_ANIMATION,
|
LOT_ANIMATION,
|
||||||
|
LOT_AREA,
|
||||||
|
LOT_CAMERA,
|
||||||
|
LOT_CAMERAFOVSTATUS,
|
||||||
|
LOT_CAMERASTOREDINFO,
|
||||||
|
LOT_CAMERATRIGGER,
|
||||||
|
LOT_CHARACTER,
|
||||||
|
LOT_CONTROLLER,
|
||||||
|
LOT_CUTSCENE,
|
||||||
|
LOT_CUTSCENESPLINEPOINT,
|
||||||
|
LOT_CUTSCENEVARIABLE,
|
||||||
|
LOT_FLOORGEOMETRY,
|
||||||
LOT_GRAPHNODE,
|
LOT_GRAPHNODE,
|
||||||
LOT_GRAPHNODEOBJECT_SUB,
|
|
||||||
LOT_GRAPHNODEOBJECT,
|
LOT_GRAPHNODEOBJECT,
|
||||||
LOT_OBJECTNODE,
|
LOT_GRAPHNODEOBJECT_SUB,
|
||||||
|
LOT_HANDHELDSHAKEPOINT,
|
||||||
|
LOT_INSTANTWARP,
|
||||||
|
LOT_LAKITUSTATE,
|
||||||
|
LOT_LINEARTRANSITIONPOINT,
|
||||||
|
LOT_MARIOANIMATION,
|
||||||
|
LOT_MARIOBODYSTATE,
|
||||||
|
LOT_MARIOSTATE,
|
||||||
|
LOT_MODETRANSITIONINFO,
|
||||||
LOT_OBJECT,
|
LOT_OBJECT,
|
||||||
LOT_OBJECTHITBOX,
|
LOT_OBJECTHITBOX,
|
||||||
LOT_WAYPOINT,
|
LOT_OBJECTNODE,
|
||||||
LOT_SURFACE,
|
|
||||||
LOT_MARIOBODYSTATE,
|
|
||||||
LOT_OFFSETSIZEPAIR,
|
|
||||||
LOT_MARIOANIMATION,
|
|
||||||
LOT_MARIOSTATE,
|
|
||||||
LOT_WARPNODE,
|
|
||||||
LOT_OBJECTWARPNODE,
|
LOT_OBJECTWARPNODE,
|
||||||
LOT_INSTANTWARP,
|
LOT_OFFSETSIZEPAIR,
|
||||||
LOT_SPAWNINFO,
|
|
||||||
LOT_WHIRLPOOL,
|
|
||||||
LOT_AREA,
|
|
||||||
LOT_WARPTRANSITIONDATA,
|
|
||||||
LOT_WARPTRANSITION,
|
|
||||||
LOT_PLAYERCAMERASTATE,
|
|
||||||
LOT_TRANSITIONINFO,
|
|
||||||
LOT_HANDHELDSHAKEPOINT,
|
|
||||||
LOT_CAMERATRIGGER,
|
|
||||||
LOT_CUTSCENE,
|
|
||||||
LOT_CAMERAFOVSTATUS,
|
|
||||||
LOT_CUTSCENESPLINEPOINT,
|
|
||||||
LOT_PLAYERGEOMETRY,
|
|
||||||
LOT_LINEARTRANSITIONPOINT,
|
|
||||||
LOT_MODETRANSITIONINFO,
|
|
||||||
LOT_PARALLELTRACKINGPOINT,
|
LOT_PARALLELTRACKINGPOINT,
|
||||||
LOT_CAMERASTOREDINFO,
|
LOT_PLAYERCAMERASTATE,
|
||||||
LOT_CUTSCENEVARIABLE,
|
LOT_PLAYERGEOMETRY,
|
||||||
LOT_CAMERA,
|
LOT_SPAWNINFO,
|
||||||
LOT_LAKITUSTATE,
|
LOT_SURFACE,
|
||||||
LOT_CHARACTER,
|
LOT_TRANSITIONINFO,
|
||||||
LOT_WALLCOLLISIONDATA,
|
LOT_WALLCOLLISIONDATA,
|
||||||
LOT_FLOORGEOMETRY,
|
LOT_WARPNODE,
|
||||||
|
LOT_WARPTRANSITION,
|
||||||
|
LOT_WARPTRANSITIONDATA,
|
||||||
|
LOT_WAYPOINT,
|
||||||
|
LOT_WHIRLPOOL,
|
||||||
LOT_AUTOGEN_MAX,
|
LOT_AUTOGEN_MAX,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue