From 8b4bb6d943d92df40e11b8bf9df413826d18b67c Mon Sep 17 00:00:00 2001
From: Alejandro Asenjo Nitti <96613413+sonicdcer@users.noreply.github.com>
Date: Sun, 31 Mar 2024 22:04:45 -0300
Subject: [PATCH] export configuration for ast_meteo & ast_bolse (#188)

* progress

* remove header

* - '#include "sf64level.h"'

* MatchPoint

* asset analysis complete, here it comes. Wheeeeeh

* comment

* correction

* some missile docs

* format

* preparations for ast_bolse extraction

* Matchpoint

* Jackpot
---
 assets/yaml/us/ast_bolse.yaml       | 198 +++++++++++++++++
 assets/yaml/us/ast_meteo.yaml       | 318 ++++++++++++++++++++++++++++
 include/assets.h                    |  46 ----
 include/assets/ast_bolse.h          |   8 -
 include/assets/ast_meteo.h          |   8 -
 include/fox_enmy2_assets.h          |  10 -
 include/fox_enmy_assets.h           |   2 -
 linker_scripts/us/undefined_syms.ld |  95 ---------
 src/main/fox_360.c                  |   3 +-
 src/main/fox_A4290_colheaders.c     |  18 +-
 src/main/fox_bg.c                   |  10 +-
 src/main/fox_demo.c                 |  14 +-
 src/main/fox_edata_1C.c             |  28 +--
 src/main/fox_edisplay.c             |  13 +-
 src/main/fox_effect.c               |   5 +-
 src/main/fox_enmy.c                 |   4 +-
 src/main/fox_enmy2.c                |  35 +--
 src/main/fox_hud.c                  |   4 +-
 src/main/fox_play.c                 |   2 +
 src/main/fox_radio.c                |   5 +-
 src/overlays/ovl_i2/fox_me.c        |  33 ++-
 src/overlays/ovl_i4/fox_bo.c        |  60 ++----
 src/overlays/ovl_i4/fox_sz.c        |  71 ++++---
 yamls/us/assets.yaml                |  12 +-
 24 files changed, 673 insertions(+), 329 deletions(-)
 create mode 100644 assets/yaml/us/ast_bolse.yaml
 create mode 100644 assets/yaml/us/ast_meteo.yaml
 delete mode 100644 include/assets/ast_bolse.h
 delete mode 100644 include/assets/ast_meteo.h

diff --git a/assets/yaml/us/ast_bolse.yaml b/assets/yaml/us/ast_bolse.yaml
new file mode 100644
index 00000000..05a0c894
--- /dev/null
+++ b/assets/yaml/us/ast_bolse.yaml
@@ -0,0 +1,198 @@
+:config:
+  segments:
+    - [0x06, 0xB0AA00]
+  header:
+    code:
+      - '#include "assets/ast_bolse.h"'
+    header:
+      - '#include "gfx.h"'
+      - '#include "sf64object.h"'
+      - '#include "structs.h"'
+      - '#include "sf64level.h"'
+
+# Bolse Defense Outpost
+D_BO_6000000:
+  { type: TEXTURE, ctype: u8, format: IA8, width: 168, height: 19, offset: 0x6000000, symbol: D_BO_6000000 }
+  
+D_BO_6000C80:
+  { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x6000C80, symbol: D_BO_6000C80 }
+
+D_BO_6000D80:
+  { type: GFX, offset: 0x6000D80, symbol: D_BO_6000D80 }
+
+D_BO_6001908:
+  { type: TEXTURE, format: RGBA16, offset: 0x6001908, width: 16, height: 16, ctype: u16, symbol: D_BO_6001908 }
+
+D_BO_6001C64:
+  { type: SF64:ANIM, offset: 0x6001C64, symbol: D_BO_6001C64 }
+    
+D_BO_6001FB0: 
+  { type: SF64:SKELETON, offset: 0x6001FB0, symbol: D_BO_6001FB0 }
+
+D_BO_6002020:
+  { type: GFX, offset: 0x6002020, symbol: D_BO_6002020 }
+
+D_BO_6004848:
+  { type: TEXTURE, format: RGBA16, offset: 0x06004848, width: 32, height: 32, ctype: u16, symbol: D_BO_6004848 }
+
+D_BO_6005048:
+  { type: TEXTURE, format: RGBA16, offset: 0x06005048, width: 16, height: 32, ctype: u16, symbol: D_BO_6005048 }
+
+D_BO_6005908:
+  { type: TEXTURE, format: RGBA16, offset: 0x06005908, width: 32, height: 32, ctype: u16, symbol: D_BO_6005908 }
+
+D_BO_6006108:
+  { type: TEXTURE, format: RGBA16, offset: 0x06006108, width: 32, height: 32, ctype: u16, symbol: D_BO_6006108 }
+
+D_BO_6006910:
+  { type: GFX, offset: 0x6006910, symbol: D_BO_6006910 }
+
+D_BO_6006AD0:
+  { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x6006AD0, symbol: D_BO_6006AD0 }
+
+D_BO_6006ED0:
+  { type: TEXTURE, ctype: u16, format: TLUT, colors: 64, offset: 0x06006ED0, symbol: D_BO_6006ED0 }
+
+D_BO_6006F50:
+  { type: TEXTURE, format: RGBA16, offset: 0x06006F50, width: 4, height: 16, ctype: u16, symbol: D_BO_6006F50 }
+
+D_BO_6006FD0:
+  { type: TEXTURE, format: RGBA16, offset: 0x06006FD0, width: 32, height: 32, ctype: u16, symbol: D_BO_6006FD0 }
+
+D_BO_60077D0:
+  { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x60077D0, symbol: D_BO_60077D0 }
+
+D_BO_6007BD0:
+  { type: TEXTURE, ctype: u16, format: TLUT, colors: 64, offset: 0x06007BD0, symbol: D_BO_6007BD0 }
+
+D_BO_6007DF8:
+  { type: TEXTURE, format: RGBA16, offset: 0x06007DF8, width: 16, height: 32, ctype: u16, symbol: D_BO_6007DF8 }
+
+D_BO_6008440:
+  { type: TEXTURE, format: RGBA16, offset: 0x06008440, width: 16, height: 16, ctype: u16, symbol: D_BO_6008440 }
+
+# Unused Animation
+D_BO_6008668: 
+  { type: SF64:ANIM, offset: 0x6008668, symbol: D_BO_6008668 }
+
+# Unused Skeleton
+D_BO_60086B4: 
+  { type: SF64:SKELETON, offset: 0x60086B4, symbol: D_BO_60086B4 }
+
+# Unused Animation
+D_BO_60086F4: 
+  { type: SF64:ANIM, offset: 0x60086F4, symbol: D_BO_60086F4 }
+
+# Unused Skeleton
+D_BO_6008760: 
+  { type: SF64:SKELETON, offset: 0x6008760, symbol: D_BO_6008760 }
+
+D_BO_6008770:
+  { type: GFX, offset: 0x6008770, symbol: D_BO_6008770 }
+
+D_BO_6008BB8:
+  { type: TEXTURE, format: RGBA16, offset: 0x06008BB8, width: 32, height: 32, ctype: u16, symbol: D_BO_6008BB8 }
+
+D_BO_60093B8:
+  { type: TEXTURE, format: RGBA16, offset: 0x060093B8, width: 32, height: 32, ctype: u16, symbol: D_BO_60093B8 }
+
+D_BO_6009BC0:
+  { type: GFX, offset: 0x6009BC0, symbol: D_BO_6009BC0 }
+
+# Unused DisplayList, looks like a tube.
+D_BO_600A2C0:
+  { type: GFX, offset: 0x600A2C0, symbol: D_BO_600A2C0 }
+
+D_BO_600A810:
+  { type: GFX, offset: 0x600A810, symbol: D_BO_600A810 }
+
+# Unused DisplayList, looks like a cube with an entrance.
+D_BO_600AB90:
+  { type: GFX, offset: 0x600AB90, symbol: D_BO_600AB90 }
+
+D_BO_600AD80:
+  { type: TEXTURE, format: RGBA16, offset: 0x0600AD80, width: 32, height: 32, ctype: u16, symbol: D_BO_600AD80 }
+
+D_BO_600B8B0:
+  { type: GFX, offset: 0x600B8B0, symbol: D_BO_600B8B0 }
+
+D_BO_600BAA0:
+  { type: GFX, offset: 0x600BAA0, symbol: D_BO_600BAA0 }
+
+D_BO_600BEC0:
+  { type: GFX, offset: 0x600BEC0, symbol: D_BO_600BEC0 }
+
+D_BO_600BF30:
+  { type: GFX, offset: 0x600BF30, symbol: D_BO_600BF30 }
+
+D_BO_600C0B8:
+  { type: VTX, count: 34, offset: 0x600C0B8, symbol: D_BO_600C0B8 }
+
+D_BO_600C2D8:
+  { type: TEXTURE, format: IA8, offset: 0x0600C2D8, width: 32, height: 16, ctype: u8, symbol: D_BO_600C2D8 }
+
+D_BO_600C4E0:
+  { type: GFX, offset: 0x600C4E0, symbol: D_BO_600C4E0 }
+
+D_BO_600CF88:
+  { type: TEXTURE, format: RGBA16, offset: 0x0600CF88, width: 16, height: 16, ctype: u16, symbol: D_BO_600CF88 }
+
+D_BO_600D190:
+  { type: GFX, offset: 0x600D190, symbol: D_BO_600D190 }
+
+D_BO_600D2A0:
+  { type: TEXTURE, format: RGBA16, offset: 0x0600D2A0, width: 32, height: 64, ctype: u16, symbol: D_BO_600D2A0 }
+
+D_BO_600E2A0:
+  { type: TEXTURE, format: RGBA16, offset: 0x0600E2A0, width: 32, height: 64, ctype: u16, symbol: D_BO_600E2A0 }
+
+D_BO_600F2E0:
+  { type: SF64:ANIM, offset: 0x600F2E0, symbol: D_BO_600F2E0 }
+    
+D_BO_600F36C: 
+  { type: SF64:SKELETON, offset: 0x600F36C, symbol: D_BO_600F36C }
+
+D_BO_600F3D8:
+  { type: SF64:ANIM, offset: 0x600F3D8, symbol: D_BO_600F3D8 }
+    
+D_BO_600F4A4:
+  { type: SF64:SKELETON, offset: 0x600F4A4, symbol: D_BO_600F4A4 }
+
+D_BO_600F4C0:
+  { type: GFX, offset: 0x600F4C0, symbol: D_BO_600F4C0 }
+
+D_BO_600F728:
+  { type: TEXTURE, format: RGBA16, offset: 0x0600F728, width: 32, height: 32, ctype: u16, symbol: D_BO_600F728 }
+
+D_BO_600FF30:
+  { type: SF64:ENV_SETTINGS, offset: 0x600FF30, symbol: D_BO_600FF30 }
+
+D_BO_600FF74: 
+  { type: SF64:OBJECT_INIT, offset: 0x600FF74, symbol: D_BO_600FF74 }
+
+D_BO_6010294:
+  { type: SF64:COLPOLY, count: 262, offset: 0x6010294, symbol: D_BO_6010294, mesh_symbol: D_BO_OFFSET }
+
+PAD_BO_6011B20:
+  { type: BLOB, size: 0x4, offset: 0x6011B20, symbol: PAD_BO_6011B20, mesh_symbol: D_BO_OFFSET }
+
+D_BO_6011B24:
+  { type: SF64:HITBOX, offset: 0x6011B24, symbol: D_BO_6011B24 }
+
+D_BO_6011BA4:
+  { type: SF64:HITBOX, offset: 0x6011BA4, symbol: D_BO_6011BA4 }
+
+D_BO_6011BF4:
+  { type: SF64:HITBOX, offset: 0x6011BF4, symbol: D_BO_6011BF4 }
+
+D_BO_6011C10:
+  { type: SF64:HITBOX, offset: 0x6011C10, symbol: D_BO_6011C10 }
+
+D_BO_6011C48:
+  { type: SF64:HITBOX, offset: 0x6011C48, symbol: D_BO_6011C48 }
+
+D_BO_6011C80:
+  { type: SF64:HITBOX, offset: 0x6011C80, symbol: D_BO_6011C80 }
+
+D_BO_6011E28:
+  { type: VTX, count: 34, offset: 0x6011E28, symbol: D_BO_6011E28 }
diff --git a/assets/yaml/us/ast_meteo.yaml b/assets/yaml/us/ast_meteo.yaml
new file mode 100644
index 00000000..6a0a7afe
--- /dev/null
+++ b/assets/yaml/us/ast_meteo.yaml
@@ -0,0 +1,318 @@
+:config:
+  segments:
+    - [0x06, 0x9A1460]
+  header:
+    code:
+      - '#include "assets/ast_meteo.h"'
+    header:
+      - '#include "gfx.h"'
+      - '#include "sf64object.h"'
+      - '#include "structs.h"'
+      - '#include "sf64level.h"'
+
+# Meteo
+# Asteroid Field
+D_ME_6000000:
+  { type: TEXTURE, ctype: u8, format: IA8, width: 96, height: 28, offset: 0x6000000, symbol: D_ME_6000000 }
+  
+D_ME_6000A80:
+  { type: GFX, offset: 0x6000A80, symbol: D_ME_6000A80 }
+
+D_ME_6000B10:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06000B10, symbol: D_ME_6000B10 }
+
+D_ME_6001310:
+  { type: GFX, offset: 0x6001310, symbol: D_ME_6001310 }
+
+D_ME_6004738:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06004738, symbol: D_ME_6004738 }
+
+D_ME_6004F38:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06004F38, symbol: D_ME_6004F38 }
+
+D_ME_6005738:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06005738, symbol: D_ME_6005738 }
+
+D_ME_6005F38:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06005F38, symbol: D_ME_6005F38 }
+
+D_ME_6006738:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06006738, symbol: D_ME_6006738 }
+
+D_ME_6006F38:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x06006F38, symbol: D_ME_6006F38 }
+
+D_ME_6006FB8:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x06006FB8, symbol: D_ME_6006FB8 }
+
+D_ME_6007038:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06007038, symbol: D_ME_6007038 }
+
+D_ME_6007838:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x06007838, symbol: D_ME_6007838 }
+
+D_ME_60078B8:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060078B8, symbol: D_ME_60078B8 }
+  
+D_ME_60080C0: 
+  { type: GFX, offset: 0x60080C0, symbol: D_ME_60080C0 }
+
+D_ME_6008A18:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x06008A18, symbol: D_ME_6008A18 }
+  
+D_ME_6008AA0: 
+  { type: GFX, offset: 0x6008AA0, symbol: D_ME_6008AA0 }
+
+D_ME_6009228: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06009228, symbol: D_ME_6009228 }
+
+D_ME_6009A28: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06009A28, symbol: D_ME_6009A28 }
+
+D_ME_6009C28: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06009C28, symbol: D_ME_6009C28 }
+  
+D_ME_6009E30: 
+  { type: GFX, offset: 0x6009E30, symbol: D_ME_6009E30 }
+  
+D_ME_6009F50: 
+  { type: GFX, offset: 0x6009F50, symbol: D_ME_6009F50 }
+  
+D_ME_600AC70: 
+  { type: GFX, offset: 0x600AC70, symbol: D_ME_600AC70 }
+
+D_ME_600B540: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0600B540, symbol: D_ME_600B540 }
+
+D_ME_600BD40: 
+  { type: GFX, offset: 0x600BD40, symbol: D_ME_600BD40 }
+
+D_ME_600BF30:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0600BF30, symbol: D_ME_600BF30 }
+  
+D_ME_600C130:
+  { type: GFX, offset: 0x600C130, symbol: D_ME_600C130 }
+  
+D_ME_600C2A0:
+  { type: GFX, offset: 0x600C2A0, symbol: D_ME_600C2A0 }
+  
+D_ME_600C740:
+  { type: GFX, offset: 0x600C740, symbol: D_ME_600C740 }
+  
+D_ME_600CAA0:
+  { type: GFX, offset: 0x600CAA0, symbol: D_ME_600CAA0 }
+  
+D_ME_600CD60:
+  { type: GFX, offset: 0x600CD60, symbol: D_ME_600CD60 }
+
+D_ME_600CDE8:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0600CDE8, symbol: D_ME_600CDE8 }
+  
+D_ME_600DDF0: 
+  { type: GFX, offset: 0x600DDF0, symbol: D_ME_600DDF0 }
+
+D_ME_600E238: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0600E238, symbol: D_ME_600E238 }
+
+D_ME_600F238: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0600F238, symbol: D_ME_600F238 }
+
+D_ME_6010238: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x06010238, symbol: D_ME_6010238 }
+
+D_ME_6011238: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x06011238, symbol: D_ME_6011238 }
+
+D_ME_6012238: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x06012238, symbol: D_ME_6012238 }
+
+D_ME_6013238: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x06013238, symbol: D_ME_6013238 }
+
+D_ME_6014238: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x06014238, symbol: D_ME_6014238 }
+
+D_ME_6015238: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x06015238, symbol: D_ME_6015238 }
+
+D_ME_6016240:
+  { type: GFX, offset: 0x6016240, symbol: D_ME_6016240 }
+
+D_ME_60162C8:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x060162C8, symbol: D_ME_60162C8 }
+  
+D_ME_60172C8:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060172C8, symbol: D_ME_60172C8 }
+
+D_ME_6017AD0:
+  { type: GFX, offset: 0x06017AD0, symbol: D_ME_6017AD0 }
+
+D_ME_6017B60:
+  { type: GFX, offset: 0x06017B60, symbol: D_ME_6017B60 }
+
+D_ME_6018450:
+  { type: GFX, offset: 0x06018450, symbol: D_ME_6018450 }
+
+D_ME_6018960:
+  { type: GFX, offset: 0x06018960, symbol: D_ME_6018960 }
+
+D_ME_6018C00:
+  { type: GFX, offset: 0x06018C00, symbol: D_ME_6018C00 }
+
+D_ME_6019430:
+  { type: GFX, offset: 0x06019430, symbol: D_ME_6019430 }
+
+D_ME_6019880:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06019880, symbol: D_ME_6019880 }
+
+D_ME_601A080: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601A080, symbol: D_ME_601A080 }
+
+D_ME_601A880:
+  { type: GFX, offset: 0x0601A880, symbol: D_ME_601A880 }
+
+D_ME_601AE40:
+  { type: GFX, offset: 0x0601AE40, symbol: D_ME_601AE40 }
+
+D_ME_601C8E0: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0601C8E0, symbol: D_ME_601C8E0 }
+
+D_ME_601D800: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0601D800, symbol: D_ME_601D800 }
+
+D_ME_601E8C4: 
+  { type: SF64:ANIM, offset: 0x601E8C4, symbol: D_ME_601E8C4 }
+
+D_ME_601E9D0: 
+  { type: SF64:SKELETON, offset: 0x601E9D0, symbol: D_ME_601E9D0 }
+
+# Beta Meteo background, unused
+D_ME_601EA00: 
+  { type: GFX, offset: 0x0601EA00, symbol: D_ME_601EA00 }
+
+D_ME_601EA98: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601EA98, symbol: D_ME_601EA98 }
+
+D_ME_601F2A0: 
+  { type: GFX, offset: 0x0601F2A0, symbol: D_ME_601F2A0 }
+
+D_ME_601F778:  
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601F778, symbol: D_ME_601F778 }
+
+D_ME_601FF80:
+  { type: GFX, offset: 0x0601FF80, symbol: D_ME_601FF80 }
+
+D_ME_6020008:  
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06020008, symbol: D_ME_6020008 }
+
+D_ME_6020810:
+  { type: GFX, offset: 0x06020810, symbol: D_ME_6020810 }
+
+D_ME_6020920:  
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06020920, symbol: D_ME_6020920 }
+
+D_ME_6021920:  
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06021920, symbol: D_ME_6021920 }
+
+D_ME_6022920:
+  { type: GFX, offset: 0x06022920, symbol: D_ME_6022920 }
+
+D_ME_6022E50:
+  { type: GFX, offset: 0x06022E50, symbol: D_ME_6022E50 }
+
+D_ME_60236F0:
+  { type: GFX, offset: 0x060236F0, symbol: D_ME_60236F0 }
+
+D_ME_6023788:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x06023788, symbol: D_ME_6023788 }
+
+D_ME_60231C0:
+  { type: GFX, offset: 0x060231C0, symbol: D_ME_60231C0 }
+
+D_ME_6023290:
+  { type: GFX, offset: 0x06023290, symbol: D_ME_6023290 }
+
+D_ME_6023360:
+  { type: GFX, offset: 0x06023360, symbol: D_ME_6023360 }
+
+D_ME_6023810:
+  { type: GFX, offset: 0x06023810, symbol: D_ME_6023810 }
+
+D_ME_60238A8:
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060238A8, symbol: D_ME_60238A8 }
+
+D_ME_60240B0:
+  { type: GFX, offset: 0x060240B0, symbol: D_ME_60240B0 }
+
+D_ME_6024AD0:
+  { type: GFX, offset: 0x06024AD0, symbol: D_ME_6024AD0 }
+
+D_ME_6024B60:
+  { type: GFX, offset: 0x06024B60, symbol: D_ME_6024B60 }
+
+# Unused Meteo Ball
+D_ME_6025B50:
+  { type: GFX, offset: 0x06025B50, symbol: D_ME_6025B50 }
+
+D_ME_6025350: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6025350, symbol: D_ME_6025350 }
+
+D_ME_6025BE8: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06025BE8, symbol: D_ME_6025BE8 }
+
+D_ME_60263F0:
+  { type: GFX, offset: 0x060263F0, symbol: D_ME_60263F0 }
+
+D_ME_6026478: 
+  { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06026478, symbol: D_ME_6026478 }
+
+D_ME_6026CC4: 
+  { type: SF64:OBJECT_INIT, offset: 0x6026CC4, symbol: D_ME_6026CC4 }
+
+D_ME_6026C80:
+  { type: SF64:ENV_SETTINGS, offset: 0x6026C80, symbol: D_ME_6026C80 }
+
+D_ME_602B148: 
+  { type: SF64:OBJECT_INIT, offset: 0x602B148, symbol: D_ME_602B148 }
+
+D_ME_602F3AC:
+  { type: SF64:SCRIPT, offset: 0x602F3AC, symbol: D_ME_602F3AC }
+
+D_ME_602F604:
+  { type: SF64:HITBOX, offset: 0x602F604, symbol: D_ME_602F604 }
+
+D_ME_602F638:
+  { type: SF64:HITBOX, offset: 0x602F638, symbol: D_ME_602F638 }
+
+D_ME_602F684:
+  { type: SF64:HITBOX, offset: 0x602F684, symbol: D_ME_602F684 }
+
+D_ME_602F6A0:
+  { type: SF64:HITBOX, offset: 0x602F6A0, symbol: D_ME_602F6A0 }
+
+D_ME_602F6EC:
+  { type: SF64:HITBOX, offset: 0x602F6EC, symbol: D_ME_602F6EC }
+
+D_ME_602F708:
+  { type: SF64:HITBOX, offset: 0x602F708, symbol: D_ME_602F708 }
+
+D_ME_602F724:
+  { type: SF64:HITBOX, offset: 0x602F724, symbol: D_ME_602F724 }
+
+D_ME_602F740:
+  { type: SF64:HITBOX, offset: 0x602F740, symbol: D_ME_602F740 }
+
+D_ME_602F75C:
+  { type: SF64:HITBOX, offset: 0x602F75C, symbol: D_ME_602F75C }
+
+D_ME_602FA50:
+  { type: SF64:HITBOX, offset: 0x602FA50, symbol: D_ME_602FA50 }
+
+D_ME_602FA9C:
+  {type: SF64:COLPOLY, count: 79, offset: 0x602FA9C, symbol: D_ME_602FA9C, mesh_symbol: D_ME_OFFSET }
+
+D_ME_6030208:
+  {type: SF64:COLPOLY, count: 42, offset: 0x6030208, symbol: D_ME_6030208, mesh_symbol: D_ME_OFFSET }
+
+D_ME_60305DC:
+  {type: SF64:COLPOLY, count: 236, offset: 0x60305DC, symbol: D_ME_60305DC, mesh_symbol: D_ME_OFFSET }
diff --git a/include/assets.h b/include/assets.h
index a61cb3d2..c266c1b7 100644
--- a/include/assets.h
+++ b/include/assets.h
@@ -51,34 +51,25 @@ extern Gfx D_6007D80[];
 extern Gfx D_6007D90[];
 extern EnvSettings D_VE1_6007E30;
 extern Gfx D_6008370[];
