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 @@
+
+