export configuration for ast_great_fox & ast_sector_z & ast_sector_y (#175)

* Matchpoint

* remove symbols from undef

* remove header

* comments

* var rename

* remove header

* first asset

* progress

* progress

* progress, should be matching. Torch bug?

* comments

* update torch with Peter's fix

* PRINTF

* replace symbol usage

* todo comment

* D_SX_6000000 usage

* progress

* Matchpoint

* progress replacing symbol usage (apo apo ahora)

* remove headers

* va bene

* format

* remove header
This commit is contained in:
Alejandro Asenjo Nitti 2024-03-27 01:07:41 -03:00 committed by GitHub
parent 4a572e7e30
commit ec1d3da564
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
33 changed files with 847 additions and 433 deletions

View file

@ -101,7 +101,10 @@
"ast_aquas.h": "c",
"ast_enmy_space.h": "c",
"prevent_context_reordering.h": "c",
"ast_option.h": "c"
"ast_option.h": "c",
"ast_area_6.h": "c",
"ast_bg_space.h": "c",
"ast_sector_y.h": "c"
},
"C_Cpp_Runner.msvcBatchPath": ""
}

View file

@ -0,0 +1,94 @@
:config:
segments:
- [0xE, 0x92EC40]
header:
code:
- '#include "assets/ast_great_fox.h"'
header:
- '#include "gfx.h"'
- '#include "sf64object.h"'
- '#include "structs.h"'
# Great Fox Model
D_GREAT_FOX_E000000:
{ type: GFX, offset: 0xE000000, symbol: D_GREAT_FOX_E000000 }
D_GREAT_FOX_E0094B0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0E0094B0, symbol: D_GREAT_FOX_E0094B0 }
D_GREAT_FOX_E009CB0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0E009CB0, symbol: D_GREAT_FOX_E009CB0 }
# Great Fox Logo
D_GREAT_FOX_E00ACB0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0E00ACB0, symbol: D_GREAT_FOX_E00ACB0 }
D_GREAT_FOX_E00B4B0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x0E00B4B0, symbol: D_GREAT_FOX_E00B4B0 }
# Yellow Square
D_GREAT_FOX_E00B530:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x0E00B530, symbol: D_GREAT_FOX_E00B530 }
D_GREAT_FOX_E00B5B0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0E00B5B0, symbol: D_GREAT_FOX_E00B5B0 }
# Great Fox Starfox Logo
D_GREAT_FOX_E00BDB0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0E00BDB0, symbol: D_GREAT_FOX_E00BDB0 }
D_GREAT_FOX_E00CDB0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0E00CDB0, symbol: D_GREAT_FOX_E00CDB0 }
D_GREAT_FOX_E00CFB0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0E00CFB0, symbol: D_GREAT_FOX_E00CFB0 }
D_GREAT_FOX_E00D7B0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0E00D7B0, symbol: D_GREAT_FOX_E00D7B0 }
# Black Square
D_GREAT_FOX_E007430:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x0E007430, symbol: D_GREAT_FOX_E007430 }
# Great Fox Model (damaged)
D_GREAT_FOX_E003AB0:
{ type: GFX, offset: 0xE003AB0, symbol: D_GREAT_FOX_E003AB0 }
D_GREAT_FOX_E0074B0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0E0074B0, symbol: D_GREAT_FOX_E0074B0 }
D_GREAT_FOX_E0084B0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0E0084B0, symbol: D_GREAT_FOX_E0084B0 }
D_GREAT_FOX_E008CB0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0E008CB0, symbol: D_GREAT_FOX_E008CB0 }
D_GREAT_FOX_E00DFB0:
{ type: GFX, offset: 0xE00DFB0, symbol: D_GREAT_FOX_E00DFB0 }
D_GREAT_FOX_E00E078:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x0E00E078, symbol: D_GREAT_FOX_E00E078 }
# Radio Face of ROB64
D_GREAT_FOX_E00E100:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0E00E100, symbol: D_GREAT_FOX_E00E100 }
# Radio Face of ROB64 (talking)
D_GREAT_FOX_E00F020:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0E00F020, symbol: D_GREAT_FOX_E00F020 }
# Radio Face of General Pepper
D_GREAT_FOX_E00FF40:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0E00FF40, symbol: D_GREAT_FOX_E00FF40 }
# Radio Face of General Pepper (talking)
D_GREAT_FOX_E010E60:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0E010E60, symbol: D_GREAT_FOX_E010E60 }
D_GREAT_FOX_E011D80:
{ type: GFX, offset: 0xE011D80, symbol: D_GREAT_FOX_E011D80 }
D_GREAT_FOX_E011E08:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x0E011E08, symbol: D_GREAT_FOX_E011E08 }
# size = 0x11E90

View file

@ -0,0 +1,316 @@
:config:
segments:
- [0x06, 0xB2CA50]
header:
code:
- '#include "assets/ast_sector_y.h"'
header:
- '#include "gfx.h"'
- '#include "sf64object.h"'
- '#include "structs.h"'
- '#include "sf64level.h"'
# Sector Y: Combat Zone
D_SY_6000000:
{ type: TEXTURE, ctype: u8, format: IA8, width: 176, height: 12, offset: 0x6000000, symbol: D_SY_6000000 }
# Saruzin flagship icon in radar
D_SY_6000840:
{ type: TEXTURE, ctype: u8, format: IA8, width: 64, height: 64, offset: 0x6000840, symbol: D_SY_6000840 }
D_SY_6001840:
{ type: GFX, offset: 0x6001840, symbol: D_SY_6001840 }
# Sector Y Background
D_SY_60018D0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x060018D0, symbol: D_SY_60018D0 }
D_SY_6003348:
{ type: SF64:ANIM, offset: 0x6003348, symbol: D_SY_6003348 }
D_SY_60034C4:
{ type: SF64:ANIM, offset: 0x60034C4, symbol: D_SY_60034C4 }
D_SY_60034D0:
{ type: GFX, offset: 0x60034D0, symbol: D_SY_60034D0 }
D_SY_60036A0:
{ type: GFX, offset: 0x60036A0, symbol: D_SY_60036A0 }
D_SY_6004958:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06004958, symbol: D_SY_6004958 }
D_SY_6005158:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06005158, symbol: D_SY_6005158 }
D_SY_6005360:
{ type: GFX, offset: 0x6005360, symbol: D_SY_6005360 }
D_SY_6005BE0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06005BE0, symbol: D_SY_6005BE0 }
D_SY_60063E0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060063E0, symbol: D_SY_60063E0 }
D_SY_6006BE0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06006BE0, symbol: D_SY_6006BE0 }
D_SY_6006DE0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 24, offset: 0x06006DE0, symbol: D_SY_6006DE0 }
D_SY_60073E0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x060073E0, symbol: D_SY_60073E0 }
D_SY_60083E0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060083E0, symbol: D_SY_60083E0 }
D_SY_6008BE0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 16, offset: 0x06008BE0, symbol: D_SY_6008BE0 }
D_SY_6008FE0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06008FE0, symbol: D_SY_6008FE0 }
D_SY_60097E0:
{ type: GFX, offset: 0x060097E0, symbol: D_SY_60097E0 }
D_SY_600AAC0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0600AAC0, symbol: D_SY_600AAC0 }
D_SY_600BAC0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0600BAC0, symbol: D_SY_600BAC0 }
D_SY_600CAC0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0600CAC0, symbol: D_SY_600CAC0 }
D_SY_600DAC0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0600DAC0, symbol: D_SY_600DAC0 }
D_SY_600E2C0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0600E2C0, symbol: D_SY_600E2C0 }
D_SY_600EAC0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0600EAC0, symbol: D_SY_600EAC0 }
D_SY_600F2C0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 32, offset: 0x0600F2C0, symbol: D_SY_600F2C0 }
D_SY_600F6C0:
{ type: GFX, offset: 0x600F6C0, symbol: D_SY_600F6C0 }
D_SY_60102C0:
{ type: GFX, offset: 0x60102C0, symbol: D_SY_60102C0 }
D_SY_6011758:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x06011758, symbol: D_SY_6011758 }
D_SY_60117D8:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x060117D8, symbol: D_SY_60117D8 }
D_SY_60119D8:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060119D8, symbol: D_SY_60119D8 }
D_SY_60132A0:
{ type: GFX, offset: 0x60132A0, symbol: D_SY_60132A0 }
D_SY_6015D60:
{ type: GFX, offset: 0x6015D60, symbol: D_SY_6015D60 }
D_SY_601F3D0:
{ type: GFX, offset: 0x601F3D0, symbol: D_SY_601F3D0 }
D_SY_60128A0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060128A0, symbol: D_SY_60128A0 }
D_SY_60130A0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x060130A0, symbol: D_SY_60130A0 }
D_SY_6013600:
{ type: GFX, offset: 0x6013600, symbol: D_SY_6013600 }
D_SY_6013840:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06013840, symbol: D_SY_6013840 }
D_SY_6014040:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06014040, symbol: D_SY_6014040 }
D_SY_6014240:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06014240, symbol: D_SY_6014240 }
D_SY_6014A40:
{ type: GFX, offset: 0x6014A40, symbol: D_SY_6014A40 }
D_SY_6014B48:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x06014B48, symbol: D_SY_6014B48 }
D_SY_6014BD0:
{ type: GFX, offset: 0x6014BD0, symbol: D_SY_6014BD0 }
D_SY_6015960:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06015960, symbol: D_SY_6015960 }
D_SY_6015B60:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06015B60, symbol: D_SY_6015B60 }
D_SY_60188D0:
{ type: GFX, offset: 0x60188D0, symbol: D_SY_60188D0 }
D_SY_6018F30:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x06018F30, symbol: D_SY_6018F30 }
D_SY_6019E50:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x06019E50, symbol: D_SY_6019E50 }
D_SY_601AD70:
{ type: GFX, offset: 0x601AD70, symbol: D_SY_601AD70 }
D_SY_601AE08:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601AE08, symbol: D_SY_601AE08 }
D_SY_601B610:
{ type: GFX, offset: 0x601B610, symbol: D_SY_601B610 }
D_SY_601B6A0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0601B6A0, symbol: D_SY_601B6A0 }
D_SY_601C6A0:
{ type: GFX, offset: 0x601C6A0, symbol: D_SY_601C6A0 }
D_SY_601C730:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0601C730, symbol: D_SY_601C730 }
D_SY_601D730:
{ type: GFX, offset: 0x601D730, symbol: D_SY_601D730 }
D_SY_601F3B8:
{ type: SF64:ANIM, offset: 0x601F3B8, symbol: D_SY_601F3B8 }
D_SY_60205D0:
{ type: GFX, offset: 0x60205D0, symbol: D_SY_60205D0 }
D_SY_60209F0:
{ type: GFX, offset: 0x60209F0, symbol: D_SY_60209F0 }
D_SY_6020B08:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06020B08, symbol: D_SY_6020B08 }
D_SY_6021B08:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06021B08, symbol: D_SY_6021B08 }
D_SY_6022B10:
{ type: GFX, offset: 0x6022B10, symbol: D_SY_6022B10 }
D_SY_6022C28:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06022C28, symbol: D_SY_6022C28 }
D_SY_6023C28:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06023C28, symbol: D_SY_6023C28 }
D_SY_60258A0:
{ type: SF64:ANIM, offset: 0x60258A0, symbol: D_SY_60258A0 }
D_SY_602645C:
{ type: SF64:ANIM, offset: 0x602645C, symbol: D_SY_602645C }
D_SY_60265B4:
{ type: SF64:ANIM, offset: 0x60265B4, symbol: D_SY_60265B4 }
D_SY_602738C:
{ type: SF64:ANIM, offset: 0x602738C, symbol: D_SY_602738C }
D_SY_6028668:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06028668, symbol: D_SY_6028668 }
D_SY_6029B48:
{ type: SF64:ANIM, offset: 0x6029B48, symbol: D_SY_6029B48 }
D_SY_602A2CC:
{ type: SF64:ANIM, offset: 0x602A2CC, symbol: D_SY_602A2CC }
D_SY_602AFF8:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0602AFF8, symbol: D_SY_602AFF8 }
D_SY_602B778:
{ type: SF64:ANIM, offset: 0x602B778, symbol: D_SY_602B778 }
D_SY_602B8DC:
{ type: SF64:ANIM, offset: 0x602B8DC, symbol: D_SY_602B8DC }
D_SY_602CEB4:
{ type: SF64:ANIM, offset: 0x602CEB4, symbol: D_SY_602CEB4 }
D_SY_602D140:
{ type: SF64:SKELETON, offset: 0x602D140, symbol: D_SY_602D140 }
D_SY_602D194:
{ type: GFX, offset: 0x602D1A0, symbol: D_SY_602D194 }
D_SY_602D238:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 16, offset: 0x0602D238, symbol: D_SY_602D238 }
D_SY_602E4B0:
{ type: SF64:ENV_SETTINGS, offset: 0x602E4B0, symbol: D_SY_602E4B0 }
D_SY_602E4F4:
{ type: SF64:OBJECT_INIT, offset: 0x602E4F4, symbol: D_SY_602E4F4 }
D_SY_6030B14:
{ type: SF64:OBJECT_INIT, offset: 0x6030B14, symbol: D_SY_6030B14 }
D_SY_6032E18:
{ type: SF64:SCRIPT, offset: 0x6032E18, symbol: D_SY_6032E18 }
D_SY_6033070:
{type: SF64:COLPOLY, count: 174, offset: 0x6033070, symbol: D_SY_6033070, mesh_symbol: D_SY_6033E08 }
D_SY_603405C:
{ type: SF64:HITBOX, offset: 0x603405C, symbol: D_SY_603405C }
D_SY_60340C0:
{ type: SF64:HITBOX, offset: 0x60340C0, symbol: D_SY_60340C0 }
D_SY_6034124:
{ type: SF64:HITBOX, offset: 0x6034124, symbol: D_SY_6034124 }
D_SY_60341A8:
{ type: SF64:HITBOX, offset: 0x60341A8, symbol: D_SY_60341A8 }
D_SY_603421C:
{ type: SF64:HITBOX, offset: 0x603421C, symbol: D_SY_603421C }
D_SY_60342A0:
{ type: SF64:HITBOX, offset: 0x60342A0, symbol: D_SY_60342A0 }
D_SY_6034304:
{ type: SF64:HITBOX, offset: 0x6034304, symbol: D_SY_6034304 }
D_SY_6034368:
{ type: SF64:HITBOX, offset: 0x6034368, symbol: D_SY_6034368 }
D_SY_603445C:
{ type: SF64:HITBOX, offset: 0x603445C, symbol: D_SY_603445C }
D_SY_6034478:
{ type: SF64:HITBOX, offset: 0x6034478, symbol: D_SY_6034478 }
D_SY_603450C:
{ type: SF64:HITBOX, offset: 0x603450C, symbol: D_SY_603450C }
D_SY_6034588:
{ type: SF64:HITBOX, offset: 0x6034588, symbol: D_SY_6034588 }
D_SY_6034664:
{ type: SF64:HITBOX, offset: 0x6034664, symbol: D_SY_6034664 }
D_SY_6034770:
{ type: SF64:HITBOX, offset: 0x6034770, symbol: D_SY_6034770 }
D_SY_60347D4:
{ type: SF64:HITBOX, offset: 0x60347D4, symbol: D_SY_60347D4 }
D_SY_60347F0:
{ type: SF64:HITBOX, offset: 0x60347F0, symbol: D_SY_60347F0 }
D_SY_603486C:
{ type: SF64:HITBOX, offset: 0x603486C, symbol: D_SY_603486C }
# size = 0x34890

