diff --git a/src/elf/dataType.ts b/src/elf/dataType.ts index 346d27a..d47771a 100644 --- a/src/elf/dataType.ts +++ b/src/elf/dataType.ts @@ -10,6 +10,8 @@ export enum DataType { // registries CharacterNpc, + CharacterMobj, + CharacterParty, MapId, ItemList, diff --git a/src/elf/fileTypes.ts b/src/elf/fileTypes.ts index bfa0908..848a1bc 100644 --- a/src/elf/fileTypes.ts +++ b/src/elf/fileTypes.ts @@ -464,6 +464,87 @@ The effect emitter set used when the character lands from a jump.`), field_0x100: "int", field_0x104: "int", }, + [DataType.CharacterMobj]: { + __: { + displayName: "Mobj Definition", + defaultPadding: 1, + }, + + id: "string", + field_0x8: "string", + model: new Property("string", "Referencing models in 'data/model/data_model_mobj.elf.zst'"), + field_0x18: "int", + field_0x1c: "int", + field_0x20: "int", + field_0x24: "int", + field_0x28: "int", + field_0x2c: "int", + field_0x30: "int", + field_0x34: "int", + field_0x38: "int", + field_0x3c: "int", + field_0x40: "int", + field_0x44: "int", + field_0x48: "int", + field_0x4c: "int", + scriptFileName: new Property("string", ` +The name of the mobj's script file, relative to \`romfs/script/wld/fld/mobj/\``), + initScript: new Property("string", "The script function for initializing the individual Mobj instance."), + mainScript: new Property("string", "A script function (?)"), + actionScript: new Property("string", "The script function for interacting with the Mobj."), + field_0x70: "int", + field_0x74: "int", + field_0x78: "int", + field_0x7c: "int", + field_0x80: "int", + field_0x84: "int", + field_0x88: "int", + field_0x8c: "int", + field_0x90: "int", + field_0x94: "int", + field_0x98: "int", + field_0x9c: "int", + field_0xa0: "int", + field_0xa4: "int", + }, + [DataType.CharacterParty]: { + __: { + displayName: "Party Member", + defaultPadding: 1, + }, + + id: "string", + model: "string", + field_0x10: "int", + field_0x14: "int", + field_0x18: "int", + field_0x1c: "int", + field_0x20: "int", + field_0x24: "int", + field_0x28: "string", + field_0x30: "string", + field_0x38: "bool32", + field_0x3c: "int", + field_0x40: "string", + field_0x48: "string", + field_0x50: "string", + field_0x58: "string", + field_0x60: "int", + field_0x64: "int", + field_0x68: "string", + field_0x70: "int", + field_0x74: "int", + field_0x78: "int", + field_0x7c: "int", + field_0x80: "int", + field_0x84: "int", + field_0x88: "string", + field_0x90: "string", + field_0x98: "string", + field_0xa0: "string", + field_0xa8: "string", + field_0xb0: "string", + } } as const satisfies {[dataType: number]: TypeDefinition} diff --git a/src/lib/editor/fileEditor/welcomeScreen/FileTree.svelte b/src/lib/editor/fileEditor/welcomeScreen/FileTree.svelte index b189410..198569f 100644 --- a/src/lib/editor/fileEditor/welcomeScreen/FileTree.svelte +++ b/src/lib/editor/fileEditor/welcomeScreen/FileTree.svelte @@ -23,6 +23,8 @@ "MapId", "data_ItemList", "data_character_npc", + "data_character_mobj", + "data_character_party", ] const dispatch = createEventDispatcher() diff --git a/src/lib/modals/DataTypePrompt.svelte b/src/lib/modals/DataTypePrompt.svelte index e9906d6..f9e0b09 100644 --- a/src/lib/modals/DataTypePrompt.svelte +++ b/src/lib/modals/DataTypePrompt.svelte @@ -24,6 +24,8 @@ "MapId": DataType.MapId, "data_ItemList": DataType.ItemList, "data_character_npc": DataType.CharacterNpc, + "data_character_mobj": DataType.CharacterMobj, + "data_character_party": DataType.CharacterParty, } onMount(() => { @@ -71,6 +73,8 @@ + +