add Ghostship support

This commit is contained in:
izzy2lost
2026-01-28 16:39:30 -05:00
parent 37718007ed
commit 1f1123eb1e
1263 changed files with 246573 additions and 78 deletions
+3
View File
@@ -1,5 +1,8 @@
.idea/
android/.gradle/
.cxx/
build-*/
android/app/build-*/
cmake-build-*/
*.otr
*.log
+8 -6
View File
@@ -1,6 +1,6 @@
# Torch Android Converter
A simple Android app that converts N64 ROM files (.z64, .n64, .v64) to O2R format for use with Starship and Spaghetti Cart ports.
A simple Android app that converts N64 ROM files (.z64, .n64, .v64) to O2R format for use with Starship, Spaghetti Kart, and Ghostship ports.
## Features
@@ -38,8 +38,9 @@ The app builds the original Torch C++ codebase as a native library using:
1. Launch the app
2. Tap "Select ROM File" and choose your N64 ROM (.z64, .n64, .v64)
3. Tap "Select Starship/Spaghetti Config Folder" and choose the root directory of either:
- The Starship repository (for SM64)
- The Spaghetti Cart repository (for other games)
- The Starship repository (for Star Fox 64)
- The Spaghetti Kart repository (for Mario Kart 64)
- The Ghostship repository (for Super Mario 64)
4. Tap "Convert to O2R" to start the conversion
5. The O2R file will be saved to your Downloads/torch_output/ folder
@@ -47,8 +48,9 @@ The app builds the original Torch C++ codebase as a native library using:
The app requires the config.yml and asset metadata files from the respective game repositories:
- **For Super Mario 64**: Use the Starship repository
- **For other games**: Use the Spaghetti Cart repository
- **For Super Mario 64**: Use the Ghostship repository
- **For Star Fox 64**: Use the Starship repository
- **For Mario Kart 64**: Use the Spaghetti Kart repository
These repositories contain the necessary YAML files and asset definitions that Torch needs to properly extract and convert the ROM data.
@@ -85,4 +87,4 @@ android/
- The app creates a simplified interface around the core Torch functionality
- ROM files are temporarily copied to internal storage for processing
- Output files are saved to external storage (Downloads folder)
- The native library includes all necessary Torch dependencies
- The native library includes all necessary Torch dependencies
+11 -7
View File
@@ -2,16 +2,20 @@ plugins {
id 'com.android.application'
}
buildDir = file("build-ndk29")
android {
namespace 'com.torch.converter'
compileSdk 34
compileSdk 36
buildToolsVersion "36.1.0"
ndkVersion "29.0.14206865"
defaultConfig {
applicationId "com.torch.converter"
minSdk 24
targetSdk 34
versionCode 3
versionName "1.2"
targetSdk 36
versionCode 4
versionName "1.3"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -37,8 +41,8 @@ android {
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
externalNativeBuild {
@@ -56,4 +60,4 @@ dependencies {
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}
}
@@ -0,0 +1,111 @@
:config:
autopads: false
compression:
offset: 0x1F0530
segments:
- [ 0x8, 0x1F0530 ]
header:
header:
- '#include "sm64.h"'
- '#include "amp/anims.h"'
- '#include "amp/geo.h"'
amp_electricity:
type: TEXTURE
size: 1024
width: 16
height: 32
offset: 0xF18
format: RGBA16
symbol: dAmpElectricityTexture
amp_eyes:
type: TEXTURE
size: 2048
width: 32
height: 32
offset: 0x1318
format: RGBA16
symbol: dAmpEyesTexture
amp_body:
type: TEXTURE
size: 2048
width: 32
height: 32
offset: 0x1B18
format: RGBA16
symbol: dAmpBodyTexture
amp_mouth:
type: TEXTURE
size: 2048
width: 32
height: 32
offset: 0x2318
format: RGBA16
symbol: dAmpMouthTexture
amp_electricity_vertices:
type: VTX
count: 5
offset: 0x2B18
symbol: dAmpElectricityVertices
amp_electricity_sub_dl:
type: GFX
offset: 0x2B68
symbol: dAmpElectricitySubDl
amp_electricity_dl:
type: GFX
offset: 0x2BA0
symbol: dAmpElectricityDl
amp_eye_vertices:
type: VTX
count: 4
offset: 0x2C10
symbol: dAmpEyeVertices
amp_eye_sub_dl:
type: GFX
offset: 0x2C50
symbol: dAmpEyeSubDl
amp_eye_dl:
type: GFX
offset: 0x2C88
symbol: dAmpEyeDl
amp_mouth_vertices:
type: VTX
count: 4
offset: 0x2CF8
symbol: dAmpMouthVertices
amp_mouth_sub_dl:
type: GFX
offset: 0x2D38
symbol: dAmpMouthSubDl
amp_mouth_dl:
type: GFX
offset: 0x2D70
symbol: dAmpMouthDl
amp_body_vertices:
type: VTX
count: 4
offset: 0x2DE0
symbol: dAmpBodyVertices
amp_body_sub_dl:
type: GFX
offset: 0x2E20
symbol: dAmpBodySubDl
amp_body_dl:
type: GFX
offset: 0x2E58
symbol: dAmpBodyDl
@@ -0,0 +1,19 @@
:config:
autopads: false
compression:
offset: 0x1F0530
segments:
- [ 0x8, 0x1F0530 ]
amp_animation:
type: SM64:ANIM
offset: 0x401C
symbol: dAmpAnimation
amp_anims_list:
type: ASSET_ARRAY
assetType: Animation
factoryType: SM64:ANIM
count: 1
offset: 0x4034
symbol: dAmpAnimsList
@@ -0,0 +1,11 @@
:config:
external_files:
- "assets/ymls/jp/actors/amp.yml"
autopads: false
segments:
- [ 0xF, 0x1FEC00 ]
amp_geo:
type: SM64:GEO_LAYOUT
offset: 0xF000028
symbol: dAmpGeo
@@ -0,0 +1,109 @@
:config:
autopads: false
compression:
offset: 0x16BC70
segments:
- [ 0x5, 0x16BC70 ]
header:
header:
- '#include "sm64.h"'
- '#include "bird/anims.h"'
- '#include "bird/geo.h"'
birds_seg5_lights_05000000:
type: BLOB
size: 24
offset: 0x0
symbol: birds_seg5_lights_05000000
birds_seg5_lights_05000018:
type: BLOB
size: 24
offset: 0x18
symbol: birds_seg5_lights_05000018
birds_seg5_lights_05000030:
type: BLOB
size: 24
offset: 0x30
symbol: birds_seg5_lights_05000030
birds_seg5_vertex_05000048:
type: VTX
count: 9
offset: 0x48
symbol: birds_seg5_vertex_05000048
birds_seg5_vertex_050000D8:
type: VTX
count: 3
offset: 0xD8
symbol: birds_seg5_vertex_050000D8
birds_seg5_vertex_05000108:
type: VTX
count: 3
offset: 0x108
symbol: birds_seg5_vertex_05000108
birds_seg5_vertex_05000138:
type: VTX
count: 3
offset: 0x138
symbol: birds_seg5_vertex_05000138
birds_seg5_vertex_05000168:
type: VTX
count: 9
offset: 0x168
symbol: birds_seg5_vertex_05000168
birds_seg5_vertex_050001F8:
type: VTX
count: 16
offset: 0x1F8
symbol: birds_seg5_vertex_050001F8
birds_seg5_vertex_050002F8:
type: VTX
count: 16
offset: 0x2F8
symbol: birds_seg5_vertex_050002F8
birds_seg5_vertex_050003F8:
type: VTX
count: 3
offset: 0x3F8
symbol: birds_seg5_vertex_050003F8
birds_seg5_vertex_05000428:
type: VTX
count: 10
offset: 0x428
symbol: birds_seg5_vertex_05000428
birds_seg5_vertex_050004C8:
type: VTX
count: 6
offset: 0x4C8
symbol: birds_seg5_vertex_050004C8
birds_seg5_dl_05000528:
type: GFX
offset: 0x528
symbol: birds_seg5_dl_05000528
birds_seg5_dl_05000598:
type: GFX
offset: 0x598
symbol: birds_seg5_dl_05000598
birds_seg5_dl_05000600:
type: GFX
offset: 0x600
symbol: birds_seg5_dl_05000600
birds_seg5_dl_05000670:
type: GFX
offset: 0x670
symbol: birds_seg5_dl_05000670
@@ -0,0 +1,24 @@
:config:
autopads: false
compression:
offset: 0x16BC70
segments:
- [ 0x5, 0x16BC70 ]
birds_seg5_anim_050008D0:
type: SM64:ANIM
offset: 0x8D0
symbol: birds_seg5_anim_050008D0
birds_seg5_anim_050009D0:
type: SM64:ANIM
offset: 0x9D0
symbol: birds_seg5_anim_050009D0
birds_seg5_anims_050009E8:
type: ASSET_ARRAY
assetType: Animation
factoryType: SM64:ANIM
count: 2
offset: 0x9E8
symbol: birds_seg5_anims_050009E8
@@ -0,0 +1,11 @@
:config:
external_files:
- "assets/ymls/jp/actors/bird.yml"
autopads: false
segments:
- [ 0xC, 0x17E910 ]
birds_geo:
type: SM64:GEO_LAYOUT
offset: 0xC000000
symbol: birds_geo
@@ -0,0 +1,170 @@
:config:
autopads: false
compression:
offset: 0x131060
segments:
- [ 0x5, 0x131060 ]
header:
header:
- '#include "sm64.h"'
- '#include "blargg/anims.h"'
- '#include "blargg/geo.h"'
blargg_lights_unused:
type: LIGHTS
size: 24
offset: 0x4728
symbol: blargg_lights_unused
blargg_seg5_lights_05004740:
type: LIGHTS
size: 24
offset: 0x4740
symbol: blargg_seg5_lights_05004740
blargg_seg5_lights_05004758:
type: LIGHTS
size: 24
offset: 0x4758
symbol: blargg_seg5_lights_05004758
blargg_seg5_lights_05004770:
type: LIGHTS
size: 24
offset: 0x4770
symbol: blargg_seg5_lights_05004770
blargg_seg5_lights_05004788:
type: LIGHTS
size: 24
offset: 0x4788
symbol: blargg_seg5_lights_05004788
blargg_seg5_vertex_050047A0:
type: VTX
count: 16
offset: 0x47A0
symbol: blargg_seg5_vertex_050047A0
blargg_seg5_vertex_050048A0:
type: VTX
count: 16
offset: 0x48A0
symbol: blargg_seg5_vertex_050048A0
blargg_seg5_vertex_050049A0:
type: VTX
count: 8
offset: 0x49A0
symbol: blargg_seg5_vertex_050049A0
blargg_seg5_vertex_05004A20:
type: VTX
count: 16
offset: 0x4A20
symbol: blargg_seg5_vertex_05004A20
blargg_seg5_vertex_05004B20:
type: VTX
count: 12
offset: 0x4B20
symbol: blargg_seg5_vertex_05004B20
blargg_seg5_vertex_05004BE0:
type: VTX
count: 16
offset: 0x4BE0
symbol: blargg_seg5_vertex_05004BE0
blargg_seg5_vertex_05004CE0:
type: VTX
count: 16
offset: 0x4CE0
symbol: blargg_seg5_vertex_05004CE0
blargg_seg5_vertex_05004DE0:
type: VTX
count: 8
offset: 0x4DE0
symbol: blargg_seg5_vertex_05004DE0
blargg_seg5_vertex_05004E60:
type: VTX
count: 16
offset: 0x4E60
symbol: blargg_seg5_vertex_05004E60
blargg_seg5_vertex_05004F60:
type: VTX
count: 15
offset: 0x4F60
symbol: blargg_seg5_vertex_05004F60
blargg_seg5_vertex_05005050:
type: VTX
count: 16
offset: 0x5050
symbol: blargg_seg5_vertex_05005050
blargg_seg5_vertex_05005150:
type: VTX
count: 16
offset: 0x5150
symbol: blargg_seg5_vertex_05005150
blargg_seg5_vertex_05005250:
type: VTX
count: 15
offset: 0x5250
symbol: blargg_seg5_vertex_05005250
blargg_seg5_vertex_05005340:
type: VTX
count: 10
offset: 0x5340
symbol: blargg_seg5_vertex_05005340
blargg_seg5_vertex_050053E0:
type: VTX
count: 16
offset: 0x53E0
symbol: blargg_seg5_vertex_050053E0
blargg_seg5_vertex_050054E0:
type: VTX
count: 16
offset: 0x54E0
symbol: blargg_seg5_vertex_050054E0
blargg_seg5_vertex_050055E0:
type: VTX
count: 16
offset: 0x55E0
symbol: blargg_seg5_vertex_050055E0
blargg_seg5_vertex_050056E0:
type: VTX
count: 16
offset: 0x56E0
symbol: blargg_seg5_vertex_050056E0
blargg_seg5_vertex_050057E0:
type: VTX
count: 15
offset: 0x57E0
symbol: blargg_seg5_vertex_050057E0
blargg_seg5_dl_050058D0:
type: GFX
offset: 0x58D0
symbol: blargg_seg5_dl_050058D0
blargg_seg5_dl_05005A60:
type: GFX
offset: 0x5A60
symbol: blargg_seg5_dl_05005A60
blargg_seg5_dl_05005D00:
type: GFX
offset: 0x5D00
symbol: blargg_seg5_dl_05005D00
@@ -0,0 +1,24 @@
:config:
autopads: false
compression:
offset: 0x131060
segments:
- [ 0x5, 0x131060 ]
blargg_seg5_anim_05006070:
type: SM64:ANIM
offset: 0x6070
symbol: blargg_seg5_anim_05006070
blargg_seg5_anim_05006154:
type: SM64:ANIM
offset: 0x6154
symbol: blargg_seg5_anim_05006154
blargg_seg5_anims_0500616C:
type: ASSET_ARRAY
assetType: Animation
factoryType: SM64:ANIM
count: 3
offset: 0x616C
symbol: blargg_seg5_anims_0500616C
@@ -0,0 +1,11 @@
:config:
external_files:
- "assets/ymls/jp/actors/blargg.yml"
autopads: false
segments:
- [ 0xC, 0x132E70 ]
blargg_geo:
type: SM64:GEO_LAYOUT
offset: 0xC000240
symbol: blargg_geo
@@ -0,0 +1,66 @@
:config:
autopads: false
compression:
offset: 0x1F0530
segments:
- [ 0x8, 0x1F0530 ]
header:
header:
- '#include "sm64.h"'
- '#include "blue_coin_switch/geo.h"'
blue_coin_switch_seg8_lights_08000000:
type: LIGHTS
size: 24
offset: 0x0
symbol: blue_coin_switch_seg8_lights_08000000
blue_coin_switch_side:
type: TEXTURE
size: 1024
width: 32
height: 16
offset: 0x18
format: RGBA16
symbol: blue_coin_switch_seg8_texture_08000018
blue_coin_switch_top:
type: TEXTURE
size: 2048
width: 32
height: 32
offset: 0x418
format: RGBA16
symbol: blue_coin_switch_seg8_texture_08000418
blue_coin_switch_seg8_vertex_08000C18:
type: VTX
count: 16
offset: 0xC18
symbol: blue_coin_switch_seg8_vertex_08000C18
blue_coin_switch_seg8_vertex_08000D18:
type: VTX
count: 4
offset: 0xD18
symbol: blue_coin_switch_seg8_vertex_08000D18
blue_coin_switch_seg8_dl_08000D58:
type: GFX
offset: 0xD58
symbol: blue_coin_switch_seg8_dl_08000D58
blue_coin_switch_seg8_dl_08000DD0:
type: GFX
offset: 0xDD0
symbol: blue_coin_switch_seg8_dl_08000DD0
blue_coin_switch_seg8_dl_08000E08:
type: GFX
offset: 0xE08
symbol: blue_coin_switch_seg8_dl_08000E08
blue_coin_switch_seg8_collision_08000E98:
type: SM64:COLLISION
offset: 0xE98
symbol: blue_coin_switch_seg8_collision_08000E98
@@ -0,0 +1,11 @@
:config:
external_files:
- "assets/ymls/jp/actors/blue_coin_switch.yml"
autopads: false
segments:
- [ 0xF, 0x1FEC00 ]
blue_coin_switch_geo:
type: SM64:GEO_LAYOUT
offset: 0xF000000
symbol: blue_coin_switch_geo
@@ -0,0 +1,58 @@
:config:
autopads: false
compression:
offset: 0x1FF740
segments:
- [ 0x3, 0x1FF740 ]
header:
header:
- '#include "sm64.h"'
- '#include "blue_fish/anims.h"'
- '#include "blue_fish/geo.h"'
blue_fish_seg3_lights_0301B5C8:
type: LIGHTS
size: 24
offset: 0x1B5C8
symbol: blue_fish_seg3_lights_0301B5C8
blue_fish:
type: TEXTURE
size: 2048
width: 32
height: 32
offset: 0x1B5E0
format: RGBA16
symbol: blue_fish_seg3_texture_0301B5E0
blue_fish_seg3_vertex_0301BDE0:
type: VTX
count: 14
offset: 0x1BDE0
symbol: blue_fish_seg3_vertex_0301BDE0
blue_fish_seg3_dl_0301BEC0:
type: GFX
offset: 0x1BEC0
symbol: blue_fish_seg3_dl_0301BEC0
blue_fish_seg3_dl_0301BFB8:
type: GFX
offset: 0x1BFB8
symbol: blue_fish_seg3_dl_0301BFB8
blue_fish_seg3_vertex_0301C018:
type: VTX
count: 9
offset: 0x1C018
symbol: blue_fish_seg3_vertex_0301C018
blue_fish_seg3_dl_0301C0A8:
type: GFX
offset: 0x1C0A8
symbol: blue_fish_seg3_dl_0301C0A8
blue_fish_seg3_dl_0301C150:
type: GFX
offset: 0x1C150
symbol: blue_fish_seg3_dl_0301C150
@@ -0,0 +1,19 @@
:config:
autopads: false
compression:
offset: 0x1FF740
segments:
- [ 0x3, 0x1FF740 ]
blue_fish_seg3_anim_0301C298:
type: SM64:ANIM
offset: 0x1C298
symbol: blue_fish_seg3_anim_0301C298
blue_fish_seg3_anims_0301C2B0:
type: ASSET_ARRAY
assetType: Animation
factoryType: SM64:ANIM
count: 2
offset: 0x1C2B0
symbol: blue_fish_seg3_anims_0301C2B0
@@ -0,0 +1,16 @@
:config:
external_files:
- "assets/ymls/jp/actors/blue_fish.yml"
autopads: false
segments:
- [ 0x16, 0x2170D0 ]
fish_shadow_geo:
type: SM64:GEO_LAYOUT
offset: 0x16000BEC
symbol: fish_shadow_geo
fish_geo:
type: SM64:GEO_LAYOUT
offset: 0x16000C44
symbol: fish_geo
@@ -0,0 +1,192 @@
:config:
autopads: false
compression:
offset: 0x1F0530
segments:
- [ 0x8, 0x1F0530 ]
header:
header:
- '#include "sm64.h"'
- '#include "bobomb/anims.h"'
- '#include "bobomb/geo.h"'
bob-omb_left_side:
type: TEXTURE
size: 4096
width: 32
height: 64
offset: 0x1DA60
format: RGBA16
symbol: bobomb_seg8_texture_0801DA60
bob-omb_right_side:
type: TEXTURE
size: 4096
width: 32
height: 64
offset: 0x1EA60
format: RGBA16
symbol: bobomb_seg8_texture_0801EA60
bob-omb_buddy_left_side:
type: TEXTURE
size: 4096
width: 32
height: 64
offset: 0x1FA60
format: RGBA16
symbol: bobomb_seg8_texture_0801FA60
bob-omb_buddy_right_side:
type: TEXTURE
size: 4096
width: 32
height: 64
offset: 0x20A60
format: RGBA16
symbol: bobomb_seg8_texture_08020A60
bob-omb_eyes:
type: TEXTURE
size: 2048
width: 32
height: 32
offset: 0x21A60
format: RGBA16
symbol: bobomb_seg8_texture_08021A60
bob-omb_eyes_blink:
type: TEXTURE
size: 2048
width: 32
height: 32
offset: 0x22260
format: RGBA16
symbol: bobomb_seg8_texture_08022260
bobomb_seg8_vertex_08022A60:
type: VTX
count: 6
offset: 0x22A60
symbol: bobomb_seg8_vertex_08022A60
bobomb_seg8_dl_08022AC0:
type: GFX
offset: 0x22AC0
symbol: bobomb_seg8_dl_08022AC0
bobomb_seg8_dl_08022B08:
type: GFX
offset: 0x22B08
symbol: bobomb_seg8_dl_08022B08
bobomb_seg8_dl_08022B58:
type: GFX
offset: 0x22B58
symbol: bobomb_seg8_dl_08022B58
bobomb_seg8_dl_08022B88:
type: GFX
offset: 0x22B88
symbol: bobomb_seg8_dl_08022B88
bobomb_seg8_vertex_08022BB8:
type: VTX
count: 4
offset: 0x22BB8
symbol: bobomb_seg8_vertex_08022BB8
bobomb_seg8_vertex_08022BF8:
type: VTX
count: 4
offset: 0x22BF8
symbol: bobomb_seg8_vertex_08022BF8
bobomb_seg8_dl_08022C38:
type: GFX
offset: 0x22C38
symbol: bobomb_seg8_dl_08022C38
bobomb_seg8_dl_08022CA0:
type: GFX
offset: 0x22CA0
symbol: bobomb_seg8_dl_08022CA0
bobomb_seg8_dl_08022D08:
type: GFX
offset: 0x22D08
symbol: bobomb_seg8_dl_08022D08
bobomb_seg8_dl_08022D78:
type: GFX
offset: 0x22D78
symbol: bobomb_seg8_dl_08022D78
bobomb_seg8_lights_08022DE8:
type: LIGHTS
size: 24
offset: 0x22DE8
symbol: bobomb_seg8_lights_08022DE8
bobomb_seg8_lights_08022E00:
type: LIGHTS
size: 24
offset: 0x22E00
symbol: bobomb_seg8_lights_08022E00
bobomb_lights_unused:
type: LIGHTS
size: 24
offset: 0x22E18
symbol: bobomb_lights_unused
bobomb_seg8_vertex_08022E30:
type: VTX
count: 16
offset: 0x22E30
symbol: bobomb_seg8_vertex_08022E30
bobomb_seg8_vertex_08022F30:
type: VTX
count: 4
offset: 0x22F30
symbol: bobomb_seg8_vertex_08022F30
bobomb_seg8_vertex_08022F70:
type: VTX
count: 16
offset: 0x22F70
symbol: bobomb_seg8_vertex_08022F70
bobomb_seg8_vertex_08023070:
type: VTX
count: 4
offset: 0x23070
symbol: bobomb_seg8_vertex_08023070
bobomb_seg8_vertex_080230B0:
type: VTX
count: 14
offset: 0x230B0
symbol: bobomb_seg8_vertex_080230B0
bobomb_seg8_vertex_08023190:
type: VTX
count: 14
offset: 0x23190
symbol: bobomb_seg8_vertex_08023190
bobomb_seg8_dl_08023270:
type: GFX
offset: 0x23270
symbol: bobomb_seg8_dl_08023270
bobomb_seg8_dl_08023378:
type: GFX
offset: 0x23378
symbol: bobomb_seg8_dl_08023378
bobomb_seg8_dl_08023480:
type: GFX
offset: 0x23480
symbol: bobomb_seg8_dl_08023480
@@ -0,0 +1,24 @@
:config:
autopads: false
compression:
offset: 0x1F0530
segments:
- [ 0x8, 0x1F0530 ]
bobomb_seg8_anim_080237FC:
type: SM64:ANIM
offset: 0x237FC
symbol: bobomb_seg8_anim_080237FC
bobomb_seg8_anim_08023954:
type: SM64:ANIM
offset: 0x23954
symbol: bobomb_seg8_anim_08023954
bobomb_seg8_anims_0802396C:
type: ASSET_ARRAY
assetType: Animation
factoryType: SM64:ANIM
count: 3
offset: 0x2396C
symbol: bobomb_seg8_anims_0802396C
@@ -0,0 +1,16 @@
:config:
external_files:
- "assets/ymls/jp/actors/bobomb.yml"
autopads: false
segments:
- [ 0xF, 0x1FEC00 ]
black_bobomb_geo:
type: SM64:GEO_LAYOUT
offset: 0xF0007B8
symbol: black_bobomb_geo
bobomb_buddy_geo:
type: SM64:GEO_LAYOUT
offset: 0xF0008F4
symbol: bobomb_buddy_geo

Some files were not shown because too many files have changed in this diff Show More