View file

@ -0,0 +1,169 @@
:config:
segments:
- [0x06, 0xA4FBB0]
header:
code:
- '#include "assets/ast_sector_z.h"'
header:
- '#include "gfx.h"'
- '#include "sf64object.h"'
- '#include "structs.h"'
- '#include "sf64level.h"'
# Sector Z: Combat Zone
D_SZ_6000000:
{ type: TEXTURE, ctype: u8, format: IA8, width: 176, height: 12, offset: 0x6000000, symbol: D_SZ_6000000 }
# One of the so called "Boss titles", unused in the game. A version of the same thing
# seems to have been implemented in the 3DS version.
# The text in japanese translates to:
# Interspace anti-ship missile
# Macbeth B
D_SZ_6000840:
{ type: TEXTURE, ctype: u8, format: IA8, width: 104, height: 26, offset: 0x6000840, symbol: D_SZ_6000840 }
# Great Fox icon showed in the Radar
D_SZ_60012D0:
{ type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 9, offset: 0x60012D0, symbol: D_SZ_60012D0 }
D_SZ_6001360:
{ type: GFX, offset: 0x6001360, symbol: D_SZ_6001360 }
D_SZ_6001A10:
{ type: GFX, offset: 0x6001A10, symbol: D_SZ_6001A10 }
D_SZ_6001C80:
{ type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x06001C80, symbol: D_SZ_6001C80, tlut: 0x06001D80 }
D_SZ_6001D80:
{ type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x06001D80, symbol: D_SZ_6001D80 }
D_SZ_6001DA0:
{ type: GFX, offset: 0x6001DA0, symbol: D_SZ_6001DA0 }
D_SZ_60025F0:
{ type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x60025F0, symbol: D_SZ_60025F0, tlut: 0x060029F0 }
D_SZ_60029F0:
{ type: TEXTURE, ctype: u16, format: TLUT, colors: 240, offset: 0x060029F0, symbol: D_SZ_60029F0 }
D_SZ_6002BD0:
{ type: TEXTURE, ctype: u8, format: CI8, width: 8, height: 8, offset: 0x06002BD0, symbol: D_SZ_6002BD0, tlut: 0x06002C10 }
D_SZ_6002C10:
{ type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x06002C10, symbol: D_SZ_6002C10 }
D_SZ_6002C30:
{ type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x06002C30, symbol: D_SZ_6002C30, tlut: 0x06002D30 }
D_SZ_6002D30:
{ type: TEXTURE, ctype: u16, format: TLUT, colors: 88, offset: 0x06002D30, symbol: D_SZ_6002D30 }
D_SZ_6002DE0:
{ type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x06002DE0, symbol: D_SZ_6002DE0, tlut: 0x06002EE0 }
D_SZ_6002EE0:
{ type: TEXTURE, ctype: u16, format: TLUT, colors: 80, offset: 0x06002EE0, symbol: D_SZ_6002EE0 }
D_SZ_6002F80:
{ type: GFX, offset: 0x6002F80, symbol: D_SZ_6002F80 }
# Sector Z Background
D_SZ_6003010:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06003010, symbol: D_SZ_6003010 }
D_SZ_6004010:
{ type: GFX, offset: 0x6004010, symbol: D_SZ_6004010 }
D_SZ_60041F8:
{ type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x060041F8, symbol: D_SZ_60041F8, tlut: 0x060042F8 }
D_SZ_60042F8:
{ type: TEXTURE, ctype: u16, format: TLUT, colors: 24, offset: 0x060042F8, symbol: D_SZ_60042F8 }
D_SZ_6004330:
{ type: GFX, offset: 0x6004330, symbol: D_SZ_6004330 }
D_SZ_6004458:
{ type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 8, offset: 0x06004458, symbol: D_SZ_6004458, tlut: 0x06004558 }
D_SZ_6004558:
{ type: TEXTURE, ctype: u16, format: TLUT, colors: 8, offset: 0x06004558, symbol: D_SZ_6004558 }
D_SZ_6004570:
{ type: GFX, offset: 0x6004570, symbol: D_SZ_6004570 }
D_SZ_60045E0:
{ type: GFX, offset: 0x60045E0, symbol: D_SZ_60045E0 }
D_SZ_60047E0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60047E0, symbol: D_SZ_60047E0 }
D_SZ_6004FE0:
{ type: GFX, offset: 0x6004FE0, symbol: D_SZ_6004FE0 }
D_SZ_60054E0:
{ type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x060054E0, symbol: D_SZ_60054E0, tlut: 0x060058E0 }
D_SZ_60058E0:
{ type: TEXTURE, ctype: u16, format: TLUT, colors: 240, offset: 0x060058E0, symbol: D_SZ_60058E0 }
D_SZ_6005AC0:
{ type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x06005AC0, symbol: D_SZ_6005AC0, tlut: 0x06005BC0 }
D_SZ_6005BC0:
{ type: TEXTURE, ctype: u16, format: TLUT, colors: 24, offset: 0x06005BC0, symbol: D_SZ_6005BC0 }
D_SZ_6005BF0:
{ type: GFX, offset: 0x6005BF0, symbol: D_SZ_6005BF0 }
D_SZ_6006090:
{ type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x06006090, symbol: D_SZ_6006090, tlut: 0x06006490 }
D_SZ_6006490:
{ type: TEXTURE, ctype: u16, format: TLUT, colors: 232, offset: 0x06006490, symbol: D_SZ_6006490 }
D_SZ_6006660:
{ type: GFX, offset: 0x6006660, symbol: D_SZ_6006660 }
D_SZ_6006780:
{ type: GFX, offset: 0x6006780, symbol: D_SZ_6006780 }
D_SZ_6006A30:
{ type: GFX, offset: 0x6006A30, symbol: D_SZ_6006A30 }
D_SZ_6006BD8:
{ type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x06006BD8, symbol: D_SZ_6006BD8, tlut: 0x06006CD8 }
D_SZ_6006CD8:
{ type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x06006CD8, symbol: D_SZ_6006CD8 }
D_SZ_6006D64:
{ type: SF64:ANIM, offset: 0x6006D64, symbol: D_SZ_6006D64 }
D_SZ_6006E50:
{ type: SF64:SKELETON, offset: 0x6006E50, symbol: D_SZ_6006E50 }
D_SZ_6006E70:
{ type: SF64:ENV_SETTINGS, offset: 0x6006E70, symbol: D_SZ_6006E70 }
D_SZ_6006EB4:
{ type: SF64:OBJECT_INIT, offset: 0x6006EB4, symbol: D_SZ_6006EB4 }
D_SZ_6007558:
{type: SF64:COLPOLY, count: 316, offset: 0x6007558, symbol: D_SZ_6007558, mesh_symbol: D_SZ_6008E08 }
D_SZ_6009230:
{ type: SF64:HITBOX, offset: 0x6009230, symbol: D_SZ_6009230 }
D_SZ_600924C:
{ type: SF64:HITBOX, offset: 0x600924C, symbol: D_SZ_600924C }
D_SZ_60092E8:
{ type: SF64:HITBOX, offset: 0x60092E8, symbol: D_SZ_60092E8 }
D_SZ_6009388:
{ type: SF64:HITBOX, offset: 0x6009388, symbol: D_SZ_6009388 }
# size = 0x93B0

View file

@ -18,34 +18,25 @@
extern Gfx D_60005B0[]; // fox_bg
extern Gfx D_6000A80[]; // fox_bg, fox_effect
extern Gfx D_6000E00[]; // fox_edata_1C
extern Gfx D_6001360[]; // fox_bg, fox_demo, fox_edata_1C
extern Gfx D_6001360[]; // fox_bg, fox_demo, fox_edata_1C. Possible symbol collision
extern Gfx D_6001530[]; // fox_360, fox_demo, fox_ka
extern Gfx D_6001840[]; // fox_bg
extern Gfx D_6001A60[]; // fox_effect
extern u8 D_6001B80[]; // fox_hud
extern Vtx D_6001C50[]; // fox_play
extern Gfx D_6001DA0[]; // fox_demo, fox_edata_1C
extern u8 D_60020D0[]; // fox_hud
extern Gfx D_60023B0[]; // fox_edata_1C
extern Gfx D_6002990[]; // fox_edata_1C
extern Gfx D_6002E60[]; // fox_bg
extern Gfx D_6002F80[]; // fox_bg
extern Gfx D_6003000[]; // fox_edata_1C
extern Gfx D_60030F0[]; // fox_edata_1C
extern Gfx D_60034D0[]; // fox_edata_1C, fox_enmy2
extern Gfx D_60036A0[]; // fox_edata_1C, fox_enmy2
extern Gfx D_6003760[];
extern Gfx D_60038E0[];
extern u16 D_60038F8[];
extern Gfx D_6004170[];
extern Gfx D_6004330[];
extern Vtx D_6004500[];
extern Gfx D_6004570[];
extern Gfx D_60046F0[];
extern Gfx D_6004900[];
extern Gfx D_6004FE0[];
extern EnvSettings D_6005000;
extern Gfx D_6005360[];
extern u16 D_6005710[];
extern Gfx D_6005780[];
extern Gfx D_6005880[];
@ -93,13 +84,9 @@ extern Gfx D_6006A80[];
extern Gfx D_6006BE0[];
extern f32 D_6006BF0[];
extern f32 D_6006C44[];
extern Animation D_6006D64;
extern Limb* D_6006E50[];
extern EnvSettings D_6006E70;
extern u16 D_6006EA0[];
extern Gfx D_6006F50[];
extern Gfx D_6007410[];
extern CollisionPoly D_6007558[];
extern Gfx D_60075D0[];
extern Gfx D_6007650[];
extern Gfx D_60079B0[];
@ -112,11 +99,7 @@ extern Gfx D_6008770[];
extern Gfx D_6008830[];
extern Gfx D_6008AA0[];
extern Vec3s D_6008E08[];
extern f32 D_600924C[];
extern Gfx D_6009250[];
extern f32 D_60092E8[];
extern f32 D_6009388[];
extern Gfx D_60097E0[];
extern u16* D_6009B34[];
extern u16 D_6009BB8[];
extern f32 D_6009CC4[];
@ -175,8 +158,6 @@ extern Gfx D_600F560[];
extern Vec3s D_600F5AC[];
extern CollisionPoly D_600F60C[];
extern Gfx D_600F670[];
extern Gfx D_600F6C0[];
extern Gfx D_600F6C0[];
extern Animation D_600F744;
extern u8 D_600F940[];
extern Gfx D_600F9B0[];
@ -193,7 +174,6 @@ extern ObjectInit* D_6010088[];
extern u8 D_6010090[];
extern u16 D_6010198[];
extern CollisionPoly D_6010294[];
extern Gfx D_60102C0[];
extern u8 D_60106B0[];
extern Gfx D_6010700[];
extern Gfx D_6010960[];
@ -251,16 +231,12 @@ extern Gfx D_6016CF0[];
extern Gfx D_6017090[];
extern Gfx D_6017370[];
extern Gfx D_6018450[];
extern Gfx D_60188D0[];
extern Gfx D_6018C00[]; // possible collision
extern Gfx D_6018D40[];
extern Gfx D_6018E80[];
extern u16 D_6018F30[];
extern Gfx D_6019220[];
extern u16 D_6019E50[];
extern Gfx D_601A7A0[];
extern Gfx D_601A7D0[];
extern Gfx D_601AD70[];
extern Gfx D_601AE40[];
extern Gfx D_601B0D0[];
extern u16* D_601B1E4[];
@ -271,7 +247,6 @@ extern f32 D_601B518[];
extern Gfx D_601B560[];
extern f32 D_601B584[];
extern f32 D_601B5F4[];
extern Gfx D_601B610[];
extern Gfx D_601B640[];
extern f32 D_601B644[];
extern f32 D_601B678[];
@ -286,12 +261,10 @@ extern f32 D_601B868[];
extern f32 D_601B8A0[];
extern f32 D_601B8D8[];
extern Gfx D_601BEC0[];
extern Gfx D_601C6A0[];
extern Gfx D_601C7C0[];
extern Gfx D_601C820[];
extern u16 D_601C8E0[];
extern Gfx D_601C9B0[];
extern Gfx D_601D730[];
extern u8 D_601D750[];
extern u16 D_601D800[];
extern u16 D_601DB50[];
@ -378,7 +351,6 @@ extern Gfx D_602DCA0[];
extern u16 D_602DCB8[];
extern Gfx D_602E080[];
extern Gfx D_602E380[];
extern EnvSettings D_602E4B0;
extern Gfx D_602E570[];
extern Gfx D_602E7A0[];
extern Gfx D_602E9E0[];
@ -401,7 +373,6 @@ extern Vec3s D_6030550[];
extern CollisionPoly D_60305DC[];
extern Gfx D_6030630[];
extern Gfx D_60306D0[];
extern ObjectInit D_6030B14[];
extern EnvSettings D_6030E30_Env;
extern Triangle D_6030E74[];
extern Vec3f D_6030E80[];
@ -418,19 +389,8 @@ extern Vec3s D_603184C[];
extern Gfx D_60320E0[];
extern Gfx D_6032580[];
extern Gfx D_6032BC0[];
extern u16* D_6032E18[];
extern Gfx D_6033000[];
extern CollisionPoly D_6033070[];
extern Vec3s D_6033E08[];
extern f32 D_603405C[];
extern f32 D_6034368[];
extern f32 D_6034478[];
extern f32 D_603450C[];
extern f32 D_6034588[];
extern f32 D_6034664[];
extern f32 D_6034770[];
extern f32 D_60347D4[];
extern f32 D_60347F0[];
extern f32 D_603486C[];
extern Gfx D_6034B90[];
extern f32 D_60359C8[];

View file

@ -1,16 +0,0 @@
#ifndef AST_GREAT_FOX_H
#define AST_GREAT_FOX_H
#include "gfx.h"
#include "sf64object.h"
#include "structs.h"
extern Gfx D_E000000[];
extern Gfx D_E003AB0[];
extern Gfx D_E00DFB0[];
extern u16 D_E00E100[];
extern u16 D_E00F020[];
extern u16 D_E00FF40[];
extern u16 D_E010E60[];
#endif