-extern Gfx D_6008770[];
 extern Gfx D_6008830[];
-extern Gfx D_6008AA0[];
 extern Gfx D_6009250[];
 extern u16* D_6009B34[];
 extern f32 D_6009CC4[];
 extern f32 D_6009CFC[];
 extern Animation D_6009D30;
-extern Gfx D_6009E30[];
 extern Vtx D_6009ED0[];
 extern Gfx D_6009F90[];
 extern Gfx D_600A420[];
-extern Gfx D_600A810[];
 extern Gfx D_600B0E0[];
 extern Animation D_600B1B4;
 extern Gfx D_600B4B0[];
-extern Gfx D_600B8B0[];
 extern Gfx D_600BAF0[];
 extern u16 D_600BEA0[];
-extern Gfx D_600C130[];
 extern Animation D_600C15C;
 extern Animation D_600C200;
 extern Limb* D_600C2AC[];
 extern u16 D_600C6A0[];
-extern Gfx D_600C740[];
 extern Vtx D_600C780[];
-extern Gfx D_600CAA0[];
-extern Gfx D_600D190[];
 extern Animation D_600D3DC;
 extern u16 D_600D5C0[];
 extern Gfx D_600D730[];
@@ -86,7 +77,6 @@ extern u16 D_600D990[];
 extern Gfx D_600D9F0[];
 extern Gfx D_600DBC0[];
 extern u8 D_600DDC0[];
-extern Gfx D_600DDF0[];
 extern Gfx D_600E050[];
 extern Animation D_600E2C4;
 extern u8 D_600E360[];
@@ -104,7 +94,6 @@ extern Gfx D_600F2F0[];
 extern Vec3s D_600F394[];
 extern Gfx D_600F3D0[];
 extern CollisionPoly D_600F3F4[];
-extern Gfx D_600F4C0[];
 extern Gfx D_600F560[];
 extern Vec3s D_600F5AC[];
 extern CollisionPoly D_600F60C[];
@@ -116,7 +105,6 @@ extern Vec3s D_600FD50[];
 extern f32 D_600FE9C[];
 extern f32 D_600FEB8[];
 extern f32 D_600FF30_Hitbox[];
-extern EnvSettings D_BO_600FF30;
 extern f32 D_600FF80[];
 extern f32 D_600FFA0[];
 extern f32 D_600FFC0[];
@@ -124,20 +112,13 @@ extern f32 D_600FFE0[];
 extern ObjectInit* D_6010088[];
 extern u8 D_6010090[];
 extern u16 D_6010198[];
-extern CollisionPoly D_6010294[];
 extern u8 D_60106B0[];
 extern Gfx D_6010960[];
 extern u8 D_6010FA0[];
 extern EnvSettings D_KA_6011000;
 extern f32 D_6011058[];
 extern f32 D_601115C[];
-extern Vec3s D_601170C[];
 extern u8 D_6011890[];
-extern f32 D_6011B24[];
-extern f32 D_6011BF4[];
-extern f32 D_6011C10[];
-extern f32 D_6011C48[];
-extern f32 D_6011C80[];
 extern u8 D_6012310[];
 extern u8 D_60123F0[];
 extern Animation D_6012C00_Anim;
@@ -161,9 +142,6 @@ extern f32 D_6016714[];
 extern Gfx D_6016CF0[];
 extern Gfx D_6017090[];
 extern Gfx D_6017370[];
-extern Gfx D_6018450[];
-extern Gfx D_6018C00[]; // possible collision
-extern Gfx D_601AE40[];
 extern u16* D_VE1_601B1E4[];
 extern f32 D_601B4C4[];
 extern f32 D_601B4E0[];
@@ -182,35 +160,26 @@ extern f32 D_601B868[];
 extern f32 D_601B8A0[];
 extern f32 D_601B8D8[];
 extern Gfx D_601C820[];
-extern u16 D_601C8E0[];
-extern u16 D_601D800[];
 extern Gfx D_601E150[];
 extern u16 D_601E1E8[];
-extern Animation D_601E8C4;
-extern Limb* D_601E9D0[];
 extern EnvSettings D_SO_601F1F0;
 extern Animation D_601F874;
 extern Limb* D_601F920[];
 extern Gfx D_601FCB0[];
-extern Gfx D_601FF80[];
 extern Gfx D_60200E0[];
 extern Gfx D_6020A30[];
 extern u16* D_SO_600631C[];
 extern Gfx D_6020E60[];
 extern u16 D_6020F60[];
 extern u16 D_6022760[];
-extern Gfx D_6022920[];
 extern u16 D_60229A4[];
 extern f32 D_60231A4[];
 extern Gfx D_6024220[];
 extern Gfx D_6024AC0[];
-extern Gfx D_6024B60[];
 extern EnvSettings D_ZO_60266D0;
-extern EnvSettings D_ME_6026C80;
 extern Gfx D_602A720[];
 extern u16* D_ZO_602AAC0[];
 extern u16 D_602AC50[];
-extern ObjectInit* D_602B148[];
 extern f32 D_602B9EC[];
 extern f32 D_602BA20[];
 extern f32 D_602BAE4[];
@@ -230,22 +199,7 @@ extern f32 D_602C2B0[];
 extern u16 D_602C2CC[];
 extern Triangle D_602CACC[];
 extern Vec3f D_602CB80[];
-extern u16* D_ME_602F3AC[];
-extern f32 D_602F638[];
-extern f32 D_602F684[];
-extern f32 D_602F6A0[];
-extern f32 D_602F6EC[];
-extern f32 D_602F708[];
-extern f32 D_602F724[];
-extern f32 D_602F740[];
-extern f32 D_602F75C[];
-extern f32 D_602FA50[];
 extern CollisionPoly D_602FA9C[];
-extern Vec3s D_60300C8[];
-extern CollisionPoly D_6030208[];
-extern Vec3s D_6030550[];
-extern CollisionPoly D_60305DC[];
-extern Vec3s D_603184C[];
 extern Vec3s D_6033E08[];
 extern Gfx D_60084C0[];
 extern Gfx D_6008D40[];
diff --git a/include/assets/ast_bolse.h b/include/assets/ast_bolse.h
deleted file mode 100644
index 4e0dcabc..00000000
--- a/include/assets/ast_bolse.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef AST_BOLSE_H
-#define AST_BOLSE_H
-
-#include "gfx.h"
-#include "sf64object.h"
-#include "structs.h"
-
-#endif
diff --git a/include/assets/ast_meteo.h b/include/assets/ast_meteo.h
deleted file mode 100644
index c0b8336c..00000000
--- a/include/assets/ast_meteo.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef AST_METEO_H
-#define AST_METEO_H
-
-#include "gfx.h"
-#include "sf64object.h"
-#include "structs.h"
-
-#endif
diff --git a/include/fox_enmy2_assets.h b/include/fox_enmy2_assets.h
index fe6842b4..5e598b22 100644
--- a/include/fox_enmy2_assets.h
+++ b/include/fox_enmy2_assets.h
@@ -5,21 +5,11 @@
 
 // Displaylists
 
-extern Gfx D_601F2A0[];
-extern Gfx D_6017B60[];
 extern Gfx D_6004D00[];
-extern Gfx D_601A880[];
-extern Gfx D_6019430[];
-extern Gfx D_6018960[];
-extern Gfx D_6009F50[];
-extern Gfx D_600C2A0[];
-extern Gfx D_600BD40[];
-extern Gfx D_600AC70[];
 extern Gfx D_6002500[];
 extern Gfx D_60043F0[];
 extern Gfx D_6004310[];
 extern f32 D_602C1A0[];
-extern f32 D_602F604[];
 extern f32 D_602C294[];
 extern f32 D_601B474[];
 extern f32 D_601B43C[];
diff --git a/include/fox_enmy_assets.h b/include/fox_enmy_assets.h
index bcdf2b2b..8614d0f0 100644
--- a/include/fox_enmy_assets.h
+++ b/include/fox_enmy_assets.h
@@ -3,13 +3,11 @@
 
 #include "sf64object.h"
 
-extern ObjectInit D_ME_6026CC4[];
 extern ObjectInit D_VE1_6007E74[];
 extern ObjectInit D_SO_601F234[];
 extern ObjectInit D_ZO_6026714[];
 extern ObjectInit D_FO_600EAD4[];
 extern ObjectInit D_KA_6011044[];
-extern ObjectInit D_BO_600FF74[];
 extern ObjectInit D_VE2_600FF74[];
 
 #endif
diff --git a/linker_scripts/us/undefined_syms.ld b/linker_scripts/us/undefined_syms.ld
index ba12589d..17fac4ff 100644
--- a/linker_scripts/us/undefined_syms.ld
+++ b/linker_scripts/us/undefined_syms.ld
@@ -177,7 +177,6 @@ D_6008E08 = 0x06008E08;
 D_6009AD0 = 0x06009AD0;
 D_600A420 = 0x0600A420;
 D_MA_600AF40 = 0x0600AF40;
-D_600B8B0 = 0x0600B8B0;
 D_600BAF0 = 0x0600BAF0;
 D_AQ_600BF80 = 0x0600BF80;
 D_600E820 = 0x0600E820;
@@ -187,7 +186,6 @@ D_AQ_600EEF0 = 0x0600EEF0;
 D_600F1DC = 0x0600F1DC;
 D_600F394 = 0x0600F394;
 D_600F3F4 = 0x0600F3F4;
-D_600F4C0 = 0x0600F4C0;
 D_600F560 = 0x0600F560;
 D_600F5AC = 0x0600F5AC;
 D_600F60C = 0x0600F60C;
@@ -199,18 +197,11 @@ D_600FF80 = 0x0600FF80;
 D_600FFA0 = 0x0600FFA0;
 D_600FFC0 = 0x0600FFC0;
 D_600FFE0 = 0x0600FFE0;
-D_6010294 = 0x06010294;
 D_6010960 = 0x06010960;
 D_6011058 = 0x06011058;
 D_601115C = 0x0601115C;
 D_601115C = 0x0601115C;
 D_6011660 = 0x06011660;
-D_601170C = 0x0601170C;
-D_6011B24 = 0x06011B24;
-D_6011BF4 = 0x06011BF4;
-D_6011C10 = 0x06011C10;
-D_6011C48 = 0x06011C48;
-D_6011C80 = 0x06011C80;
 D_AQ_6011EE0 = 0x06011EE0;
 D_AQ_60120F0 = 0x060120F0;
 D_MA_6012C00 = 0x06012C00;
@@ -226,8 +217,6 @@ D_6016374 = 0x06016374;
 D_601668C = 0x0601668C;
 D_60166F4 = 0x060166F4;
 D_6016714 = 0x06016714;
-D_6018450 = 0x06018450;
-D_6018C00 = 0x06018C00;
 D_MA_601B0D0 = 0x0601B0D0;
 D_601B4E0 = 0x0601B4E0;
 D_601B4FC = 0x0601B4FC;
@@ -250,7 +239,6 @@ D_MA_601F1D0 = 0x0601F1D0;
 D_601FCB0 = 0x0601FCB0;
 D_6022340 = 0x06022340;
 D_AQ_6022110 = 0x06022110;
-D_AQ_60231C0 = 0x060231C0;
 D_MA_60238F0 = 0x060238F0;
 D_60239E0 = 0x060239E0;
 D_6023730 = 0x06023730;
@@ -289,21 +277,8 @@ D_602DAD0 = 0x0602DAD0;
 D_MA_602DAE0 = 0x0602DAE0;
 D_MA_602DB80 = 0x0602DB80;
 D_MA_602DC20 = 0x0602DC20;
-D_602F684 = 0x0602F684;
-D_602F6A0 = 0x0602F6A0;
-D_602F6EC = 0x0602F6EC;
-D_602F708 = 0x0602F708;
-D_602F724 = 0x0602F724;
-D_602F740 = 0x0602F740;
-D_602F75C = 0x0602F75C;
-D_602FA50 = 0x0602FA50;
-D_602FA9C = 0x0602FA9C;
 D_602FF60 = 0x0602FF60;
-D_60300C8 = 0x060300C8;
-D_6030208 = 0x06030208;
 D_MA_6030500 = 0x06030500;
-D_6030550 = 0x06030550;
-D_60305DC = 0x060305DC;
 D_MA_6030630 = 0x06030630;
 D_AQ_6030B10 = 0x06030B10;
 D_AQ_6030BE0 = 0x06030BE0;
@@ -342,7 +317,6 @@ D_AQ_6031500 = 0x06031500;
 D_AQ_6031538 = 0x06031538;
 D_AQ_6031554 = 0x06031554;
 D_AQ_6031570 = 0x06031570;
-D_603184C = 0x0603184C;
 D_AQ_6031FB0 = 0x06031FB0;
 D_6031FE0 = 0x06031FE0;
 D_603204C = 0x0603204C;
@@ -421,7 +395,6 @@ D_TI_6005000 = 0x06005000;
 D_AQ_602E540 = 0x0602E540;
 D_FO_600EA90 = 0x0600EA90;
 D_KA_6011000 = 0x06011000;
-D_BO_600FF30 = 0x0600FF30;
 D_VE2_6014D50 = 0x06014D50;
 D_60084C0 = 0x060084C0;
 D_6008D40 = 0x06008D40;
@@ -742,8 +715,6 @@ D_6026EC0 = 0x06026EC0;
 D_6026DA0 = 0x06026DA0;
 D_6026D10 = 0x06026D10;
 D_6026C80 = 0x06026C80;
-D_ME_6026C80 = 0x06026C80;
-D_ME_6000000 = 0x06000000;
 D_FO_6000000 = 0x06000000;
 D_KA_6000000 = 0x06000000;
 D_SO_6000000 = 0x06000000;
@@ -905,8 +876,6 @@ D_1010920 = 0x01010920;
 D_1010970 = 0x01010970;
 
 // fox_enmy
-D_ME_6026CC4 = 0x006026CC4;
-D_SX_602A164 = 0x00602A164;
 D_A6_6023F64 = 0x006023F64;
 D_A6_60287A4 = 0x0060287A4;
 D_VE1_6007E74 = 0x006007E74;
@@ -919,11 +888,9 @@ D_TI_6006C60 = 0x006006C60;
 D_AQ_602E5C8 = 0x00602E5C8;
 D_FO_600EAD4 = 0x00600EAD4;
 D_KA_6011044 = 0x006011044;
-D_BO_600FF74 = 0x00600FF74;
 D_VE2_600FF74 = 0x006014D94;
 
 // fox_enmy2
-D_601F2A0 = 0x0601F2A0;
 D_A6_6016190 = 0x06016190;
 D_SX_6023500 = 0x06023500;
 D_SX_6022DF0 = 0x06022DF0;
@@ -936,19 +903,10 @@ D_SX_6009950 = 0x06009950;
 D_SX_600B2B0 = 0x0600B2B0;
 D_SX_600A2E0 = 0x0600A2E0;
 D_SX_600B830 = 0x0600B830;
-D_6017B60 = 0x06017B60;
 D_6004D00 = 0x06004D00;
-D_601A880 = 0x0601A880;
-D_SX_600B540 = 0x0600B540;
-D_6019430 = 0x06019430;
-D_6018960 = 0x06018960;
-D_6009F50 = 0x06009F50;
-D_600C2A0 = 0x0600C2A0;
-D_600BD40 = 0x0600BD40;
 D_VE1_9012180 = 0x09012180;
 D_VE1_900EFC0 = 0x0900EFC0;
 D_MA_601C520 = 0x0601C520;
-D_600AC70 = 0x0600AC70;
 D_6002500 = 0x06002500;
 D_60043F0 = 0x060043F0;
 D_6004310 = 0x06004310;
@@ -969,7 +927,6 @@ D_SX_603238C = 0x0603238C;
 D_SX_60328CC = 0x060328CC;
 D_602C1A0 = 0x0602C1A0;
 D_SX_60328E8 = 0x060328E8;
-D_602F604 = 0x0602F604;
 D_602C294 = 0x0602C294;
 D_601B474 = 0x0601B474;
 D_AQ_6030B4C = 0x06030B4C;
@@ -1362,8 +1319,6 @@ D_60005B0 = 0x60005B0;
 D_TI_6000A80 = 0x6000A80;
 D_AQ_6000AE4 = 0x6000AE4;
 D_A6_6000B60 = 0x6000B60;
-D_6000C80 = 0x6000C80;
-D_6000D80 = 0x6000D80;
 D_AQ_6000DB0 = 0x6000DB0;
 D_AQ_6000E10 = 0x6000E10;
 D_6001080 = 0x6001080;
@@ -1372,7 +1327,6 @@ D_MA_6001180 = 0x6001180;
 D_6001260 = 0x6001260;
 D_60012A0 = 0x60012A0;
 D_60012D0 = 0x60012D0;
-D_6001310 = 0x6001310;
 D_6001360 = 0x6001360;
 D_MA_60014A0 = 0x60014A0;
 D_6001530 = 0x6001530;
@@ -1382,9 +1336,6 @@ D_6001A60 = 0x6001A60;
 D_A6_6001A80 = 0x6001A80;
 D_TI_6001BA8 = 0x6001BA8;
 D_6001C50 = 0x6001C50;
-D_6001C64 = 0x6001C64;
-D_6001FB0 = 0x6001FB0;
-D_6002020 = 0x6002020;
 D_AQ_6002628 = 0x6002628;
 D_AQ_6002874 = 0x6002874;
 D_6002890 = 0x6002890;
@@ -1416,7 +1367,6 @@ D_SX_60066F0 = 0x60066F0;
 D_6006750 = 0x6006750;
 D_SX_6006810 = 0x6006810;
 D_TI_60068F0 = 0x60068F0;
-D_6006910 = 0x6006910;
 D_TI_6006924 = 0x6006924;
 D_TI_6006940 = 0x6006940;
 D_TI_600695C = 0x600695C;
@@ -1444,22 +1394,17 @@ D_6007980 = 0x6007980;
 D_6007CF0 = 0x6007CF0;
 D_6007D90 = 0x6007D90;
 D_6007E20 = 0x6007E20;