View file

@ -1,8 +0,0 @@
#ifndef AST_SECTOR_Y_H
#define AST_SECTOR_Y_H
#include "gfx.h"
#include "sf64object.h"
#include "structs.h"
#endif

View file

@ -1,8 +0,0 @@
#ifndef AST_SECTOR_Z_H
#define AST_SECTOR_Z_H
#include "gfx.h"
#include "sf64object.h"
#include "structs.h"
#endif

View file

@ -287,7 +287,7 @@ extern s32 D_80177B00[4][4];
extern u8 D_Timer_80177B44;
extern u8 D_80177B4C;
extern u8 D_80177B6C;
extern u8 D_80177B8C;
extern u8 gGreatFoxIntact;
extern u8 D_80177BAC;
extern u16 D_Timer_80177BD0[4];
extern u16 D_80177C30[4];

View file

@ -7,27 +7,14 @@
extern Gfx D_6011F90[];
extern Gfx D_601F2A0[];
extern Gfx D_60102C0[];
extern Gfx D_6017B60[];
extern Gfx D_6004D00[];
extern Gfx D_601A880[];
extern Gfx D_6015D60[];
extern Gfx D_60102C0[];
extern Gfx D_601F3D0[];
extern Gfx D_6022B10[];
extern Gfx D_60209F0[];
extern Gfx D_6019430[];
extern Gfx D_6018960[];
extern Gfx D_6009F50[];
extern Gfx D_600C2A0[];
extern Gfx D_600BD40[];
extern Gfx D_60205D0[];
extern Gfx D_60036A0[];
extern Gfx D_60034D0[];
extern Gfx D_6005360[];
extern Gfx D_601B610[];
extern Gfx D_601C6A0[];
extern Gfx D_60188D0[];
extern Gfx D_601C520[];
extern Gfx D_600AF40[];
extern Gfx D_600AC70[];
@ -37,18 +24,8 @@ extern Gfx D_60043F0[];
extern Gfx D_6004310[];
extern Gfx D_6002890[];
extern f32 D_6034478[];
extern f32 D_603450C[];
extern f32 D_6034588[];
extern f32 D_6034124[];
extern f32 D_602C1A0[];
extern f32 D_602F604[];
extern f32 D_603445C[];
extern f32 D_6034664[];
extern f32 D_60347D4[];
extern f32 D_6034770[];
extern f32 D_60347F0[];
extern f32 D_603486C[];
extern f32 D_602C294[];
extern f32 D_601B474[];
extern f32 D_601B43C[];

View file

@ -5,7 +5,6 @@
extern ObjectInit D_60371A4[];
extern ObjectInit D_6026CC4[];
extern ObjectInit D_602E4F4[];
extern ObjectInit D_6007E74[];
extern ObjectInit D_601F234[];
extern ObjectInit D_6026714[];
@ -15,7 +14,6 @@ extern ObjectInit D_602E5C8[];
extern ObjectInit D_600EAD4[];
extern ObjectInit D_6011044[];
extern ObjectInit D_600FF74[];
extern ObjectInit D_6006EB4[];
extern ObjectInit D_6014D94[];
#endif

View file

@ -496,7 +496,6 @@ D_Timer_80177B44 = 0x80177B44;
gCurrentPlanet = 0x80177B48;
D_80177B50 = 0x80177B50;
D_80177B70 = 0x80177B70;
D_80177B8C = 0x80177B8C;
D_80177B90 = 0x80177B90;
D_80177BB0 = 0x80177BB0;
D_Timer_80177BD0 = 0x80177BD0;

View file

@ -131,17 +131,13 @@ D_500A7D0 = 0x0500A7D0;
D_6000E00 = 0x06000E00;
D_6001360 = 0x06001360;
D_6001DA0 = 0x06001DA0;
D_60012A0 = 0x060012A0;
D_60023B0 = 0x060023B0;
D_6002990 = 0x06002990;
D_6003000 = 0x06003000;
D_60034D0 = 0x060034D0;
D_AQ_6003610 = 0x06003610;
D_60036A0 = 0x060036A0;
D_6004170 = 0x06004170;
D_6004AC0 = 0x06004AC0;
D_6005360 = 0x06005360;
D_6005780 = 0x06005780;
D_6006310 = 0x06006310;
D_60064AC = 0x060064AC;
@ -171,17 +167,12 @@ D_6006BF0 = 0x06006BF0;
D_6006C44 = 0x06006C44;
D_6006F50 = 0x06006F50;
D_6007410 = 0x06007410;
D_6007558 = 0x06007558;
D_60075D0 = 0x060075D0;
D_60079B0 = 0x060079B0;
D_6007B90 = 0x06007B90;
D_6007D80 = 0x06007D80;
D_6008370 = 0x06008370;
D_6008E08 = 0x06008E08;
D_600924C = 0x0600924C;
D_60092E8 = 0x060092E8;
D_6009388 = 0x06009388;
D_60097E0 = 0x060097E0;
D_6009AD0 = 0x06009AD0;
D_600A420 = 0x0600A420;
D_600AF40 = 0x0600AF40;
@ -199,7 +190,6 @@ D_600F4C0 = 0x0600F4C0;
D_600F560 = 0x0600F560;
D_600F5AC = 0x0600F5AC;
D_600F60C = 0x0600F60C;
D_600F6C0 = 0x0600F6C0;
D_600FD50 = 0x0600FD50;
D_600FE9C = 0x0600FE9C;
D_600FEB8 = 0x0600FEB8;
@ -209,7 +199,6 @@ D_600FFA0 = 0x0600FFA0;
D_600FFC0 = 0x0600FFC0;
D_600FFE0 = 0x0600FFE0;
D_6010294 = 0x06010294;
D_60102C0 = 0x060102C0;
D_6010960 = 0x06010960;
D_6010A50 = 0x06010A50;
D_6010E00 = 0x06010E00;
@ -251,7 +240,6 @@ D_601668C = 0x0601668C;
D_60166F4 = 0x060166F4;
D_6016714 = 0x06016714;
D_6018450 = 0x06018450;
D_60188D0 = 0x060188D0;
D_6018C00 = 0x06018C00;
D_6018E80 = 0x06018E80;
D_601A7D0 = 0x0601A7D0;
@ -262,7 +250,6 @@ D_601B518 = 0x0601B518;
D_601B560 = 0x0601B560;
D_601B584 = 0x0601B584;
D_601B5F4 = 0x0601B5F4;
D_601B610 = 0x0601B610;
D_601B644 = 0x0601B644;
D_601B678 = 0x0601B678;
D_601B6C4 = 0x0601B6C4;
@ -275,9 +262,7 @@ D_601B868 = 0x0601B868;
D_601B8A0 = 0x0601B8A0;
D_601B8D8 = 0x0601B8D8;
D_601BEC0 = 0x0601BEC0;
D_601C6A0 = 0x0601C6A0;
D_601C9B0 = 0x0601C9B0;
D_601D730 = 0x0601D730;
D_AQ_601DE60 = 0x0601DE60;
D_601F1D0 = 0x0601F1D0;
D_601F500 = 0x0601F500;
@ -348,7 +333,6 @@ D_6030550 = 0x06030550;
D_60305DC = 0x060305DC;
D_6030630 = 0x06030630;
D_AQ_6030B10 = 0x06030B10;
D_AQ_6030B14_f32 = 0x6030B14;
D_AQ_6030BE0 = 0x06030BE0;
D_AQ_6030BFC = 0x06030BFC;
D_AQ_6030C18 = 0x06030C18;
@ -397,18 +381,7 @@ D_6032430 = 0x06032430;
D_SX_6032488 = 0x06032488;
D_SX_60324EC = 0x060324EC;
D_SX_6032550 = 0x06032550;
D_6033070 = 0x06033070;
D_6033E08 = 0x06033E08;
D_603405C = 0x0603405C;
D_6034368 = 0x06034368;
D_6034478 = 0x06034478;
D_603450C = 0x0603450C;
D_6034588 = 0x06034588;
D_6034664 = 0x06034664;
D_6034770 = 0x06034770;
D_60347D4 = 0x060347D4;
D_60347F0 = 0x060347F0;
D_603486C = 0x0603486C;
D_60359C8 = 0x060359C8;
D_6035A14 = 0x06035A14;
D_6035A48 = 0x06035A48;
@ -512,7 +485,6 @@ D_602A710 = 0x0602A710;
D_6020058 = 0x06020058;
D_A6_6023F20 = 0x06023F20;
D_A6_6028760 = 0x06028760;
D_602E4B0 = 0x0602E4B0;
D_6007E30 = 0x06007E30;
D_601F1F0 = 0x0601F1F0;
D_60266D0 = 0x060266D0;
@ -523,7 +495,6 @@ D_AQ_602E540 = 0x0602E540;
D_600EA90 = 0x0600EA90;
D_6011000 = 0x06011000;
D_600FF30_Env = 0x0600FF30;
D_6006E70 = 0x06006E70;
D_6014D50 = 0x06014D50;
D_60084C0 = 0x060084C0;
D_6008D40 = 0x06008D40;
@ -615,7 +586,6 @@ D_6036290 = 0x06036290;
D_6036B30 = 0x06036B30;
// fox_map, to be ordered later
D_6001C80 = 0x06001C80;
D_6002160 = 0x06002160;
D_60030D0 = 0x060030D0;
D_6003B50 = 0x06003B50;
@ -1004,16 +974,12 @@ D_10108D0 = 0x010108D0;
D_1010920 = 0x01010920;
D_1010970 = 0x01010970;
// fox_demo
D_601F3B8 = 0x0601F3B8;
// fox_enmy
D_60371A4 = 0x0060371A4;
D_6026CC4 = 0x006026CC4;
D_SX_602A164 = 0x00602A164;
D_A6_6023F64 = 0x006023F64;
D_A6_60287A4 = 0x0060287A4;
D_602E4F4 = 0x00602E4F4;
D_6007E74 = 0x006007E74;
D_601F234 = 0x00601F234;
D_6026714 = 0x006026714;
@ -1025,7 +991,6 @@ D_602E5C8 = 0x00602E5C8;
D_600EAD4 = 0x00600EAD4;
D_6011044 = 0x006011044;
D_600FF74 = 0x00600FF74;
D_6006EB4 = 0x006006EB4;
D_6014D94 = 0x006014D94;
// fox_enmy2
@ -1047,16 +1012,12 @@ D_SX_600B830 = 0x0600B830;
D_6017B60 = 0x06017B60;
D_6004D00 = 0x06004D00;
D_601A880 = 0x0601A880;
D_6015D60 = 0x06015D60;
D_SX_600B540 = 0x0600B540;
D_6022B10 = 0x06022B10;
D_60209F0 = 0x060209F0;
D_6019430 = 0x06019430;
D_6018960 = 0x06018960;
D_6009F50 = 0x06009F50;
D_600C2A0 = 0x0600C2A0;
D_600BD40 = 0x0600BD40;
D_60205D0 = 0x060205D0;
D_VE1_9012180 = 0x09012180;
D_VE1_900EFC0 = 0x0900EFC0;
D_601C520 = 0x0601C520;
@ -1082,19 +1043,9 @@ D_SX_6032894 = 0x06032894;
D_SX_60328B0 = 0x060328B0;
D_SX_603238C = 0x0603238C;
D_SX_60328CC = 0x060328CC;
D_6034478 = 0x06034478;
D_603450C = 0x0603450C;
D_6034588 = 0x06034588;
D_6034124 = 0x06034124;
D_602C1A0 = 0x0602C1A0;
D_SX_60328E8 = 0x060328E8;
D_602F604 = 0x0602F604;
D_603445C = 0x0603445C;
D_6034664 = 0x06034664;
D_60347D4 = 0x060347D4;
D_6034770 = 0x06034770;
D_60347F0 = 0x060347F0;
D_603486C = 0x0603486C;
D_602C294 = 0x0602C294;
D_601B474 = 0x0601B474;
D_AQ_6030B4C = 0x06030B4C;
@ -1493,8 +1444,6 @@ D_500A500 = 0x500A500;
D_500B600 = 0x500B600;
D_6000000 = 0x6000000;
D_60005B0 = 0x60005B0;
D_SX_6000840 = 0x6000840;
D_6000840 = 0x6000840;
D_6000A80 = 0x6000A80;
D_AQ_6000AE4 = 0x6000AE4;
D_A6_6000B60 = 0x6000B60;
@ -1512,44 +1461,32 @@ D_6001310 = 0x6001310;
D_6001360 = 0x6001360;
D_60014A0 = 0x60014A0;
D_6001530 = 0x6001530;
D_6001840 = 0x6001840;
D_60018C0 = 0x60018C0;
D_SX_6001950 = 0x6001950;
D_6001A10 = 0x6001A10;
D_6001A60 = 0x6001A60;
D_A6_6001A80 = 0x6001A80;
D_6001BA8 = 0x6001BA8;
D_6001C50 = 0x6001C50;
D_6001C64 = 0x6001C64;
D_6001DA0 = 0x6001DA0;
D_6001FB0 = 0x6001FB0;
D_6002020 = 0x6002020;
D_AQ_6002628 = 0x6002628;
D_AQ_6002874 = 0x6002874;
D_6002890 = 0x6002890;
D_A6_60029A0 = 0x60029A0;
D_AQ_6002C10 = 0x6002C10;
D_6002E10 = 0x6002E10;
D_6002E60 = 0x6002E60;
D_6002F80 = 0x6002F80;
D_6003070 = 0x6003070;
D_6003090 = 0x6003090;
D_6003348 = 0x6003348;
D_6003370 = 0x6003370;
D_60034C4 = 0x60034C4;
D_A6_60038C0 = 0x60038C0;
D_60038E0 = 0x60038E0;
D_60038F8 = 0x60038F8;
D_6004330 = 0x6004330;
D_6004380 = 0x6004380;
D_6004440 = 0x6004440;
D_6004500 = 0x6004500;
D_6004570 = 0x6004570;
D_60045E0 = 0x60045E0;
D_60046F0 = 0x60046F0;
D_A6_60047E0 = 0x60047E0;
D_6004900 = 0x6004900;
D_6004FE0 = 0x6004FE0;
D_A6_6005700 = 0x6005700;
D_6005710 = 0x6005710;
D_AQ_6005954 = 0x6005954;
@ -1580,8 +1517,6 @@ D_6006BE0 = 0x6006BE0;
D_6006BF0 = 0x6006BF0;
D_6006C0C = 0x6006C0C;
D_6006C28 = 0x6006C28;
D_6006D64 = 0x6006D64;
D_6006E50 = 0x6006E50;
D_6006EA0 = 0x6006EA0;
D_60071C0 = 0x60071C0;
D_6007290 = 0x6007290;
@ -1603,10 +1538,8 @@ D_6008BB8 = 0x6008BB8;
D_AQ_6008EC8 = 0x6008EC8;
D_TR_6008EF8 = 0x6008EF8;
D_AQ_6008FC8 = 0x6008FC8;
D_6009230 = 0x6009230;
D_6009250 = 0x6009250;
D_6009300 = 0x6009300;
D_60097E0 = 0x60097E0;
D_6009BB8 = 0x6009BB8;
D_6009BC0 = 0x6009BC0;
D_SX_6009C30 = 0x6009C30;
@ -1697,7 +1630,6 @@ D_600F3D0 = 0x600F3D0;
D_600F3D8 = 0x600F3D8;
D_600F4A4 = 0x600F4A4;
D_600F670 = 0x600F670;
D_600F6C0 = 0x600F6C0;
D_600F744 = 0x600F744;
D_SX_600F890 = 0x600F890;
D_SX_600F8A0 = 0x600F8A0;
@ -1738,12 +1670,10 @@ D_AQ_6012C98 = 0x6012C98;
D_6012C98 = 0x6012C98;
D_6012F50 = 0x6012F50;
D_6013060 = 0x6013060;
D_60132A0 = 0x60132A0;
D_6013330 = 0x6013330;
D_6013470 = 0x6013470;
D_6013480 = 0x6013480;
D_AQ_60135E0 = 0x60135E0;
D_6013600 = 0x6013600;
D_AQ_60136CC = 0x60136CC;
D_SX_6013798 = 0x6013798;
D_AQ_60137CC = 0x60137CC;
@ -1766,8 +1696,6 @@ D_60148B0 = 0x60148B0;
D_60148D0 = 0x60148D0;
D_6014904 = 0x6014904;
D_60149D0 = 0x60149D0;
D_6014A40 = 0x6014A40;
D_6014BD0 = 0x6014BD0;
D_AQ_6014FD0 = 0x6014FD0;
D_6015430 = 0x6015430;
D_6015510 = 0x6015510;
@ -1799,7 +1727,6 @@ D_A6_6018BF0 = 0x6018BF0;
D_6018C00 = 0x6018C00;
D_AQ_6018C78 = 0x6018C78;
D_6018D40 = 0x6018D40;
D_6018F30 = 0x6018F30;
D_6019030 = 0x6019030;
D_AQ_6019078 = 0x6019078;
D_6019220 = 0x6019220;
@ -1813,7 +1740,6 @@ D_AQ_6019880 = 0x6019880;
D_601996C = 0x601996C;
D_60199D0 = 0x60199D0;
D_6019E18 = 0x6019E18;
D_6019E50 = 0x6019E50;
D_AQ_6019E80 = 0x6019E80;
D_6019EB0 = 0x6019EB0;
D_A6_601A120 = 0x601A120;
@ -1824,7 +1750,6 @@ D_601A840 = 0x601A840;
D_SX_601AA28 = 0x601AA28;
D_601AA48 = 0x601AA48;
D_601AB14 = 0x601AB14;
D_601AD70 = 0x601AD70;
D_601AE40 = 0x601AE40;
D_601AFB8 = 0x601AFB8;
D_AQ_601AFF0 = 0x601AFF0;
@ -1850,7 +1775,6 @@ D_601C8E0 = 0x601C8E0;
D_601D188 = 0x601D188;
D_601D1F0 = 0x601D1F0;
D_601D680 = 0x601D680;
D_601D730 = 0x601D730;
D_601D750 = 0x601D750;
D_601D800 = 0x601D800;
D_601DB50 = 0x601DB50;
@ -1873,7 +1797,6 @@ D_601EBBC = 0x601EBBC;
D_AQ_601EC68 = 0x601EC68;
D_AQ_601EDB4 = 0x601EDB4;
D_601F270 = 0x601F270;
D_601F3D0 = 0x601F3D0;
D_601F874 = 0x601F874;
D_601F8E0 = 0x601F8E0;
D_601F920 = 0x601F920;
@ -1933,7 +1856,6 @@ D_60253E0 = 0x60253E0;
D_6025500 = 0x6025500;
D_60257B0 = 0x60257B0;
D_6025850 = 0x6025850;
D_60258A0 = 0x60258A0;
D_6025B50 = 0x6025B50;
D_6025CA0 = 0x6025CA0;
D_6025DAC = 0x6025DAC;
@ -1942,13 +1864,10 @@ D_AQ_60260EC = 0x60260EC;
D_60263F0 = 0x60263F0;
D_AQ_60263F8 = 0x60263F8;
D_6026420 = 0x6026420;
D_602645C = 0x602645C;
D_60265B4 = 0x60265B4;
D_6026860 = 0x6026860;
D_60269E0 = 0x60269E0;
D_6027320 = 0x6027320;
D_6027340 = 0x6027340;
D_602738C = 0x602738C;
D_602742C = 0x602742C;
D_6027A04 = 0x6027A04;
D_6027AF0 = 0x6027AF0;
@ -1968,8 +1887,6 @@ D_SX_6029890 = 0x6029890;
D_6029890 = 0x6029890;
D_602991C = 0x602991C;
D_6029A48 = 0x6029A48;
D_6029B48 = 0x6029B48;
D_602A2CC = 0x602A2CC;
D_602A520 = 0x602A520;
D_602A720 = 0x602A720;
D_602AA04 = 0x602AA04;
@ -1982,8 +1899,6 @@ D_602AC50 = 0x602AC50;
D_AQ_602ACC0 = 0x602ACC0;
D_602B148 = 0x602B148;
D_AQ_602B4C0 = 0x602B4C0;
D_602B778 = 0x602B778;
D_602B8DC = 0x602B8DC;
D_602BC18 = 0x602BC18;
D_602BC58 = 0x602BC58;
D_AQ_602BD60 = 0x602BD60;
@ -1993,8 +1908,6 @@ D_AQ_602C030 = 0x602C030;
D_AQ_602C088 = 0x602C088;
D_602C0D0 = 0x602C0D0;
D_602C2CC = 0x602C2CC;
D_602CEB4 = 0x602CEB4;
D_602D140 = 0x602D140;
D_602D380 = 0x602D380;
D_602D400 = 0x602D400;
D_602D5AC = 0x602D5AC;
@ -2020,7 +1933,6 @@ D_60306D0 = 0x60306D0;
D_6030750 = 0x6030750;
D_AQ_60308B8 = 0x60308B8;
D_60309D0 = 0x60309D0;
D_6030B14 = 0x6030B14;
D_AQ_6030D3C = 0x6030D3C;
D_AQ_6030D58 = 0x6030D58;
D_AQ_60314AC = 0x60314AC;
@ -2039,16 +1951,8 @@ D_SX_6032768 = 0x6032768;
D_SX_60328CC = 0x60328CC;
D_60329C0 = 0x60329C0;
D_6032BC0 = 0x6032BC0;
D_6032E18 = 0x6032E18;
D_6033000 = 0x6033000;
D_60338DC = 0x60338DC;
D_603405C = 0x603405C;
D_60340C0 = 0x60340C0;
D_6034124 = 0x6034124;
D_60341A8 = 0x60341A8;
D_603421C = 0x603421C;
D_60342A0 = 0x60342A0;
D_6034304 = 0x6034304;
D_6034B90 = 0x6034B90;
D_603531C = 0x603531C;
D_6035678 = 0x6035678;
@ -2305,13 +2209,6 @@ D_D008990 = 0xD008990;
D_D0098B0 = 0xD0098B0;
D_D009A40 = 0xD009A40;
D_D00B880 = 0xD00B880;
D_E000000 = 0xE000000;
D_E003AB0 = 0xE003AB0;
D_E00DFB0 = 0xE00DFB0;
D_E00E100 = 0xE00E100;
D_E00F020 = 0xE00F020;
D_E00FF40 = 0xE00FF40;
D_E010E60 = 0xE010E60;
D_F000000 = 0xF000000;
D_F000800 = 0xF000800;
D_F000F20 = 0xF000F20;