-D_6008770 = 0x6008770;
 D_6008830 = 0x6008830;
 D_AQ_6008970 = 0x6008970;
-D_6008AA0 = 0x6008AA0;
-D_6008BB8 = 0x6008BB8;
 D_AQ_6008EC8 = 0x6008EC8;
 D_TR_6008EF8 = 0x6008EF8;
 D_AQ_6008FC8 = 0x6008FC8;
 D_6009250 = 0x6009250;
 D_6009300 = 0x6009300;
 D_TI_6009BB8 = 0x6009BB8;
-D_6009BC0 = 0x6009BC0;
 D_SX_6009C30 = 0x6009C30;
 D_MA_6009C50 = 0x6009C50;
 D_6009D30 = 0x6009D30;
-D_6009E30 = 0x6009E30;
 D_6009ED0 = 0x6009ED0;
 D_MA_6009F10 = 0x6009F10;
 D_6009F90 = 0x6009F90;
@@ -1469,25 +1414,18 @@ D_AQ_600A220 = 0x600A220;
 D_SX_600A2D4 = 0x600A2D4;
 D_MA_600A4D0 = 0x600A4D0;
 D_MA_600A7D0 = 0x600A7D0;
-D_600A810 = 0x600A810;
 D_MA_600AA70 = 0x600AA70;
 D_AQ_600AB10 = 0x600AB10;
 D_AQ_600AB68 = 0x600AB68;
 D_MA_600AD50 = 0x600AD50;
-D_600AD80 = 0x600AD80;
 D_600B0E0 = 0x600B0E0;
 D_600B1B4 = 0x600B1B4;
 D_600B4B0 = 0x600B4B0;
-D_600BAA0 = 0x600BAA0;
 D_600BAF0 = 0x600BAF0;
 D_600BEA0 = 0x600BEA0;
-D_600BEC0 = 0x600BEC0;
-D_600BF30 = 0x600BF30;
 D_600BFB0 = 0x600BFB0;
 D_600C038 = 0x600C038;
 D_600C0A4 = 0x600C0A4;
-D_600C0B8 = 0x600C0B8;
-D_600C130 = 0x600C130;
 D_600C15C = 0x600C15C;
 D_600C200 = 0x600C200;
 D_600C2AC = 0x600C2AC;
@@ -1497,15 +1435,10 @@ D_600C4E0 = 0x600C4E0;
 D_600C560 = 0x600C560;
 D_MA_600C65C = 0x600C65C;
 D_600C6A0 = 0x600C6A0;
-D_600C740 = 0x600C740;
 D_600C780 = 0x600C780;
-D_600CAA0 = 0x600CAA0;
 D_MA_600CD18 = 0x600CD18;
-D_600CD60 = 0x600CD60;
 D_600CDC0 = 0x600CDC0;
-D_600CF88 = 0x600CF88;
 D_600D090 = 0x600D090;
-D_600D190 = 0x600D190;
 D_MA_600D1E4 = 0x600D1E4;
 D_600D290 = 0x600D290;
 D_600D3DC = 0x600D3DC;
@@ -1520,7 +1453,6 @@ D_MA_600DA10 = 0x600DA10;
 D_AQ_600DB80 = 0x600DB80;
 D_600DBC0 = 0x600DBC0;
 D_600DDC0 = 0x600DDC0;
-D_600DDF0 = 0x600DDF0;
 D_600E010 = 0x600E010;
 D_600E050 = 0x600E050;
 D_A6_600E0C0 = 0x600E0C0;
@@ -1537,12 +1469,8 @@ D_600EFF0 = 0x600EFF0;
 D_600F160 = 0x600F160;
 D_600F1D0 = 0x600F1D0;
 D_A6_600F1F0 = 0x600F1F0;
-D_600F2E0 = 0x600F2E0;
 D_600F2F0 = 0x600F2F0;
-D_600F36C = 0x600F36C;
 D_600F3D0 = 0x600F3D0;
-D_600F3D8 = 0x600F3D8;
-D_600F4A4 = 0x600F4A4;
 D_600F670 = 0x600F670;
 D_600F744 = 0x600F744;
 D_SX_600F890 = 0x600F890;
@@ -1571,8 +1499,6 @@ D_A6_6011910 = 0x6011910;
 D_AQ_60119A0 = 0x60119A0;
 D_AQ_6011A78 = 0x6011A78;
 D_MA_6011B40 = 0x6011B40;
-D_6011BA4 = 0x6011BA4;
-D_6011E28 = 0x6011E28;
 D_6012310 = 0x6012310;
 D_SX_60123BC = 0x60123BC;
 D_60123F0 = 0x60123F0;
@@ -1617,7 +1543,6 @@ D_SX_60158C4 = 0x60158C4;
 D_MA_6015C24 = 0x6015C24;
 D_A6_6015EE0 = 0x6015EE0;
 D_MA_6016040 = 0x6016040;
-D_6016240 = 0x6016240;
 D_MA_60163F0 = 0x60163F0;
 D_6016880 = 0x6016880;
 D_MA_6016B2C = 0x6016B2C;
@@ -1638,7 +1563,6 @@ D_A6_6018994 = 0x6018994;
 D_6018AF0 = 0x6018AF0;
 D_A6_6018BA0 = 0x6018BA0;
 D_A6_6018BF0 = 0x6018BF0;
-D_6018C00 = 0x6018C00;
 D_AQ_6018C78 = 0x6018C78;
 D_TITLE_6018D40 = 0x6018D40;
 D_6019030 = 0x6019030;
@@ -1650,7 +1574,6 @@ D_AQ_60194D0 = 0x60194D0;
 D_60195EC = 0x60195EC;
 D_A6_6019730 = 0x6019730;
 D_6019738 = 0x6019738;
-D_AQ_6019880 = 0x6019880;
 D_601996C = 0x601996C;
 D_6019E18 = 0x6019E18;
 D_AQ_6019E80 = 0x6019E80;
@@ -1663,7 +1586,6 @@ D_MA_601A840 = 0x601A840;
 D_SX_601AA28 = 0x601AA28;
 D_601AA48 = 0x601AA48;
 D_601AB14 = 0x601AB14;
-D_601AE40 = 0x601AE40;
 D_601AFB8 = 0x601AFB8;
 D_AQ_601AFF0 = 0x601AFF0;
 D_601B184 = 0x601B184;
@@ -1682,12 +1604,10 @@ D_601C590 = 0x601C590;
 D_SX_601C690 = 0x601C690;
 D_TITLE_601C7C0 = 0x601C7C0;
 D_601C820 = 0x601C820;
-D_601C8E0 = 0x601C8E0;
 D_MA_601D188 = 0x601D188;
 D_601D1F0 = 0x601D1F0;
 D_601D680 = 0x601D680;
 D_TITLE_601D750 = 0x601D750;
-D_601D800 = 0x601D800;
 D_TITLE_601DB50 = 0x601DB50;
 D_601DC10 = 0x601DC10;
 D_601DC90 = 0x601DC90;
@@ -1698,9 +1618,7 @@ D_AQ_601DE50 = 0x601DE50;
 D_AQ_601DE60 = 0x601DE60;
 D_601E150 = 0x601E150;
 D_601E1E8 = 0x601E1E8;
-D_601E8C4 = 0x601E8C4;
 D_601E9A0 = 0x601E9A0;
-D_601E9D0 = 0x601E9D0;
 D_MA_601EA28 = 0x601EA28;
 D_MA_601EAB0 = 0x601EAB0;
 D_MA_601EBBC = 0x601EBBC;
@@ -1712,9 +1630,7 @@ D_TITLE_601F8E0 = 0x601F8E0;
 D_601F920 = 0x601F920;
 D_601FBC4 = 0x601FBC4;
 D_601FC90 = 0x601FC90;
-D_601FF80 = 0x601FF80;
 D_60200E0 = 0x60200E0;
-D_6020810 = 0x6020810;
 D_6020A30 = 0x6020A30;
 D_SO_600631C = 0x6020DD0;
 D_6020E60 = 0x6020E60;
@@ -1728,31 +1644,23 @@ D_MA_6022530 = 0x6022530;
 D_MA_6022610 = 0x6022610;
 D_6022760 = 0x6022760;
 D_MA_60227F0 = 0x60227F0;
-D_6022920 = 0x6022920;
 D_60229A4 = 0x60229A4;
 D_60231A4 = 0x60231A4;
 D_MA_6023228 = 0x6023228;
 D_MA_6023388 = 0x6023388;
-D_60236F0 = 0x60236F0;
-D_6023810 = 0x6023810;
 D_MA_60239D0 = 0x60239D0;
 D_6023D50 = 0x6023D50;
-D_60240B0 = 0x60240B0;
 D_6024220 = 0x6024220;
 D_MA_6024670 = 0x6024670;
 D_TITLE_60246F8 = 0x60246F8;
 D_AQ_6024A50 = 0x6024A50;
-D_6024AD0 = 0x6024AD0;
-D_6024B60 = 0x6024B60;
 D_MA_60251A0 = 0x60251A0;
 D_MA_60253E0 = 0x60253E0;
 D_MA_60257B0 = 0x60257B0;
 D_MA_6025850 = 0x6025850;
-D_MA_6025B50 = 0x6025B50;
 D_MA_6025CA0 = 0x6025CA0;
 D_MA_6025DAC = 0x6025DAC;
 D_6025E60 = 0x6025E60;
-D_60263F0 = 0x60263F0;
 D_MA_6026860 = 0x6026860;
 D_MA_60269E0 = 0x60269E0;
 D_MA_6027320 = 0x6027320;
@@ -1770,7 +1678,6 @@ D_AQ_602AC28 = 0x602AC28;
 D_AQ_602AC40 = 0x602AC40;
 D_602AC50 = 0x602AC50;
 D_AQ_602ACC0 = 0x602ACC0;
-D_602B148 = 0x602B148;
 D_AQ_602B4C0 = 0x602B4C0;
 D_602BC58 = 0x602BC58;
 D_AQ_602BD60 = 0x602BD60;
@@ -1790,8 +1697,6 @@ D_MA_602F264 = 0x602F264;
 D_MA_602F2E0 = 0x602F2E0;
 D_MA_602F36C = 0x602F36C;
 D_MA_602F380 = 0x602F380;
-D_ME_602F3AC = 0x602F3AC;
-D_602F638 = 0x602F638;
 D_MA_602FBF0 = 0x602FBF0;
 D_MA_602FEB4 = 0x602FEB4;
 D_MA_602FFA0 = 0x602FFA0;
diff --git a/src/main/fox_360.c b/src/main/fox_360.c
index d4630be9..ec7dd9a6 100644
--- a/src/main/fox_360.c
+++ b/src/main/fox_360.c
@@ -3,6 +3,7 @@
 #include "assets.h"
 #include "assets/ast_star_wolf.h"
 #include "assets/ast_allies.h"
+#include "assets/ast_bolse.h"
 #include "assets/ast_versus.h"
 #include "assets/ast_enmy_planet.h"
 #include "assets/ast_sector_z.h"
@@ -2264,7 +2265,7 @@ void func_80035448(Actor* actor) {
                     gSPDisplayList(gMasterDisp++, D_SZ_6004FE0) Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
                     func_8005B1E8(actor, 2);
                 } else if (gCurrentLevel == LEVEL_BOLSE) {
-                    gSPDisplayList(gMasterDisp++, D_6008770) Matrix_Push(&gGfxMatrix);
+                    gSPDisplayList(gMasterDisp++, D_BO_6008770) Matrix_Push(&gGfxMatrix);
                     Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
                     func_8005B1E8(actor, 2);
                     Matrix_Pop(&gGfxMatrix);
diff --git a/src/main/fox_A4290_colheaders.c b/src/main/fox_A4290_colheaders.c
index e9ba37d8..737662ba 100644
--- a/src/main/fox_A4290_colheaders.c
+++ b/src/main/fox_A4290_colheaders.c
@@ -3,6 +3,8 @@
 #include "variables.h"
 #include "assets.h"
 #include "assets/ast_aquas.h"
+#include "assets/ast_bolse.h"
+#include "assets/ast_meteo.h"
 #include "assets/ast_corneria.h"
 #include "assets/ast_macbeth.h"
 #include "assets/ast_sector_y.h"
@@ -36,22 +38,22 @@ CollisionHeader D_800D2B38[10] = {
         { -1128.0f, -1835.0f, -1202.0f },
         { 997.0f, 139.0f, 1360.0f },
         79,
-        D_602FA9C,
-        D_60300C8,
+        D_ME_602FA9C,
+        D_ME_60300C8,
     },
     {
         { -3006.0f, -2274.0f, -4530.0f },
         { 3015.0f, 3348.0f, 5246.0f },
         236,
-        D_60305DC,
-        D_603184C,
+        D_ME_60305DC,
+        D_ME_603184C,
     },
     {
         { -152.0f, -200.0f, -152.0f },
         { 165.0f, 204.0f, 181.0f },
         42,
-        D_6030208,
-        D_6030550,
+        D_ME_6030208,
+        D_ME_6030550,
     },
     {
         { -1704.0f, -1006.0f, -4751.0f },
@@ -85,8 +87,8 @@ CollisionHeader D_800D2B38[10] = {
         { -1554.0f, -2.0f, -1401.0f },
         { 1554.0f, 590.0f, 1401.0f },
         262,
-        D_6010294,
-        D_601170C,
+        D_BO_6010294,
+        D_BO_601170C,
     },
     {
         { -1386.0f, -696.0f, -2274.0f },
diff --git a/src/main/fox_bg.c b/src/main/fox_bg.c
index 7ba55245..7649cb63 100644
--- a/src/main/fox_bg.c
+++ b/src/main/fox_bg.c
@@ -20,11 +20,13 @@ f32 D_80161394;             // can be static
 #include "assets/ast_bg_planet.h"
 #include "assets/ast_versus.h"
 #include "assets/ast_corneria.h"
+#include "assets/ast_meteo.h"
 #include "assets/ast_training.h"
 #include "assets/ast_sector_x.h"
 #include "assets/ast_sector_y.h"
 #include "assets/ast_sector_z.h"
 #include "assets/ast_aquas.h"
+#include "assets/ast_bolse.h"
 #include "assets/ast_titania.h"
 #include "assets/ast_macbeth.h"
 #include "assets/ast_andross.h"
@@ -554,12 +556,12 @@ void func_8003E1E8(void) {
                                 Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f) - 30.0f, -290.0f, 1);
                                 Matrix_Scale(gGfxMatrix, 0.5f, 0.5f, 1.0f, 1);
                                 Matrix_SetGfxMtx(&gMasterDisp);
-                                gSPDisplayList(gMasterDisp++, D_600DDF0);
+                                gSPDisplayList(gMasterDisp++, D_ME_600DDF0);
                             } else if (D_80177D20 > 185668.0f) {
                                 Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f) - 130.0f, -290.0f, 1);
                                 Matrix_Scale(gGfxMatrix, 0.4f, 0.4f, 1.0f, 1);
                                 Matrix_SetGfxMtx(&gMasterDisp);
-                                gSPDisplayList(gMasterDisp++, D_600DDF0);
+                                gSPDisplayList(gMasterDisp++, D_ME_600DDF0);
                             }
                             break;
                         case LEVEL_SECTOR_X:
@@ -616,7 +618,7 @@ void func_8003E1E8(void) {
                             Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f), -290.0f, 1);
                             Matrix_Scale(gGfxMatrix, sp128, sp128, sp128, 1);
                             Matrix_SetGfxMtx(&gMasterDisp);
-                            gSPDisplayList(gMasterDisp++, D_600D190);
+                            gSPDisplayList(gMasterDisp++, D_BO_600D190);
                             break;
                         case LEVEL_SECTOR_Z:
                             Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f), -290.0f, 1);
@@ -1063,7 +1065,7 @@ void func_80040CE4(void) {
                 } else if (gCurrentLevel == LEVEL_KATINA) {
                     gSPDisplayList(gMasterDisp++, D_6009250);
                 } else if (gCurrentLevel == LEVEL_BOLSE) {
-                    gSPDisplayList(gMasterDisp++, D_600A810);
+                    gSPDisplayList(gMasterDisp++, D_BO_600A810);
                 } else if (gCurrentLevel == LEVEL_VENOM_2) {
                     gSPDisplayList(gMasterDisp++, D_MA_6010700);
                 }
diff --git a/src/main/fox_demo.c b/src/main/fox_demo.c
index a99cfe3b..057e03b6 100644
--- a/src/main/fox_demo.c
+++ b/src/main/fox_demo.c
@@ -11,6 +11,8 @@
 #include "assets/ast_enmy_space.h"
 #include "assets/ast_enmy_planet.h"
 #include "assets/ast_ending.h"
+#include "assets/ast_meteo.h"
+#include "assets/ast_bolse.h"
 #include "assets/ast_sector_x.h"
 #include "assets/ast_sector_y.h"
 #include "assets/ast_sector_z.h"
@@ -25,10 +27,6 @@ extern f32 D_80178468;
 extern f32 D_80178474;
 extern f32 D_80178478;
 