View file

@ -5,6 +5,7 @@
#include "assets/ast_allies.h"
#include "assets/ast_vs_player.h"
#include "assets/ast_enmy_planet.h"
#include "assets/ast_sector_z.h"
/* static */ Vec3f D_800C9A90 = { 0.0f, -10.0f, 0.0f };
/* static */ Vec3f D_800C9A9C[4] = {
@ -2229,8 +2230,8 @@ void func_80035448(Actor* actor) {
func_8004FEC0(actor);
break;
case 200:
Animation_GetFrameData(&D_6006D64, 0, sp7C);
Animation_DrawSkeleton(3, D_6006E50, sp7C, func_800352E0, NULL, actor, gCalcMatrix);
Animation_GetFrameData(&D_SZ_6006D64, 0, sp7C);
Animation_DrawSkeleton(3, D_SZ_6006E50, sp7C, func_800352E0, NULL, actor, gCalcMatrix);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -400.0f, 1);
Matrix_Scale(gGfxMatrix, actor->fwork[29], actor->fwork[29], actor->fwork[29], 1);
func_8005B1E8(actor, 3);
@ -2260,7 +2261,7 @@ void func_80035448(Actor* actor) {
break;
}
} else if (gCurrentLevel == LEVEL_SECTOR_Z) {
gSPDisplayList(gMasterDisp++, D_6004FE0) Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
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);

View file

@ -3,6 +3,8 @@
#include "variables.h"
#include "assets.h"
#include "assets/ast_aquas.h"
#include "assets/ast_sector_y.h"
#include "assets/ast_sector_z.h"
#include "assets/ast_vs_player.h"
extern Vec3f D_6030FD0[];
@ -55,7 +57,7 @@ CollisionHeader D_800D2B38[10] = {
{ -1704.0f, -1006.0f, -4751.0f },
{ 1704.0f, 1030.0f, 4842.0f },
174,
D_6033070,
D_SY_6033070,
D_6033E08,
},
{
@ -90,8 +92,8 @@ CollisionHeader D_800D2B38[10] = {
{ -1386.0f, -696.0f, -2274.0f },
{ 1386.0f, 1033.0f, 1833.0f },
316,
D_6007558,
D_6008E08,
D_SZ_6007558,
D_6008E08, //! TODO: replace with D_SZ_6008E08 after factory fix
},
{
{ -671.0f, 0.0f, -671.0f },

View file

@ -1465,7 +1465,7 @@ void func_80039A50(PlayerShot* shot) {
Matrix_Scale(gGfxMatrix, 3.0f, 3.0f, 20.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp);
RCP_SetupDL_40();
gSPDisplayList(gMasterDisp++, D_E00DFB0);
gSPDisplayList(gMasterDisp++, D_GREAT_FOX_E00DFB0);
break;
}
}

View file

@ -21,6 +21,8 @@ f32 D_80161394; // can be static
#include "assets/ast_vs_player.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_andross.h"
#include "assets/ast_warp_zone.h"
@ -618,7 +620,7 @@ void func_8003E1E8(void) {
Matrix_Scale(gGfxMatrix, 0.5f, 0.5f, 0.5f, 1);
Matrix_RotateX(gGfxMatrix, M_PI / 2, 1);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_6002F80);
gSPDisplayList(gMasterDisp++, D_SZ_6002F80);
break;
case LEVEL_SECTOR_Y:
Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f), -290.0f, 1);
@ -626,7 +628,7 @@ void func_8003E1E8(void) {
Matrix_SetGfxMtx(&gMasterDisp);
RCP_SetupDL_62();
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 192);
gSPDisplayList(gMasterDisp++, D_6001840);
gSPDisplayList(gMasterDisp++, D_SY_6001840);
break;
}
}

View file

@ -305,7 +305,7 @@ s32 D_80177B00[4][4];
u8 D_Timer_80177B44;
u8 D_80177B4C;
u8 D_80177B6C;
u8 D_80177B8C;
u8 gGreatFoxIntact;
u8 D_80177BAC;
u16 D_Timer_80177BD0[4];
u16 D_80177C30[4];

View file