-extern Gfx D_6000D80[];
-extern Gfx D_600BAA0[];
-extern Gfx D_6020810[];
-
 #include "assets/ast_allies.h"
 
 Vec3f D_800C9F60[] = {
@@ -2571,7 +2569,7 @@ void func_8004FEC0(Actor* actor) {
             RCP_SetupDL_40();
             Matrix_Scale(gGfxMatrix, 60.0f, 60.0f, 1.0f, 1);
             Matrix_SetGfxMtx(&gMasterDisp);
-            gSPDisplayList(gMasterDisp++, D_6020810);
+            gSPDisplayList(gMasterDisp++, D_ME_6020810);
             break;
 
         case 11:
@@ -2677,7 +2675,7 @@ void func_8004FEC0(Actor* actor) {
 
             Matrix_SetGfxMtx(&gMasterDisp);
 
-            gSPDisplayList(gMasterDisp++, D_600BAA0);
+            gSPDisplayList(gMasterDisp++, D_BO_600BAA0);
 
             Matrix_Push(&gGfxMatrix);
 
@@ -2724,7 +2722,7 @@ void func_8004FEC0(Actor* actor) {
             Matrix_SetGfxMtx(&gMasterDisp);
 
             gDPSetTextureFilter(gMasterDisp++, 0 << 12);
-            gSPDisplayList(gMasterDisp++, D_6000D80);
+            gSPDisplayList(gMasterDisp++, D_BO_6000D80);
             gDPSetTextureFilter(gMasterDisp++, 2 << 12);
 
             Matrix_Pop(&gGfxMatrix);
@@ -2744,7 +2742,7 @@ void func_8004FEC0(Actor* actor) {
             break;
 
         case 32:
-            gSPDisplayList(gMasterDisp++, D_6008770);
+            gSPDisplayList(gMasterDisp++, D_BO_6008770);
             break;
 
         case 33:
diff --git a/src/main/fox_edata_1C.c b/src/main/fox_edata_1C.c
index 68bbcf3c..133fde2f 100644
--- a/src/main/fox_edata_1C.c
+++ b/src/main/fox_edata_1C.c
@@ -4,6 +4,8 @@
 #include "assets/ast_versus.h"
 #include "assets/ast_arwing.h"
 #include "assets/ast_corneria.h"
+#include "assets/ast_meteo.h"
+#include "assets/ast_bolse.h"
 #include "assets/ast_training.h"
 #include "assets/ast_sector_x.h"
 #include "assets/ast_sector_y.h"
@@ -238,8 +240,8 @@ ObjectInfo D_800CC124[0x190] = {
   /* OBJ_80_149  */  {(void*)     D_6007D80, 0, (ObjectFunc)          NULL,        D_600FFA0,     0.0f,  0, 0, 40, 0,   0.0f,  0 },
   /* OBJ_80_150  */  {(void*)     D_6006310, 0, (ObjectFunc)          NULL,        D_600FFC0,     0.0f,  0, 0, 40, 0,   0.0f,  0 },
   /* OBJ_80_151  */  {(void*) D_TI_60066E0, 0, (ObjectFunc)          NULL,        D_600FEB8,     0.0f,  0, 0, 40, 0,   0.0f,  0 },
-  /* OBJ_80_152  */  {(void*)     D_600F4C0, 0, (ObjectFunc)          NULL,        D_6011C10,     0.0f,  0, 0, 40, 0,   0.0f,  0 },
-  /* OBJ_80_153  */  {(void*)     D_600B8B0, 0, (ObjectFunc)          NULL,        D_6011C48,     0.0f,  0, 0, 40, 0,   0.0f,  0 },
+  /* OBJ_80_152  */  {(void*)     D_BO_600F4C0, 0, (ObjectFunc)          NULL,        D_BO_6011C10,     0.0f,  0, 0, 40, 0,   0.0f,  0 },
+  /* OBJ_80_153  */  {(void*)     D_BO_600B8B0, 0, (ObjectFunc)          NULL,        D_BO_6011C48,     0.0f,  0, 0, 40, 0,   0.0f,  0 },
   /* OBJ_80_154  */  {(void*)     D_600BAF0, 0, (ObjectFunc)          NULL,        D_601115C,     0.0f,  0, 0, 40, 0,   0.0f,  0 },
   /* OBJ_80_155  */  {(void*)          NULL, 0, (ObjectFunc)          NULL,       D_800CBF34,     0.0f,  0, 0, 40, 0,   0.0f,  0 },
   /* OBJ_80_156  */  {(void*) func_i6_80197CB8, 1, (ObjectFunc)          NULL,        D_SY_6034368,     0.0f,  0, 0, 40, 0,   0.0f,  0 },
@@ -267,13 +269,13 @@ ObjectInfo D_800CC124[0x190] = {
   /* OBJ_ACTOR_178 */  {(void*) func_i1_8018BBF8, 2, (ObjectFunc) func_i1_8018B418,        D_CO_603E5D0,   500.0f,  0, 0, 39, 1, 200.0f,  1 },
   /* OBJ_ACTOR_179 */  {(void*) func_i1_8018BD7C, 2, (ObjectFunc) func_i1_8018B58C,        D_CO_603E604,   500.0f,  0, 0, 39, 1,   0.0f,  1 },
   /* OBJ_ACTOR_180 */  {(void*) func_8005B6A4, 1, (ObjectFunc) func_80066A80,       D_800CBF34,  1000.0f,  0, 0, 39, 0,   0.0f,  1 },
-  /* OBJ_ACTOR_181 */  {(void*)     D_6018C00, 0, (ObjectFunc) func_i2_8018756C,        D_602F6EC,   200.0f,  0, 0, 39, 0,   1.0f,  1 },
-  /* OBJ_ACTOR_182 */  {(void*) func_8005B71C, 1, (ObjectFunc) func_i2_80187650,        D_602F708,   100.0f,  0, 1, 39, 0,   1.0f,  1 },
+  /* OBJ_ACTOR_181 */  {(void*)     D_ME_6018C00, 0, (ObjectFunc) func_i2_8018756C,        D_ME_602F6EC,   200.0f,  0, 0, 39, 0,   1.0f,  1 },
+  /* OBJ_ACTOR_182 */  {(void*) func_8005B71C, 1, (ObjectFunc) func_i2_80187650,        D_ME_602F708,   100.0f,  0, 1, 39, 0,   1.0f,  1 },
   /* OBJ_ACTOR_183 */  {(void*) func_i2_8018DA6C, 1, (ObjectFunc) func_i2_8018D9EC,       D_800CBF34,   100.0f,  0, 1, 39, 0,   0.0f,  1 },
   /* OBJ_ACTOR_184 */  {(void*) func_i2_8018DAEC, 1, (ObjectFunc) func_i2_8018D9EC,       D_800CBF34,   100.0f,  0, 1, 39, 0,   0.0f,  1 },
   /* OBJ_ACTOR_185 */  {(void*) func_i2_8018DB6C, 1, (ObjectFunc) func_i2_8018D9EC,       D_800CBF34,   100.0f,  0, 1, 39, 0,   0.0f,  1 },
-  /* OBJ_ACTOR_186 */  {(void*) func_8005B7CC, 1, (ObjectFunc) func_i2_8018795C,        D_602F724,   200.0f,  0, 1, 39, 0,   1.0f,  1 },
-  /* OBJ_ACTOR_187 */  {(void*)     D_6018450, 0, (ObjectFunc) func_i2_801877C4,        D_602F740,   200.0f,  0, 1, 39, 0,   1.0f,  1 },
+  /* OBJ_ACTOR_186 */  {(void*) func_8005B7CC, 1, (ObjectFunc) func_i2_8018795C,        D_ME_602F724,   200.0f,  0, 1, 39, 0,   1.0f,  1 },
+  /* OBJ_ACTOR_187 */  {(void*)     D_ME_6018450, 0, (ObjectFunc) func_i2_801877C4,        D_ME_602F740,   200.0f,  0, 1, 39, 0,   1.0f,  1 },
   /* OBJ_ACTOR_188 */  {(void*) func_i3_801BEC74, 1, (ObjectFunc) func_i3_801BEC68,        D_AQ_6030BE0,   200.0f,  0, 1, 39, 0,   1.0f,  1 },
   /* OBJ_ACTOR_189 */  {(void*) func_8005A094, 1, (ObjectFunc) func_8006C008,       D_800CBF34,     0.0f,  0, 0, 39, 0,   0.0f,  0 },
   /* OBJ_ACTOR_190 */  {(void*) func_8005B848, 1, (ObjectFunc) func_800656D4,       D_800CBFE4,   100.0f,  0, 1, 39, 0,   1.0f,  0 },
@@ -287,8 +289,8 @@ ObjectInfo D_800CC124[0x190] = {
   /* OBJ_ACTOR_198 */  {(void*) func_80035448, 1, (ObjectFunc) func_80092EC0,       D_800CC01C, 20000.0f,  0, 0, 39, 1,   0.0f,  0 },
   /* OBJ_ACTOR_199 */  {(void*) func_i6_80188448, 1, (ObjectFunc) func_i6_801880E4,       D_800CBF34, 20000.0f,  0, 0, 39, 1,   0.0f,  0 },
   /* OBJ_ACTOR_200 */  {(void*) func_80074FF0, 1, (ObjectFunc) func_80072594,       D_800CBF34,  2000.0f,  0, 1, 39, 0,   0.0f,  1 },
-  /* OBJ_ACTOR_201 */  {(void*) func_800598E8, 1, (ObjectFunc) func_8006AC08,        D_602F684,   100.0f,  0, 1, 39, 0,   1.0f,  1 },
-  /* OBJ_ACTOR_202 */  {(void*) func_80059A24, 1, (ObjectFunc) func_8006AD18,        D_602F6A0,   100.0f,  0, 1, 39, 0, 180.0f,  1 },
+  /* OBJ_ACTOR_201 */  {(void*) func_800598E8, 1, (ObjectFunc) func_8006AC08,        D_ME_602F684,   100.0f,  0, 1, 39, 0,   1.0f,  1 },
+  /* OBJ_ACTOR_202 */  {(void*) func_80059A24, 1, (ObjectFunc) func_8006AD18,        D_ME_602F6A0,   100.0f,  0, 1, 39, 0, 180.0f,  1 },
   /* OBJ_ACTOR_203 */  {(void*) func_i2_8018F884, 1, (ObjectFunc) func_i2_8018F330,       D_800CBF34,  1000.0f,  0, 0, 39, 0,   0.0f,  0 },
   /* OBJ_ACTOR_204 */  {(void*) func_i6_801A4CB0, 1, (ObjectFunc) func_i6_801A3BD4,        D_SY_603405C,  1000.0f,  0, 0, 39, 0,   1.0f,  1 },
   /* OBJ_ACTOR_205 */  {(void*) func_i5_801A12C4, 1, (ObjectFunc) func_i5_8019C778,        D_MA_60359C8, 20000.0f,  0, 0, 40, 1,   0.0f,  0 },
@@ -357,8 +359,8 @@ ObjectInfo D_800CC124[0x190] = {
   /* OBJ_ACTOR_268 */  {(void*) func_i3_801BDE6C, 1, (ObjectFunc) func_i3_801BD54C,        D_AQ_6031570, 10000.0f,  0, 0,  0, 0,   0.0f,  0 },
   /* OBJ_ACTOR_269 */  {(void*) func_i3_801BD264, 1, (ObjectFunc) func_i3_801BC9A0,        D_AQ_6030D20,  2000.0f,  0, 0, 40, 0,   0.0f,  0 },
   /* OBJ_ACTOR_270 */  {(void*) func_i3_801BEB1C, 1, (ObjectFunc) func_i3_801BE3F8,        D_AQ_60314C8,  1000.0f,  0, 0, 40, 0,   0.0f,  0 },
-  /* OBJ_ACTOR_271 */  {(void*) func_8002E694, 2, (ObjectFunc) func_8002E670,        D_6011B24,     0.0f,  0, 0, 39, 0, 730.0f,  1 },
-  /* OBJ_ACTOR_272 */  {(void*) func_8002E6DC, 1, (ObjectFunc) func_8002E6B8,        D_6011BF4,     0.0f,  0, 0, 39, 0, 150.0f,  1 },
+  /* OBJ_ACTOR_271 */  {(void*) func_8002E694, 2, (ObjectFunc) func_8002E670,        D_BO_6011B24,     0.0f,  0, 0, 39, 0, 730.0f,  1 },
+  /* OBJ_ACTOR_272 */  {(void*) func_8002E6DC, 1, (ObjectFunc) func_8002E6B8,        D_BO_6011BF4,     0.0f,  0, 0, 39, 0, 150.0f,  1 },
   /* OBJ_ACTOR_273 */  {(void*) func_i4_80188FE4, 2, (ObjectFunc) func_i4_80188AD0,        D_600FF30_Hitbox,     0.0f,  0, 0, 39, 0, 220.0f,  1 },
   /* OBJ_ACTOR_274 */  {(void*) func_i4_8019E3A8, 1, (ObjectFunc) func_i4_8019E234,       D_800CBEC4,     0.0f,  0, 0, 39, 0,   1.0f,  0 },
   /* OBJ_ACTOR_275 */  {(void*) func_i3_8019F7AC, 1, (ObjectFunc) func_i3_8019F20C,       D_800CBE8C,   200.0f,  0, 0, 39, 0,   1.0f,  1 },
@@ -383,8 +385,8 @@ ObjectInfo D_800CC124[0x190] = {
   /* OBJ_BOSS_294 */  {(void*) func_i1_8018ED78, 1, (ObjectFunc) func_i1_8018DDAC,        D_CO_603E714, 20000.0f,  0, 0, 40, 0,   0.0f, 10 },
   /* OBJ_BOSS_295 */  {(void*) func_i1_8018EE84, 1, (ObjectFunc) func_i1_8018E290,        D_CO_603E748, 20000.0f,  0, 0, 40, 0,   0.0f, 10 },
   /* OBJ_BOSS_296 */  {(void*) func_i1_8018EF90, 1, (ObjectFunc) func_i1_8018E76C,        D_CO_603E7C4, 20000.0f,  0, 0, 40, 0,   0.0f, 10 },
-  /* OBJ_BOSS_297 */  {(void*) func_i2_8018BACC, 1, (ObjectFunc) func_i2_8018978C,        D_602F75C, 20000.0f,  0, 0, 40, 0,   0.0f, 10 },
-  /* OBJ_BOSS_298 */  {(void*) func_i2_801887D0, 1, (ObjectFunc) func_i2_80188344,        D_602FA50, 20000.0f,  0, 0, 40, 0,   0.0f, 10 },
+  /* OBJ_BOSS_297 */  {(void*) func_i2_8018BACC, 1, (ObjectFunc) func_i2_8018978C,        D_ME_602F75C, 20000.0f,  0, 0, 40, 0,   0.0f, 10 },
+  /* OBJ_BOSS_298 */  {(void*) func_i2_801887D0, 1, (ObjectFunc) func_i2_80188344,        D_ME_602FA50, 20000.0f,  0, 0, 40, 0,   0.0f, 10 },
   /* OBJ_BOSS_299 */  {(void*) func_80042FC4, 2, (ObjectFunc) func_80042FB8,       D_800CBF34, 20000.0f,  0, 0, 40, 0,   0.0f, 10 },
   /* OBJ_BOSS_300 */  {(void*) func_80042FE8, 1, (ObjectFunc) func_80042FDC,       D_800CBF34, 20000.0f,  0, 0, 40, 0,   0.0f, 10 },
   /* OBJ_BOSS_301 */  {(void*) func_i3_801BEC5C, 1, (ObjectFunc) func_i3_801BEC50,        D_AQ_6030B10,     0.0f,  0, 0, 40, 0,   0.0f, 10 },
@@ -397,7 +399,7 @@ ObjectInfo D_800CC124[0x190] = {
   /* OBJ_BOSS_308 */  {(void*) func_8008FE78, 1, (ObjectFunc) func_800907C4,        D_600FFE0,     0.0f,  0, 0, 40, 1,   0.0f, 10 },
   /* OBJ_BOSS_309 */  {(void*) func_8002E604, 1, (ObjectFunc) func_8002E5E0,       D_800CBF34,     0.0f,  0, 0, 40, 1,   0.0f, 10 },
   /* OBJ_BOSS_310 */  {(void*) func_8002E64C, 1, (ObjectFunc) func_8002E628,       D_800CBF34,     0.0f,  0, 0, 40, 1,   0.0f, 10 },
-  /* OBJ_BOSS_311 */  {(void*) func_i4_80191AFC, 2, (ObjectFunc) func_i4_801912FC,        D_6011C80,     0.0f,  0, 0, 40, 1,   0.0f, 10 },
+  /* OBJ_BOSS_311 */  {(void*) func_i4_80191AFC, 2, (ObjectFunc) func_i4_801912FC,        D_BO_6011C80,     0.0f,  0, 0, 40, 1,   0.0f, 10 },
   /* OBJ_BOSS_312 */  {(void*) func_i6_80196288, 2, (ObjectFunc) func_i6_80196210,        D_60166F4,     0.0f,  0, 0, 40, 1,   0.0f, 10 },
   /* OBJ_BOSS_313 */  {(void*) func_i4_8019E98C, 1, (ObjectFunc) func_i4_8019E454,        D_SZ_6009388,     0.0f,  0, 0, 40, 0,   0.0f, 10 },
   /* OBJ_BOSS_314 */  {(void*) func_i6_8019E2C4, 2, (ObjectFunc) func_i6_8019C888,       D_800CBF34,     0.0f,  0, 0, 40, 0,   0.0f, 10 },
diff --git a/src/main/fox_edisplay.c b/src/main/fox_edisplay.c
index 8f7bc44c..a7d656a9 100644
--- a/src/main/fox_edisplay.c
+++ b/src/main/fox_edisplay.c
@@ -10,6 +10,7 @@ WingInfo D_80161630;
 
 #include "fox_edisplay_assets.h"
 #include "assets/ast_corneria.h"
+#include "assets/ast_meteo.h"
 #include "assets/ast_sector_x.h"
 #include "assets/ast_aquas.h"
 #include "assets/ast_macbeth.h"
@@ -89,12 +90,12 @@ void func_80059A24(Actor* actor) {
 
     Matrix_Translate(gGfxMatrix, 0.f, -temp, 0.0f, 1);
     Matrix_SetGfxMtx(&gMasterDisp);
-    Animation_GetFrameData(&D_601E8C4, actor->unk_0B6, sp30);
-    Animation_DrawSkeleton(1, D_601E9D0, sp30, NULL, func_800599A4, &actor->index, &gIdentityMatrix);
+    Animation_GetFrameData(&D_ME_601E8C4, actor->unk_0B6, sp30);
+    Animation_DrawSkeleton(1, D_ME_601E9D0, sp30, NULL, func_800599A4, &actor->index, &gIdentityMatrix);
 }
 
 void func_80059AEC(Object_80* obj80) {
-    gSPDisplayList(gMasterDisp++, D_601AE40);
+    gSPDisplayList(gMasterDisp++, D_ME_601AE40);
 }
 
 void func_80059B20(Object_80* obj80) {
@@ -551,19 +552,19 @@ void func_8005B388(Actor* actor) {
 void func_8005B6A4(Actor* actor) {
     Matrix_Scale(gGfxMatrix, 1.0f, 1.0f, 1.0f, 1);
     Matrix_SetGfxMtx(&gMasterDisp);
-    gSPDisplayList(gMasterDisp++, D_6024B60);
+    gSPDisplayList(gMasterDisp++, D_ME_6024B60);
 }
 
 void func_8005B71C(Actor* actor) {
     RCP_SetupDL_29(actor->unk_046, gFogGreen, gFogBlue, gFogAlpha, actor->unk_048, gFogFar);
     Matrix_Scale(gGfxMatrix, 0.5f, 0.5f, 0.5f, 1);
     Matrix_SetGfxMtx(&gMasterDisp);
-    gSPDisplayList(gMasterDisp++, D_6018C00);
+    gSPDisplayList(gMasterDisp++, D_ME_6018C00);
 }
 
 void func_8005B7CC(Actor* actor) {
     RCP_SetupDL_29(actor->unk_046, gFogGreen, gFogBlue, gFogAlpha, actor->unk_048, gFogFar);
-    gSPDisplayList(gMasterDisp++, D_6022920);
+    gSPDisplayList(gMasterDisp++, D_ME_6022920);
 }
 
 void func_8005B848(Actor* actor) {
diff --git a/src/main/fox_effect.c b/src/main/fox_effect.c
index 766225da..757f1187 100644
--- a/src/main/fox_effect.c
+++ b/src/main/fox_effect.c
@@ -15,6 +15,7 @@ extern Gfx D_601BAD0[];
 #include "assets/ast_bg_space.h"
 #include "assets/ast_bg_planet.h"
 #include "assets/ast_corneria.h"
+#include "assets/ast_meteo.h"
 #include "assets/ast_training.h"
 #include "assets/ast_sector_x.h"
 #include "assets/ast_sector_y.h"
@@ -433,7 +434,7 @@ void func_800788B0(Effect* effect) {
         case LEVEL_METEO:
             Graphics_SetScaleMtx(effect->scale2);
             gDPSetPrimColor(gMasterDisp++, 0, 0, 128, 128, 128, 255);
-            gSPDisplayList(gMasterDisp++, D_601FF80);
+            gSPDisplayList(gMasterDisp++, D_ME_601FF80);
             break;
 
         case LEVEL_AQUAS:
@@ -486,7 +487,7 @@ void func_80078BE0(Effect* effect) {
 void func_80078C84(Effect* effect) {
     Graphics_SetScaleMtx(effect->scale2);
     gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 192);
-    gSPDisplayList(gMasterDisp++, D_TI_6000A80);
+    gSPDisplayList(gMasterDisp++, D_ME_6000A80);
 }
 
 void func_80078CE8(Effect* effect) {
diff --git a/src/main/fox_enmy.c b/src/main/fox_enmy.c
index f9deaaf2..83b0d176 100644
--- a/src/main/fox_enmy.c
+++ b/src/main/fox_enmy.c
@@ -6,6 +6,8 @@
 #include "assets/ast_sector_y.h"
 #include "assets/ast_sector_z.h"
 #include "assets/ast_aquas.h"
+#include "assets/ast_bolse.h"
+#include "assets/ast_meteo.h"
 #include "assets/ast_macbeth.h"
 #include "assets/ast_titania.h"
 #include "assets/ast_andross.h"
@@ -523,7 +525,7 @@ void func_80062664(void) {
     s32 j;
 
     if ((gCurrentLevel == LEVEL_METEO) && (D_8017827C == 1)) {
-        D_80178310 = SEGMENTED_TO_VIRTUAL(D_602B148);
+        D_80178310 = SEGMENTED_TO_VIRTUAL(D_ME_602B148);
     } else if ((gCurrentLevel == LEVEL_SECTOR_X) && (D_8017827C == 1)) {
         D_80178310 = SEGMENTED_TO_VIRTUAL(D_SX_602F18C);
     } else if ((gCurrentLevel == LEVEL_VENOM_ANDROSS) && (D_8017827C == 1)) {
diff --git a/src/main/fox_enmy2.c b/src/main/fox_enmy2.c
index 7b8156e1..c7c536af 100644
--- a/src/main/fox_enmy2.c
+++ b/src/main/fox_enmy2.c
@@ -9,6 +9,7 @@ s32 D_80161690;
 #include "assets/ast_arwing.h"
 #include "assets/ast_training.h"
 #include "assets/ast_corneria.h"
+#include "assets/ast_meteo.h"
 #include "assets/ast_warp_zone.h"
 #include "assets/ast_allies.h"
 #include "assets/ast_sector_x.h"
@@ -881,8 +882,8 @@ UnkStruct_D003C D_800D003C[108] = {
     { D_ENMY_SPACE_400BD20, D_800CBEC4, 2.0f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 },
     { D_ENMY_SPACE_4001310, D_800CBE8C, 1.5f, 100.0f, 3000.0f, 1, 0, 6, 0, 1.0f, 1 },
     { D_ENMY_SPACE_400B390, D_800CBE8C, 2.0f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 },
-    { D_6018C00, D_800CBE8C, 2.5f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 },
-    { D_601F2A0, D_800CBEFC, 7.0f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 },
+    { D_ME_6018C00, D_800CBE8C, 2.5f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 },
+    { D_ME_601F2A0, D_800CBEFC, 7.0f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 },
     { D_ENMY_SPACE_400AAE0, D_800CBE8C, 1.5f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 },
     { D_ENMY_SPACE_4000650, D_800CBE8C, 1.5f, 100.0f, 3000.0f, 1, 0, 6, 0, 1.0f, 1 },
     { D_A6_6016190, D_A6_60282A0, -2.0f, 2100.0f, 3000.0f, 0, 0, 7, 0, 0.0f, 5 },
@@ -913,9 +914,9 @@ UnkStruct_D003C D_800D003C[108] = {
     { D_SY_601D730, D_SY_603450C, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
     { NULL, D_800CBE8C, 1.0f, 20000.0f, 3000.0f, 1, 0, 2, 0, 0.0f, 0 },
     { D_SY_60102C0, D_SY_6034588, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
-    { D_6017B60, D_800CBEC4, -1.0f, 300.0f, 3001.0f, 0, 0, 0, 0, 1.0f, 1 },
+    { D_ME_6017B60, D_800CBEC4, -1.0f, 300.0f, 3001.0f, 0, 0, 0, 0, 1.0f, 1 },
     { D_6004D00, D_800CBEC4, 1.0f, 100.0f, 3000.0f, 1, 0, 4, 0, 1.0f, 1 },
-    { D_601A880, D_800CBE8C, -1.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 },
+    { D_ME_601A880, D_800CBE8C, -1.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 },
     { NULL, D_SY_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 },
     { NULL, D_SY_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 },
     { NULL, D_SY_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 },
@@ -929,13 +930,13 @@ UnkStruct_D003C D_800D003C[108] = {
     { D_SY_601F3D0, D_800CBF34, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
     { D_SY_6022B10, D_800CBF34, 2.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 0.0f, 1 },
     { D_SY_60209F0, D_800CBF34, 2.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 0.0f, 1 },
-    { D_6019430, D_800CBEC4, 2.5f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 },
-    { D_6018960, D_800CBE8C, 2.5f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 },
-    { D_6009F50, D_800CBF34, -1.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 },
+    { D_ME_6019430, D_800CBEC4, 2.5f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 },
+    { D_ME_6018960, D_800CBE8C, 2.5f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 },
+    { D_ME_6009F50, D_800CBF34, -1.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 },
     { NULL, D_800CBEC4, 3.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 },
-    { D_600C2A0, D_800CBEC4, -1.0f, 100.0f, 8000.0f, 1, 0, 0, 0, 0.0f, 1 },
-    { D_600BD40, D_800CBE8C, -1.0f, 100.0f, 8000.0f, 1, 0, 0, 0, 0.0f, 1 },
-    { NULL, D_602F604, 3.0f, 100.0f, 3000.0f, 2, 0, 1, 0, 1.0f, 1 },
+    { D_ME_600C2A0, D_800CBEC4, -1.0f, 100.0f, 8000.0f, 1, 0, 0, 0, 0.0f, 1 },
+    { D_ME_600BD40, D_800CBE8C, -1.0f, 100.0f, 8000.0f, 1, 0, 0, 0, 0.0f, 1 },
+    { NULL, D_ME_602F604, 3.0f, 100.0f, 3000.0f, 2, 0, 1, 0, 1.0f, 1 },
     { D_SY_60205D0, D_SY_603445C, 3.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 },
     { D_SY_60036A0, D_SY_6034664, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
     { D_SY_601AD70, D_800CBF34, 4.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 0.0f, 1 },
@@ -965,7 +966,7 @@ UnkStruct_D003C D_800D003C[108] = {
     { D_WZ_7000E80, D_800CC054, 2.5f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 },
     { D_WZ_70008F0, D_800CBE8C, -1.0f, 100.0f, 8000.0f, 1, 0, 0, 0, 0.0f, 0 },
     { D_WZ_7000280, D_800CC070, -1.0f, 1000.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 0 },
-    { D_600AC70, D_800CBE8C, -1.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 },
+    { D_ME_600AC70, D_800CBE8C, -1.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 },
     { D_MA_601A2B0, D_MA_60364C0, 1.0f, 100.0f, 3000.0f, 1, 1, 0, 0, 0.0f, 1 },
     { D_6002500, D_601B944, -1.0f, 100.0f, 3000.0f, 0, 0, 0, 0, 0.0f, 1 },
     { D_60043F0, D_800CBF34, -1.0f, 100.0f, 3000.0f, 0, 0, 0, 0, 0.0f, 1 },
@@ -3218,7 +3219,7 @@ void func_80072594(Actor* actor) {
                 }
 
                 if (var_s0 == 3) {
-                    actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_602F638);
+                    actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_ME_602F638);
                     func_8006D36C(actor);
                 }
                 break;
@@ -3994,19 +3995,19 @@ void func_80074FF0(Actor* actor) {
                     Matrix_Push(&gGfxMatrix);
                     Matrix_Translate(gGfxMatrix, 0.0f, actor->fwork[15], 0.0f, 1);
                     Matrix_SetGfxMtx(&gMasterDisp);
-                    gSPDisplayList(gMasterDisp++, D_600CAA0);
+                    gSPDisplayList(gMasterDisp++, D_ME_600CAA0);
                     Matrix_Pop(&gGfxMatrix);
-                    gSPDisplayList(gMasterDisp++, D_600C130);
+                    gSPDisplayList(gMasterDisp++, D_ME_600C130);
                     Matrix_Translate(gGfxMatrix, 0.0f, -actor->fwork[15], 0.0f, 1);
                     Matrix_SetGfxMtx(&gMasterDisp);
-                    gSPDisplayList(gMasterDisp++, D_600C740);
+                    gSPDisplayList(gMasterDisp++, D_ME_600C740);
                     Matrix_Pop(&gGfxMatrix);
                     break;
 
                 case 67:
-                    gSPDisplayList(gMasterDisp++, D_6008AA0);
+                    gSPDisplayList(gMasterDisp++, D_ME_6008AA0);
                     RCP_SetupDL(&gMasterDisp, 0x35);
-                    gSPDisplayList(gMasterDisp++, D_6009E30);
+                    gSPDisplayList(gMasterDisp++, D_ME_6009E30);
                     break;
 
                 case 78:
diff --git a/src/main/fox_hud.c b/src/main/fox_hud.c
index 60951980..b3c6d3fb 100644
--- a/src/main/fox_hud.c
+++ b/src/main/fox_hud.c
@@ -85,6 +85,7 @@ s32 D_80161900[20];
 #include "assets/ast_aquas.h"
 #include "assets/ast_macbeth.h"
 #include "assets/ast_titania.h"
+#include "assets/ast_bolse.h"
 #include "assets/ast_sector_x.h"
 #include "assets/ast_sector_y.h"
 #include "assets/ast_sector_z.h"
@@ -104,7 +105,6 @@ extern u8 D_ZO_6000000[];
 extern u8 D_BO_6000000[];
 extern u8 D_VE1_6000D80[];
 extern u8 D_VE2_60012D0[];
-extern u8 D_6000C80[];
 extern u8 D_6001260[];
 extern u8 D_6002890[];
 extern Gfx D_6003090[];
@@ -2115,7 +2115,7 @@ s32 func_8008A4DC(void) {
                 break;
 
             case LEVEL_BOLSE:
-                TextureRect_8bIA(&gMasterDisp, D_6000C80, 16, 16, 251.0f + D_800D1E10, 178.0f, 1.00f, 1.00f);
+                TextureRect_8bIA(&gMasterDisp, D_BO_6000C80, 16, 16, 251.0f + D_800D1E10, 178.0f, 1.00f, 1.00f);
                 break;
 
             case LEVEL_SECTOR_Y:
diff --git a/src/main/fox_play.c b/src/main/fox_play.c
index ac97ae1f..fe7fb4c1 100644
--- a/src/main/fox_play.c
+++ b/src/main/fox_play.c
@@ -8,6 +8,8 @@
 #include "assets/ast_sector_y.h"
 #include "assets/ast_sector_z.h"
 #include "assets/ast_aquas.h"
+#include "assets/ast_bolse.h"
+#include "assets/ast_meteo.h"
 #include "assets/ast_macbeth.h"
 #include "assets/ast_titania.h"
 #include "assets/ast_andross.h"
diff --git a/src/main/fox_radio.c b/src/main/fox_radio.c
index 63c9112f..974af2ec 100644
--- a/src/main/fox_radio.c
+++ b/src/main/fox_radio.c
@@ -15,6 +15,7 @@ s32 D_80178748;
 
 #include "assets/ast_allies.h"
 #include "assets/ast_corneria.h"
+#include "assets/ast_meteo.h"
 #include "assets/ast_training.h"
 #include "assets/ast_sector_x.h"
 #include "assets/ast_sector_y.h"
@@ -272,10 +273,10 @@ void func_800BAAE8(void) {
             sp44 = D_CO_6025500;
             break;
         case RCID_BOSS_METEO:
-            sp44 = D_601C8E0;
+            sp44 = D_ME_601C8E0;
             break;
         case RCID_BOSS_METEO_OPEN:
-            sp44 = D_601D800;
+            sp44 = D_ME_601D800;
             break;
         case RCID_BOSS_AREA6:
             sp44 = D_A6_60047E0;
diff --git a/src/overlays/ovl_i2/fox_me.c b/src/overlays/ovl_i2/fox_me.c
index 9861acff..64c8a13d 100644
--- a/src/overlays/ovl_i2/fox_me.c
+++ b/src/overlays/ovl_i2/fox_me.c
@@ -1,17 +1,10 @@
 #include "global.h"
 #include "assets.h"
+#include "assets/ast_meteo.h"
 
 extern s32 D_800C9E90[];
 
-extern Gfx D_6001310[];
-extern Gfx D_600CD60[];
-extern Gfx D_6016240[];
-extern Gfx D_6017AD0[];
-extern Gfx D_60236F0[];
-extern Gfx D_6023810[];
 extern Gfx D_6024AD0[];
-extern Gfx D_60240B0[];
-extern Gfx D_60263F0[];
 
 Vec3f D_i2_80195430[] = {
     { 122.0, -5.0, -1200.0 },   { 122.0, -103.0, -727.0 }, { 142.0, -323.0, -848.0 }, { 362.0, -59.0, -435.0 },
@@ -481,7 +474,7 @@ void func_i2_801887D0(Boss* boss) {
 
     Matrix_RotateZ(gGfxMatrix, (M_PI / 4), 1);
     Matrix_SetGfxMtx(&gMasterDisp);
-    gSPDisplayList(gMasterDisp++, D_60240B0);
+    gSPDisplayList(gMasterDisp++, D_ME_60240B0);
     RCP_SetupDL_64();
 
     for (i = 1; i < 4; i++) {
@@ -499,7 +492,7 @@ void func_i2_801887D0(Boss* boss) {
 
             Matrix_RotateZ(gGfxMatrix, 1.5707964f, 1); // (M_PI / 2) does not match
             Matrix_SetGfxMtx(&gMasterDisp);
-            gSPDisplayList(gMasterDisp++, D_60263F0);
+            gSPDisplayList(gMasterDisp++, D_ME_60263F0);
             Matrix_Pop(&gGfxMatrix);
         }
     }
@@ -1552,7 +1545,7 @@ void func_i2_8018BACC(Boss* boss) {
     f32 var_fs1;
     s32 pad;
 
-    gSPDisplayList(gMasterDisp++, D_6001310);
+    gSPDisplayList(gMasterDisp++, D_ME_6001310);
     RCP_SetupDL_64();
     gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
 
@@ -1636,9 +1629,9 @@ void func_i2_8018BACC(Boss* boss) {
             Matrix_SetGfxMtx(&gMasterDisp);
 
             if (i < 4) {
-                gSPDisplayList(gMasterDisp++, D_6024AD0);
+                gSPDisplayList(gMasterDisp++, D_ME_6024AD0);
             } else {
-                gSPDisplayList(gMasterDisp++, D_60236F0);
+                gSPDisplayList(gMasterDisp++, D_ME_60236F0);
             }
             Matrix_Pop(&gGfxMatrix);
         }
@@ -1737,7 +1730,7 @@ void func_i2_8018BACC(Boss* boss) {
                 }
 
                 Matrix_SetGfxMtx(&gMasterDisp);
-                gSPDisplayList(gMasterDisp++, D_6023810);
+                gSPDisplayList(gMasterDisp++, D_ME_6023810);
                 Matrix_Pop(&gGfxMatrix);
                 Matrix_Push(&gGfxMatrix);
                 Matrix_Translate(gGfxMatrix, -700.0f, 0.0f, -(1235.0f - ((var_fs0 - 1.0f) * 89.2f)), 1);
@@ -1749,7 +1742,7 @@ void func_i2_8018BACC(Boss* boss) {
                 }
 
                 Matrix_SetGfxMtx(&gMasterDisp);
-                gSPDisplayList(gMasterDisp++, D_6023810);
+                gSPDisplayList(gMasterDisp++, D_ME_6023810);
                 Matrix_Pop(&gGfxMatrix);
             }
         }
@@ -2129,17 +2122,17 @@ void func_i2_8018D9EC(Actor* actor) {
 
 void func_i2_8018DA6C(Actor* actor) {
     RCP_SetupDL_60(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
-    gSPDisplayList(gMasterDisp++, D_6017AD0);
+    gSPDisplayList(gMasterDisp++, D_ME_6017AD0);
 }
 
 void func_i2_8018DAEC(Actor* actor) {
     RCP_SetupDL_60(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
-    gSPDisplayList(gMasterDisp++, D_6016240);
+    gSPDisplayList(gMasterDisp++, D_ME_6016240);
 }
 
 void func_i2_8018DB6C(Actor* actor) {
     RCP_SetupDL_60(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
-    gSPDisplayList(gMasterDisp++, D_600CD60);
+    gSPDisplayList(gMasterDisp++, D_ME_600CD60);
 }
 
 void func_i2_8018DBEC(Effect* effect) {
@@ -2149,7 +2142,7 @@ void func_i2_8018DBEC(Effect* effect) {
         Matrix_RotateZ(gGfxMatrix, M_PI / 2, 1);
         Matrix_SetGfxMtx(&gMasterDisp);
         gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, effect->unk_44);
-        gSPDisplayList(gMasterDisp++, D_60263F0);
+        gSPDisplayList(gMasterDisp++, D_ME_60263F0);
     }
 }
 
@@ -2177,7 +2170,7 @@ void func_i2_8018DE14(Effect* effect) {
 
     switch (effect->unk_4C) {
         case 0:
-            gSPDisplayList(gMasterDisp++, D_6023810);
+            gSPDisplayList(gMasterDisp++, D_ME_6023810);
         case 1:
             break;
     }
diff --git a/src/overlays/ovl_i4/fox_bo.c b/src/overlays/ovl_i4/fox_bo.c
index 80c9c162..fff0b2ba 100644
--- a/src/overlays/ovl_i4/fox_bo.c
+++ b/src/overlays/ovl_i4/fox_bo.c
@@ -2,6 +2,7 @@
 // #include "prevent_bss_reordering2.h"
 #include "global.h"
 #include "assets.h"
+#include "assets/ast_bolse.h"
 
 typedef struct UnkStruct_D_i4_801A03E0 {
     f32 unk_00;
@@ -25,25 +26,6 @@ extern s16 D_800C9C34; // fox_bg
 extern s32 D_80177C3C[];
 extern s32 D_801778F4[];
 
-extern Animation D_6001C64;
-extern Limb* D_6001FB0[];
-extern Gfx D_6002020[];
-extern Gfx D_6006910[];
-extern u8 D_6008BB8[];
-extern Gfx D_6009BC0[];
-extern u8 D_600AD80[];
-extern Gfx D_600BEC0[];
-extern Gfx D_600BF30[];
-extern Vtx D_600C0B8[];
-extern Gfx D_600C4E0[];
-extern u8 D_600CF88[];
-extern Animation D_600F2E0;
-extern Animation D_600F3D8;
-extern Limb* D_600F36C;
-extern Limb* D_600F4A4;
-extern u8 D_6011BA4[];
-extern Vtx D_6011E28[];
-
 f32 D_i4_8019EEC0 = 0.0f;
 
 void func_8002FC00(Actor*);
@@ -626,8 +608,8 @@ s32 func_i4_8018D414(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* t
 
 void func_i4_8018D454(Actor* actor) {
     Matrix_Scale(gGfxMatrix, 2.0f, 2.0f, 2.0f, 1);
-    Animation_GetFrameData(&D_600F2E0, 0, actor->vwork);
-    Animation_DrawSkeleton(1, &D_600F36C, actor->vwork, func_i4_8018D414, NULL, actor, &gIdentityMatrix);
+    Animation_GetFrameData(&D_BO_600F2E0, 0, actor->vwork);
+    Animation_DrawSkeleton(1, D_BO_600F36C, actor->vwork, func_i4_8018D414, NULL, actor, &gIdentityMatrix);
     actor->iwork[0] = 1;
 }
 
@@ -688,7 +670,7 @@ bool func_i4_8018D584(Actor* actor) {
         }
 
         func_8007B344(actor->obj.pos.x, actor->obj.pos.y + 730.0f, actor->obj.pos.z, 10.0f, 5);
-        actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_6011BA4);
+        actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_BO_6011BA4);
         Audio_KillSfxBySourceAndId(actor->sfxSource, 0x11000028U);
         AUDIO_PLAY_SFX(0x2903B009U, actor->sfxSource, 0U);
     } else {
@@ -732,8 +714,8 @@ s32 func_i4_8018D874(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* t
 }
 
 void func_i4_8018D960(Actor* actor) {
-    Animation_GetFrameData(&D_600F3D8, 0, actor->vwork);
-    Animation_DrawSkeleton(3, &D_600F4A4, actor->vwork, func_i4_8018D874, NULL, actor, gCalcMatrix);
+    Animation_GetFrameData(&D_BO_600F3D8, 0, actor->vwork);
+    Animation_DrawSkeleton(3, D_BO_600F4A4, actor->vwork, func_i4_8018D874, NULL, actor, gCalcMatrix);
 }
 
 s32 func_i4_8018D9CC(void) {
@@ -741,8 +723,8 @@ s32 func_i4_8018D9CC(void) {
     f32 spA8[17];
     f32 sp64[17];
     s32 j;
-    Vtx* sp5C = SEGMENTED_TO_VIRTUAL(D_6011E28);
-    Vtx* sp58 = SEGMENTED_TO_VIRTUAL(D_600C0B8);
+    Vtx* sp5C = SEGMENTED_TO_VIRTUAL(D_BO_6011E28);
+    Vtx* sp58 = SEGMENTED_TO_VIRTUAL(D_BO_600C0B8);
 
     for (i = 0; i < 17; i++) {
         if ((i == 0) || (i == 16)) {
@@ -953,7 +935,7 @@ void func_i4_8018E870(Boss* boss) {
     Matrix_Scale(gGfxMatrix, boss->unk_3F8, boss->unk_3F8, boss->unk_3F8, 1);
 
     if (boss->vwork[30].y >= 0.0f) {
-        gSPDisplayList(gMasterDisp++, D_6002020);
+        gSPDisplayList(gMasterDisp++, D_BO_6002020);
     }
 
     if (gGameFrameCount & 1) {
@@ -977,7 +959,7 @@ void func_i4_8018E870(Boss* boss) {
         Matrix_Translate(gGfxMatrix, 1.0f, 1.0f, D_i4_801A0488[i].unk_08 * 200.0f, 1);
         Matrix_Scale(gGfxMatrix, 1.0f, 1.0f, D_i4_801A0488[i].unk_08, 1);
         Matrix_SetGfxMtx(&gMasterDisp);
-        gSPDisplayList(gMasterDisp++, D_600BF30);
+        gSPDisplayList(gMasterDisp++, D_BO_600BF30);
         Matrix_Pop(&gGfxMatrix);
     }
 }
@@ -1797,7 +1779,7 @@ void func_i4_80191180(Effect* effect) {
             gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 192);
             Matrix_Scale(gGfxMatrix, 1.0f, 1.0f, effect->scale2, 1);
             Matrix_SetGfxMtx(&gMasterDisp);
-            gSPDisplayList(gMasterDisp++, D_6006910);
+            gSPDisplayList(gMasterDisp++, D_BO_6006910);
             break;
 
         case 1:
@@ -1967,7 +1949,7 @@ s32 func_i4_801918E4(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* t
                 }
             }
             if (boss->swork[0 + limbIndex - 9] <= 0) {
-                *dList = D_6009BC0;
+                *dList = D_BO_6009BC0;
             }
             break;
     }
@@ -1993,11 +1975,11 @@ void func_i4_80191A6C(s32 index, Vec3f* vec, void* ptr) {
 }
 
 void func_i4_80191AFC(Boss* boss) {
-    Animation_GetFrameData(&D_6001C64, 0, boss->vwork);
+    Animation_GetFrameData(&D_BO_6001C64, 0, boss->vwork);
     if (boss->state >= 2) {
-        Animation_DrawSkeleton(3, D_6001FB0, boss->vwork, func_i4_801918E4, func_i4_80191A6C, boss, gCalcMatrix);
+        Animation_DrawSkeleton(3, D_BO_6001FB0, boss->vwork, func_i4_801918E4, func_i4_80191A6C, boss, gCalcMatrix);
     } else {
-        Animation_DrawSkeleton(3, D_6001FB0, boss->vwork, NULL, NULL, boss, gCalcMatrix);
+        Animation_DrawSkeleton(3, D_BO_6001FB0, boss->vwork, NULL, NULL, boss, gCalcMatrix);
     }
 }
 
@@ -2006,8 +1988,8 @@ void func_i4_80191BAC(Boss* boss) {
 
     Math_SmoothStepToF(&boss->fwork[0], D_i4_801A03DC * 9.0f + 10.0f, 1.0f, 10.0f, 0.0f);
 
-    Texture_Scroll(&D_600CF88, 16, 16, 0);
-    Texture_Scroll(&D_600CF88, 16, 16, 0);
+    Texture_Scroll(&D_BO_600CF88, 16, 16, 0);
+    Texture_Scroll(&D_BO_600CF88, 16, 16, 0);
 
     switch (boss->state) {
         case 2:
@@ -2060,7 +2042,7 @@ void func_i4_80191DB0(Boss* boss) {
         gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, alpha);
         Matrix_Scale(gGfxMatrix, 1.2f, 0.55f, 1.2f, 1);
         Matrix_SetGfxMtx(&gMasterDisp);
-        gSPDisplayList(gMasterDisp++, D_600C4E0);
+        gSPDisplayList(gMasterDisp++, D_BO_600C4E0);
     }
 }
 
@@ -2173,12 +2155,12 @@ void func_i4_80192264(void) {
             if ((spD0.z < 3000.0f) && (spD0.z > -13000.0f) && (fabsf(spD0.x) < (fabsf(spD0.z * 0.7f) + 3000.0f)) &&
                 (fabsf(spD0.y) < (fabsf(spD0.z * 0.5f) + 2000.0f))) {
                 if (rnd < 0.3f) {
-                    gDPLoadTileTexture(gMasterDisp++, D_6008BB8, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32);
+                    gDPLoadTileTexture(gMasterDisp++, D_BO_6008BB8, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32);
                 } else {
-                    gDPLoadTileTexture(gMasterDisp++, D_600AD80, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32);
+                    gDPLoadTileTexture(gMasterDisp++, D_BO_600AD80, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32);
                 }
                 Matrix_SetGfxMtx(&gMasterDisp);
-                gSPDisplayList(gMasterDisp++, D_600BEC0)
+                gSPDisplayList(gMasterDisp++, D_BO_600BEC0)
             }
             Matrix_Pop(&gGfxMatrix);
         }
diff --git a/src/overlays/ovl_i4/fox_sz.c b/src/overlays/ovl_i4/fox_sz.c
index 0998bd8a..0a243334 100644
--- a/src/overlays/ovl_i4/fox_sz.c
+++ b/src/overlays/ovl_i4/fox_sz.c
@@ -98,15 +98,23 @@ void func_i4_80199BDC(f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel
         }
     }
 }
+typedef enum {
+    MISSILE_TARGET_X = 4,
+    MISSILE_TARGET_Y = 5,
+    MISSILE_TARGET_Z = 6,
+} MissileWork;
 
-// https://decomp.me/scratch/FVgio
+// https://decomp.me/scratch/7td7r
 #ifdef NON_MATCHING
-void func_i4_80199C60(Actor* actor) {
-    s32 pad[2];
-    f32 var_fa0;
-    f32 var_fv1;
+void func_i4_80199C60(Actor* missile) {
+    f32 xDist;
+    f32 yDist;
+    f32 zDist;
+    f32 x;
+    f32 y;
+    s32 pad;
 
-    switch (++actor->iwork[9]) {
+    switch (++missile->iwork[9]) {
         case 600:
             Radio_PlayMessage(gMsg_ID_16080, RCID_ROB64);
             break;
@@ -120,39 +128,33 @@ void func_i4_80199C60(Actor* actor) {
             break;
     }
 
-    var_fv1 = gBosses[0].obj.pos.x - actor->obj.pos.x;
-    var_fa0 = gBosses[0].obj.pos.z - actor->obj.pos.z;
-    SIN_DEG(gGameFrameCount);
+    /* Distance between the Great Fox and the missile */
+    xDist = gBosses[0].obj.pos.x - missile->obj.pos.x;
+    zDist = gBosses[0].obj.pos.z - missile->obj.pos.z;
 
-    if (0) {
-        ;
-    }
-    if (var_fv1) {
-        ;
-    }
-    if (var_fa0) {
-        ;
-    }
+    SIN_DEG(gGameFrameCount); // WTF
 
-    if (actor->unk_0E4 < 100) {
-        var_fv1 = SIN_DEG((actor->index * 45) + gGameFrameCount) * 5000.0f;
-        var_fa0 = COS_DEG((actor->index * 45) + (gGameFrameCount * 2)) * 5000.0f;
+    if (xDist) {}
+    if (zDist) {}
+
+    if (missile->unk_0E4 < 100) {
+        xDist = SIN_DEG((missile->index * 45) + gGameFrameCount) * 5000.0f;
+        zDist = COS_DEG((missile->index * 45) + (gGameFrameCount * 2)) * 5000.0f;
     } else {
-        var_fa0 = 0.0f;
-        var_fv1 = 0.0f;
+        zDist = 0.0f;
+        xDist = 0.0f;
     }
 
-    actor->fwork[4] = (gBosses[0].obj.pos.x + var_fv1) + 400.0f;
-    actor->fwork[5] = (gBosses[0].obj.pos.y + var_fa0) + 100.0f;
-    // temp_fv0 = fabsf(actor->fwork[4] - actor->obj.pos.x);
-    actor->fwork[6] = gBosses[0].obj.pos.z;
-    actor->fwork[3] = 1.4f;
+    missile->fwork[MISSILE_TARGET_X] = (gBosses[0].obj.pos.x + xDist) + 400.0f;
+    missile->fwork[MISSILE_TARGET_Y] = (gBosses[0].obj.pos.y + zDist) + 100.0f;
+    missile->fwork[MISSILE_TARGET_Z] = gBosses[0].obj.pos.z;
+    missile->fwork[3] = 1.4f;
 
-    if (((fabsf(actor->fwork[4] - actor->obj.pos.x) < 800.0f) &&
-         (fabsf(actor->fwork[5] - actor->obj.pos.y) < 800.0f)) &&
-        (fabsf(actor->fwork[6] - actor->obj.pos.z) < 800.0f)) {
-        func_i4_80199900(actor, 0);
-        D_80178480 = 0x19;
+    if (((fabsf(missile->fwork[MISSILE_TARGET_X] - missile->obj.pos.x) < 800.0f) &&
+         (fabsf(missile->fwork[MISSILE_TARGET_Y] - missile->obj.pos.y) < 800.0f)) &&
+        (fabsf(missile->fwork[MISSILE_TARGET_Z] - missile->obj.pos.z) < 800.0f)) {
+        func_i4_80199900(missile, 0);
+        D_80178480 = 25;
         gBosses[0].dmgType = DMG_UNK_100;
         if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_5)) {
             gPlayer[0].state_1C8 = PLAYERSTATE_1C8_7;
@@ -161,8 +163,7 @@ void func_i4_80199C60(Actor* actor) {
             return;
         }
     }
-
-    if (((fabsf(actor->fwork[6] - actor->obj.pos.z) < 2000.0f) &&
+    if (((fabsf(missile->fwork[MISSILE_TARGET_Z] - missile->obj.pos.z) < 2000.0f) &&
          (((gPlayer[0].camEye.z < 0.0f) || (D_801615D0.y < 0.0f)) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_10))) &&
         (((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_10)) ||
          (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_5))) {
diff --git a/yamls/us/assets.yaml b/yamls/us/assets.yaml
index f3555852..0dfe3b87 100644
--- a/yamls/us/assets.yaml
+++ b/yamls/us/assets.yaml
@@ -129,8 +129,12 @@
 
   - name: ast_meteo
     exclusive_ram_id: segment_06
-    type: bin
+    type: code
+    dir: assets
     start: 0x9A1460
+    vram: 0x06000000
+    subsegments:
+      - [0x9A1460, .data, ast_meteo/ast_meteo]
 
   - name: ast_titania
     exclusive_ram_id: segment_06
@@ -244,8 +248,12 @@
 
   - name: ast_bolse
     exclusive_ram_id: segment_06
-    type: bin
+    type: code
+    dir: assets
     start: 0xB0AA00
+    vram: 0x06000000
+    subsegments:
+      - [0xB0AA00, .data, ast_bolse/ast_bolse]
 
   - name: ast_fortuna
     exclusive_ram_id: segment_06