@ -6,24 +6,19 @@
#include "global.h"
#include "assets.h"
#include "assets/ast_sector_x.h"
#include "assets/ast_aquas.h"
#include "assets/ast_great_fox.h"
#include "assets/ast_enmy_space.h"
#include "assets/ast_enmy_planet.h"
#include "assets/ast_ending.h"
#include "assets/ast_sector_x.h"
#include "assets/ast_sector_y.h"
#include "assets/ast_sector_z.h"
extern Gfx D_60320E0[];
extern s32 D_800C9E90[];
extern Animation D_60265B4;
extern Animation D_602B8DC;
extern Animation D_60034C4;
extern Animation D_602A2CC;
extern Animation D_602CEB4;
extern Animation D_602B778;
extern f32 D_80178454;
extern f32 D_80178458;
extern f32 D_80178464;
@ -33,15 +28,11 @@ extern f32 D_80178478;
extern Gfx D_6000D80[];
extern Gfx D_600BAA0[];
extern Gfx D_60132A0[];
extern Gfx D_60132B0[];
extern Gfx D_6014A40[];
extern Gfx D_6020810[];
extern Animation D_AQ_6020A40;
extern Animation D_601F3B8;
extern Limb* D_AQ_6020C6C[];
extern Limb* D_602D140[];
#include "assets/ast_allies.h"
@ -133,7 +124,7 @@ f32 D_800CA1D4[] = {
};
Animation* D_800CA1F4[] = {
&D_60265B4, &D_602B8DC, &D_60034C4, &D_602A2CC, &D_602CEB4, &D_602B778, &D_601F3B8,
&D_SY_60265B4, &D_SY_602B8DC, &D_SY_60034C4, &D_SY_602A2CC, &D_SY_602CEB4, &D_SY_602B778, &D_SY_601F3B8,
};
void func_80048AC0(s32 teamId) {
@ -2613,14 +2604,14 @@ void func_8004FEC0(Actor* actor) {
case 25:
if (actor->index & 1) {
gSPDisplayList(gMasterDisp++, D_6001DA0);
gSPDisplayList(gMasterDisp++, D_SZ_6001DA0);
} else {
gSPDisplayList(gMasterDisp++, D_6001360);
gSPDisplayList(gMasterDisp++, D_SZ_6001360);
}
break;
case 26:
gSPDisplayList(gMasterDisp++, D_6004FE0);
gSPDisplayList(gMasterDisp++, D_SZ_6004FE0);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
func_8005B1E8(actor, 2);
break;
@ -2780,14 +2771,14 @@ void func_8004FEC0(Actor* actor) {
Matrix_SetGfxMtx(&gMasterDisp);
/* fallthrough */
case 39:
gSPDisplayList(gMasterDisp++, D_60097E0);
gSPDisplayList(gMasterDisp++, D_SY_60097E0);
func_8004FCB8(actor, 4);
break;
case 36:
Matrix_Scale(gGfxMatrix, actor->scale, actor->scale, actor->scale, 1);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_601D730);
gSPDisplayList(gMasterDisp++, D_SY_601D730);
func_8004FCB8(actor, 0);
break;
@ -2805,7 +2796,7 @@ void func_8004FEC0(Actor* actor) {
Math_SmoothStepToVec3fArray(sp144, actor->vwork, 1, animFrameData, actor->fwork[2], 100.0f, .0f);
RCP_SetupDL_30(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
gDPSetPrimColor(gMasterDisp++, 0, 0, 150, 255, 150, 255);
Animation_DrawSkeleton(1, D_602D140, actor->vwork, 0, 0, actor, &gIdentityMatrix);
Animation_DrawSkeleton(1, D_SY_602D140, actor->vwork, 0, 0, actor, &gIdentityMatrix);
if (actor->fwork[0] != 0.0f) {
RCP_SetupDL_49();
@ -2865,7 +2856,7 @@ void func_8004FEC0(Actor* actor) {
break;
case 40:
gSPDisplayList(gMasterDisp++, D_60132A0);
gSPDisplayList(gMasterDisp++, D_SY_60132A0);
break;
case 41:
@ -2873,7 +2864,7 @@ void func_8004FEC0(Actor* actor) {
break;
case 42:
gSPDisplayList(gMasterDisp++, D_6014A40);
gSPDisplayList(gMasterDisp++, D_SY_6014A40);
break;
case 43:
@ -2942,10 +2933,10 @@ void func_800515C4(void) {
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, 1005);
}
if (D_80177B8C != 0) {
gSPDisplayList(gMasterDisp++, D_E000000);
if (gGreatFoxIntact) {
gSPDisplayList(gMasterDisp++, D_GREAT_FOX_E000000);
} else {
gSPDisplayList(gMasterDisp++, D_E003AB0);
gSPDisplayList(gMasterDisp++, D_GREAT_FOX_E003AB0);
}
if ((gCurrentLevel != LEVEL_AQUAS) &&
@ -2953,7 +2944,7 @@ void func_800515C4(void) {
RCP_SetupDL_49();
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
for (i = 0, var_s6_2 = D_800CA0BC; i < 4; i++, var_s6_2++) {
if ((i != 1) || (D_80177B8C != 0)) {
if ((i != 1) || gGreatFoxIntact) {
sp9C[i] = 0.0f;
if (i < 2) {
if (!(gGameFrameCount & 0x38)) {

View file

@ -17,6 +17,7 @@ f32 D_801615B8[4];
#include "assets/ast_allies.h"
#include "assets/ast_landmaster.h"
#include "assets/ast_vs_player.h"
#include "assets/ast_sector_z.h"
s32 D_800CA220 = 0;
u8 D_800CA224[] = { 0, 0, 0, 0 };
@ -1390,7 +1391,7 @@ void func_80057248(void) {
Matrix_SetGfxMtx(&gMasterDisp);
gDPSetTextureFilter(gMasterDisp++, G_TF_POINT);
if ((i == 0) && (gCurrentLevel == LEVEL_SECTOR_Z)) {
gSPDisplayList(gMasterDisp++, D_6004330);
gSPDisplayList(gMasterDisp++, D_SZ_6004330);
} else {
gSPDisplayList(gMasterDisp++, D_800CA354[i]);
}

View file

@ -5,6 +5,8 @@
#include "assets/ast_arwing.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_7_ti_1.h"
#include "assets/ast_andross.h"
@ -187,17 +189,17 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_80_103 */ {(void*) func_i5_801A23AC, 1, (ObjectFunc) NULL, D_800CBF34, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_80_104 */ {(void*) func_i5_801A23AC, 1, (ObjectFunc) func_i5_801A0BD8, D_6036594, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_80_105 */ {(void*) func_i5_801A23AC, 1, (ObjectFunc) NULL, D_6036204, 1300.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_80_106 */ {(void*) D_60097E0, 0, (ObjectFunc) NULL, D_6034478, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_107 */ {(void*) D_601D730, 0, (ObjectFunc) NULL, D_603450C, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_108 */ {(void*) D_60102C0, 0, (ObjectFunc) NULL, D_6034588, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_109 */ {(void*) D_60036A0, 0, (ObjectFunc) func_i6_801A4E44, D_6034664, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_110 */ {(void*) D_6005360, 0, (ObjectFunc) NULL, D_6034770, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_106 */ {(void*) D_SY_60097E0, 0, (ObjectFunc) NULL, D_SY_6034478, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_107 */ {(void*) D_SY_601D730, 0, (ObjectFunc) NULL, D_SY_603450C, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_108 */ {(void*) D_SY_60102C0, 0, (ObjectFunc) NULL, D_SY_6034588, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_109 */ {(void*) D_SY_60036A0, 0, (ObjectFunc) func_i6_801A4E44, D_SY_6034664, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_110 */ {(void*) D_SY_6005360, 0, (ObjectFunc) NULL, D_SY_6034770, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_111 */ {(void*) func_80074F90, 1, (ObjectFunc) NULL, D_800CBF34, 2000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_80_112 */ {(void*) D_600F6C0, 0, (ObjectFunc) func_i6_801A52B8, D_60347F0, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_113 */ {(void*) D_601B610, 0, (ObjectFunc) NULL, D_800CBF34, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_114 */ {(void*) D_601C6A0, 0, (ObjectFunc) NULL, D_800CBF34, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_115 */ {(void*) D_60188D0, 0, (ObjectFunc) NULL, D_603486C, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_116 */ {(void*) D_60034D0, 0, (ObjectFunc) NULL, D_60347D4, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_112 */ {(void*) D_SY_600F6C0, 0, (ObjectFunc) func_i6_801A52B8, D_SY_60347F0, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_113 */ {(void*) D_SY_601B610, 0, (ObjectFunc) NULL, D_800CBF34, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_114 */ {(void*) D_SY_601C6A0, 0, (ObjectFunc) NULL, D_800CBF34, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_115 */ {(void*) D_SY_60188D0, 0, (ObjectFunc) NULL, D_SY_603486C, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_116 */ {(void*) D_SY_60034D0, 0, (ObjectFunc) NULL, D_SY_60347D4, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_117 */ {(void*) D_AQ_60231C0, 0, (ObjectFunc) NULL, D_AQ_6030C60, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_118 */ {(void*) D_AQ_6011EE0, 0, (ObjectFunc) NULL, D_AQ_6030C7C, 2000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_119 */ {(void*) D_AQ_6015730, 0, (ObjectFunc) NULL, D_AQ_6030D74, 2000.0f, 0, 0, 39, 0, 0.0f, 0 },
@ -237,9 +239,9 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_80_153 */ {(void*) D_600B8B0, 0, (ObjectFunc) NULL, D_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_6034368, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_157 */ {(void*) D_6001DA0, 0, (ObjectFunc) NULL, D_600924C, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_158 */ {(void*) D_6001360, 0, (ObjectFunc) NULL, D_60092E8, 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 },
/* OBJ_80_157 */ {(void*) D_SZ_6001DA0, 0, (ObjectFunc) NULL, D_SZ_600924C, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_158 */ {(void*) D_SZ_6001360, 0, (ObjectFunc) NULL, D_SZ_60092E8, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_159 */ {(void*) D_6008370, 0, (ObjectFunc) NULL, D_601668C, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_160 */ {(void*) D_6010960, 0, (ObjectFunc) NULL, D_6016714, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_4C_161 */ {(void*) D_602F7C0, 0, (ObjectFunc) func_80068FE0, D_603E468, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
@ -285,7 +287,7 @@ ObjectInfo D_800CC124[0x190] = {
/* 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_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_603405C, 1000.0f, 0, 0, 39, 0, 1.0f, 1 },
/* 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_60359C8, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_206 */ {(void*) func_i5_801A12C4, 1, (ObjectFunc) func_i5_801AC438, D_6035A48, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_207 */ {(void*) func_i5_801AC294, 2, (ObjectFunc) func_i5_801A7E7C, D_603677C, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
@ -394,7 +396,7 @@ ObjectInfo D_800CC124[0x190] = {
/* 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_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_6009388, 0.0f, 0, 0, 40, 0, 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 },
/* OBJ_BOSS_SO */ {(void*) func_i3_801A71B8, 2, (ObjectFunc) func_i3_801A5B3C, D_800CBF34, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_316 */ {(void*) func_i4_801968F4, 1, (ObjectFunc) func_i4_801946C4, D_6011058, 0.0f, 0, 0, 40, 0, 0.0f, 10 },

View file

@ -22,6 +22,7 @@ extern Gfx D_601BAD0[];
#include "assets/ast_bg_planet.h"
#include "assets/ast_training.h"
#include "assets/ast_sector_x.h"
#include "assets/ast_sector_y.h"
#include "assets/ast_aquas.h"
#include "assets/ast_area_6.h"
#include "assets/ast_A_ti.h"
@ -807,7 +808,7 @@ void func_800798F0(Effect* effect) {
case 16:
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
gSPDisplayList(gMasterDisp++, D_600F6C0);
gSPDisplayList(gMasterDisp++, D_SY_600F6C0);
gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK);
break;

View file

@ -2,6 +2,8 @@
#include "global.h"
#include "assets.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_andross.h"
#include "assets/ast_area_6.h"
@ -15,9 +17,9 @@ u8 D_80161684;
#include "fox_enmy_assets.h"
ObjectInit* D_800CFDA0[] = {
D_60371A4, D_6026CC4, D_SX_602A164, D_A6_6023F64, D_A6_60287A4, D_602E4F4, D_6007E74,
D_601F234, D_6026714, D_C035154, D_TR_6006AA4, D_6031000, D_6006C60, D_602E5C8,
D_600EAD4, NULL, D_6011044, D_600FF74, D_6006EB4, D_6014D94, D_vs_player_302DE3C,
D_60371A4, D_6026CC4, D_SX_602A164, D_A6_6023F64, D_A6_60287A4, D_SY_602E4F4, D_6007E74,
D_601F234, D_6026714, D_C035154, D_TR_6006AA4, D_6031000, D_6006C60, D_602E5C8,
D_600EAD4, NULL, D_6011044, D_600FF74, D_SZ_6006EB4, D_6014D94, D_vs_player_302DE3C,
};
s32 D_800CFDF4[] = {
OBJ_80_0,
@ -64,11 +66,11 @@ u32 D_800CFF54[9] = {
};
void func_80060F30(f32* pos, u32 sfxId, s32 arg2) {
(void) "CHIME SET \n";
(void) "BOMB SET 1\n";
(void) "BOMB SET 2\n";
(void) "center_X %f\n";
(void) "Enm->obj.pos.x %f\n";
PRINTF("CHIME SET \n");
PRINTF("BOMB SET 1\n");
PRINTF("BOMB SET 2\n");
PRINTF("center_X %f\n");
PRINTF("Enm->obj.pos.x %f\n");
if (!gVersusMode) {
AUDIO_PLAY_SFX(sfxId, gDefaultSfxSource, 4);
} else {

View file

@ -11,6 +11,7 @@ s32 D_80161690;
#include "assets/ast_warp_zone.h"
#include "assets/ast_allies.h"
#include "assets/ast_sector_x.h"
#include "assets/ast_sector_y.h"
#include "assets/ast_aquas.h"
#include "assets/ast_7_ti_1.h"
#include "assets/ast_andross.h"
@ -905,26 +906,26 @@ UnkStruct_D003C D_800D003C[108] = {
{ NULL, D_SX_603238C, 1.0f, 500.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 },
{ D_SX_6020D20, D_SX_60328CC, -1.0f, 2100.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ NULL, D_800CBF34, 1.0f, 100.0f, 3001.0f, 2, 0, 0, 0, 0.0f, 1 },
{ D_60097E0, D_6034478, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_601D730, D_603450C, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_SY_60097E0, D_SY_6034478, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ 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_60102C0, D_6034588, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ 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_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 },
{ NULL, D_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 },
{ NULL, D_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 },
{ NULL, D_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 },
{ D_6015D60, D_6034124, 2.0f, 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 },
{ NULL, D_SY_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 },
{ D_SY_6015D60, D_SY_6034124, 2.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 },
{ NULL, D_602C1A0, -1.0f, 1000.0f, 3000.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_SX_600B540, D_SX_60328E8, -1.0f, 2100.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_ENMY_SPACE_4000EC0, D_800CBE8C, 1.5f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 },
{ D_ENMY_SPACE_4008D50, D_800CBE8C, 1.5f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 },
{ NULL, D_800CBF34, -1.0f, 2000.0f, 3000.0f, 0, 0, 3, 0, 0.0f, 1 },
{ D_60102C0, D_800CBF34, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_601F3D0, D_800CBF34, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_6022B10, D_800CBF34, 2.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 0.0f, 1 },
{ D_60209F0, D_800CBF34, 2.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 0.0f, 1 },
{ D_SY_60102C0, D_800CBF34, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ 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 },
@ -932,16 +933,16 @@ UnkStruct_D003C D_800D003C[108] = {
{ 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_60205D0, D_603445C, 3.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 },
{ D_60036A0, D_6034664, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_601AD70, D_800CBF34, 4.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 0.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 },
{ D_arwing_3007650, D_800CBF34, 1.0f, 100.0f, 3000.0f, 2, 0, 5, 0, 0.0f, 1 },
{ D_60034D0, D_60347D4, 3.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 },
{ D_6005360, D_6034770, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_600F6C0, D_60347F0, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_601B610, D_800CBF34, -1.0f, 10000.0f, 3001.0f, 0, 0, 1, 0, 0.0f, 1 },
{ D_601C6A0, D_800CBF34, -1.0f, 10000.0f, 3001.0f, 0, 0, 1, 0, 0.0f, 1 },
{ D_60188D0, D_603486C, 3.0f, 100.0f, 3001.0f, 0, 0, 1, 0, 0.0f, 1 },
{ D_SY_60034D0, D_SY_60347D4, 3.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 },
{ D_SY_6005360, D_SY_6034770, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_SY_600F6C0, D_SY_60347F0, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_SY_601B610, D_800CBF34, -1.0f, 10000.0f, 3001.0f, 0, 0, 1, 0, 0.0f, 1 },
{ D_SY_601C6A0, D_800CBF34, -1.0f, 10000.0f, 3001.0f, 0, 0, 1, 0, 0.0f, 1 },
{ D_SY_60188D0, D_SY_603486C, 3.0f, 100.0f, 3001.0f, 0, 0, 1, 0, 0.0f, 1 },
{ NULL, D_800CBEA8, 1.0f, 100.0f, 3000.0f, 2, 0, 0, 0, 1.0f, 0 },
{ NULL, D_602C294, 1.0f, 100.0f, 3000.0f, 0, 0, 0, 0, 1.0f, 1 },
{ NULL, D_601B474, -1.0f, 100.0f, 3000.0f, 2, 0, 0, 0, 0.0f, 1 },
@ -1013,7 +1014,7 @@ void func_8006D36C(Actor* actor) {
var_v1 = SEGMENTED_TO_VIRTUAL(D_A6_6027F50);
break;
case LEVEL_SECTOR_Y:
var_v1 = SEGMENTED_TO_VIRTUAL(D_6032E18);
var_v1 = SEGMENTED_TO_VIRTUAL(D_SY_6032E18);
break;
case LEVEL_SOLAR:
var_v1 = SEGMENTED_TO_VIRTUAL(D_6020DD0);
@ -3757,7 +3758,7 @@ bool func_80074F04(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* thi
s32 func_80074F90(Object_80* obj80) {
RCP_SetupDL(&gMasterDisp, 0x3C);
gSPDisplayList(gMasterDisp++, D_601AD70);
gSPDisplayList(gMasterDisp++, D_SY_601AD70);
RCP_SetupDL(&gMasterDisp, 0x40);
return 0;
}

View file

@ -1,17 +1,5 @@
// #include "prevent_bss_reordering.h"
#include "sf64math.h"
#include "assets/ast_blue_marine.h"
#include "assets/ast_landmaster.h"
#include "assets/ast_training.h"
#include "assets/ast_andross.h"
#include "assets/ast_star_wolf.h"
#include "assets/ast_font.h"
#include "assets/ast_vs_player.h"
#include "assets/ast_bg_planet.h"
#include "assets/ast_bg_space.h"
#include "assets/ast_area_6.h"
#include "assets/ast_aquas.h"
// BSS section range:
// D_801616A0 <==> D_80161910
@ -84,12 +72,26 @@ s32 D_80161900[20];
#include "global.h"
#include "assets.h"
#include "assets/ast_blue_marine.h"
#include "assets/ast_landmaster.h"
#include "assets/ast_training.h"
#include "assets/ast_andross.h"
#include "assets/ast_star_wolf.h"
#include "assets/ast_font.h"
#include "assets/ast_vs_player.h"
#include "assets/ast_bg_planet.h"
#include "assets/ast_bg_space.h"
#include "assets/ast_area_6.h"
#include "assets/ast_aquas.h"
#include "assets/ast_sector_x.h"
#include "assets/ast_sector_y.h"
#include "assets/ast_sector_z.h"
void func_80087788(void);
// Segmented addresses
extern u8 D_6000000[];
extern u16 D_6000840[];
extern u16 D_6000C80[];
extern u8 D_6000D80[];
extern u8 D_6001260[];
@ -559,15 +561,15 @@ s32 func_800863C8(void) {
}
UnkStruct_D_800D1AEC D_800D1AEC[] = {
{ D_500A050, 16, 15, D_6000000, 128, 28 }, { D_500A140, 16, 15, D_6000000, 96, 28 },
{ D_500A140, 16, 15, D_6000000, 176, 12 }, { D_500A230, 16, 15, D_6000000, 168, 28 },
{ D_500A230, 16, 15, D_6000000, 168, 28 }, { D_500A230, 16, 15, D_AQ_6000000, 96, 13 },
{ D_500A320, 16, 15, D_6000000, 176, 12 }, { D_500A320, 16, 15, D_6000000, 112, 13 },
{ D_500A320, 16, 15, D_6000000, 112, 28 }, { D_500A410, 16, 15, D_6000000, 96, 28 },
{ D_500A410, 16, 15, D_6000000, 160, 28 }, { D_500A410, 16, 15, D_6000000, 176, 12 },
{ D_500A500, 16, 15, D_6000000, 168, 19 }, { D_500A500, 16, 15, D_A6_6000000, 104, 28 },
{ D_500A5F0, 16, 15, D_6000D80, 128, 28 }, { D_500A5F0, 16, 15, D_60012D0, 128, 28 },
{ D_500A5F0, 16, 15, D_C000A80, 128, 28 }, { D_5009F60, 16, 15, D_5000D50, 80, 12 },
{ D_500A050, 16, 15, D_6000000, 128, 28 }, { D_500A140, 16, 15, D_6000000, 96, 28 },
{ D_500A140, 16, 15, D_SY_6000000, 176, 12 }, { D_500A230, 16, 15, D_6000000, 168, 28 },
{ D_500A230, 16, 15, D_6000000, 168, 28 }, { D_500A230, 16, 15, D_AQ_6000000, 96, 13 },
{ D_500A320, 16, 15, D_SZ_6000000, 176, 12 }, { D_500A320, 16, 15, D_6000000, 112, 13 },
{ D_500A320, 16, 15, D_6000000, 112, 28 }, { D_500A410, 16, 15, D_6000000, 96, 28 },
{ D_500A410, 16, 15, D_6000000, 160, 28 }, { D_500A410, 16, 15, D_SX_6000000, 176, 12 },
{ D_500A500, 16, 15, D_6000000, 168, 19 }, { D_500A500, 16, 15, D_A6_6000000, 104, 28 },
{ D_500A5F0, 16, 15, D_6000D80, 128, 28 }, { D_500A5F0, 16, 15, D_60012D0, 128, 28 },
{ D_500A5F0, 16, 15, D_C000A80, 128, 28 }, { D_5009F60, 16, 15, D_5000D50, 80, 12 },
};
void func_80086444(void) {
@ -1757,7 +1759,7 @@ void func_800898F0(void) {
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 208, 80, 255);
Matrix_Scale(gGfxMatrix, 30.0f, 30.0f, 1.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_6004570);
gSPDisplayList(gMasterDisp++, D_SZ_6004570);
}
f32 D_800D1E10 = 0.0f;
@ -2103,7 +2105,7 @@ s32 func_8008A4DC(void) {
switch (gCurrentLevel) {
case LEVEL_SECTOR_Z:
TextureRect_8bIA(&gMasterDisp, D_60012D0, 16, 9, 251.0f + D_800D1E10, 181.0f, 1.00f, 1.00f);
TextureRect_8bIA(&gMasterDisp, D_SZ_60012D0, 16, 9, 251.0f + D_800D1E10, 181.0f, 1.00f, 1.00f);
break;
case LEVEL_FORTUNA:
@ -2122,7 +2124,7 @@ s32 func_8008A4DC(void) {
if ((y < 150.0f) || (y > 206.0f)) {
break;
}
TextureRect_8bIA(&gMasterDisp, D_6000840, 64, 64, 250.0f + D_800D1E10, temp, 0.25f, 0.25f);
TextureRect_8bIA(&gMasterDisp, D_SY_6000840, 64, 64, 250.0f + D_800D1E10, temp, 0.25f, 0.25f);
}
break;

View file

@ -4,6 +4,8 @@
#include "fox_map.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_andross.h"
#include "assets/ast_arwing.h"
@ -378,7 +380,7 @@ void func_800A55B0(void) {
s32 i;
s32 j;
D_80178310 = SEGMENTED_TO_VIRTUAL(D_6030B14);
D_80178310 = SEGMENTED_TO_VIRTUAL(D_SY_6030B14);
for (j = 0, obj58 = gObjects58; j < 200; j++) {
if (D_80178310[j].id <= OBJ_INVALID) {
@ -461,9 +463,9 @@ void func_800A5844(void) {
}
EnvSettings* D_800D2F98[21] = {
&D_6037160, &D_ENV_6026C80, &D_SX_602A120, &D_A6_6023F20, &D_A6_6028760, &D_602E4B0, &D_6007E30,
&D_601F1F0, &D_60266D0, &D_C035110, &D_TR_6006A60, &D_6030E30_Env, &D_6005000, &D_AQ_602E540,
&D_600EA90, NULL, &D_6011000, &D_600FF30_Env, &D_6006E70, &D_6014D50, &D_vs_player_302DD70,
&D_6037160, &D_ENV_6026C80, &D_SX_602A120, &D_A6_6023F20, &D_A6_6028760, &D_SY_602E4B0, &D_6007E30,
&D_601F1F0, &D_60266D0, &D_C035110, &D_TR_6006A60, &D_6030E30_Env, &D_6005000, &D_AQ_602E540,
&D_600EA90, NULL, &D_6011000, &D_600FF30_Env, &D_SZ_6006E70, &D_6014D50, &D_vs_player_302DD70,
};
void func_800A594C(void) {
@ -2365,7 +2367,7 @@ void func_800AB334(void) {
D_80178294 = 0;
switch (gCurrentLevel) {
case LEVEL_SECTOR_Z:
D_80177B8C = 1;
gGreatFoxIntact = true;
break;
case LEVEL_METEO:
case LEVEL_SECTOR_X:
@ -4359,7 +4361,7 @@ void func_800B0F50(Player* playerx) {
gGoldRingCount[0] = D_80161A94[0] = gTotalHits = 0;
gLifeCount[gPlayerNum] = 2;
gBombCount[gPlayerNum] = 3;
D_80177B8C = 1;
gGreatFoxIntact = true;
if (gCamCount == (gPlayerNum + 1)) {
D_80161720[0] = 0.0f;
D_80161720[1] = 0.0f;

View file

@ -16,6 +16,7 @@ s32 D_80178748;
#include "assets/ast_allies.h"
#include "assets/ast_training.h"
#include "assets/ast_sector_x.h"
#include "assets/ast_sector_y.h"
#include "assets/ast_aquas.h"
#include "assets/ast_star_wolf.h"
#include "assets/ast_great_fox.h"
@ -299,10 +300,10 @@ void func_800BAAE8(void) {
sp44 = D_SX_6021ED0;
break;
case RCID_BOSS_SECTORY:
sp44 = D_6018F30;
sp44 = D_SY_6018F30;
break;
case RCID_BOSS_SECTORY_OPEN:
sp44 = D_6019E50;
sp44 = D_SY_6019E50;
break;
case RCID_BOSS_MACBETH:
sp44 = D_6010C20;
@ -365,16 +366,16 @@ void func_800BAAE8(void) {
sp44 = D_D008990;
break;
case RCID_ROB64_TITLE:
sp44 = D_E00E100;
sp44 = D_GREAT_FOX_E00E100;
break;
case RCID_ROB64_TITLE_OPEN:
sp44 = D_E00F020;
sp44 = D_GREAT_FOX_E00F020;
break;
case RCID_GEN_PEPPER_TITLE:
sp44 = D_E00FF40;
sp44 = D_GREAT_FOX_E00FF40;
break;
case RCID_GEN_PEPPER_TITLE_OPEN:
sp44 = D_E010E60;
sp44 = D_GREAT_FOX_E010E60;
break;
case RCID_TR:
sp44 = D_TR_6000900;

View file

@ -1784,12 +1784,12 @@ void func_ending_8018C21C(void) {
Matrix_RotateZ(gGfxMatrix, gActors[i].obj.rot.z * M_DTOR, 1);
Matrix_SetGfxMtx(&gMasterDisp);
if (D_80177B8C != 0) {
gSPDisplayList(gMasterDisp++, D_E000000);
if (gGreatFoxIntact) {
gSPDisplayList(gMasterDisp++, D_GREAT_FOX_E000000);
}
if (D_80177B8C == 0) {
gSPDisplayList(gMasterDisp++, D_E003AB0);
if (!gGreatFoxIntact) {
gSPDisplayList(gMasterDisp++, D_GREAT_FOX_E003AB0);
}
RCP_SetupDL(&gMasterDisp, 0x31);

View file

@ -1,5 +1,6 @@
#include "global.h"
#include "assets.h"
#include "assets/ast_sector_z.h"
s32 D_i4_801A0560;
s32 D_i4_801A0564;
@ -8,10 +9,6 @@ Vec3f D_i4_8019F4C0[] = { 0.0f, 0.0f, 35000.0f, -2000.0f, 0.0f, 35000.0f, 2000.0
Vec3f D_i4_8019F4E4[] = { -700.0f, -200.0f, 200.0f, 500.0f, 200.0f, -300.0f,
300.0f, -300.0f, -200.0f, 200.0f, 400.0f, 500.0f };
extern Gfx D_6001A10[];
extern Gfx D_60045E0[];
extern f32 D_6009230[];
extern s32 D_80161710;
void func_8002EE34(void);
@ -188,7 +185,7 @@ void func_i4_80199FCC(Actor* actor, s32 arg1) {
actor->health = 250;
actor->info.drawType = 2;
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_6009230);
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SZ_6009230);
actor->fwork[1] = 25.0f;
actor->fwork[29] = 2.0f;
@ -1027,7 +1024,7 @@ f32 D_i4_8019F63C[] = { -200.0f, -250.0f, -500.0f, 5000.0f };
void func_i4_8019C574(Actor* actor, s32 index) {
f32 var_fv0 = 1.0f;
if (D_80177B8C == 0) {
if (!gGreatFoxIntact) {
var_fv0 = -1.0f;
}
@ -1096,7 +1093,7 @@ void func_i4_8019C85C(Player* player) {
Boss* boss0 = &gBosses[0];
f32 var_fv1 = 1.0f;
if (D_80177B8C == 0) {
if (!gGreatFoxIntact) {
var_fv1 = -1.0f;
}
@ -1195,11 +1192,11 @@ void func_i4_8019C85C(Player* player) {
Math_SmoothStepToF(&boss0->fwork[2], 0.5f, 1.0f, 0.05f, 0.0f);
Math_SmoothStepToF(&boss0->fwork[3], 0.7f, 1.0f, 0.7f, 0.0f);
if ((gCsFrameCount == 100) && (D_80177B8C != 0)) {
if ((gCsFrameCount == 100) && gGreatFoxIntact) {
AUDIO_PLAY_BGM(SEQ_ID_38);
}
if ((gCsFrameCount == 210) && (D_80177B8C != 0)) {
if ((gCsFrameCount == 210) && gGreatFoxIntact) {
D_80177840 = 100;
D_80177930 = 1;
}
@ -1222,7 +1219,7 @@ void func_i4_8019C85C(Player* player) {
D_80178340 = 0;
if (player->timer_1F8 == 0) {
if (D_80177B8C == 0) {
if (!gGreatFoxIntact) {
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 50);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 50);
}
@ -1351,7 +1348,7 @@ void func_i4_8019C85C(Player* player) {
break;
}
if (D_80177B8C != 0) {
if (gGreatFoxIntact) {
switch (gCsFrameCount) {
case 1729:
Radio_PlayMessage(gMsg_ID_16250, RCID_ROB64);
@ -1476,7 +1473,7 @@ void func_i4_8019C85C(Player* player) {
break;
case 1370:
if (D_80177B8C != 0) {
if (gGreatFoxIntact) {
D_80177930 = 1;
} else {
AUDIO_PLAY_BGM(SEQ_ID_49);
@ -1485,7 +1482,7 @@ void func_i4_8019C85C(Player* player) {
break;
case 1560:
if (D_80177B8C == 0) {
if (!gGreatFoxIntact) {
D_80177840 = 100;
}
break;
@ -1618,7 +1615,7 @@ void func_i4_8019DD20(Actor* actor) {
break;
case 400:
if (D_80177B8C != 0) {
if (gGreatFoxIntact) {
Radio_PlayMessage(gMsg_ID_16160, RCID_KATT);
} else {
Radio_PlayMessage(gMsg_ID_16165, RCID_KATT);
@ -1689,10 +1686,10 @@ void func_i4_8019E234(Actor* actor) {
}
void func_i4_8019E3A8(Actor* actor) {
gSPDisplayList(gMasterDisp++, D_6001A10);
gSPDisplayList(gMasterDisp++, D_SZ_6001A10);
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
RCP_SetupDL(&gMasterDisp, 0x39);
gSPDisplayList(gMasterDisp++, D_60045E0);
gSPDisplayList(gMasterDisp++, D_SZ_60045E0);
gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK);
}
@ -1719,7 +1716,7 @@ void func_i4_8019E454(Boss* boss) {
}
if (boss->timer_050 == 1) {
D_80177B8C = 0;
gGreatFoxIntact = false;
}
if (boss->timer_050 == 5) {
@ -1760,7 +1757,7 @@ void func_i4_8019E454(Boss* boss) {
boss->obj.rot.y = boss->unk_078.y + 180.0f;
boss->obj.rot.z = -boss->unk_078.z;
if (D_80177B8C == 0) {
if (!gGreatFoxIntact) {
Matrix_RotateY(gCalcMatrix, (boss->obj.rot.y - 270.0f) * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, boss->obj.rot.x * M_DTOR, 1);
Matrix_RotateZ(gCalcMatrix, boss->obj.rot.z * M_DTOR, 1);

View file

@ -1,28 +1,8 @@
#include "global.h"
#include "assets.h"
#include "assets/ast_sector_y.h"
extern Animation D_6003348;
extern Animation D_60034C4;
extern Gfx D_6013600[];
extern Gfx D_6014A40[];
extern Gfx D_6014BD0[];
extern Gfx D_601F3D0[];
extern Animation D_60258A0;
extern Animation D_602645C;
extern Animation D_60265B4;
extern Animation D_602738C;
extern Animation D_6029B48;
extern Animation D_602A2CC;
extern Animation D_602B778;
extern Animation D_602B8DC;
extern Animation D_602CEB4;
extern Limb* D_602D140[];
extern f32 D_60340C0[];
extern f32 D_6034124[];
extern f32 D_60341A8[];
extern f32 D_603421C[];
extern f32 D_60342A0[];
extern f32 D_6034304[];
void func_i6_80198244(Boss*);
void func_i6_80198ABC(Boss*);
@ -66,9 +46,8 @@ void func_i6_80197B30(Actor* actor, s32 timer) {
}
void func_i6_80197C64(Effect* effect) {
RCP_SetupDL_21();
gSPDisplayList(gMasterDisp++, D_6014A40);
gSPDisplayList(gMasterDisp++, D_SY_6014A40);
RCP_SetupDL(&gMasterDisp, 0x40);
}
@ -76,41 +55,47 @@ void func_i6_80197CB8(Object_80* obj80) {
}
void func_i6_80197CC4(Boss* boss) {
boss->fwork[9] = 0.0f;
boss->swork[33] = 5500;
boss->timer_050 = 10;
boss->timer_058 = 0;
D_80177A10[8] = 0;
if (boss->index == 0) {
boss->info.hitbox = SEGMENTED_TO_VIRTUAL(D_60342A0);
boss->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SY_60342A0);
boss->health = 150;
boss->swork[28] = 5;
boss->fwork[43] = 3.5f;
boss->fwork[45] = 40.0f;
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_9) {
boss->obj.pos.z = -28900.0f;
gObjects58[0].obj.pos.z = -30000.0f;
}
boss->unk_078.y = 0.0f;
func_i6_8019AEC0(boss);
} else {
boss->fwork[34] = 2.8f;
boss->info.hitbox = SEGMENTED_TO_VIRTUAL(D_6034304);
boss->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SY_6034304);
boss->health = 100;
boss->swork[28] = 0;
boss->swork[25] = 1;
boss->fwork[45] = 35.0f;
if (boss->index == 1) {
boss->unk_078.y = 15.0f;
} else {
boss->unk_078.y = 345.0f;
}
boss->vel.x = SIN_DEG(boss->unk_078.y) * boss->fwork[45] * 0.2f;
boss->vel.z = COS_DEG(boss->unk_078.y) * boss->fwork[45] * 0.2f;
func_i6_80198244(boss);
boss->timer_056 = 250;
}
if (gLevelMode == LEVELMODE_ON_RAILS) {
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3) {
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_9;
@ -140,6 +125,7 @@ void func_i6_80197F84(Boss* boss) {
Math_SmoothStepToF(&boss->vel.z, 0.0f, 0.1f, 0.2f, 0.1f);
Math_SmoothStepToF(&boss->vel.x, 0.0f, 0.1f, 0.2f, 0.1f);
Math_SmoothStepToAngle(&boss->unk_078.x, 0.0f, 0.1f, 4.0f, 0.1f);
if (func_i6_8019B5CC(boss) != 0) {
Math_SmoothStepToF(&boss->obj.pos.y, 1000.0f, 0.1f, 30.0f, 0.1f);
} else {
@ -154,9 +140,11 @@ void func_i6_80197F84(Boss* boss) {
yaw = Math_RadToDeg(Math_Atan2F(boss->fwork[18] - boss->obj.pos.x, boss->fwork[20] - boss->obj.pos.z));
Math_SmoothStepToAngle(&boss->unk_078.y, yaw, 0.1f, 8.0f, 0.1f);
if (boss->timer_050 == 0) {
func_i6_80198244(boss);
}
if (boss->swork[22] == 1) {
if (ABS(boss->vel.x) <= 1.0f && (ABS(boss->vel.z) <= 1.0f) &&
(fabsf(boss->fwork[18] - boss->obj.pos.x) <= 400.0f) &&
@ -169,6 +157,7 @@ void func_i6_80197F84(Boss* boss) {
}
}
}
if (func_i6_8019B528(boss) != 0) {
func_i6_80198ABC(boss);
}
@ -206,9 +195,11 @@ void func_i6_801983E4(Boss* boss) {
f32 zSpeed;
func_i6_8019B6E8(boss);
if (boss->timer_052 == 0) {
func_i6_8019BC14(boss);
}
Math_SmoothStepToAngle(&boss->unk_078.z, 0.0f, 0.1f, 2.0f, 0.1f);
Math_SmoothStepToAngle(&boss->unk_078.x, 0.0f, 0.1f, 2.0f, 0.1f);
Math_SmoothStepToF(&boss->vel.x, boss->fwork[11], 0.1f, 0.5f, 0.1f);
@ -238,22 +229,27 @@ void func_i6_801983E4(Boss* boss) {
boss->fwork[34] = 2.8f;
}
}
func_i6_8019C194(boss, zSpeed, xSpeed);
if (boss->swork[22] == 1) {
yAngle = gPlayer[0].unk_114 - 180.0f;
if (yAngle < 0.0f) {
yAngle += 360.0f;
}
yAngle = boss->unk_078.y - yAngle;
if (yAngle < 0.0f) {
yAngle += 360.0f;
}
if ((zSpeed <= 1300.0f) && (xSpeed <= 800.0f) && (yAngle < 260.0f) && (yAngle > 100.0f) &&
(boss->unk_078.x == 0.0f) && (boss->fwork[34] <= 2.0f)) {
if (Rand_ZeroOne() < 0.2f) {
func_i6_8019AA08(boss);
}
}
if ((zSpeed < 3400.0f) || (xSpeed < 2400.0f)) {
if (((yAngle >= 60.0f) && (yAngle <= 100.0f)) || ((yAngle <= 300.0f) && (yAngle >= 260.0f))) {
if (Rand_ZeroOne() < 0.3f) {
@ -264,6 +260,7 @@ void func_i6_801983E4(Boss* boss) {
}
}
}
if (((yAngle > 300.0f) || (yAngle < 60.0f)) && (boss->unk_078.x == 0.0f)) {
if (Rand_ZeroOne() < 0.3f) {
if (Rand_ZeroOne() < 0.4f) {
@ -281,11 +278,13 @@ void func_i6_801983E4(Boss* boss) {
}
}
}
if (func_i6_8019B5CC(boss) != 0) {
Math_SmoothStepToF(&boss->obj.pos.y, 1000.0f, 0.1f, 30.0f, 0.1f);
} else {
Math_SmoothStepToF(&boss->obj.pos.y, 0.0f, 0.1f, 5.0f, 0.1f);
}
if (boss->timer_056 == 0) {
if (Rand_ZeroOne() <= 0.7f) {
func_i6_80199D64(boss);
@ -293,6 +292,7 @@ void func_i6_801983E4(Boss* boss) {
func_i6_80197F18(boss);
}
}
if (func_i6_8019B528(boss) != 0) {
func_i6_80198ABC(boss);
}
@ -305,12 +305,14 @@ void func_i6_80198ABC(Boss* boss) {
if (yAngle < 0.0f) {
yAngle += 360.0f;
}
boss->swork[20] = 4;
boss->swork[21] = 3;
boss->fwork[34] = 4.5f;
boss->timer_056 = (s32) (RAND_FLOAT(100.0f) + 100.0f);
boss->timer_050 = 0;
if (yAngle > 180.0f) {
boss->fwork[27] = 40.0f;
if (boss->index == 0) {
@ -330,11 +332,13 @@ void func_i6_80198ABC(Boss* boss) {
func_8002E4F8(gMsg_ID_14200, RCID_FALCO);
}
break;
case 1:
if ((gBosses[1].obj.status == OBJ_FREE) && (gBosses[2].obj.status == OBJ_FREE)) {
func_8002E4F8(gMsg_ID_14320, RCID_BOSS_SECTORY);
}
break;
case 2:
if ((gTeamShields[2] > 0) && (gBosses[1].obj.status != OBJ_FREE) && (gBosses[2].obj.status != OBJ_FREE)) {
func_8002E4F8(gMsg_ID_14220, RCID_SLIPPY);
@ -350,9 +354,11 @@ void func_i6_80198CE4(Boss* boss) {
f32 yAngle;
func_i6_8019B6E8(boss);
if (boss->timer_052 == 0) {
func_i6_8019BC14(boss);
}
Math_SmoothStepToAngle(&boss->unk_078.z, boss->fwork[27], 0.1f, 0.5f, 0.1f);
Math_SmoothStepToAngle(&boss->unk_078.x, 0.0f, 0.1f, 4.0f, 0.1f);
yAngle = Math_RadToDeg(Math_Atan2F(-boss->obj.pos.x, -300.0f - boss->obj.pos.z));
@ -362,6 +368,7 @@ void func_i6_80198CE4(Boss* boss) {
} else {
Math_SmoothStepToAngle(&boss->unk_078.y, yAngle, 0.1f, 2.0f, 0.1f);
}
if (boss->index == 0) {
boss->vel.x = SIN_DEG(boss->unk_078.y) * (boss->fwork[45] + 20.0f);
boss->vel.z = COS_DEG(boss->unk_078.y) * (boss->fwork[45] + 20.0f);
@ -369,16 +376,20 @@ void func_i6_80198CE4(Boss* boss) {
boss->vel.x = SIN_DEG(boss->unk_078.y) * boss->fwork[45];
boss->vel.z = COS_DEG(boss->unk_078.y) * boss->fwork[45];
}
if (func_i6_8019B5CC(boss) != 0) {
Math_SmoothStepToF(&boss->obj.pos.y, 1000.0f, 0.1f, 30.0f, 0.1f);
} else {
Math_SmoothStepToF(&boss->obj.pos.y, 0.0f, 0.1f, 5.0f, 0.1f);
}
Math_SmoothStepToF(&boss->vel.y, 0.0f, 0.1f, 0.2f, 0.1f);
yAngle -= boss->unk_078.y;
if (yAngle < 0.0f) {
yAngle += 360.0f;
}
if ((func_i6_8019B528(boss) == 0) && ((yAngle <= 20.0f) || (yAngle >= 320.0f))) {
func_i6_80198244(boss);
}
@ -394,15 +405,19 @@ void func_i6_80198F5C(Boss* boss) {
boss->timer_05C = 20;
func_8007C120(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z, boss->vel.x, boss->vel.y, boss->vel.z, 0.1f, 10);
boss->health -= boss->damage;
if (boss->health < 0) {
boss->health = 0;
}
boss->timer_058 = 20;
if (boss->health <= 0) {
boss->unk_04C = 0;
boss->swork[36] = 0;
boss->swork[21] = 9;
boss->info.hitbox = SEGMENTED_TO_VIRTUAL(D_800CBF34);
if (boss->index == 0) {
boss->timer_058 = 20000;
boss->vel.x = boss->vel.y = boss->vel.z = 0.0f;
@ -425,6 +440,7 @@ void func_i6_80198F5C(Boss* boss) {
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 30);
return;
}
if ((gBosses[1].obj.status == OBJ_FREE) || (gBosses[2].obj.status == OBJ_FREE)) {
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 20);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 20);
@ -581,7 +597,7 @@ void func_i6_80199438(Boss* boss) {
Object_Kill(&gActors[D_80177A10[9]].obj, gActors[D_80177A10[9]].sfxSource);
if ((gBosses[1].obj.status == OBJ_FREE) || (gBosses[2].obj.status == OBJ_FREE)) {
gBosses[0].unk_04A = 1;
gObjects58[0].info.dList = D_601F3D0;
gObjects58[0].info.dList = D_SY_601F3D0;
gObjects58[0].info.drawType = 0;
} else {
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_3;
@ -608,7 +624,7 @@ void func_i6_80199438(Boss* boss) {
}
}
func_8007D2C8(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z + 30.0f, 4.0f);
boss->info.hitbox = SEGMENTED_TO_VIRTUAL(D_6034304);
boss->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SY_6034304);
AUDIO_PLAY_SFX(0x2903A06F, boss->sfxSource, 4);
}
}
@ -849,12 +865,12 @@ void func_i6_8019AA08(Boss* boss) {
if (Rand_ZeroOne() >= 0.5f) {
boss->swork[21] = 7;
boss->swork[31] = 11;
boss->swork[32] = Animation_GetFrameCount(&D_602645C) - 1;
boss->swork[32] = Animation_GetFrameCount(&D_SY_602645C) - 1;
} else if (boss->index == 0) {
boss->swork[21] = 8;
boss->swork[31] = 13;
boss->swork[32] = Animation_GetFrameCount(&D_60258A0) - 1;
boss->swork[32] = Animation_GetFrameCount(&D_SY_60258A0) - 1;
} else {
return;
@ -1369,56 +1385,56 @@ void func_i6_8019C888(Boss* boss) {
switch (boss->swork[21]) {
case 0:
boss->unk_04C = Animation_GetFrameCount(&D_602B778) - 1;
sp1D0 = Animation_GetFrameData(&D_602B778, boss->unk_04C, sp64);
boss->unk_04C = Animation_GetFrameCount(&D_SY_602B778) - 1;
sp1D0 = Animation_GetFrameData(&D_SY_602B778, boss->unk_04C, sp64);
break;
case 1:
boss->unk_04C = Animation_GetFrameCount(&D_60265B4) - 1;
sp1D0 = Animation_GetFrameData(&D_60265B4, boss->unk_04C, sp64);
boss->unk_04C = Animation_GetFrameCount(&D_SY_60265B4) - 1;
sp1D0 = Animation_GetFrameData(&D_SY_60265B4, boss->unk_04C, sp64);
break;
case 2:
boss->unk_04C = Animation_GetFrameCount(&D_6029B48) - 1;
sp1D0 = Animation_GetFrameData(&D_6029B48, boss->unk_04C, sp64);
boss->unk_04C = Animation_GetFrameCount(&D_SY_6029B48) - 1;
sp1D0 = Animation_GetFrameData(&D_SY_6029B48, boss->unk_04C, sp64);
break;
case 3:
boss->unk_04C = Animation_GetFrameCount(&D_602B8DC) - 1;
sp1D0 = Animation_GetFrameData(&D_602B8DC, boss->unk_04C, sp64);
boss->unk_04C = Animation_GetFrameCount(&D_SY_602B8DC) - 1;
sp1D0 = Animation_GetFrameData(&D_SY_602B8DC, boss->unk_04C, sp64);
break;
case 4:
boss->unk_04C++;
if (boss->unk_04C >= Animation_GetFrameCount(&D_6003348)) {
boss->unk_04C = Animation_GetFrameCount(&D_6003348) - 1;
if (boss->unk_04C >= Animation_GetFrameCount(&D_SY_6003348)) {
boss->unk_04C = Animation_GetFrameCount(&D_SY_6003348) - 1;
}
sp1D0 = Animation_GetFrameData(&D_6003348, boss->unk_04C, sp64);
sp1D0 = Animation_GetFrameData(&D_SY_6003348, boss->unk_04C, sp64);
break;
case 5:
boss->unk_04C++;
if (boss->unk_04C >= Animation_GetFrameCount(&D_602738C)) {
if (boss->unk_04C >= Animation_GetFrameCount(&D_SY_602738C)) {
boss->unk_04C = 0;
}
sp1D0 = Animation_GetFrameData(&D_602738C, boss->unk_04C, sp64);
sp1D0 = Animation_GetFrameData(&D_SY_602738C, boss->unk_04C, sp64);
break;
case 6:
sp1D0 = Animation_GetFrameData(&D_602738C, boss->unk_04C, sp64);
sp1D0 = Animation_GetFrameData(&D_SY_602738C, boss->unk_04C, sp64);
break;
case 7:
if (boss->unk_04C < (Animation_GetFrameCount(&D_602645C) - 1)) {
if (boss->unk_04C < (Animation_GetFrameCount(&D_SY_602645C) - 1)) {
boss->unk_04C++;
}
sp1D0 = Animation_GetFrameData(&D_602645C, boss->unk_04C, sp64);
sp1D0 = Animation_GetFrameData(&D_SY_602645C, boss->unk_04C, sp64);
break;
case 8:
if (boss->unk_04C < (Animation_GetFrameCount(&D_60258A0) - 1)) {
if (boss->unk_04C < (Animation_GetFrameCount(&D_SY_60258A0) - 1)) {
boss->unk_04C++;
}
sp1D0 = Animation_GetFrameData(&D_60258A0, boss->unk_04C, sp64);
sp1D0 = Animation_GetFrameData(&D_SY_60258A0, boss->unk_04C, sp64);
break;
case 9:
boss->unk_04C++;
if (boss->unk_04C >= Animation_GetFrameCount(&D_60034C4)) {
if (boss->unk_04C >= Animation_GetFrameCount(&D_SY_60034C4)) {
boss->unk_04C = 0;
}
sp1D0 = Animation_GetFrameData(&D_60034C4, boss->unk_04C, sp64);
sp1D0 = Animation_GetFrameData(&D_SY_60034C4, boss->unk_04C, sp64);
break;
}
boss->obj.rot.x = boss->unk_078.x;
@ -1645,7 +1661,7 @@ s32 func_i6_8019DC4C(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* d
case 17:
rot->x += boss->fwork[8];
rot->y -= boss->fwork[7];
*dList = D_6014BD0;
*dList = D_SY_6014BD0;
break;
case 18:
rot->x += boss->fwork[6];
@ -1680,7 +1696,7 @@ s32 func_i6_8019DE10(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* d
break;
case 4:
if (boss->swork[25] == 0) {
*dList = D_6013600;
*dList = D_SY_6013600;
if (boss->swork[24] & 1) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 255, 0, 255);
}
@ -1691,7 +1707,7 @@ s32 func_i6_8019DE10(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* d
case 17:
rot->x += boss->fwork[8];
rot->y -= boss->fwork[7];
*dList = D_6014BD0;
*dList = D_SY_6014BD0;
break;
case 18:
rot->x += boss->fwork[6];
@ -1781,7 +1797,7 @@ void func_i6_8019E2C4(Boss* boss) {
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
}
if ((boss->health > 0) || (boss->swork[36] == 0)) {
Animation_DrawSkeleton(2, D_602D140, boss->vwork, func_i6_8019DE10, func_i6_8019E014, boss, gCalcMatrix);
Animation_DrawSkeleton(2, D_SY_602D140, boss->vwork, func_i6_8019DE10, func_i6_8019E014, boss, gCalcMatrix);
if (boss->timer_054 != 0) {
sp9C = D_i6_801A69AC[boss->timer_054];
RCP_SetupDL_49();
@ -3298,11 +3314,11 @@ void func_i6_801A3BD4(Actor* actor) {
break;
case 5:
actor->unk_046 = 5;
actor->unk_0B6 = Animation_GetFrameCount(&D_602B778) - 1;
actor->unk_0B6 = Animation_GetFrameCount(&D_SY_602B778) - 1;
break;
case 7:
actor->unk_046 = 6;
actor->unk_0B6 = Animation_GetFrameCount(&D_602B778) - 1;
actor->unk_0B6 = Animation_GetFrameCount(&D_SY_602B778) - 1;
break;
}
actor->unk_048 = 0;
@ -3314,30 +3330,30 @@ void func_i6_801A3BD4(Actor* actor) {
i = actor->iwork[17];
if (i != 0) {
if (i == 1) {
actor->unk_0B6 = Animation_GetFrameCount(&D_60265B4) - 1;
sp4C = Animation_GetFrameData(&D_60265B4, actor->unk_0B6, sp68);
actor->unk_0B6 = Animation_GetFrameCount(&D_SY_60265B4) - 1;
sp4C = Animation_GetFrameData(&D_SY_60265B4, actor->unk_0B6, sp68);
} else if (i == 2) {
actor->unk_0B6 = Animation_GetFrameCount(&D_602B8DC) - 1;
sp4C = Animation_GetFrameData(&D_602B8DC, actor->unk_0B6, sp68);
actor->unk_0B6 = Animation_GetFrameCount(&D_SY_602B8DC) - 1;
sp4C = Animation_GetFrameData(&D_SY_602B8DC, actor->unk_0B6, sp68);
}
} else {
actor->unk_0B6 = Animation_GetFrameCount(&D_602CEB4);
sp4C = Animation_GetFrameData(&D_602CEB4, actor->unk_0B6, sp68);
actor->unk_0B6 = Animation_GetFrameCount(&D_SY_602CEB4);
sp4C = Animation_GetFrameData(&D_SY_602CEB4, actor->unk_0B6, sp68);
}
break;
case 1:
i = actor->iwork[17];
if (i != 0) {
if (i == 1) {
actor->unk_0B6 = Animation_GetFrameCount(&D_60265B4) - 1;
sp4C = Animation_GetFrameData(&D_60265B4, actor->unk_0B6, sp68);
actor->unk_0B6 = Animation_GetFrameCount(&D_SY_60265B4) - 1;
sp4C = Animation_GetFrameData(&D_SY_60265B4, actor->unk_0B6, sp68);
} else if (i == 2) {
actor->unk_0B6 = Animation_GetFrameCount(&D_602B8DC) - 1;
sp4C = Animation_GetFrameData(&D_602B8DC, actor->unk_0B6, sp68);
actor->unk_0B6 = Animation_GetFrameCount(&D_SY_602B8DC) - 1;
sp4C = Animation_GetFrameData(&D_SY_602B8DC, actor->unk_0B6, sp68);
}
} else {
actor->unk_0B6 = Animation_GetFrameCount(&D_602A2CC) - 1;
sp4C = Animation_GetFrameData(&D_602A2CC, actor->unk_0B6, sp68);
actor->unk_0B6 = Animation_GetFrameCount(&D_SY_602A2CC) - 1;
sp4C = Animation_GetFrameData(&D_SY_602A2CC, actor->unk_0B6, sp68);
}
if (actor->timer_0BE == 15) {
actor->timer_0C4 = 4;
@ -3365,19 +3381,19 @@ void func_i6_801A3BD4(Actor* actor) {
}
break;
case 2:
if (actor->unk_0B6 < (Animation_GetFrameCount(&D_6029B48) - 1)) {
if (actor->unk_0B6 < (Animation_GetFrameCount(&D_SY_6029B48) - 1)) {
actor->unk_0B6++;
}
sp4C = Animation_GetFrameData(&D_6029B48, actor->unk_0B6, sp68);
sp4C = Animation_GetFrameData(&D_SY_6029B48, actor->unk_0B6, sp68);
break;
case 4:
actor->unk_0B6++;
if (actor->unk_0B6 >= (Animation_GetFrameCount(&D_602B778) - 1)) {
if (actor->unk_0B6 >= (Animation_GetFrameCount(&D_SY_602B778) - 1)) {
actor->unk_046 = 0;
actor->iwork[17] = 0;
actor->fwork[15] = 0.0f;
}
sp4C = Animation_GetFrameData(&D_602B778, actor->unk_0B6, sp68);
sp4C = Animation_GetFrameData(&D_SY_602B778, actor->unk_0B6, sp68);
break;
case 5:
case 6:
@ -3391,14 +3407,14 @@ void func_i6_801A3BD4(Actor* actor) {
}
actor->unk_046 = 0;
}
sp4C = Animation_GetFrameData(&D_602B778, actor->unk_0B6, sp68);
sp4C = Animation_GetFrameData(&D_SY_602B778, actor->unk_0B6, sp68);
break;
case 3:
actor->unk_0B6++;
if (actor->unk_0B6 >= Animation_GetFrameCount(&D_6003348)) {
actor->unk_0B6 = Animation_GetFrameCount(&D_6003348) - 1;
if (actor->unk_0B6 >= Animation_GetFrameCount(&D_SY_6003348)) {
actor->unk_0B6 = Animation_GetFrameCount(&D_SY_6003348) - 1;
}
sp4C = Animation_GetFrameData(&D_6003348, actor->unk_0B6, sp68);
sp4C = Animation_GetFrameData(&D_SY_6003348, actor->unk_0B6, sp68);
if ((actor->timer_0BE % 4U) == 0) {
func_8007D2C8(RAND_FLOAT_CENTERED(150.0f) + actor->obj.pos.x,
RAND_FLOAT_CENTERED(150.0f) + actor->obj.pos.y, actor->obj.pos.z + 30.0f, 4.0f);
@ -3479,20 +3495,20 @@ void func_i6_801A3BD4(Actor* actor) {
} else {
Math_SmoothStepToF(&actor->fwork[27], 0.0f, 1.0f, 0.05f, 0.0f);
}
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_603405C);
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SY_603405C);
if (actor->unk_046 == 1) {
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_603421C);
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SY_603421C);
}
i = actor->iwork[17];
if (i != 0) {
if (i == 1) {
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_6034124);
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SY_6034124);
} else if (i == 2) {
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_60341A8);
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SY_60341A8);
}
}
if (actor->unk_046 == 2) {
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_60340C0);
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SY_60340C0);
}
if ((actor->unk_0D0 != 0) && (actor->unk_046 != 3)) {
@ -3554,7 +3570,7 @@ s32 func_i6_801A4A18(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* d
rot->x += actor->fwork[28];
rot->y -= actor->fwork[29];
if (actor->unk_0B4 == 48) {
*dList = D_6014BD0;
*dList = D_SY_6014BD0;
}
}
if (limbIndex == 18) {
@ -3585,7 +3601,7 @@ void func_i6_801A4CB0(Actor* actor) {
f32 scale;
RCP_SetupDL_30(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
Animation_DrawSkeleton(2, D_602D140, actor->vwork, func_i6_801A4A18, func_i6_801A4C34, actor, gCalcMatrix);
Animation_DrawSkeleton(2, D_SY_602D140, actor->vwork, func_i6_801A4A18, func_i6_801A4C34, actor, gCalcMatrix);
if (actor->timer_0C4 != 0) {
scale = D_i6_801A6B64[actor->timer_0C4];

View file

@ -2487,7 +2487,7 @@ void func_menu_8018E058(void) {
Matrix_SetGfxMtx(&gMasterDisp);
RCP_SetupDL(&gMasterDisp, 0x17);
D_80177B8C = 1;
gGreatFoxIntact = true;
func_800515C4();
func_8005F1EC(D_menu_801B8658.unk_24);

@ -1 +1 @@
Subproject commit 6e9f82312178d1fbc002a04ce97cf8b5add1f402
Subproject commit aa22c0803efa346b7886e8c2d44a04eddb020b3c

View file

@ -85,8 +85,12 @@
- name: ast_great_fox
exclusive_ram_id: segment_0E
type: bin
type: code
dir: assets
start: 0x92EC40
vram: 0x0E000000
subsegments:
- [0x92EC40, .data, ast_great_fox/ast_great_fox]
- name: ast_star_wolf
exclusive_ram_id: segment_0F
@ -173,8 +177,12 @@
- name: ast_sector_z
exclusive_ram_id: segment_06
type: bin
type: code
dir: assets
start: 0xA4FBB0
vram: 0x06000000
subsegments:
- [0xA4FBB0, .data, ast_sector_z/ast_sector_z]
- name: ast_aquas
exclusive_ram_id: segment_06
@ -222,8 +230,12 @@
- name: ast_sector_y
exclusive_ram_id: segment_06
type: bin
type: code
dir: assets
start: 0xB2CA50
vram: 0x06000000
subsegments:
- [0xB2CA50, .data, ast_sector_y/ast_sector_y]
- name: ast_solar
exclusive_ram_id: segment_06