Sector Z, Fortuna & General Docs (#261)

* Sector Z Docs initial

* Sector Z docs

* some other things

* correction

* Space Junk

* SectorZ_SetLevelObjects

* rename assets with correct prefix

* aSzBackgroundTex

* details

* pr review

* Sector X initials

* Meteo Initials

* Sector X things I forgot

* fox_tr360 & fox_ve1 & fox_so initials

* fox_so details

* Zones initials

* More Zones initials

* more zones initials

* area 6 initials

* fortuna inits

* fortuna actors

* some more docs

* more docs for Fortuna

* fix mistake in data incorrectly imported

* Fortuna Radars

* BossFO

* Sector Y Initials

* Venom 2 general Docs

* Some Corneria Docs

* Actor, Scenery and Boss IDs in update and draw functions of gObjectInfo

* more docs and this usage

* fox_360 this usage

* more actor types and this usages

* fox_effect type usage

* training docs

* some Sector X docs

* fix incorrect usage of "this"

* fix comment

* more docs

* funcNames

* fox_bg spacing

* boolean

* scenery corneria bumbs

* terrain bumps

* corneria arch

* more corneria objects

* hitboxes

* more corneria objects

* more corneria level objects

* more corneria objects

* aCoWaterfallDL

* corneria docs

* more corneria docs

* Granga swork start

* corneria swork

* Corneria

* Corneria Granga docs

* more granga docs

* granga work buffer enum

* CarrierParts enum use

* option

* Corneria Docs

* GRANGA_FWK

* fox_co.h header

* fix Fault_FillRectangle typo

* PR reviews

* sCsTeamInitialPos

* Doodad
This commit is contained in:
Alejandro Asenjo Nitti 2024-07-06 09:47:49 -03:00 committed by GitHub
parent 24e316a2b2
commit c348962cab
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
75 changed files with 14011 additions and 12859 deletions

View File

@ -56,8 +56,8 @@ D_arwing_3007550:
D_arwing_30075D0: D_arwing_30075D0:
{ type: TEXTURE, format: RGBA16, offset: 0x30075D0, width: 8, height: 8, ctype: u16, symbol: D_arwing_30075D0 } { type: TEXTURE, format: RGBA16, offset: 0x30075D0, width: 8, height: 8, ctype: u16, symbol: D_arwing_30075D0 }
D_arwing_3007650: aArwingItemLasersDL:
{ type: GFX, offset: 0x3007650, symbol: D_arwing_3007650 } { type: GFX, offset: 0x3007650, symbol: aArwingItemLasersDL }
ast_arwing_seg3_vtx_7A20: ast_arwing_seg3_vtx_7A20:
{ type: VTX, offset: 0x3007A20, count: 244, symbol: ast_arwing_seg3_vtx_7A20 } { type: VTX, offset: 0x3007A20, count: 244, symbol: ast_arwing_seg3_vtx_7A20 }

View File

@ -18,8 +18,8 @@
D_CO_6000000: D_CO_6000000:
{ type: TEXTURE, ctype: u8, format: IA8, width: 128, height: 28, offset: 0x6000000, symbol: D_CO_6000000 } { type: TEXTURE, ctype: u8, format: IA8, width: 128, height: 28, offset: 0x6000000, symbol: D_CO_6000000 }
D_CO_6000E00: aCoWaterfallDL:
{ type: GFX, offset: 0x6000E00, symbol: D_CO_6000E00 } { type: GFX, offset: 0x6000E00, symbol: aCoWaterfallDL }
D_CO_60018F8: D_CO_60018F8:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060018F8, symbol: D_CO_60018F8 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060018F8, symbol: D_CO_60018F8 }
@ -48,8 +48,8 @@ D_CO_60059F0:
D_CO_6005A80: D_CO_6005A80:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06005A80, symbol: D_CO_6005A80 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06005A80, symbol: D_CO_6005A80 }
D_CO_6006A80: aCoArch3DL:
{ type: GFX, offset: 0x6006A80, symbol: D_CO_6006A80 } { type: GFX, offset: 0x6006A80, symbol: aCoArch3DL }
D_CO_6006E08: D_CO_6006E08:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06006E08, symbol: D_CO_6006E08 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06006E08, symbol: D_CO_6006E08 }
@ -102,11 +102,11 @@ D_CO_6010250:
D_CO_6010F90: D_CO_6010F90:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06010F90, symbol: D_CO_6010F90 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06010F90, symbol: D_CO_6010F90 }
D_CO_6010A50: aCoHighway7DL:
{ type: GFX, offset: 0x6010A50, symbol: D_CO_6010A50 } { type: GFX, offset: 0x6010A50, symbol: aCoHighway7DL }
D_CO_6010E00: aCoHighway5DL:
{ type: GFX, offset: 0x6010E00, symbol: D_CO_6010E00 } { type: GFX, offset: 0x6010E00, symbol: aCoHighway5DL }
D_CO_6011790: D_CO_6011790:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06011790, symbol: D_CO_6011790 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06011790, symbol: D_CO_6011790 }
@ -123,53 +123,53 @@ D_CO_6012840:
D_CO_6012D00: D_CO_6012D00:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06012D00, symbol: D_CO_6012D00 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06012D00, symbol: D_CO_6012D00 }
D_CO_60132B0: aCoHighway1DL:
{ type: GFX, offset: 0x60132B0, symbol: D_CO_60132B0 } { type: GFX, offset: 0x60132B0, symbol: aCoHighway1DL }
D_CO_60137B0: aCoArch2DL:
{ type: GFX, offset: 0x60137B0, symbol: D_CO_60137B0 } { type: GFX, offset: 0x60137B0, symbol: aCoArch2DL }
D_CO_6013B50: aCoRockwallDL:
{ type: GFX, offset: 0x6013B50, symbol: D_CO_6013B50 } { type: GFX, offset: 0x6013B50, symbol: aCoRockwallDL }
D_CO_6013BE0: D_CO_6013BE0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06013BE0, symbol: D_CO_6013BE0 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06013BE0, symbol: D_CO_6013BE0 }
D_CO_60143E0: aCoHighway8DL:
{ type: GFX, offset: 0x60143E0, symbol: D_CO_60143E0 } { type: GFX, offset: 0x60143E0, symbol: aCoHighway8DL }
D_CO_6014500: aCoHighway4DL:
{ type: GFX, offset: 0x6014500, symbol: D_CO_6014500 } { type: GFX, offset: 0x6014500, symbol: aCoHighway4DL }
D_CO_6014670: aCoHighway6DL:
{ type: GFX, offset: 0x6014670, symbol: D_CO_6014670 } { type: GFX, offset: 0x6014670, symbol: aCoHighway6DL }
D_CO_6014A20: aCoHighway9DL:
{ type: GFX, offset: 0x6014A20, symbol: D_CO_6014A20 } { type: GFX, offset: 0x6014A20, symbol: aCoHighway9DL }
D_CO_6014B50: aCoBuilding3DL:
{ type: GFX, offset: 0x6014B50, symbol: D_CO_6014B50 } { type: GFX, offset: 0x6014B50, symbol: aCoBuilding3DL }
D_CO_60151A8: D_CO_60151A8:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x060151A8, symbol: D_CO_60151A8 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x060151A8, symbol: D_CO_60151A8 }
D_CO_60153B0: aCoTowerDL:
{ type: GFX, offset: 0x60153B0, symbol: D_CO_60153B0 } { type: GFX, offset: 0x60153B0, symbol: aCoTowerDL }
D_CO_6015F00: aCoStoneArchDL:
{ type: GFX, offset: 0x6015F00, symbol: D_CO_6015F00 } { type: GFX, offset: 0x6015F00, symbol: aCoStoneArchDL }
D_CO_6015700: D_CO_6015700:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06015700, symbol: D_CO_6015700 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06015700, symbol: D_CO_6015700 }
D_CO_6016270: aRadarDL:
{ type: GFX, offset: 0x6016270, symbol: D_CO_6016270 } { type: GFX, offset: 0x6016270, symbol: aRadarDL }
D_CO_60164F0: aCoHighway3DL:
{ type: GFX, offset: 0x60164F0, symbol: D_CO_60164F0 } { type: GFX, offset: 0x60164F0, symbol: aCoHighway3DL }
D_CO_6016580: aCoBuilding4DL:
{ type: GFX, offset: 0x6016580, symbol: D_CO_6016580 } { type: GFX, offset: 0x6016580, symbol: aCoBuilding4DL }
D_CO_6017F10: D_CO_6017F10:
{ type: GFX, offset: 0x6017F10, symbol: D_CO_6017F10 } { type: GFX, offset: 0x6017F10, symbol: D_CO_6017F10 }
@ -177,8 +177,8 @@ D_CO_6017F10:
D_CO_60186E0: D_CO_60186E0:
{ type: GFX, offset: 0x60186E0, symbol: D_CO_60186E0 } { type: GFX, offset: 0x60186E0, symbol: D_CO_60186E0 }
D_CO_6018E80: aCoBuilding7DL:
{ type: GFX, offset: 0x6018E80, symbol: D_CO_6018E80 } { type: GFX, offset: 0x6018E80, symbol: aCoBuilding7DL }
D_CO_60191C8: D_CO_60191C8:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060191C8, symbol: D_CO_60191C8 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060191C8, symbol: D_CO_60191C8 }
@ -195,14 +195,14 @@ D_CO_6019E60:
D_CO_601FF58: D_CO_601FF58:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601FF58, symbol: D_CO_601FF58 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601FF58, symbol: D_CO_601FF58 }
D_CO_601A7D0: aCoBuilding2DL:
{ type: GFX, offset: 0x601A7D0, symbol: D_CO_601A7D0 } { type: GFX, offset: 0x601A7D0, symbol: aCoBuilding2DL }
D_CO_601AD60: D_CO_601AD60:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601AD60, symbol: D_CO_601AD60 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601AD60, symbol: D_CO_601AD60 }
D_CO_601B560: aCoBuilding5DL:
{ type: GFX, offset: 0x601B560, symbol: D_CO_601B560 } { type: GFX, offset: 0x601B560, symbol: aCoBuilding5DL }
D_CO_601B640: D_CO_601B640:
{ type: GFX, offset: 0x601B640, symbol: D_CO_601B640 } { type: GFX, offset: 0x601B640, symbol: D_CO_601B640 }
@ -210,14 +210,14 @@ D_CO_601B640:
D_CO_601B6C0: D_CO_601B6C0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601B6C0, symbol: D_CO_601B6C0 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601B6C0, symbol: D_CO_601B6C0 }
D_CO_601BEC0: aCoBump2DL:
{ type: GFX, offset: 0x601BEC0, symbol: D_CO_601BEC0 } { type: GFX, offset: 0x601BEC0, symbol: aCoBump2DL }
D_CO_601C1A8: D_CO_601C1A8:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601C1A8, symbol: D_CO_601C1A8 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601C1A8, symbol: D_CO_601C1A8 }
D_CO_601C9B0: aCoTreeDL:
{ type: GFX, offset: 0x601C9B0, symbol: D_CO_601C9B0 } { type: GFX, offset: 0x601C9B0, symbol: aCoTreeDL }
D_CO_601CAA0: D_CO_601CAA0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0601CAA0, symbol: D_CO_601CAA0 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0601CAA0, symbol: D_CO_601CAA0 }
@ -234,8 +234,8 @@ D_CO_601ED00:
D_CO_601F500: D_CO_601F500:
{ type: GFX, offset: 0x601F500, symbol: D_CO_601F500 } { type: GFX, offset: 0x601F500, symbol: D_CO_601F500 }
D_CO_601F5A0: aCoArch1DL:
{ type: GFX, offset: 0x601F5A0, symbol: D_CO_601F5A0 } { type: GFX, offset: 0x601F5A0, symbol: aCoArch1DL }
D_CO_6020760: D_CO_6020760:
{ type: GFX, offset: 0x6020760, symbol: D_CO_6020760 } { type: GFX, offset: 0x6020760, symbol: D_CO_6020760 }
@ -258,8 +258,8 @@ D_CO_6023DE8:
D_CO_6024160: D_CO_6024160:
{ type: GFX, offset: 0x6024160, symbol: D_CO_6024160 } { type: GFX, offset: 0x6024160, symbol: D_CO_6024160 }
D_CO_60244A0: aCoBump4DL:
{ type: GFX, offset: 0x60244A0, symbol: D_CO_60244A0 } { type: GFX, offset: 0x60244A0, symbol: aCoBump4DL }
D_CO_60245E0: D_CO_60245E0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x060245E0, symbol: D_CO_60245E0 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x060245E0, symbol: D_CO_60245E0 }
@ -285,14 +285,14 @@ D_CO_6029528:
D_CO_6029674: D_CO_6029674:
{ type: SF64:SKELETON, offset: 0x6029674, symbol: D_CO_6029674 } { type: SF64:SKELETON, offset: 0x6029674, symbol: D_CO_6029674 }
D_CO_602991C: aCoGaruda1Anim:
{ type: SF64:ANIM, offset: 0x602991C, symbol: D_CO_602991C } { type: SF64:ANIM, offset: 0x602991C, symbol: aCoGaruda1Anim }
D_CO_6029A48: aCoGarudaSkel:
{ type: SF64:SKELETON, offset: 0x6029A48, symbol: D_CO_6029A48 } { type: SF64:SKELETON, offset: 0x6029A48, symbol: aCoGarudaSkel }
D_CO_602A520: aCoGaruda3Anim:
{ type: SF64:ANIM, offset: 0x602A520, symbol: D_CO_602A520 } { type: SF64:ANIM, offset: 0x602A520, symbol: aCoGaruda3Anim }
D_CO_602AA04: D_CO_602AA04:
{ type: SF64:ANIM, offset: 0x602AA04, symbol: D_CO_602AA04 } { type: SF64:ANIM, offset: 0x602AA04, symbol: D_CO_602AA04 }
@ -300,8 +300,8 @@ D_CO_602AA04:
D_CO_602AA7C: D_CO_602AA7C:
{ type: SF64:ANIM, offset: 0x602AA7C, symbol: D_CO_602AA7C } { type: SF64:ANIM, offset: 0x602AA7C, symbol: D_CO_602AA7C }
D_CO_602AB48: aCoDoorsSkel:
{ type: SF64:SKELETON, offset: 0x602AB48, symbol: D_CO_602AB48 } { type: SF64:SKELETON, offset: 0x602AB48, symbol: aCoDoorsSkel }
D_CO_602BC18: D_CO_602BC18:
{ type: SF64:ANIM, offset: 0x602BC18, symbol: D_CO_602BC18 } { type: SF64:ANIM, offset: 0x602BC18, symbol: D_CO_602BC18 }
@ -318,11 +318,11 @@ D_CO_602D31C:
D_CO_602D400: D_CO_602D400:
{ type: SF64:ANIM, offset: 0x602D400, symbol: D_CO_602D400 } { type: SF64:ANIM, offset: 0x602D400, symbol: D_CO_602D400 }
D_CO_602D5AC: aCoCarrierSkel:
{ type: SF64:SKELETON, offset: 0x602D5AC, symbol: D_CO_602D5AC } { type: SF64:SKELETON, offset: 0x602D5AC, symbol: aCoCarrierSkel }
D_CO_602D5F0: aCoBuilding1DL:
{ type: GFX, offset: 0x602D5F0, symbol: D_CO_602D5F0 } { type: GFX, offset: 0x602D5F0, symbol: aCoBuilding1DL }
D_CO_602DA20: D_CO_602DA20:
{ type: GFX, offset: 0x602DA20, symbol: D_CO_602DA20 } { type: GFX, offset: 0x602DA20, symbol: D_CO_602DA20 }
@ -333,17 +333,17 @@ D_CO_602DCA0:
D_CO_602DD40: D_CO_602DD40:
{ type: GFX, offset: 0x602DD40, symbol: D_CO_602DD40 } { type: GFX, offset: 0x602DD40, symbol: D_CO_602DD40 }
D_CO_602E080: aCoHighway2DL:
{ type: GFX, offset: 0x602E080, symbol: D_CO_602E080 } { type: GFX, offset: 0x602E080, symbol: aCoHighway2DL }
D_CO_602E570: aCoBump5DL:
{ type: GFX, offset: 0x602E570, symbol: D_CO_602E570 } { type: GFX, offset: 0x602E570, symbol: aCoBump5DL }
D_CO_602E7A0: aCoBump3DL:
{ type: GFX, offset: 0x602E7A0, symbol: D_CO_602E7A0 } { type: GFX, offset: 0x602E7A0, symbol: aCoBump3DL }
D_CO_602E9E0: aCoBump1DL:
{ type: GFX, offset: 0x602E9E0, symbol: D_CO_602E9E0 } { type: GFX, offset: 0x602E9E0, symbol: aCoBump1DL }
D_CO_602ECB0: D_CO_602ECB0:
{ type: GFX, offset: 0x602ECB0, symbol: D_CO_602ECB0 } { type: GFX, offset: 0x602ECB0, symbol: D_CO_602ECB0 }
@ -351,8 +351,8 @@ D_CO_602ECB0:
D_CO_602ED50: D_CO_602ED50:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 16, offset: 0x0602ED50, symbol: D_CO_602ED50 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 16, offset: 0x0602ED50, symbol: D_CO_602ED50 }
D_CO_602F7C0: aCoPoleDL:
{ type: GFX, offset: 0x602F7C0, symbol: D_CO_602F7C0 } { type: GFX, offset: 0x602F7C0, symbol: aCoPoleDL }
D_CO_602F848: D_CO_602F848:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0602F848, symbol: D_CO_602F848 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0602F848, symbol: D_CO_602F848 }
@ -408,11 +408,11 @@ D_CO_60355A0:
D_CO_6035DA0: D_CO_6035DA0:
{ type: GFX, offset: 0x6035DA0, symbol: D_CO_6035DA0 } { type: GFX, offset: 0x6035DA0, symbol: D_CO_6035DA0 }
D_CO_6035F10: aCoBuilding8DL:
{ type: GFX, offset: 0x6035F10, symbol: D_CO_6035F10 } { type: GFX, offset: 0x6035F10, symbol: aCoBuilding8DL }
D_CO_60361F0: aCoBuilding6DL:
{ type: GFX, offset: 0x60361F0, symbol: D_CO_60361F0 } { type: GFX, offset: 0x60361F0, symbol: aCoBuilding6DL }
D_CO_60363B0: D_CO_60363B0:
{ type: GFX, offset: 0x60363B0, symbol: D_CO_60363B0 } { type: GFX, offset: 0x60363B0, symbol: D_CO_60363B0 }
@ -435,11 +435,11 @@ D_CO_6036D58:
D_CO_6037160: D_CO_6037160:
{ type: SF64:ENVIRONMENT, offset: 0x6037160, symbol: D_CO_6037160 } { type: SF64:ENVIRONMENT, offset: 0x6037160, symbol: D_CO_6037160 }
D_CO_60371A4: aCoOnRailsLevelObjects:
{ type: SF64:OBJECT_INIT, offset: 0x60371A4, symbol: D_CO_60371A4 } { type: SF64:OBJECT_INIT, offset: 0x60371A4, symbol: aCoOnRailsLevelObjects }
D_CO_603B074: aCoAllRangeLevelObjects:
{ type: SF64:OBJECT_INIT, offset: 0x603B074, symbol: D_CO_603B074 } { type: SF64:OBJECT_INIT, offset: 0x603B074, symbol: aCoAllRangeLevelObjects }
D_CO_603D9E8: D_CO_603D9E8:
{ type: SF64:SCRIPT, offset: 0x603D9E8, symbol: D_CO_603D9E8 } { type: SF64:SCRIPT, offset: 0x603D9E8, symbol: D_CO_603D9E8 }
@ -448,50 +448,50 @@ D_CO_603D9E8:
D_CO_603DC40: D_CO_603DC40:
{ type: SF64:HITBOX, offset: 0x603DC40, symbol: D_CO_603DC40 } { type: SF64:HITBOX, offset: 0x603DC40, symbol: D_CO_603DC40 }
D_CO_603DD40: aCoHighway2Hitbox:
{ type: SF64:HITBOX, offset: 0x603DD40, symbol: D_CO_603DD40 } { type: SF64:HITBOX, offset: 0x603DD40, symbol: aCoHighway2Hitbox }
D_CO_603DDF0: aCoBuilding1Hitbox:
{ type: SF64:HITBOX, offset: 0x603DDF0, symbol: D_CO_603DDF0 } { type: SF64:HITBOX, offset: 0x603DDF0, symbol: aCoBuilding1Hitbox }
D_CO_603DCA4: aCoHighway1Hitbox:
{ type: SF64:HITBOX, offset: 0x603DCA4, symbol: D_CO_603DCA4 } { type: SF64:HITBOX, offset: 0x603DCA4, symbol: aCoHighway1Hitbox }
D_CO_603DE8C: aCoBuilding2Hitbox:
{ type: SF64:HITBOX, offset: 0x603DE8C, symbol: D_CO_603DE8C } { type: SF64:HITBOX, offset: 0x603DE8C, symbol: aCoBuilding2Hitbox }
D_CO_603DEF4: aCoBuilding3Hitbox:
{ type: SF64:HITBOX, offset: 0x603DEF4, symbol: D_CO_603DEF4 } { type: SF64:HITBOX, offset: 0x603DEF4, symbol: aCoBuilding3Hitbox }
D_CO_603DF8C: aCoBuilding4Hitbox:
{ type: SF64:HITBOX, offset: 0x603DF8C, symbol: D_CO_603DF8C } { type: SF64:HITBOX, offset: 0x603DF8C, symbol: aCoBuilding4Hitbox }
D_CO_603DFDC: aCoBuilding5Hitbox:
{ type: SF64:HITBOX, offset: 0x603DFDC, symbol: D_CO_603DFDC } { type: SF64:HITBOX, offset: 0x603DFDC, symbol: aCoBuilding5Hitbox }
D_CO_603E014: aCoBuilding6Hitbox:
{ type: SF64:HITBOX, offset: 0x603E014, symbol: D_CO_603E014 } { type: SF64:HITBOX, offset: 0x603E014, symbol: aCoBuilding6Hitbox }
D_CO_603E030: aCoBuilding7Hitbox:
{ type: SF64:HITBOX, offset: 0x603E030, symbol: D_CO_603E030 } { type: SF64:HITBOX, offset: 0x603E030, symbol: aCoBuilding7Hitbox }
D_CO_603E09C: aCoBuilding8Hitbox:
{ type: SF64:HITBOX, offset: 0x603E09C, symbol: D_CO_603E09C } { type: SF64:HITBOX, offset: 0x603E09C, symbol: aCoBuilding8Hitbox }
D_CO_603E0EC: aCoWaterfallHitbox:
{ type: SF64:HITBOX, offset: 0x603E0EC, symbol: D_CO_603E0EC } { type: SF64:HITBOX, offset: 0x603E0EC, symbol: aCoWaterfallHitbox }
D_CO_603E118: aCoTowerHitbox:
{ type: SF64:HITBOX, offset: 0x603E118, symbol: D_CO_603E118 } { type: SF64:HITBOX, offset: 0x603E118, symbol: aCoTowerHitbox }
D_CO_603E14C: aCoArch1Hitbox:
{ type: SF64:HITBOX, offset: 0x603E14C, symbol: D_CO_603E14C } { type: SF64:HITBOX, offset: 0x603E14C, symbol: aCoArch1Hitbox }
D_CO_603E1B4: aCoArch2Hitbox:
{ type: SF64:HITBOX, offset: 0x603E1B4, symbol: D_CO_603E1B4 } { type: SF64:HITBOX, offset: 0x603E1B4, symbol: aCoArch2Hitbox }
D_CO_603E21C: aCoArch3Hitbox:
{ type: SF64:HITBOX, offset: 0x603E21C, symbol: D_CO_603E21C } { type: SF64:HITBOX, offset: 0x603E21C, symbol: aCoArch3Hitbox }
# seems unused # seems unused
D_CO_603E2C0: D_CO_603E2C0:
@ -501,26 +501,26 @@ D_CO_603E2C0:
D_CO_603E2F4: D_CO_603E2F4:
{ type: SF64:HITBOX, offset: 0x603E2F4, symbol: D_CO_603E2F4 } { type: SF64:HITBOX, offset: 0x603E2F4, symbol: D_CO_603E2F4 }
D_CO_603E3E0: aCoStoneArchHitbox:
{ type: SF64:HITBOX, offset: 0x603E3E0, symbol: D_CO_603E3E0 } { type: SF64:HITBOX, offset: 0x603E3E0, symbol: aCoStoneArchHitbox }
D_CO_603E468: aCoPoleHitbox:
{ type: SF64:HITBOX, offset: 0x603E468, symbol: D_CO_603E468 } { type: SF64:HITBOX, offset: 0x603E468, symbol: aCoPoleHitbox }
D_CO_603E484: aCoTreeHitbox:
{ type: SF64:HITBOX, offset: 0x603E484, symbol: D_CO_603E484 } { type: SF64:HITBOX, offset: 0x603E484, symbol: aCoTreeHitbox }
D_CO_603E4A0: aCoRadarHitbox:
{ type: SF64:HITBOX, offset: 0x603E4A0, symbol: D_CO_603E4A0 } { type: SF64:HITBOX, offset: 0x603E4A0, symbol: aCoRadarHitbox }
D_CO_603E4A4: aCoBuilding9Hitbox:
{ type: SF64:HITBOX, offset: 0x603E4A4, symbol: D_CO_603E4A4 } { type: SF64:HITBOX, offset: 0x603E4A4, symbol: aCoBuilding9Hitbox }
D_CO_603E4DC: aCoBuilding10Hitbox:
{ type: SF64:HITBOX, offset: 0x603E4DC, symbol: D_CO_603E4DC } { type: SF64:HITBOX, offset: 0x603E4DC, symbol: aCoBuilding10Hitbox }
D_CO_603E514: aCoIBeamHitbox:
{ type: SF64:HITBOX, offset: 0x603E514, symbol: D_CO_603E514 } { type: SF64:HITBOX, offset: 0x603E514, symbol: aCoIBeamHitbox }
D_CO_603E54C: D_CO_603E54C:
{ type: SF64:HITBOX, offset: 0x603E54C, symbol: D_CO_603E54C } { type: SF64:HITBOX, offset: 0x603E54C, symbol: D_CO_603E54C }
@ -531,11 +531,11 @@ D_CO_603E598:
D_CO_603E5B4: D_CO_603E5B4:
{ type: SF64:HITBOX, offset: 0x603E5B4, symbol: D_CO_603E5B4 } { type: SF64:HITBOX, offset: 0x603E5B4, symbol: D_CO_603E5B4 }
D_CO_603E5D0: CoGarudaHitbox:
{ type: SF64:HITBOX, offset: 0x603E5D0, symbol: D_CO_603E5D0 } { type: SF64:HITBOX, offset: 0x603E5D0, symbol: CoGarudaHitbox }
D_CO_603E604: aCoGarudaDestroyHitbox:
{ type: SF64:HITBOX, offset: 0x603E604, symbol: D_CO_603E604 } { type: SF64:HITBOX, offset: 0x603E604, symbol: aCoGarudaDestroyHitbox }
D_CO_603E620: D_CO_603E620:
{ type: SF64:HITBOX, offset: 0x603E620, symbol: D_CO_603E620 } { type: SF64:HITBOX, offset: 0x603E620, symbol: D_CO_603E620 }
@ -552,32 +552,32 @@ D_CO_603E7C4:
D_CO_603E840: D_CO_603E840:
{ type: SF64:HITBOX, offset: 0x603E840, symbol: D_CO_603E840 } { type: SF64:HITBOX, offset: 0x603E840, symbol: D_CO_603E840 }
D_CO_603E88C: aCoRockwallHitbox:
{ type: SF64:HITBOX, offset: 0x603E88C, symbol: D_CO_603E88C } { type: SF64:HITBOX, offset: 0x603E88C, symbol: aCoRockwallHitbox }
D_CO_603E8A8: aCoDoorsHitbox:
{ type: SF64:HITBOX, offset: 0x603E8A8, symbol: D_CO_603E8A8 } { type: SF64:HITBOX, offset: 0x603E8A8, symbol: aCoDoorsHitbox }
D_CO_603E924: D_CO_603E924:
{ type: SF64:HITBOX, offset: 0x603E924, symbol: D_CO_603E924 } { type: SF64:HITBOX, offset: 0x603E924, symbol: D_CO_603E924 }
D_CO_603E98C: aCoBuildingOnFireHitbox:
{ type: SF64:HITBOX, offset: 0x603E98C, symbol: D_CO_603E98C } { type: SF64:HITBOX, offset: 0x603E98C, symbol: aCoBuildingOnFireHitbox }
D_CO_603E9EC: aCoHighway5Hitbox:
{ type: SF64:HITBOX, offset: 0x603E9EC, symbol: D_CO_603E9EC } { type: SF64:HITBOX, offset: 0x603E9EC, symbol: aCoHighway5Hitbox }
D_CO_603EA08: aCoHighway6Hitbox:
{ type: SF64:HITBOX, offset: 0x603EA08, symbol: D_CO_603EA08 } { type: SF64:HITBOX, offset: 0x603EA08, symbol: aCoHighway6Hitbox }
D_CO_603EA74: aCoHighway7Hitbox:
{ type: SF64:HITBOX, offset: 0x603EA74, symbol: D_CO_603EA74 } { type: SF64:HITBOX, offset: 0x603EA74, symbol: aCoHighway7Hitbox }
D_CO_603EAE0: aCoHighway8Hitbox:
{ type: SF64:HITBOX, offset: 0x603EAE0, symbol: D_CO_603EAE0 } { type: SF64:HITBOX, offset: 0x603EAE0, symbol: aCoHighway8Hitbox }
D_CO_603EB0C: aCoHighway9Hitbox:
{ type: SF64:HITBOX, offset: 0x603EB0C, symbol: D_CO_603EB0C } { type: SF64:HITBOX, offset: 0x603EB0C, symbol: aCoHighway9Hitbox }
D_CO_603EB38: D_CO_603EB38:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0603EB38, symbol: D_CO_603EB38 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0603EB38, symbol: D_CO_603EB38 }

View File

@ -116,8 +116,8 @@ D_FO_6009F90:
D_FO_600A018: D_FO_600A018:
{ type: TEXTURE, format: IA8, width: 32, height: 32, offset: 0x600A018, ctype: u8, symbol: D_FO_600A018 } { type: TEXTURE, format: IA8, width: 32, height: 32, offset: 0x600A018, ctype: u8, symbol: D_FO_600A018 }
D_FO_600A420: aFoPoleDL:
{ type: GFX, offset: 0x600A420, symbol: D_FO_600A420 } { type: GFX, offset: 0x600A420, symbol: aFoPoleDL }
D_FO_600A4A8: D_FO_600A4A8:
{ type: TEXTURE, format: RGBA16, width: 32, height: 64, offset: 0x600A4A8, ctype: u16, symbol: D_FO_600A4A8 } { type: TEXTURE, format: RGBA16, width: 32, height: 64, offset: 0x600A4A8, ctype: u16, symbol: D_FO_600A4A8 }
@ -158,14 +158,14 @@ D_FO_600F3F4:
D_FO_600F60C: D_FO_600F60C:
{ type: SF64:COLPOLY, offset: 0x600F60C, count: 93, symbol: D_FO_600F60C, mesh_symbol: D_FO_OFFSET } { type: SF64:COLPOLY, offset: 0x600F60C, count: 93, symbol: D_FO_600F60C, mesh_symbol: D_FO_OFFSET }
D_FO_600FE9C: aFoPoleHitbox:
{ type: SF64:HITBOX, offset: 0x600FE9C, symbol: D_FO_600FE9C } { type: SF64:HITBOX, offset: 0x600FE9C, symbol: aFoPoleHitbox }
D_FO_600FEB8: D_FO_600FEB8:
{ type: SF64:HITBOX, offset: 0x600FEB8, symbol: D_FO_600FEB8 } { type: SF64:HITBOX, offset: 0x600FEB8, symbol: D_FO_600FEB8 }
D_FO_600FF30: aFoRadarHitbox:
{ type: SF64:HITBOX, offset: 0x600FF30, symbol: D_FO_600FF30 } { type: SF64:HITBOX, offset: 0x600FF30, symbol: aFoRadarHitbox }
D_FO_600FF64: D_FO_600FF64:
{ type: SF64:HITBOX, offset: 0x600FF64, symbol: D_FO_600FF64 } { type: SF64:HITBOX, offset: 0x600FF64, symbol: D_FO_600FF64 }

View File

@ -30,11 +30,11 @@ D_SZ_6000840:
D_SZ_60012D0: D_SZ_60012D0:
{ type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 9, offset: 0x60012D0, symbol: D_SZ_60012D0 } { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 9, offset: 0x60012D0, symbol: D_SZ_60012D0 }
D_SZ_6001360: aSzSpaceJunk1DL:
{ type: GFX, offset: 0x6001360, symbol: D_SZ_6001360 } { type: GFX, offset: 0x6001360, symbol: aSzSpaceJunk1DL }
D_SZ_6001A10: aSzSpaceJunk2DL:
{ type: GFX, offset: 0x6001A10, symbol: D_SZ_6001A10 } { type: GFX, offset: 0x6001A10, symbol: aSzSpaceJunk2DL }
D_SZ_6001C80: D_SZ_6001C80:
{ type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x06001C80, symbol: D_SZ_6001C80, tlut: 0x06001D80 } { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x06001C80, symbol: D_SZ_6001C80, tlut: 0x06001D80 }
@ -42,8 +42,8 @@ D_SZ_6001C80:
D_SZ_6001D80: D_SZ_6001D80:
{ type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x06001D80, symbol: D_SZ_6001D80 } { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x06001D80, symbol: D_SZ_6001D80 }
D_SZ_6001DA0: aSzSpaceJunk3DL:
{ type: GFX, offset: 0x6001DA0, symbol: D_SZ_6001DA0 } { type: GFX, offset: 0x6001DA0, symbol: aSzSpaceJunk3DL }
D_SZ_60025F0: D_SZ_60025F0:
{ type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x60025F0, symbol: D_SZ_60025F0, tlut: 0x060029F0 } { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x60025F0, symbol: D_SZ_60025F0, tlut: 0x060029F0 }
@ -69,12 +69,12 @@ D_SZ_6002DE0:
D_SZ_6002EE0: D_SZ_6002EE0:
{ type: TEXTURE, ctype: u16, format: TLUT, colors: 80, offset: 0x06002EE0, symbol: D_SZ_6002EE0 } { type: TEXTURE, ctype: u16, format: TLUT, colors: 80, offset: 0x06002EE0, symbol: D_SZ_6002EE0 }
D_SZ_6002F80: aSzBackgroundDL:
{ type: GFX, offset: 0x6002F80, symbol: D_SZ_6002F80 } { type: GFX, offset: 0x6002F80, symbol: aSzBackgroundDL }
# Sector Z Background # Sector Z Background
D_SZ_6003010: aSzBackgroundTex:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06003010, symbol: D_SZ_6003010 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06003010, symbol: aSzBackgroundTex }
D_SZ_6004010: D_SZ_6004010:
{ type: GFX, offset: 0x6004010, symbol: D_SZ_6004010 } { type: GFX, offset: 0x6004010, symbol: D_SZ_6004010 }
@ -97,8 +97,8 @@ D_SZ_6004558:
D_SZ_6004570: D_SZ_6004570:
{ type: GFX, offset: 0x6004570, symbol: D_SZ_6004570 } { type: GFX, offset: 0x6004570, symbol: D_SZ_6004570 }
D_SZ_60045E0: aSZSpaceJunk4DL:
{ type: GFX, offset: 0x60045E0, symbol: D_SZ_60045E0 } { type: GFX, offset: 0x60045E0, symbol: aSZSpaceJunk4DL }
D_SZ_60047E0: D_SZ_60047E0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60047E0, symbol: D_SZ_60047E0 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60047E0, symbol: D_SZ_60047E0 }
@ -145,8 +145,8 @@ D_SZ_6006CD8:
D_SZ_6006D64: D_SZ_6006D64:
{ type: SF64:ANIM, offset: 0x6006D64, symbol: D_SZ_6006D64 } { type: SF64:ANIM, offset: 0x6006D64, symbol: D_SZ_6006D64 }
D_SZ_6006E50: aSzMissileSkel:
{ type: SF64:SKELETON, offset: 0x6006E50, symbol: D_SZ_6006E50 } { type: SF64:SKELETON, offset: 0x6006E50, symbol: aSzMissileSkel }
D_SZ_6006E70: D_SZ_6006E70:
{ type: SF64:ENVIRONMENT, offset: 0x6006E70, symbol: D_SZ_6006E70 } { type: SF64:ENVIRONMENT, offset: 0x6006E70, symbol: D_SZ_6006E70 }

View File

@ -28,8 +28,8 @@ D_TI_6001B10:
D_TI_6001BA8: D_TI_6001BA8:
{type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 32, offset: 0x6001BA8, symbol: D_TI_6001BA8} {type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 32, offset: 0x6001BA8, symbol: D_TI_6001BA8}
D_TI_60023B0: aTiCactusDL:
{type: GFX, offset: 0x60023B0, symbol: D_TI_60023B0} {type: GFX, offset: 0x60023B0, symbol: aTiCactusDL}
D_TI_6002438: D_TI_6002438:
{type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 64, offset: 0x6002438, symbol: D_TI_6002438} {type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 64, offset: 0x6002438, symbol: D_TI_6002438}
@ -82,35 +82,35 @@ D_TI_60064AC:
D_TI_60064C8: D_TI_60064C8:
{type: SF64:HITBOX, offset: 0x60064C8, symbol: D_TI_60064C8} {type: SF64:HITBOX, offset: 0x60064C8, symbol: D_TI_60064C8}
D_TI_60064FC: aTiSkullHitbox:
{type: SF64:HITBOX, offset: 0x60064FC, symbol: D_TI_60064FC} {type: SF64:HITBOX, offset: 0x60064FC, symbol: aTiSkullHitbox}
D_TI_6006518: aTiRib0Hitbox:
{type: SF64:HITBOX, offset: 0x6006518, symbol: D_TI_6006518} {type: SF64:HITBOX, offset: 0x6006518, symbol: aTiRib0Hitbox}
D_TI_6006564: aTiRib1Hitbox:
{type: SF64:HITBOX, offset: 0x6006564, symbol: D_TI_6006564} {type: SF64:HITBOX, offset: 0x6006564, symbol: aTiRib1Hitbox}
D_TI_60065B0: aTiRib2Hitbox:
{type: SF64:HITBOX, offset: 0x60065B0, symbol: D_TI_60065B0} {type: SF64:HITBOX, offset: 0x60065B0, symbol: aTiRib2Hitbox}
D_TI_60065FC: aTiRib3Hitbox:
{type: SF64:HITBOX, offset: 0x60065FC, symbol: D_TI_60065FC} {type: SF64:HITBOX, offset: 0x60065FC, symbol: aTiRib3Hitbox}
D_TI_6006648: aTiRib4Hitbox:
{type: SF64:HITBOX, offset: 0x6006648, symbol: D_TI_6006648} {type: SF64:HITBOX, offset: 0x6006648, symbol: aTiRib4Hitbox}
D_TI_6006694: aTiRib5Hitbox:
{type: SF64:HITBOX, offset: 0x6006694, symbol: D_TI_6006694} {type: SF64:HITBOX, offset: 0x6006694, symbol: aTiRib5Hitbox}
D_TI_60066E0: aTiRib6Hitbox:
{type: SF64:HITBOX, offset: 0x60066E0, symbol: D_TI_60066E0} {type: SF64:HITBOX, offset: 0x60066E0, symbol: aTiRib6Hitbox}
D_TI_600672C: aTiRib7Hitbox:
{type: SF64:HITBOX, offset: 0x600672C, symbol: D_TI_600672C} {type: SF64:HITBOX, offset: 0x600672C, symbol: aTiRib7Hitbox}
D_TI_6006778: aTiRib8Hitbox:
{type: SF64:HITBOX, offset: 0x6006778, symbol: D_TI_6006778} {type: SF64:HITBOX, offset: 0x6006778, symbol: aTiRib8Hitbox}
D_TI_60067C4: D_TI_60067C4:
{type: SF64:HITBOX, offset: 0x60067C4, symbol: D_TI_60067C4} {type: SF64:HITBOX, offset: 0x60067C4, symbol: D_TI_60067C4}
@ -133,8 +133,8 @@ D_TI_6006874:
D_TI_6006890: D_TI_6006890:
{type: SF64:HITBOX, offset: 0x6006890, symbol: D_TI_6006890} {type: SF64:HITBOX, offset: 0x6006890, symbol: D_TI_6006890}
D_TI_60068BC: aTiCactusHitbox:
{type: SF64:HITBOX, offset: 0x60068BC, symbol: D_TI_60068BC} {type: SF64:HITBOX, offset: 0x60068BC, symbol: aTiCactusHitbox}
D_TI_60068F0: D_TI_60068F0:
{type: SF64:HITBOX, offset: 0x60068F0, symbol: D_TI_60068F0} {type: SF64:HITBOX, offset: 0x60068F0, symbol: D_TI_60068F0}

View File

@ -471,8 +471,8 @@ D_ZO_6024220:
D_ZO_60242B8: D_ZO_60242B8:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60242B8, symbol: D_ZO_60242B8} { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60242B8, symbol: D_ZO_60242B8}
D_ZO_6024AC0: aZoRock1DL:
{ type: GFX, offset: 0x6024AC0, symbol: D_ZO_6024AC0} { type: GFX, offset: 0x6024AC0, symbol: aZoRock1DL}
D_ZO_6024D60: D_ZO_6024D60:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6024D60, symbol: D_ZO_6024D60} { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6024D60, symbol: D_ZO_6024D60}
@ -502,8 +502,8 @@ D_ZO_602AC50:
D_ZO_602AE94: D_ZO_602AE94:
{ type: ARRAY, count: 242, array_type: Vec3f, offset: 0x602AE94, symbol: D_ZO_602AE94} { type: ARRAY, count: 242, array_type: Vec3f, offset: 0x602AE94, symbol: D_ZO_602AE94}
D_ZO_602B9EC: aZoRock1Hitbox:
{ type: SF64:HITBOX, offset: 0x602B9EC, symbol: D_ZO_602B9EC} { type: SF64:HITBOX, offset: 0x602B9EC, symbol: aZoRock1Hitbox}
D_ZO_602BA20: D_ZO_602BA20:
{ type: SF64:HITBOX, offset: 0x602BA20, symbol: D_ZO_602BA20} { type: SF64:HITBOX, offset: 0x602BA20, symbol: D_ZO_602BA20}

View File

@ -56,8 +56,8 @@ D_arwing_3007550:
D_arwing_30075D0: D_arwing_30075D0:
{ type: TEXTURE, format: RGBA16, offset: 0x30075D0, width: 8, height: 8, ctype: u16, symbol: D_arwing_30075D0 } { type: TEXTURE, format: RGBA16, offset: 0x30075D0, width: 8, height: 8, ctype: u16, symbol: D_arwing_30075D0 }
D_arwing_3007650: aArwingItemLasersDL:
{ type: GFX, offset: 0x3007650, symbol: D_arwing_3007650 } { type: GFX, offset: 0x3007650, symbol: aArwingItemLasersDL }
ast_arwing_seg3_vtx_7A20: ast_arwing_seg3_vtx_7A20:
{ type: VTX, offset: 0x3007A20, count: 244, symbol: ast_arwing_seg3_vtx_7A20 } { type: VTX, offset: 0x3007A20, count: 244, symbol: ast_arwing_seg3_vtx_7A20 }

View File

@ -18,8 +18,8 @@
D_CO_6000000: D_CO_6000000:
{ type: TEXTURE, ctype: u8, format: IA8, width: 128, height: 28, offset: 0x6000000, symbol: D_CO_6000000 } { type: TEXTURE, ctype: u8, format: IA8, width: 128, height: 28, offset: 0x6000000, symbol: D_CO_6000000 }
D_CO_6000E00: aCoWaterfallDL:
{ type: GFX, offset: 0x6000E00, symbol: D_CO_6000E00 } { type: GFX, offset: 0x6000E00, symbol: aCoWaterfallDL }
D_CO_60018F8: D_CO_60018F8:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060018F8, symbol: D_CO_60018F8 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060018F8, symbol: D_CO_60018F8 }
@ -48,8 +48,8 @@ D_CO_60059F0:
D_CO_6005A80: D_CO_6005A80:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06005A80, symbol: D_CO_6005A80 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06005A80, symbol: D_CO_6005A80 }
D_CO_6006A80: aCoArch3DL:
{ type: GFX, offset: 0x6006A80, symbol: D_CO_6006A80 } { type: GFX, offset: 0x6006A80, symbol: aCoArch3DL }
D_CO_6006E08: D_CO_6006E08:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06006E08, symbol: D_CO_6006E08 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06006E08, symbol: D_CO_6006E08 }
@ -102,11 +102,11 @@ D_CO_6010250:
D_CO_6010F90: D_CO_6010F90:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06010F90, symbol: D_CO_6010F90 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06010F90, symbol: D_CO_6010F90 }
D_CO_6010A50: aCoHighway7DL:
{ type: GFX, offset: 0x6010A50, symbol: D_CO_6010A50 } { type: GFX, offset: 0x6010A50, symbol: aCoHighway7DL }
D_CO_6010E00: aCoHighway5DL:
{ type: GFX, offset: 0x6010E00, symbol: D_CO_6010E00 } { type: GFX, offset: 0x6010E00, symbol: aCoHighway5DL }
D_CO_6011790: D_CO_6011790:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06011790, symbol: D_CO_6011790 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06011790, symbol: D_CO_6011790 }
@ -123,53 +123,53 @@ D_CO_6012840:
D_CO_6012D00: D_CO_6012D00:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06012D00, symbol: D_CO_6012D00 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06012D00, symbol: D_CO_6012D00 }
D_CO_60132B0: aCoHighway1DL:
{ type: GFX, offset: 0x60132B0, symbol: D_CO_60132B0 } { type: GFX, offset: 0x60132B0, symbol: aCoHighway1DL }
D_CO_60137B0: aCoArch2DL:
{ type: GFX, offset: 0x60137B0, symbol: D_CO_60137B0 } { type: GFX, offset: 0x60137B0, symbol: aCoArch2DL }
D_CO_6013B50: aCoRockwallDL:
{ type: GFX, offset: 0x6013B50, symbol: D_CO_6013B50 } { type: GFX, offset: 0x6013B50, symbol: aCoRockwallDL }
D_CO_6013BE0: D_CO_6013BE0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06013BE0, symbol: D_CO_6013BE0 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06013BE0, symbol: D_CO_6013BE0 }
D_CO_60143E0: aCoHighway8DL:
{ type: GFX, offset: 0x60143E0, symbol: D_CO_60143E0 } { type: GFX, offset: 0x60143E0, symbol: aCoHighway8DL }
D_CO_6014500: aCoHighway4DL:
{ type: GFX, offset: 0x6014500, symbol: D_CO_6014500 } { type: GFX, offset: 0x6014500, symbol: aCoHighway4DL }
D_CO_6014670: aCoHighway6DL:
{ type: GFX, offset: 0x6014670, symbol: D_CO_6014670 } { type: GFX, offset: 0x6014670, symbol: aCoHighway6DL }
D_CO_6014A20: aCoHighway9DL:
{ type: GFX, offset: 0x6014A20, symbol: D_CO_6014A20 } { type: GFX, offset: 0x6014A20, symbol: aCoHighway9DL }
D_CO_6014B50: aCoBuilding3DL:
{ type: GFX, offset: 0x6014B50, symbol: D_CO_6014B50 } { type: GFX, offset: 0x6014B50, symbol: aCoBuilding3DL }
D_CO_60151A8: D_CO_60151A8:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x060151A8, symbol: D_CO_60151A8 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x060151A8, symbol: D_CO_60151A8 }
D_CO_60153B0: aCoTowerDL:
{ type: GFX, offset: 0x60153B0, symbol: D_CO_60153B0 } { type: GFX, offset: 0x60153B0, symbol: aCoTowerDL }
D_CO_6015F00: aCoStoneArchDL:
{ type: GFX, offset: 0x6015F00, symbol: D_CO_6015F00 } { type: GFX, offset: 0x6015F00, symbol: aCoStoneArchDL }
D_CO_6015700: D_CO_6015700:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06015700, symbol: D_CO_6015700 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06015700, symbol: D_CO_6015700 }
D_CO_6016270: aRadarDL:
{ type: GFX, offset: 0x6016270, symbol: D_CO_6016270 } { type: GFX, offset: 0x6016270, symbol: aRadarDL }
D_CO_60164F0: aCoHighway3DL:
{ type: GFX, offset: 0x60164F0, symbol: D_CO_60164F0 } { type: GFX, offset: 0x60164F0, symbol: aCoHighway3DL }
D_CO_6016580: aCoBuilding4DL:
{ type: GFX, offset: 0x6016580, symbol: D_CO_6016580 } { type: GFX, offset: 0x6016580, symbol: aCoBuilding4DL }
D_CO_6017F10: D_CO_6017F10:
{ type: GFX, offset: 0x6017F10, symbol: D_CO_6017F10 } { type: GFX, offset: 0x6017F10, symbol: D_CO_6017F10 }
@ -177,8 +177,8 @@ D_CO_6017F10:
D_CO_60186E0: D_CO_60186E0:
{ type: GFX, offset: 0x60186E0, symbol: D_CO_60186E0 } { type: GFX, offset: 0x60186E0, symbol: D_CO_60186E0 }
D_CO_6018E80: aCoBuilding7DL:
{ type: GFX, offset: 0x6018E80, symbol: D_CO_6018E80 } { type: GFX, offset: 0x6018E80, symbol: aCoBuilding7DL }
D_CO_60191C8: D_CO_60191C8:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060191C8, symbol: D_CO_60191C8 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060191C8, symbol: D_CO_60191C8 }
@ -195,14 +195,14 @@ D_CO_6019E60:
D_CO_601FF58: D_CO_601FF58:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601FF58, symbol: D_CO_601FF58 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601FF58, symbol: D_CO_601FF58 }
D_CO_601A7D0: aCoBuilding2DL:
{ type: GFX, offset: 0x601A7D0, symbol: D_CO_601A7D0 } { type: GFX, offset: 0x601A7D0, symbol: aCoBuilding2DL }
D_CO_601AD60: D_CO_601AD60:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601AD60, symbol: D_CO_601AD60 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601AD60, symbol: D_CO_601AD60 }
D_CO_601B560: aCoBuilding5DL:
{ type: GFX, offset: 0x601B560, symbol: D_CO_601B560 } { type: GFX, offset: 0x601B560, symbol: aCoBuilding5DL }
D_CO_601B640: D_CO_601B640:
{ type: GFX, offset: 0x601B640, symbol: D_CO_601B640 } { type: GFX, offset: 0x601B640, symbol: D_CO_601B640 }
@ -210,14 +210,14 @@ D_CO_601B640:
D_CO_601B6C0: D_CO_601B6C0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601B6C0, symbol: D_CO_601B6C0 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601B6C0, symbol: D_CO_601B6C0 }
D_CO_601BEC0: aCoBump2DL:
{ type: GFX, offset: 0x601BEC0, symbol: D_CO_601BEC0 } { type: GFX, offset: 0x601BEC0, symbol: aCoBump2DL }
D_CO_601C1A8: D_CO_601C1A8:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601C1A8, symbol: D_CO_601C1A8 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601C1A8, symbol: D_CO_601C1A8 }
D_CO_601C9B0: aCoTreeDL:
{ type: GFX, offset: 0x601C9B0, symbol: D_CO_601C9B0 } { type: GFX, offset: 0x601C9B0, symbol: aCoTreeDL }
D_CO_601CAA0: D_CO_601CAA0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0601CAA0, symbol: D_CO_601CAA0 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0601CAA0, symbol: D_CO_601CAA0 }
@ -234,8 +234,8 @@ D_CO_601ED00:
D_CO_601F500: D_CO_601F500:
{ type: GFX, offset: 0x601F500, symbol: D_CO_601F500 } { type: GFX, offset: 0x601F500, symbol: D_CO_601F500 }
D_CO_601F5A0: aCoArch1DL:
{ type: GFX, offset: 0x601F5A0, symbol: D_CO_601F5A0 } { type: GFX, offset: 0x601F5A0, symbol: aCoArch1DL }
D_CO_6020760: D_CO_6020760:
{ type: GFX, offset: 0x6020760, symbol: D_CO_6020760 } { type: GFX, offset: 0x6020760, symbol: D_CO_6020760 }
@ -258,8 +258,8 @@ D_CO_6023DE8:
D_CO_6024160: D_CO_6024160:
{ type: GFX, offset: 0x6024160, symbol: D_CO_6024160 } { type: GFX, offset: 0x6024160, symbol: D_CO_6024160 }
D_CO_60244A0: aCoBump4DL:
{ type: GFX, offset: 0x60244A0, symbol: D_CO_60244A0 } { type: GFX, offset: 0x60244A0, symbol: aCoBump4DL }
D_CO_60245E0: D_CO_60245E0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x060245E0, symbol: D_CO_60245E0 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x060245E0, symbol: D_CO_60245E0 }
@ -285,14 +285,14 @@ D_CO_6029528:
D_CO_6029674: D_CO_6029674:
{ type: SF64:SKELETON, offset: 0x6029674, symbol: D_CO_6029674 } { type: SF64:SKELETON, offset: 0x6029674, symbol: D_CO_6029674 }
D_CO_602991C: aCoGaruda1Anim:
{ type: SF64:ANIM, offset: 0x602991C, symbol: D_CO_602991C } { type: SF64:ANIM, offset: 0x602991C, symbol: aCoGaruda1Anim }
D_CO_6029A48: aCoGarudaSkel:
{ type: SF64:SKELETON, offset: 0x6029A48, symbol: D_CO_6029A48 } { type: SF64:SKELETON, offset: 0x6029A48, symbol: aCoGarudaSkel }
D_CO_602A520: aCoGaruda3Anim:
{ type: SF64:ANIM, offset: 0x602A520, symbol: D_CO_602A520 } { type: SF64:ANIM, offset: 0x602A520, symbol: aCoGaruda3Anim }
D_CO_602AA04: D_CO_602AA04:
{ type: SF64:ANIM, offset: 0x602AA04, symbol: D_CO_602AA04 } { type: SF64:ANIM, offset: 0x602AA04, symbol: D_CO_602AA04 }
@ -300,8 +300,8 @@ D_CO_602AA04:
D_CO_602AA7C: D_CO_602AA7C:
{ type: SF64:ANIM, offset: 0x602AA7C, symbol: D_CO_602AA7C } { type: SF64:ANIM, offset: 0x602AA7C, symbol: D_CO_602AA7C }
D_CO_602AB48: aCoDoorsSkel:
{ type: SF64:SKELETON, offset: 0x602AB48, symbol: D_CO_602AB48 } { type: SF64:SKELETON, offset: 0x602AB48, symbol: aCoDoorsSkel }
D_CO_602BC18: D_CO_602BC18:
{ type: SF64:ANIM, offset: 0x602BC18, symbol: D_CO_602BC18 } { type: SF64:ANIM, offset: 0x602BC18, symbol: D_CO_602BC18 }
@ -318,11 +318,11 @@ D_CO_602D31C:
D_CO_602D400: D_CO_602D400:
{ type: SF64:ANIM, offset: 0x602D400, symbol: D_CO_602D400 } { type: SF64:ANIM, offset: 0x602D400, symbol: D_CO_602D400 }
D_CO_602D5AC: aCoCarrierSkel:
{ type: SF64:SKELETON, offset: 0x602D5AC, symbol: D_CO_602D5AC } { type: SF64:SKELETON, offset: 0x602D5AC, symbol: aCoCarrierSkel }
D_CO_602D5F0: aCoBuilding1DL:
{ type: GFX, offset: 0x602D5F0, symbol: D_CO_602D5F0 } { type: GFX, offset: 0x602D5F0, symbol: aCoBuilding1DL }
D_CO_602DA20: D_CO_602DA20:
{ type: GFX, offset: 0x602DA20, symbol: D_CO_602DA20 } { type: GFX, offset: 0x602DA20, symbol: D_CO_602DA20 }
@ -333,17 +333,17 @@ D_CO_602DCA0:
D_CO_602DD40: D_CO_602DD40:
{ type: GFX, offset: 0x602DD40, symbol: D_CO_602DD40 } { type: GFX, offset: 0x602DD40, symbol: D_CO_602DD40 }
D_CO_602E080: aCoHighway2DL:
{ type: GFX, offset: 0x602E080, symbol: D_CO_602E080 } { type: GFX, offset: 0x602E080, symbol: aCoHighway2DL }
D_CO_602E570: aCoBump5DL:
{ type: GFX, offset: 0x602E570, symbol: D_CO_602E570 } { type: GFX, offset: 0x602E570, symbol: aCoBump5DL }
D_CO_602E7A0: aCoBump3DL:
{ type: GFX, offset: 0x602E7A0, symbol: D_CO_602E7A0 } { type: GFX, offset: 0x602E7A0, symbol: aCoBump3DL }
D_CO_602E9E0: aCoBump1DL:
{ type: GFX, offset: 0x602E9E0, symbol: D_CO_602E9E0 } { type: GFX, offset: 0x602E9E0, symbol: aCoBump1DL }
D_CO_602ECB0: D_CO_602ECB0:
{ type: GFX, offset: 0x602ECB0, symbol: D_CO_602ECB0 } { type: GFX, offset: 0x602ECB0, symbol: D_CO_602ECB0 }
@ -351,8 +351,8 @@ D_CO_602ECB0:
D_CO_602ED50: D_CO_602ED50:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 16, offset: 0x0602ED50, symbol: D_CO_602ED50 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 16, offset: 0x0602ED50, symbol: D_CO_602ED50 }
D_CO_602F7C0: aCoPoleDL:
{ type: GFX, offset: 0x602F7C0, symbol: D_CO_602F7C0 } { type: GFX, offset: 0x602F7C0, symbol: aCoPoleDL }
D_CO_602F848: D_CO_602F848:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0602F848, symbol: D_CO_602F848 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0602F848, symbol: D_CO_602F848 }
@ -408,11 +408,11 @@ D_CO_60355A0:
D_CO_6035DA0: D_CO_6035DA0:
{ type: GFX, offset: 0x6035DA0, symbol: D_CO_6035DA0 } { type: GFX, offset: 0x6035DA0, symbol: D_CO_6035DA0 }
D_CO_6035F10: aCoBuilding8DL:
{ type: GFX, offset: 0x6035F10, symbol: D_CO_6035F10 } { type: GFX, offset: 0x6035F10, symbol: aCoBuilding8DL }
D_CO_60361F0: aCoBuilding6DL:
{ type: GFX, offset: 0x60361F0, symbol: D_CO_60361F0 } { type: GFX, offset: 0x60361F0, symbol: aCoBuilding6DL }
D_CO_60363B0: D_CO_60363B0:
{ type: GFX, offset: 0x60363B0, symbol: D_CO_60363B0 } { type: GFX, offset: 0x60363B0, symbol: D_CO_60363B0 }
@ -435,11 +435,11 @@ D_CO_6036D58:
D_CO_6037160: D_CO_6037160:
{ type: SF64:ENVIRONMENT, offset: 0x6037160, symbol: D_CO_6037160 } { type: SF64:ENVIRONMENT, offset: 0x6037160, symbol: D_CO_6037160 }
D_CO_60371A4: aCoOnRailsLevelObjects:
{ type: SF64:OBJECT_INIT, offset: 0x60371A4, symbol: D_CO_60371A4 } { type: SF64:OBJECT_INIT, offset: 0x60371A4, symbol: aCoOnRailsLevelObjects }
D_CO_603B074: aCoAllRangeLevelObjects:
{ type: SF64:OBJECT_INIT, offset: 0x603B074, symbol: D_CO_603B074 } { type: SF64:OBJECT_INIT, offset: 0x603B074, symbol: aCoAllRangeLevelObjects }
D_CO_603D9E8: D_CO_603D9E8:
{ type: SF64:SCRIPT, offset: 0x603D9E8, symbol: D_CO_603D9E8 } { type: SF64:SCRIPT, offset: 0x603D9E8, symbol: D_CO_603D9E8 }
@ -448,50 +448,50 @@ D_CO_603D9E8:
D_CO_603DC40: D_CO_603DC40:
{ type: SF64:HITBOX, offset: 0x603DC40, symbol: D_CO_603DC40 } { type: SF64:HITBOX, offset: 0x603DC40, symbol: D_CO_603DC40 }
D_CO_603DD40: aCoHighway2Hitbox:
{ type: SF64:HITBOX, offset: 0x603DD40, symbol: D_CO_603DD40 } { type: SF64:HITBOX, offset: 0x603DD40, symbol: aCoHighway2Hitbox }
D_CO_603DDF0: aCoBuilding1Hitbox:
{ type: SF64:HITBOX, offset: 0x603DDF0, symbol: D_CO_603DDF0 } { type: SF64:HITBOX, offset: 0x603DDF0, symbol: aCoBuilding1Hitbox }
D_CO_603DCA4: aCoHighway1Hitbox:
{ type: SF64:HITBOX, offset: 0x603DCA4, symbol: D_CO_603DCA4 } { type: SF64:HITBOX, offset: 0x603DCA4, symbol: aCoHighway1Hitbox }
D_CO_603DE8C: aCoBuilding2Hitbox:
{ type: SF64:HITBOX, offset: 0x603DE8C, symbol: D_CO_603DE8C } { type: SF64:HITBOX, offset: 0x603DE8C, symbol: aCoBuilding2Hitbox }
D_CO_603DEF4: aCoBuilding3Hitbox:
{ type: SF64:HITBOX, offset: 0x603DEF4, symbol: D_CO_603DEF4 } { type: SF64:HITBOX, offset: 0x603DEF4, symbol: aCoBuilding3Hitbox }
D_CO_603DF8C: aCoBuilding4Hitbox:
{ type: SF64:HITBOX, offset: 0x603DF8C, symbol: D_CO_603DF8C } { type: SF64:HITBOX, offset: 0x603DF8C, symbol: aCoBuilding4Hitbox }
D_CO_603DFDC: aCoBuilding5Hitbox:
{ type: SF64:HITBOX, offset: 0x603DFDC, symbol: D_CO_603DFDC } { type: SF64:HITBOX, offset: 0x603DFDC, symbol: aCoBuilding5Hitbox }
D_CO_603E014: aCoBuilding6Hitbox:
{ type: SF64:HITBOX, offset: 0x603E014, symbol: D_CO_603E014 } { type: SF64:HITBOX, offset: 0x603E014, symbol: aCoBuilding6Hitbox }
D_CO_603E030: aCoBuilding7Hitbox:
{ type: SF64:HITBOX, offset: 0x603E030, symbol: D_CO_603E030 } { type: SF64:HITBOX, offset: 0x603E030, symbol: aCoBuilding7Hitbox }
D_CO_603E09C: aCoBuilding8Hitbox:
{ type: SF64:HITBOX, offset: 0x603E09C, symbol: D_CO_603E09C } { type: SF64:HITBOX, offset: 0x603E09C, symbol: aCoBuilding8Hitbox }
D_CO_603E0EC: aCoWaterfallHitbox:
{ type: SF64:HITBOX, offset: 0x603E0EC, symbol: D_CO_603E0EC } { type: SF64:HITBOX, offset: 0x603E0EC, symbol: aCoWaterfallHitbox }
D_CO_603E118: aCoTowerHitbox:
{ type: SF64:HITBOX, offset: 0x603E118, symbol: D_CO_603E118 } { type: SF64:HITBOX, offset: 0x603E118, symbol: aCoTowerHitbox }
D_CO_603E14C: aCoArch1Hitbox:
{ type: SF64:HITBOX, offset: 0x603E14C, symbol: D_CO_603E14C } { type: SF64:HITBOX, offset: 0x603E14C, symbol: aCoArch1Hitbox }
D_CO_603E1B4: aCoArch2Hitbox:
{ type: SF64:HITBOX, offset: 0x603E1B4, symbol: D_CO_603E1B4 } { type: SF64:HITBOX, offset: 0x603E1B4, symbol: aCoArch2Hitbox }
D_CO_603E21C: aCoArch3Hitbox:
{ type: SF64:HITBOX, offset: 0x603E21C, symbol: D_CO_603E21C } { type: SF64:HITBOX, offset: 0x603E21C, symbol: aCoArch3Hitbox }
# seems unused # seems unused
D_CO_603E2C0: D_CO_603E2C0:
@ -501,26 +501,26 @@ D_CO_603E2C0:
D_CO_603E2F4: D_CO_603E2F4:
{ type: SF64:HITBOX, offset: 0x603E2F4, symbol: D_CO_603E2F4 } { type: SF64:HITBOX, offset: 0x603E2F4, symbol: D_CO_603E2F4 }
D_CO_603E3E0: aCoStoneArchHitbox:
{ type: SF64:HITBOX, offset: 0x603E3E0, symbol: D_CO_603E3E0 } { type: SF64:HITBOX, offset: 0x603E3E0, symbol: aCoStoneArchHitbox }
D_CO_603E468: aCoPoleHitbox:
{ type: SF64:HITBOX, offset: 0x603E468, symbol: D_CO_603E468 } { type: SF64:HITBOX, offset: 0x603E468, symbol: aCoPoleHitbox }
D_CO_603E484: aCoTreeHitbox:
{ type: SF64:HITBOX, offset: 0x603E484, symbol: D_CO_603E484 } { type: SF64:HITBOX, offset: 0x603E484, symbol: aCoTreeHitbox }
D_CO_603E4A0: aCoRadarHitbox:
{ type: SF64:HITBOX, offset: 0x603E4A0, symbol: D_CO_603E4A0 } { type: SF64:HITBOX, offset: 0x603E4A0, symbol: aCoRadarHitbox }
D_CO_603E4A4: aCoBuilding9Hitbox:
{ type: SF64:HITBOX, offset: 0x603E4A4, symbol: D_CO_603E4A4 } { type: SF64:HITBOX, offset: 0x603E4A4, symbol: aCoBuilding9Hitbox }
D_CO_603E4DC: aCoBuilding10Hitbox:
{ type: SF64:HITBOX, offset: 0x603E4DC, symbol: D_CO_603E4DC } { type: SF64:HITBOX, offset: 0x603E4DC, symbol: aCoBuilding10Hitbox }
D_CO_603E514: aCoIBeamHitbox:
{ type: SF64:HITBOX, offset: 0x603E514, symbol: D_CO_603E514 } { type: SF64:HITBOX, offset: 0x603E514, symbol: aCoIBeamHitbox }
D_CO_603E54C: D_CO_603E54C:
{ type: SF64:HITBOX, offset: 0x603E54C, symbol: D_CO_603E54C } { type: SF64:HITBOX, offset: 0x603E54C, symbol: D_CO_603E54C }
@ -531,14 +531,14 @@ D_CO_603E598:
D_CO_603E5B4: D_CO_603E5B4:
{ type: SF64:HITBOX, offset: 0x603E5B4, symbol: D_CO_603E5B4 } { type: SF64:HITBOX, offset: 0x603E5B4, symbol: D_CO_603E5B4 }
D_CO_603E5D0: CoGarudaHitbox:
{ type: SF64:HITBOX, offset: 0x603E5D0, symbol: D_CO_603E5D0 } { type: SF64:HITBOX, offset: 0x603E5D0, symbol: CoGarudaHitbox }
D_CO_603E604: aCoGarudaDestroyHitbox:
{ type: SF64:HITBOX, offset: 0x603E604, symbol: D_CO_603E604 } { type: SF64:HITBOX, offset: 0x603E604, symbol: aCoGarudaDestroyHitbox }
D_CO_603E620: aCoGrangaHitbox:
{ type: SF64:HITBOX, offset: 0x603E620, symbol: D_CO_603E620 } { type: SF64:HITBOX, offset: 0x603E620, symbol: aCoGrangaHitbox }
D_CO_603E714: D_CO_603E714:
{ type: SF64:HITBOX, offset: 0x603E714, symbol: D_CO_603E714 } { type: SF64:HITBOX, offset: 0x603E714, symbol: D_CO_603E714 }
@ -549,35 +549,35 @@ D_CO_603E748:
D_CO_603E7C4: D_CO_603E7C4:
{ type: SF64:HITBOX, offset: 0x603E7C4, symbol: D_CO_603E7C4 } { type: SF64:HITBOX, offset: 0x603E7C4, symbol: D_CO_603E7C4 }
D_CO_603E840: aCoCarrierHitbox:
{ type: SF64:HITBOX, offset: 0x603E840, symbol: D_CO_603E840 } { type: SF64:HITBOX, offset: 0x603E840, symbol: aCoCarrierHitbox }
D_CO_603E88C: aCoRockwallHitbox:
{ type: SF64:HITBOX, offset: 0x603E88C, symbol: D_CO_603E88C } { type: SF64:HITBOX, offset: 0x603E88C, symbol: aCoRockwallHitbox }
D_CO_603E8A8: aCoDoorsHitbox:
{ type: SF64:HITBOX, offset: 0x603E8A8, symbol: D_CO_603E8A8 } { type: SF64:HITBOX, offset: 0x603E8A8, symbol: aCoDoorsHitbox }
D_CO_603E924: D_CO_603E924:
{ type: SF64:HITBOX, offset: 0x603E924, symbol: D_CO_603E924 } { type: SF64:HITBOX, offset: 0x603E924, symbol: D_CO_603E924 }
D_CO_603E98C: aCoBuildingOnFireHitbox:
{ type: SF64:HITBOX, offset: 0x603E98C, symbol: D_CO_603E98C } { type: SF64:HITBOX, offset: 0x603E98C, symbol: aCoBuildingOnFireHitbox }
D_CO_603E9EC: aCoHighway5Hitbox:
{ type: SF64:HITBOX, offset: 0x603E9EC, symbol: D_CO_603E9EC } { type: SF64:HITBOX, offset: 0x603E9EC, symbol: aCoHighway5Hitbox }
D_CO_603EA08: aCoHighway6Hitbox:
{ type: SF64:HITBOX, offset: 0x603EA08, symbol: D_CO_603EA08 } { type: SF64:HITBOX, offset: 0x603EA08, symbol: aCoHighway6Hitbox }
D_CO_603EA74: aCoHighway7Hitbox:
{ type: SF64:HITBOX, offset: 0x603EA74, symbol: D_CO_603EA74 } { type: SF64:HITBOX, offset: 0x603EA74, symbol: aCoHighway7Hitbox }
D_CO_603EAE0: aCoHighway8Hitbox:
{ type: SF64:HITBOX, offset: 0x603EAE0, symbol: D_CO_603EAE0 } { type: SF64:HITBOX, offset: 0x603EAE0, symbol: aCoHighway8Hitbox }
D_CO_603EB0C: aCoHighway9Hitbox:
{ type: SF64:HITBOX, offset: 0x603EB0C, symbol: D_CO_603EB0C } { type: SF64:HITBOX, offset: 0x603EB0C, symbol: aCoHighway9Hitbox }
D_CO_603EB38: D_CO_603EB38:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0603EB38, symbol: D_CO_603EB38 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0603EB38, symbol: D_CO_603EB38 }

View File

@ -116,8 +116,8 @@ D_FO_6009F90:
D_FO_600A018: D_FO_600A018:
{ type: TEXTURE, format: IA8, width: 32, height: 32, offset: 0x600A018, ctype: u8, symbol: D_FO_600A018 } { type: TEXTURE, format: IA8, width: 32, height: 32, offset: 0x600A018, ctype: u8, symbol: D_FO_600A018 }
D_FO_600A420: aFoPoleDL:
{ type: GFX, offset: 0x600A420, symbol: D_FO_600A420 } { type: GFX, offset: 0x600A420, symbol: aFoPoleDL }
D_FO_600A4A8: D_FO_600A4A8:
{ type: TEXTURE, format: RGBA16, width: 32, height: 64, offset: 0x600A4A8, ctype: u16, symbol: D_FO_600A4A8 } { type: TEXTURE, format: RGBA16, width: 32, height: 64, offset: 0x600A4A8, ctype: u16, symbol: D_FO_600A4A8 }
@ -158,14 +158,14 @@ D_FO_600F3F4:
D_FO_600F60C: D_FO_600F60C:
{ type: SF64:COLPOLY, offset: 0x600F60C, count: 93, symbol: D_FO_600F60C, mesh_symbol: D_FO_OFFSET } { type: SF64:COLPOLY, offset: 0x600F60C, count: 93, symbol: D_FO_600F60C, mesh_symbol: D_FO_OFFSET }
D_FO_600FE9C: aFoPoleHitbox:
{ type: SF64:HITBOX, offset: 0x600FE9C, symbol: D_FO_600FE9C } { type: SF64:HITBOX, offset: 0x600FE9C, symbol: aFoPoleHitbox }
D_FO_600FEB8: D_FO_600FEB8:
{ type: SF64:HITBOX, offset: 0x600FEB8, symbol: D_FO_600FEB8 } { type: SF64:HITBOX, offset: 0x600FEB8, symbol: D_FO_600FEB8 }
D_FO_600FF30: aFoRadarHitbox:
{ type: SF64:HITBOX, offset: 0x600FF30, symbol: D_FO_600FF30 } { type: SF64:HITBOX, offset: 0x600FF30, symbol: aFoRadarHitbox }
D_FO_600FF64: D_FO_600FF64:
{ type: SF64:HITBOX, offset: 0x600FF64, symbol: D_FO_600FF64 } { type: SF64:HITBOX, offset: 0x600FF64, symbol: D_FO_600FF64 }

View File

@ -367,11 +367,14 @@ D_MAP_6047E70:
{ type: GFX, offset: 0x6047E70, symbol: D_MAP_6047E70 } { type: GFX, offset: 0x6047E70, symbol: D_MAP_6047E70 }
D_MAP_6047F80: D_MAP_6047F80:
{ type: TEXTURE, format: IA8, offset: 0x06047F80, width: 64, height: 64, ctype: u8, symbol: D_MAP_6047F80 } { type: TEXTURE, format: IA8, offset: 0x06047F80, width: 64, height: 32, ctype: u8, symbol: D_MAP_6047F80 }
D_MAP_6048780:
{ type: TEXTURE, format: IA8, offset: 0x06048780, width: 64, height: 32, ctype: u8, symbol: D_MAP_6048780 }
D_MAP_6048F80: D_MAP_6048F80:
{ type: TEXTURE, format: IA8, offset: 0x06048F80, width: 64, height: 64, ctype: u8, symbol: D_MAP_6048F80 } { type: TEXTURE, format: IA8, offset: 0x06048F80, width: 64, height: 64, ctype: u8, symbol: D_MAP_6048F80 }
D_MAP_6049F80: D_MAP_6049F80:
{ type: GFX, offset: 0x6049F80, symbol: D_MAP_6049F80 } { type: GFX, offset: 0x6049F80, symbol: D_MAP_6049F80 }

View File

@ -30,11 +30,11 @@ D_SZ_6000840:
D_SZ_60012D0: D_SZ_60012D0:
{ type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 9, offset: 0x60012D0, symbol: D_SZ_60012D0 } { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 9, offset: 0x60012D0, symbol: D_SZ_60012D0 }
D_SZ_6001360: aSzSpaceJunk1DL:
{ type: GFX, offset: 0x6001360, symbol: D_SZ_6001360 } { type: GFX, offset: 0x6001360, symbol: aSzSpaceJunk1DL }
D_SZ_6001A10: aSzSpaceJunk2DL:
{ type: GFX, offset: 0x6001A10, symbol: D_SZ_6001A10 } { type: GFX, offset: 0x6001A10, symbol: aSzSpaceJunk2DL }
D_SZ_6001C80: D_SZ_6001C80:
{ type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x06001C80, symbol: D_SZ_6001C80, tlut: 0x06001D80 } { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x06001C80, symbol: D_SZ_6001C80, tlut: 0x06001D80 }
@ -42,8 +42,8 @@ D_SZ_6001C80:
D_SZ_6001D80: D_SZ_6001D80:
{ type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x06001D80, symbol: D_SZ_6001D80 } { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x06001D80, symbol: D_SZ_6001D80 }
D_SZ_6001DA0: aSzSpaceJunk3DL:
{ type: GFX, offset: 0x6001DA0, symbol: D_SZ_6001DA0 } { type: GFX, offset: 0x6001DA0, symbol: aSzSpaceJunk3DL }
D_SZ_60025F0: D_SZ_60025F0:
{ type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x60025F0, symbol: D_SZ_60025F0, tlut: 0x060029F0 } { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x60025F0, symbol: D_SZ_60025F0, tlut: 0x060029F0 }
@ -69,12 +69,12 @@ D_SZ_6002DE0:
D_SZ_6002EE0: D_SZ_6002EE0:
{ type: TEXTURE, ctype: u16, format: TLUT, colors: 80, offset: 0x06002EE0, symbol: D_SZ_6002EE0 } { type: TEXTURE, ctype: u16, format: TLUT, colors: 80, offset: 0x06002EE0, symbol: D_SZ_6002EE0 }
D_SZ_6002F80: aSzBackgroundDL:
{ type: GFX, offset: 0x6002F80, symbol: D_SZ_6002F80 } { type: GFX, offset: 0x6002F80, symbol: aSzBackgroundDL }
# Sector Z Background # Sector Z Background
D_SZ_6003010: aSzBackgroundTex:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06003010, symbol: D_SZ_6003010 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06003010, symbol: aSzBackgroundTex }
D_SZ_6004010: D_SZ_6004010:
{ type: GFX, offset: 0x6004010, symbol: D_SZ_6004010 } { type: GFX, offset: 0x6004010, symbol: D_SZ_6004010 }
@ -97,8 +97,8 @@ D_SZ_6004558:
D_SZ_6004570: D_SZ_6004570:
{ type: GFX, offset: 0x6004570, symbol: D_SZ_6004570 } { type: GFX, offset: 0x6004570, symbol: D_SZ_6004570 }
D_SZ_60045E0: aSZSpaceJunk4DL:
{ type: GFX, offset: 0x60045E0, symbol: D_SZ_60045E0 } { type: GFX, offset: 0x60045E0, symbol: aSZSpaceJunk4DL }
D_SZ_60047E0: D_SZ_60047E0:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60047E0, symbol: D_SZ_60047E0 } { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60047E0, symbol: D_SZ_60047E0 }
@ -145,8 +145,8 @@ D_SZ_6006CD8:
D_SZ_6006D64: D_SZ_6006D64:
{ type: SF64:ANIM, offset: 0x6006D64, symbol: D_SZ_6006D64 } { type: SF64:ANIM, offset: 0x6006D64, symbol: D_SZ_6006D64 }
D_SZ_6006E50: aSzMissileSkel:
{ type: SF64:SKELETON, offset: 0x6006E50, symbol: D_SZ_6006E50 } { type: SF64:SKELETON, offset: 0x6006E50, symbol: aSzMissileSkel }
D_SZ_6006E70: D_SZ_6006E70:
{ type: SF64:ENVIRONMENT, offset: 0x6006E70, symbol: D_SZ_6006E70 } { type: SF64:ENVIRONMENT, offset: 0x6006E70, symbol: D_SZ_6006E70 }
@ -157,8 +157,8 @@ D_SZ_6006EB4:
D_SZ_6007558: D_SZ_6007558:
{type: SF64:COLPOLY, count: 316, offset: 0x6007558, symbol: D_SZ_6007558, mesh_symbol: D_SZ_OFFSET } {type: SF64:COLPOLY, count: 316, offset: 0x6007558, symbol: D_SZ_6007558, mesh_symbol: D_SZ_OFFSET }
D_SZ_6009230: aSZMissileHitbox:
{ type: SF64:HITBOX, offset: 0x6009230, symbol: D_SZ_6009230 } { type: SF64:HITBOX, offset: 0x6009230, symbol: aSZMissileHitbox }
D_SZ_600924C: D_SZ_600924C:
{ type: SF64:HITBOX, offset: 0x600924C, symbol: D_SZ_600924C } { type: SF64:HITBOX, offset: 0x600924C, symbol: D_SZ_600924C }

View File

@ -28,8 +28,8 @@ D_TI_6001B10:
D_TI_6001BA8: D_TI_6001BA8:
{type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 32, offset: 0x6001BA8, symbol: D_TI_6001BA8} {type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 32, offset: 0x6001BA8, symbol: D_TI_6001BA8}
D_TI_60023B0: aTiCactusDL:
{type: GFX, offset: 0x60023B0, symbol: D_TI_60023B0} {type: GFX, offset: 0x60023B0, symbol: aTiCactusDL}
D_TI_6002438: D_TI_6002438:
{type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 64, offset: 0x6002438, symbol: D_TI_6002438} {type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 64, offset: 0x6002438, symbol: D_TI_6002438}
@ -82,35 +82,35 @@ D_TI_60064AC:
D_TI_60064C8: D_TI_60064C8:
{type: SF64:HITBOX, offset: 0x60064C8, symbol: D_TI_60064C8} {type: SF64:HITBOX, offset: 0x60064C8, symbol: D_TI_60064C8}
D_TI_60064FC: aTiSkullHitbox:
{type: SF64:HITBOX, offset: 0x60064FC, symbol: D_TI_60064FC} {type: SF64:HITBOX, offset: 0x60064FC, symbol: aTiSkullHitbox}
D_TI_6006518: aTiRib0Hitbox:
{type: SF64:HITBOX, offset: 0x6006518, symbol: D_TI_6006518} {type: SF64:HITBOX, offset: 0x6006518, symbol: aTiRib0Hitbox}
D_TI_6006564: aTiRib1Hitbox:
{type: SF64:HITBOX, offset: 0x6006564, symbol: D_TI_6006564} {type: SF64:HITBOX, offset: 0x6006564, symbol: aTiRib1Hitbox}
D_TI_60065B0: aTiRib2Hitbox:
{type: SF64:HITBOX, offset: 0x60065B0, symbol: D_TI_60065B0} {type: SF64:HITBOX, offset: 0x60065B0, symbol: aTiRib2Hitbox}
D_TI_60065FC: aTiRib3Hitbox:
{type: SF64:HITBOX, offset: 0x60065FC, symbol: D_TI_60065FC} {type: SF64:HITBOX, offset: 0x60065FC, symbol: aTiRib3Hitbox}
D_TI_6006648: aTiRib4Hitbox:
{type: SF64:HITBOX, offset: 0x6006648, symbol: D_TI_6006648} {type: SF64:HITBOX, offset: 0x6006648, symbol: aTiRib4Hitbox}
D_TI_6006694: aTiRib5Hitbox:
{type: SF64:HITBOX, offset: 0x6006694, symbol: D_TI_6006694} {type: SF64:HITBOX, offset: 0x6006694, symbol: aTiRib5Hitbox}
D_TI_60066E0: aTiRib6Hitbox:
{type: SF64:HITBOX, offset: 0x60066E0, symbol: D_TI_60066E0} {type: SF64:HITBOX, offset: 0x60066E0, symbol: aTiRib6Hitbox}
D_TI_600672C: aTiRib7Hitbox:
{type: SF64:HITBOX, offset: 0x600672C, symbol: D_TI_600672C} {type: SF64:HITBOX, offset: 0x600672C, symbol: aTiRib7Hitbox}
D_TI_6006778: aTiRib8Hitbox:
{type: SF64:HITBOX, offset: 0x6006778, symbol: D_TI_6006778} {type: SF64:HITBOX, offset: 0x6006778, symbol: aTiRib8Hitbox}
D_TI_60067C4: D_TI_60067C4:
{type: SF64:HITBOX, offset: 0x60067C4, symbol: D_TI_60067C4} {type: SF64:HITBOX, offset: 0x60067C4, symbol: D_TI_60067C4}
@ -133,8 +133,8 @@ D_TI_6006874:
D_TI_6006890: D_TI_6006890:
{type: SF64:HITBOX, offset: 0x6006890, symbol: D_TI_6006890} {type: SF64:HITBOX, offset: 0x6006890, symbol: D_TI_6006890}
D_TI_60068BC: aTiCactusHitbox:
{type: SF64:HITBOX, offset: 0x60068BC, symbol: D_TI_60068BC} {type: SF64:HITBOX, offset: 0x60068BC, symbol: aTiCactusHitbox}
D_TI_60068F0: D_TI_60068F0:
{type: SF64:HITBOX, offset: 0x60068F0, symbol: D_TI_60068F0} {type: SF64:HITBOX, offset: 0x60068F0, symbol: D_TI_60068F0}

View File

@ -471,8 +471,8 @@ D_ZO_6024220:
D_ZO_60242B8: D_ZO_60242B8:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60242B8, symbol: D_ZO_60242B8} { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60242B8, symbol: D_ZO_60242B8}
D_ZO_6024AC0: aZoRock1DL:
{ type: GFX, offset: 0x6024AC0, symbol: D_ZO_6024AC0} { type: GFX, offset: 0x6024AC0, symbol: aZoRock1DL}
D_ZO_6024D60: D_ZO_6024D60:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6024D60, symbol: D_ZO_6024D60} { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6024D60, symbol: D_ZO_6024D60}
@ -502,8 +502,8 @@ D_ZO_602AC50:
D_ZO_602AE94: D_ZO_602AE94:
{ type: ARRAY, count: 242, array_type: Vec3f, offset: 0x602AE94, symbol: D_ZO_602AE94} { type: ARRAY, count: 242, array_type: Vec3f, offset: 0x602AE94, symbol: D_ZO_602AE94}
D_ZO_602B9EC: aZoRock1Hitbox:
{ type: SF64:HITBOX, offset: 0x602B9EC, symbol: D_ZO_602B9EC} { type: SF64:HITBOX, offset: 0x602B9EC, symbol: aZoRock1Hitbox}
D_ZO_602BA20: D_ZO_602BA20:
{ type: SF64:HITBOX, offset: 0x602BA20, symbol: D_ZO_602BA20} { type: SF64:HITBOX, offset: 0x602BA20, symbol: D_ZO_602BA20}

162
include/fox_co.h Normal file
View File

@ -0,0 +1,162 @@
#ifndef FOX_CO_H
#define FOX_CO_H
// Granga Boss:
#define DMG_FLICKER_5 (5) // Damage indicator flickers for 5 frames
#define DMG_FLICKER_15 (15) // Damage indicator flickers for 15 frames
#define DMG_DESTROYED (1000) // Damage part is destroyed
typedef enum GrangaStates {
/* 0 */ GRANGA_STATIONARY,
/* 1 */ GRANGA_STATE_1,
/* 2 */ GRANGA_STATE_2,
/* 3 */ GRANGA_STATE_3,
/* 4 */ GRANGA_STATE_4,
/* 5 */ GRANGA_STATE_5,
/* 6 */ GRANGA_STATE_6,
/* 7 */ GRANGA_STATE_7,
} GrangaStates;
typedef enum GrangaWork {
/* 00 */ GRANGA_WORK_00, // x of missiles launched from it's right arm ?
/* 01 */ GRANGA_WORK_01, // y of missiles launched from it's right arm ?
/* 02 */ GRANGA_WORK_02, // z of missiles launched from it's right arm ?
/* 03 */ GRANGA_WORK_03, // x of something // destroy effect related?
/* 04 */ GRANGA_WORK_04, // y of something // destroy effect related?
/* 05 */ GRANGA_WORK_05, // z of something // destroy effect related?
/* 06 */ GRANGA_WORK_06, // x of missiles launched from it's left arm ?
/* 07 */ GRANGA_WORK_07, // y of missiles launched from it's left arm ?
/* 08 */ GRANGA_WORK_08, // z of missiles launched from it's left arm ?
/* 09 */ GRANGA_WORK_09,
/* 10 */ GRANGA_WORK_10,
/* 11 */ GRANGA_WORK_11,
/* 12 */ GRANGA_WORK_12,
/* 13 */ GRANGA_WORK_13,
/* 14 */ GRANGA_WORK_14,
/* 15 */ GRANGA_WORK_15,
/* 16 */ GRANGA_WORK_16, // yRot of missiles launched from both arms ?
/* 17 */ GRANGA_WORK_17, // x of something
/* 18 */ GRANGA_WORK_18, // y of something
/* 19 */ GRANGA_WORK_19, // z of something
/* 20 */ GRANGA_WORK_20,
/* 21 */ GRANGA_WORK_21,
/* 22 */ GRANGA_WORK_22,
/* 23 */ GRANGA_WORK_23,
/* 24 */ GRANGA_WORK_24,
/* 25 */ GRANGA_WORK_25,
/* 26 */ GRANGA_WORK_26,
/* 27 */ GRANGA_WORK_27,
/* 28 */ GRANGA_WORK_28,
/* 29 */ GRANGA_WORK_29,
/* 30 */ GRANGA_WORK_30,
/* 31 */ GRANGA_WORK_31,
/* 32 */ GRANGA_WORK_32,
/* 33 */ GRANGA_WORK_33,
/* 34 */ GRANGA_WORK_34,
/* 35 */ GRANGA_WORK_35,
/* 36 */ GRANGA_WORK_36,
/* 37 */ GRANGA_WORK_37,
/* 38 */ GRANGA_WORK_38,
/* 39 */ GRANGA_WORK_39,
/* 40 */ GRANGA_WORK_40,
/* 41 */ GRANGA_WORK_41,
/* 42 */ GRANGA_WORK_42,
/* 43 */ GRANGA_WORK_43,
/* 44 */ GRANGA_WORK_44,
/* 45 */ GRANGA_WORK_45,
/* 46 */ GRANGA_WORK_46,
/* 47 */ GRANGA_WORK_47,
/* 48 */ GRANGA_WORK_48,
/* 49 */ GRANGA_WORK_49,
/* 50 */ GRANGA_WORK_50,
/* 51 */ GRANGA_WORK_51,
/* 52 */ GRANGA_WORK_52,
/* 53 */ GRANGA_WORK_53,
/* 54 */ GRANGA_WORK_54,
/* 55 */ GRANGA_WORK_55,
/* 56 */ GRANGA_WORK_56,
/* 57 */ GRANGA_WORK_57,
/* 58 */ GRANGA_WORK_58,
/* 59 */ GRANGA_WORK_59,
/* 60 */ GRANGA_WORK_60,
/* 61 */ GRANGA_WORK_61,
/* 62 */ GRANGA_WORK_62, // x
/* 63 */ GRANGA_WORK_63, // y
/* 64 */ GRANGA_WORK_64, // z
/* 65 */ GRANGA_WORK_65,
/* 66 */ GRANGA_WORK_66, // xTargetPos ?
/* 67 */ GRANGA_WORK_67 // zTargetPos ?
} GrangaWork;
typedef enum GrangaSwork {
/* 00 */ GRANGA_SWK_0,
// Damage indicators, one per limb
/* 01 */ GRANGA_RIGHT_ARM_DMG_IND,
/* 02 */ GRANGA_LEFT_ARM_DMG_IND,
/* 03 */ GRANGA_GUN_DMG_IND,
/* 04 */ GRANGA_RIGHT_LEG_DMG_IND,
/* 07 */ GRANGA_LEFT_LEG_DMG_IND = 7,
/* 10 */ GRANGA_BACKPACK_DMG_IND = 10,
/* 18 */ GRANGA_SWK_18 = 18,
/* 19 */ GRANGA_SWK_19,
/* 20 */ GRANGA_SWK_20,
/* 21 */ GRANGA_SWK_21,
/* 22 */ GRANGA_SWK_22,
/* 23 */ GRANGA_SWK_23,
/* 24 */ GRANGA_LEFT_LEG_HP,
/* 25 */ GRANGA_RIGHT_LEG_HP,
/* 26 */ GRANGA_LEFT_ARM_HP,
/* 27 */ GRANGA_RIGHT_ARM_HP,
/* 28 */ GRANGA_PLASMA_GUN_HP,
/* 29 */ GRANGA_BACKPACK_HP,
/* 30 */ GRANGA_ATTACK_STATE,
/* 31 */ GRANGA_NEXT_STATE,
/* 32 */ GRANGA_SWK_32,
/* 33 */ GRANGA_INIT,
/* 35 */ GRANGA_MISSILE_COUNT = 35,
/* 36 */ GRANGA_1UP_CHECK
} GrangaSwork;
typedef enum GrangaFwork {
/* 00 */ GRANGA_FWK_00,
/* 01 */ GRANGA_FWK_01,
/* 02 */ GRANGA_FWK_02,
/* 03 */ GRANGA_FWK_03,
/* 04 */ GRANGA_FWK_04,
/* 12 */ GRANGA_FWK_12 = 12,
/* 13 */ GRANGA_FWK_13,
/* 14 */ GRANGA_FWK_14,
} GrangaFwork;
typedef enum GrangaDmgParts {
/* 0 */ GRANGA_DMG_BACKPACK,
/* 1 */ GRANGA_DMG_LEFT_ARM,
/* 2 */ GRANGA_DMG_RIGHT_ARM,
/* 3 */ GRANGA_DMG_GUN,
/* 4 */ GRANGA_DMG_LEFT_LEG,
/* 5 */ GRANGA_DMG_RIGHT_LEG,
} GrangaDmgParts;
typedef enum GrangaAttackState {
/* 0 */ GRANGA_ATTACK_IDLE,
/* 1 */ GRANGA_ATTACK_MISSILES,
/* 2 */ GRANGA_ATTACK_LASERS,
/* 3 */ GRANGA_ATTACK_PLASMA,
} GrangaAttackState;
// Carrier Boss:
typedef enum CoCarrierParts {
/* 0 */ CARRIER_0,
/* 1 */ CARRIER_1,
/* 2 */ CARRIER_2,
/* 3 */ CARRIER_3
} CarrierParts;
#endif

View File

@ -25,7 +25,7 @@ void ActorAllRange_SetShadowData(Actor* this);
void ActorAllRange_SpawnTeam(void); void ActorAllRange_SpawnTeam(void);
void ActorAllRange_PlayMessage(u16* msg, RadioCharacterId character); void ActorAllRange_PlayMessage(u16* msg, RadioCharacterId character);
void ActorAllRange_UpdateStarWolfEvents(Actor*); void ActorAllRange_UpdateStarWolfEvents(Actor*);
void ActorAllRange_UpdateEvemyEvents(Actor*); void ActorAllRange_UpdateEnemyEvents(Actor*);
void ActorAllRange_ApplyDamage(Actor*); void ActorAllRange_ApplyDamage(Actor*);
bool func_360_80031900(Actor*); bool func_360_80031900(Actor*);
void ActorAllRange_Update(Actor* this); void ActorAllRange_Update(Actor* this);
@ -50,7 +50,7 @@ void Background_dummy_80040CDC(void);
void Background_DrawGround(void); void Background_DrawGround(void);
// fox_boss // fox_boss
void Boss_AwardBonus(Boss* boss); void Boss_AwardBonus(Boss* this);
void Boss299_Init(Boss* boss); void Boss299_Init(Boss* boss);
void Boss299_Update(Boss* boss); void Boss299_Update(Boss* boss);
void Boss299_Draw(Boss* boss); void Boss299_Draw(Boss* boss);
@ -92,10 +92,10 @@ void func_display_80057814(Player*);
void Play_Draw(void); void Play_Draw(void);
// fox_edata // fox_edata
void func_edata_800594F0(Scenery*); void Scenery48_Draw(Scenery*);
void func_edata_800595D0(Scenery*); void Scenery49_Draw(Scenery*);
void Object_ApplyWaterDistortion(void); void Object_ApplyWaterDistortion(void);
void func_edata_800596B0(Actor*); void Actor289_Draw(Actor*);
// fox_edisplay // fox_edisplay
void Graphics_SetScaleMtx(f32); void Graphics_SetScaleMtx(f32);
@ -104,22 +104,22 @@ void Actor201_Draw(Actor*);
void Actor202_Draw(Actor*); void Actor202_Draw(Actor*);
void MeteoTunnel_Draw(Scenery*); void MeteoTunnel_Draw(Scenery*);
void Scenery_DrawTitaniaBones(Scenery*); void Scenery_DrawTitaniaBones(Scenery*);
void Scenery42_Draw(Scenery*); void CoIBeam_Draw(Scenery*);
void Actor196_Draw(Actor*); void Actor196_Draw(Actor*);
void Sprite167_Draw(Sprite*); void Sprite167_Draw(Sprite*);
void FogShadow_Draw(Sprite*); void FogShadow_Draw(Sprite*);
void func_edisplay_80059F68(Scenery*); void CoBuilding9_Draw(Scenery*);
void func_edisplay_80059FDC(Scenery*); void CoBuilding10_Draw(Scenery*);
void ActorDebris_Draw(Actor*); void ActorDebris_Draw(Actor*);
void Actor_DrawEngineAndContrails(Actor*); void Actor_DrawEngineAndContrails(Actor*);
void Actor_DrawEngineGlow(Actor*, s32); void Actor_DrawEngineGlow(Actor*, s32);
void func_edisplay_8005B388(Actor*); void func_edisplay_8005B388(Actor*);
void func_edisplay_8005B6A4(Actor*); void Actor180_Draw(Actor*);
void func_edisplay_8005B71C(Actor*); void Actor182_Draw(Actor*);
void func_edisplay_8005B7CC(Actor*); void Actor186_Draw(Actor*);
void func_edisplay_8005B848(Actor*); void Actor190_191_Draw(Actor*);
void func_edisplay_8005B9A4(Actor*); void Actor192_Draw(Actor*);
void func_edisplay_8005BA30(Actor*); void Actor193_Draw(Actor*);
void ItemCheckpoint_Draw(Item*); void ItemCheckpoint_Draw(Item*);
void ItemSilverRing_Draw(Item*); void ItemSilverRing_Draw(Item*);
void ItemSilverStar_Draw(Item*); void ItemSilverStar_Draw(Item*);
@ -160,20 +160,20 @@ void func_enmy_80062C38(f32, f32);
bool Object_CheckHitboxCollision(Vec3f* pos, f32* hitboxData, Object* obj, f32 xRot, f32 yRot, f32 zRot); bool Object_CheckHitboxCollision(Vec3f* pos, f32* hitboxData, Object* obj, f32 xRot, f32 yRot, f32 zRot);
bool Object_CheckSingleHitbox(Vec3f*, f32*, Vec3f*); bool Object_CheckSingleHitbox(Vec3f*, f32*, Vec3f*);
bool Object_CheckPolyCollision(Vec3f* , Vec3f* , ObjectId , Object* ); bool Object_CheckPolyCollision(Vec3f* , Vec3f* , ObjectId , Object* );
s32 Object_CheckCollision(s32 , Vec3f* , Vec3f* , s32 ); s32 Object_CheckCollision(s32 index, Vec3f* pos, Vec3f* vel, s32 mode);
void Scenery_UpdateTitaniaBones(Scenery*); void Scenery_UpdateTitaniaBones(Scenery*);
void func_enmy_800654E4(Object*); void func_enmy_800654E4(Object*);
void func_enmy_800656D4(Actor*); void Actors190_191_Update(Actor*);
void func_enmy_800660F0(Actor*); void func_enmy_800660F0(Actor*);
void Actor_Despawn(Actor*); void Actor_Despawn(Actor*);
void func_enmy_8006654C(Actor*); void Actor192_Update(Actor*);
void func_enmy_8006684C(Actor*); void func_enmy_8006684C(Actor*);
void func_enmy_800669A0(Actor*); void Actor193_Update(Actor*);
void func_enmy_80066A80(Actor*); void Actor180_Update(Actor*);
void func_enmy_80066C00(Scenery*); void func_enmy_80066C00(Scenery*);
void func_enmy_80066D5C(Scenery*); void CoBuilding9_Update(Scenery*);
void Sprite167_Update(Sprite*); void Sprite167_Update(Sprite*);
void func_enmy_80066EA8(Scenery*); void SceneryRotateTowardsCamera(Scenery*);
void Item_CheckBounds(Item*); void Item_CheckBounds(Item*);
void Item_SpinPickup(Item*); void Item_SpinPickup(Item*);
void Actor_SpawnDebris70(f32, f32, f32, f32, f32, f32, f32, f32); void Actor_SpawnDebris70(f32, f32, f32, f32, f32, f32, f32, f32);
@ -212,18 +212,19 @@ void Object_Update(void);
//fox_enmy2 //fox_enmy2
void Actor237_Update(Actor*); void Actor237_Update(Actor*);
void Actor237_Draw(Actor*); void Actor237_Draw(Actor*);
void Scenery54_Update(Scenery*); void CoWaterfall_Update(Scenery*);
void Actor201_Update(Actor*); void Actor201_Update(Actor*);
void Actor202_Update(Actor*); void Actor202_Update(Actor*);
void Actor194_Update(Actor*); void Actor194_Update(Actor*);
void Actor194_Dying(Actor*); void Actor194_Dying(Actor*);
void Actor194_Draw(Actor*); void Actor194_Draw(Actor*);
void Scenery42_Update(Scenery*); void CoIBeam_Update(Scenery*);
void Actor196_Update(Actor*); void Actor196_Update(Actor*);
void ActorDebris_Update(Actor*); void ActorDebris_Update(Actor*);
void MeteoTunnel_Update(Scenery*); void MeteoTunnel_Update(Scenery*);
void Actor_SetupPlayerShot(PlayerShotId, PlayerShot*, s32, f32, f32, f32, f32, f32, f32, f32, f32, f32); void Actor_SetupPlayerShot(PlayerShotId, PlayerShot*, s32, f32, f32, f32, f32, f32, f32, f32, f32, f32);
void Actor_SpawnPlayerLaser(s32, f32, f32, f32, f32, f32, f32, f32, f32, f32); void Actor_SpawnPlayerLaser(s32 actorId, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 xRot, f32 yRot,
f32 zRot);
void Actor_SpawnGreatFoxLaser(s32 actorId, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 xRot, f32 yRot, void Actor_SpawnGreatFoxLaser(s32 actorId, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 xRot, f32 yRot,
f32 zRot); f32 zRot);
void ActorEvent_SpawnEffect347(f32 xPos, f32 yPos, f32 zPos, f32 scale1); void ActorEvent_SpawnEffect347(f32 xPos, f32 yPos, f32 zPos, f32 scale1);
@ -243,78 +244,78 @@ void BonusText_Update(void);
void BonusText_DrawAll(void); void BonusText_DrawAll(void);
Effect* func_effect_8007783C(ObjectId objId); Effect* func_effect_8007783C(ObjectId objId);
void func_effect_8007797C(f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 scale2); void func_effect_8007797C(f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 scale2);
void func_effect_80077A00(Effect* ); void Effect_Effect372_Draw(Effect* );
void func_effect_80077A7C(Effect* ); void Effect_Effect382_Draw(Effect* );
void func_effect_80077B78(Effect* ); void Effect_Effect388_Draw(Effect* );
void func_effect_80077B84(Effect* ); void Effect_Effect384_Draw(Effect* );
void func_effect_80078038(Effect* ); void Effect_Effect385_Draw(Effect* );
void func_effect_800780F8(Effect* ); void Effect_Effect389_Draw(Effect* );
void func_effect_800783C0(Effect* ); void Effect_Effect347_Draw(Effect* );
void func_effect_80078438(Effect* ); void Effect_Effect351_Draw(Effect* );
void func_effect_800784B4(Effect* ); void Effect_Clouds_Draw(Effect* );
void func_effect_80078550(Effect* ); void Effect_Effect366_Draw(Effect* );
void func_effect_80078604(Effect* ); void Effect_Effect367_Draw(Effect* );
void func_effect_8007868C(Effect* ); void Effect_Effect344_Draw(Effect* );
void func_effect_8007879C(Effect* ); void Effect_Effect345_Draw(Effect* );
void func_effect_800788B0(Effect* ); void Effect_Effect346_Draw(Effect* );
void func_effect_80078A64(Effect* ); void Effect_Effect348_Draw(Effect* );
void func_effect_80078AEC(Effect* ); void Effect_Effect355_Draw(Effect* );
void func_effect_80078B8C(Effect*); void Effect_Effect353_Draw(Effect*);
void func_effect_80078BE0(Effect* ); void Macbeth_Effect377_Draw(Effect* );
void func_effect_80078C84(Effect* ); void Effect_Effect356_Draw(Effect* );
void func_effect_80078CE8(Effect* ); void Macbeth_Effect376_Draw(Effect* );
void func_effect_80078E50(f32 xPos, f32 yPos, f32 zPos, f32 scale2); void func_effect_80078E50(f32 xPos, f32 yPos, f32 zPos, f32 scale2);
void func_effect_80078EBC(Effect* ); void Effect_Effect393_Update(Effect* );
void func_effect_80078F78(Effect* ); void Effect_Effect393_Draw(Effect* );
void func_effect_800794CC(f32 xPos, f32 yPos, f32 zPos, f32 scale2); void func_effect_800794CC(f32 xPos, f32 yPos, f32 zPos, f32 scale2);
void func_effect_8007953C(f32 xPos, f32 yPos, f32 zPos, f32 scale2); void func_effect_8007953C(f32 xPos, f32 yPos, f32 zPos, f32 scale2);
void func_effect_800795AC(f32 xPos, f32 yPos, f32 zPos, f32 scale2); void func_effect_800795AC(f32 xPos, f32 yPos, f32 zPos, f32 scale2);
void func_effect_80079618(f32 xPos, f32 yPos, f32 zPos, f32 scale2); void func_effect_80079618(f32 xPos, f32 yPos, f32 zPos, f32 scale2);
void func_effect_8007968C(Effect*); void Effect_Effect357_Update(Effect*);
void func_effect_800798F0(Effect* ); void Effect_Effect357_Draw(Effect* );
void func_effect_8007A28C(Effect* ); void Effect_Effect383_Update(Effect* );
void func_effect_8007A3C0(Effect* ); void Effect_Effect383_Draw(Effect* );
void func_effect_8007A568(f32 xPos, f32 yPos, f32 zPos, f32 scale1); void func_effect_8007A568(f32 xPos, f32 yPos, f32 zPos, f32 scale1);
void func_effect_8007A5F8(Effect* , Vec3f* pos, u32 sfxId); void Effect_SetupTimedSfxAtPos(Effect* , Vec3f* pos, u32 sfxId);
void func_effect_8007A6F0(Vec3f* pos, s32 sfxId); void Effect_SpawnTimedSfxAtPos(Vec3f* pos, s32 sfxId);
void func_effect_8007A748(Effect*); void Effect_TimedSfx_Update(Effect*);
bool func_effect_8007A774(Player*, Effect*, f32); bool func_effect_8007A774(Player*, Effect*, f32);
void func_effect_8007A900(f32 xPos, f32 yPos, f32 zPos, f32 scale1, u8, u8, u16); void func_effect_8007A900(f32 xPos, f32 yPos, f32 zPos, f32 scale1, u8, u8, u16);
void func_effect_8007A994(Effect*); void Effect_Effect359_Update(Effect359*);
void func_effect_8007AA60(Effect*); void Effect_Effect359_Draw(Effect*);
void func_effect_8007AB50(Effect*); void Effect_Effect372_Update(Effect*);
void func_effect_8007ACE0(f32 xPos, f32 yPos, f32 zPos, f32 scale2, f32 scale1, f32 yRot); void func_effect_8007ACE0(f32 xPos, f32 yPos, f32 zPos, f32 scale2, f32 scale1, f32 yRot);
void func_effect_8007ADF4(f32 xPos, f32 yPos, f32 zPos, f32 scale2, f32 scale1); void func_effect_8007ADF4(f32 xPos, f32 yPos, f32 zPos, f32 scale2, f32 scale1);
void func_effect_8007AFD0(f32 xPos, f32 zPos, f32 xVel, f32 zVel, f32 scale1); void func_effect_8007AFD0(f32 xPos, f32 zPos, f32 xVel, f32 zVel, f32 scale1);
void func_effect_8007B040(Effect*); void Effect_Effect382_Update(Effect*);
void func_effect_8007B0F4(Effect*); void Effect_Effect381_Update(Effect*);
void func_effect_8007B228(f32 xPos, f32 yPos, f32 zPos, f32 scale1); void func_effect_8007B228(f32 xPos, f32 yPos, f32 zPos, f32 scale1);
void func_effect_8007B344(f32 xPos, f32 yPos, f32 zPos, f32 scale1, s32 ); void func_effect_8007B344(f32 xPos, f32 yPos, f32 zPos, f32 scale1, s32 );
void func_effect_8007B3B8(Effect*); void Effect_Effect384_Update(Effect*);
void func_effect_8007B550(f32 xPos, f32 yPos, f32 zPos, f32 scale1, s32 ); void func_effect_8007B550(f32 xPos, f32 yPos, f32 zPos, f32 scale1, s32 );
void func_effect_8007B5C0(Effect*); void Effect_Effect385_Update(Effect*);
void func_effect_8007B62C(Effect*); void Effect_Clouds_Update(Effect*);
void func_effect_8007B670(Effect*); void Effect_Effect388_Update(Effect*);
void func_effect_8007B67C(Effect*); void Effect_Effect389_Update(Effect*);
void func_effect_8007B758(Effect*); void Effect_Effect347_Update(Effect*);
void func_effect_8007B8F8(f32 xPos, f32 yPos, f32 zPos, f32 scale2); void func_effect_8007B8F8(f32 xPos, f32 yPos, f32 zPos, f32 scale2);
void func_effect_8007B960(Effect*); void Effect_Effect364_Update(Effect*);
void func_effect_8007BC7C(f32 xPos, f32 yPos, f32 zPos, f32 scale2); void func_effect_8007BC7C(f32 xPos, f32 yPos, f32 zPos, f32 scale2);
void func_effect_8007BCE8(Effect*); void Effect_Effect362_Update(Effect*);
void func_effect_8007B9DC(Effect*); void Effect_Effect364_Draw(Effect*);
void func_effect_8007BDE0(Effect*); void Effect_Effect361_Update(Effect*);
void func_effect_8007BE54(Effect*); void Effect_Effect360_Update(Effect*);
void func_effect_8007BEE8(Effect*); void Effect_Effect360_361_362_Draw(Effect*);
void func_effect_8007BFFC(f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 scale2, s32 timer50); void func_effect_8007BFFC(f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 scale2, s32 timer50);
void func_effect_8007C120(f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 scale2, s32 timer50); void func_effect_8007C120(f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 scale2, s32 timer50);
void func_effect_8007C250(Effect*); void Effect_Effect386_Update(Effect*);
void func_effect_8007C484(f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 scale2, s32 arg7); void func_effect_8007C484(f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 scale2, s32 arg7);
void func_effect_8007C50C(Effect*); void Effect_Effect390_Update(Effect*);
void func_effect_8007C688(f32 xPos, f32 yPos, f32 zPos, f32 scale2, s32 timer50); void func_effect_8007C688(f32 xPos, f32 yPos, f32 zPos, f32 scale2, s32 timer50);
void func_effect_8007C8C4(Effect*); void Effect_Effect387_Update(Effect*);
void func_effect_8007C85C(f32 xPos, f32 yPos, f32 zPos, f32 scale2); void func_effect_8007C85C(f32 xPos, f32 yPos, f32 zPos, f32 scale2);
void func_effect_8007C9E0(Effect*); void Effect_Effect343_Update(Effect*);
void func_effect_8007CAF0(Effect*); void Effect_Effect343_Draw(Effect*);
void func_effect_8007CF30(f32 xPos, f32 yPos, f32 zPos, f32 scale2); void func_effect_8007CF30(f32 xPos, f32 yPos, f32 zPos, f32 scale2);
void func_effect_8007D074(f32 xPos, f32 yPos, f32 zPos, f32 scale2); void func_effect_8007D074(f32 xPos, f32 yPos, f32 zPos, f32 scale2);
void func_effect_8007D0E0(f32 xPos, f32 yPos, f32 zPos, f32 scale2); void func_effect_8007D0E0(f32 xPos, f32 yPos, f32 zPos, f32 scale2);
@ -322,54 +323,54 @@ void func_effect_8007D10C(f32 xPos, f32 yPos, f32 zPos, f32 scale2);
void func_effect_8007D1E0(f32 xPos, f32 yPos, f32 zPos, f32 scale2); void func_effect_8007D1E0(f32 xPos, f32 yPos, f32 zPos, f32 scale2);
void func_effect_8007D24C(f32 xPos, f32 yPos, f32 zPos, f32 scale2); void func_effect_8007D24C(f32 xPos, f32 yPos, f32 zPos, f32 scale2);
void func_effect_8007D2C8(f32 xPos, f32 yPos, f32 zPos, f32 scale2); void func_effect_8007D2C8(f32 xPos, f32 yPos, f32 zPos, f32 scale2);
void func_effect_8007D2F4(Effect*); void Effect_Effect339_Update(Effect*);
void func_effect_8007D55C(Effect*); void Effect_FireSmoke_Draw(Effect*);
void func_effect_8007D748(Effect*); void Effect_Effect340_Update(Effect*);
void func_effect_8007D8A8(Effect*); void Effect_Effect341_Update(Effect*);
void func_effect_8007D9DC(f32 xPos, f32 yPos, f32 zPos, f32 scale2, f32 scale1, s32 timer50); void func_effect_8007D9DC(f32 xPos, f32 yPos, f32 zPos, f32 scale2, f32 scale1, s32 timer50);
void func_effect_8007DA58(Effect*); void Effect_Effect375_Update(Effect*);
void func_effect_8007DAE4(Effect*); void Macbeth_Effect375_Draw(Effect*);
void func_effect_8007DB70(Effect*); void Effect_Effect374_Update(Effect*);
void func_effect_8007DED4(Effect*); void Macbeth_Effect374_Draw(Effect*);
void func_effect_8007E014(Effect*); void Effect_Effect344_Update(Effect*);
void func_effect_8007E258(Effect*); void Effect_Effect345_Update(Effect*);
void func_effect_8007E298(Effect*); void Effect_Effect342_Update(Effect*);
void func_effect_8007E330(Effect*); void Effect_Effect342_Draw(Effect*);
void func_effect_8007E3E4(Effect*); void Effect_Effect351_Update(Effect*);
void func_effect_8007E45C(Effect*); void Effect_Effect365_Update(Effect*);
void func_effect_8007E5CC(Effect*); void Effect_Effect365_Draw(Effect*);
void func_effect_8007E648(Effect*); void Effect_Effect367_Update(Effect*);
void func_effect_8007E93C(Effect* effect, u32 objId, f32 xPos, f32 yPos, f32 zPos, f32 speed); void func_effect_8007E93C(Effect* this, u32 objId, f32 xPos, f32 yPos, f32 zPos, f32 speed);
void func_effect_8007EE68(ObjectId objId, Vec3f* pos, Vec3f* rot, Vec3f* arg3, Vec3f* arg4, f32 scale2); void func_effect_8007EE68(ObjectId objId, Vec3f* pos, Vec3f* rot, Vec3f* arg3, Vec3f* arg4, f32 scale2);
void func_effect_8007F04C(ObjectId objId, f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot, f32 zRot, f32 unkX, f32 unkY, f32 unkZ, f32 xVel, f32 yVel, f32 zVel, f32 scale2); void func_effect_8007F04C(ObjectId objId, f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot, f32 zRot, f32 unkX, f32 unkY, f32 unkZ, f32 xVel, f32 yVel, f32 zVel, f32 scale2);
void func_effect_8007F11C(ObjectId objId, f32 xPos, f32 yPos, f32 zPos, f32 speed); void Effect_EnemyLaser(ObjectId objId, f32 xPos, f32 yPos, f32 zPos, f32 speed);
void func_effect_8007F20C(ObjectId objId, f32 xPos, f32 yPos, f32 zPos, f32 speed); void func_effect_8007F20C(ObjectId objId, f32 xPos, f32 yPos, f32 zPos, f32 speed);
void func_effect_8007F438(Effect*); void Effect_Effect346_Update(Effect*);
void func_effect_8007F6B0(Effect*); void Effect_Effect348_Update(Effect*);
void func_effect_8007F958(Effect*); void Effect_Effect349_Update(Effect*);
void func_effect_8007FBE0(Effect*); void Effect_Effect350_Update(Effect*);
void func_effect_8007FE88(Effect*); void Effect_Effect353_354_Update(Effect*);
bool func_effect_8007FD84(Effect*); bool func_effect_8007FD84(Effect*);
void func_effect_800802B8(Effect*); void Effect_Effect355_Update(Effect*);
void func_effect_800802D8(Effect*); void Effect_Effect377_Update(Effect*);
void func_effect_800802F8(Effect*); void Effect_Effect356_Update(Effect*);
void func_effect_80080360(Effect*); void Effect_Effect376_Update(Effect*);
void func_effect_8008040C(Effect*); void Effect_Effect398_Update(Effect*);
void func_effect_8008092C(Effect*); void Effect_Effect398_Draw(Effect*);
void func_effect_80080ACC(Effect*); void Effect_Effect394_Update(Effect*);
void func_effect_80080D04(Effect*); void Effect_Effect394_Draw(Effect*);
void func_effect_800815DC(void); void func_effect_800815DC(void);
void func_effect_80081A8C(f32 xPos, f32 yPos, f32 zPos, f32 scale2, s32 arg4); void func_effect_80081A8C(f32 xPos, f32 yPos, f32 zPos, f32 scale2, s32 arg4);
void func_effect_80081BEC(f32 xPos, f32 yPos, f32 zPos, f32 scale2, s32 arg4); void func_effect_80081BEC(f32 xPos, f32 yPos, f32 zPos, f32 scale2, s32 arg4);
void func_effect_80081C5C(Effect*); void Effect_Effect395_Update(Effect*);
void func_effect_80082F78(Effect*); void Effect_Effect395_Draw(Effect*);
void func_effect_8008377C(f32, f32, f32, f32, f32); void func_effect_8008377C(f32, f32, f32, f32, f32);
void func_effect_800837EC(Effect*); void Effect_Effect391_Update(Effect*);
void func_effect_80083B8C(Effect*); void Effect_Effect391_Draw(Effect*);
void func_effect_80083C70(Effect* effect, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 arg7, s32 arg8); void func_effect_80083C70(Effect* this, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 arg7, s32 arg8);
void func_effect_80083D2C(f32 xPos, f32 yPos, f32 zPos, f32 srcZ); void func_effect_80083D2C(f32 xPos, f32 yPos, f32 zPos, f32 srcZ);
void func_effect_80083FA8(Effect*); void Effect_Effect399_Update(Effect*);
void func_effect_80084194(Effect*); void Effect_Effect399_Draw(Effect*);
// fox_fade // fox_fade
void Wipe_Draw(WipeMode mode, s32 frame); void Wipe_Draw(WipeMode mode, s32 frame);
@ -385,7 +386,7 @@ void func_hud_80087530(f32, f32, s32);
void func_hud_800884E4(void); void func_hud_800884E4(void);
void func_hud_80088564(void); void func_hud_80088564(void);
void HUD_DrawStatusScreens(void); void HUD_DrawStatusScreens(void);
s32 func_hud_8008AC54(s32); s32 Hud_MissileSeekModeCheck(s32);
void func_hud_8008AD94(void); void func_hud_8008AD94(void);
void func_hud_8008B5B0(f32 x, f32 y); void func_hud_8008B5B0(f32 x, f32 y);
s32 func_hud_8008B774(void); s32 func_hud_8008B774(void);
@ -419,8 +420,8 @@ void func_hud_800953A0(Actor*, s32);
void func_hud_8009546C(Actor*, s32); void func_hud_8009546C(Actor*, s32);
void func_hud_80095538(Actor*, s32); void func_hud_80095538(Actor*, s32);
void HUD_AquasComplete(Player*); void HUD_AquasComplete(Player*);
void func_hud_80094954(Effect*); void Hud_Effect363_Update(Effect*);
void func_hud_80094BBC(Effect*); void Hud_Effect363_Draw(Effect*);
void func_hud_80094D20(f32, f32); void func_hud_80094D20(f32, f32);
void func_hud_80096A74(Player* player); void func_hud_80096A74(Player* player);
@ -465,12 +466,12 @@ void Player_UpdateArwingRoll(Player*);
void Player_ArwingBoost(Player*); void Player_ArwingBoost(Player*);
void Camera_UpdateArwingOnRails(Player*); void Camera_UpdateArwingOnRails(Player*);
void Camera_UpdateCockpitOnRails(Player*, s32); void Camera_UpdateCockpitOnRails(Player*, s32);
void Camera_FollowPlayer(Player*, s32 , bool ); void Camera_FollowPlayer(Player*, s32 , bool);
void Camera_UpdateArwing360(Player*, s32); void Camera_UpdateArwing360(Player*, bool);
void Camera_UpdateTank360(Player*, s32 ); void Camera_UpdateTank360(Player*, s32 );
void Camera_UpdateOnFoot360(Player*, s32 ); void Camera_UpdateOnFoot360(Player*, s32 );
void Camera_SetStarfieldPos(f32, f32, f32, f32, f32, f32); void Camera_SetStarfieldPos(f32, f32, f32, f32, f32, f32);
void Camera_Update360(Player*, s32); void Camera_Update360(Player*, bool);
void Camera_SetupLights(Player*); void Camera_SetupLights(Player*);
void Play_SpawnVsItem(ObjectId , Item*); void Play_SpawnVsItem(ObjectId , Item*);
void Play_Main(void); void Play_Main(void);

View File

@ -14,50 +14,50 @@ extern void Corneria_LevelStart(Player*);
extern void Corneria_LevelComplete1(Player*); extern void Corneria_LevelComplete1(Player*);
extern void Venom1_LevelStart(Player*); extern void Venom1_LevelStart(Player*);
void Corneria_801875A4(Sprite*); void Corneria_Smoke_Update(Sprite*);
void Corneria_80189058(Boss*); void Corneria_Granga_Update(Granga*);
void Corneria_8018AA74(Boss*); void Corneria_Granga_Draw(Granga*);
void Corneria_8018AED0(Actor*); void Corneria_CoGaruda1_Update(CoGaruda1*);
void Corneria_8018B15C(Actor*); void Corneria_CoGaruda2_Update(CoGaruda2*);
void Corneria_8018B418(Actor*); void Corneria_CoGaruda3_Update(CoGaruda3*);
void Corneria_8018B58C(Actor*); void Corneria_CoGarudaDestroy_Update(CoGarudaDestroy*);
void Corneria_8018BAAC(Actor*); void Corneria_CoGaruda1_Draw(CoGaruda1*);
void Corneria_8018BBA4(Actor*); void Corneria_CoGaruda2_Draw(CoGaruda2*);
void Corneria_8018BBF8(Actor*); void Corneria_CoGaruda3_Draw(CoGaruda3*);
void Corneria_8018BD7C(Actor*); void Corneria_CoGarudaDestroy_Draw(CoGarudaDestroy*);
void Corneria_8018C19C(Boss*); void Corneria_Carrier_Update(Carrier*);
void Corneria_8018DDAC(Boss*); void Corneria_Boss294_Update(Boss294*);
void Corneria_8018E290(Boss*); void Corneria_Boss295_Update(Boss295*);
void Corneria_8018E76C(Boss*); void Corneria_Boss296_Update(Boss296*);
void Corneria_8018ECAC(Boss*); void Corneria_Carrier_Draw(Carrier*);
void Corneria_8018ED78(Boss*); void Corneria_Boss294_Draw(Boss294*);
void Corneria_8018EE84(Boss*); void Corneria_Boss295_Draw(Boss295*);
void Corneria_8018EF90(Boss*); void Corneria_Boss296_Draw(Boss296*);
void Corneria_8018F044(Scenery*); void Corneria_Doors_Update(Scenery*);
void Corneria_8018F31C(Scenery*); void Corneria_Doors_Draw(Scenery*);
void Venom1_BossTrigger1_Update(Sprite*); void Venom1_BossTrigger1_Update(Sprite*);
void Venom1_BossTrigger2_Update(Sprite*); void Venom1_BossTrigger2_Update(Sprite*);
void Venom1_BossTrigger3_Update(Sprite*); void Venom1_BossTrigger3_Update(Sprite*);
void Venom1_BossTrigger4_Update(Sprite*); void Venom1_BossTrigger4_Update(Sprite*);
void Venom1_80192518(Actor*); void Venom1_Actor280_Update(Actor*);
void Venom1_80192CD4(Actor*); void Venom1_Doodad_Update(Actor*);
void Venom1_80192E2C(Actor*); void Venom1_Actor281_Draw(Actor*);
void Venom1_80192EB0(Actor*); void Venom1_Actor283_Update(Actor*);
void Venom1_801933DC(Actor*); void Venom1_Actor284_Update(Actor*);
void Venom1_801934D0(Actor*); void Venom1_Actor284_Draw(Actor*);
void Venom1_80193540(Scenery*); void Venom1_Scenery52_Update(Scenery*);
void Venom1_Boss_Update(Boss*); void Venom1_Boss_Update(Boss*);
void Venom1_Boss_Draw(Boss*); void Venom1_Boss_Draw(Boss*);
void Training_ItemRing_Update(Item*); void Training_ItemRing_Update(Item*);
void OvlI1_CallFunction(s32, void*); void OvlI1_CallFunction(s32, void*);
void Corneria_80187530(Scenery*); void Corneria_BuildingOnFire_Update(Scenery*);
void Corneria_8018753C(Scenery*); void Corneria_BuildingOnFire_Draw(Scenery*);
void Corneria_Boss292_Init(Boss *); void Corneria_Granga_Init(Boss *);
void Corneria_8018B0B4(Actor *); void Corneria_IBeam_Init(Actor *);
void Corneria_Boss293_Init(Boss *); void Corneria_Carrier_Init(Carrier *);
void Corneria_8018ED78(Boss*); void Corneria_Boss294_Draw(Boss*);
void Venom1_801924A8(Scenery* ); void Venom1_Scenery127_Update(Scenery* );
void Venom1_8019250C(Actor *); void Venom1_8019250C(Actor *);
void Venom1_80192CB0(Actor *); void Venom1_80192CB0(Actor *);
void Venom1_80192EA4(Actor *); void Venom1_80192EA4(Actor *);
@ -65,9 +65,9 @@ void Venom1_801933B4(Actor *);
void Venom1_Boss319_Init(Boss *); void Venom1_Boss319_Init(Boss *);
void Venom1_80198310(Boss *); void Venom1_80198310(Boss *);
void Venom1_80198594(Boss *); void Venom1_80198594(Boss *);
void Training_801988E0(void); void Training_RingPassCount_Draw(void);
void Training_Setup360(void); void Training_Setup360(void);
void Training_8019949C(void); void Training_SpawnEnemies(void);
void Venom1_8019864C(PlayerShot*); void Venom1_8019864C(PlayerShot*);
#endif #endif

View File

@ -18,31 +18,31 @@ void Meteo_80187B08(Actor *);
void Meteo_Boss297_Init(Boss *); void Meteo_Boss297_Init(Boss *);
void Meteo_8018CCF8(Actor *); void Meteo_8018CCF8(Actor *);
void Meteo_8018756C(Actor*); void Meteo_Actor181_Update(Actor*);
void Meteo_80187650(Actor*); void Meteo_Actor182_Update(Actor*);
void Meteo_801877C4(Actor*); void Meteo_Actor187_Update(Actor*);
void Meteo_8018795C(Actor*); void Meteo_Actor186_Update(Actor*);
void Meteo_80188344(Boss*); void Meteo_Boss298_Update(Boss*);
void Meteo_801887D0(Boss*); void Meteo_Boss298_Draw(Boss*);
void Meteo_80188CAC(Effect*); void Meteo_Effect369_Update(Effect*);
void Meteo_80188FAC(Effect*); void Meteo_Effect370_Update(Effect*);
void Meteo_80189114(Effect*); void Meteo_Effect371_Update(Effect*);
void Meteo_8018978C(Boss*); void Meteo_Boss297_Update(Boss*);
void Meteo_8018BACC(Boss*); void Meteo_Boss297_Draw(Boss*);
void Meteo_8018D9EC(Actor*); void Meteo_ActorDoodad_Update(Actor*);
void Meteo_8018DA6C(Actor*); void Meteo_Actor183_Draw(Actor*);
void Meteo_8018DAEC(Actor*); void Meteo_Actor184_Draw(Actor*);
void Meteo_8018DB6C(Actor*); void Meteo_Actor185_Draw(Actor*);
void Meteo_8018DBEC(Effect*); void Meteo_Effect370_Draw(Effect*);
void Meteo_8018DCE4(Effect*); void Meteo_Effect369_Draw(Effect*);
void Meteo_8018DE14(Effect*); void Meteo_Effect371_Draw(Effect*);
void SectorX_8018F330(Actor*); void SectorX_Slippy_Update(Actor*);
void SectorX_8018F884(Actor*); void SectorX_Slippy_Draw(Actor*);
void SectorX_8018FE38(Boss*); void SectorX_Boss304_Update(Boss*);
void SectorX_8018FF20(Boss*); void SectorX_Boss305_Update(Boss*);
void SectorX_8018FF84(Boss*); void SectorX_Boss304_Draw(Boss*);
void SectorX_80190020(Boss*); void SectorX_Boss305_Draw(Boss*);
void SectorX_80190078(Boss*); void SectorX_Boss_Update(Boss*);
void SectorX_80193434(Boss*); void SectorX_Boss_Draw(Boss*);
#endif #endif

View File

@ -13,7 +13,6 @@ void Aquas_801BE034(Actor*);
void Area6_8018DA58(Actor*); void Area6_8018DA58(Actor*);
void Zoness_8019E5F0(Actor*); void Zoness_8019E5F0(Actor*);
void Solar_801A8BE8(Actor*);
void Aquas_BlueMarineDown(Player*); void Aquas_BlueMarineDown(Player*);
void Aquas_801BE0F0(Actor*); void Aquas_801BE0F0(Actor*);
@ -25,67 +24,67 @@ void Area6_LevelStart(Player *player);
void Area6_LevelComplete(Player*); void Area6_LevelComplete(Player*);
void Zoness_SpawnDebris(Vec3f*, Vec3f*, f32, f32, f32, s32, f32, s32, s32); void Zoness_SpawnDebris(Vec3f*, Vec3f*, f32, f32, f32, s32, f32, s32, s32);
void Zoness_80190430(Actor* actor); void Zoness_Actor235_Draw(Actor235* this);
void Zoness_801904CC(Actor* actor); void Zoness_Actor235_Update(Actor235* this);
void Zoness_80190A00(Actor* actor); void Zoness_Actor236_Update(Actor* this);
void Zoness_80190F08(Actor* actor); void Zoness_Actor236_Draw(Actor* this);
void Zoness_80191010(Actor* actor); void Zoness_Actor238_Update(Actor* this);
void Zoness_801914C4(Actor* actor); void Zoness_Actor238_Draw(Actor* this);
void Zoness_801915A4(Actor* actor); void Zoness_801915A4(Actor* this);
void Zoness_80191680(Actor* actor); void Zoness_Actor240_Update(Actor* this);
void Zoness_80191B4C(Actor* actor); void Zoness_Actor240_Draw(Actor* this);
void Zoness_80191BB8(Actor* actor); void Zoness_80191BB8(Actor* actor);
void Zoness_80191BC4(Actor* actor); void Zoness_Actor241_Update(Actor* this);
void Zoness_80191DB0(Actor* actor); void Zoness_Actor241_Draw(Actor* this);
void Zoness_80191DB0(Actor* actor); void Zoness_Actor241_Draw(Actor* this);
void Zoness_80191FFC(Actor* actor); void Zoness_Actor242_Draw(Actor* this);
void Zoness_80192094(Actor* actor); void Zoness_Actor242_Update(Actor* this);
void Zoness_80192834(Actor* actor); void Zoness_Actor243_Update(Actor* this);
void Zoness_80192C18(Actor* actor); void Zoness_Actor243_Draw(Actor* this);
void Zoness_80192E64(Actor* actor); void Zoness_Actor244_Update(Actor* this);
void Zoness_80193240(Actor* actor); void Zoness_Actor244_Draw(Actor* actor);
void Zoness_BossZo_Init(Boss* this); void Zoness_BossZo_Init(Boss* this);
void Zoness_Boss_Draw(Boss* bossZO); void Zoness_Boss_Draw(Boss* this);
void Zoness_Boss_Update(Boss* bossZO); void Zoness_Boss_Update(Boss* this);
void Zoness_8019969C(Actor* actor); void Zoness_Actor245_Update(Actor245* this);
void Zoness_8019983C(Actor* actor); void Zoness_Actor245_Draw(Actor* actor);
void Zoness_80199A28(Actor* actor); void Zoness_Actor246_Update(Actor* this);
void Zoness_80199E24(Actor* actor); void Zoness_Actor246_Draw(Actor246* actor);
void Zoness_80199F10(Actor* actor); void Zoness_Actor248_Update(Actor* this);
void Zoness_8019A1FC(Actor* actor); void Zoness_Actor248_Draw(Actor* this);
void Zoness_8019A5D4(Actor* actor); void Zoness_Actor249_Update(Actor* this);
void Zoness_8019ACCC(Actor* actor); void Zoness_Actor249_Draw(Actor* this);
void Zoness_8019B1F0(Actor* actor); void Zoness_8019B1F0(Actor* actor);
void Zoness_8019B548(Actor* actor); void Zoness_Actor250_Update(Actor* this);
void Zoness_8019B7DC(Actor* actor); void Zoness_Actor250_Draw(Actor* actor);
void Zoness_8019B810(Actor* actor); void Zoness_8019B810(Actor* this);
void Zoness_8019B854(Actor* actor); void Zoness_Actor251_Update(Actor* this);
void Zoness_8019BDE0(Actor* actor); void Zoness_Actor251_Draw(Actor* this);
void Zoness_8019BE48(Actor* actor); void Zoness_Actor252_Update(Actor* this);
void Zoness_8019C1CC(Actor* actor); void Zoness_Actor252_Draw(Actor* actor);
void Zoness_8019C200(Actor* actor); void Zoness_8019C200(Actor* this);
void Zoness_8019C454(Actor* actor); void Zoness_Actor253_Update(Actor* this);
void Zoness_8019C83C(Actor* actor); void Zoness_Actor253_Draw(Actor* this);
void Zoness_8019CBEC(Actor* actor); void Zoness_Actor254_Update(Actor* this);
void Zoness_8019CE58(Actor* actor); void Zoness_Actor254_Draw(Actor* this);
void Zoness_Actor247_Init(Actor* this); void Zoness_Actor247_Init(Actor* this);
void Zoness_8019D15C(Actor* actor); void Zoness_Actor247_Update(Actor* this);
void Zoness_8019D3C4(Actor* actor); void Zoness_Actor247_Draw(Actor* this);
void Zoness_LevelStart(Player* player); void Zoness_LevelStart(Player* player);
void Zoness_LevelComplete(Player* player); void Zoness_LevelComplete(Player* player);
void Solar_8019E8B8(f32, f32, f32, f32); void Solar_8019E8B8(f32, f32, f32, f32);
void Solar_8019E9F4(f32, f32, f32, f32, f32, f32, f32, s32); void Solar_8019E9F4(f32, f32, f32, f32, f32, f32, f32, s32);
void Solar_8019EA7C(Actor*); void Solar_Actor278_Update(Actor278*);
void Solar_8019F20C(Actor*); void Solar_Doodad_Update(Actor*);
void Solar_8019F7AC(Actor*); void Solar_Doodad_Draw(Actor*);
void Solar_801A003C(Actor*); void Solar_Actor279_Update(Actor279*);
void Solar_801A0120(Effect*); void Solar_Effect392_Update(Effect392*);
void Solar_801A0AF0(Effect*); void Solar_Effect392_Draw(Effect392*);
void Solar_LevelStart(Player* player); void Solar_LevelStart(Player* player);
void Solar_Boss_Update(Boss*); void Solar_Boss_Update(BossSO*);
void Solar_Boss_Draw(Boss*); void Solar_Boss_Draw(BossSO*);
void Solar_801A8BE8(Actor*); void Solar_801A8BE8(ActorCutscene*);
void Solar_LevelComplete(Player* player); void Solar_LevelComplete(Player* player);
void Aquas_801A9824(void); void Aquas_801A9824(void);
@ -95,59 +94,59 @@ void Aquas_BlueMarineMove(Player*);
void Aquas_801ABA40(PlayerShot*); void Aquas_801ABA40(PlayerShot*);
void Aquas_BlueMarineShoot(Player*); void Aquas_BlueMarineShoot(Player*);
void Aquas_801AC8A8(f32, f32, f32, f32, s32); void Aquas_801AC8A8(f32, f32, f32, f32, s32);
void Aquas_801AC918(Effect*); void Aquas_Effect366_Update(Effect*);
void Aquas_801ACBB4(Player*); void Aquas_801ACBB4(Player*);
void Aquas_BlueMarineBoost(Player*); void Aquas_BlueMarineBoost(Player*);
void Aquas_BlueMarineBrake(Player*); void Aquas_BlueMarineBrake(Player*);
void Aquas_801AD688(Actor *); void Aquas_801AD688(Actor *);
void Aquas_801AD6C0(Actor*); void Aquas_Actor255_Update(Actor*);
void Aquas_801AE168(Actor*); void Aquas_Actor255_Draw(Actor*);
void Aquas_801AE3AC(Actor *); void Aquas_801AE3AC(Actor *);
void Aquas_801AE3D8(Actor*); void Aquas_Actor256_Update(Actor*);
void Aquas_801AEB44(Actor*); void Aquas_Actor256_Draw(Actor*);
void Aquas_801AF9FC(Actor *); void Aquas_801AF9FC(Actor *);
void Aquas_801AFA5C(Actor*); void Aquas_Actor257_Update(Actor*);
void Aquas_801B099C(Actor*); void Aquas_Actor257_Draw(Actor*);
void Aquas_801B0B60(Actor*); void Aquas_Actor258_Update(Actor*);
void Aquas_801B0EC0(Actor*); void Aquas_Actor258_Draw(Actor*);
void Aquas_BossAq_Init(Boss*); void Aquas_BossAq_Init(Boss*);
void Aquas_Boss_Update(Boss*); void Aquas_Boss_Update(Boss*);
void Aquas_Boss_Draw(Boss*); void Aquas_Boss_Draw(Boss*);
void Aquas_801B504C(Actor*); void Aquas_Actor261_Draw(Actor*);
void Aquas_801B50E8(Actor*); void Aquas_Actor261_Update(Actor*);
void Aquas_801B619C(Actor*); void Aquas_Actor259_Draw(Actor*);
void Aquas_801B6344(Actor *); void Aquas_801B6344(Actor *);
void Aquas_801B638C(Actor*); void Aquas_Actor259_Update(Actor*);
void Aquas_801B6E54(Actor *); void Aquas_801B6E54(Actor *);
void Aquas_801B6FF8(Actor*); void Aquas_Actor262_Update(Actor*);
void Aquas_801B7A24(Actor*); void Aquas_Actor262_Draw(Actor*);
void Aquas_801B7AF0(Actor *); void Aquas_801B7AF0(Actor *);
void Aquas_801B7C78(Actor*); void Aquas_Actor260_Update(Actor*);
void Aquas_801B90DC(Actor*); void Aquas_Actor260_Draw(Actor*);
void Aquas_801B91A4(Actor*); void Aquas_Actor263_Update(Actor*);
void Aquas_801BA108(Actor*); void Aquas_Actor263_Draw(Actor*);
void Aquas_801BA26C(Actor*); void Aquas_Actor264_Update(Actor*);
void Aquas_801BA4E4(Actor*); void Aquas_Actor264_Draw(Actor*);
void Aquas_801BA57C(Actor *); void Aquas_801BA57C(Actor *);
void Aquas_801BA6A4(Actor*); void Aquas_Actor265_Update(Actor*);
void Aquas_801BAD7C(Actor*); void Aquas_Actor265_Draw(Actor*);
void Aquas_801BADF8(Actor*); void Aquas_Actor266_Update(Actor*);
void Aquas_801BB204(Actor*); void Aquas_Actor266_Draw(Actor*);
void Aquas_801BB26C(Actor *); void Aquas_801BB26C(Actor *);
void Aquas_801BB79C(Actor*); void Aquas_Actor267_Update(Actor*);
void Aquas_801BC930(Actor*); void Aquas_Actor267_Draw(Actor*);
void Aquas_801BC9A0(Actor*); void Aquas_Actor269_Update(Actor*);
void Aquas_801BD264(Actor*); void Aquas_Actor269_Draw(Actor*);
void Aquas_801BD54C(Actor*); void Aquas_Actor268_Update(Actor*);
void Aquas_801BDE6C(Actor*); void Aquas_Actor268_Draw(Actor*);
void Aquas_801BDF14(void); void Aquas_801BDF14(void);
void Aquas_801BE1FC(Scenery*); void Aquas_Scenery126_Draw(Scenery*);
void Aquas_801BE3F8(Actor*); void Aquas_Actor270_Update(Actor*);
void Aquas_801BEB1C(Actor*); void Aquas_Actor270_Draw(Actor*);
void Aquas_Boss301_Update(Boss*); void Aquas_Boss301_Update(Boss*);
void Aquas_Boss301_Draw(Boss*); void Aquas_Boss301_Draw(Boss*);
void Aquas_801BEC68(Actor*); void Aquas_Actor188_Update(Actor*);
void Aquas_801BEC74(Actor*); void Aquas_Actor188_Draw(Actor*);
void Aquas_Update360(Player*); void Aquas_Update360(Player*);
#endif #endif

View File

@ -17,37 +17,37 @@ void Katina_LevelComplete(Player*);
void Katina_SFTeamFlyTowardsCamera(Actor*); void Katina_SFTeamFlyTowardsCamera(Actor*);
void SectorZ_LevelStart(Player*); void SectorZ_LevelStart(Player*);
void SectorZ_LevelComplete(Player*); void SectorZ_LevelComplete(Player*);
void SectorZ_8019DD20(Actor*); void SectorZ_LevelCompleteCsUpdate(Actor*);
void OvlI4_CallFunction(u32, void*); void OvlI4_CallFunction(u32, void*);
void Fortuna_UpdateEvents(Actor*); void Fortuna_UpdateEvents(Actor*);
void Fortuna_8018BA2C(void); void Fortuna_LoadLevelObjects(void);
void Bolse_UpdateEventHandler(Actor*); void Bolse_UpdateEventHandler(Actor*);
void Bolse_80191ED8(void); void Bolse_80191ED8(void);
void Bolse_DrawDynamicGround(void); void Bolse_DrawDynamicGround(void);
void Katina_BossSetup(Boss *); void Katina_BossSetup(Boss *);
void Katina_UpdateEvents(Actor*); void Katina_UpdateEvents(Actor*);
void Katina_Init(void); void Katina_Init(void);
void SectorZ_80199900(Actor *, s32); void SectorZ_MissileExplode(ActorAllRange* this, bool shotDown);
void SectorZ_Missile_Update(Actor*); void SectorZ_Missile_Update(Actor*);
void SectorZ_UpdateEvents(Actor*); void SectorZ_UpdateEvents(Actor*);
void SectorZ_8019EA68(void); void SectorZ_LoadLevelObjects(void);
void Fortuna_80188AD0(Actor*); void Fortuna_Radar_Update(Actor*);
void Fortuna_80188FE4(Actor*); void Fortuna_Radar_Draw(Actor*);
void Bolse_80191054(Effect*); void Bolse_Effect397_Update(Effect*);
void Bolse_80191180(Effect*); void Bolse_Effect397_Draw(Effect*);
void Bolse_801912FC(Boss*); void Bolse_Boss311_Update(Boss*);
void Bolse_80191AFC(Boss*); void Bolse_Boss311_Draw(Boss*);
void Katina_LaserEnergyParticlesUpdate(Effect*); void Katina_LaserEnergyParticlesUpdate(Effect*);
void Katina_LaserEnergyParticlesDraw(Effect*); void Katina_LaserEnergyParticlesDraw(Effect*);
void Katina_BaseUpdate(Boss*); void Katina_BaseUpdate(Boss*);
void Katina_Base_Draw(Boss*); void Katina_Base_Draw(Boss*);
void Katina_BossUpdate(Boss*); void Katina_BossUpdate(Boss*);
void Katina_BossDraw(Boss*); void Katina_BossDraw(Boss*);
void SectorZ_8019E234(Actor*); void SectorZ_SpaceJunkUpdate(Actor*);
void SectorZ_8019E3A8(Actor*); void SectorZ_SpaceJunkDraw(Actor*);
void SectorZ_Boss_Update(Boss*); void SectorZ_GreatFoxUpdate(Boss*);
void SectorZ_Boss_Draw(Boss*); void SectorZ_GreatFoxDraw(Boss*);
#endif #endif

View File

@ -59,75 +59,75 @@ bool Macbeth_801A3C20(f32);
bool Macbeth_801A3300(Player*, f32, f32); bool Macbeth_801A3300(Player*, f32, f32);
bool Macbeth_801A3790(Player*, f32, f32); bool Macbeth_801A3790(Player*, f32, f32);
void Titania_80188F60(Effect*); void Titania_Effect368_Update(Effect*);
void Titania_80188FA8(Effect*); void Titania_Effect368_Draw(Effect*);
void Titania_80189194(Actor*); void Titania_Actor224_Update(Actor*);
void Titania_801895B8(Actor*); void Titania_Actor226_Update(Actor*);
void Titania_80189AFC(Actor*); void Titania_Actor226_Draw(Actor*);
void Titania_80189CC8(Actor*); void Titania_Actor233_Update(Actor*);
void Titania_8018A1C0(Actor*); void Titania_Actor233_Draw(Actor*);
void Titania_8018A544(Actor*); void Titania_Actor230_Update(Actor*);
void Titania_8018AABC(Actor*); void Titania_Actor230_Draw(Actor*);
void Titania_8018AB44(Actor*); void Titania_Actor225_Update(Actor*);
void Titania_8018B268(Actor*); void Titania_Actor232_Update(Actor*);
void Titania_8018B6AC(Actor*); void Titania_Actor232_Draw(Actor*);
void Titania_8018B9D0(Actor*); void Titania_Actor231_Update(Actor*);
void Titania_8018BE84(Actor*); void Titania_Actor231_Draw(Actor*);
void Titania_8018C8A8(Actor*); void Titania_Actor229_Update(Actor*);
void Titania_8018E2D8(Actor*); void Titania_Actor229_Draw(Actor*);
void Titania_8018E54C(Actor*); void Titania_Actor227_Update(Actor*);
void Titania_8018E5B4(Actor*); void Titania_Actor227_Draw(Actor*);
void Titania_8018E5F8(Actor*); void Titania_Actor228_Update(Actor*);
void Titania_8018EF14(Actor*); void Titania_Actor228_Draw(Actor*);
void Titania_Cactus_Update(Sprite*); void Titania_Cactus_Update(Sprite*);
void Titania_8018F4D8(Scenery*); void Titania_Scenery57_Update(Scenery*);
void Titania_8018F8B8(Scenery*); void Titania_Scenery57_Draw(Scenery*);
void Titania_Boss_Update(Boss*); void Titania_Boss_Update(Boss*);
void Titania_Boss_Draw(Boss*); void Titania_Boss_Draw(Boss*);
void Macbeth_8019C778(Actor*); void Macbeth_Actor205_Update(Actor*);
void Macbeth_8019CE88(Actor*); void Macbeth_Actor210_Update(Actor*);
void Macbeth_8019D700(Actor*); void Macbeth_Actor209_Update(Actor*);
void Macbeth_8019E410(Actor*); void Macbeth_Actor211_Update(Actor*);
void Macbeth_8019EA60(Actor*); void Macbeth_Actor208_Update(Actor*);
void Macbeth_8019EE68(Actor*); void Macbeth_Actor213_Update(Actor*);
void Macbeth_8019FF9C(Actor*); void Macbeth_Actor212_Update(Actor*);
void Macbeth_801A0BD8(Scenery*); void Macbeth_Scenery104_Update(Scenery*);
void Macbeth_801A12C4(Actor*); void Macbeth_ActorDoodad_Draw(Actor*);
void Macbeth_801A23AC(Scenery*); void Macbeth_SceneryDoodad_Draw(Scenery*);
void Macbeth_801A2A78(Scenery*); void Macbeth_Scenery61_Draw(Scenery*);
void Macbeth_801A2B24(Scenery*); void Macbeth_SceneryDoodad2_Draw(Scenery*);
void Macbeth_801A2DD8(Scenery*); void Macbeth_Scenery83_Update(Scenery*);
void Macbeth_801A3240(Scenery*); void Macbeth_Scenery83_Draw(Scenery*);
void Macbeth_801A3E98(Actor*); void Macbeth_Actor214_Update(Actor*);
void Macbeth_801A43BC(Actor*); void Macbeth_Actor214_Draw(Actor*);
void Macbeth_801A46A0(Actor*); void Macbeth_Actor215_Update(Actor*);
void Macbeth_801A4A64(Actor*); void Macbeth_Actor215_Draw(Actor*);
void Macbeth_801A4B24(Actor*); void Macbeth_Actor223_Update(Actor*);
void Macbeth_801A54E8(Actor*); void Macbeth_Actor223_Draw(Actor*);
void Macbeth_801A57D0(Effect*); void Macbeth_Effect378_Update(Effect*);
void Macbeth_801A5AF0(Effect*); void Macbeth_Effect378_Draw(Effect*);
void Macbeth_801A5B4C(Effect*); void Macbeth_Effect380_Update(Effect*);
void Macbeth_801A5D68(Effect*); void Macbeth_Effect380_Draw(Effect*);
void Macbeth_801A5E54(Actor*); void Macbeth_Actor216_Update(Actor*);
void Macbeth_801A5F90(Actor*); void Macbeth_Actor216_Draw(Actor*);
void Macbeth_801A5FD0(Actor*); void Macbeth_Actor217_Update(Actor*);
void Macbeth_801A6100(Actor*); void Macbeth_Actor217_Draw(Actor*);
void Macbeth_801A6144(Actor*); void Macbeth_Actor218_Update(Actor*);
void Macbeth_801A6540(Actor*); void Macbeth_Actor218_Draw(Actor*);
void Macbeth_801A6608(Scenery*); void Macbeth_Scenery65_Draw(Scenery*);
void Macbeth_801A67C8(Actor*); void Macbeth_Actor219_Update(Actor*);
void Macbeth_801A68EC(Actor*); void Macbeth_Actor219_Draw(Actor*);
void Macbeth_801A7E7C(Actor*); void Macbeth_Actor207_Update(Actor*);
void Macbeth_801AC294(Actor*); void Macbeth_Actor207_Draw(Actor*);
void Macbeth_801AC438(Actor*); void Macbeth_Actor206_Update(Actor*);
void Macbeth_801AD6F0(Actor*); void Macbeth_Actor220_Update(Actor*);
void Macbeth_801ADAC8(Actor*); void Macbeth_Actor220_Draw(Actor*);
void Macbeth_801ADD68(Actor*); void Macbeth_Actor221_Update(Actor*);
void Macbeth_801AE2C0(Actor*); void Macbeth_Actor221_Draw(Actor*);
void Macbeth_801AE87C(Effect*); void Macbeth_Effect379_Update(Effect*);
void Macbeth_801AEAA0(Effect*); void Macbeth_Effect379_Draw(Effect*);
void Macbeth_801AEC04(Actor*); void Macbeth_Actor222_Update(Actor*);
void Macbeth_801AEEFC(Actor*); void Macbeth_Actor222_Draw(Actor*);
s32 Macbeth_801A55D4(s32 , Vec3f* , Vec3f* , s32 ); s32 Macbeth_801A55D4(s32 , Vec3f* , Vec3f* , s32 );
#endif #endif

View File

@ -32,7 +32,7 @@ void Andross_8018C390(Player*);
void Andross_Boss320_Init(Boss *); void Andross_Boss320_Init(Boss *);
void Andross_801961AC(void); void Andross_801961AC(void);
void Venom2_UpdateEvents(Actor*); void Venom2_UpdateEvents(Actor*);
void Venom2_80196968(void); void Venom2_LoadLevelObjects(void);
void SectorY_Boss314_Init(Boss *); void SectorY_Boss314_Init(Boss *);
void SectorY_Actor204_Update(Actor*); void SectorY_Actor204_Update(Actor*);
void SectorY_Actor204_Draw(Actor*); void SectorY_Actor204_Draw(Actor*);
@ -40,33 +40,33 @@ void Turret_Update(Player*);
void Turret_UpdateCamera(Player*); void Turret_UpdateCamera(Player*);
void Turret_Draw(Player *); void Turret_Draw(Player *);
void Andross_801880E4(Actor*); void Andross_Actor199_Update(Actor*);
void Andross_80188448(Actor*); void Andross_Actor199_Draw(Actor*);
void Andross_80188528(Actor*); void Andross_Actor286_Update(Actor*);
void Andross_80188660(Actor*); void Andross_Actor286_Draw(Actor*);
void Andross_8018933C(Actor*); void Andross_Actor290_Update(Actor*);
void Andross_801893B8(Actor*); void Andross_Actor288_Update(Actor*);
void Andross_80189470(Actor*); void Andross_Actor289_Update(Actor*);
void Andross_80189724(Actor*); void Andross_Actor287_Update(Actor*);
void Andross_80189B70(Boss*); void Andross_Boss321_Update(Boss*);
void Andross_8018B8C0(Boss*); void Andross_Boss321_Draw(Boss*);
void Andross_8018CAD4(Effect*); void Andross_Effect396_Update(Effect*);
void Andross_8018CF98(Effect*); void Andross_Effect396_Draw(Effect*);
void Andross_8018DBF0(Boss*); void Andross_Boss320_Update(Boss*);
void Andross_801928C8(Boss*); void Andross_Boss320_Draw(Boss*);
void Andross_80192E94(Actor*); void Andross_Actor285_Update(Actor*);
void Andross_80193244(Actor*); void Andross_Actor285_Draw(Actor*);
void Andross_80193380(Scenery*); void Andross_Scenery132_Update(Scenery*);
void Andross_8019350C(Scenery*); void Andross_Scenery132_Draw(Scenery*);
void Andross_8019356C(Scenery*); void Andross_Scenery131_Update(Scenery*);
void Andross_801935D4(Scenery*); void Andross_Scenery131_Draw(Scenery*);
void Venom2_Boss_Update(Boss*); void Venom2_Boss_Update(Boss*);
void Venom2_Boss_Draw(Boss*); void Venom2_Boss_Draw(Boss*);
void SectorY_80197C64(Effect*); void SectorY_Effect354_Draw(Effect*);
void SectorY_80197CB8(Scenery*); void SectorY_Scenery156_Draw(Scenery*);
void SectorY_Boss_Update(Boss*); void SectorY_Boss_Update(Boss*);
void SectorY_Boss_Draw(Boss*); void SectorY_Boss_Draw(Boss*);
void SectorY_801A4E44(Scenery*); void SectorY_Scenery109_Update(Scenery*);
void SectorY_801A52B8(Scenery*); void SectorY_Scenery112_Update(Scenery*);
#endif #endif

View File

@ -7,6 +7,8 @@
#define SCREEN_HEIGHT 240 #define SCREEN_HEIGHT 240
#define SCREEN_MARGIN 8 #define SCREEN_MARGIN 8
#define TIME_IN_SECONDS(x) (x * 30);
#define RAND_FLOAT(max) (Rand_ZeroOne()*(max)) #define RAND_FLOAT(max) (Rand_ZeroOne()*(max))
#define RAND_INT(max) ((s32)(Rand_ZeroOne()*(max))) #define RAND_INT(max) ((s32)(Rand_ZeroOne()*(max)))
#define RAND_FLOAT_CENTERED(width) ((Rand_ZeroOne()-0.5f)*(width)) #define RAND_FLOAT_CENTERED(width) ((Rand_ZeroOne()-0.5f)*(width))

File diff suppressed because it is too large Load Diff

View File

@ -318,7 +318,7 @@ typedef struct Player {
/* 0x498 */ s32 mercyTimer; /* 0x498 */ s32 mercyTimer;
/* 0x49C */ WingInfo wings; /* 0x49C */ WingInfo wings;
/* 0x4D8 */ f32 aerobaticPitch; /* 0x4D8 */ f32 aerobaticPitch;
/* 0x4DC */ s32 somersault; /* 0x4DC */ bool somersault;
} Player; // size = 0x4E0 } Player; // size = 0x4E0

View File

@ -153,7 +153,7 @@ D_800D8594 = 0x800D8594; // force_migration:True
D_800C93EC = 0x800C93EC; // force_migration:True D_800C93EC = 0x800C93EC; // force_migration:True
D_i1_8019B1EC = 0x8019B1EC; // force_migration:True segment:ovl_i1 D_i1_8019B1EC = 0x8019B1EC; // force_migration:True segment:ovl_i1
D_i1_8019B6D8 = 0x8019B6D8; // size:0x110 segment:ovl_i1 sCoGrangaWork = 0x8019B6D8; // size:0x110 segment:ovl_i1
D_i3_801C171C = 0x801C171C; // force_migration:True segment:ovl_i3 D_i3_801C171C = 0x801C171C; // force_migration:True segment:ovl_i3
D_i3_801C1728 = 0x801C1728; // force_migration:True segment:ovl_i3 D_i3_801C1728 = 0x801C1728; // force_migration:True segment:ovl_i3
D_i3_801C1730 = 0x801C1730; // force_migration:True segment:ovl_i3 D_i3_801C1730 = 0x801C1730; // force_migration:True segment:ovl_i3

View File

@ -176,13 +176,13 @@ Actor202_Draw = 0x80059A24;
MeteoTunnel_Draw = 0x80059AEC; MeteoTunnel_Draw = 0x80059AEC;
Scenery_DrawTitaniaBones = 0x80059B20; Scenery_DrawTitaniaBones = 0x80059B20;
func_edisplay_80059BB0 = 0x80059BB0; func_edisplay_80059BB0 = 0x80059BB0;
Scenery42_Draw = 0x80059BBC; CoIBeam_Draw = 0x80059BBC;
Actor196_Draw = 0x80059BF0; Actor196_Draw = 0x80059BF0;
func_edisplay_80059C28 = 0x80059C28; func_edisplay_80059C28 = 0x80059C28;
Sprite167_Draw = 0x80059C34; Sprite167_Draw = 0x80059C34;
FogShadow_Draw = 0x80059C40; FogShadow_Draw = 0x80059C40;
func_edisplay_80059F68 = 0x80059F68; CoBuilding9_Draw = 0x80059F68;
func_edisplay_80059FDC = 0x80059FDC; CoBuilding10_Draw = 0x80059FDC;
func_edisplay_8005A010 = 0x8005A010; func_edisplay_8005A010 = 0x8005A010;
func_edisplay_8005A07C = 0x8005A07C; func_edisplay_8005A07C = 0x8005A07C;
func_edisplay_8005A088 = 0x8005A088; func_edisplay_8005A088 = 0x8005A088;
@ -190,12 +190,12 @@ ActorDebris_Draw = 0x8005A094;
Actor_DrawEngineAndContrails = 0x8005ADAC; Actor_DrawEngineAndContrails = 0x8005ADAC;
Actor_DrawEngineGlow = 0x8005B1E8; Actor_DrawEngineGlow = 0x8005B1E8;
func_edisplay_8005B388 = 0x8005B388; func_edisplay_8005B388 = 0x8005B388;
func_edisplay_8005B6A4 = 0x8005B6A4; Actor180_Draw = 0x8005B6A4;
func_edisplay_8005B71C = 0x8005B71C; Actor182_Draw = 0x8005B71C;
func_edisplay_8005B7CC = 0x8005B7CC; Actor186_Draw = 0x8005B7CC;
func_edisplay_8005B848 = 0x8005B848; Actor190_191_Draw = 0x8005B848;
func_edisplay_8005B9A4 = 0x8005B9A4; Actor192_Draw = 0x8005B9A4;
func_edisplay_8005BA30 = 0x8005BA30; Actor193_Draw = 0x8005BA30;
func_edisplay_8005BAAC = 0x8005BAAC; func_edisplay_8005BAAC = 0x8005BAAC;
Object_SetShadowDL = 0x8005BAB4; Object_SetShadowDL = 0x8005BAB4;
ItemCheckpoint_Draw = 0x8005C5F0; ItemCheckpoint_Draw = 0x8005C5F0;
@ -237,7 +237,7 @@ BonusText_Display = 0x80077240;
func_effect_8007783C = 0x8007783C; func_effect_8007783C = 0x8007783C;
func_effect_80079618 = 0x80079618; func_effect_80079618 = 0x80079618;
func_effect_8007A568 = 0x8007A568; func_effect_8007A568 = 0x8007A568;
func_effect_8007A6F0 = 0x8007A6F0; Effect_SpawnTimedSfxAtPos = 0x8007A6F0;
func_effect_8007A900 = 0x8007A900; func_effect_8007A900 = 0x8007A900;
func_effect_8007AFD0 = 0x8007AFD0; func_effect_8007AFD0 = 0x8007AFD0;
func_effect_8007B8F8 = 0x8007B8F8; func_effect_8007B8F8 = 0x8007B8F8;
@ -297,19 +297,19 @@ func_enmy_8006546C = 0x8006546C;
func_enmy_800654E4 = 0x800654E4; func_enmy_800654E4 = 0x800654E4;
func_enmy_800655C8 = 0x800655C8; func_enmy_800655C8 = 0x800655C8;
func_enmy_8006566C = 0x8006566C; func_enmy_8006566C = 0x8006566C;
func_enmy_800656D4 = 0x800656D4; Actors190_191_Update = 0x800656D4;
func_enmy_800660F0 = 0x800660F0; func_enmy_800660F0 = 0x800660F0;
Actor_Despawn = 0x80066254; Actor_Despawn = 0x80066254;
func_enmy_8006654C = 0x8006654C; Actor192_Update = 0x8006654C;
func_enmy_8006684C = 0x8006684C; func_enmy_8006684C = 0x8006684C;
func_enmy_800669A0 = 0x800669A0; Actor193_Update = 0x800669A0;
func_enmy_80066A80 = 0x80066A80; Actor180_Update = 0x80066A80;
func_enmy_80066A8C = 0x80066A8C; func_enmy_80066A8C = 0x80066A8C;
func_enmy_80066C00 = 0x80066C00; func_enmy_80066C00 = 0x80066C00;
func_enmy_80066D5C = 0x80066D5C; CoBuilding9_Update = 0x80066D5C;
func_enmy_80066E80 = 0x80066E80; func_enmy_80066E80 = 0x80066E80;
Sprite167_Update = 0x80066E8C; Sprite167_Update = 0x80066E8C;
func_enmy_80066EA8 = 0x80066EA8; SceneryRotateTowardsCamera = 0x80066EA8;
func_enmy_80066EE4 = 0x80066EE4; func_enmy_80066EE4 = 0x80066EE4;
Item_CheckBounds = 0x80066EF0; Item_CheckBounds = 0x80066EF0;
Item_SpinPickup = 0x800671D0; Item_SpinPickup = 0x800671D0;

View File

@ -1,8 +1,8 @@
Corneria_8018ED78 = 0x8018ED78;//segment:ovl_i1 Corneria_Boss294_Draw = 0x8018ED78;//segment:ovl_i1
Corneria_8018EE84 = 0x8018EE84;//segment:ovl_i1 Corneria_Boss295_Draw = 0x8018EE84;//segment:ovl_i1
Corneria_8018B0B4 = 0x8018B0B4;//segment:ovl_i1 Corneria_IBeam_Init = 0x8018B0B4;//segment:ovl_i1
Corneria_Boss292_Init = 0x801878D8;//segment:ovl_i1 Corneria_Granga_Init = 0x801878D8;//segment:ovl_i1
Corneria_Boss293_Init = 0x8018BE7C;//segment:ovl_i1 Corneria_Carrier_Init = 0x8018BE7C;//segment:ovl_i1
Venom1_8019250C = 0x8019250C;//segment:ovl_i1 Venom1_8019250C = 0x8019250C;//segment:ovl_i1
Venom1_80192CB0 = 0x80192CB0;//segment:ovl_i1 Venom1_80192CB0 = 0x80192CB0;//segment:ovl_i1
Venom1_80192EA4 = 0x80192EA4;//segment:ovl_i1 Venom1_80192EA4 = 0x80192EA4;//segment:ovl_i1
@ -97,16 +97,16 @@ Aquas_801AC8A8 = 0x801AC8A8;//segment:ovl_i3
Aquas_801AD688 = 0x801AD688;//segment:ovl_i3 Aquas_801AD688 = 0x801AD688;//segment:ovl_i3
Aquas_801AE3AC = 0x801AE3AC;//segment:ovl_i3 Aquas_801AE3AC = 0x801AE3AC;//segment:ovl_i3
Aquas_801AF9FC = 0x801AF9FC;//segment:ovl_i3 Aquas_801AF9FC = 0x801AF9FC;//segment:ovl_i3
Aquas_801AFA5C = 0x801AFA5C;//segment:ovl_i3 Aquas_Actor257_Update = 0x801AFA5C;//segment:ovl_i3
Aquas_801B0F88 = 0x801B0F88;//segment:ovl_i3 Aquas_801B0F88 = 0x801B0F88;//segment:ovl_i3
Aquas_801B0FCC = 0x801B0FCC;//segment:ovl_i3 Aquas_801B0FCC = 0x801B0FCC;//segment:ovl_i3
Aquas_801B1008 = 0x801B1008;//segment:ovl_i3 Aquas_801B1008 = 0x801B1008;//segment:ovl_i3
Aquas_BossAq_Init = 0x801B10F8;//segment:ovl_i3 Aquas_BossAq_Init = 0x801B10F8;//segment:ovl_i3
Aquas_Boss_Update = 0x801B134C;//segment:ovl_i3 Aquas_Boss_Update = 0x801B134C;//segment:ovl_i3
Aquas_801B6344 = 0x801B6344;//segment:ovl_i3 Aquas_801B6344 = 0x801B6344;//segment:ovl_i3
Aquas_801B638C = 0x801B638C;//segment:ovl_i3 Aquas_Actor259_Update = 0x801B638C;//segment:ovl_i3
Aquas_801B6E54 = 0x801B6E54;//segment:ovl_i3 Aquas_801B6E54 = 0x801B6E54;//segment:ovl_i3
Aquas_801B6FF8 = 0x801B6FF8;//segment:ovl_i3 Aquas_Actor262_Update = 0x801B6FF8;//segment:ovl_i3
Aquas_801B7AF0 = 0x801B7AF0;//segment:ovl_i3 Aquas_801B7AF0 = 0x801B7AF0;//segment:ovl_i3
Aquas_801BA57C = 0x801BA57C;//segment:ovl_i3 Aquas_801BA57C = 0x801BA57C;//segment:ovl_i3
Aquas_801BB26C = 0x801BB26C;//segment:ovl_i3 Aquas_801BB26C = 0x801BB26C;//segment:ovl_i3
@ -157,7 +157,7 @@ D_i3_801C27A0 = 0x801C27A0; //segment:ovl_i3 size:0x20
Katina_UpdateEvents = 0x80198594;//segment:ovl_i4 Katina_UpdateEvents = 0x80198594;//segment:ovl_i4
Katina_BossSetup = 0x80193CA4;//segment:ovl_i4 Katina_BossSetup = 0x80193CA4;//segment:ovl_i4
SectorZ_Missile_Update = 0x80199C60;//segment:ovl_i4 SectorZ_Missile_Update = 0x80199C60;//segment:ovl_i4
SectorZ_80199900 = 0x80199900;//segment:ovl_i4 SectorZ_MissileExplode = 0x80199900;//segment:ovl_i4
D_i4_801A03C0 = 0x801A03C0;//segment:ovl_i4 D_i4_801A03C0 = 0x801A03C0;//segment:ovl_i4
D_BO_8019EE80 = 0x8019EE80;//segment:ovl_i4 D_BO_8019EE80 = 0x8019EE80;//segment:ovl_i4
D_BO_801A03DC = 0x801A03DC;//segment:ovl_i4 D_BO_801A03DC = 0x801A03DC;//segment:ovl_i4
@ -213,8 +213,8 @@ D_i5_801B7630 = 0x801B7630;//size:0x24 segment:ovl_i5
Andross_801888F4 = 0x801888F4; //segment:ovl_i6 Andross_801888F4 = 0x801888F4; //segment:ovl_i6
SectorY_Boss314_Init = 0x80197CC4; //segment:ovl_i6 SectorY_Boss314_Init = 0x80197CC4; //segment:ovl_i6
Andross_Boss320_Init = 0x8018D16C; //segment:ovl_i6 Andross_Boss320_Init = 0x8018D16C; //segment:ovl_i6
D_i6_801A68B0 = 0x801A68B0;//size:0x48 type:Vec3f segment:ovl_i6 sTeamInitPos = 0x801A68B0;//size:0x48 type:Vec3f segment:ovl_i6
D_i6_801A68F8 = 0x801A68F8;//size:0xC type:f32 segment:ovl_i6 sTeamInitRot = 0x801A68F8;//size:0xC type:f32 segment:ovl_i6
D_i6_801A7F30 = 0x801A7F30; //segment:ovl_i6 D_i6_801A7F30 = 0x801A7F30; //segment:ovl_i6
D_Andross_801A7F58 = 0x801A7F58; //segment:ovl_i6 D_Andross_801A7F58 = 0x801A7F58; //segment:ovl_i6
D_Andross_801A7F60 = 0x801A7F60; //segment:ovl_i6 D_Andross_801A7F60 = 0x801A7F60; //segment:ovl_i6

View File

@ -2322,7 +2322,7 @@ void Audio_AnalyzeFrequencies(f32* buffer0, f32* buffer1, s32 length, f32* buffe
buff0fromStart++; buff0fromStart++;
buff1half1++; buff1half1++;
// seconnd half of buffer 1 in reverse order this time // second half of buffer 1 in reverse order this time
buff1half2 = &buffer1[size - 1]; buff1half2 = &buffer1[size - 1];
// convert to real amplitudes // convert to real amplitudes

File diff suppressed because it is too large Load Diff

View File

@ -69,7 +69,7 @@ void PlayerShot_ExplodeBomb(PlayerShot* shot) {
shot->unk_48 * 3.0f, 10); shot->unk_48 * 3.0f, 10);
func_effect_8007ADF4(shot->obj.pos.x, gGroundHeight, shot->obj.pos.z, shot->unk_48 * 0.05f, func_effect_8007ADF4(shot->obj.pos.x, gGroundHeight, shot->obj.pos.z, shot->unk_48 * 0.05f,
shot->unk_48 * 0.5f); shot->unk_48 * 0.5f);
func_effect_8007A6F0(&shot->obj.pos, NA_SE_OB_WATER_BOUND_M); Effect_SpawnTimedSfxAtPos(&shot->obj.pos, NA_SE_OB_WATER_BOUND_M);
} else { } else {
func_enmy_80062B60(shot->obj.pos.x, shot->obj.pos.z, 0, shot->unk_48 * 3.0f); func_enmy_80062B60(shot->obj.pos.x, shot->obj.pos.z, 0, shot->unk_48 * 3.0f);
} }
@ -305,10 +305,11 @@ s32 PlayerShot_CheckObjectHitbox(PlayerShot* shot, f32* hitboxData, Object* obj)
if (!((obj->id >= OBJ_ACTOR_START) && (obj->id < OBJ_ACTOR_MAX))) { if (!((obj->id >= OBJ_ACTOR_START) && (obj->id < OBJ_ACTOR_MAX))) {
PlayerShot_Impact(shot); PlayerShot_Impact(shot);
} }
if ((obj->id == OBJ_SCENERY_15) || ((obj->id == OBJ_SCENERY_22) && (i == 0)) || if ((obj->id == OBJ_SCENERY_CO_BUILDING_6) || ((obj->id == OBJ_SCENERY_CO_ARCH_3) && (i == 0)) ||
((obj->id == OBJ_SCENERY_10) && (i == 0)) || ((obj->id == OBJ_SCENERY_13) && (i == 0)) || ((obj->id == OBJ_SCENERY_CO_BUILDING_1) && (i == 0)) ||
((obj->id == OBJ_SCENERY_12) && (i < 3)) || (obj->id == OBJ_SCENERY_16) || ((obj->id == OBJ_SCENERY_CO_BUILDING_4) && (i == 0)) ||
(obj->id == OBJ_SCENERY_14)) { ((obj->id == OBJ_SCENERY_CO_BUILDING_3) && (i < 3)) || (obj->id == OBJ_SCENERY_CO_BUILDING_7) ||
(obj->id == OBJ_SCENERY_CO_BUILDING_5)) {
if (shot->obj.pos.x - (obj->pos.x + hitbox->x.offset) < -hitbox->x.size) { if (shot->obj.pos.x - (obj->pos.x + hitbox->x.offset) < -hitbox->x.size) {
if (hitbox->z.size + (obj->pos.z + hitbox->z.offset) < shot->obj.pos.z) { if (hitbox->z.size + (obj->pos.z + hitbox->z.offset) < shot->obj.pos.z) {
shot->obj.pos.z = hitbox->z.size + (obj->pos.z + hitbox->z.offset) - 5.0f; shot->obj.pos.z = hitbox->z.size + (obj->pos.z + hitbox->z.offset) - 5.0f;
@ -336,7 +337,7 @@ s32 PlayerShot_CheckObjectHitbox(PlayerShot* shot, f32* hitboxData, Object* obj)
return i + 1; return i + 1;
} }
if (obj->id < OBJ_SCENERY_MAX) { if (obj->id < OBJ_SCENERY_MAX) {
func_effect_8007A6F0(&shot->obj.pos, NA_SE_EN_REFLECT); Effect_SpawnTimedSfxAtPos(&shot->obj.pos, NA_SE_EN_REFLECT);
} }
return i + 1; return i + 1;
} }
@ -485,7 +486,7 @@ bool PlayerShot_CheckPolyCollision(PlayerShot* shot, ObjectId objId, Object* obj
sp7C.z = obj->pos.z - shot->obj.pos.z; sp7C.z = obj->pos.z - shot->obj.pos.z;
// undefined behavior: if this check fails, the function returns no value // undefined behavior: if this check fails, the function returns no value
if (((fabsf(sp7C.x) < 1100.0f) && (fabsf(sp7C.z) < 1100.0f) && (shot->obj.pos.y < 900.0f)) || if (((fabsf(sp7C.x) < 1100.0f) && (fabsf(sp7C.z) < 1100.0f) && (shot->obj.pos.y < 900.0f)) ||
(objId == OBJ_BOSS_SZ) || (objId == ACTOR_EVENT_ID) || (objId == OBJ_SCENERY_ME_TUNNEL)) { (objId == OBJ_BOSS_SZ_GREAT_FOX) || (objId == ACTOR_EVENT_ID) || (objId == OBJ_SCENERY_ME_TUNNEL)) {
Matrix_RotateY(gCalcMatrix, -obj->rot.y * M_DTOR, MTXF_NEW); Matrix_RotateY(gCalcMatrix, -obj->rot.y * M_DTOR, MTXF_NEW);
sp7C.x = shot->obj.pos.x - obj->pos.x; sp7C.x = shot->obj.pos.x - obj->pos.x;
sp7C.y = shot->obj.pos.y - obj->pos.y; sp7C.y = shot->obj.pos.y - obj->pos.y;
@ -506,8 +507,8 @@ bool PlayerShot_CheckPolyCollision(PlayerShot* shot, ObjectId objId, Object* obj
case OBJ_ACTOR_180: case OBJ_ACTOR_180:
objId = COL1_0; objId = COL1_0;
break; break;
case OBJ_SCENERY_4: case OBJ_SCENERY_CO_BUMP_4:
case OBJ_SCENERY_5: case OBJ_SCENERY_CO_BUMP_5:
objId = COL2_1; objId = COL2_1;
useCol2 = true; useCol2 = true;
break; break;
@ -529,7 +530,7 @@ bool PlayerShot_CheckPolyCollision(PlayerShot* shot, ObjectId objId, Object* obj
case ACTOR_EVENT_ID: case ACTOR_EVENT_ID:
objId = COL1_3; objId = COL1_3;
break; break;
case OBJ_BOSS_SZ: case OBJ_BOSS_SZ_GREAT_FOX:
objId = COL1_8; objId = COL1_8;
break; break;
case OBJ_SCENERY_ME_TUNNEL: case OBJ_SCENERY_ME_TUNNEL:
@ -555,11 +556,11 @@ bool PlayerShot_CheckPolyCollision(PlayerShot* shot, ObjectId objId, Object* obj
objId = COL2_7; objId = COL2_7;
useCol2 = true; useCol2 = true;
break; break;
case OBJ_SCENERY_2: case OBJ_SCENERY_CO_BUMP_2:
objId = COL2_2; objId = COL2_2;
useCol2 = true; useCol2 = true;
break; break;
case OBJ_SCENERY_3: case OBJ_SCENERY_CO_BUMP_3:
case OBJ_SCENERY_69: case OBJ_SCENERY_69:
objId = COL2_3; objId = COL2_3;
useCol2 = true; useCol2 = true;
@ -612,7 +613,7 @@ bool PlayerShot_CheckPolyCollision(PlayerShot* shot, ObjectId objId, Object* obj
return false; return false;
} }
PlayerShot_Impact(shot); PlayerShot_Impact(shot);
func_effect_8007A6F0(&shot->obj.pos, NA_SE_EN_REFLECT); Effect_SpawnTimedSfxAtPos(&shot->obj.pos, NA_SE_EN_REFLECT);
if (gCurrentLevel == LEVEL_METEO) { if (gCurrentLevel == LEVEL_METEO) {
Matrix_RotateY(gCalcMatrix, obj->rot.y * M_DTOR, MTXF_NEW); Matrix_RotateY(gCalcMatrix, obj->rot.y * M_DTOR, MTXF_NEW);
sp7C.x = sp4C.x - obj->pos.x; sp7C.x = sp4C.x - obj->pos.x;
@ -635,7 +636,7 @@ bool PlayerShot_CheckPolyCollision(PlayerShot* shot, ObjectId objId, Object* obj
return false; return false;
} }
PlayerShot_Impact(shot); PlayerShot_Impact(shot);
func_effect_8007A6F0(&shot->obj.pos, NA_SE_EN_REFLECT); Effect_SpawnTimedSfxAtPos(&shot->obj.pos, NA_SE_EN_REFLECT);
if (gCurrentLevel == LEVEL_FORTUNA) { if (gCurrentLevel == LEVEL_FORTUNA) {
func_effect_8007BC7C(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z, 3.0f); func_effect_8007BC7C(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z, 3.0f);
func_effect_8007BC7C(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z, 3.0f); func_effect_8007BC7C(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z, 3.0f);
@ -790,7 +791,7 @@ void PlayerShot_CollisionCheck(PlayerShot* shot) {
default: default:
if (actor->info.unk_16 != 0) { if (actor->info.unk_16 != 0) {
if (actor->obj.id == OBJ_ACTOR_ALLRANGE) { if (actor->obj.id == OBJ_ACTOR_ALLRANGE) {
if ((actor->aiType >= AI360_WOLF) && (actor->aiType < AI360_10) && if ((actor->aiType >= AI360_WOLF) && (actor->aiType < AI360_ENEMY) &&
(((gCurrentLevel == LEVEL_VENOM_2) && (((gCurrentLevel == LEVEL_VENOM_2) &&
(shot->sourceId <= NPC_SHOT_ID + AI360_PEPPY)) || (shot->sourceId <= NPC_SHOT_ID + AI360_PEPPY)) ||
((gCurrentLevel != LEVEL_VENOM_2) && (shot->sourceId == AI360_FOX))) && ((gCurrentLevel != LEVEL_VENOM_2) && (shot->sourceId == AI360_FOX))) &&
@ -906,8 +907,8 @@ void PlayerShot_CollisionCheck(PlayerShot* shot) {
if ((scenery360->obj.id == OBJ_SCENERY_117) || (scenery360->obj.id == OBJ_SCENERY_141) || if ((scenery360->obj.id == OBJ_SCENERY_117) || (scenery360->obj.id == OBJ_SCENERY_141) ||
(scenery360->obj.id == OBJ_SCENERY_149) || (scenery360->obj.id == OBJ_SCENERY_150) || (scenery360->obj.id == OBJ_SCENERY_149) || (scenery360->obj.id == OBJ_SCENERY_150) ||
(scenery360->obj.id == OBJ_SCENERY_148) || (scenery360->obj.id == OBJ_SCENERY_143) || (scenery360->obj.id == OBJ_SCENERY_148) || (scenery360->obj.id == OBJ_SCENERY_143) ||
(scenery360->obj.id == OBJ_SCENERY_160) || (scenery360->obj.id == OBJ_SCENERY_1) || (scenery360->obj.id == OBJ_SCENERY_160) || (scenery360->obj.id == OBJ_SCENERY_CO_BUMP_1) ||
(scenery360->obj.id == OBJ_SCENERY_3) || (scenery360->obj.id == OBJ_SCENERY_140)) { (scenery360->obj.id == OBJ_SCENERY_CO_BUMP_3) || (scenery360->obj.id == OBJ_SCENERY_140)) {
PlayerShot_CheckPolyCollision(shot, scenery360->obj.id, &scenery360->obj); PlayerShot_CheckPolyCollision(shot, scenery360->obj.id, &scenery360->obj);
} else { } else {
PlayerShot_CheckObjectHitbox(shot, scenery360->info.hitbox, &scenery360->obj); PlayerShot_CheckObjectHitbox(shot, scenery360->info.hitbox, &scenery360->obj);
@ -917,13 +918,13 @@ void PlayerShot_CollisionCheck(PlayerShot* shot) {
} else { } else {
for (i = 0, scenery = gScenery; i < ARRAY_COUNT(gScenery); i++, scenery++) { for (i = 0, scenery = gScenery; i < ARRAY_COUNT(gScenery); i++, scenery++) {
if (scenery->obj.status == OBJ_ACTIVE) { if (scenery->obj.status == OBJ_ACTIVE) {
if ((scenery->obj.id == OBJ_SCENERY_1) || (scenery->obj.id == OBJ_SCENERY_ME_TUNNEL) || if ((scenery->obj.id == OBJ_SCENERY_CO_BUMP_1) || (scenery->obj.id == OBJ_SCENERY_ME_TUNNEL) ||
(scenery->obj.id == OBJ_SCENERY_4) || (scenery->obj.id == OBJ_SCENERY_5) || (scenery->obj.id == OBJ_SCENERY_CO_BUMP_4) || (scenery->obj.id == OBJ_SCENERY_CO_BUMP_5) ||
(scenery->obj.id == OBJ_SCENERY_120) || (scenery->obj.id == OBJ_SCENERY_124) || (scenery->obj.id == OBJ_SCENERY_120) || (scenery->obj.id == OBJ_SCENERY_124) ||
(scenery->obj.id == OBJ_SCENERY_126) || (scenery->obj.id == OBJ_SCENERY_47) || (scenery->obj.id == OBJ_SCENERY_126) || (scenery->obj.id == OBJ_SCENERY_47) ||
(scenery->obj.id == OBJ_SCENERY_2) || (scenery->obj.id == OBJ_SCENERY_3) || (scenery->obj.id == OBJ_SCENERY_CO_BUMP_2) || (scenery->obj.id == OBJ_SCENERY_CO_BUMP_3) ||
(scenery->obj.id == OBJ_SCENERY_67) || (scenery->obj.id == OBJ_SCENERY_74) || (scenery->obj.id == OBJ_SCENERY_67) || (scenery->obj.id == OBJ_SCENERY_74) ||
(scenery->obj.id == OBJ_SCENERY_3)) { (scenery->obj.id == OBJ_SCENERY_CO_BUMP_3)) {
PlayerShot_CheckPolyCollision(shot, scenery->obj.id, &scenery->obj); PlayerShot_CheckPolyCollision(shot, scenery->obj.id, &scenery->obj);
} else { } else {
temp_v0 = PlayerShot_CheckObjectHitbox(shot, scenery->info.hitbox, &scenery->obj); temp_v0 = PlayerShot_CheckObjectHitbox(shot, scenery->info.hitbox, &scenery->obj);
@ -953,7 +954,7 @@ void PlayerShot_CollisionCheck(PlayerShot* shot) {
for (i = 0, boss = gBosses; i < ARRAY_COUNT(gBosses); i++, boss++) { for (i = 0, boss = gBosses; i < ARRAY_COUNT(gBosses); i++, boss++) {
if ((boss->obj.status == OBJ_ACTIVE) && (boss->timer_05A == 0)) { if ((boss->obj.status == OBJ_ACTIVE) && (boss->timer_05A == 0)) {
if ((boss->obj.id == OBJ_BOSS_FO) || (boss->obj.id == OBJ_BOSS_VE2) || (boss->obj.id == OBJ_BOSS_309) || if ((boss->obj.id == OBJ_BOSS_FO) || (boss->obj.id == OBJ_BOSS_VE2) || (boss->obj.id == OBJ_BOSS_309) ||
(boss->obj.id == OBJ_BOSS_SZ)) { (boss->obj.id == OBJ_BOSS_SZ_GREAT_FOX)) {
PlayerShot_CheckPolyCollision(shot, boss->obj.id, &boss->obj); PlayerShot_CheckPolyCollision(shot, boss->obj.id, &boss->obj);
} else if (boss->obj.id == OBJ_BOSS_310) { } else if (boss->obj.id == OBJ_BOSS_310) {
test.x = fabsf(boss->obj.pos.x - shot->obj.pos.x) * .8333333f; test.x = fabsf(boss->obj.pos.x - shot->obj.pos.x) * .8333333f;
@ -1614,7 +1615,7 @@ void PlayerShot_UpdateBeam(PlayerShot* shot, s32 index) {
PlayerShot_Impact(shot); PlayerShot_Impact(shot);
shot->obj.pos.y = gGroundHeight + 2; shot->obj.pos.y = gGroundHeight + 2;
if (gCurrentLevel == LEVEL_BOLSE) { if (gCurrentLevel == LEVEL_BOLSE) {
func_effect_8007A6F0(&shot->obj.pos, NA_SE_EN_REFLECT); Effect_SpawnTimedSfxAtPos(&shot->obj.pos, NA_SE_EN_REFLECT);
} }
if ((gCamCount != 4) && (gCurrentLevel != LEVEL_AQUAS)) { if ((gCamCount != 4) && (gCurrentLevel != LEVEL_AQUAS)) {
if ((shot->sourceId == TEAM_ID_FOX) && (gLaserStrength[0] != LASERS_SINGLE) && if ((shot->sourceId == TEAM_ID_FOX) && (gLaserStrength[0] != LASERS_SINGLE) &&
@ -1660,7 +1661,7 @@ void PlayerShot_UpdateBeam(PlayerShot* shot, s32 index) {
Object_Kill(&shot->obj, shot->sfxSource); Object_Kill(&shot->obj, shot->sfxSource);
return; return;
} }
if ((shot->sourceId < NPC_SHOT_ID + AI360_10) || ((shot->timer % 2) != 0)) { if ((shot->sourceId < NPC_SHOT_ID + AI360_ENEMY) || ((shot->timer % 2) != 0)) {
PlayerShot_CollisionCheck(shot); PlayerShot_CollisionCheck(shot);
} }
} }
@ -1863,7 +1864,7 @@ void PlayerShot_ApplyExplosionDamage(PlayerShot* shot, s32 damage) {
scenery = gScenery; scenery = gScenery;
for (i = 0; i < ARRAY_COUNT(gScenery); i++, scenery++) { for (i = 0; i < ARRAY_COUNT(gScenery); i++, scenery++) {
if ((scenery->obj.status == OBJ_ACTIVE) && (scenery->obj.id == OBJ_SCENERY_56)) { if ((scenery->obj.status == OBJ_ACTIVE) && (scenery->obj.id == OBJ_SCENERY_CO_DOORS)) {
dx = scenery->obj.pos.x - shot->obj.pos.x; dx = scenery->obj.pos.x - shot->obj.pos.x;
dy = scenery->obj.pos.y - shot->obj.pos.y; dy = scenery->obj.pos.y - shot->obj.pos.y;
dz = scenery->obj.pos.z - shot->obj.pos.z; dz = scenery->obj.pos.z - shot->obj.pos.z;
@ -1904,7 +1905,7 @@ void PlayerShot_ApplyExplosionDamage(PlayerShot* shot, s32 damage) {
actor->hitPos.z = shot->obj.pos.z; actor->hitPos.z = shot->obj.pos.z;
if (sqrtf(SQ(dx) + SQ(dy) + SQ(dz)) < radius) { if (sqrtf(SQ(dx) + SQ(dy) + SQ(dz)) < radius) {
if ((actor->obj.id == OBJ_ACTOR_193) || (actor->obj.id == OBJ_ACTOR_186) || if ((actor->obj.id == OBJ_ACTOR_193) || (actor->obj.id == OBJ_ACTOR_186) ||
(actor->obj.id == OBJ_ACTOR_190) || (actor->obj.id == OBJ_ACTOR_202) || (actor->obj.id == OBJ_MISSILE_SEEK_TEAM) || (actor->obj.id == OBJ_ACTOR_202) ||
(actor->obj.id == OBJ_ACTOR_201) || (actor->obj.id == OBJ_ACTOR_187) || (actor->obj.id == OBJ_ACTOR_201) || (actor->obj.id == OBJ_ACTOR_187) ||
((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->eventType == EVID_SUPPLY_CRATE)) || ((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->eventType == EVID_SUPPLY_CRATE)) ||
((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->eventType == EVID_SX_WARP_GATE)) || ((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->eventType == EVID_SX_WARP_GATE)) ||
@ -2093,7 +2094,7 @@ void PlayerShot_UpdateLockOnShot(PlayerShot* shot) {
shot->unk_48 * 3.0f, 5); shot->unk_48 * 3.0f, 5);
func_effect_8007ADF4(shot->obj.pos.x, gGroundHeight, shot->obj.pos.z, shot->unk_48 * 0.05f, func_effect_8007ADF4(shot->obj.pos.x, gGroundHeight, shot->obj.pos.z, shot->unk_48 * 0.05f,
shot->unk_48 * 0.5f); shot->unk_48 * 0.5f);
func_effect_8007A6F0(&shot->obj.pos, NA_SE_OB_WATER_BOUND_M); Effect_SpawnTimedSfxAtPos(&shot->obj.pos, NA_SE_OB_WATER_BOUND_M);
} }
PlayerShot_Impact(shot); PlayerShot_Impact(shot);
} else { } else {
@ -2246,7 +2247,7 @@ void PlayerShot_UpdateShot(PlayerShot* shot, s32 index) {
} }
} }
Object_Kill(&shot->obj, shot->sfxSource); Object_Kill(&shot->obj, shot->sfxSource);
func_effect_8007A6F0(&shot->obj.pos, NA_SE_SPREAD_EXPLOSION); Effect_SpawnTimedSfxAtPos(&shot->obj.pos, NA_SE_SPREAD_EXPLOSION);
} else if (gCurrentLevel == LEVEL_AQUAS) { } else if (gCurrentLevel == LEVEL_AQUAS) {
Aquas_801ABA40(shot); Aquas_801ABA40(shot);
} else { } else {

View File

@ -168,20 +168,19 @@ void Background_DrawStarfield(void) {
} }
void Background_DrawPartialStarfield(s32 yMin, s32 yMax) { void Background_DrawPartialStarfield(s32 yMin, s32 yMax) {
f32 by; // 8C f32 by;
f32 bx; // 88 f32 bx;
s16 vy; // 84 s16 vy;
s16 vx; s16 vx;
s32 i; // 80 s32 i;
s32 var_s2; // 7C s32 var_s2;
f32 cos; // 78 f32 cos;
f32 sin; // 74 f32 sin;
f32 spf68; // 70 f32 spf68;
f32 spf64; // 6C f32 spf64;
f32* sp60; // 68 f32* sp60;
f32* sp5C; // 64 f32* sp5C;
u32* sp58; // 60 u32* sp58;
gDPPipeSync(gMasterDisp++); gDPPipeSync(gMasterDisp++);
gDPSetCycleType(gMasterDisp++, G_CYC_FILL); gDPSetCycleType(gMasterDisp++, G_CYC_FILL);
gDPSetCombineMode(gMasterDisp++, G_CC_SHADE, G_CC_SHADE); gDPSetCombineMode(gMasterDisp++, G_CC_SHADE, G_CC_SHADE);
@ -261,10 +260,13 @@ void Background_DrawBackdrop(void) {
levelType = LEVELTYPE_SPACE; levelType = LEVELTYPE_SPACE;
} }
levelId = gCurrentLevel; levelId = gCurrentLevel;
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
if (D_ctx_80177C70 == 2) { if (D_ctx_80177C70 == 2) {
Matrix_Scale(gGfxMatrix, 1.2f, 1.2f, 1.0f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 1.2f, 1.2f, 1.0f, MTXF_APPLY);
} }
switch (levelType) { switch (levelType) {
case LEVELTYPE_PLANET: case LEVELTYPE_PLANET:
RCP_SetupDL(&gMasterDisp, SETUPDL_17); RCP_SetupDL(&gMasterDisp, SETUPDL_17);
@ -277,12 +279,14 @@ void Background_DrawBackdrop(void) {
sp13C = Math_ModF(Math_RadToDeg(gPlayer[gPlayerNum].camYaw) * (-7280.0f / 360.0f) * 5.0f, 7280.0f); sp13C = Math_ModF(Math_RadToDeg(gPlayer[gPlayerNum].camYaw) * (-7280.0f / 360.0f) * 5.0f, 7280.0f);
Matrix_RotateZ(gGfxMatrix, gPlayer[gPlayerNum].camRoll * M_DTOR, MTXF_APPLY); Matrix_RotateZ(gGfxMatrix, gPlayer[gPlayerNum].camRoll * M_DTOR, MTXF_APPLY);
Matrix_Translate(gGfxMatrix, sp13C, -2000.0f + sp134, -6000.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, sp13C, -2000.0f + sp134, -6000.0f, MTXF_APPLY);
if (gCurrentLevel == LEVEL_FORTUNA) { if (gCurrentLevel == LEVEL_FORTUNA) {
Matrix_Translate(gGfxMatrix, 0.0f, -2000.0f, 0, MTXF_APPLY); Matrix_Translate(gGfxMatrix, 0.0f, -2000.0f, 0, MTXF_APPLY);
} else if (gCurrentLevel == LEVEL_KATINA) { } else if (gCurrentLevel == LEVEL_KATINA) {
Matrix_Translate(gGfxMatrix, 0.0f, -2500.0f, 0, MTXF_APPLY); Matrix_Translate(gGfxMatrix, 0.0f, -2500.0f, 0, MTXF_APPLY);
} }
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
switch (gCurrentLevel) { switch (gCurrentLevel) {
case LEVEL_VERSUS: case LEVEL_VERSUS:
if (gVersusStage == VS_STAGE_CORNERIA) { if (gVersusStage == VS_STAGE_CORNERIA) {
@ -305,6 +309,7 @@ void Background_DrawBackdrop(void) {
} }
Matrix_Translate(gGfxMatrix, 7280.0f, 0.0f, 0.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, 7280.0f, 0.0f, 0.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
switch (gCurrentLevel) { switch (gCurrentLevel) {
case LEVEL_VERSUS: case LEVEL_VERSUS:
if (gVersusStage == VS_STAGE_CORNERIA) { if (gVersusStage == VS_STAGE_CORNERIA) {
@ -326,6 +331,7 @@ void Background_DrawBackdrop(void) {
break; break;
} }
break; break;
case LEVEL_CORNERIA: case LEVEL_CORNERIA:
case LEVEL_VENOM_1: case LEVEL_VENOM_1:
sp134 = (gPlayer[gPlayerNum].camPitch * -6000.0f) - (gPlayer[gPlayerNum].cam.eye.y * 0.6f); sp134 = (gPlayer[gPlayerNum].camPitch * -6000.0f) - (gPlayer[gPlayerNum].cam.eye.y * 0.6f);
@ -333,6 +339,7 @@ void Background_DrawBackdrop(void) {
Matrix_RotateZ(gGfxMatrix, gPlayer[gPlayerNum].camRoll * M_DTOR, MTXF_APPLY); Matrix_RotateZ(gGfxMatrix, gPlayer[gPlayerNum].camRoll * M_DTOR, MTXF_APPLY);
Matrix_Translate(gGfxMatrix, sp13C, -2000.0f + sp134, -6000.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, sp13C, -2000.0f + sp134, -6000.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
switch (gCurrentLevel) { switch (gCurrentLevel) {
case LEVEL_CORNERIA: case LEVEL_CORNERIA:
gSPDisplayList(gMasterDisp++, D_CO_60059F0); gSPDisplayList(gMasterDisp++, D_CO_60059F0);
@ -341,8 +348,10 @@ void Background_DrawBackdrop(void) {
gSPDisplayList(gMasterDisp++, D_VE1_60046F0); gSPDisplayList(gMasterDisp++, D_VE1_60046F0);
break; break;
} }
Matrix_Translate(gGfxMatrix, 7280.0f, 0.0f, 0.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, 7280.0f, 0.0f, 0.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
switch (gCurrentLevel) { switch (gCurrentLevel) {
case LEVEL_CORNERIA: case LEVEL_CORNERIA:
gSPDisplayList(gMasterDisp++, D_CO_60059F0); gSPDisplayList(gMasterDisp++, D_CO_60059F0);
@ -352,6 +361,7 @@ void Background_DrawBackdrop(void) {
break; break;
} }
break; break;
case LEVEL_VENOM_ANDROSS: case LEVEL_VENOM_ANDROSS:
if (gDrawBackdrop != 6) { if (gDrawBackdrop != 6) {
if ((gDrawBackdrop == 2) || (gDrawBackdrop == 7)) { if ((gDrawBackdrop == 2) || (gDrawBackdrop == 7)) {
@ -412,6 +422,7 @@ void Background_DrawBackdrop(void) {
} }
} }
break; break;
case LEVEL_AQUAS: case LEVEL_AQUAS:
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) { if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) {
sp13C = Math_RadToDeg(gPlayer[gPlayerNum].camYaw) - gPlayer[gPlayerNum].yRot_114; sp13C = Math_RadToDeg(gPlayer[gPlayerNum].camYaw) - gPlayer[gPlayerNum].yRot_114;
@ -423,6 +434,7 @@ void Background_DrawBackdrop(void) {
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, sp13C, sp134, -7000.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, sp13C, sp134, -7000.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) { if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) {
gSPDisplayList(gMasterDisp++, D_AQ_601AFF0); gSPDisplayList(gMasterDisp++, D_AQ_601AFF0);
} else { } else {
@ -445,6 +457,7 @@ void Background_DrawBackdrop(void) {
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
} }
break; break;
case LEVEL_SOLAR: case LEVEL_SOLAR:
case LEVEL_ZONESS: case LEVEL_ZONESS:
case LEVEL_MACBETH: case LEVEL_MACBETH:
@ -452,6 +465,7 @@ void Background_DrawBackdrop(void) {
sp12C = Math_RadToDeg(gPlayer[gPlayerNum].camYaw) - gPlayer[gPlayerNum].yRot_114; sp12C = Math_RadToDeg(gPlayer[gPlayerNum].camYaw) - gPlayer[gPlayerNum].yRot_114;
sp134 = (gPlayer[gPlayerNum].camPitch * -7000.0f) - (gPlayer[gPlayerNum].cam.eye.y * 0.6f); sp134 = (gPlayer[gPlayerNum].camPitch * -7000.0f) - (gPlayer[gPlayerNum].cam.eye.y * 0.6f);
sp13C = sp12C * -40.44444f * 2.0f; // close to 7280.0f / 180.0f sp13C = sp12C * -40.44444f * 2.0f; // close to 7280.0f / 180.0f
if ((gCurrentLevel == LEVEL_TITANIA) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && if ((gCurrentLevel == LEVEL_TITANIA) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) &&
(gPlayer[0].csState < 3)) { (gPlayer[0].csState < 3)) {
D_bg_8015F968 += __sinf(gPlayer[0].camYaw) * 20.0f; D_bg_8015F968 += __sinf(gPlayer[0].camYaw) * 20.0f;
@ -462,10 +476,12 @@ void Background_DrawBackdrop(void) {
D_bg_8015F968 = __sinf(gPlayer[0].camPitch) * 7000.0f; D_bg_8015F968 = __sinf(gPlayer[0].camPitch) * 7000.0f;
sp134 -= fabsf(D_bg_8015F968); sp134 -= fabsf(D_bg_8015F968);
} }
sp13C = Math_ModF(sp13C, 7280.0f); sp13C = Math_ModF(sp13C, 7280.0f);
RCP_SetupDL_17(); RCP_SetupDL_17();
Matrix_RotateZ(gGfxMatrix, gPlayer[gPlayerNum].camRoll * M_DTOR, MTXF_APPLY); Matrix_RotateZ(gGfxMatrix, gPlayer[gPlayerNum].camRoll * M_DTOR, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, 1.5f, 1.0f, 1.0f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 1.5f, 1.0f, 1.0f, MTXF_APPLY);
if ((gCurrentLevel == LEVEL_TITANIA) || (gCurrentLevel == LEVEL_ZONESS)) { if ((gCurrentLevel == LEVEL_TITANIA) || (gCurrentLevel == LEVEL_ZONESS)) {
Matrix_Translate(gGfxMatrix, sp13C, -3000.0f + sp134, -7000.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, sp13C, -3000.0f + sp134, -7000.0f, MTXF_APPLY);
} else if (gCurrentLevel == LEVEL_SOLAR) { } else if (gCurrentLevel == LEVEL_SOLAR) {
@ -474,6 +490,7 @@ void Background_DrawBackdrop(void) {
Matrix_Translate(gGfxMatrix, sp13C, -4000.0f + sp134, -7000.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, sp13C, -4000.0f + sp134, -7000.0f, MTXF_APPLY);
} }
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
if (gCurrentLevel == LEVEL_TITANIA) { if (gCurrentLevel == LEVEL_TITANIA) {
gSPDisplayList(gMasterDisp++, D_TI_6000A80); gSPDisplayList(gMasterDisp++, D_TI_6000A80);
} else if (gCurrentLevel == LEVEL_MACBETH) { } else if (gCurrentLevel == LEVEL_MACBETH) {
@ -490,6 +507,7 @@ void Background_DrawBackdrop(void) {
} }
Matrix_Translate(gGfxMatrix, 7280.0f * sp13C, 0.0f, 0.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, 7280.0f * sp13C, 0.0f, 0.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
if (gCurrentLevel == LEVEL_TITANIA) { if (gCurrentLevel == LEVEL_TITANIA) {
gSPDisplayList(gMasterDisp++, D_TI_6000A80); gSPDisplayList(gMasterDisp++, D_TI_6000A80);
} else if (gCurrentLevel == LEVEL_MACBETH) { } else if (gCurrentLevel == LEVEL_MACBETH) {
@ -502,6 +520,7 @@ void Background_DrawBackdrop(void) {
break; break;
} }
break; break;
case LEVELTYPE_SPACE: case LEVELTYPE_SPACE:
if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_ENTER_WARP_ZONE) { if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_ENTER_WARP_ZONE) {
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
@ -534,13 +553,16 @@ void Background_DrawBackdrop(void) {
sp138 = Math_ModF(sp138, 480.0f); sp138 = Math_ModF(sp138, 480.0f);
sp134 = Math_ModF(sp134, 360.0f); sp134 = Math_ModF(sp134, 360.0f);
} }
if ((sp12C < 180.0f) && (sp138 > 380.0f)) { if ((sp12C < 180.0f) && (sp138 > 380.0f)) {
sp138 = -(480.0f - sp138); sp138 = -(480.0f - sp138);
} }
if ((sp130 > 180.0f) && (sp134 > 280.0f)) { if ((sp130 > 180.0f) && (sp134 > 280.0f)) {
sp134 = -(360.0f - sp134); sp134 = -(360.0f - sp134);
} }
Matrix_RotateZ(gGfxMatrix, gStarfieldRoll, MTXF_APPLY); Matrix_RotateZ(gGfxMatrix, gStarfieldRoll, MTXF_APPLY);
switch (levelId) { switch (levelId) {
case LEVEL_WARP_ZONE: case LEVEL_WARP_ZONE:
if ((s32) gWarpZoneBgAlpha != 0) { if ((s32) gWarpZoneBgAlpha != 0) {
@ -558,6 +580,7 @@ void Background_DrawBackdrop(void) {
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
} }
break; break;
case LEVEL_METEO: case LEVEL_METEO:
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) && (gCsFrameCount > 260)) { if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) && (gCsFrameCount > 260)) {
Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f) - 30.0f, -290.0f, Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f) - 30.0f, -290.0f,
@ -573,6 +596,7 @@ void Background_DrawBackdrop(void) {
gSPDisplayList(gMasterDisp++, D_ME_600DDF0); gSPDisplayList(gMasterDisp++, D_ME_600DDF0);
} }
break; break;
case LEVEL_SECTOR_X: case LEVEL_SECTOR_X:
if (gSceneSetup == 0) { if (gSceneSetup == 0) {
Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f), -290.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f), -290.0f, MTXF_APPLY);
@ -583,6 +607,7 @@ void Background_DrawBackdrop(void) {
gSPDisplayList(gMasterDisp++, D_SX_6029890); gSPDisplayList(gMasterDisp++, D_SX_6029890);
} }
break; break;
case LEVEL_TRAINING: case LEVEL_TRAINING:
Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f), -290.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f), -290.0f, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, 0.2f, 0.2f, 1.0f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 0.2f, 0.2f, 1.0f, MTXF_APPLY);
@ -591,6 +616,7 @@ void Background_DrawBackdrop(void) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255);
gSPDisplayList(gMasterDisp++, D_TR_6003760); gSPDisplayList(gMasterDisp++, D_TR_6003760);
break; break;
case LEVEL_AREA_6: case LEVEL_AREA_6:
case LEVEL_UNK_4: case LEVEL_UNK_4:
sp128 = (gPathProgress * 0.00004f) + 0.5f; sp128 = (gPathProgress * 0.00004f) + 0.5f;
@ -609,6 +635,7 @@ void Background_DrawBackdrop(void) {
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_A6_601BB40); gSPDisplayList(gMasterDisp++, D_A6_601BB40);
break; break;
case LEVEL_FORTUNA: case LEVEL_FORTUNA:
sp128 = 1.5f; sp128 = 1.5f;
if ((gCsFrameCount > 400) && (gMissionStatus == MISSION_COMPLETE)) { if ((gCsFrameCount > 400) && (gMissionStatus == MISSION_COMPLETE)) {
@ -619,6 +646,7 @@ void Background_DrawBackdrop(void) {
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_FO_600B4B0); gSPDisplayList(gMasterDisp++, D_FO_600B4B0);
break; break;
case LEVEL_BOLSE: case LEVEL_BOLSE:
sp128 = 1.0f; sp128 = 1.0f;
if ((gCsFrameCount > 500) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) { if ((gCsFrameCount > 500) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) {
@ -629,13 +657,15 @@ void Background_DrawBackdrop(void) {
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_BO_600D190); gSPDisplayList(gMasterDisp++, D_BO_600D190);
break; break;
case LEVEL_SECTOR_Z: case LEVEL_SECTOR_Z:
Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f), -290.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f), -290.0f, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, 0.5f, 0.5f, 0.5f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 0.5f, 0.5f, 0.5f, MTXF_APPLY);
Matrix_RotateX(gGfxMatrix, M_PI / 2, MTXF_APPLY); Matrix_RotateX(gGfxMatrix, M_PI / 2, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_SZ_6002F80); gSPDisplayList(gMasterDisp++, aSzBackgroundDL);
break; break;
case LEVEL_SECTOR_Y: case LEVEL_SECTOR_Y:
Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f), -290.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f), -290.0f, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, 0.4f, 0.4f, 1.0f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 0.4f, 0.4f, 1.0f, MTXF_APPLY);
@ -648,6 +678,7 @@ void Background_DrawBackdrop(void) {
} }
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
} }
if (gStarWarpDistortion > 0.0f) { if (gStarWarpDistortion > 0.0f) {
f32* xStar = gStarOffsetsX; f32* xStar = gStarOffsetsX;
f32* yStar = gStarOffsetsY; f32* yStar = gStarOffsetsY;
@ -655,7 +686,7 @@ void Background_DrawBackdrop(void) {
RCP_SetupDL_14(); RCP_SetupDL_14();
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 128, 128, 255, 255); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 128, 128, 255, 255);
i = 0;
zRot = 0.0f; zRot = 0.0f;
for (i = 0; i < 300; i++, xStar++, yStar++) { for (i = 0; i < 300; i++, xStar++, yStar++) {
*xStar = RAND_FLOAT_SEEDED(480.0f) - 80.0f; *xStar = RAND_FLOAT_SEEDED(480.0f) - 80.0f;
@ -690,10 +721,12 @@ void Background_DrawSun(void) {
(gCurrentLevel == LEVEL_SOLAR) || (gCurrentLevel == LEVEL_TRAINING) || gVersusMode) { (gCurrentLevel == LEVEL_SOLAR) || (gCurrentLevel == LEVEL_TRAINING) || gVersusMode) {
return; return;
} }
gPlayerGlareAlphas[gPlayerNum] -= sSunGlareAlphaStep[levelType]; gPlayerGlareAlphas[gPlayerNum] -= sSunGlareAlphaStep[levelType];
if (gPlayerGlareAlphas[gPlayerNum] > 300) { if (gPlayerGlareAlphas[gPlayerNum] > 300) {
gPlayerGlareAlphas[gPlayerNum] = 0; gPlayerGlareAlphas[gPlayerNum] = 0;
} }
if (((gCurrentLevel == LEVEL_AQUAS) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO)) || if (((gCurrentLevel == LEVEL_AQUAS) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO)) ||
(((gPlayer[gPlayerNum].state_1C8 == PLAYERSTATE_1C8_U_TURN) || (gLevelMode == LEVELMODE_ALL_RANGE) || (((gPlayer[gPlayerNum].state_1C8 == PLAYERSTATE_1C8_U_TURN) || (gLevelMode == LEVELMODE_ALL_RANGE) ||
(gPlayer[gPlayerNum].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) && (gPlayer[gPlayerNum].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) &&
@ -701,14 +734,17 @@ void Background_DrawSun(void) {
gPlayerGlareReds[gPlayerNum] = 128; gPlayerGlareReds[gPlayerNum] = 128;
gPlayerGlareGreens[gPlayerNum] = 128; gPlayerGlareGreens[gPlayerNum] = 128;
gPlayerGlareBlues[gPlayerNum] = 128; gPlayerGlareBlues[gPlayerNum] = 128;
camYaw = Math_RadToDeg(gPlayer[gPlayerNum].camYaw); camYaw = Math_RadToDeg(gPlayer[gPlayerNum].camYaw);
camPitch = Math_RadToDeg(gPlayer[gPlayerNum].camPitch); camPitch = Math_RadToDeg(gPlayer[gPlayerNum].camPitch);
if (camPitch > 180.0f) { if (camPitch > 180.0f) {
camPitch -= 360.0f; camPitch -= 360.0f;
} }
camYaw -= 135.0f; camYaw -= 135.0f;
gSunViewX = -camYaw * 3.2f; gSunViewX = -camYaw * 3.2f;
gSunViewY = (-camPitch * 3.2f) + 130.0f - ((gPlayer[gPlayerNum].cam.eye.y - 350.0f) * 0.015f); gSunViewY = (-camPitch * 3.2f) + 130.0f - ((gPlayer[gPlayerNum].cam.eye.y - 350.0f) * 0.015f);
if (gCurrentLevel == LEVEL_KATINA) { if (gCurrentLevel == LEVEL_KATINA) {
gSunViewY -= 80.0f; gSunViewY -= 80.0f;
} }
@ -716,6 +752,7 @@ void Background_DrawSun(void) {
gSunViewY -= 60.0f; gSunViewY -= 60.0f;
gSunViewX -= 480.0f; gSunViewX -= 480.0f;
} }
if ((gSunViewX < 120.0f) && (gSunViewX > -120.0f) && (gSunViewY < 120.0f)) { if ((gSunViewX < 120.0f) && (gSunViewX > -120.0f) && (gSunViewY < 120.0f)) {
gPlayerGlareAlphas[gPlayerNum] += sSunGlareAlphaStep[levelType] * 2; gPlayerGlareAlphas[gPlayerNum] += sSunGlareAlphaStep[levelType] * 2;
if (sSunGlareMaxAlpha[levelType] < gPlayerGlareAlphas[gPlayerNum]) { if (sSunGlareMaxAlpha[levelType] < gPlayerGlareAlphas[gPlayerNum]) {
@ -723,6 +760,7 @@ void Background_DrawSun(void) {
} }
} }
} }
if (gPlayerGlareAlphas[gPlayerNum] != 0) { if (gPlayerGlareAlphas[gPlayerNum] != 0) {
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
Matrix_RotateZ(gGfxMatrix, gPlayer[gPlayerNum].camRoll * M_DTOR, MTXF_APPLY); Matrix_RotateZ(gGfxMatrix, gPlayer[gPlayerNum].camRoll * M_DTOR, MTXF_APPLY);
@ -732,12 +770,14 @@ void Background_DrawSun(void) {
sunAlpha = sSunAlphas; sunAlpha = sSunAlphas;
sunDL = sSunDLs; sunDL = sSunDLs;
sunScale = sSunScales; sunScale = sSunScales;
if (gCurrentLevel == LEVEL_KATINA) { if (gCurrentLevel == LEVEL_KATINA) {
sunColor = sKaSunColors; sunColor = sKaSunColors;
sunAlpha = sKaSunAlphas; sunAlpha = sKaSunAlphas;
sunDL = sKaSunDLs; sunDL = sKaSunDLs;
sunScale = sKaSunScales; sunScale = sKaSunScales;
} }
for (i = 0; i < 5; i++, sunColor++, sunAlpha++, sunDL++, sunScale++) { for (i = 0; i < 5; i++, sunColor++, sunAlpha++, sunDL++, sunScale++) {
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
Matrix_Scale(gGfxMatrix, *sunScale, *sunScale, *sunScale, MTXF_APPLY); Matrix_Scale(gGfxMatrix, *sunScale, *sunScale, *sunScale, MTXF_APPLY);
@ -766,11 +806,13 @@ void Background_DrawLensFlare(void) {
(gPlayerGlareAlphas[gPlayerNum] == 0)) { (gPlayerGlareAlphas[gPlayerNum] == 0)) {
return; return;
} }
alphaMod = 1.0f; alphaMod = 1.0f;
if (gPlayerGlareAlphas[gPlayerNum] < 80) { if (gPlayerGlareAlphas[gPlayerNum] < 80) {
alphaMod = gPlayerGlareAlphas[gPlayerNum] / 80.0f; alphaMod = gPlayerGlareAlphas[gPlayerNum] / 80.0f;
} }
alphaMod *= sLensFlareAlphaMod[gLevelType]; alphaMod *= sLensFlareAlphaMod[gLevelType];
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
Matrix_RotateZ(gGfxMatrix, gPlayer[gPlayerNum].camRoll * M_DTOR, MTXF_APPLY); Matrix_RotateZ(gGfxMatrix, gPlayer[gPlayerNum].camRoll * M_DTOR, MTXF_APPLY);
Matrix_Translate(gGfxMatrix, gSunViewX, gSunViewY, -200.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, gSunViewX, gSunViewY, -200.0f, MTXF_APPLY);
@ -782,6 +824,7 @@ void Background_DrawLensFlare(void) {
lensFlareDL = &sSunDLs[5]; lensFlareDL = &sSunDLs[5];
lensFlareScale = &sSunScales[5]; lensFlareScale = &sSunScales[5];
lensFlareShift = &sSunShifts[5]; lensFlareShift = &sSunShifts[5];
if (gCurrentLevel == LEVEL_KATINA) { if (gCurrentLevel == LEVEL_KATINA) {
lensFlareColor = &sKaSunColors[5]; lensFlareColor = &sKaSunColors[5];
lensFlareAlpha = &sKaSunAlphas[5]; lensFlareAlpha = &sKaSunAlphas[5];
@ -789,6 +832,7 @@ void Background_DrawLensFlare(void) {
lensFlareScale = &sKaSunScales[5]; lensFlareScale = &sKaSunScales[5];
lensFlareShift = &sKaSunShifts[5]; lensFlareShift = &sKaSunShifts[5];
} }
for (i = 5; i < 13; i++, lensFlareColor++, lensFlareAlpha++, lensFlareDL++, lensFlareScale++, lensFlareShift++) { for (i = 5; i < 13; i++, lensFlareColor++, lensFlareAlpha++, lensFlareDL++, lensFlareScale++, lensFlareShift++) {
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, *lensFlareShift * lensFlareOffsetX, *lensFlareShift * -lensFlareOffsetY, 0.0f, Matrix_Translate(gGfxMatrix, *lensFlareShift * lensFlareOffsetX, *lensFlareShift * -lensFlareOffsetY, 0.0f,
@ -828,6 +872,7 @@ void Background_DrawGround(void) {
Bolse_DrawDynamicGround(); Bolse_DrawDynamicGround();
return; return;
} }
sp1D4 = 0.0f; sp1D4 = 0.0f;
if ((gGroundType != 10) && (gGroundType != 11)) { if ((gGroundType != 10) && (gGroundType != 11)) {
sp1D4 = -4000.0f; sp1D4 = -4000.0f;
@ -849,10 +894,13 @@ void Background_DrawGround(void) {
sp1B4.x = 0; sp1B4.x = 0;
sp1B4.y = 0; sp1B4.y = 0;
sp1B4.z = -5500.0f; sp1B4.z = -5500.0f;
Matrix_RotateY(gCalcMatrix, -gPlayer[gPlayerNum].camYaw, MTXF_NEW); Matrix_RotateY(gCalcMatrix, -gPlayer[gPlayerNum].camYaw, MTXF_NEW);
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp1B4, &sp1A8); Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp1B4, &sp1A8);
temp_fv1 = gPlayer[gPlayerNum].cam.eye.x + sp1A8.x; temp_fv1 = gPlayer[gPlayerNum].cam.eye.x + sp1A8.x;
temp_fa0 = gPlayer[gPlayerNum].cam.eye.z + sp1A8.z; temp_fa0 = gPlayer[gPlayerNum].cam.eye.z + sp1A8.z;
if (temp_fv1 > 6000.0f) { if (temp_fv1 > 6000.0f) {
gPlayer[gPlayerNum].xPath = 12000.0f; gPlayer[gPlayerNum].xPath = 12000.0f;
} }
@ -865,6 +913,7 @@ void Background_DrawGround(void) {
if (temp_fv1 < -18000.0f) { if (temp_fv1 < -18000.0f) {
gPlayer[gPlayerNum].xPath = -24000.0f; gPlayer[gPlayerNum].xPath = -24000.0f;
} }
if (temp_fa0 > 6000.0f) { if (temp_fa0 > 6000.0f) {
sp1D4 = 12000.0f; sp1D4 = 12000.0f;
} }
@ -878,12 +927,16 @@ void Background_DrawGround(void) {
sp1D4 = -24000.0f; sp1D4 = -24000.0f;
} }
} }
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, gPlayer[gPlayerNum].xPath, -3.0f + gCameraShakeY, sp1D4, MTXF_APPLY); Matrix_Translate(gGfxMatrix, gPlayer[gPlayerNum].xPath, -3.0f + gCameraShakeY, sp1D4, MTXF_APPLY);
if (D_ctx_80177C70 == 2) { if (D_ctx_80177C70 == 2) {
Matrix_Scale(gGfxMatrix, 1.2f, 1.2f, 1.0f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 1.2f, 1.2f, 1.0f, MTXF_APPLY);
} }
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
switch (gCurrentLevel) { switch (gCurrentLevel) {
case LEVEL_CORNERIA: case LEVEL_CORNERIA:
if (gGroundClipMode != 0) { if (gGroundClipMode != 0) {
@ -891,6 +944,7 @@ void Background_DrawGround(void) {
} else { } else {
RCP_SetupDL_20(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_20(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
} }
if (gLevelMode == LEVELMODE_ON_RAILS) { if (gLevelMode == LEVELMODE_ON_RAILS) {
gDPSetTextureImage(gMasterDisp++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, SEGMENTED_TO_VIRTUAL(D_CO_601B6C0)); gDPSetTextureImage(gMasterDisp++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, SEGMENTED_TO_VIRTUAL(D_CO_601B6C0));
temp_s0 = fabsf(Math_ModF(2.0f * (gPathTexScroll * 0.2133333f), 128.0f)); // 0.64f / 3.0f temp_s0 = fabsf(Math_ModF(2.0f * (gPathTexScroll * 0.2133333f), 128.0f)); // 0.64f / 3.0f
@ -935,6 +989,7 @@ void Background_DrawGround(void) {
} }
} }
break; break;
case LEVEL_VENOM_1: case LEVEL_VENOM_1:
case LEVEL_MACBETH: case LEVEL_MACBETH:
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
@ -972,6 +1027,7 @@ void Background_DrawGround(void) {
gSPDisplayList(gMasterDisp++, sp1C0); gSPDisplayList(gMasterDisp++, sp1C0);
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
break; break;
case LEVEL_TRAINING: case LEVEL_TRAINING:
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
if (gLevelMode == LEVELMODE_ON_RAILS) { if (gLevelMode == LEVELMODE_ON_RAILS) {
@ -1002,10 +1058,12 @@ void Background_DrawGround(void) {
} }
} }
break; break;
case LEVEL_AQUAS: case LEVEL_AQUAS:
RCP_SetupDL(&gMasterDisp, SETUPDL_20); RCP_SetupDL(&gMasterDisp, SETUPDL_20);
sp1C0 = D_AQ_600AB10; sp1C0 = D_AQ_600AB10;
gSPFogPosition(gMasterDisp++, gFogNear, gFogFar); gSPFogPosition(gMasterDisp++, gFogNear, gFogFar);
if ((D_bg_8015F964 == 0) && ((gAqDrawMode == 0) || (gAqDrawMode == 2))) { if ((D_bg_8015F964 == 0) && ((gAqDrawMode == 0) || (gAqDrawMode == 2))) {
gDPLoadTileTexture(gMasterDisp++, SEGMENTED_TO_VIRTUAL(D_AQ_600AB68), G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, gDPLoadTileTexture(gMasterDisp++, SEGMENTED_TO_VIRTUAL(D_AQ_600AB68), G_IM_FMT_RGBA, G_IM_SIZ_16b, 32,
@ -1029,6 +1087,7 @@ void Background_DrawGround(void) {
gSPDisplayList(gMasterDisp++, sp1C0); gSPDisplayList(gMasterDisp++, sp1C0);
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
} }
if ((D_bg_8015F964 != 0) || (gAqDrawMode == 0)) { if ((D_bg_8015F964 != 0) || (gAqDrawMode == 0)) {
gDPLoadTileTexture(gMasterDisp++, SEGMENTED_TO_VIRTUAL(D_AQ_602ACC0), G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, gDPLoadTileTexture(gMasterDisp++, SEGMENTED_TO_VIRTUAL(D_AQ_602ACC0), G_IM_FMT_RGBA, G_IM_SIZ_16b, 32,
32); 32);
@ -1042,6 +1101,7 @@ void Background_DrawGround(void) {
} else { } else {
RCP_SetupDL(&gMasterDisp, SETUPDL_37); RCP_SetupDL(&gMasterDisp, SETUPDL_37);
} }
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && (gPlayer[0].csState < 2)) { if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && (gPlayer[0].csState < 2)) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255);
} else if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) { } else if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) {
@ -1050,6 +1110,7 @@ void Background_DrawGround(void) {
} else { } else {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, (s32) D_AQ_801C4188); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, (s32) D_AQ_801C4188);
} }
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, 0.0f, D_bg_8015F970, -3000.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, 0.0f, D_bg_8015F970, -3000.0f, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, 2.0f, 1.0f, 0.5f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 2.0f, 1.0f, 0.5f, MTXF_APPLY);
@ -1062,6 +1123,7 @@ void Background_DrawGround(void) {
gSPDisplayList(gMasterDisp++, D_AQ_602AC40); gSPDisplayList(gMasterDisp++, D_AQ_602AC40);
} }
break; break;
case LEVEL_FORTUNA: case LEVEL_FORTUNA:
case LEVEL_KATINA: case LEVEL_KATINA:
case LEVEL_BOLSE: case LEVEL_BOLSE:
@ -1071,6 +1133,7 @@ void Background_DrawGround(void) {
} else { } else {
RCP_SetupDL_20(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_20(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
} }
for (i = 0; i < ARRAY_COUNT(sGroundPositions360x); i++) { for (i = 0; i < ARRAY_COUNT(sGroundPositions360x); i++) {
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, sGroundPositions360x[i], 0.0f, sGroundPositions360z[i], MTXF_APPLY); Matrix_Translate(gGfxMatrix, sGroundPositions360x[i], 0.0f, sGroundPositions360z[i], MTXF_APPLY);
@ -1087,12 +1150,14 @@ void Background_DrawGround(void) {
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
} }
break; break;
case LEVEL_VERSUS: case LEVEL_VERSUS:
if (gGroundClipMode != 0) { if (gGroundClipMode != 0) {
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
} else { } else {
RCP_SetupDL_20(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_20(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
} }
for (i = 0; i < ARRAY_COUNT(sGroundPositions360x); i++) { for (i = 0; i < ARRAY_COUNT(sGroundPositions360x); i++) {
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, sGroundPositions360x[i], 0.0f, sGroundPositions360z[i], MTXF_APPLY); Matrix_Translate(gGfxMatrix, sGroundPositions360x[i], 0.0f, sGroundPositions360z[i], MTXF_APPLY);
@ -1105,6 +1170,7 @@ void Background_DrawGround(void) {
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
} }
break; break;
case LEVEL_SOLAR: case LEVEL_SOLAR:
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -2000.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -2000.0f, MTXF_APPLY);
@ -1116,6 +1182,7 @@ void Background_DrawGround(void) {
gSPDisplayList(gMasterDisp++, D_SO_6002E60); gSPDisplayList(gMasterDisp++, D_SO_6002E60);
} }
break; break;
case LEVEL_ZONESS: case LEVEL_ZONESS:
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -1500.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -1500.0f, MTXF_APPLY);

View File

@ -11,7 +11,7 @@ s32 PAD_boss_C9EC4[14] = { 0 };
const f32 D_boss_800D55D0[] = { 6000.0f, 18000.0f, -6000.0f, -18000.0f }; // unused? const f32 D_boss_800D55D0[] = { 6000.0f, 18000.0f, -6000.0f, -18000.0f }; // unused?
void Boss_AwardBonus(Boss* boss) { void Boss_AwardBonus(Boss* this) {
s32 bonus; s32 bonus;
f32 yOffset; f32 yOffset;
@ -26,15 +26,17 @@ void Boss_AwardBonus(Boss* boss) {
} else { } else {
bonus = 0; bonus = 0;
} }
if (bonus != 0) { if (bonus != 0) {
yOffset = 0.0f; yOffset = 0.0f;
if (boss->obj.id == OBJ_BOSS_292) { if (this->obj.id == OBJ_BOSS_CO_GRANGA) {
yOffset = 300.0f; yOffset = 300.0f;
} else if (boss->obj.id == OBJ_BOSS_TI) { } else if (this->obj.id == OBJ_BOSS_TI) {
yOffset = 200.0f; yOffset = 200.0f;
} }
BonusText_Display(boss->obj.pos.x, boss->obj.pos.y + yOffset, boss->obj.pos.z, bonus); BonusText_Display(this->obj.pos.x, this->obj.pos.y + yOffset, this->obj.pos.z, bonus);
} }
gHitCount += bonus + 1; gHitCount += bonus + 1;
D_ctx_80177850 = 15; D_ctx_80177850 = 15;
} }
@ -57,27 +59,27 @@ void Boss300_Update(Boss300* this) {
void Boss300_Draw(Boss300* this) { void Boss300_Draw(Boss300* this) {
} }
void Boss_SetupDebris(Actor* actor, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8, void Boss_SetupDebris(ActorDebris* this, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8,
f32 arg9, f32 argA, s32 argB, s32 argC) { f32 arg9, f32 argA, s32 argB, s32 argC) {
Actor_Initialize(actor); Actor_Initialize(this);
actor->obj.status = OBJ_INIT; this->obj.status = OBJ_INIT;
actor->obj.id = OBJ_ACTOR_DEBRIS; this->obj.id = OBJ_ACTOR_DEBRIS;
actor->state = argB; this->state = argB;
actor->obj.pos.x = arg1; this->obj.pos.x = arg1;
actor->obj.pos.y = arg2; this->obj.pos.y = arg2;
actor->obj.pos.z = arg3; this->obj.pos.z = arg3;
actor->obj.rot.x = arg4; this->obj.rot.x = arg4;
actor->obj.rot.y = arg5; this->obj.rot.y = arg5;
actor->obj.rot.z = arg6; this->obj.rot.z = arg6;
actor->vel.x = arg7; this->vel.x = arg7;
actor->vel.y = arg8; this->vel.y = arg8;
actor->vel.z = arg9; this->vel.z = arg9;
actor->scale = argA; this->scale = argA;
actor->timer_0BC = argC; this->timer_0BC = argC;
actor->timer_0BE = 20; this->timer_0BE = 20;
Object_SetInfo(&actor->info, actor->obj.id); Object_SetInfo(&this->info, this->obj.id);
if (gLevelType == LEVELTYPE_PLANET) { if (gLevelType == LEVELTYPE_PLANET) {
actor->gravity = 0.5f; this->gravity = 0.5f;
} }
} }
@ -93,8 +95,8 @@ void Boss_SpawnDebris(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5
} }
} }
void Boss_SetCullDistance(Boss* boss) { void Boss_SetCullDistance(Boss* this) {
boss->info.cullDistance = 30000.0f; this->info.cullDistance = 30000.0f;
} }
void Boss_CompleteLevel(Player* player, f32 xPos, f32 yPos, f32 zPos) { void Boss_CompleteLevel(Player* player, f32 xPos, f32 yPos, f32 zPos) {
@ -110,10 +112,13 @@ void Boss_CompleteLevel(Player* player, f32 xPos, f32 yPos, f32 zPos) {
player->csState = 10; player->csState = 10;
player->csTimer = 50; player->csTimer = 50;
player->csEventTimer = 50; player->csEventTimer = 50;
player->unk_000 = 0.0f; player->unk_000 = 0.0f;
player->unk_004 = 1.0f; player->unk_004 = 1.0f;
if (player->pos.x < player->xPath) { if (player->pos.x < player->xPath) {
player->unk_004 = -1.0f; player->unk_004 = -1.0f;
} }
gPlayer[0].vel.x = 0.0f; gPlayer[0].vel.x = 0.0f;
} }

View File

@ -194,6 +194,7 @@ void func_col1_80097C88(Vec3f* norms, Vtx_tn* quad) {
__vtx1_x = quad->ob[0]; __vtx1_x = quad->ob[0];
__vtx1_y = quad->ob[1]; __vtx1_y = quad->ob[1];
__vtx1_z = quad->ob[2]; __vtx1_z = quad->ob[2];
quad++; quad++;
__vtx2_x = quad->ob[0]; __vtx2_x = quad->ob[0];
__vtx2_y = quad->ob[1]; __vtx2_y = quad->ob[1];
@ -205,17 +206,21 @@ void func_col1_80097C88(Vec3f* norms, Vtx_tn* quad) {
__dy2 = __vtx2_y - __vtx1_y; __dy2 = __vtx2_y - __vtx1_y;
__dz1 = __vtx1_z - __vtx0_z; __dz1 = __vtx1_z - __vtx0_z;
__dz2 = __vtx2_z - __vtx1_z; __dz2 = __vtx2_z - __vtx1_z;
norms->x = (__dy1 * __dz2) - (__dz1 * __dy2); norms->x = (__dy1 * __dz2) - (__dz1 * __dy2);
norms->y = (__dz1 * __dx2) - (__dx1 * __dz2); norms->y = (__dz1 * __dx2) - (__dx1 * __dz2);
norms->z = (__dx1 * __dy2) - (__dy1 * __dx2); norms->z = (__dx1 * __dy2) - (__dy1 * __dx2);
temp_fv0 = VEC3F_MAG(norms); temp_fv0 = VEC3F_MAG(norms);
if (temp_fv0 != 0.0f) { if (temp_fv0 != 0.0f) {
norms->x = (norms->x / temp_fv0) * 127.0f; norms->x = (norms->x / temp_fv0) * 127.0f;
norms->y = (norms->y / temp_fv0) * 127.0f; norms->y = (norms->y / temp_fv0) * 127.0f;
norms->z = (norms->z / temp_fv0) * 127.0f; norms->z = (norms->z / temp_fv0) * 127.0f;
} }
norms++; norms++;
quad++; quad++;
__vtx1_x = __vtx2_x; __vtx1_x = __vtx2_x;
__vtx1_y = __vtx2_y; __vtx1_y = __vtx2_y;
__vtx1_z = __vtx2_z; __vtx1_z = __vtx2_z;
@ -223,15 +228,18 @@ void func_col1_80097C88(Vec3f* norms, Vtx_tn* quad) {
__vtx2_x = quad->ob[0]; __vtx2_x = quad->ob[0];
__vtx2_y = quad->ob[1]; __vtx2_y = quad->ob[1];
__vtx2_z = quad->ob[2]; __vtx2_z = quad->ob[2];
__dx1 = __vtx1_x - __vtx0_x; __dx1 = __vtx1_x - __vtx0_x;
__dx2 = __vtx2_x - __vtx1_x; __dx2 = __vtx2_x - __vtx1_x;
__dy1 = __vtx1_y - __vtx0_y; __dy1 = __vtx1_y - __vtx0_y;
__dy2 = __vtx2_y - __vtx1_y; __dy2 = __vtx2_y - __vtx1_y;
__dz1 = __vtx1_z - __vtx0_z; __dz1 = __vtx1_z - __vtx0_z;
__dz2 = __vtx2_z - __vtx1_z; __dz2 = __vtx2_z - __vtx1_z;
norms->x = (__dy1 * __dz2) - (__dz1 * __dy2); norms->x = (__dy1 * __dz2) - (__dz1 * __dy2);
norms->y = (__dz1 * __dx2) - (__dx1 * __dz2); norms->y = (__dz1 * __dx2) - (__dx1 * __dz2);
norms->z = (__dx1 * __dy2) - (__dy1 * __dx2); norms->z = (__dx1 * __dy2) - (__dy1 * __dx2);
temp_fv0 = VEC3F_MAG(norms); temp_fv0 = VEC3F_MAG(norms);
if (temp_fv0 != 0.0f) { if (temp_fv0 != 0.0f) {
norms->x = (norms->x / temp_fv0) * 127.0f; norms->x = (norms->x / temp_fv0) * 127.0f;
@ -260,8 +268,10 @@ s32 func_col1_8009808C(Vec3f* pos, Vtx_tn* quad, Vec3f* normOut) {
__vtx3_x = quad[3].ob[0]; __vtx3_x = quad[3].ob[0];
__vtx3_y = quad[3].ob[1]; __vtx3_y = quad[3].ob[1];
__vtx3_z = quad[3].ob[2]; __vtx3_z = quad[3].ob[2];
__pos_x = pos->x; __pos_x = pos->x;
__pos_z = pos->z; __pos_z = pos->z;
test1 = TRINORM_Y(__vtx0, __vtx1, __pos); test1 = TRINORM_Y(__vtx0, __vtx1, __pos);
if (test1 >= 0.0f) { if (test1 >= 0.0f) {
test1 = TRINORM_Y(__vtx1, __vtx2, __pos); test1 = TRINORM_Y(__vtx1, __vtx2, __pos);
@ -277,6 +287,7 @@ s32 func_col1_8009808C(Vec3f* pos, Vtx_tn* quad, Vec3f* normOut) {
} }
} }
} }
if (var_v1 == 0) { if (var_v1 == 0) {
test1 = TRINORM_Y(__vtx0, __vtx2, __pos); test1 = TRINORM_Y(__vtx0, __vtx2, __pos);
if ((test1 >= 0.0f)) { if ((test1 >= 0.0f)) {

View File

@ -26,14 +26,18 @@ bool func_col2_800A36FC(Vec3f* objPos, Vec3f* colliderPos, CollisionHeader2* col
objRelPos.x = objPos->x - colliderPos->x; objRelPos.x = objPos->x - colliderPos->x;
objRelPos.y = objPos->y - colliderPos->y; objRelPos.y = objPos->y - colliderPos->y;
objRelPos.z = objPos->z - colliderPos->z; objRelPos.z = objPos->z - colliderPos->z;
if ((objRelPos.x < colHeader->min.x) || (objRelPos.y < colHeader->min.y) || (objRelPos.z < colHeader->min.z) || if ((objRelPos.x < colHeader->min.x) || (objRelPos.y < colHeader->min.y) || (objRelPos.z < colHeader->min.z) ||
(colHeader->max.x < objRelPos.x) || (colHeader->max.y < objRelPos.y) || (colHeader->max.z < objRelPos.z)) { (colHeader->max.x < objRelPos.x) || (colHeader->max.y < objRelPos.y) || (colHeader->max.z < objRelPos.z)) {
return false; return false;
} }
above = false; above = false;
count = colHeader->polyCount; count = colHeader->polyCount;
polys = SEGMENTED_TO_VIRTUAL(colHeader->polys); polys = SEGMENTED_TO_VIRTUAL(colHeader->polys);
mesh = SEGMENTED_TO_VIRTUAL(colHeader->mesh); mesh = SEGMENTED_TO_VIRTUAL(colHeader->mesh);
for (i = 0; i < count; i++, polys++) { for (i = 0; i < count; i++, polys++) {
for (j = 0; j < 3; j++) { for (j = 0; j < 3; j++) {
tri[j] = &mesh[polys->vtx[j]]; tri[j] = &mesh[polys->vtx[j]];
@ -43,12 +47,15 @@ bool func_col2_800A36FC(Vec3f* objPos, Vec3f* colliderPos, CollisionHeader2* col
break; break;
} }
} }
if (above) { if (above) {
vtx.x = tri[0]->x; vtx.x = tri[0]->x;
vtx.y = tri[0]->y; vtx.y = tri[0]->y;
vtx.z = tri[0]->z; vtx.z = tri[0]->z;
func_col1_80098860(&triPlane, &vtx, &norm); func_col1_80098860(&triPlane, &vtx, &norm);
hitDataOut->y = func_col1_800988B4(&objRelPos, &triPlane); hitDataOut->y = func_col1_800988B4(&objRelPos, &triPlane);
if (triPlane.normal.x != 0.0f) { if (triPlane.normal.x != 0.0f) {
norm.x = -triPlane.dist / triPlane.normal.x; norm.x = -triPlane.dist / triPlane.normal.x;
} else { } else {
@ -64,6 +71,7 @@ bool func_col2_800A36FC(Vec3f* objPos, Vec3f* colliderPos, CollisionHeader2* col
} else { } else {
norm.z = 0.0f; norm.z = 0.0f;
} }
hitDataOut->x = Math_Atan2F_XY(norm.y, norm.z); hitDataOut->x = Math_Atan2F_XY(norm.y, norm.z);
if (norm.z != 0.0f) { if (norm.z != 0.0f) {
hitDataOut->z = -Math_Atan2F_XY(__sinf(Math_Atan2F_XY(norm.y, norm.z)) * norm.z, norm.x); hitDataOut->z = -Math_Atan2F_XY(__sinf(Math_Atan2F_XY(norm.y, norm.z)) * norm.z, norm.x);
@ -72,6 +80,7 @@ bool func_col2_800A36FC(Vec3f* objPos, Vec3f* colliderPos, CollisionHeader2* col
} else { } else {
hitDataOut->z = -Math_Atan2F_XY(norm.y, norm.x); hitDataOut->z = -Math_Atan2F_XY(norm.y, norm.x);
} }
if ((objPos->y - hitDataOut->y <= 0.0f) || (gCurrentLevel == LEVEL_MACBETH)) { if ((objPos->y - hitDataOut->y <= 0.0f) || (gCurrentLevel == LEVEL_MACBETH)) {
sp38 = true; sp38 = true;
} }
@ -106,6 +115,7 @@ bool func_col2_800A3A74(Vec3f* point, Vec3f** tri, Vec3f* normOut) {
ptx = point->x; ptx = point->x;
ptz = point->z; ptz = point->z;
temp1 = ((vtx2.z - vtx1.z) * (ptx - vtx2.x)) - ((vtx2.x - vtx1.x) * (ptz - vtx2.z)); temp1 = ((vtx2.z - vtx1.z) * (ptx - vtx2.x)) - ((vtx2.x - vtx1.x) * (ptz - vtx2.z));
if (temp1 >= 0.0f) { if (temp1 >= 0.0f) {
if (((vtx3.x - vtx2.x) * (ptz - vtx3.z)) <= ((vtx3.z - vtx2.z) * (ptx - vtx3.x))) { if (((vtx3.x - vtx2.x) * (ptz - vtx3.z)) <= ((vtx3.z - vtx2.z) * (ptx - vtx3.x))) {

View File

@ -7,7 +7,7 @@
s32 gSceneId; s32 gSceneId;
s32 gSceneSetup; s32 gSceneSetup;
s32 gClearPlayerInfo; // some sort of flag s32 gClearPlayerInfo; // some sort of flag
s32 D_ctx_8017782C; // some sort of flag. all range related? bool D_ctx_8017782C; // some sort of flag. all range related?
GameState gGameState; GameState gGameState;
s32 gNextGameStateTimer; s32 gNextGameStateTimer;
s32 gVsItemSpawnTimer; s32 gVsItemSpawnTimer;
@ -287,7 +287,7 @@ UNK_TYPE P_800D31A8 = 0;
u16 gEnemyShotSpeed; // enemy shot speed? u16 gEnemyShotSpeed; // enemy shot speed?
u8 gShowLevelClearStatusScreen; u8 gShowLevelClearStatusScreen;
s32 gLevelStartStatusScreenTimer; s32 gLevelStartStatusScreenTimer;
s32 gLevelClearScreenTimer; // timer for mission accomplished scrren s32 gLevelClearScreenTimer; // timer for mission accomplished screen
s32 gBossHealthBar; s32 gBossHealthBar;
s32 D_ctx_80177850; // bonus text related. set to 15 but never read s32 D_ctx_80177850; // bonus text related. set to 15 but never read
s32 D_ctx_80177858[4]; // set to 3 but never used. related to VS mode customization? s32 D_ctx_80177858[4]; // set to 3 but never used. related to VS mode customization?

View File

@ -79,24 +79,26 @@ static Vec3f D_demo_800C9F60[] = {
}; };
static f32 D_demo_800C9F90[] = { 75.0f, -80.0f, 85.0f, 0.0f }; static f32 D_demo_800C9F90[] = { 75.0f, -80.0f, 85.0f, 0.0f };
void func_demo_80048CC4(Actor* actor, s32 arg1) { void func_demo_80048CC4(ActorCutscene* this, s32 index) {
Actor_Initialize(actor); Actor_Initialize(this);
actor->obj.status = OBJ_INIT; this->obj.status = OBJ_INIT;
actor->obj.id = OBJ_ACTOR_CUTSCENE; this->obj.id = OBJ_ACTOR_CUTSCENE;
actor->obj.pos.x = D_demo_800C9F60[arg1].x + gPlayer[0].pos.x;
actor->obj.pos.y = D_demo_800C9F60[arg1].y + gPlayer[0].pos.y;
actor->obj.pos.z = D_demo_800C9F60[arg1].z + gPlayer[0].trueZpos;
actor->rot_0F4.y = 0.0f;
actor->rot_0F4.z = D_demo_800C9F90[arg1];
Object_SetInfo(&actor->info, actor->obj.id);
if (arg1 == 3) { this->obj.pos.x = D_demo_800C9F60[index].x + gPlayer[0].pos.x;
AUDIO_PLAY_SFX(NA_SE_GREATFOX_ENGINE, actor->sfxSource, 0); this->obj.pos.y = D_demo_800C9F60[index].y + gPlayer[0].pos.y;
AUDIO_PLAY_SFX(NA_SE_GREATFOX_BURNER, actor->sfxSource, 0); this->obj.pos.z = D_demo_800C9F60[index].z + gPlayer[0].trueZpos;
actor->animFrame = 1;
this->rot_0F4.y = 0.0f;
this->rot_0F4.z = D_demo_800C9F90[index];
Object_SetInfo(&this->info, this->obj.id);
if (index == 3) {
AUDIO_PLAY_SFX(NA_SE_GREATFOX_ENGINE, this->sfxSource, 0);
AUDIO_PLAY_SFX(NA_SE_GREATFOX_BURNER, this->sfxSource, 0);
this->animFrame = 1;
} else { } else {
actor->iwork[11] = 1; this->iwork[11] = 1;
AUDIO_PLAY_SFX(NA_SE_ARWING_ENGINE_FG, actor->sfxSource, 4); AUDIO_PLAY_SFX(NA_SE_ARWING_ENGINE_FG, this->sfxSource, 4);
} }
} }
@ -109,6 +111,7 @@ void Cutscene_WarpZoneComplete(Player* player) {
s32 temp_v1; s32 temp_v1;
gBosses[1].obj.status = OBJ_FREE; gBosses[1].obj.status = OBJ_FREE;
Math_SmoothStepToF(&player->zRotBarrelRoll, 0.0f, 0.1f, 15.0f, 0.0f); Math_SmoothStepToF(&player->zRotBarrelRoll, 0.0f, 0.1f, 15.0f, 0.0f);
Math_SmoothStepToF(&player->zRotBank, 0.0f, 0.1f, 15.0f, 0.0f); Math_SmoothStepToF(&player->zRotBank, 0.0f, 0.1f, 15.0f, 0.0f);
Math_SmoothStepToF(&player->rot.x, 0.0f, 0.1f, 3.0f, 0.0f); Math_SmoothStepToF(&player->rot.x, 0.0f, 0.1f, 3.0f, 0.0f);
@ -190,6 +193,7 @@ void Cutscene_WarpZoneComplete(Player* player) {
default: default:
break; break;
} }
if (gCsFrameCount > 450) { if (gCsFrameCount > 450) {
Math_SmoothStepToF(&D_ctx_80177A48[0], 1.0f, 0.1f, 0.004f, 0.0f); Math_SmoothStepToF(&D_ctx_80177A48[0], 1.0f, 0.1f, 0.004f, 0.0f);
player->baseSpeed += 2.0f; player->baseSpeed += 2.0f;
@ -328,37 +332,40 @@ static f32 D_demo_800CA020[] = { 45.0f, -45.0f, 10.0f, 0.0f };
static s32 D_demo_800CA030[] = { 0, 0, 0, 1 }; static s32 D_demo_800CA030[] = { 0, 0, 0, 1 };
static s32 D_demo_800CA040[] = { 0, 0, 0, 0 }; static s32 D_demo_800CA040[] = { 0, 0, 0, 0 };
void func_demo_80049968(Actor* actor, s32 arg1) { void func_demo_80049968(ActorCutscene* this, s32 index) {
Actor_Initialize(actor); Actor_Initialize(this);
actor->obj.status = OBJ_INIT; this->obj.status = OBJ_INIT;
actor->obj.id = OBJ_ACTOR_CUTSCENE; this->obj.id = OBJ_ACTOR_CUTSCENE;
actor->obj.pos.x = D_demo_800C9FD0[arg1];
actor->obj.pos.y = D_demo_800C9FE0[arg1]; this->obj.pos.x = D_demo_800C9FD0[index];
actor->obj.pos.z = D_demo_800C9FF0[arg1] + gPlayer[0].trueZpos; this->obj.pos.y = D_demo_800C9FE0[index];
actor->fwork[0] = D_demo_800CA000[arg1]; this->obj.pos.z = D_demo_800C9FF0[index] + gPlayer[0].trueZpos;
actor->fwork[1] = D_demo_800CA010[arg1];
actor->animFrame = D_demo_800CA030[arg1]; this->fwork[0] = D_demo_800CA000[index];
actor->state = D_demo_800CA040[arg1]; this->fwork[1] = D_demo_800CA010[index];
actor->obj.rot.z = D_demo_800CA020[arg1];
actor->obj.rot.y = 180.0f; this->animFrame = D_demo_800CA030[index];
actor->vel.z = gPlayer[0].vel.z; this->state = D_demo_800CA040[index];
Object_SetInfo(&actor->info, actor->obj.id); this->obj.rot.z = D_demo_800CA020[index];
actor->iwork[11] = 1; this->obj.rot.y = 180.0f;
AUDIO_PLAY_SFX(NA_SE_ARWING_ENGINE_FG, actor->sfxSource, 4); this->vel.z = gPlayer[0].vel.z;
Object_SetInfo(&this->info, this->obj.id);
this->iwork[11] = 1;
AUDIO_PLAY_SFX(NA_SE_ARWING_ENGINE_FG, this->sfxSource, 4);
} }
void func_demo_80049A9C(Effect* effect, f32 x, f32 y, f32 z) { void func_demo_80049A9C(Effect346* this, f32 x, f32 y, f32 z) {
Effect_Initialize(effect); Effect_Initialize(this);
effect->obj.status = OBJ_INIT; this->obj.status = OBJ_INIT;
effect->obj.id = OBJ_EFFECT_346; this->obj.id = OBJ_EFFECT_346;
effect->timer_50 = 100; this->timer_50 = 100;
effect->scale2 = 0.2f; this->scale2 = 0.2f;
effect->obj.pos.x = x; this->obj.pos.x = x;
effect->obj.pos.y = y; this->obj.pos.y = y;
effect->obj.pos.z = z; this->obj.pos.z = z;
effect->vel.z = 40.0f; this->vel.z = 40.0f;
effect->obj.rot.z = RAND_FLOAT(360.0f); this->obj.rot.z = RAND_FLOAT(360.0f);
Object_SetInfo(&effect->info, effect->obj.id); Object_SetInfo(&this->info, this->obj.id);
} }
void func_demo_80049B44(void) { void func_demo_80049B44(void) {
@ -659,65 +666,68 @@ static f32 D_demo_800CA05C[] = { -60.0f, -60.0f, -120.0f };
static f32 D_demo_800CA068[] = { -150.0f, -150.0f, -300.0f }; static f32 D_demo_800CA068[] = { -150.0f, -150.0f, -300.0f };
static f32 D_demo_800CA074[] = { 360.0f, -360.0f, 0.0f }; static f32 D_demo_800CA074[] = { 360.0f, -360.0f, 0.0f };
void func_demo_8004A700(Actor* actor, s32 arg1) { void func_demo_8004A700(ActorCutscene* this, s32 index) {
Actor_Initialize(actor); Actor_Initialize(this);
actor->obj.status = OBJ_INIT; this->obj.status = OBJ_INIT;
actor->obj.id = OBJ_ACTOR_CUTSCENE; this->obj.id = OBJ_ACTOR_CUTSCENE;
actor->obj.pos.x = gPlayer[0].pos.x;
actor->obj.pos.y = gPlayer[0].pos.y - 1000.0f; this->obj.pos.x = gPlayer[0].pos.x;
actor->obj.pos.z = gPlayer[0].pos.z; this->obj.pos.y = gPlayer[0].pos.y - 1000.0f;
actor->fwork[0] = D_demo_800CA050[arg1]; this->obj.pos.z = gPlayer[0].pos.z;
actor->fwork[1] = D_demo_800CA05C[arg1];
actor->fwork[2] = D_demo_800CA068[arg1]; this->fwork[0] = D_demo_800CA050[index];
actor->fwork[3] = 4.0f; this->fwork[1] = D_demo_800CA05C[index];
actor->fwork[7] = RAND_FLOAT(100.0f); this->fwork[2] = D_demo_800CA068[index];
actor->fwork[8] = RAND_FLOAT(100.0f);
actor->obj.rot.z = D_demo_800CA074[arg1]; this->fwork[3] = 4.0f;
actor->iwork[11] = 1; this->fwork[7] = RAND_FLOAT(100.0f);
Object_SetInfo(&actor->info, actor->obj.id); this->fwork[8] = RAND_FLOAT(100.0f);
AUDIO_PLAY_SFX(NA_SE_ARWING_ENGINE_FG, actor->sfxSource, 4); this->obj.rot.z = D_demo_800CA074[index];
this->iwork[11] = 1;
Object_SetInfo(&this->info, this->obj.id);
AUDIO_PLAY_SFX(NA_SE_ARWING_ENGINE_FG, this->sfxSource, 4);
} }
void func_demo_8004A840(s32 actor) { void func_demo_8004A840(s32 actor) {
func_demo_8004A700(&gActors[actor], actor); func_demo_8004A700(&gActors[actor], actor);
} }
void func_demo_8004A888(Effect* effect) { void func_demo_8004A888(Clouds* this) {
Vec3f sp2C; Vec3f src;
Vec3f sp20; Vec3f dest;
Matrix_RotateY(gCalcMatrix, (gPlayer[0].rot.y + 180.0f) * M_DTOR, MTXF_NEW); Matrix_RotateY(gCalcMatrix, (gPlayer[0].rot.y + 180.0f) * M_DTOR, MTXF_NEW);
Matrix_RotateX(gCalcMatrix, -(gPlayer[0].rot.x * M_DTOR), MTXF_APPLY); Matrix_RotateX(gCalcMatrix, -(gPlayer[0].rot.x * M_DTOR), MTXF_APPLY);
Effect_Initialize(effect);
effect->obj.status = OBJ_INIT; Effect_Initialize(this);
sp2C.x = RAND_FLOAT_CENTERED(1500.0f); this->obj.status = OBJ_INIT;
sp2C.y = RAND_FLOAT_CENTERED(800.0f); src.x = RAND_FLOAT_CENTERED(1500.0f);
sp2C.z = 3000.0f; src.y = RAND_FLOAT_CENTERED(800.0f);
src.z = 3000.0f;
Matrix_MultVec3f(gCalcMatrix, &sp2C, &sp20); Matrix_MultVec3f(gCalcMatrix, &src, &dest);
effect->obj.pos.x = gPlayer[0].pos.x + sp20.x; this->obj.pos.x = gPlayer[0].pos.x + dest.x;
effect->obj.pos.y = gPlayer[0].pos.y + sp20.y; this->obj.pos.y = gPlayer[0].pos.y + dest.y;
effect->obj.pos.z = gPlayer[0].pos.z + sp20.z; this->obj.pos.z = gPlayer[0].pos.z + dest.z;
sp2C.x = 0.0f; src.x = 0.0f;
sp2C.y = 0.0f; src.y = 0.0f;
sp2C.z = -80.0f; src.z = -80.0f;
Matrix_MultVec3f(gCalcMatrix, &sp2C, &sp20); Matrix_MultVec3f(gCalcMatrix, &src, &dest);
effect->vel.x = sp20.x; this->vel.x = dest.x;
effect->vel.y = sp20.y; this->vel.y = dest.y;
effect->vel.z = sp20.z; this->vel.z = dest.z;
effect->obj.id = OBJ_EFFECT_352; this->obj.id = OBJ_EFFECT_CLOUDS;
effect->timer_50 = 40; this->timer_50 = 40;
effect->unk_46 = 144; this->unk_46 = 144;
effect->scale2 = RAND_FLOAT(30.0f) + 10.0f; this->scale2 = RAND_FLOAT(30.0f) + 10.0f;
if (Rand_ZeroOne() < 0.5f) { if (Rand_ZeroOne() < 0.5f) {
effect->obj.rot.z = 180.0f; this->obj.rot.z = 180.0f;
} }
Object_SetInfo(&effect->info, effect->obj.id); Object_SetInfo(&this->info, this->obj.id);
} }
void func_demo_8004AA84(void) { void func_demo_8004AA84(void) {
@ -740,7 +750,7 @@ void Cutscene_AllRangeMode(Player* player) {
s32 pad; s32 pad;
Vec3f sp70; Vec3f sp70;
Vec3f sp64; Vec3f sp64;
Actor* actor; ActorTeamBoss* actor;
f32 var_s1; f32 var_s1;
f32 var_s2; f32 var_s2;
f32 var_s3; f32 var_s3;
@ -749,7 +759,9 @@ void Cutscene_AllRangeMode(Player* player) {
s32 pad2; s32 pad2;
gCsFrameCount++; gCsFrameCount++;
Math_SmoothStepToAngle(&player->aerobaticPitch, 0.0f, 0.1f, 20.0f, 0.0f); Math_SmoothStepToAngle(&player->aerobaticPitch, 0.0f, 0.1f, 20.0f, 0.0f);
if (gCsFrameCount == 37) { if (gCsFrameCount == 37) {
gChangeTo360 = true; gChangeTo360 = true;
if (gCurrentLevel == LEVEL_VENOM_ANDROSS) { if (gCurrentLevel == LEVEL_VENOM_ANDROSS) {
@ -1872,7 +1884,7 @@ void func_demo_8004E4D4(ActorCutscene* this) {
Vec3f sp54; Vec3f sp54;
Vec3f sp48; Vec3f sp48;
Vec3f sp3C; Vec3f sp3C;
Player* sp38 = gPlayer; Player* sp38 = &gPlayer[0];
f32 sp34; f32 sp34;
this->fwork[7] += 3.0f; this->fwork[7] += 3.0f;
@ -1925,6 +1937,7 @@ void func_demo_8004E4D4(ActorCutscene* this) {
if (this->fwork[9] > 50.0f) { if (this->fwork[9] > 50.0f) {
this->fwork[9] = 50.0f; this->fwork[9] = 50.0f;
} }
if (this->timer_0BE == 0) { if (this->timer_0BE == 0) {
switch (this->index) { switch (this->index) {
case 1: case 1:
@ -2102,55 +2115,55 @@ void func_demo_8004EBD0(ActorCutscene* this) {
} }
} }
void func_demo_8004F05C(Actor* actor) { void func_demo_8004F05C(ActorCutscene* this) {
if (((gLevelType == LEVELTYPE_PLANET) && (actor->animFrame == 0)) || (gCurrentLevel == LEVEL_BOLSE)) { if (((gLevelType == LEVELTYPE_PLANET) && (this->animFrame == 0)) || (gCurrentLevel == LEVEL_BOLSE)) {
actor->fwork[0] += 3.0f; this->fwork[0] += 3.0f;
actor->fwork[1] = SIN_DEG(actor->fwork[0]) * 1.5f; this->fwork[1] = SIN_DEG(this->fwork[0]) * 1.5f;
} }
switch (gCurrentLevel) { switch (gCurrentLevel) {
case LEVEL_BOLSE: case LEVEL_BOLSE:
switch (actor->animFrame) { switch (this->animFrame) {
case 0: case 0:
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) { if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) {
actor->rot_0F4.z += actor->rot_0F4.y; this->rot_0F4.z += this->rot_0F4.y;
actor->vel.x = SIN_DEG(actor->rot_0F4.z) * 10.0f; this->vel.x = SIN_DEG(this->rot_0F4.z) * 10.0f;
actor->obj.rot.z = SIN_DEG(actor->rot_0F4.z) * 40.0f; this->obj.rot.z = SIN_DEG(this->rot_0F4.z) * 40.0f;
break; break;
} }
Math_SmoothStepToF(&actor->obj.rot.z, actor->fwork[1], 0.05f, 0.3f, 0.0f); Math_SmoothStepToF(&this->obj.rot.z, this->fwork[1], 0.05f, 0.3f, 0.0f);
switch (actor->state) { switch (this->state) {
case 0: case 0:
break; break;
case 1: case 1:
actor->state = 2; this->state = 2;
actor->timer_0BC = 100; this->timer_0BC = 100;
AUDIO_PLAY_SFX(NA_SE_ARWING_BOOST, actor->sfxSource, 0); AUDIO_PLAY_SFX(NA_SE_ARWING_BOOST, this->sfxSource, 0);
actor->fwork[29] = 5.0f; this->fwork[29] = 5.0f;
case 2: case 2:
actor->iwork[11] = 2; this->iwork[11] = 2;
actor->vel.z -= 5.0f; this->vel.z -= 5.0f;
if (actor->timer_0BC == 0) { if (this->timer_0BC == 0) {
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&this->obj, this->sfxSource);
} }
break; break;
} }
break; break;
case 31: case 31:
if (actor->timer_0BC == 0) { if (this->timer_0BC == 0) {
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&this->obj, this->sfxSource);
} }
break; break;
case 32: case 32:
actor->obj.rot.z += actor->rot_0F4.z; this->obj.rot.z += this->rot_0F4.z;
if (actor->timer_0BC == 0) { if (this->timer_0BC == 0) {
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&this->obj, this->sfxSource);
} }
break; break;
@ -2160,40 +2173,40 @@ void func_demo_8004F05C(Actor* actor) {
break; break;
case LEVEL_AREA_6: case LEVEL_AREA_6:
Area6_8018DA58(actor); Area6_8018DA58(this);
break; break;
case LEVEL_SECTOR_Y: case LEVEL_SECTOR_Y:
switch (actor->animFrame) { switch (this->animFrame) {
case 0: case 0:
SectorY_8019FF00(actor); SectorY_8019FF00(this);
break; break;
case 42: case 42:
if (actor->timer_0BC == 0) { if (this->timer_0BC == 0) {
if (actor->obj.pos.x >= -3500.0f) { if (this->obj.pos.x >= -3500.0f) {
if (actor->obj.pos.z <= 3000.0f) { if (this->obj.pos.z <= 3000.0f) {
if ((fabsf(actor->obj.pos.y) <= 400.0f) && (gCsFrameCount <= 300)) { if ((fabsf(this->obj.pos.y) <= 400.0f) && (gCsFrameCount <= 300)) {
func_effect_8007D2C8(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 8.0f); func_effect_8007D2C8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, 8.0f);
} }
} }
} }
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&this->obj, this->sfxSource);
} }
break; break;
case 43: case 43:
if (actor->timer_0BC == 0) { if (this->timer_0BC == 0) {
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&this->obj, this->sfxSource);
} }
break; break;
} }
break; break;
case LEVEL_SECTOR_X: case LEVEL_SECTOR_X:
if ((actor->state != 0) && (actor->state == 1)) { if ((this->state != 0) && (this->state == 1)) {
actor->vel.y += 0.1f; this->vel.y += 0.1f;
Math_SmoothStepToF(&actor->obj.rot.x, -20.0f, 0.1f, 0.5f, 0.0f); Math_SmoothStepToF(&this->obj.rot.x, -20.0f, 0.1f, 0.5f, 0.0f);
} }
break; break;
@ -2202,84 +2215,84 @@ void func_demo_8004F05C(Actor* actor) {
break; break;
default: default:
switch (actor->state) { switch (this->state) {
case 100: case 100:
Math_SmoothStepToF(&actor->obj.pos.x, actor->vwork[0x14].x, 0.03f, 3.0f, 0.0f); Math_SmoothStepToF(&this->obj.pos.x, this->vwork[0x14].x, 0.03f, 3.0f, 0.0f);
Math_SmoothStepToF(&actor->obj.pos.y, actor->vwork[0x14].y, 0.03f, 2.0f, 0.0f); Math_SmoothStepToF(&this->obj.pos.y, this->vwork[0x14].y, 0.03f, 2.0f, 0.0f);
Math_SmoothStepToF(&actor->obj.pos.z, actor->vwork[0x14].z, 0.03f, 2.0f, 0.0f); Math_SmoothStepToF(&this->obj.pos.z, this->vwork[0x14].z, 0.03f, 2.0f, 0.0f);
Math_SmoothStepToF(&actor->obj.rot.z, 0.0f, 0.02f, 0.3f, 0); Math_SmoothStepToF(&this->obj.rot.z, 0.0f, 0.02f, 0.3f, 0);
break; break;
case 0: case 0:
actor->obj.rot.z = actor->rot_0F4.z; this->obj.rot.z = this->rot_0F4.z;
if (actor->animFrame == 10) { if (this->animFrame == 10) {
actor->obj.pos.z = gPlayer[0].cam.eye.z + 12000.0f; this->obj.pos.z = gPlayer[0].cam.eye.z + 12000.0f;
} }
break; break;
case 1: case 1:
actor->vel.y += 0.8f; this->vel.y += 0.8f;
actor->vel.x += 0.8f; this->vel.x += 0.8f;
Math_SmoothStepToF(&actor->obj.rot.z, 420.0f, 0.1f, 15.0f, 0.001f); Math_SmoothStepToF(&this->obj.rot.z, 420.0f, 0.1f, 15.0f, 0.001f);
break; break;
case 2: case 2:
actor->vel.y += 0.8f; this->vel.y += 0.8f;
actor->vel.x -= 0.8f; this->vel.x -= 0.8f;
Math_SmoothStepToF(&actor->obj.rot.z, -420.0f, 0.1f, 15.0f, 0.001f); Math_SmoothStepToF(&this->obj.rot.z, -420.0f, 0.1f, 15.0f, 0.001f);
break; break;
case 3: case 3:
actor->vel.y += 1.2f; this->vel.y += 1.2f;
actor->vel.z += 0.1f; this->vel.z += 0.1f;
Math_SmoothStepToF(&actor->obj.rot.x, -45.0f, 0.1f, 15.0f, 0.001f); Math_SmoothStepToF(&this->obj.rot.x, -45.0f, 0.1f, 15.0f, 0.001f);
break; break;
case 10: case 10:
actor->vel.x -= 1.0f; this->vel.x -= 1.0f;
Math_SmoothStepToF(&actor->obj.rot.z, -45.0f, 0.05f, 0.5f, 0.0f); Math_SmoothStepToF(&this->obj.rot.z, -45.0f, 0.05f, 0.5f, 0.0f);
break; break;
case 11: case 11:
actor->vel.x -= 2.0f; this->vel.x -= 2.0f;
Math_SmoothStepToF(&actor->obj.rot.z, -70.0f, 0.1f, 6.0f, 0.0f); Math_SmoothStepToF(&this->obj.rot.z, -70.0f, 0.1f, 6.0f, 0.0f);
Math_SmoothStepToF(&actor->obj.rot.y, 225.0f, 0.05f, 2.0f, 0.0f); Math_SmoothStepToF(&this->obj.rot.y, 225.0f, 0.05f, 2.0f, 0.0f);
break; break;
case 12: case 12:
actor->vel.x += 2.0f; this->vel.x += 2.0f;
actor->vel.y += 1.0f; this->vel.y += 1.0f;
Math_SmoothStepToF(&actor->obj.rot.z, 80.0f, 0.1f, 6.0f, 0.0f); Math_SmoothStepToF(&this->obj.rot.z, 80.0f, 0.1f, 6.0f, 0.0f);
Math_SmoothStepToF(&actor->obj.rot.x, -15.0f, 0.05f, 4.0f, 0.0f); Math_SmoothStepToF(&this->obj.rot.x, -15.0f, 0.05f, 4.0f, 0.0f);
Math_SmoothStepToF(&actor->obj.rot.y, 135.0f, 0.05f, 2.0f, 0.0f); Math_SmoothStepToF(&this->obj.rot.y, 135.0f, 0.05f, 2.0f, 0.0f);
break; break;
case 13: case 13:
actor->vel.y += 2.0f; this->vel.y += 2.0f;
Math_SmoothStepToF(&actor->obj.rot.z, -400.0f, 0.2f, 14.0f, 0.0f); Math_SmoothStepToF(&this->obj.rot.z, -400.0f, 0.2f, 14.0f, 0.0f);
Math_SmoothStepToF(&actor->obj.rot.x, -45.0f, 0.05f, 4.0f, 0.0f); Math_SmoothStepToF(&this->obj.rot.x, -45.0f, 0.05f, 4.0f, 0.0f);
break; break;
} }
break; break;
} }
} }
void func_demo_8004F798(Actor* actor) { void func_demo_8004F798(ActorCutscene* this) {
actor->iwork[11] = 2; this->iwork[11] = 2;
switch (actor->state) { switch (this->state) {
case 0: case 0:
Math_SmoothStepToF(&actor->obj.pos.x, actor->fwork[0], 0.05f, 50.0f, 0.0f); Math_SmoothStepToF(&this->obj.pos.x, this->fwork[0], 0.05f, 50.0f, 0.0f);
Math_SmoothStepToF(&actor->obj.pos.y, actor->fwork[1], 0.05f, 50.0f, 0.0f); Math_SmoothStepToF(&this->obj.pos.y, this->fwork[1], 0.05f, 50.0f, 0.0f);
Math_SmoothStepToF(&actor->obj.rot.z, 0.0f, 0.05f, 1.0f, 0.0f); Math_SmoothStepToF(&this->obj.rot.z, 0.0f, 0.05f, 1.0f, 0.0f);
actor->obj.pos.z -= 2.0f; this->obj.pos.z -= 2.0f;
break; break;
case 1: case 1:
actor->fwork[29] = 10.0f; this->fwork[29] = 10.0f;
actor->vel.z -= 100.0f; this->vel.z -= 100.0f;
if ((actor->obj.pos.z + gPathProgress) < -15000.0f) { if ((this->obj.pos.z + gPathProgress) < -15000.0f) {
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&this->obj, this->sfxSource);
} }
break; break;
} }
@ -2323,7 +2336,7 @@ void ActorCutscene_Update(ActorCutscene* this) {
break; break;
case LEVEL_SECTOR_Z: case LEVEL_SECTOR_Z:
SectorZ_8019DD20(this); SectorZ_LevelCompleteCsUpdate(this);
break; break;
case LEVEL_AREA_6: case LEVEL_AREA_6:
@ -2460,19 +2473,19 @@ static Animation* D_demo_800CA1F4[] = {
&D_SY_60265B4, &D_SY_602B8DC, &D_SY_60034C4, &D_SY_602A2CC, &D_SY_602CEB4, &D_SY_602B778, &D_SY_601F3B8, &D_SY_60265B4, &D_SY_602B8DC, &D_SY_60034C4, &D_SY_602A2CC, &D_SY_602CEB4, &D_SY_602B778, &D_SY_601F3B8,
}; };
void func_demo_8004FCB8(Actor* actor, s32 arg1) { void func_demo_8004FCB8(ActorCutscene* this, s32 arg1) {
f32 angle; f32 angle;
f32 scale; f32 scale;
s32 i; s32 i;
if (actor->timer_0BC == 0) { if (this->timer_0BC == 0) {
actor->timer_0BC = 32; this->timer_0BC = 32;
actor->fwork[5] = 0.3f; this->fwork[5] = 0.3f;
} }
if (actor->fwork[5] > 0.0f) { if (this->fwork[5] > 0.0f) {
scale = actor->fwork[5]; scale = this->fwork[5];
actor->fwork[5] -= 0.05f; this->fwork[5] -= 0.05f;
RCP_SetupDL_49(); RCP_SetupDL_49();
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
gDPSetEnvColor(gMasterDisp++, 16, 16, 240, 255); gDPSetEnvColor(gMasterDisp++, 16, 16, 240, 255);
@ -2481,9 +2494,8 @@ void func_demo_8004FCB8(Actor* actor, s32 arg1) {
for (i = arg1; i < (arg1 + 4); i++) { for (i = arg1; i < (arg1 + 4); i++) {
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, D_demo_800CA110[i].x + actor->obj.pos.x, Matrix_Translate(gGfxMatrix, D_demo_800CA110[i].x + this->obj.pos.x, D_demo_800CA110[i].y + this->obj.pos.y,
D_demo_800CA110[i].y + actor->obj.pos.y, D_demo_800CA110[i].z + actor->obj.pos.z, D_demo_800CA110[i].z + this->obj.pos.z, MTXF_APPLY);
MTXF_APPLY);
Matrix_RotateY(gGfxMatrix, angle, MTXF_APPLY); Matrix_RotateY(gGfxMatrix, angle, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, scale, scale, scale, MTXF_APPLY); Matrix_Scale(gGfxMatrix, scale, scale, scale, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
@ -2492,7 +2504,7 @@ void func_demo_8004FCB8(Actor* actor, s32 arg1) {
} }
} }
void ActorCutscene_Draw(Actor* actor) { void ActorCutscene_Draw(ActorCutscene* this) {
static f32 D_800CA210 = 0.0f; static f32 D_800CA210 = 0.0f;
static f32 D_800CA214 = 0.0f; static f32 D_800CA214 = 0.0f;
static f32 D_800CA218 = 0.0f; static f32 D_800CA218 = 0.0f;
@ -2512,26 +2524,26 @@ void ActorCutscene_Draw(Actor* actor) {
f32 y; f32 y;
f32 x; f32 x;
switch (actor->animFrame) { switch (this->animFrame) {
case 1000: case 1000:
RCP_SetupDL(&gMasterDisp, SETUPDL_45); RCP_SetupDL(&gMasterDisp, SETUPDL_45);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, actor->unk_046); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, this->unk_046);
gSPDisplayList(gMasterDisp++, D_ENMY_PLANET_40018A0); gSPDisplayList(gMasterDisp++, D_ENMY_PLANET_40018A0);
if (actor->unk_046 > 50) { if (this->unk_046 > 50) {
Actor_DrawEngineAndContrails(actor); Actor_DrawEngineAndContrails(this);
} }
break; break;
case 0: case 0:
func_edisplay_8005B388(actor); func_edisplay_8005B388(this);
break; break;
case 1: case 1:
if (gCurrentLevel == LEVEL_SECTOR_Z) { if (gCurrentLevel == LEVEL_SECTOR_Z) {
gSPFogPosition(gMasterDisp++, gFogNear, 1005); gSPFogPosition(gMasterDisp++, gFogNear, 1005);
} }
actor->info.bonus = 1; this->info.bonus = 1;
Cutscene_DrawGreatFox(); Cutscene_DrawGreatFox();
break; break;
@ -2547,12 +2559,12 @@ void ActorCutscene_Draw(Actor* actor) {
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
Matrix_Scale(gGfxMatrix, 60.0f, 60.0f, 1.0f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 60.0f, 60.0f, 1.0f, MTXF_APPLY);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, 10.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, 10.0f, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, actor->scale, actor->scale, 1.0f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, this->scale, this->scale, 1.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
RCP_SetupDL_49(); RCP_SetupDL_49();
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, actor->iwork[0]); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, this->iwork[0]);
gDPSetEnvColor(gMasterDisp++, 255, 255, 00, actor->iwork[0]); gDPSetEnvColor(gMasterDisp++, 255, 255, 00, this->iwork[0]);
gSPDisplayList(gMasterDisp++, D_1024AC0); gSPDisplayList(gMasterDisp++, D_1024AC0);
break; break;
@ -2562,42 +2574,42 @@ void ActorCutscene_Draw(Actor* actor) {
case 24: case 24:
gSPDisplayList(gMasterDisp++, D_D009A40); gSPDisplayList(gMasterDisp++, D_D009A40);
Actor_DrawEngineAndContrails(actor); Actor_DrawEngineAndContrails(this);
break; break;
case 25: case 25:
if ((actor->index % 2) != 0) { if ((this->index % 2) != 0) {
gSPDisplayList(gMasterDisp++, D_SZ_6001DA0); gSPDisplayList(gMasterDisp++, aSzSpaceJunk3DL);
} else { } else {
gSPDisplayList(gMasterDisp++, D_SZ_6001360); gSPDisplayList(gMasterDisp++, aSzSpaceJunk1DL);
} }
break; break;
case 26: case 26:
gSPDisplayList(gMasterDisp++, D_SZ_6004FE0); gSPDisplayList(gMasterDisp++, D_SZ_6004FE0);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, MTXF_APPLY);
Actor_DrawEngineGlow(actor, 2); Actor_DrawEngineGlow(this, 2);
break; break;
case 28: case 28:
gSPDisplayList(gMasterDisp++, D_ENMY_SPACE_400AAE0); gSPDisplayList(gMasterDisp++, D_ENMY_SPACE_400AAE0);
Matrix_Translate(gGfxMatrix, 0.f, 0.f, -60.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, 0.f, 0.f, -60.0f, MTXF_APPLY);
Actor_DrawEngineGlow(actor, 2); Actor_DrawEngineGlow(this, 2);
break; break;
case 30: case 30:
Display_SetSecondLight(&actor->obj.pos); Display_SetSecondLight(&this->obj.pos);
if (actor->unk_046 != 0) { if (this->unk_046 != 0) {
RCP_SetupDL(&gMasterDisp, SETUPDL_55); RCP_SetupDL(&gMasterDisp, SETUPDL_55);
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK); gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
Rand_SetSeed(1, 29000, 9876); Rand_SetSeed(1, 29000, 9876);
for (sp2D0 = 0; sp2D0 < 30; sp2D0++) { for (sp2D0 = 0; sp2D0 < 30; sp2D0++) {
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, RAND_FLOAT_CENTERED_SEEDED(3000.0f) * actor->fwork[20], Matrix_Translate(gGfxMatrix, RAND_FLOAT_CENTERED_SEEDED(3000.0f) * this->fwork[20],
RAND_FLOAT_CENTERED_SEEDED(3000.0f) * actor->fwork[20], RAND_FLOAT_CENTERED_SEEDED(3000.0f) * this->fwork[20],
RAND_FLOAT_CENTERED_SEEDED(3000.0f) * actor->fwork[20], MTXF_APPLY); RAND_FLOAT_CENTERED_SEEDED(3000.0f) * this->fwork[20], MTXF_APPLY);
Matrix_RotateY(gGfxMatrix, 2.0f * RAND_FLOAT_SEEDED(M_PI), MTXF_APPLY); Matrix_RotateY(gGfxMatrix, 2.0f * RAND_FLOAT_SEEDED(M_PI), MTXF_APPLY);
Matrix_RotateZ(gGfxMatrix, (2.0f * gGameFrameCount) * M_DTOR, MTXF_APPLY); Matrix_RotateZ(gGfxMatrix, (2.0f * gGameFrameCount) * M_DTOR, MTXF_APPLY);
Matrix_RotateX(gGfxMatrix, 2.0f * RAND_FLOAT_SEEDED(M_PI), MTXF_APPLY); Matrix_RotateX(gGfxMatrix, 2.0f * RAND_FLOAT_SEEDED(M_PI), MTXF_APPLY);
@ -2717,13 +2729,13 @@ void ActorCutscene_Draw(Actor* actor) {
break; break;
case 33: case 33:
if ((actor->index == 3) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) { if ((this->index == 3) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) {
gSPDisplayList(gMasterDisp++, D_D00B880); gSPDisplayList(gMasterDisp++, D_D00B880);
} else { } else {
gSPDisplayList(gMasterDisp++, aKaCornerianFighterDL); gSPDisplayList(gMasterDisp++, aKaCornerianFighterDL);
} }
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, MTXF_APPLY);
Actor_DrawEngineGlow(actor, 0); Actor_DrawEngineGlow(this, 0);
break; break;
case 34: case 34:
@ -2736,44 +2748,44 @@ void ActorCutscene_Draw(Actor* actor) {
/* fallthrough */ /* fallthrough */
case 39: case 39:
gSPDisplayList(gMasterDisp++, D_SY_60097E0); gSPDisplayList(gMasterDisp++, D_SY_60097E0);
func_demo_8004FCB8(actor, 4); func_demo_8004FCB8(this, 4);
break; break;
case 36: case 36:
Matrix_Scale(gGfxMatrix, actor->scale, actor->scale, actor->scale, MTXF_APPLY); Matrix_Scale(gGfxMatrix, this->scale, this->scale, this->scale, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_SY_601D730); gSPDisplayList(gMasterDisp++, D_SY_601D730);
func_demo_8004FCB8(actor, 0); func_demo_8004FCB8(this, 0);
break; break;
case 37: case 37:
RCP_SetupDL_49(); RCP_SetupDL_49();
gDPSetPrimColor(gMasterDisp++, 0, 0, actor->iwork[0], actor->iwork[1], actor->iwork[2], actor->iwork[3]); gDPSetPrimColor(gMasterDisp++, 0, 0, this->iwork[0], this->iwork[1], this->iwork[2], this->iwork[3]);
gDPSetEnvColor(gMasterDisp++, actor->iwork[4], actor->iwork[5], actor->iwork[6], actor->iwork[7]); gDPSetEnvColor(gMasterDisp++, this->iwork[4], this->iwork[5], this->iwork[6], this->iwork[7]);
Matrix_Scale(gGfxMatrix, actor->scale, actor->fwork[4], 1.0f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, this->scale, this->fwork[4], 1.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_1024AC0); gSPDisplayList(gMasterDisp++, D_1024AC0);
break; break;
case 38: case 38:
animFrameData = Animation_GetFrameData(D_demo_800CA1F4[actor->iwork[4]], actor->iwork[5], sp144); animFrameData = Animation_GetFrameData(D_demo_800CA1F4[this->iwork[4]], this->iwork[5], sp144);
Math_SmoothStepToVec3fArray(sp144, actor->vwork, 1, animFrameData, actor->fwork[2], 100.0f, .0f); Math_SmoothStepToVec3fArray(sp144, this->vwork, 1, animFrameData, this->fwork[2], 100.0f, .0f);
RCP_SetupDL_30(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_30(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
gDPSetPrimColor(gMasterDisp++, 0, 0, 150, 255, 150, 255); gDPSetPrimColor(gMasterDisp++, 0, 0, 150, 255, 150, 255);
Animation_DrawSkeleton(1, D_SY_602D140, actor->vwork, 0, 0, actor, &gIdentityMatrix); Animation_DrawSkeleton(1, D_SY_602D140, this->vwork, 0, 0, this, &gIdentityMatrix);
if (actor->fwork[0] != 0.0f) { if (this->fwork[0] != 0.0f) {
RCP_SetupDL_49(); RCP_SetupDL_49();
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
gDPSetEnvColor(gMasterDisp++, 255, 32, 32, 255); gDPSetEnvColor(gMasterDisp++, 255, 32, 32, 255);
Matrix_Translate(gGfxMatrix, 10.0f, -5.0f, -40.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, 10.0f, -5.0f, -40.0f, MTXF_APPLY);
Matrix_RotateY(gGfxMatrix, (-actor->obj.rot.y) * M_DTOR, MTXF_APPLY); Matrix_RotateY(gGfxMatrix, (-this->obj.rot.y) * M_DTOR, MTXF_APPLY);
Graphics_SetScaleMtx(1.0f); Graphics_SetScaleMtx(1.0f);
Matrix_Scale(gGfxMatrix, actor->fwork[0], actor->fwork[0], actor->fwork[0], MTXF_APPLY); Matrix_Scale(gGfxMatrix, this->fwork[0], this->fwork[0], this->fwork[0], MTXF_APPLY);
camX = gPlayer[0].cam.eye.x - actor->obj.pos.x; camX = gPlayer[0].cam.eye.x - this->obj.pos.x;
camY = gPlayer[0].cam.eye.y - actor->obj.pos.y; camY = gPlayer[0].cam.eye.y - this->obj.pos.y;
camZ = gPlayer[0].cam.eye.z - (actor->obj.pos.z + gPathProgress); camZ = gPlayer[0].cam.eye.z - (this->obj.pos.z + gPathProgress);
y = -Math_Atan2F(camX, camZ); y = -Math_Atan2F(camX, camZ);
x = Math_Atan2F(camY, sqrtf(SQ(camZ) + SQ(camX))); x = Math_Atan2F(camY, sqrtf(SQ(camZ) + SQ(camX)));
@ -2783,29 +2795,29 @@ void ActorCutscene_Draw(Actor* actor) {
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_1024AC0); gSPDisplayList(gMasterDisp++, D_1024AC0);
Math_SmoothStepToF(&actor->fwork[0], 0.0f, 0.1f, 0.2f, 0.05f); Math_SmoothStepToF(&this->fwork[0], 0.0f, 0.1f, 0.2f, 0.05f);
} }
if (actor->fwork[6] != 0.0f) { if (this->fwork[6] != 0.0f) {
RCP_SetupDL_49(); RCP_SetupDL_49();
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
gDPSetEnvColor(gMasterDisp++, 255, 48, 0, 255); gDPSetEnvColor(gMasterDisp++, 255, 48, 0, 255);
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
Matrix_RotateY(gCalcMatrix, (actor->obj.rot.y - 90.0f) * M_DTOR, MTXF_NEW); Matrix_RotateY(gCalcMatrix, (this->obj.rot.y - 90.0f) * M_DTOR, MTXF_NEW);
sp2B8.x = 210.0f; sp2B8.x = 210.0f;
sp2B8.y = 0.0f; sp2B8.y = 0.0f;
sp2B8.z = 40.0f; sp2B8.z = 40.0f;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp2B8, &sp2AC); Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp2B8, &sp2AC);
Matrix_Translate(gGfxMatrix, actor->obj.pos.x + sp2AC.x, actor->obj.pos.y + sp2AC.y, Matrix_Translate(gGfxMatrix, this->obj.pos.x + sp2AC.x, this->obj.pos.y + sp2AC.y,
actor->obj.pos.z + sp2AC.z, MTXF_APPLY); this->obj.pos.z + sp2AC.z, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, actor->fwork[6], actor->fwork[6], actor->fwork[6], MTXF_APPLY); Matrix_Scale(gGfxMatrix, this->fwork[6], this->fwork[6], this->fwork[6], MTXF_APPLY);
camX = gPlayer[0].cam.eye.x - actor->obj.pos.x; camX = gPlayer[0].cam.eye.x - this->obj.pos.x;
camY = gPlayer[0].cam.eye.y - actor->obj.pos.y; camY = gPlayer[0].cam.eye.y - this->obj.pos.y;
camZ = gPlayer[0].cam.eye.z - (actor->obj.pos.z + gPathProgress); camZ = gPlayer[0].cam.eye.z - (this->obj.pos.z + gPathProgress);
y = -Math_Atan2F(camX, camZ); y = -Math_Atan2F(camX, camZ);
x = Math_Atan2F(camY, sqrtf(SQ(camZ) + SQ(camX))); x = Math_Atan2F(camY, sqrtf(SQ(camZ) + SQ(camX)));
@ -2815,7 +2827,7 @@ void ActorCutscene_Draw(Actor* actor) {
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_1024AC0); gSPDisplayList(gMasterDisp++, D_1024AC0);
Math_SmoothStepToF(&actor->fwork[6], 0.00f, 0.1f, 0.6f, 0); Math_SmoothStepToF(&this->fwork[6], 0.00f, 0.1f, 0.6f, 0);
} }
break; break;
@ -2824,7 +2836,7 @@ void ActorCutscene_Draw(Actor* actor) {
break; break;
case 41: case 41:
Aquas_801BE0F0(actor); Aquas_801BE0F0(this);
break; break;
case 42: case 42:
@ -2834,28 +2846,28 @@ void ActorCutscene_Draw(Actor* actor) {
case 43: case 43:
RCP_SetupDL_49(); RCP_SetupDL_49();
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, actor->iwork[0]); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, this->iwork[0]);
gDPSetEnvColor(gMasterDisp++, 255, 192, 128, 255); gDPSetEnvColor(gMasterDisp++, 255, 192, 128, 255);
Matrix_RotateY( Matrix_RotateY(
gGfxMatrix, gGfxMatrix,
Math_Atan2F(gPlayer[0].cam.eye.x - gPlayer[0].cam.at.x, gPlayer[0].cam.eye.z - gPlayer[0].cam.at.z), Math_Atan2F(gPlayer[0].cam.eye.x - gPlayer[0].cam.at.x, gPlayer[0].cam.eye.z - gPlayer[0].cam.at.z),
MTXF_APPLY); MTXF_APPLY);
Matrix_Scale(gGfxMatrix, actor->fwork[0], actor->fwork[0], actor->fwork[0], MTXF_APPLY); Matrix_Scale(gGfxMatrix, this->fwork[0], this->fwork[0], this->fwork[0], MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_1024AC0); gSPDisplayList(gMasterDisp++, D_1024AC0);
if (actor->iwork[0] != 0) { if (this->iwork[0] != 0) {
actor->iwork[0] -= 7; this->iwork[0] -= 7;
} }
actor->fwork[0] += 0.2f; this->fwork[0] += 0.2f;
break; break;
case 44: case 44:
Animation_GetFrameData(&D_AQ_6020A40, actor->iwork[0], actor->vwork); Animation_GetFrameData(&D_AQ_6020A40, this->iwork[0], this->vwork);
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK); gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
Animation_DrawSkeleton(1, D_AQ_6020C6C, actor->vwork, 0, 0, &actor->index, &gIdentityMatrix); Animation_DrawSkeleton(1, D_AQ_6020C6C, this->vwork, 0, 0, &this->index, &gIdentityMatrix);
gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK); gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK);
break; break;
@ -2882,9 +2894,9 @@ void Cutscene_DrawGreatFox(void) {
f32 sp9C[4]; f32 sp9C[4];
Gfx* var_fp; Gfx* var_fp;
(void) "Demo_Time=%d\n"; PRINTF("Demo_Time=%d\n");
(void) "Demo_Time=%d\n"; PRINTF("Demo_Time=%d\n");
(void) "d Enm->wrk0 %d\n"; PRINTF("d Enm->wrk0 %d\n");
if (gGameState == GSTATE_TITLE) { if (gGameState == GSTATE_TITLE) {
var_fp = D_TITLE_60320E0; var_fp = D_TITLE_60320E0;
@ -2933,6 +2945,7 @@ void Cutscene_DrawGreatFox(void) {
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 48); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 48);
gDPSetEnvColor(gMasterDisp++, 255, 255, 0, 48); gDPSetEnvColor(gMasterDisp++, 255, 255, 0, 48);
for (i = 0, var_s6_2 = D_demo_800CA0EC; i < 3; i++, var_s6_2++) { for (i = 0, var_s6_2 = D_demo_800CA0EC; i < 3; i++, var_s6_2++) {
sp9C[i] = D_demo_800CA190[gGameFrameCount % 2U]; sp9C[i] = D_demo_800CA190[gGameFrameCount % 2U];
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);

View File

@ -4,7 +4,7 @@
f32* D_edata_800CF964[] = { NULL }; // Likely a scrapped array of scenery shadow boxes f32* D_edata_800CF964[] = { NULL }; // Likely a scrapped array of scenery shadow boxes
void func_edata_800594F0(Scenery* scenery) { void Scenery48_Draw(Scenery* scenery) {
RCP_SetupDL_57(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_57(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
Matrix_RotateY(gGfxMatrix, M_PI, MTXF_APPLY); Matrix_RotateY(gGfxMatrix, M_PI, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
@ -12,7 +12,7 @@ void func_edata_800594F0(Scenery* scenery) {
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
} }
void func_edata_800595D0(Scenery* scenery) { void Scenery49_Draw(Scenery* scenery) {
RCP_SetupDL_57(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_57(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
Matrix_RotateY(gGfxMatrix, M_PI, MTXF_APPLY); Matrix_RotateY(gGfxMatrix, M_PI, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
@ -20,5 +20,5 @@ void func_edata_800595D0(Scenery* scenery) {
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
} }
void func_edata_800596B0(Actor* actor) { void Actor289_Draw(Actor* actor) {
} }

View File

@ -93,72 +93,72 @@ f32 gWarpZoneEvent93Hitbox[] = {
// clang-format off // clang-format off
ObjectInfo gObjectInfo[] = { ObjectInfo gObjectInfo[] = {
/* OBJ_SCENERY_0, */ {(void*) D_CO_6015F00, 0, (ObjectFunc) NULL, D_CO_603E3E0, 800.0f, 0, 0, 39, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_STONE_ARCH, */ {(void*) aCoStoneArchDL, 0, (ObjectFunc) NULL, aCoStoneArchHitbox, 800.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_1, */ {(void*) D_CO_602E9E0, 0, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_BUMP_1, */ {(void*) aCoBump1DL, 0, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_2, */ {(void*) D_CO_601BEC0, 0, (ObjectFunc) NULL, gNoHitbox, 3000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_BUMP_2, */ {(void*) aCoBump2DL, 0, (ObjectFunc) NULL, gNoHitbox, 3000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_3, */ {(void*) D_CO_602E7A0, 0, (ObjectFunc) NULL, gNoHitbox, 3000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_BUMP_3, */ {(void*) aCoBump3DL, 0, (ObjectFunc) NULL, gNoHitbox, 3000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_4, */ {(void*) D_CO_60244A0, 0, (ObjectFunc) NULL, gNoHitbox, 3000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_BUMP_4, */ {(void*) aCoBump4DL, 0, (ObjectFunc) NULL, gNoHitbox, 3000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_5, */ {(void*) D_CO_602E570, 0, (ObjectFunc) NULL, gNoHitbox, 3000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_BUMP_5, */ {(void*) aCoBump5DL, 0, (ObjectFunc) NULL, gNoHitbox, 3000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_6, */ {(void*) D_CO_60132B0, 0, (ObjectFunc) NULL, D_CO_603DCA4, 2500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_HIGHWAY_1, */ {(void*) aCoHighway1DL, 0, (ObjectFunc) NULL, aCoHighway1Hitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_7, */ {(void*) D_CO_602E080, 0, (ObjectFunc) NULL, D_CO_603DD40, 2500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_HIGHWAY_2, */ {(void*) aCoHighway2DL, 0, (ObjectFunc) NULL, aCoHighway2Hitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_8, */ {(void*) D_CO_60164F0, 0, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_HIGHWAY_3, */ {(void*) aCoHighway3DL, 0, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_9, */ {(void*) D_CO_6014500, 0, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_HIGHWAY_4, */ {(void*) aCoHighway4DL, 0, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_10, */ {(void*) D_CO_602D5F0, 0, (ObjectFunc) NULL, D_CO_603DDF0, 200.0f, 0, 0, 39, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_BUILDING_1, */ {(void*) aCoBuilding1DL, 0, (ObjectFunc) NULL, aCoBuilding1Hitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_11, */ {(void*) D_CO_601A7D0, 0, (ObjectFunc) NULL, D_CO_603DE8C, 200.0f, 0, 0, 39, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_BUILDING_2, */ {(void*) aCoBuilding2DL, 0, (ObjectFunc) NULL, aCoBuilding2Hitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_12, */ {(void*) D_CO_6014B50, 0, (ObjectFunc) NULL, D_CO_603DEF4, 500.0f, 0, 0, 39, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_BUILDING_3, */ {(void*) aCoBuilding3DL, 0, (ObjectFunc) NULL, aCoBuilding3Hitbox, 500.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_13, */ {(void*) D_CO_6016580, 0, (ObjectFunc) NULL, D_CO_603DF8C, 200.0f, 0, 0, 39, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_BUILDING_4, */ {(void*) aCoBuilding4DL, 0, (ObjectFunc) NULL, aCoBuilding4Hitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_14, */ {(void*) D_CO_601B560, 0, (ObjectFunc) func_enmy_80066EA8, D_CO_603DFDC, 200.0f, 0, 0, 39, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_BUILDING_5, */ {(void*) aCoBuilding5DL, 0, (ObjectFunc) SceneryRotateTowardsCamera, aCoBuilding5Hitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_15, */ {(void*) D_CO_60361F0, 0, (ObjectFunc) func_enmy_80066EA8, D_CO_603E014, 200.0f, 0, 0, 39, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_BUILDING_6, */ {(void*) aCoBuilding6DL, 0, (ObjectFunc) SceneryRotateTowardsCamera, aCoBuilding6Hitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_16, */ {(void*) D_CO_6018E80, 0, (ObjectFunc) func_enmy_80066EA8, D_CO_603E030, 200.0f, 0, 0, 39, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_BUILDING_7, */ {(void*) aCoBuilding7DL, 0, (ObjectFunc) SceneryRotateTowardsCamera, aCoBuilding7Hitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_17, */ {(void*) D_CO_6035F10, 0, (ObjectFunc) func_enmy_80066EA8, D_CO_603E09C, 200.0f, 0, 0, 39, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_BUILDING_8, */ {(void*) aCoBuilding8DL, 0, (ObjectFunc) SceneryRotateTowardsCamera, aCoBuilding8Hitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_18, */ {(void*) Corneria_8018753C, 1, (ObjectFunc) Corneria_80187530, D_CO_603E98C, 200.0f, 0, 0, 39, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_BUILDING_ON_FIRE, */ {(void*) Corneria_BuildingOnFire_Draw, 1, (ObjectFunc) Corneria_BuildingOnFire_Update, aCoBuildingOnFireHitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_19, */ {(void*) D_CO_60153B0, 0, (ObjectFunc) NULL, D_CO_603E118, 100.0f, 0, 0, 39, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_TOWER, */ {(void*) aCoTowerDL, 0, (ObjectFunc) NULL, aCoTowerHitbox, 100.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_20, */ {(void*) D_CO_601F5A0, 0, (ObjectFunc) NULL, D_CO_603E14C, 500.0f, 0, 0, 39, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_ARCH_1, */ {(void*) aCoArch1DL, 0, (ObjectFunc) NULL, aCoArch1Hitbox, 500.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_21, */ {(void*) D_CO_60137B0, 0, (ObjectFunc) NULL, D_CO_603E1B4, 400.0f, 0, 0, 39, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_ARCH_2, */ {(void*) aCoArch2DL, 0, (ObjectFunc) NULL, aCoArch2Hitbox, 400.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_22, */ {(void*) D_CO_6006A80, 0, (ObjectFunc) NULL, D_CO_603E21C, 400.0f, 0, 0, 39, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_ARCH_3, */ {(void*) aCoArch3DL, 0, (ObjectFunc) NULL, aCoArch3Hitbox, 400.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_23, */ {(void*) D_CO_6016270, 0, (ObjectFunc) NULL, D_CO_603E4A0, 200.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_RADAR, */ {(void*) aRadarDL, 0, (ObjectFunc) NULL, aCoRadarHitbox, 200.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_24, */ {(void*) D_CO_6010E00, 0, (ObjectFunc) NULL, D_CO_603E9EC, 2500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_HIGHWAY_5, */ {(void*) aCoHighway5DL, 0, (ObjectFunc) NULL, aCoHighway5Hitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_25, */ {(void*) D_CO_6014670, 0, (ObjectFunc) NULL, D_CO_603EA08, 2500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_HIGHWAY_6, */ {(void*) aCoHighway6DL, 0, (ObjectFunc) NULL, aCoHighway6Hitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_26, */ {(void*) D_CO_6010A50, 0, (ObjectFunc) NULL, D_CO_603EA74, 2500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_HIGHWAY_7, */ {(void*) aCoHighway7DL, 0, (ObjectFunc) NULL, aCoHighway7Hitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_27, */ {(void*) D_CO_60143E0, 0, (ObjectFunc) NULL, D_CO_603EAE0, 2500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_HIGHWAY_8, */ {(void*) aCoHighway8DL, 0, (ObjectFunc) NULL, aCoHighway8Hitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_28, */ {(void*) D_CO_6014A20, 0, (ObjectFunc) NULL, D_CO_603EB0C, 2500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_HIGHWAY_9, */ {(void*) aCoHighway9DL, 0, (ObjectFunc) NULL, aCoHighway9Hitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_SKULL, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_60064FC, 100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_TI_SKULL, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiSkullHitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_0, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_6006518, 100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_TI_RIB_0, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiRib0Hitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_1, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_6006564, 100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_TI_RIB_1, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiRib1Hitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_2, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_60065B0, 100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_TI_RIB_2, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiRib2Hitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_3, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_60065FC, 100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_TI_RIB_3, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiRib3Hitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_4, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_6006648, 100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_TI_RIB_4, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiRib4Hitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_5, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_6006694, 100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_TI_RIB_5, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiRib5Hitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_6, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_60066E0, 100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_TI_RIB_6, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiRib6Hitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_7, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_600672C, 100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_TI_RIB_7, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiRib7Hitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_8, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_6006778, 100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_TI_RIB_8, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiRib8Hitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_ME_TUNNEL, */ {(void*) MeteoTunnel_Draw, 1, (ObjectFunc) MeteoTunnel_Update, gNoHitbox, 6000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_ME_TUNNEL, */ {(void*) MeteoTunnel_Draw, 1, (ObjectFunc) MeteoTunnel_Update, gNoHitbox, 6000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_40, */ {(void*) func_edisplay_80059F68, 1, (ObjectFunc) func_enmy_80066D5C, D_CO_603E4A4, 1000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_BUILDING_9, */ {(void*) CoBuilding9_Draw, 1, (ObjectFunc) CoBuilding9_Update, aCoBuilding9Hitbox, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_41, */ {(void*) func_edisplay_80059FDC, 1, (ObjectFunc) func_enmy_80066EA8, D_CO_603E4DC, 300.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_BUILDING_10, */ {(void*) CoBuilding10_Draw, 1, (ObjectFunc) SceneryRotateTowardsCamera, aCoBuilding10Hitbox, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_42, */ {(void*) Scenery42_Draw, 1, (ObjectFunc) Scenery42_Update, D_CO_603E514, 1000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_IBEAM, */ {(void*) CoIBeam_Draw, 1, (ObjectFunc) CoIBeam_Update, aCoIBeamHitbox, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_43, */ {(void*) D_ZO_6024AC0, 0, (ObjectFunc) NULL, D_ZO_602B9EC, 200.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_ZO_ROCK_1, */ {(void*) aZoRock1DL, 0, (ObjectFunc) NULL, aZoRock1Hitbox, 200.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_44, */ {(void*) D_ZO_600F560, 0, (ObjectFunc) NULL, D_ZO_602BA20, 1500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_44, */ {(void*) D_ZO_600F560, 0, (ObjectFunc) NULL, D_ZO_602BA20, 1500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_45, */ {(void*) D_ZO_600EC90, 0, (ObjectFunc) NULL, D_ZO_602BAE4, 1500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_45, */ {(void*) D_ZO_600EC90, 0, (ObjectFunc) NULL, D_ZO_602BAE4, 1500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_46, */ {(void*) D_ZO_600E820, 0, (ObjectFunc) NULL, D_ZO_602BBD8, 1500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_46, */ {(void*) D_ZO_600E820, 0, (ObjectFunc) NULL, D_ZO_602BBD8, 1500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_47, */ {(void*) D_ZO_601FCB0, 0, (ObjectFunc) NULL, D_ZO_602BC54, 500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_47, */ {(void*) D_ZO_601FCB0, 0, (ObjectFunc) NULL, D_ZO_602BC54, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_48, */ {(void*) func_edata_800594F0, 1, (ObjectFunc) NULL, D_VE1_601B4E0, 2500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_48, */ {(void*) Scenery48_Draw, 1, (ObjectFunc) NULL, D_VE1_601B4E0, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_49, */ {(void*) func_edata_800595D0, 1, (ObjectFunc) NULL, D_VE1_601B4FC, 2500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_49, */ {(void*) Scenery49_Draw, 1, (ObjectFunc) NULL, D_VE1_601B4FC, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_50, */ {(void*) D_VE1_6007410, 0, (ObjectFunc) NULL, D_VE1_601B518, 2500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_50, */ {(void*) D_VE1_6007410, 0, (ObjectFunc) NULL, D_VE1_601B518, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_51, */ {(void*) D_VE1_6006F50, 0, (ObjectFunc) NULL, D_VE1_601B584, 2500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_51, */ {(void*) D_VE1_6006F50, 0, (ObjectFunc) NULL, D_VE1_601B584, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_52, */ {(void*) D_VE1_6005780, 0, (ObjectFunc) Venom1_80193540, D_VE1_601B5F4, 2500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_52, */ {(void*) D_VE1_6005780, 0, (ObjectFunc) Venom1_Scenery52_Update, D_VE1_601B5F4, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_53, */ {(void*) D_VE1_6003610, 0, (ObjectFunc) NULL, D_VE1_601B644, 2500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_53, */ {(void*) D_VE1_6003610, 0, (ObjectFunc) NULL, D_VE1_601B644, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_54, */ {(void*) D_CO_6000E00, 0, (ObjectFunc) Scenery54_Update, D_CO_603E0EC, 1000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_WATERFALL, */ {(void*) aCoWaterfallDL, 0, (ObjectFunc) CoWaterfall_Update, aCoWaterfallHitbox, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_55, */ {(void*) D_CO_6013B50, 0, (ObjectFunc) NULL, D_CO_603E88C, 1000.0f, 0, 0, 41, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_ROCKWALL, */ {(void*) aCoRockwallDL, 0, (ObjectFunc) NULL, aCoRockwallHitbox, 1000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_56, */ {(void*) Corneria_8018F31C, 2, (ObjectFunc) Corneria_8018F044, D_CO_603E8A8, 1000.0f, 0, 0, 39, 0, 0.0f, 0 }, /* OBJ_SCENERY_CO_DOORS, */ {(void*) Corneria_Doors_Draw, 2, (ObjectFunc) Corneria_Doors_Update, aCoDoorsHitbox, 1000.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_57, */ {(void*) Titania_8018F8B8, 1, (ObjectFunc) Titania_8018F4D8, D_TI_6006BF0, 800.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_57, */ {(void*) Titania_Scenery57_Draw, 1, (ObjectFunc) Titania_Scenery57_Update, D_TI_6006BF0, 800.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_58, */ {(void*) D_TI1_700BE00, 0, (ObjectFunc) NULL, D_TI_6006C44, 2000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_58, */ {(void*) D_TI1_700BE00, 0, (ObjectFunc) NULL, D_TI_6006C44, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_59, */ {(void*) D_MA_6024010, 0, (ObjectFunc) NULL, D_MA_603626C, 300.0f, 0, 0, 5, 0, 0.0f, 0 }, /* OBJ_SCENERY_59, */ {(void*) D_MA_6024010, 0, (ObjectFunc) NULL, D_MA_603626C, 300.0f, 0, 0, 5, 0, 0.0f, 0 },
/* OBJ_SCENERY_60, */ {(void*) D_MA_6027180, 0, (ObjectFunc) NULL, D_MA_6036288, 400.0f, 0, 0, 5, 0, 0.0f, 0 }, /* OBJ_SCENERY_60, */ {(void*) D_MA_6027180, 0, (ObjectFunc) NULL, D_MA_6036288, 400.0f, 0, 0, 5, 0, 0.0f, 0 },
/* OBJ_SCENERY_61, */ {(void*) Macbeth_801A2A78, 1, (ObjectFunc) NULL, D_MA_60362A4, 200.0f, 0, 0, 5, 0, 0.0f, 0 }, /* OBJ_SCENERY_61, */ {(void*) Macbeth_Scenery61_Draw, 1, (ObjectFunc) NULL, D_MA_60362A4, 200.0f, 0, 0, 5, 0, 0.0f, 0 },
/* OBJ_SCENERY_62, */ {(void*) D_MA_60270E0, 0, (ObjectFunc) NULL, gNoHitbox, 1500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_62, */ {(void*) D_MA_60270E0, 0, (ObjectFunc) NULL, gNoHitbox, 1500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_63, */ {(void*) D_MA_6013960, 0, (ObjectFunc) NULL, D_MA_6036894, 500.0f, 0, 0, 5, 0, 0.0f, 0 }, /* OBJ_SCENERY_63, */ {(void*) D_MA_6013960, 0, (ObjectFunc) NULL, D_MA_6036894, 500.0f, 0, 0, 5, 0, 0.0f, 0 },
/* OBJ_SCENERY_64, */ {(void*) D_MA_600AF40, 0, (ObjectFunc) NULL, D_MA_60368E0, 100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_64, */ {(void*) D_MA_600AF40, 0, (ObjectFunc) NULL, D_MA_60368E0, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_65, */ {(void*) Macbeth_801A6608, 1, (ObjectFunc) NULL, D_MA_6036724, 400.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_65, */ {(void*) Macbeth_Scenery65_Draw, 1, (ObjectFunc) NULL, D_MA_6036724, 400.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_66, */ {(void*) D_MA_601F1D0, 0, (ObjectFunc) NULL, D_MA_60362D8, 2500.0f, 0, 0, 5, 0, 0.0f, 0 }, /* OBJ_SCENERY_66, */ {(void*) D_MA_601F1D0, 0, (ObjectFunc) NULL, D_MA_60362D8, 2500.0f, 0, 0, 5, 0, 0.0f, 0 },
/* OBJ_SCENERY_67, */ {(void*) D_MA_60238F0, 0, (ObjectFunc) NULL, D_MA_6036328, 2000.0f, 0, 0, 5, 0, 0.0f, 0 }, /* OBJ_SCENERY_67, */ {(void*) D_MA_60238F0, 0, (ObjectFunc) NULL, D_MA_6036328, 2000.0f, 0, 0, 5, 0, 0.0f, 0 },
/* OBJ_SCENERY_68, */ {(void*) D_MA_601B7C0, 0, (ObjectFunc) NULL, D_MA_60362F4, 2500.0f, 0, 0, 5, 0, 0.0f, 0 }, /* OBJ_SCENERY_68, */ {(void*) D_MA_601B7C0, 0, (ObjectFunc) NULL, D_MA_60362F4, 2500.0f, 0, 0, 5, 0, 0.0f, 0 },
@ -170,42 +170,42 @@ ObjectInfo gObjectInfo[] = {
/* OBJ_SCENERY_74, */ {(void*) D_MA_602DC20, 0, (ObjectFunc) NULL, D_MA_603643C, 1000.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_74, */ {(void*) D_MA_602DC20, 0, (ObjectFunc) NULL, D_MA_603643C, 1000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_75, */ {(void*) D_MA_601B0D0, 0, (ObjectFunc) NULL, D_MA_6036760, 3000.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_75, */ {(void*) D_MA_601B0D0, 0, (ObjectFunc) NULL, D_MA_6036760, 3000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_76, */ {(void*) D_MA_60075D0, 0, (ObjectFunc) NULL, gNoHitbox, 1000.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_76, */ {(void*) D_MA_60075D0, 0, (ObjectFunc) NULL, gNoHitbox, 1000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_77, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, D_MA_6036344, 200.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_77, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, D_MA_6036344, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_78, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_78, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_79, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_79, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_80, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_80, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_81, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_81, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_82, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_82, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_83, */ {(void*) Macbeth_801A3240, 1, (ObjectFunc) Macbeth_801A2DD8, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_83, */ {(void*) Macbeth_Scenery83_Draw, 1, (ObjectFunc) Macbeth_Scenery83_Update, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_84, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_84, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_85, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_85, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_86, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_86, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_87, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_87, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_88, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_88, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_89, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_89, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_90, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_90, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_91, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_91, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_92, */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_92, */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_93, */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_93, */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_94, */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_94, */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_95, */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_95, */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_96, */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_96, */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_97, */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_97, */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_98, */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_98, */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_99, */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_99, */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_100 */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_100 */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_101 */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_101 */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_102 */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_102 */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_103 */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_103 */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_104 */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) Macbeth_801A0BD8, D_MA_6036594, 2500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_104 */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) Macbeth_Scenery104_Update, D_MA_6036594, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_105 */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, D_MA_6036204, 1300.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_105 */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, D_MA_6036204, 1300.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_106 */ {(void*) D_SY_60097E0, 0, (ObjectFunc) NULL, D_SY_6034478, 4000.0f, 0, 0, 41, 0, 0.0f, 0 }, /* OBJ_SCENERY_106 */ {(void*) D_SY_60097E0, 0, (ObjectFunc) NULL, D_SY_6034478, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_107 */ {(void*) D_SY_601D730, 0, (ObjectFunc) NULL, D_SY_603450C, 4000.0f, 0, 0, 41, 0, 0.0f, 0 }, /* OBJ_SCENERY_107 */ {(void*) D_SY_601D730, 0, (ObjectFunc) NULL, D_SY_603450C, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_108 */ {(void*) D_SY_60102C0, 0, (ObjectFunc) NULL, D_SY_6034588, 4000.0f, 0, 0, 41, 0, 0.0f, 0 }, /* OBJ_SCENERY_108 */ {(void*) D_SY_60102C0, 0, (ObjectFunc) NULL, D_SY_6034588, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_109 */ {(void*) D_SY_60036A0, 0, (ObjectFunc) SectorY_801A4E44, D_SY_6034664, 4000.0f, 0, 0, 41, 0, 0.0f, 0 }, /* OBJ_SCENERY_109 */ {(void*) D_SY_60036A0, 0, (ObjectFunc) SectorY_Scenery109_Update, D_SY_6034664, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_110 */ {(void*) D_SY_6005360, 0, (ObjectFunc) NULL, D_SY_6034770, 4000.0f, 0, 0, 41, 0, 0.0f, 0 }, /* OBJ_SCENERY_110 */ {(void*) D_SY_6005360, 0, (ObjectFunc) NULL, D_SY_6034770, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_111 */ {(void*) Scenery111_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SCENERY_111 */ {(void*) Scenery111_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_112 */ {(void*) D_SY_600F6C0, 0, (ObjectFunc) SectorY_801A52B8, D_SY_60347F0, 4000.0f, 0, 0, 41, 0, 0.0f, 0 }, /* OBJ_SCENERY_112 */ {(void*) D_SY_600F6C0, 0, (ObjectFunc) SectorY_Scenery112_Update, D_SY_60347F0, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_113 */ {(void*) D_SY_601B610, 0, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_113 */ {(void*) D_SY_601B610, 0, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_114 */ {(void*) D_SY_601C6A0, 0, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_114 */ {(void*) D_SY_601C6A0, 0, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_115 */ {(void*) D_SY_60188D0, 0, (ObjectFunc) NULL, D_SY_603486C, 2000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_115 */ {(void*) D_SY_60188D0, 0, (ObjectFunc) NULL, D_SY_603486C, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
@ -219,13 +219,13 @@ ObjectInfo gObjectInfo[] = {
/* OBJ_SCENERY_123 */ {(void*) D_AQ_60120F0, 0, (ObjectFunc) NULL, D_AQ_6030E4C, 2000.0f, 0, 0, 41, 0, 0.0f, 0 }, /* OBJ_SCENERY_123 */ {(void*) D_AQ_60120F0, 0, (ObjectFunc) NULL, D_AQ_6030E4C, 2000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_124 */ {(void*) D_AQ_600EEF0, 0, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 41, 0, 0.0f, 0 }, /* OBJ_SCENERY_124 */ {(void*) D_AQ_600EEF0, 0, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_125 */ {(void*) D_AQ_600BF80, 0, (ObjectFunc) NULL, D_AQ_6030E68, 2000.0f, 0, 0, 41, 0, 0.0f, 0 }, /* OBJ_SCENERY_125 */ {(void*) D_AQ_600BF80, 0, (ObjectFunc) NULL, D_AQ_6030E68, 2000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_126 */ {(void*) Aquas_801BE1FC, 1, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 41, 0, 0.0f, 0 }, /* OBJ_SCENERY_126 */ {(void*) Aquas_Scenery126_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_127 */ {(void*) D_VE1_9005C80, 0, (ObjectFunc) Venom1_801924A8, D_VE1_601B678, 1000.0f, 0, 0, 42, 0, 0.0f, 0 }, /* OBJ_SCENERY_127 */ {(void*) D_VE1_9005C80, 0, (ObjectFunc) Venom1_Scenery127_Update, D_VE1_601B678, 1000.0f, 0, 0, 42, 0, 0.0f, 0 },
/* OBJ_SCENERY_128 */ {(void*) D_VE1_9003F50, 0, (ObjectFunc) NULL, D_VE1_601B6C4, 3200.0f, 0, 0, 42, 0, 0.0f, 0 }, /* OBJ_SCENERY_128 */ {(void*) D_VE1_9003F50, 0, (ObjectFunc) NULL, D_VE1_601B6C4, 3200.0f, 0, 0, 42, 0, 0.0f, 0 },
/* OBJ_SCENERY_129 */ {(void*) D_VE1_900F060, 0, (ObjectFunc) NULL, D_VE1_601B710, 3200.0f, 0, 0, 42, 0, 0.0f, 0 }, /* OBJ_SCENERY_129 */ {(void*) D_VE1_900F060, 0, (ObjectFunc) NULL, D_VE1_601B710, 3200.0f, 0, 0, 42, 0, 0.0f, 0 },
/* OBJ_SCENERY_130 */ {(void*) D_VE1_900F1D0, 0, (ObjectFunc) NULL, D_VE1_601B75C, 3200.0f, 0, 0, 42, 0, 0.0f, 0 }, /* OBJ_SCENERY_130 */ {(void*) D_VE1_900F1D0, 0, (ObjectFunc) NULL, D_VE1_601B75C, 3200.0f, 0, 0, 42, 0, 0.0f, 0 },
/* OBJ_SCENERY_131 */ {(void*) Andross_801935D4, 1, (ObjectFunc) Andross_8019356C, D_ANDROSS_C038BD8, 500.0f, 0, 0, 41, 0, 0.0f, 0 }, /* OBJ_SCENERY_131 */ {(void*) Andross_Scenery131_Draw, 1, (ObjectFunc) Andross_Scenery131_Update, D_ANDROSS_C038BD8, 500.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_132 */ {(void*) Andross_8019350C, 1, (ObjectFunc) Andross_80193380, D_ANDROSS_C038A48, 500.0f, 0, 0, 41, 0, 0.0f, 0 }, /* OBJ_SCENERY_132 */ {(void*) Andross_Scenery132_Draw, 1, (ObjectFunc) Andross_Scenery132_Update, D_ANDROSS_C038A48, 500.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_133 */ {(void*) D_TR_60030F0, 0, (ObjectFunc) NULL, D_TR_6009CC4, 1000.0f, 0, 0, 20, 0, 0.0f, 0 }, /* OBJ_SCENERY_133 */ {(void*) D_TR_60030F0, 0, (ObjectFunc) NULL, D_TR_6009CC4, 1000.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_SCENERY_134 */ {(void*) D_VE2_6003000, 0, (ObjectFunc) NULL, D_ANDROSS_C038BA4, 0.0f, 0, 0, 41, 1, 0.0f, 0 }, /* OBJ_SCENERY_134 */ {(void*) D_VE2_6003000, 0, (ObjectFunc) NULL, D_ANDROSS_C038BA4, 0.0f, 0, 0, 41, 1, 0.0f, 0 },
/* OBJ_SCENERY_135 */ {(void*) D_VE2_6006890, 0, (ObjectFunc) NULL, D_ANDROSS_C038B40, 0.0f, 0, 0, 41, 1, 0.0f, 0 }, /* OBJ_SCENERY_135 */ {(void*) D_VE2_6006890, 0, (ObjectFunc) NULL, D_ANDROSS_C038B40, 0.0f, 0, 0, 41, 1, 0.0f, 0 },
@ -249,172 +249,172 @@ ObjectInfo gObjectInfo[] = {
/* OBJ_SCENERY_153 */ {(void*) D_BO_600B8B0, 0, (ObjectFunc) NULL, D_BO_6011C48, 0.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_153 */ {(void*) D_BO_600B8B0, 0, (ObjectFunc) NULL, D_BO_6011C48, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_154 */ {(void*) aKaFLBaseDL, 0, (ObjectFunc) NULL, D_KA_601115C, 0.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_154 */ {(void*) aKaFLBaseDL, 0, (ObjectFunc) NULL, D_KA_601115C, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_155 */ {(void*) NULL, 0, (ObjectFunc) NULL, gNoHitbox, 0.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_155 */ {(void*) NULL, 0, (ObjectFunc) NULL, gNoHitbox, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_156 */ {(void*) SectorY_80197CB8, 1, (ObjectFunc) NULL, D_SY_6034368, 0.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_156 */ {(void*) SectorY_Scenery156_Draw, 1, (ObjectFunc) NULL, D_SY_6034368, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_157 */ {(void*) D_SZ_6001DA0, 0, (ObjectFunc) NULL, D_SZ_600924C, 0.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_157 */ {(void*) aSzSpaceJunk3DL, 0, (ObjectFunc) NULL, D_SZ_600924C, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_158 */ {(void*) D_SZ_6001360, 0, (ObjectFunc) NULL, D_SZ_60092E8, 0.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_158 */ {(void*) aSzSpaceJunk1DL, 0, (ObjectFunc) NULL, D_SZ_60092E8, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_159 */ {(void*) D_VE2_6008370, 0, (ObjectFunc) NULL, D_VE2_601668C, 0.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_159 */ {(void*) D_VE2_6008370, 0, (ObjectFunc) NULL, D_VE2_601668C, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_160 */ {(void*) D_VE2_6010960, 0, (ObjectFunc) NULL, D_VE2_6016714, 0.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SCENERY_160 */ {(void*) D_VE2_6010960, 0, (ObjectFunc) NULL, D_VE2_6016714, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_CO_POLE */ {(void*) D_CO_602F7C0, 0, (ObjectFunc) Sprite_UpdateDoodad, D_CO_603E468, 100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SPRITE_CO_POLE */ {(void*) aCoPoleDL, 0, (ObjectFunc) Sprite_UpdateDoodad, aCoPoleHitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_CO_TREE */ {(void*) D_CO_601C9B0, 0, (ObjectFunc) Sprite_UpdateDoodad, D_CO_603E484, 100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SPRITE_CO_TREE */ {(void*) aCoTreeDL, 0, (ObjectFunc) Sprite_UpdateDoodad, aCoTreeHitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_FO_POLE */ {(void*) D_FO_600A420, 0, (ObjectFunc) Sprite_UpdateDoodad, D_FO_600FE9C, 100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SPRITE_FO_POLE */ {(void*) aFoPoleDL, 0, (ObjectFunc) Sprite_UpdateDoodad, aFoPoleHitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_FOG_SHADOW */ {(void*) FogShadow_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 1800.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SPRITE_FOG_SHADOW */ {(void*) FogShadow_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 1800.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_CO_RUIN1 */ {(void*) D_CO_602DCA0, 0, (ObjectFunc) NULL, gNoHitbox, -100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SPRITE_CO_RUIN1 */ {(void*) D_CO_602DCA0, 0, (ObjectFunc) NULL, gNoHitbox, -100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_CO_RUIN2 */ {(void*) D_CO_601F500, 0, (ObjectFunc) NULL, gNoHitbox, -100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SPRITE_CO_RUIN2 */ {(void*) D_CO_601F500, 0, (ObjectFunc) NULL, gNoHitbox, -100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_167 */ {(void*) Sprite167_Draw, 1, (ObjectFunc) Sprite167_Update, gNoHitbox, 500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SPRITE_167 */ {(void*) Sprite167_Draw, 1, (ObjectFunc) Sprite167_Update, gNoHitbox, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_168 */ {(void*) Sprite168_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_SPRITE_168 */ {(void*) Sprite168_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_TI_CACTUS */ {(void*) D_TI_60023B0, 0, (ObjectFunc) Titania_Cactus_Update, D_TI_60068BC, 100.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SPRITE_TI_CACTUS */ {(void*) aTiCactusDL, 0, (ObjectFunc) Titania_Cactus_Update, aTiCactusHitbox, 100.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SPRITE_CO_SMOKE */ {(void*) NULL, 1, (ObjectFunc) Corneria_801875A4, gNoHitbox, 0.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SPRITE_CO_SMOKE */ {(void*) NULL, 1, (ObjectFunc) Corneria_Smoke_Update, gNoHitbox, 0.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SPRITE_VE1_BOSS_TRIGGER1 */ {(void*) NULL, 1, (ObjectFunc) Venom1_BossTrigger1_Update, gNoHitbox, 0.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SPRITE_VE1_BOSS_TRIGGER1 */ {(void*) NULL, 1, (ObjectFunc) Venom1_BossTrigger1_Update, gNoHitbox, 0.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SPRITE_VE1_BOSS_TRIGGER2 */ {(void*) NULL, 1, (ObjectFunc) Venom1_BossTrigger2_Update, gNoHitbox, 0.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SPRITE_VE1_BOSS_TRIGGER2 */ {(void*) NULL, 1, (ObjectFunc) Venom1_BossTrigger2_Update, gNoHitbox, 0.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SPRITE_VE1_BOSS_TRIGGER3 */ {(void*) NULL, 1, (ObjectFunc) Venom1_BossTrigger3_Update, gNoHitbox, 0.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SPRITE_VE1_BOSS_TRIGGER3 */ {(void*) NULL, 1, (ObjectFunc) Venom1_BossTrigger3_Update, gNoHitbox, 0.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SPRITE_VE1_BOSS_TRIGGER4 */ {(void*) NULL, 1, (ObjectFunc) Venom1_BossTrigger4_Update, gNoHitbox, 0.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SPRITE_VE1_BOSS_TRIGGER4 */ {(void*) NULL, 1, (ObjectFunc) Venom1_BossTrigger4_Update, gNoHitbox, 0.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SPRITE_GFOX_TARGET */ {(void*) NULL, 1, (ObjectFunc) NULL, gNoHitbox, 1000.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_SPRITE_GFOX_TARGET */ {(void*) NULL, 1, (ObjectFunc) NULL, gNoHitbox, 1000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_176 */ {(void*) Corneria_8018BAAC, 2, (ObjectFunc) Corneria_8018AED0, D_CO_603E5D0, 500.0f, 0, 0, 39, 1, 200.0f, 1 }, /* OBJ_ACTOR_CO_GARUDA_1 */ {(void*) Corneria_CoGaruda1_Draw, 2, (ObjectFunc) Corneria_CoGaruda1_Update, CoGarudaHitbox, 500.0f, 0, 0, 39, 1, 200.0f, 1 },
/* OBJ_ACTOR_177 */ {(void*) Corneria_8018BBA4, 2, (ObjectFunc) Corneria_8018B15C, D_CO_603E5D0, 500.0f, 0, 0, 39, 1, 200.0f, 1 }, /* OBJ_ACTOR_CO_GARUDA_2 */ {(void*) Corneria_CoGaruda2_Draw, 2, (ObjectFunc) Corneria_CoGaruda2_Update, CoGarudaHitbox, 500.0f, 0, 0, 39, 1, 200.0f, 1 },
/* OBJ_ACTOR_178 */ {(void*) Corneria_8018BBF8, 2, (ObjectFunc) Corneria_8018B418, D_CO_603E5D0, 500.0f, 0, 0, 39, 1, 200.0f, 1 }, /* OBJ_ACTOR_CO_GARUDA_3 */ {(void*) Corneria_CoGaruda3_Draw, 2, (ObjectFunc) Corneria_CoGaruda3_Update, CoGarudaHitbox, 500.0f, 0, 0, 39, 1, 200.0f, 1 },
/* OBJ_ACTOR_179 */ {(void*) Corneria_8018BD7C, 2, (ObjectFunc) Corneria_8018B58C, D_CO_603E604, 500.0f, 0, 0, 39, 1, 0.0f, 1 }, /* OBJ_ACTOR_CO_GARUDA_DESTROY */ {(void*) Corneria_CoGarudaDestroy_Draw, 2, (ObjectFunc) Corneria_CoGarudaDestroy_Update, aCoGarudaDestroyHitbox, 500.0f, 0, 0, 39, 1, 0.0f, 1 },
/* OBJ_ACTOR_180 */ {(void*) func_edisplay_8005B6A4, 1, (ObjectFunc) func_enmy_80066A80, gNoHitbox, 1000.0f, 0, 0, 39, 0, 0.0f, 1 }, /* OBJ_ACTOR_180 */ {(void*) Actor180_Draw, 1, (ObjectFunc) Actor180_Update, gNoHitbox, 1000.0f, 0, 0, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_181 */ {(void*) D_ME_6018C00, 0, (ObjectFunc) Meteo_8018756C, D_ME_602F6EC, 200.0f, 0, 0, 39, 0, 1.0f, 1 }, /* OBJ_ACTOR_181 */ {(void*) D_ME_6018C00, 0, (ObjectFunc) Meteo_Actor181_Update, D_ME_602F6EC, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_182 */ {(void*) func_edisplay_8005B71C, 1, (ObjectFunc) Meteo_80187650, D_ME_602F708, 100.0f, 0, 1, 39, 0, 1.0f, 1 }, /* OBJ_ACTOR_182 */ {(void*) Actor182_Draw, 1, (ObjectFunc) Meteo_Actor182_Update, D_ME_602F708, 100.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_183 */ {(void*) Meteo_8018DA6C, 1, (ObjectFunc) Meteo_8018D9EC, gNoHitbox, 100.0f, 0, 1, 39, 0, 0.0f, 1 }, /* OBJ_ACTOR_183 */ {(void*) Meteo_Actor183_Draw, 1, (ObjectFunc) Meteo_ActorDoodad_Update, gNoHitbox, 100.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_184 */ {(void*) Meteo_8018DAEC, 1, (ObjectFunc) Meteo_8018D9EC, gNoHitbox, 100.0f, 0, 1, 39, 0, 0.0f, 1 }, /* OBJ_ACTOR_184 */ {(void*) Meteo_Actor184_Draw, 1, (ObjectFunc) Meteo_ActorDoodad_Update, gNoHitbox, 100.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_185 */ {(void*) Meteo_8018DB6C, 1, (ObjectFunc) Meteo_8018D9EC, gNoHitbox, 100.0f, 0, 1, 39, 0, 0.0f, 1 }, /* OBJ_ACTOR_185 */ {(void*) Meteo_Actor185_Draw, 1, (ObjectFunc) Meteo_ActorDoodad_Update, gNoHitbox, 100.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_186 */ {(void*) func_edisplay_8005B7CC, 1, (ObjectFunc) Meteo_8018795C, D_ME_602F724, 200.0f, 0, 1, 39, 0, 1.0f, 1 }, /* OBJ_ACTOR_186 */ {(void*) Actor186_Draw, 1, (ObjectFunc) Meteo_Actor186_Update, D_ME_602F724, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_187 */ {(void*) D_ME_6018450, 0, (ObjectFunc) Meteo_801877C4, D_ME_602F740, 200.0f, 0, 1, 39, 0, 1.0f, 1 }, /* OBJ_ACTOR_187 */ {(void*) D_ME_6018450, 0, (ObjectFunc) Meteo_Actor187_Update, D_ME_602F740, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_188 */ {(void*) Aquas_801BEC74, 1, (ObjectFunc) Aquas_801BEC68, D_AQ_6030BE0, 200.0f, 0, 1, 39, 0, 1.0f, 1 }, /* OBJ_ACTOR_188 */ {(void*) Aquas_Actor188_Draw, 1, (ObjectFunc) Aquas_Actor188_Update, D_AQ_6030BE0, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_DEBRIS */ {(void*) ActorDebris_Draw, 1, (ObjectFunc) ActorDebris_Update, gNoHitbox, 0.0f, 0, 0, 39, 0, 0.0f, 0 }, /* OBJ_ACTOR_DEBRIS */ {(void*) ActorDebris_Draw, 1, (ObjectFunc) ActorDebris_Update, gNoHitbox, 0.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_190 */ {(void*) func_edisplay_8005B848, 1, (ObjectFunc) func_enmy_800656D4, gActor190_191Hitbox, 100.0f, 0, 1, 39, 0, 1.0f, 0 }, /* OBJ_MISSILE_SEEK_TEAM */ {(void*) Actor190_191_Draw, 1, (ObjectFunc) Actors190_191_Update, gActor190_191Hitbox, 100.0f, 0, 1, 39, 0, 1.0f, 0 },
/* OBJ_ACTOR_191 */ {(void*) func_edisplay_8005B848, 1, (ObjectFunc) func_enmy_800656D4, gActor190_191Hitbox, 100.0f, 0, 1, 39, 0, 1.0f, 0 }, /* OBJ_MISSILE_SEEK_PLAYER */ {(void*) Actor190_191_Draw, 1, (ObjectFunc) Actors190_191_Update, gActor190_191Hitbox, 100.0f, 0, 1, 39, 0, 1.0f, 0 },
/* OBJ_ACTOR_192 */ {(void*) func_edisplay_8005B9A4, 1, (ObjectFunc) func_enmy_8006654C, D_CO_603E54C, 200.0f, 0, 1, 39, 0, 50.0f, 1 }, /* OBJ_ACTOR_192 */ {(void*) Actor192_Draw, 1, (ObjectFunc) Actor192_Update, D_CO_603E54C, 200.0f, 0, 1, 39, 0, 50.0f, 1 },
/* OBJ_ACTOR_193 */ {(void*) func_edisplay_8005BA30, 1, (ObjectFunc) func_enmy_800669A0, D_CO_603E598, 100.0f, 0, 1, 39, 0, 0.0f, 0 }, /* OBJ_ACTOR_193 */ {(void*) Actor193_Draw, 1, (ObjectFunc) Actor193_Update, D_CO_603E598, 100.0f, 0, 1, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_194 */ {(void*) Actor194_Draw, 1, (ObjectFunc) Actor194_Update, gActor194Hitbox, 200.0f, 0, 1, 39, 0, 0.0f, 1 }, /* OBJ_ACTOR_194 */ {(void*) Actor194_Draw, 1, (ObjectFunc) Actor194_Update, gActor194Hitbox, 200.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_CUTSCENE */ {(void*) ActorCutscene_Draw, 1, (ObjectFunc) ActorCutscene_Update, gNoHitbox, 20000.0f, 0, 1, 39, 0, 0.0f, 0 }, /* OBJ_ACTOR_CUTSCENE */ {(void*) ActorCutscene_Draw, 1, (ObjectFunc) ActorCutscene_Update, gNoHitbox, 20000.0f, 0, 1, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_196 */ {(void*) Actor196_Draw, 1, (ObjectFunc) Actor196_Update, D_CO_603E5B4, 200.0f, 0, 1, 39, 0, 1.0f, 1 }, /* OBJ_ACTOR_196 */ {(void*) Actor196_Draw, 1, (ObjectFunc) Actor196_Update, D_CO_603E5B4, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_ALLRANGE */ {(void*) ActorAllRange_Draw, 1, (ObjectFunc) ActorAllRange_Update, gActorAllRangeHItbox, 20000.0f, 0, 1, 39, 1, 1.0f, 1 }, /* OBJ_ACTOR_ALLRANGE */ {(void*) ActorAllRange_Draw, 1, (ObjectFunc) ActorAllRange_Update, gActorAllRangeHItbox, 20000.0f, 0, 1, 39, 1, 1.0f, 1 },
/* OBJ_ACTOR_TEAM_BOSS */ {(void*) ActorAllRange_Draw, 1, (ObjectFunc) ActorTeamBoss_Update, gTeamHitbox, 20000.0f, 0, 0, 39, 1, 0.0f, 0 }, /* OBJ_ACTOR_TEAM_BOSS */ {(void*) ActorAllRange_Draw, 1, (ObjectFunc) ActorTeamBoss_Update, gTeamHitbox, 20000.0f, 0, 0, 39, 1, 0.0f, 0 },
/* OBJ_ACTOR_199 */ {(void*) Andross_80188448, 1, (ObjectFunc) Andross_801880E4, gNoHitbox, 20000.0f, 0, 0, 39, 1, 0.0f, 0 }, /* OBJ_ACTOR_199 */ {(void*) Andross_Actor199_Draw, 1, (ObjectFunc) Andross_Actor199_Update, gNoHitbox, 20000.0f, 0, 0, 39, 1, 0.0f, 0 },
/* OBJ_ACTOR_EVENT */ {(void*) ActorEvent_Draw, 1, (ObjectFunc) ActorEvent_Update, gNoHitbox, 2000.0f, 0, 1, 39, 0, 0.0f, 1 }, /* OBJ_ACTOR_EVENT */ {(void*) ActorEvent_Draw, 1, (ObjectFunc) ActorEvent_Update, gNoHitbox, 2000.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_201 */ {(void*) Actor201_Draw, 1, (ObjectFunc) Actor201_Update, D_ME_602F684, 100.0f, 0, 1, 39, 0, 1.0f, 1 }, /* OBJ_ACTOR_201 */ {(void*) Actor201_Draw, 1, (ObjectFunc) Actor201_Update, D_ME_602F684, 100.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_202 */ {(void*) Actor202_Draw, 1, (ObjectFunc) Actor202_Update, D_ME_602F6A0, 100.0f, 0, 1, 39, 0, 180.0f, 1 }, /* OBJ_ACTOR_202 */ {(void*) Actor202_Draw, 1, (ObjectFunc) Actor202_Update, D_ME_602F6A0, 100.0f, 0, 1, 39, 0, 180.0f, 1 },
/* OBJ_ACTOR_SLIPPY_SX */ {(void*) SectorX_8018F884, 1, (ObjectFunc) SectorX_8018F330, gNoHitbox, 1000.0f, 0, 0, 39, 0, 0.0f, 0 }, /* OBJ_ACTOR_SLIPPY_SX */ {(void*) SectorX_Slippy_Draw, 1, (ObjectFunc) SectorX_Slippy_Update, gNoHitbox, 1000.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_204 */ {(void*) SectorY_Actor204_Draw, 1, (ObjectFunc) SectorY_Actor204_Update, D_SY_603405C, 1000.0f, 0, 0, 39, 0, 1.0f, 1 }, /* OBJ_ACTOR_204 */ {(void*) SectorY_Actor204_Draw, 1, (ObjectFunc) SectorY_Actor204_Update, D_SY_603405C, 1000.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_205 */ {(void*) Macbeth_801A12C4, 1, (ObjectFunc) Macbeth_8019C778, D_MA_60359C8, 20000.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_205 */ {(void*) Macbeth_ActorDoodad_Draw, 1, (ObjectFunc) Macbeth_Actor205_Update, D_MA_60359C8, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_206 */ {(void*) Macbeth_801A12C4, 1, (ObjectFunc) Macbeth_801AC438, D_MA_6035A48, 20000.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_206 */ {(void*) Macbeth_ActorDoodad_Draw, 1, (ObjectFunc) Macbeth_Actor206_Update, D_MA_6035A48, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_207 */ {(void*) Macbeth_801AC294, 2, (ObjectFunc) Macbeth_801A7E7C, D_MA_603677C, 20000.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_207 */ {(void*) Macbeth_Actor207_Draw, 2, (ObjectFunc) Macbeth_Actor207_Update, D_MA_603677C, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_208 */ {(void*) Macbeth_801A12C4, 1, (ObjectFunc) Macbeth_8019EA60, D_MA_6035A14, 20000.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_208 */ {(void*) Macbeth_ActorDoodad_Draw, 1, (ObjectFunc) Macbeth_Actor208_Update, D_MA_6035A14, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_209 */ {(void*) Macbeth_801A12C4, 1, (ObjectFunc) Macbeth_8019D700, D_MA_6035AE0, 20000.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_209 */ {(void*) Macbeth_ActorDoodad_Draw, 1, (ObjectFunc) Macbeth_Actor209_Update, D_MA_6035AE0, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_210 */ {(void*) Macbeth_801A12C4, 1, (ObjectFunc) Macbeth_8019CE88, D_MA_6035D9C, 20000.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_210 */ {(void*) Macbeth_ActorDoodad_Draw, 1, (ObjectFunc) Macbeth_Actor210_Update, D_MA_6035D9C, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_211 */ {(void*) Macbeth_801A12C4, 1, (ObjectFunc) Macbeth_8019E410, D_MA_6035E04, 20000.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_211 */ {(void*) Macbeth_ActorDoodad_Draw, 1, (ObjectFunc) Macbeth_Actor211_Update, D_MA_6035E04, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_212 */ {(void*) Macbeth_801A12C4, 1, (ObjectFunc) Macbeth_8019FF9C, D_MA_60360C0, 20000.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_212 */ {(void*) Macbeth_ActorDoodad_Draw, 1, (ObjectFunc) Macbeth_Actor212_Update, D_MA_60360C0, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_213 */ {(void*) Macbeth_801A12C4, 1, (ObjectFunc) Macbeth_8019EE68, D_MA_6036154, 20000.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_213 */ {(void*) Macbeth_ActorDoodad_Draw, 1, (ObjectFunc) Macbeth_Actor213_Update, D_MA_6036154, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_214 */ {(void*) Macbeth_801A43BC, 1, (ObjectFunc) Macbeth_801A3E98, D_MA_6036458, 300.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_214 */ {(void*) Macbeth_Actor214_Draw, 1, (ObjectFunc) Macbeth_Actor214_Update, D_MA_6036458, 300.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_215 */ {(void*) Macbeth_801A4A64, 1, (ObjectFunc) Macbeth_801A46A0, D_MA_60364C0, 300.0f, 0, 1, 40, 1, 0.0f, 1 }, /* OBJ_ACTOR_215 */ {(void*) Macbeth_Actor215_Draw, 1, (ObjectFunc) Macbeth_Actor215_Update, D_MA_60364C0, 300.0f, 0, 1, 40, 1, 0.0f, 1 },
/* OBJ_ACTOR_216 */ {(void*) Macbeth_801A5F90, 1, (ObjectFunc) Macbeth_801A5E54, D_MA_60366EC, 200.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_216 */ {(void*) Macbeth_Actor216_Draw, 1, (ObjectFunc) Macbeth_Actor216_Update, D_MA_60366EC, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_217 */ {(void*) Macbeth_801A6100, 1, (ObjectFunc) Macbeth_801A5FD0, D_MA_6036708, 200.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_217 */ {(void*) Macbeth_Actor217_Draw, 1, (ObjectFunc) Macbeth_Actor217_Update, D_MA_6036708, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_218 */ {(void*) Macbeth_801A6540, 1, (ObjectFunc) Macbeth_801A6144, D_MA_6036728, 200.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_218 */ {(void*) Macbeth_Actor218_Draw, 1, (ObjectFunc) Macbeth_Actor218_Update, D_MA_6036728, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_219 */ {(void*) Macbeth_801A68EC, 1, (ObjectFunc) Macbeth_801A67C8, D_MA_6036744, 300.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_219 */ {(void*) Macbeth_Actor219_Draw, 1, (ObjectFunc) Macbeth_Actor219_Update, D_MA_6036744, 300.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_220 */ {(void*) Macbeth_801ADAC8, 1, (ObjectFunc) Macbeth_801AD6F0, D_MA_6036930, 200.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_220 */ {(void*) Macbeth_Actor220_Draw, 1, (ObjectFunc) Macbeth_Actor220_Update, D_MA_6036930, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_221 */ {(void*) Macbeth_801AE2C0, 1, (ObjectFunc) Macbeth_801ADD68, D_MA_603694C, 300.0f, 0, 0, 40, 1, 1.0f, 0 }, /* OBJ_ACTOR_221 */ {(void*) Macbeth_Actor221_Draw, 1, (ObjectFunc) Macbeth_Actor221_Update, D_MA_603694C, 300.0f, 0, 0, 40, 1, 1.0f, 0 },
/* OBJ_ACTOR_222 */ {(void*) Macbeth_801AEEFC, 1, (ObjectFunc) Macbeth_801AEC04, D_MA_6036968, 300.0f, 0, 0, 40, 1, 1.0f, 0 }, /* OBJ_ACTOR_222 */ {(void*) Macbeth_Actor222_Draw, 1, (ObjectFunc) Macbeth_Actor222_Update, D_MA_6036968, 300.0f, 0, 0, 40, 1, 1.0f, 0 },
/* OBJ_ACTOR_223 */ {(void*) Macbeth_801A54E8, 1, (ObjectFunc) Macbeth_801A4B24, D_MA_60364DC, 300.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_223 */ {(void*) Macbeth_Actor223_Draw, 1, (ObjectFunc) Macbeth_Actor223_Update, D_MA_60364DC, 300.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_224 */ {(void*) NULL, 1, (ObjectFunc) Titania_80189194, gNoHitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 }, /* OBJ_ACTOR_224 */ {(void*) NULL, 1, (ObjectFunc) Titania_Actor224_Update, gNoHitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_225 */ {(void*) D_TI1_700AB70, 0, (ObjectFunc) Titania_8018AB44, D_TI_60064AC, 50.0f, 0, 0, 39, 1, 1.0f, 0 }, /* OBJ_ACTOR_225 */ {(void*) D_TI1_700AB70, 0, (ObjectFunc) Titania_Actor225_Update, D_TI_60064AC, 50.0f, 0, 0, 39, 1, 1.0f, 0 },
/* OBJ_ACTOR_226 */ {(void*) Titania_80189AFC, 1, (ObjectFunc) Titania_801895B8, D_TI_60064C8, 300.0f, 0, 0, 39, 1, 70.0f, 1 }, /* OBJ_ACTOR_226 */ {(void*) Titania_Actor226_Draw, 1, (ObjectFunc) Titania_Actor226_Update, D_TI_60064C8, 300.0f, 0, 0, 39, 1, 70.0f, 1 },
/* OBJ_ACTOR_227 */ {(void*) Titania_8018E5B4, 1, (ObjectFunc) Titania_8018E54C, D_TI_60067C4, 0.0f, 0, 0, 39, 1, 0.0f, 0 }, /* OBJ_ACTOR_227 */ {(void*) Titania_Actor227_Draw, 1, (ObjectFunc) Titania_Actor227_Update, D_TI_60067C4, 0.0f, 0, 0, 39, 1, 0.0f, 0 },
/* OBJ_ACTOR_228 */ {(void*) Titania_8018EF14, 1, (ObjectFunc) Titania_8018E5F8, D_TI_6006808, 0.0f, 0, 0, 39, 1, 1.0f, 1 }, /* OBJ_ACTOR_228 */ {(void*) Titania_Actor228_Draw, 1, (ObjectFunc) Titania_Actor228_Update, D_TI_6006808, 0.0f, 0, 0, 39, 1, 1.0f, 1 },
/* OBJ_ACTOR_229 */ {(void*) Titania_8018E2D8, 1, (ObjectFunc) Titania_8018C8A8, D_TI_6006A3C, 1000.0f, 0, 0, 20, 1, 0.0f, 1 }, /* OBJ_ACTOR_229 */ {(void*) Titania_Actor229_Draw, 1, (ObjectFunc) Titania_Actor229_Update, D_TI_6006A3C, 1000.0f, 0, 0, 20, 1, 0.0f, 1 },
/* OBJ_ACTOR_230 */ {(void*) Titania_8018AABC, 1, (ObjectFunc) Titania_8018A544, D_TI_600683C, 0.0f, 0, 1, 39, 1, 0.0f, 1 }, /* OBJ_ACTOR_230 */ {(void*) Titania_Actor230_Draw, 1, (ObjectFunc) Titania_Actor230_Update, D_TI_600683C, 0.0f, 0, 1, 39, 1, 0.0f, 1 },
/* OBJ_ACTOR_231 */ {(void*) Titania_8018BE84, 1, (ObjectFunc) Titania_8018B9D0, D_TI_6006858, 0.0f, 0, 0, 39, 1, 0.0f, 1 }, /* OBJ_ACTOR_231 */ {(void*) Titania_Actor231_Draw, 1, (ObjectFunc) Titania_Actor231_Update, D_TI_6006858, 0.0f, 0, 0, 39, 1, 0.0f, 1 },
/* OBJ_ACTOR_232 */ {(void*) Titania_8018B6AC, 1, (ObjectFunc) Titania_8018B268, D_TI_6006890, 0.0f, 0, 0, 39, 1, 20.0f, 1 }, /* OBJ_ACTOR_232 */ {(void*) Titania_Actor232_Draw, 1, (ObjectFunc) Titania_Actor232_Update, D_TI_6006890, 0.0f, 0, 0, 39, 1, 20.0f, 1 },
/* OBJ_ACTOR_233 */ {(void*) Titania_8018A1C0, 1, (ObjectFunc) Titania_80189CC8, D_TI_60068F0, 200.0f, 0, 0, 39, 1, 1.0f, 1 }, /* OBJ_ACTOR_233 */ {(void*) Titania_Actor233_Draw, 1, (ObjectFunc) Titania_Actor233_Update, D_TI_60068F0, 200.0f, 0, 0, 39, 1, 1.0f, 1 },
/* OBJ_ACTOR_234 */ {(void*) Actor234_Draw, 1, (ObjectFunc) Actor234_Update, gNoHitbox, 2000.0f, 0, 0, 39, 0, 0.0f, 5 }, /* OBJ_ACTOR_234 */ {(void*) Actor234_Draw, 1, (ObjectFunc) Actor234_Update, gNoHitbox, 2000.0f, 0, 0, 39, 0, 0.0f, 5 },
/* OBJ_ACTOR_235 */ {(void*) Zoness_80190430, 2, (ObjectFunc) Zoness_801904CC, D_ZO_602C294, 1000.0f, 0, 1, 40, 0, 1.0f, 1 }, /* OBJ_ACTOR_235 */ {(void*) Zoness_Actor235_Draw, 2, (ObjectFunc) Zoness_Actor235_Update, D_ZO_602C294, 1000.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_236 */ {(void*) Zoness_80190F08, 1, (ObjectFunc) Zoness_80190A00, D_ZO_602BC58, 5000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_ACTOR_236 */ {(void*) Zoness_Actor236_Draw, 1, (ObjectFunc) Zoness_Actor236_Update, D_ZO_602BC58, 5000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_237 */ {(void*) Actor237_Draw, 1, (ObjectFunc) Actor237_Update, gNoHitbox, 200.0f, 0, 0, 40, 0, 0.0f, 2 }, /* OBJ_ACTOR_237 */ {(void*) Actor237_Draw, 1, (ObjectFunc) Actor237_Update, gNoHitbox, 200.0f, 0, 0, 40, 0, 0.0f, 2 },
/* OBJ_ACTOR_238 */ {(void*) Zoness_801914C4, 2, (ObjectFunc) Zoness_80191010, gCubeHitbox100, 200.0f, 0, 1, 40, 0, 1.0f, 1 }, /* OBJ_ACTOR_238 */ {(void*) Zoness_Actor238_Draw, 2, (ObjectFunc) Zoness_Actor238_Update, gCubeHitbox100, 200.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_239 */ {(void*) NULL, 1, (ObjectFunc) NULL, gNoHitbox, 1000.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_ACTOR_239 */ {(void*) NULL, 1, (ObjectFunc) NULL, gNoHitbox, 1000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_240 */ {(void*) Zoness_80191B4C, 1, (ObjectFunc) Zoness_80191680, gCubeHitbox100, 1500.0f, 0, 1, 40, 0, 20.0f, 0 }, /* OBJ_ACTOR_240 */ {(void*) Zoness_Actor240_Draw, 1, (ObjectFunc) Zoness_Actor240_Update, gCubeHitbox100, 1500.0f, 0, 1, 40, 0, 20.0f, 0 },
/* OBJ_ACTOR_241 */ {(void*) Zoness_80191DB0, 1, (ObjectFunc) Zoness_80191BC4, gActor241Hitbox, 1500.0f, 0, 1, 40, 0, 0.0f, 0 }, /* OBJ_ACTOR_241 */ {(void*) Zoness_Actor241_Draw, 1, (ObjectFunc) Zoness_Actor241_Update, gActor241Hitbox, 1500.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_242 */ {(void*) Zoness_80191FFC, 2, (ObjectFunc) Zoness_80192094, D_ZO_602BE3C, 500.0f, 0, 0, 40, 0, 1.0f, 0 }, /* OBJ_ACTOR_242 */ {(void*) Zoness_Actor242_Draw, 2, (ObjectFunc) Zoness_Actor242_Update, D_ZO_602BE3C, 500.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_ACTOR_243 */ {(void*) Zoness_80192C18, 2, (ObjectFunc) Zoness_80192834, gCubeHitbox100, 0.0f, 0, 1, 40, 0, 1.0f, 1 }, /* OBJ_ACTOR_243 */ {(void*) Zoness_Actor243_Draw, 2, (ObjectFunc) Zoness_Actor243_Update, gCubeHitbox100, 0.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_244 */ {(void*) Zoness_80193240, 2, (ObjectFunc) Zoness_80192E64, D_ZO_602BE58, 2000.0f, 0, 0, 40, 0, 50.0f, 0 }, /* OBJ_ACTOR_244 */ {(void*) Zoness_Actor244_Draw, 2, (ObjectFunc) Zoness_Actor244_Update, D_ZO_602BE58, 2000.0f, 0, 0, 40, 0, 50.0f, 0 },
/* OBJ_ACTOR_245 */ {(void*) Zoness_8019983C, 1, (ObjectFunc) Zoness_8019969C, gCubeHitbox100, 200.0f, 0, 0, 40, 0, 1.0f, 0 }, /* OBJ_ACTOR_245 */ {(void*) Zoness_Actor245_Draw, 1, (ObjectFunc) Zoness_Actor245_Update, gCubeHitbox100, 200.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_ACTOR_246 */ {(void*) Zoness_80199E24, 1, (ObjectFunc) Zoness_80199A28, gCubeHitbox100, 2000.0f, 0, 0, 40, 0, 1.0f, 0 }, /* OBJ_ACTOR_246 */ {(void*) Zoness_Actor246_Draw, 1, (ObjectFunc) Zoness_Actor246_Update, gCubeHitbox100, 2000.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_ACTOR_247 */ {(void*) Zoness_8019D3C4, 1, (ObjectFunc) Zoness_8019D15C, D_ZO_602BFC4, 500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_ACTOR_247 */ {(void*) Zoness_Actor247_Draw, 1, (ObjectFunc) Zoness_Actor247_Update, D_ZO_602BFC4, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_248 */ {(void*) Zoness_8019A1FC, 1, (ObjectFunc) Zoness_80199F10, gCubeHitbox150, 2000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_ACTOR_248 */ {(void*) Zoness_Actor248_Draw, 1, (ObjectFunc) Zoness_Actor248_Update, gCubeHitbox150, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_249 */ {(void*) Zoness_8019ACCC, 1, (ObjectFunc) Zoness_8019A5D4, gCubeHitbox200, 5000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_ACTOR_249 */ {(void*) Zoness_Actor249_Draw, 1, (ObjectFunc) Zoness_Actor249_Update, gCubeHitbox200, 5000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_250 */ {(void*) Zoness_8019B7DC, 1, (ObjectFunc) Zoness_8019B548, D_ZO_602C1D4, 10000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_ACTOR_250 */ {(void*) Zoness_Actor250_Draw, 1, (ObjectFunc) Zoness_Actor250_Update, D_ZO_602C1D4, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_251 */ {(void*) Zoness_8019BDE0, 2, (ObjectFunc) Zoness_8019B854, D_ZO_602C218, 1000.0f, 0, 0, 40, 0, 1.0f, 1 }, /* OBJ_ACTOR_251 */ {(void*) Zoness_Actor251_Draw, 2, (ObjectFunc) Zoness_Actor251_Update, D_ZO_602C218, 1000.0f, 0, 0, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_252 */ {(void*) Zoness_8019C1CC, 1, (ObjectFunc) Zoness_8019BE48, D_ZO_602C234, 200.0f, 0, 0, 40, 0, 80.0f, 1 }, /* OBJ_ACTOR_252 */ {(void*) Zoness_Actor252_Draw, 1, (ObjectFunc) Zoness_Actor252_Update, D_ZO_602C234, 200.0f, 0, 0, 40, 0, 80.0f, 1 },
/* OBJ_ACTOR_253 */ {(void*) Zoness_8019C83C, 1, (ObjectFunc) Zoness_8019C454, D_ZO_602C250, 300.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_ACTOR_253 */ {(void*) Zoness_Actor253_Draw, 1, (ObjectFunc) Zoness_Actor253_Update, D_ZO_602C250, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_254 */ {(void*) Zoness_8019CE58, 1, (ObjectFunc) Zoness_8019CBEC, D_ZO_602C2B0, 300.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_ACTOR_254 */ {(void*) Zoness_Actor254_Draw, 1, (ObjectFunc) Zoness_Actor254_Update, D_ZO_602C2B0, 300.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_255 */ {(void*) Aquas_801AE168, 1, (ObjectFunc) Aquas_801AD6C0, D_AQ_6030BFC, 500.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_ACTOR_255 */ {(void*) Aquas_Actor255_Draw, 1, (ObjectFunc) Aquas_Actor255_Update, D_AQ_6030BFC, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_256 */ {(void*) Aquas_801AEB44, 1, (ObjectFunc) Aquas_801AE3D8, D_AQ_6030C18, 10000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_ACTOR_256 */ {(void*) Aquas_Actor256_Draw, 1, (ObjectFunc) Aquas_Actor256_Update, D_AQ_6030C18, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_257 */ {(void*) Aquas_801B099C, 1, (ObjectFunc) Aquas_801AFA5C, D_AQ_6030C44, 10000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_ACTOR_257 */ {(void*) Aquas_Actor257_Draw, 1, (ObjectFunc) Aquas_Actor257_Update, D_AQ_6030C44, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_258 */ {(void*) Aquas_801B0EC0, 1, (ObjectFunc) Aquas_801B0B60, gCubeHitbox100, 200.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_ACTOR_258 */ {(void*) Aquas_Actor258_Draw, 1, (ObjectFunc) Aquas_Actor258_Update, gCubeHitbox100, 200.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_259 */ {(void*) Aquas_801B619C, 2, (ObjectFunc) Aquas_801B638C, D_AQ_6031398, 10000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_ACTOR_259 */ {(void*) Aquas_Actor259_Draw, 2, (ObjectFunc) Aquas_Actor259_Update, D_AQ_6031398, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_260 */ {(void*) Aquas_801B90DC, 2, (ObjectFunc) Aquas_801B7C78, D_AQ_60313CC, 300.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_ACTOR_260 */ {(void*) Aquas_Actor260_Draw, 2, (ObjectFunc) Aquas_Actor260_Update, D_AQ_60313CC, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_261 */ {(void*) Aquas_801B504C, 2, (ObjectFunc) Aquas_801B50E8, D_AQ_6031400, 300.0f, 0, 0, 40, 0, 0.0f, 1 }, /* OBJ_ACTOR_261 */ {(void*) Aquas_Actor261_Draw, 2, (ObjectFunc) Aquas_Actor261_Update, D_AQ_6031400, 300.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_ACTOR_262 */ {(void*) Aquas_801B7A24, 2, (ObjectFunc) Aquas_801B6FF8, D_AQ_603144C, 2000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_ACTOR_262 */ {(void*) Aquas_Actor262_Draw, 2, (ObjectFunc) Aquas_Actor262_Update, D_AQ_603144C, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_263 */ {(void*) Aquas_801BA108, 2, (ObjectFunc) Aquas_801B91A4, D_AQ_6031480, 200.0f, 0, 0, 40, 0, 0.0f, 1 }, /* OBJ_ACTOR_263 */ {(void*) Aquas_Actor263_Draw, 2, (ObjectFunc) Aquas_Actor263_Update, D_AQ_6031480, 200.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_ACTOR_264 */ {(void*) Aquas_801BA4E4, 1, (ObjectFunc) Aquas_801BA26C, gCubeHitbox100, 200.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_ACTOR_264 */ {(void*) Aquas_Actor264_Draw, 1, (ObjectFunc) Aquas_Actor264_Update, gCubeHitbox100, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_265 */ {(void*) Aquas_801BAD7C, 1, (ObjectFunc) Aquas_801BA6A4, D_AQ_6031500, 200.0f, 0, 0, 40, 0, 0.0f, 1 }, /* OBJ_ACTOR_265 */ {(void*) Aquas_Actor265_Draw, 1, (ObjectFunc) Aquas_Actor265_Update, D_AQ_6031500, 200.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_ACTOR_266 */ {(void*) Aquas_801BB204, 2, (ObjectFunc) Aquas_801BADF8, D_AQ_6031538, 200.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_ACTOR_266 */ {(void*) Aquas_Actor266_Draw, 2, (ObjectFunc) Aquas_Actor266_Update, D_AQ_6031538, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_267 */ {(void*) Aquas_801BC930, 2, (ObjectFunc) Aquas_801BB79C, D_AQ_6031554, 800.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_ACTOR_267 */ {(void*) Aquas_Actor267_Draw, 2, (ObjectFunc) Aquas_Actor267_Update, D_AQ_6031554, 800.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_268 */ {(void*) Aquas_801BDE6C, 1, (ObjectFunc) Aquas_801BD54C, D_AQ_6031570, 10000.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_ACTOR_268 */ {(void*) Aquas_Actor268_Draw, 1, (ObjectFunc) Aquas_Actor268_Update, D_AQ_6031570, 10000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_269 */ {(void*) Aquas_801BD264, 1, (ObjectFunc) Aquas_801BC9A0, D_AQ_6030D20, 2000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_ACTOR_269 */ {(void*) Aquas_Actor269_Draw, 1, (ObjectFunc) Aquas_Actor269_Update, D_AQ_6030D20, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_270 */ {(void*) Aquas_801BEB1C, 1, (ObjectFunc) Aquas_801BE3F8, D_AQ_60314C8, 1000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_ACTOR_270 */ {(void*) Aquas_Actor270_Draw, 1, (ObjectFunc) Aquas_Actor270_Update, D_AQ_60314C8, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_271 */ {(void*) Actor271_Draw, 2, (ObjectFunc) Actor271_Update, D_BO_6011B24, 0.0f, 0, 0, 39, 0, 730.0f, 1 }, /* OBJ_ACTOR_271 */ {(void*) Actor271_Draw, 2, (ObjectFunc) Actor271_Update, D_BO_6011B24, 0.0f, 0, 0, 39, 0, 730.0f, 1 },
/* OBJ_ACTOR_272 */ {(void*) Actor272_Draw, 1, (ObjectFunc) Actor272_Update, D_BO_6011BF4, 0.0f, 0, 0, 39, 0, 150.0f, 1 }, /* OBJ_ACTOR_272 */ {(void*) Actor272_Draw, 1, (ObjectFunc) Actor272_Update, D_BO_6011BF4, 0.0f, 0, 0, 39, 0, 150.0f, 1 },
/* OBJ_ACTOR_273 */ {(void*) Fortuna_80188FE4, 2, (ObjectFunc) Fortuna_80188AD0, D_FO_600FF30, 0.0f, 0, 0, 39, 0, 220.0f, 1 }, /* OBJ_ACTOR_FO_RADAR */ {(void*) Fortuna_Radar_Draw, 2, (ObjectFunc) Fortuna_Radar_Update, aFoRadarHitbox, 0.0f, 0, 0, 39, 0, 220.0f, 1 },
/* OBJ_ACTOR_274 */ {(void*) SectorZ_8019E3A8, 1, (ObjectFunc) SectorZ_8019E234, gCubeHitbox200, 0.0f, 0, 0, 39, 0, 1.0f, 0 }, /* OBJ_ACTOR_SZ_SPACE_JUNK */ {(void*) SectorZ_SpaceJunkDraw, 1, (ObjectFunc) SectorZ_SpaceJunkUpdate, gCubeHitbox200, 0.0f, 0, 0, 39, 0, 1.0f, 0 },
/* OBJ_ACTOR_275 */ {(void*) Solar_8019F7AC, 1, (ObjectFunc) Solar_8019F20C, gCubeHitbox100, 200.0f, 0, 0, 39, 0, 1.0f, 1 }, /* OBJ_ACTOR_275 */ {(void*) Solar_Doodad_Draw, 1, (ObjectFunc) Solar_Doodad_Update, gCubeHitbox100, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_276 */ {(void*) Solar_8019F7AC, 1, (ObjectFunc) Solar_8019F20C, gCubeHitbox100, 200.0f, 0, 0, 39, 0, 1.0f, 1 }, /* OBJ_ACTOR_276 */ {(void*) Solar_Doodad_Draw, 1, (ObjectFunc) Solar_Doodad_Update, gCubeHitbox100, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_277 */ {(void*) Solar_8019F7AC, 1, (ObjectFunc) Solar_8019F20C, gCubeHitbox200, 200.0f, 0, 0, 39, 0, 1.0f, 1 }, /* OBJ_ACTOR_277 */ {(void*) Solar_Doodad_Draw, 1, (ObjectFunc) Solar_Doodad_Update, gCubeHitbox200, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_278 */ {(void*) NULL, 1, (ObjectFunc) Solar_8019EA7C, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 1 }, /* OBJ_ACTOR_278 */ {(void*) NULL, 1, (ObjectFunc) Solar_Actor278_Update, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 1 },
/* OBJ_ACTOR_279 */ {(void*) NULL, 1, (ObjectFunc) Solar_801A003C, gNoHitbox, 1000.0f, 0, 0, 0, 0, 0.0f, 1 }, /* OBJ_ACTOR_279 */ {(void*) NULL, 1, (ObjectFunc) Solar_Actor279_Update, gNoHitbox, 1000.0f, 0, 0, 0, 0, 0.0f, 1 },
/* OBJ_ACTOR_280 */ {(void*) D_VE1_900DD20, 0, (ObjectFunc) Venom1_80192518, D_VE1_601B7F8, 1000.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_280 */ {(void*) D_VE1_900DD20, 0, (ObjectFunc) Venom1_Actor280_Update, D_VE1_601B7F8, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_281 */ {(void*) Venom1_80192E2C, 1, (ObjectFunc) Venom1_80192CD4, D_VE1_601B830, 1000.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_281 */ {(void*) Venom1_Actor281_Draw, 1, (ObjectFunc) Venom1_Doodad_Update, D_VE1_601B830, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_282 */ {(void*) D_VE1_901DA50, 0, (ObjectFunc) Venom1_80192CD4, D_VE1_601B868, 1000.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_282 */ {(void*) D_VE1_901DA50, 0, (ObjectFunc) Venom1_Doodad_Update, D_VE1_601B868, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_283 */ {(void*) D_VE1_9023AD0, 0, (ObjectFunc) Venom1_80192EB0, D_VE1_601B8A0, 1000.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_283 */ {(void*) D_VE1_9023AD0, 0, (ObjectFunc) Venom1_Actor283_Update, D_VE1_601B8A0, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_284 */ {(void*) Venom1_801934D0, 1, (ObjectFunc) Venom1_801933DC, D_VE1_601B8D8, 1000.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_ACTOR_284 */ {(void*) Venom1_Actor284_Draw, 1, (ObjectFunc) Venom1_Actor284_Update, D_VE1_601B8D8, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_285 */ {(void*) Andross_80193244, 1, (ObjectFunc) Andross_80192E94, gCubeHitbox100, 1000.0f, 0, 0, 20, 0, 1.0f, 1 }, /* OBJ_ACTOR_285 */ {(void*) Andross_Actor285_Draw, 1, (ObjectFunc) Andross_Actor285_Update, gCubeHitbox100, 1000.0f, 0, 0, 20, 0, 1.0f, 1 },
/* OBJ_ACTOR_286 */ {(void*) Andross_80188660, 1, (ObjectFunc) Andross_80188528, gCubeHitbox100, 1000.0f, 0, 0, 20, 0, 0.0f, 0 }, /* OBJ_ACTOR_286 */ {(void*) Andross_Actor286_Draw, 1, (ObjectFunc) Andross_Actor286_Update, gCubeHitbox100, 1000.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_ACTOR_287 */ {(void*) NULL, 1, (ObjectFunc) Andross_80189724, gNoHitbox, 1000.0f, 0, 0, 40, 1, 0.0f, 0 }, /* OBJ_ACTOR_287 */ {(void*) NULL, 1, (ObjectFunc) Andross_Actor287_Update, gNoHitbox, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_288 */ {(void*) NULL, 1, (ObjectFunc) Andross_801893B8, gNoHitbox, 1000.0f, 0, 0, 20, 1, 0.0f, 0 }, /* OBJ_ACTOR_288 */ {(void*) NULL, 1, (ObjectFunc) Andross_Actor288_Update, gNoHitbox, 1000.0f, 0, 0, 20, 1, 0.0f, 0 },
/* OBJ_ACTOR_289 */ {(void*) func_edata_800596B0, 1, (ObjectFunc) Andross_80189470, gNoHitbox, 1000.0f, 0, 0, 20, 1, 0.0f, 0 }, /* OBJ_ACTOR_289 */ {(void*) Actor289_Draw, 1, (ObjectFunc) Andross_Actor289_Update, gNoHitbox, 1000.0f, 0, 0, 20, 1, 0.0f, 0 },
/* OBJ_ACTOR_290 */ {(void*) NULL, 1, (ObjectFunc) Andross_8018933C, gNoHitbox, 1000.0f, 0, 0, 20, 0, 0.0f, 0 }, /* OBJ_ACTOR_290 */ {(void*) NULL, 1, (ObjectFunc) Andross_Actor290_Update, gNoHitbox, 1000.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_ACTOR_SUPPLIES */ {(void*) ActorSupplies_Draw, 1, (ObjectFunc) ActorSupplies_Update, gCubeHitbox150, 1000.0f, 0, 0, 0, 0, 1.0f, 0 }, /* OBJ_ACTOR_SUPPLIES */ {(void*) ActorSupplies_Draw, 1, (ObjectFunc) ActorSupplies_Update, gCubeHitbox150, 1000.0f, 0, 0, 0, 0, 1.0f, 0 },
/* OBJ_BOSS_292 */ {(void*) Corneria_8018AA74, 2, (ObjectFunc) Corneria_80189058, D_CO_603E620, 20000.0f, 0, 0, 40, 1, 0.0f, 10 }, /* OBJ_BOSS_CO_GRANGA */ {(void*) Corneria_Granga_Draw, 2, (ObjectFunc) Corneria_Granga_Update, aCoGrangaHitbox, 20000.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_293 */ {(void*) Corneria_8018ECAC, 1, (ObjectFunc) Corneria_8018C19C, D_CO_603E840, 20000.0f, 0, 0, 40, 0, 0.0f, 10 }, /* OBJ_BOSS_CO_CARRIER */ {(void*) Corneria_Carrier_Draw, 1, (ObjectFunc) Corneria_Carrier_Update, aCoCarrierHitbox, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_294 */ {(void*) Corneria_8018ED78, 1, (ObjectFunc) Corneria_8018DDAC, D_CO_603E714, 20000.0f, 0, 0, 40, 0, 0.0f, 10 }, /* OBJ_BOSS_294 */ {(void*) Corneria_Boss294_Draw, 1, (ObjectFunc) Corneria_Boss294_Update, D_CO_603E714, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_295 */ {(void*) Corneria_8018EE84, 1, (ObjectFunc) Corneria_8018E290, D_CO_603E748, 20000.0f, 0, 0, 40, 0, 0.0f, 10 }, /* OBJ_BOSS_295 */ {(void*) Corneria_Boss295_Draw, 1, (ObjectFunc) Corneria_Boss295_Update, D_CO_603E748, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_296 */ {(void*) Corneria_8018EF90, 1, (ObjectFunc) Corneria_8018E76C, D_CO_603E7C4, 20000.0f, 0, 0, 40, 0, 0.0f, 10 }, /* OBJ_BOSS_296 */ {(void*) Corneria_Boss296_Draw, 1, (ObjectFunc) Corneria_Boss296_Update, D_CO_603E7C4, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_297 */ {(void*) Meteo_8018BACC, 1, (ObjectFunc) Meteo_8018978C, D_ME_602F75C, 20000.0f, 0, 0, 40, 0, 0.0f, 10 }, /* OBJ_BOSS_297 */ {(void*) Meteo_Boss297_Draw, 1, (ObjectFunc) Meteo_Boss297_Update, D_ME_602F75C, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_298 */ {(void*) Meteo_801887D0, 1, (ObjectFunc) Meteo_80188344, D_ME_602FA50, 20000.0f, 0, 0, 40, 0, 0.0f, 10 }, /* OBJ_BOSS_298 */ {(void*) Meteo_Boss298_Draw, 1, (ObjectFunc) Meteo_Boss298_Update, D_ME_602FA50, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_299 */ {(void*) Boss299_Draw, 2, (ObjectFunc) Boss299_Update, gNoHitbox, 20000.0f, 0, 0, 40, 0, 0.0f, 10 }, /* OBJ_BOSS_299 */ {(void*) Boss299_Draw, 2, (ObjectFunc) Boss299_Update, gNoHitbox, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_300 */ {(void*) Boss300_Draw, 1, (ObjectFunc) Boss300_Update, gNoHitbox, 20000.0f, 0, 0, 40, 0, 0.0f, 10 }, /* OBJ_BOSS_300 */ {(void*) Boss300_Draw, 1, (ObjectFunc) Boss300_Update, gNoHitbox, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_301 */ {(void*) Aquas_Boss301_Draw, 1, (ObjectFunc) Aquas_Boss301_Update, D_AQ_6030B10, 0.0f, 0, 0, 40, 0, 0.0f, 10 }, /* OBJ_BOSS_301 */ {(void*) Aquas_Boss301_Draw, 1, (ObjectFunc) Aquas_Boss301_Update, D_AQ_6030B10, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_A6 */ {(void*) Area6_Boss_Draw, 1, (ObjectFunc) Area6_Boss_Update, D_A6_6028454, 2000.0f, 0, 0, 40, 0, 0.0f, 10 }, /* OBJ_BOSS_A6 */ {(void*) Area6_Boss_Draw, 1, (ObjectFunc) Area6_Boss_Update, D_A6_6028454, 2000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_303 */ {(void*) SectorX_80193434, 2, (ObjectFunc) SectorX_80190078, D_SX_6032550, 20000.0f, 0, 0, 20, 0, 0.0f, 10 }, /* OBJ_BOSS_SX_SPYBORG */ {(void*) SectorX_Boss_Draw, 2, (ObjectFunc) SectorX_Boss_Update, D_SX_6032550, 20000.0f, 0, 0, 20, 0, 0.0f, 10 },
/* OBJ_BOSS_304 */ {(void*) SectorX_8018FF84, 2, (ObjectFunc) SectorX_8018FE38, D_SX_6032488, 1000.0f, 0, 0, 20, 0, 0.0f, 10 }, /* OBJ_BOSS_304 */ {(void*) SectorX_Boss304_Draw, 2, (ObjectFunc) SectorX_Boss304_Update, D_SX_6032488, 1000.0f, 0, 0, 20, 0, 0.0f, 10 },
/* OBJ_BOSS_305 */ {(void*) SectorX_80190020, 2, (ObjectFunc) SectorX_8018FF20, D_SX_60324EC, 1000.0f, 0, 0, 20, 0, 0.0f, 10 }, /* OBJ_BOSS_305 */ {(void*) SectorX_Boss305_Draw, 2, (ObjectFunc) SectorX_Boss305_Update, D_SX_60324EC, 1000.0f, 0, 0, 20, 0, 0.0f, 10 },
/* OBJ_BOSS_TI */ {(void*) Titania_Boss_Draw, 1, (ObjectFunc) Titania_Boss_Update,D_TI_801B83A8, 1000.0f, 0, 0, 40, 1, 0.0f, 10 }, /* OBJ_BOSS_TI */ {(void*) Titania_Boss_Draw, 1, (ObjectFunc) Titania_Boss_Update,D_TI_801B83A8, 1000.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_ZO */ {(void*) Zoness_Boss_Draw, 2, (ObjectFunc) Zoness_Boss_Update, D_ZO_602C044, 1000.0f, 0, 0, 40, 0, 1.0f, 10 }, /* OBJ_BOSS_ZO */ {(void*) Zoness_Boss_Draw, 2, (ObjectFunc) Zoness_Boss_Update, D_ZO_602C044, 1000.0f, 0, 0, 40, 0, 1.0f, 10 },
/* OBJ_BOSS_FO */ {(void*) HUD_BossFO_Draw, 1, (ObjectFunc) HUD_BossFO_Update, D_FO_600FFE0, 0.0f, 0, 0, 40, 1, 0.0f, 10 }, /* OBJ_BOSS_FO */ {(void*) HUD_BossFO_Draw, 1, (ObjectFunc) HUD_BossFO_Update, D_FO_600FFE0, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_309 */ {(void*) Boss309_Draw, 1, (ObjectFunc) Boss309_Update, gNoHitbox, 0.0f, 0, 0, 40, 1, 0.0f, 10 }, /* OBJ_BOSS_309 */ {(void*) Boss309_Draw, 1, (ObjectFunc) Boss309_Update, gNoHitbox, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_310 */ {(void*) Boss310_Draw, 1, (ObjectFunc) Boss310_Update, gNoHitbox, 0.0f, 0, 0, 40, 1, 0.0f, 10 }, /* OBJ_BOSS_310 */ {(void*) Boss310_Draw, 1, (ObjectFunc) Boss310_Update, gNoHitbox, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_311 */ {(void*) Bolse_80191AFC, 2, (ObjectFunc) Bolse_801912FC, D_BO_6011C80, 0.0f, 0, 0, 40, 1, 0.0f, 10 }, /* OBJ_BOSS_311 */ {(void*) Bolse_Boss311_Draw, 2, (ObjectFunc) Bolse_Boss311_Update, D_BO_6011C80, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_VE2 */ {(void*) Venom2_Boss_Draw, 2, (ObjectFunc) Venom2_Boss_Update, D_VE2_60166F4, 0.0f, 0, 0, 40, 1, 0.0f, 10 }, /* OBJ_BOSS_VE2 */ {(void*) Venom2_Boss_Draw, 2, (ObjectFunc) Venom2_Boss_Update, D_VE2_60166F4, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_SZ */ {(void*) SectorZ_Boss_Draw, 1, (ObjectFunc) SectorZ_Boss_Update, D_SZ_6009388, 0.0f, 0, 0, 40, 0, 0.0f, 10 }, /* OBJ_BOSS_SZ_GREAT_FOX */ {(void*) SectorZ_GreatFoxDraw, 1, (ObjectFunc) SectorZ_GreatFoxUpdate, D_SZ_6009388, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_SY */ {(void*) SectorY_Boss_Draw, 2, (ObjectFunc) SectorY_Boss_Update, gNoHitbox, 0.0f, 0, 0, 40, 0, 0.0f, 10 }, /* OBJ_BOSS_SY */ {(void*) SectorY_Boss_Draw, 2, (ObjectFunc) SectorY_Boss_Update, gNoHitbox, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_SO */ {(void*) Solar_Boss_Draw, 2, (ObjectFunc) Solar_Boss_Update, gNoHitbox, 0.0f, 0, 0, 40, 0, 0.0f, 10 }, /* OBJ_BOSS_SO */ {(void*) Solar_Boss_Draw, 2, (ObjectFunc) Solar_Boss_Update, gNoHitbox, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_KA */ {(void*) Katina_BossDraw, 1, (ObjectFunc) Katina_BossUpdate, D_KA_6011058, 0.0f, 0, 0, 40, 0, 0.0f, 10 }, /* OBJ_BOSS_KA */ {(void*) Katina_BossDraw, 1, (ObjectFunc) Katina_BossUpdate, D_KA_6011058, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_KA_BASE */ {(void*) Katina_Base_Draw, 1, (ObjectFunc) Katina_BaseUpdate, D_KA_601115C, 0.0f, 0, 0, 40, 1, 0.0f, 10 }, /* OBJ_BOSS_KA_BASE */ {(void*) Katina_Base_Draw, 1, (ObjectFunc) Katina_BaseUpdate, D_KA_601115C, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_AQ */ {(void*) Aquas_Boss_Draw, 2, (ObjectFunc) Aquas_Boss_Update, D_AQ_6030F74, 10000.0f, 0, 0, 40, 0, 0.0f, 10 }, /* OBJ_BOSS_AQ */ {(void*) Aquas_Boss_Draw, 2, (ObjectFunc) Aquas_Boss_Update, D_AQ_6030F74, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_VE1 */ {(void*) Venom1_Boss_Draw, 1, (ObjectFunc) Venom1_Boss_Update,D_VE1_8019A9B8, 3000.0f, 0, 0, 40, 1, 0.0f, 10 }, /* OBJ_BOSS_VE1 */ {(void*) Venom1_Boss_Draw, 1, (ObjectFunc) Venom1_Boss_Update,D_VE1_8019A9B8, 3000.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_320 */ {(void*) Andross_801928C8, 2, (ObjectFunc) Andross_8018DBF0, D_ANDROSS_C038DC0, 10000.0f, 0, 0, 40, 0, 0.0f, 10 }, /* OBJ_BOSS_320 */ {(void*) Andross_Boss320_Draw, 2, (ObjectFunc) Andross_Boss320_Update, D_ANDROSS_C038DC0, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_321 */ {(void*) Andross_8018B8C0, 1, (ObjectFunc) Andross_80189B70, D_ANDROSS_C038F24, 10000.0f, 0, 0, 40, 0, 0.0f, 10 }, /* OBJ_BOSS_321 */ {(void*) Andross_Boss321_Draw, 1, (ObjectFunc) Andross_Boss321_Update, D_ANDROSS_C038F24, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_ITEM_LASERS */ {(void*) ItemLasers_Draw, 1, (ObjectFunc) ItemLasers_Update, gItemLasersHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_ITEM_LASERS */ {(void*) ItemLasers_Draw, 1, (ObjectFunc) ItemLasers_Update, gItemLasersHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ITEM_CHECKPOINT */ {(void*) ItemCheckpoint_Draw, 1, (ObjectFunc) ItemCheckpoint_Update, gItemCheckpointHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_ITEM_CHECKPOINT */ {(void*) ItemCheckpoint_Draw, 1, (ObjectFunc) ItemCheckpoint_Update, gItemCheckpointHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ITEM_SILVER_RING */ {(void*) ItemSilverRing_Draw, 1, (ObjectFunc) ItemSupplyRing_Update, gItemSupplyRingHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_ITEM_SILVER_RING */ {(void*) ItemSilverRing_Draw, 1, (ObjectFunc) ItemSupplyRing_Update, gItemSupplyRingHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
@ -430,68 +430,68 @@ ObjectInfo gObjectInfo[] = {
/* OBJ_ITEM_RING_CHECK */ {(void*) NULL, 1, (ObjectFunc) ItemRingCheck_Update, gItemRingCheckHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_ITEM_RING_CHECK */ {(void*) NULL, 1, (ObjectFunc) ItemRingCheck_Update, gItemRingCheckHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ITEM_1UP */ {(void*) D_1022120, 0, (ObjectFunc) Item1up_Update, gCubeHitbox100, 700.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_ITEM_1UP */ {(void*) D_1022120, 0, (ObjectFunc) Item1up_Update, gCubeHitbox100, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ITEM_GOLD_RING */ {(void*) ItemGoldRing_Draw, 1, (ObjectFunc) ItemGoldRing_Update, gItemSupplyRingHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_ITEM_GOLD_RING */ {(void*) ItemGoldRing_Draw, 1, (ObjectFunc) ItemGoldRing_Update, gItemSupplyRingHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ITEM_WING_REPAIR */ {(void*) D_arwing_3007650, 0, (ObjectFunc) ItemWingRepair_Update, gItemLasersHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_ITEM_WING_REPAIR */ {(void*) aArwingItemLasersDL, 0, (ObjectFunc) ItemWingRepair_Update, gItemLasersHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ITEM_TRAINING_RING */ {(void*) gItemTrainingRingDL, 0, (ObjectFunc) Training_ItemRing_Update, D_TR_6009CFC, 700.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_ITEM_TRAINING_RING */ {(void*) gItemTrainingRingDL, 0, (ObjectFunc) Training_ItemRing_Update, D_TR_6009CFC, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_FIRE_SMOKE */ {(void*) func_effect_8007D55C, 1, (ObjectFunc) func_effect_8007D2F4, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_FIRE_SMOKE */ {(void*) Effect_FireSmoke_Draw, 1, (ObjectFunc) Effect_Effect339_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_340 */ {(void*) func_effect_8007D55C, 1, (ObjectFunc) func_effect_8007D748, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_340 */ {(void*) Effect_FireSmoke_Draw, 1, (ObjectFunc) Effect_Effect340_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_341 */ {(void*) func_effect_8007D55C, 1, (ObjectFunc) func_effect_8007D8A8, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_341 */ {(void*) Effect_FireSmoke_Draw, 1, (ObjectFunc) Effect_Effect341_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_342 */ {(void*) func_effect_8007E330, 1, (ObjectFunc) func_effect_8007E298, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_342 */ {(void*) Effect_Effect342_Draw, 1, (ObjectFunc) Effect_Effect342_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_343 */ {(void*) func_effect_8007CAF0, 1, (ObjectFunc) func_effect_8007C9E0, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_343 */ {(void*) Effect_Effect343_Draw, 1, (ObjectFunc) Effect_Effect343_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_344 */ {(void*) func_effect_8007868C, 1, (ObjectFunc) func_effect_8007E014, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_344 */ {(void*) Effect_Effect344_Draw, 1, (ObjectFunc) Effect_Effect344_Update, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_345 */ {(void*) func_effect_8007879C, 1, (ObjectFunc) func_effect_8007E258, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_345 */ {(void*) Effect_Effect345_Draw, 1, (ObjectFunc) Effect_Effect345_Update, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_346 */ {(void*) func_effect_800788B0, 1, (ObjectFunc) func_effect_8007F438, NULL, -200.0f, 1, 0, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_346 */ {(void*) Effect_Effect346_Draw, 1, (ObjectFunc) Effect_Effect346_Update, NULL, -200.0f, 1, 0, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_347 */ {(void*) func_effect_800783C0, 1, (ObjectFunc) func_effect_8007B758, NULL, 100.0f, 1, 0, 40, 0, 0.0f, 0 }, /* OBJ_EFFECT_347 */ {(void*) Effect_Effect347_Draw, 1, (ObjectFunc) Effect_Effect347_Update, NULL, 100.0f, 1, 0, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_348 */ {(void*) func_effect_80078A64, 1, (ObjectFunc) func_effect_8007F6B0, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_348 */ {(void*) Effect_Effect348_Draw, 1, (ObjectFunc) Effect_Effect348_Update, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_349 */ {(void*) NULL, 1, (ObjectFunc) func_effect_8007F958, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_349 */ {(void*) NULL, 1, (ObjectFunc) Effect_Effect349_Update, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_350 */ {(void*) NULL, 1, (ObjectFunc) func_effect_8007FBE0, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_350 */ {(void*) NULL, 1, (ObjectFunc) Effect_Effect350_Update, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_351 */ {(void*) func_effect_80078438, 1, (ObjectFunc) func_effect_8007E3E4, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_351 */ {(void*) Effect_Effect351_Draw, 1, (ObjectFunc) Effect_Effect351_Update, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_352 */ {(void*) func_effect_800784B4, 1, (ObjectFunc) func_effect_8007B62C, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_CLOUDS */ {(void*) Effect_Clouds_Draw, 1, (ObjectFunc) Effect_Clouds_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_353 */ {(void*) func_effect_80078B8C, 1, (ObjectFunc) func_effect_8007FE88, NULL, 100.0f, 0, 0, 20, 0, 0.0f, 0 }, /* OBJ_EFFECT_ENEMY_LASER_1 */ {(void*) Effect_Effect353_Draw, 1, (ObjectFunc) Effect_Effect353_354_Update, NULL, 100.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_354 */ {(void*) SectorY_80197C64, 1, (ObjectFunc) func_effect_8007FE88, NULL, 100.0f, 0, 0, 20, 0, 0.0f, 0 }, /* OBJ_EFFECT_354 */ {(void*) SectorY_Effect354_Draw, 1, (ObjectFunc) Effect_Effect353_354_Update, NULL, 100.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_355 */ {(void*) func_effect_80078AEC, 1, (ObjectFunc) func_effect_800802B8, NULL, 100.0f, 1, 0, 20, 1, 0.0f, 0 }, /* OBJ_EFFECT_355 */ {(void*) Effect_Effect355_Draw, 1, (ObjectFunc) Effect_Effect355_Update, NULL, 100.0f, 1, 0, 20, 1, 0.0f, 0 },
/* OBJ_EFFECT_356 */ {(void*) func_effect_80078C84, 1, (ObjectFunc) func_effect_800802F8, NULL, 100.0f, 1, 0, 20, 0, 0.0f, 0 }, /* OBJ_EFFECT_356 */ {(void*) Effect_Effect356_Draw, 1, (ObjectFunc) Effect_Effect356_Update, NULL, 100.0f, 1, 0, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_357 */ {(void*) func_effect_800798F0, 1, (ObjectFunc) func_effect_8007968C, NULL, 100.0f, 0, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_357 */ {(void*) Effect_Effect357_Draw, 1, (ObjectFunc) Effect_Effect357_Update, NULL, 100.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_358 */ {(void*) Katina_LaserEnergyParticlesDraw, 1, (ObjectFunc) Katina_LaserEnergyParticlesUpdate, NULL, 100.0f, 1, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_358 */ {(void*) Katina_LaserEnergyParticlesDraw, 1, (ObjectFunc) Katina_LaserEnergyParticlesUpdate, NULL, 100.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_359 */ {(void*) func_effect_8007AA60, 1, (ObjectFunc) func_effect_8007A994, NULL, -100.0f, 1, 2, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_359 */ {(void*) Effect_Effect359_Draw, 1, (ObjectFunc) Effect_Effect359_Update, NULL, -100.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_360 */ {(void*) func_effect_8007BEE8, 1, (ObjectFunc) func_effect_8007BE54, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_360 */ {(void*) Effect_Effect360_361_362_Draw, 1, (ObjectFunc) Effect_Effect360_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_361 */ {(void*) func_effect_8007BEE8, 1, (ObjectFunc) func_effect_8007BDE0, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_361 */ {(void*) Effect_Effect360_361_362_Draw, 1, (ObjectFunc) Effect_Effect361_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_362 */ {(void*) func_effect_8007BEE8, 1, (ObjectFunc) func_effect_8007BCE8, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_362 */ {(void*) Effect_Effect360_361_362_Draw, 1, (ObjectFunc) Effect_Effect362_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_363 */ {(void*) func_hud_80094BBC, 1, (ObjectFunc) func_hud_80094954, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_363 */ {(void*) Hud_Effect363_Draw, 1, (ObjectFunc) Hud_Effect363_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_364 */ {(void*) func_effect_8007B9DC, 1, (ObjectFunc) func_effect_8007B960, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_364 */ {(void*) Effect_Effect364_Draw, 1, (ObjectFunc) Effect_Effect364_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_365 */ {(void*) func_effect_8007E5CC, 1, (ObjectFunc) func_effect_8007E45C, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_365 */ {(void*) Effect_Effect365_Draw, 1, (ObjectFunc) Effect_Effect365_Update, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_366 */ {(void*) func_effect_80078550, 1, (ObjectFunc) Aquas_801AC918, NULL, 100.0f, 1, 2, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_366 */ {(void*) Effect_Effect366_Draw, 1, (ObjectFunc) Aquas_Effect366_Update, NULL, 100.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_367 */ {(void*) func_effect_80078604, 1, (ObjectFunc) func_effect_8007E648, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_367 */ {(void*) Effect_Effect367_Draw, 1, (ObjectFunc) Effect_Effect367_Update, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_368 */ {(void*) Titania_80188FA8, 1, (ObjectFunc) Titania_80188F60, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_368 */ {(void*) Titania_Effect368_Draw, 1, (ObjectFunc) Titania_Effect368_Update, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_369 */ {(void*) Meteo_8018DCE4, 1, (ObjectFunc) Meteo_80188CAC, NULL, 100.0f, 0, 1, 40, 0, 0.0f, 0 }, /* OBJ_EFFECT_369 */ {(void*) Meteo_Effect369_Draw, 1, (ObjectFunc) Meteo_Effect369_Update, NULL, 100.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_370 */ {(void*) Meteo_8018DBEC, 1, (ObjectFunc) Meteo_80188FAC, NULL, 100.0f, 0, 1, 40, 0, 0.0f, 0 }, /* OBJ_EFFECT_370 */ {(void*) Meteo_Effect370_Draw, 1, (ObjectFunc) Meteo_Effect370_Update, NULL, 100.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_371 */ {(void*) Meteo_8018DE14, 1, (ObjectFunc) Meteo_80189114, NULL, 100.0f, 0, 1, 40, 0, 0.0f, 0 }, /* OBJ_EFFECT_371 */ {(void*) Meteo_Effect371_Draw, 1, (ObjectFunc) Meteo_Effect371_Update, NULL, 100.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_372 */ {(void*) func_effect_80077A00, 1, (ObjectFunc) func_effect_8007AB50, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_372 */ {(void*) Effect_Effect372_Draw, 1, (ObjectFunc) Effect_Effect372_Update, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_373 */ {(void*) NULL, 1, (ObjectFunc) func_effect_8007A748, NULL, 500.0f, 0, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_TIMED_SFX */ {(void*) NULL, 1, (ObjectFunc) Effect_TimedSfx_Update, NULL, 500.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_374 */ {(void*) func_effect_8007DED4, 1, (ObjectFunc) func_effect_8007DB70, NULL, 100.0f, 0, 1, 40, 0, 0.0f, 0 }, /* OBJ_EFFECT_374 */ {(void*) Macbeth_Effect374_Draw, 1, (ObjectFunc) Effect_Effect374_Update, NULL, 100.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_375 */ {(void*) func_effect_8007DAE4, 1, (ObjectFunc) func_effect_8007DA58, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_375 */ {(void*) Macbeth_Effect375_Draw, 1, (ObjectFunc) Effect_Effect375_Update, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_376 */ {(void*) func_effect_80078CE8, 1, (ObjectFunc) func_effect_80080360, NULL, -200.0f, 1, 0, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_376 */ {(void*) Macbeth_Effect376_Draw, 1, (ObjectFunc) Effect_Effect376_Update, NULL, -200.0f, 1, 0, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_377 */ {(void*) func_effect_80078BE0, 1, (ObjectFunc) func_effect_800802D8, NULL, 100.0f, 1, 0, 20, 0, 0.0f, 0 }, /* OBJ_EFFECT_377 */ {(void*) Macbeth_Effect377_Draw, 1, (ObjectFunc) Effect_Effect377_Update, NULL, 100.0f, 1, 0, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_378 */ {(void*) Macbeth_801A5AF0, 1, (ObjectFunc) Macbeth_801A57D0, NULL, 100.0f, 0, 0, 20, 0, 0.0f, 0 }, /* OBJ_EFFECT_378 */ {(void*) Macbeth_Effect378_Draw, 1, (ObjectFunc) Macbeth_Effect378_Update, NULL, 100.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_379 */ {(void*) Macbeth_801AEAA0, 1, (ObjectFunc) Macbeth_801AE87C, NULL, 100.0f, 1, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_379 */ {(void*) Macbeth_Effect379_Draw, 1, (ObjectFunc) Macbeth_Effect379_Update, NULL, 100.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_380 */ {(void*) Macbeth_801A5D68, 1, (ObjectFunc) Macbeth_801A5B4C, NULL, 100.0f, 0, 0, 20, 0, 0.0f, 0 }, /* OBJ_EFFECT_380 */ {(void*) Macbeth_Effect380_Draw, 1, (ObjectFunc) Macbeth_Effect380_Update, NULL, 100.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_381 */ {(void*) func_effect_80077A7C, 1, (ObjectFunc) func_effect_8007B0F4, NULL, 500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_381 */ {(void*) Effect_Effect382_Draw, 1, (ObjectFunc) Effect_Effect381_Update, NULL, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_382 */ {(void*) NULL, 1, (ObjectFunc) func_effect_8007B040, NULL, 200.0f, 0, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_382 */ {(void*) NULL, 1, (ObjectFunc) Effect_Effect382_Update, NULL, 200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_383 */ {(void*) func_effect_8007A3C0, 1, (ObjectFunc) func_effect_8007A28C, NULL, 10000.0f, 0, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_383 */ {(void*) Effect_Effect383_Draw, 1, (ObjectFunc) Effect_Effect383_Update, NULL, 10000.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_384 */ {(void*) func_effect_80077B84, 1, (ObjectFunc) func_effect_8007B3B8, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_384 */ {(void*) Effect_Effect384_Draw, 1, (ObjectFunc) Effect_Effect384_Update, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_385 */ {(void*) func_effect_80078038, 1, (ObjectFunc) func_effect_8007B5C0, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_385 */ {(void*) Effect_Effect385_Draw, 1, (ObjectFunc) Effect_Effect385_Update, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_386 */ {(void*) NULL, 1, (ObjectFunc) func_effect_8007C250, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_386 */ {(void*) NULL, 1, (ObjectFunc) Effect_Effect386_Update, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_387 */ {(void*) NULL, 1, (ObjectFunc) func_effect_8007C8C4, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_387 */ {(void*) NULL, 1, (ObjectFunc) Effect_Effect387_Update, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_388 */ {(void*) func_effect_80077B78, 1, (ObjectFunc) func_effect_8007B670, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_388 */ {(void*) Effect_Effect388_Draw, 1, (ObjectFunc) Effect_Effect388_Update, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_389 */ {(void*) func_effect_800780F8, 1, (ObjectFunc) func_effect_8007B67C, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_389 */ {(void*) Effect_Effect389_Draw, 1, (ObjectFunc) Effect_Effect389_Update, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_390 */ {(void*) NULL, 1, (ObjectFunc) func_effect_8007C50C, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_390 */ {(void*) NULL, 1, (ObjectFunc) Effect_Effect390_Update, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_391 */ {(void*) func_effect_80083B8C, 1, (ObjectFunc) func_effect_800837EC, NULL, 500.0f, 0, 0, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_391 */ {(void*) Effect_Effect391_Draw, 1, (ObjectFunc) Effect_Effect391_Update, NULL, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_392 */ {(void*) Solar_801A0AF0, 1, (ObjectFunc) Solar_801A0120, NULL, 300.0f, 1, 2, 10, 0, 0.0f, 0 }, /* OBJ_EFFECT_392 */ {(void*) Solar_Effect392_Draw, 1, (ObjectFunc) Solar_Effect392_Update, NULL, 300.0f, 1, 2, 10, 0, 0.0f, 0 },
/* OBJ_EFFECT_393 */ {(void*) func_effect_80078F78, 1, (ObjectFunc) func_effect_80078EBC, NULL, 300.0f, 1, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_393 */ {(void*) Effect_Effect393_Draw, 1, (ObjectFunc) Effect_Effect393_Update, NULL, 300.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_394 */ {(void*) func_effect_80080D04, 1, (ObjectFunc) func_effect_80080ACC, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 }, /* OBJ_EFFECT_394 */ {(void*) Effect_Effect394_Draw, 1, (ObjectFunc) Effect_Effect394_Update, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_395 */ {(void*) func_effect_80082F78, 1, (ObjectFunc) func_effect_80081C5C, NULL, 300.0f, 0, 1, 40, 0, 0.0f, 0 }, /* OBJ_EFFECT_395 */ {(void*) Effect_Effect395_Draw, 1, (ObjectFunc) Effect_Effect395_Update, NULL, 300.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_396 */ {(void*) Andross_8018CF98, 1, (ObjectFunc) Andross_8018CAD4, NULL, 2000.0f, 0, 1, 40, 2, 0.0f, 0 }, /* OBJ_EFFECT_396 */ {(void*) Andross_Effect396_Draw, 1, (ObjectFunc) Andross_Effect396_Update, NULL, 2000.0f, 0, 1, 40, 2, 0.0f, 0 },
/* OBJ_EFFECT_397 */ {(void*) Bolse_80191180, 1, (ObjectFunc) Bolse_80191054, NULL, 2000.0f, 0, 1, 20, 0, 0.0f, 0 }, /* OBJ_EFFECT_397 */ {(void*) Bolse_Effect397_Draw, 1, (ObjectFunc) Bolse_Effect397_Update, NULL, 2000.0f, 0, 1, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_398 */ {(void*) func_effect_8008092C, 1, (ObjectFunc) func_effect_8008040C, NULL, 100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_EFFECT_398 */ {(void*) Effect_Effect398_Draw, 1, (ObjectFunc) Effect_Effect398_Update, NULL, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_399 */ {(void*) func_effect_80084194, 1, (ObjectFunc) func_effect_80083FA8, NULL, 100.0f, 0, 0, 40, 0, 0.0f, 0 }, /* OBJ_EFFECT_399 */ {(void*) Effect_Effect399_Draw, 1, (ObjectFunc) Effect_Effect399_Update, NULL, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
}; };
// clang-format on // clang-format on

View File

@ -114,7 +114,7 @@ void Scenery_DrawTitaniaBones(Scenery* scenery) {
void func_edisplay_80059BB0(void* arg0) { void func_edisplay_80059BB0(void* arg0) {
} }
void Scenery42_Draw(Scenery_42* this) { void CoIBeam_Draw(CoIBeam* this) {
gSPDisplayList(gMasterDisp++, D_CO_6023AC0); gSPDisplayList(gMasterDisp++, D_CO_6023AC0);
} }
@ -134,33 +134,33 @@ void FogShadow_Draw(FogShadow* this) {
RCP_SetupDL_47(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_47(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 180); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 180);
switch (this->sceneryId) { switch (this->sceneryId) {
case OBJ_SCENERY_0: case OBJ_SCENERY_CO_STONE_ARCH:
Matrix_Scale(gGfxMatrix, 2.0f, 1.0f, 0.7f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 2.0f, 1.0f, 0.7f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_CO_6034B90); gSPDisplayList(gMasterDisp++, D_CO_6034B90);
break; break;
case OBJ_SCENERY_21: case OBJ_SCENERY_CO_ARCH_2:
Matrix_Scale(gGfxMatrix, 1.0f, 1.0f, 0.7f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 1.0f, 1.0f, 0.7f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_CO_6034B90); gSPDisplayList(gMasterDisp++, D_CO_6034B90);
break; break;
case OBJ_SCENERY_6: case OBJ_SCENERY_CO_HIGHWAY_1:
case OBJ_SCENERY_7: case OBJ_SCENERY_CO_HIGHWAY_2:
Matrix_Scale(gGfxMatrix, 1.0f, 1.0f, 10.55f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 1.0f, 1.0f, 10.55f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_Gfx_800DAC20); gSPDisplayList(gMasterDisp++, D_Gfx_800DAC20);
break; break;
case OBJ_SCENERY_56: case OBJ_SCENERY_CO_DOORS:
Matrix_Scale(gGfxMatrix, 1.6f, 1.0f, 1.0f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 1.6f, 1.0f, 1.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_CO_6034B90); gSPDisplayList(gMasterDisp++, D_CO_6034B90);
break; break;
case OBJ_SCENERY_20: case OBJ_SCENERY_CO_ARCH_1:
Matrix_Scale(gGfxMatrix, 1.2f, 1.0f, 1.3f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 1.2f, 1.0f, 1.3f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_CO_6034B90); gSPDisplayList(gMasterDisp++, D_CO_6034B90);
break; break;
case OBJ_SCENERY_22: case OBJ_SCENERY_CO_ARCH_3:
Matrix_Scale(gGfxMatrix, 2.2f, 1.0f, 1.4f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 2.2f, 1.0f, 1.4f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_CO_6034B90); gSPDisplayList(gMasterDisp++, D_CO_6034B90);
@ -169,22 +169,22 @@ void FogShadow_Draw(FogShadow* this) {
RCP_SetupDL_60(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_60(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
} }
void func_edisplay_80059F68(Scenery* scenery) { void CoBuilding9_Draw(Scenery* scenery) {
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -95.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -95.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_CO_602DA20); gSPDisplayList(gMasterDisp++, D_CO_602DA20);
} }
void func_edisplay_80059FDC(Scenery* scenery) { void CoBuilding10_Draw(Scenery* scenery) {
gSPDisplayList(gMasterDisp++, D_CO_6035DA0); gSPDisplayList(gMasterDisp++, D_CO_6035DA0);
} }
// repurposed into OBJ_SCENERY_15 // repurposed into OBJ_SCENERY_CO_BUILDING_6
void func_edisplay_8005A010(Sprite* sprite) { void func_edisplay_8005A010(Sprite* sprite) {
if (!sprite->toLeft) { if (!sprite->toLeft) {
Matrix_RotateY(gGfxMatrix, M_PI / 2, MTXF_APPLY); Matrix_RotateY(gGfxMatrix, M_PI / 2, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_CO_60361F0); gSPDisplayList(gMasterDisp++, aCoBuilding6DL);
} }
} }
@ -209,7 +209,7 @@ Gfx* D_edisplay_800CFADC[] = {
}; };
Gfx* D_edisplay_800CFB08[] = { D_ZO_6020F10, D_ZO_6021100, D_ZO_60214B0 }; Gfx* D_edisplay_800CFB08[] = { D_ZO_6020F10, D_ZO_6021100, D_ZO_60214B0 };
Gfx* D_edisplay_800CFB14[] = { D_ZO_60163E0, D_ZO_60165D0, D_ZO_6016880, D_ZO_6016B50, D_ZO_6000C40 }; Gfx* D_edisplay_800CFB14[] = { D_ZO_60163E0, D_ZO_60165D0, D_ZO_6016880, D_ZO_6016B50, D_ZO_6000C40 };
Gfx* D_edisplay_800CFB28[] = { D_CO_6018E80, D_ZO_601F620, D_ZO_601F420, D_ZO_6018C80, D_ZO_601F940, D_ZO_601F260 }; Gfx* D_edisplay_800CFB28[] = { aCoBuilding7DL, D_ZO_601F620, D_ZO_601F420, D_ZO_6018C80, D_ZO_601F940, D_ZO_601F260 };
Gfx* D_edisplay_800CFB40[] = { Gfx* D_edisplay_800CFB40[] = {
D_SO_6014DB0, D_SO_60146D0, D_SO_6014B80, D_SO_6014470, D_SO_6014930, D_SO_6014DB0, D_SO_60146D0, D_SO_6014B80, D_SO_6014470, D_SO_6014930,
D_SO_60138A0, D_SO_60151A0, D_SO_600F750, D_SO_6015810, D_SO_60138A0, D_SO_60151A0, D_SO_600F750, D_SO_6015810,
@ -556,25 +556,25 @@ void func_edisplay_8005B388(Actor* actor) {
Actor_DrawEngineAndContrails(actor); Actor_DrawEngineAndContrails(actor);
} }
void func_edisplay_8005B6A4(Actor* actor) { void Actor180_Draw(Actor* actor) {
Matrix_Scale(gGfxMatrix, 1.0f, 1.0f, 1.0f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 1.0f, 1.0f, 1.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_ME_6024B60); gSPDisplayList(gMasterDisp++, D_ME_6024B60);
} }
void func_edisplay_8005B71C(Actor* actor) { void Actor182_Draw(Actor* actor) {
RCP_SetupDL_29(actor->unk_046, gFogGreen, gFogBlue, gFogAlpha, actor->unk_048, gFogFar); RCP_SetupDL_29(actor->unk_046, gFogGreen, gFogBlue, gFogAlpha, actor->unk_048, gFogFar);
Matrix_Scale(gGfxMatrix, 0.5f, 0.5f, 0.5f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 0.5f, 0.5f, 0.5f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_ME_6018C00); gSPDisplayList(gMasterDisp++, D_ME_6018C00);
} }
void func_edisplay_8005B7CC(Actor* actor) { void Actor186_Draw(Actor* actor) {
RCP_SetupDL_29(actor->unk_046, gFogGreen, gFogBlue, gFogAlpha, actor->unk_048, gFogFar); RCP_SetupDL_29(actor->unk_046, gFogGreen, gFogBlue, gFogAlpha, actor->unk_048, gFogFar);
gSPDisplayList(gMasterDisp++, D_ME_6022920); gSPDisplayList(gMasterDisp++, D_ME_6022920);
} }
void func_edisplay_8005B848(Actor* actor) { void Actor190_191_Draw(Actor* actor) {
f32 scale; f32 scale;
switch (actor->eventType) { switch (actor->eventType) {
@ -599,13 +599,13 @@ void func_edisplay_8005B848(Actor* actor) {
Actor_DrawEngineGlow(actor, 2); Actor_DrawEngineGlow(actor, 2);
} }
void func_edisplay_8005B9A4(Actor* actor) { void Actor192_Draw(Actor* actor) {
Matrix_Translate(gGfxMatrix, 0.0f, -124.0f, 0.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, 0.0f, -124.0f, 0.0f, MTXF_APPLY);
Animation_GetFrameData(&D_CO_6029528, actor->animFrame, actor->vwork); Animation_GetFrameData(&D_CO_6029528, actor->animFrame, actor->vwork);
Animation_DrawSkeleton(1, D_CO_6029674, actor->vwork, NULL, NULL, actor, &gIdentityMatrix); Animation_DrawSkeleton(1, D_CO_6029674, actor->vwork, NULL, NULL, actor, &gIdentityMatrix);
} }
void func_edisplay_8005BA30(Actor* actor) { void Actor193_Draw(Actor* actor) {
if (actor->timer_0BC != 0) { if (actor->timer_0BC != 0) {
RCP_SetupDL_27(); RCP_SetupDL_27();
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 0, 0, 255); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 0, 0, 255);
@ -667,7 +667,7 @@ void Object_SetShadowDL(ObjectId objId, s32 index) {
break; break;
} }
break; break;
case OBJ_BOSS_292: case OBJ_BOSS_CO_GRANGA:
gSPDisplayList(gMasterDisp++, D_CO_6034B90); gSPDisplayList(gMasterDisp++, D_CO_6034B90);
break; break;
case OBJ_BOSS_KA: case OBJ_BOSS_KA:
@ -679,7 +679,7 @@ void Object_SetShadowDL(ObjectId objId, s32 index) {
Graphics_SetScaleMtx(150.0f); Graphics_SetScaleMtx(150.0f);
gSPDisplayList(gMasterDisp++, D_102A8A0); gSPDisplayList(gMasterDisp++, D_102A8A0);
break; break;
case OBJ_BOSS_293: case OBJ_BOSS_CO_CARRIER:
case OBJ_BOSS_294: case OBJ_BOSS_294:
case OBJ_BOSS_295: case OBJ_BOSS_295:
case OBJ_BOSS_296: case OBJ_BOSS_296:
@ -690,7 +690,7 @@ void Object_SetShadowDL(ObjectId objId, s32 index) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 150); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 150);
} }
switch (objId) { switch (objId) {
case OBJ_BOSS_293: case OBJ_BOSS_CO_CARRIER:
gSPDisplayList(gMasterDisp++, D_CO_6036840); gSPDisplayList(gMasterDisp++, D_CO_6036840);
break; break;
case OBJ_BOSS_294: case OBJ_BOSS_294:
@ -946,8 +946,8 @@ void Scenery_Draw(Scenery* this, s32 arg1) {
func_edisplay_8005D008(&this->obj, this->info.drawType); func_edisplay_8005D008(&this->obj, this->info.drawType);
this->obj.pos.y -= gCameraShakeY; this->obj.pos.y -= gCameraShakeY;
if (this->info.drawType == 0) { if (this->info.drawType == 0) {
if ((this->obj.id == OBJ_SCENERY_19) || (this->obj.id == OBJ_SCENERY_55) || (this->obj.id == OBJ_SCENERY_9) || if ((this->obj.id == OBJ_SCENERY_CO_TOWER) || (this->obj.id == OBJ_SCENERY_CO_ROCKWALL) ||
(this->obj.id == OBJ_SCENERY_50)) { (this->obj.id == OBJ_SCENERY_CO_HIGHWAY_4) || (this->obj.id == OBJ_SCENERY_50)) {
RCP_SetupDL_57(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_57(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK); gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
if (arg1 < 0) { if (arg1 < 0) {
@ -956,7 +956,7 @@ void Scenery_Draw(Scenery* this, s32 arg1) {
gSPDisplayList(gMasterDisp++, this->info.dList); gSPDisplayList(gMasterDisp++, this->info.dList);
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
} else { } else {
if (this->obj.id == OBJ_SCENERY_8) { if (this->obj.id == OBJ_SCENERY_CO_HIGHWAY_3) {
if (arg1 < 0) { if (arg1 < 0) {
return; // weird control flow return; // weird control flow
} }
@ -967,7 +967,7 @@ void Scenery_Draw(Scenery* this, s32 arg1) {
Object_ApplyWaterDistortion(); Object_ApplyWaterDistortion();
} }
gSPDisplayList(gMasterDisp++, this->info.dList); gSPDisplayList(gMasterDisp++, this->info.dList);
if (this->obj.id == OBJ_SCENERY_8) { if (this->obj.id == OBJ_SCENERY_CO_HIGHWAY_3) {
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
} }
} }
@ -999,7 +999,7 @@ void Actor_DrawOnRails(Actor* this) {
Actor194_Draw(this); Actor194_Draw(this);
return; return;
case OBJ_ACTOR_236: case OBJ_ACTOR_236:
Zoness_80190F08(this); Zoness_Actor236_Draw(this);
return; return;
} }
if ((this->obj.id == OBJ_ACTOR_EVENT) && (this->eventType == EVID_200)) { if ((this->obj.id == OBJ_ACTOR_EVENT) && (this->eventType == EVID_200)) {
@ -1154,7 +1154,7 @@ void Boss_Draw(Boss* this, s32 arg1) {
var_fv0 = 6000.0f; var_fv0 = 6000.0f;
var_ft5 = 0.9f; var_ft5 = 0.9f;
var_fv1 = -20000.0f; var_fv1 = -20000.0f;
} else if (this->obj.id == OBJ_BOSS_SZ) { } else if (this->obj.id == OBJ_BOSS_SZ_GREAT_FOX) {
var_fv1 = -25000.0f; var_fv1 = -25000.0f;
var_ft5 = 0.7f; var_ft5 = 0.7f;
var_fa1 = 3000.0f; var_fa1 = 3000.0f;
@ -1198,7 +1198,7 @@ void Effect_DrawOnRails(Effect* this, s32 arg1) {
if ((arg1 < 0) && (this->obj.pos.y < 7.0f)) { if ((arg1 < 0) && (this->obj.pos.y < 7.0f)) {
return; return;
} }
if ((this->obj.id == OBJ_EFFECT_353) || (this->obj.id == OBJ_EFFECT_369)) { if ((this->obj.id == OBJ_EFFECT_ENEMY_LASER_1) || (this->obj.id == OBJ_EFFECT_369)) {
func_edisplay_8005D3CC(&this->obj, this->unk_60.x, this->unk_60.y, this->unk_60.z, 0); func_edisplay_8005D3CC(&this->obj, this->unk_60.x, this->unk_60.y, this->unk_60.z, 0);
} else if (this->info.unk_14 == -1) { } else if (this->info.unk_14 == -1) {
this->obj.pos.y += gCameraShakeY; this->obj.pos.y += gCameraShakeY;
@ -1245,7 +1245,7 @@ void Effect_DrawAllRange(Effect* this) {
} }
} }
Object_SetSfxSourceToView(this->sfxSource, &sp40); Object_SetSfxSourceToView(this->sfxSource, &sp40);
if (!drawn && (this->obj.id != OBJ_EFFECT_352) && (this->obj.id != OBJ_EFFECT_373) && (!gVersusMode)) { if (!drawn && (this->obj.id != OBJ_EFFECT_CLOUDS) && (this->obj.id != OBJ_EFFECT_TIMED_SFX) && (!gVersusMode)) {
Object_Kill(&this->obj, this->sfxSource); Object_Kill(&this->obj, this->sfxSource);
} }
} }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -32,30 +32,30 @@ void ActorEvent_SetMessage(u16* msg, s32 character) {
} }
} }
void func_enmy2_8006A800(Effect* effect, f32 xPos, f32 yPos, f32 zPos, f32 scale2) { void func_enmy2_8006A800(Effect361* this, f32 xPos, f32 yPos, f32 zPos, f32 scale2) {
Effect_Initialize(effect); Effect_Initialize(this);
effect->obj.status = OBJ_INIT; this->obj.status = OBJ_INIT;
effect->obj.id = OBJ_EFFECT_361; this->obj.id = OBJ_EFFECT_361;
effect->obj.pos.x = xPos; this->obj.pos.x = xPos;
effect->obj.pos.y = yPos; this->obj.pos.y = yPos;
effect->obj.pos.z = zPos; this->obj.pos.z = zPos;
effect->unk_48 = 3; this->unk_48 = 3;
if (Rand_ZeroOne() < 0.5f) { if (Rand_ZeroOne() < 0.5f) {
effect->unk_48 = -effect->unk_48; this->unk_48 = -this->unk_48;
} }
effect->unk_4A = 100; this->unk_4A = 100;
effect->scale2 = scale2 * 0.25f; this->scale2 = scale2 * 0.25f;
effect->scale1 = 0.3f; this->scale1 = 0.3f;
if (scale2 < 10.0f) { if (scale2 < 10.0f) {
effect->scale1 = 0.1f; this->scale1 = 0.1f;
} }
effect->obj.rot.z = RAND_FLOAT(360.0f); this->obj.rot.z = RAND_FLOAT(360.0f);
Object_SetInfo(&effect->info, effect->obj.id); Object_SetInfo(&this->info, this->obj.id);
} }
void func_enmy2_8006A900(f32 xPos, f32 yPos, f32 zPos, f32 scale2) { void func_enmy2_8006A900(f32 xPos, f32 yPos, f32 zPos, f32 scale2) {
@ -75,21 +75,21 @@ void Actor237_Update(Actor237* this) {
void Actor237_Draw(Actor237* this) { void Actor237_Draw(Actor237* this) {
} }
void Obj54_8006A984(Effect* effect, f32 xPos, f32 yPos, f32 zPos) { void Obj54_8006A984(Effect* this, f32 xPos, f32 yPos, f32 zPos) {
Effect_Initialize(effect); Effect_Initialize(this);
effect->obj.status = OBJ_INIT; this->obj.status = OBJ_INIT;
effect->obj.id = OBJ_EFFECT_365; this->obj.id = OBJ_EFFECT_365;
effect->obj.pos.x = xPos; this->obj.pos.x = xPos;
effect->obj.pos.y = yPos; this->obj.pos.y = yPos;
effect->obj.pos.z = zPos; this->obj.pos.z = zPos;
effect->unk_44 = 40; this->unk_44 = 40;
effect->scale2 = 5.0f; this->scale2 = 5.0f;
effect->scale1 = RAND_FLOAT_CENTERED(2.0f); this->scale1 = RAND_FLOAT_CENTERED(2.0f);
effect->vel.y = 10.0f; this->vel.y = 10.0f;
effect->obj.rot.z = RAND_FLOAT(360.0f); this->obj.rot.z = RAND_FLOAT(360.0f);
Object_SetInfo(&effect->info, effect->obj.id); Object_SetInfo(&this->info, this->obj.id);
} }
void Obj54_8006AA3C(f32 xPos, f32 yPos, f32 zPos) { void Obj54_8006AA3C(f32 xPos, f32 yPos, f32 zPos) {
@ -103,7 +103,7 @@ void Obj54_8006AA3C(f32 xPos, f32 yPos, f32 zPos) {
} }
} }
void Scenery54_Update(Scenery_54* this) { void CoWaterfall_Update(CoWaterfall* this) {
Vec3f sp24; Vec3f sp24;
Vec3f sp18; Vec3f sp18;
@ -131,7 +131,7 @@ void Actor201_Update(Actor201* this) {
f32 sp2C; f32 sp2C;
if (Actor201_8006ABA4(this) && (this->timer_0BC == 0)) { if (Actor201_8006ABA4(this) && (this->timer_0BC == 0)) {
func_effect_8007F11C(OBJ_EFFECT_353, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, gEnemyShotSpeed); Effect_EnemyLaser(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, gEnemyShotSpeed);
this->timer_0BC = 20; this->timer_0BC = 20;
} }
sp2C = this->obj.pos.z + gPathProgress; sp2C = this->obj.pos.z + gPathProgress;
@ -157,9 +157,9 @@ void Actor202_Update(Actor202* this) {
this->iwork[1] = true; this->iwork[1] = true;
} }
if (((gGameFrameCount % 32) == 0)) { if ((gGameFrameCount % 32) == 0) {
func_effect_8007F11C(OBJ_EFFECT_353, this->obj.pos.x, this->obj.pos.y + 180.0f, this->obj.pos.z, Effect_EnemyLaser(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x, this->obj.pos.y + 180.0f, this->obj.pos.z,
gEnemyShotSpeed); gEnemyShotSpeed);
} }
switch (this->state) { switch (this->state) {
@ -216,7 +216,7 @@ void Actor202_Update(Actor202* this) {
func_effect_8007BFFC(this->obj.pos.x, this->obj.pos.y + 180.0f, this->obj.pos.z, this->vel.x, this->vel.y, func_effect_8007BFFC(this->obj.pos.x, this->obj.pos.y + 180.0f, this->obj.pos.z, this->vel.x, this->vel.y,
this->vel.z, 8.0f, 30); this->vel.z, 8.0f, 30);
Object_Kill(&this->obj, this->sfxSource); Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
gHitCount += this->info.bonus; gHitCount += this->info.bonus;
D_ctx_80177850 = 15; D_ctx_80177850 = 15;
} else { } else {
@ -341,7 +341,7 @@ void Actor194_Draw(Actor194* this) {
} }
} }
void Scenery42_Update(Scenery_42* this) { void CoIBeam_Update(CoIBeam* this) {
this->obj.pos.x += this->vel.x; this->obj.pos.x += this->vel.x;
this->obj.pos.y += this->vel.y; this->obj.pos.y += this->vel.y;
this->obj.pos.z += this->vel.z; this->obj.pos.z += this->vel.z;
@ -367,20 +367,20 @@ void Scenery42_Update(Scenery_42* this) {
} }
} }
void func_enmy2_8006BA64(Effect* effect, f32 xPos, f32 yPos, f32 zPos) { void func_enmy2_8006BA64(Effect375* this, f32 xPos, f32 yPos, f32 zPos) {
Effect_Initialize(effect); Effect_Initialize(this);
effect->obj.status = OBJ_INIT; this->obj.status = OBJ_INIT;
effect->obj.id = OBJ_EFFECT_375; this->obj.id = OBJ_EFFECT_375;
effect->obj.pos.x = xPos; this->obj.pos.x = xPos;
effect->obj.pos.y = yPos; this->obj.pos.y = yPos;
effect->obj.pos.z = zPos; this->obj.pos.z = zPos;
effect->scale2 = 0.0f; this->scale2 = 0.0f;
effect->scale1 = 0.12f; this->scale1 = 0.12f;
effect->obj.rot.y = RAND_FLOAT(360.0f); this->obj.rot.y = RAND_FLOAT(360.0f);
effect->unk_60.y = RAND_FLOAT_CENTERED(3.0f); this->unk_60.y = RAND_FLOAT_CENTERED(3.0f);
Object_SetInfo(&effect->info, effect->obj.id); Object_SetInfo(&this->info, this->obj.id);
} }
void func_enmy2_8006BB1C(f32 xPos, f32 yPos, f32 zPos) { void func_enmy2_8006BB1C(f32 xPos, f32 yPos, f32 zPos) {
@ -445,12 +445,14 @@ void Actor196_Update(Actor196* this) {
case 3: case 3:
if (this->timer_0BC == 1) { if (this->timer_0BC == 1) {
func_effect_8007F11C(OBJ_EFFECT_353, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, Effect_EnemyLaser(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z,
gEnemyShotSpeed); gEnemyShotSpeed);
} }
if (this->vel.y < 12.0f) { if (this->vel.y < 12.0f) {
Math_SmoothStepToF(&this->obj.rot.x, 180.0f, 0.1f, 7.0f, 0.01f); Math_SmoothStepToF(&this->obj.rot.x, 180.0f, 0.1f, 7.0f, 0.01f);
} }
if (this->obj.pos.y < (gGroundHeight + 10.0f)) { if (this->obj.pos.y < (gGroundHeight + 10.0f)) {
this->obj.pos.y = gGroundHeight; this->obj.pos.y = gGroundHeight;
this->state = 4; this->state = 4;
@ -664,7 +666,7 @@ void ActorDebris_Update(ActorDebris* this) {
(this->timer_0BE == 0)) { (this->timer_0BE == 0)) {
func_effect_8007B8F8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z + 50.0f, this->scale * 10.0f); func_effect_8007B8F8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z + 50.0f, this->scale * 10.0f);
Object_Kill(&this->obj, this->sfxSource); Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
} }
break; break;
@ -675,7 +677,7 @@ void ActorDebris_Update(ActorDebris* this) {
(this->timer_0BE == 0)) { (this->timer_0BE == 0)) {
func_effect_8007B8F8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z + 50.0f, this->scale * 10.0f); func_effect_8007B8F8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z + 50.0f, this->scale * 10.0f);
Object_Kill(&this->obj, this->sfxSource); Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
} }
break; break;
@ -696,7 +698,7 @@ void ActorDebris_Update(ActorDebris* this) {
(this->timer_0BE == 0)) { (this->timer_0BE == 0)) {
func_effect_8007B8F8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z + 50.0f, this->scale * 10.0f); func_effect_8007B8F8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z + 50.0f, this->scale * 10.0f);
Object_Kill(&this->obj, this->sfxSource); Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
} }
break; break;
@ -707,7 +709,7 @@ void ActorDebris_Update(ActorDebris* this) {
func_effect_8007B8F8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z + 70.0f, this->scale * 20.0f); func_effect_8007B8F8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z + 70.0f, this->scale * 20.0f);
func_effect_8007B8F8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z + 70.0f, this->scale * 20.0f); func_effect_8007B8F8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z + 70.0f, this->scale * 20.0f);
Object_Kill(&this->obj, this->sfxSource); Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
} }
break; break;
@ -779,7 +781,7 @@ void ActorDebris_Update(ActorDebris* this) {
(this->timer_0BE == 0)) { (this->timer_0BE == 0)) {
func_effect_8007D0E0(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, 10.0f); func_effect_8007D0E0(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, 10.0f);
Object_Kill(&this->obj, this->sfxSource); Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
} }
} else if (((this->state >= 41) && (this->state < 45)) || (this->state == 59)) { } else if (((this->state >= 41) && (this->state < 45)) || (this->state == 59)) {
if (((this->timer_0BC == 0) || if (((this->timer_0BC == 0) ||
@ -787,7 +789,7 @@ void ActorDebris_Update(ActorDebris* this) {
(this->timer_0BE == 0)) { (this->timer_0BE == 0)) {
func_effect_8007D0E0(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, 2.0f * this->scale); func_effect_8007D0E0(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, 2.0f * this->scale);
Object_Kill(&this->obj, this->sfxSource); Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
} }
if (Play_CheckDynaFloorCollision(&sp44, &sp40, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z)) { if (Play_CheckDynaFloorCollision(&sp44, &sp40, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z)) {
func_effect_8007B228(this->obj.pos.x, sp44, this->obj.pos.z, 2.0f); func_effect_8007B228(this->obj.pos.x, sp44, this->obj.pos.z, 2.0f);
@ -804,7 +806,7 @@ void ActorDebris_Update(ActorDebris* this) {
func_effect_8007BFFC(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, this->vel.x, this->vel.y, func_effect_8007BFFC(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, this->vel.x, this->vel.y,
this->vel.z, this->scale * 1.5f, 4); this->vel.z, this->scale * 1.5f, 4);
Object_Kill(&this->obj, this->sfxSource); Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
} }
} else { } else {
if ((this->state == 3) && ((this->timer_0BC % 8) == 0)) { if ((this->state == 3) && ((this->timer_0BC % 8) == 0)) {
@ -1008,7 +1010,7 @@ static EventActorInfo sEventActorInfo[108] = {
/* 68 */ { D_SY_60205D0, D_SY_603445C, 3.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 1.0f, 1 }, /* 68 */ { D_SY_60205D0, D_SY_603445C, 3.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 1.0f, 1 },
/* 69 */ { D_SY_60036A0, D_SY_6034664, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, /* 69 */ { D_SY_60036A0, D_SY_6034664, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 },
/* 70 */ { D_SY_601AD70, gNoHitbox, 4.0f, 100.0f, 3000.0f, 0, 0, EISFX_EN_ENGINE_01, 0, 0.0f, 1 }, /* 70 */ { D_SY_601AD70, gNoHitbox, 4.0f, 100.0f, 3000.0f, 0, 0, EISFX_EN_ENGINE_01, 0, 0.0f, 1 },
/* 71 */ { D_arwing_3007650, gNoHitbox, 1.0f, 100.0f, 3000.0f, 2, 0, EISFX_OB_WING, 0, 0.0f, 1 }, /* 71 */ { aArwingItemLasersDL, gNoHitbox, 1.0f, 100.0f, 3000.0f, 2, 0, EISFX_OB_WING, 0, 0.0f, 1 },
/* 72 */ { D_SY_60034D0, D_SY_60347D4, 3.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 0.0f, 1 }, /* 72 */ { D_SY_60034D0, D_SY_60347D4, 3.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 0.0f, 1 },
/* 73 */ { D_SY_6005360, D_SY_6034770, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, /* 73 */ { D_SY_6005360, D_SY_6034770, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 },
/* 74 */ { D_SY_600F6C0, D_SY_60347F0, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, /* 74 */ { D_SY_600F6C0, D_SY_60347F0, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 },
@ -1761,7 +1763,7 @@ void ActorEvent_SetupEffect347(Effect* effect, f32 xPos, f32 yPos, f32 zPos, f32
effect->scale1 = scale1; effect->scale1 = scale1;
effect->unk_44 = 100; effect->unk_44 = 100;
Object_SetInfo(&effect->info, effect->obj.id); Object_SetInfo(&effect->info, effect->obj.id);
func_effect_8007A6F0(&effect->obj.pos, NA_SE_EN_EXPLOSION_M); Effect_SpawnTimedSfxAtPos(&effect->obj.pos, NA_SE_EN_EXPLOSION_M);
} }
void ActorEvent_SpawnEffect347(f32 xPos, f32 yPos, f32 zPos, f32 scale1) { void ActorEvent_SpawnEffect347(f32 xPos, f32 yPos, f32 zPos, f32 scale1) {
@ -1790,7 +1792,7 @@ void ActorEvent_SetupEffect394(Effect* effect, f32 xPos, f32 yPos, f32 zPos, f32
effect->unk_7A = 18; effect->unk_7A = 18;
Object_SetInfo(&effect->info, effect->obj.id); Object_SetInfo(&effect->info, effect->obj.id);
effect->info.damage = 40; effect->info.damage = 40;
func_effect_8007A6F0(&effect->obj.pos, NA_SE_EN_EXPLOSION_M); Effect_SpawnTimedSfxAtPos(&effect->obj.pos, NA_SE_EN_EXPLOSION_M);
} }
void ActorEvent_SpawnEffect394(f32 xPos, f32 yPos, f32 zPos, f32 scale1) { void ActorEvent_SpawnEffect394(f32 xPos, f32 yPos, f32 zPos, f32 scale1) {
@ -1819,9 +1821,9 @@ void ActorEvent_8006F254(ActorEvent* this) {
sp54.z = gEnemyShotSpeed; sp54.z = gEnemyShotSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp54, &sp48); Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp54, &sp48);
func_effect_8007F04C(OBJ_EFFECT_353, this->obj.pos.x + sp48.x, this->obj.pos.y + sp48.y, this->obj.pos.z + sp48.z, func_effect_8007F04C(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x + sp48.x, this->obj.pos.y + sp48.y,
this->obj.rot.x, this->obj.rot.y, this->obj.rot.z, this->vwork[29].x, this->vwork[29].y, this->obj.pos.z + sp48.z, this->obj.rot.x, this->obj.rot.y, this->obj.rot.z, this->vwork[29].x,
this->vwork[29].z + this->rot_0F4.z, sp48.x, sp48.y, sp48.z, 1.0f); this->vwork[29].y, this->vwork[29].z + this->rot_0F4.z, sp48.x, sp48.y, sp48.z, 1.0f);
} }
void ActorEvent_ProcessActions(ActorEvent* this) { void ActorEvent_ProcessActions(ActorEvent* this) {
@ -1844,8 +1846,8 @@ void ActorEvent_ProcessActions(ActorEvent* this) {
case EVACT_2: // shoot at player case EVACT_2: // shoot at player
if (this->obj.pos.z < (gPlayer[0].trueZpos - 600.0f)) { if (this->obj.pos.z < (gPlayer[0].trueZpos - 600.0f)) {
func_effect_8007F11C(OBJ_EFFECT_353, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, Effect_EnemyLaser(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z,
gEnemyShotSpeed); gEnemyShotSpeed);
} }
this->unk_048 = EVACT_NONE; this->unk_048 = EVACT_NONE;
break; break;
@ -1895,15 +1897,15 @@ void ActorEvent_ProcessActions(ActorEvent* this) {
case EVACT_6: case EVACT_6:
if (this->obj.pos.z < (gPlayer[0].trueZpos - 600.0f)) { if (this->obj.pos.z < (gPlayer[0].trueZpos - 600.0f)) {
func_effect_8007F11C(OBJ_EFFECT_355, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, Effect_EnemyLaser(OBJ_EFFECT_355, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z,
gEnemyShotSpeed); gEnemyShotSpeed);
} }
this->unk_048 = EVACT_NONE; this->unk_048 = EVACT_NONE;
break; break;
case EVACT_7: case EVACT_7:
if (this->obj.pos.z < (gPlayer[0].trueZpos - 600.0f)) { if (this->obj.pos.z < (gPlayer[0].trueZpos - 600.0f)) {
func_effect_8007F11C(OBJ_EFFECT_356, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, 60.0f); Effect_EnemyLaser(OBJ_EFFECT_356, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, 60.0f);
} }
this->unk_048 = EVACT_NONE; this->unk_048 = EVACT_NONE;
break; break;
@ -1913,8 +1915,8 @@ void ActorEvent_ProcessActions(ActorEvent* this) {
sp6C.y = gPlayer[0].pos.y; sp6C.y = gPlayer[0].pos.y;
gPlayer[0].pos.x += RAND_FLOAT_CENTERED(300.0f); gPlayer[0].pos.x += RAND_FLOAT_CENTERED(300.0f);
gPlayer[0].pos.y += RAND_FLOAT_CENTERED(300.0f); gPlayer[0].pos.y += RAND_FLOAT_CENTERED(300.0f);
func_effect_8007F11C(OBJ_EFFECT_353, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, Effect_EnemyLaser(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z,
gEnemyShotSpeed); gEnemyShotSpeed);
gPlayer[0].pos.x = sp6C.x; gPlayer[0].pos.x = sp6C.x;
gPlayer[0].pos.y = sp6C.y; gPlayer[0].pos.y = sp6C.y;
this->unk_048 = EVACT_NONE; this->unk_048 = EVACT_NONE;
@ -1943,7 +1945,7 @@ void ActorEvent_ProcessActions(ActorEvent* this) {
this->vel.z, this->scale * 3.0f, 15); this->vel.z, this->scale * 3.0f, 15);
Actor_Despawn(this); Actor_Despawn(this);
Object_Kill(&this->obj, this->sfxSource); Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_M); Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_EXPLOSION_M);
break; break;
case EVACT_DESPAWN: case EVACT_DESPAWN:
@ -1967,16 +1969,16 @@ void ActorEvent_ProcessActions(ActorEvent* this) {
break; break;
case EVACT_16: case EVACT_16:
func_effect_8007F11C(OBJ_EFFECT_353, this->obj.pos.x + 190.0f, this->obj.pos.y + 90.0f, Effect_EnemyLaser(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x + 190.0f, this->obj.pos.y + 90.0f,
this->obj.pos.z + 220.0f, gEnemyShotSpeed); this->obj.pos.z + 220.0f, gEnemyShotSpeed);
func_effect_8007F11C(OBJ_EFFECT_353, this->obj.pos.x - 190.0f, this->obj.pos.y + 90.0f, Effect_EnemyLaser(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x - 190.0f, this->obj.pos.y + 90.0f,
this->obj.pos.z + 220.0f, gEnemyShotSpeed); this->obj.pos.z + 220.0f, gEnemyShotSpeed);
this->unk_048 = EVACT_NONE; this->unk_048 = EVACT_NONE;
break; break;
case EVACT_17: case EVACT_17:
if (this->obj.pos.z < (gPlayer[0].cam.eye.z - 600.0f)) { if (this->obj.pos.z < (gPlayer[0].cam.eye.z - 600.0f)) {
func_effect_8007F20C(OBJ_EFFECT_353, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, func_effect_8007F20C(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z,
gEnemyShotSpeed); gEnemyShotSpeed);
} }
this->unk_048 = EVACT_NONE; this->unk_048 = EVACT_NONE;
@ -2047,7 +2049,7 @@ void ActorEvent_8006FEEC(ActorEvent* this) {
this->itemDrop = DROP_NONE; this->itemDrop = DROP_NONE;
Actor_Despawn(this); Actor_Despawn(this);
Object_Kill(&this->obj, this->sfxSource); Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_BIRD_DOWN); Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_BIRD_DOWN);
func_effect_8007D2C8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, 4.0f); func_effect_8007D2C8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, 4.0f);
} else { } else {
AUDIO_PLAY_SFX(NA_SE_EN_BIRD_DAMAGE, this->sfxSource, 4); AUDIO_PLAY_SFX(NA_SE_EN_BIRD_DAMAGE, this->sfxSource, 4);
@ -3161,7 +3163,7 @@ void ActorEvent_Update(ActorEvent* this) {
var_fv0 = 0.0f; var_fv0 = 0.0f;
} }
func_effect_8007F04C(OBJ_EFFECT_353, this->obj.pos.x + spAC.x + spA0.x, func_effect_8007F04C(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x + spAC.x + spA0.x,
this->obj.pos.y + spAC.y + spA0.y + var_fv0, this->obj.pos.z + spAC.z + spA0.z, this->obj.pos.y + spAC.y + spA0.y + var_fv0, this->obj.pos.z + spAC.z + spA0.z,
this->fwork[15], this->obj.rot.y, this->obj.rot.z, this->vwork[29].x, this->fwork[15], this->obj.rot.y, this->obj.rot.z, this->vwork[29].x,
this->vwork[29].y, this->vwork[29].z + this->rot_0F4.z, spAC.x, spAC.y, spAC.z, this->vwork[29].y, this->vwork[29].z + this->rot_0F4.z, spAC.x, spAC.y, spAC.z,
@ -3653,7 +3655,7 @@ void ActorEvent_Update(ActorEvent* this) {
effect->unk_60.z = -effect->unk_60.z; effect->unk_60.z = -effect->unk_60.z;
} }
if (gGameFrameCount & 2) { if ((gGameFrameCount & 2) != 0) {
effect->vel.y = -effect->vel.y; effect->vel.y = -effect->vel.y;
} }
} }
@ -3905,6 +3907,7 @@ void ActorEvent_Draw(ActorEvent* this) {
gSPDisplayList(gMasterDisp++, sEventActorInfo[this->eventType].dList); gSPDisplayList(gMasterDisp++, sEventActorInfo[this->eventType].dList);
gDPSetTextureFilter(gMasterDisp++, G_TF_BILERP); gDPSetTextureFilter(gMasterDisp++, G_TF_BILERP);
break; break;
default: default:
if ((this->eventType < EVID_200) && (sEventActorInfo[this->eventType].dList != NULL)) { if ((this->eventType < EVID_200) && (sEventActorInfo[this->eventType].dList != NULL)) {
gSPDisplayList(gMasterDisp++, sEventActorInfo[this->eventType].dList); gSPDisplayList(gMasterDisp++, sEventActorInfo[this->eventType].dList);
@ -4101,7 +4104,7 @@ void ActorEvent_Draw(ActorEvent* this) {
case EVID_79: case EVID_79:
temp_s0 = this->state; temp_s0 = this->state;
this->state = 2; // actor 235 state this->state = 2; // actor 235 state
Zoness_80190430(this); Zoness_Actor235_Draw(this);
this->state = temp_s0; this->state = temp_s0;
break; break;
@ -4261,7 +4264,7 @@ void func_enmy2_800763A4(Actor* actor) {
actor->scale * 3.0f, 5); actor->scale * 3.0f, 5);
func_effect_8007B228(actor->obj.pos.x, sp58, actor->obj.pos.z, 2.0f); func_effect_8007B228(actor->obj.pos.x, sp58, actor->obj.pos.z, 2.0f);
actor->timer_0BE = 2; actor->timer_0BE = 2;
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
return; return;
} }
@ -4272,7 +4275,7 @@ void func_enmy2_800763A4(Actor* actor) {
actor->obj.pos.z - actor->vel.z, 0.0f, 0.0f, 0.0f, actor->scale * 4.0f, 20); actor->obj.pos.z - actor->vel.z, 0.0f, 0.0f, 0.0f, actor->scale * 4.0f, 20);
func_enmy_80062C38(actor->obj.pos.x, actor->obj.pos.z); func_enmy_80062C38(actor->obj.pos.x, actor->obj.pos.z);
actor->timer_0BE = 2; actor->timer_0BE = 2;
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
return; return;
} }
} else { } else {
@ -4304,9 +4307,9 @@ void func_enmy2_800763A4(Actor* actor) {
actor->obj.pos.z - actor->vel.z, actor->scale * 3.0f); actor->obj.pos.z - actor->vel.z, actor->scale * 3.0f);
if ((actor->obj.id == OBJ_ACTOR_ALLRANGE) && (actor->aiType < AI360_KATT)) { if ((actor->obj.id == OBJ_ACTOR_ALLRANGE) && (actor->aiType < AI360_KATT)) {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_M); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_M);
} else { } else {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
} }
if ((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->eventType == EVID_SLIPPY_METEO)) { if ((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->eventType == EVID_SLIPPY_METEO)) {
@ -4372,9 +4375,9 @@ void func_enmy2_800763A4(Actor* actor) {
actor->timer_0BE = 2; actor->timer_0BE = 2;
if ((actor->obj.id == OBJ_ACTOR_ALLRANGE) && (actor->aiType < AI360_KATT)) { if ((actor->obj.id == OBJ_ACTOR_ALLRANGE) && (actor->aiType < AI360_KATT)) {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_M); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_M);
} else { } else {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
} }
} }
} }
@ -4410,9 +4413,9 @@ void func_enmy2_800763A4(Actor* actor) {
actor->timer_0BE = 2; actor->timer_0BE = 2;
if ((actor->obj.id == OBJ_ACTOR_ALLRANGE) && (actor->aiType < AI360_KATT)) { if ((actor->obj.id == OBJ_ACTOR_ALLRANGE) && (actor->aiType < AI360_KATT)) {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_M); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_M);
} else { } else {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
} }
} }
} }

View File

@ -95,7 +95,7 @@ void Game_SetGameState(void) {
gLevelPhase = gNextLevelPhase; gLevelPhase = gNextLevelPhase;
gNextLevelPhase = 0; gNextLevelPhase = 0;
if ((gLevelPhase != 0) && (gCurrentLevel != LEVEL_VENOM_ANDROSS)) { if ((gLevelPhase != 0) && (gCurrentLevel != LEVEL_VENOM_ANDROSS)) {
D_ctx_8017782C = 0; D_ctx_8017782C = false;
} }
break; break;
case GSTATE_MAP: case GSTATE_MAP:

View File

@ -1322,7 +1322,7 @@ void HUD_DrawStatusScreens(void) {
s32 func_hud_800886B8(void) { s32 func_hud_800886B8(void) {
s32 var_v1 = 0; s32 var_v1 = 0;
f32 var_fv1 = gInputPress->stick_y; // related to the vertical height of the arwing f32 var_fv1 = gInputPress->stick_y;
if ((var_fv1 != 0.0f) && (D_80161810[4] != 0)) { if ((var_fv1 != 0.0f) && (D_80161810[4] != 0)) {
return 0; return 0;
@ -2159,27 +2159,28 @@ s32 func_hud_8008A4DC(void) {
return 0; return 0;
} }
s32 func_hud_8008AC54(s32 arg0) { // Why is this function here in fox_hud? Weird.
s32 Hud_MissileSeekModeCheck(s32 missileSeekMode) {
Actor* actor; Actor* actor;
s32 i; s32 i;
s32 ret = 0; s32 ret = 0;
for (i = 0, actor = gActors; i < 60; i++, actor++) { for (i = 0, actor = &gActors[0]; i < 60; i++, actor++) {
switch (arg0) { switch (missileSeekMode) {
case 0: case 0: // follows teammates
if ((actor->obj.status == OBJ_ACTIVE) && (actor->obj.id == OBJ_ACTOR_190)) { if ((actor->obj.status == OBJ_ACTIVE) && (actor->obj.id == OBJ_MISSILE_SEEK_TEAM)) {
ret++; ret++;
} }
break; break;
case 1: case 1: // follows player
if ((actor->obj.status == OBJ_ACTIVE) && (actor->obj.id == OBJ_ACTOR_191)) { if ((actor->obj.status == OBJ_ACTIVE) && (actor->obj.id == OBJ_MISSILE_SEEK_PLAYER)) {
ret++; ret++;
} }
break; break;
case 2: case 2: // follows either
if (((actor->obj.id == OBJ_ACTOR_190) || (actor->obj.id == OBJ_ACTOR_191)) && if (((actor->obj.id == OBJ_MISSILE_SEEK_TEAM) || (actor->obj.id == OBJ_MISSILE_SEEK_PLAYER)) &&
(actor->obj.status == OBJ_ACTIVE)) { (actor->obj.status == OBJ_ACTIVE)) {
ret++; ret++;
} }
@ -3526,7 +3527,7 @@ void func_hud_8008F96C(void) {
} }
if (gCurrentLevel == LEVEL_TRAINING) { if (gCurrentLevel == LEVEL_TRAINING) {
Training_801988E0(); Training_RingPassCount_Draw();
} }
} }
@ -4186,7 +4187,7 @@ bool func_hud_800915FC(Actor* actor) {
y = 720.0f; y = 720.0f;
} }
if (boss->obj.id == OBJ_BOSS_293) { if (boss->obj.id == OBJ_BOSS_CO_CARRIER) {
y = 280.0f; y = 280.0f;
} }
@ -5306,7 +5307,7 @@ f32 D_800D24C0[] = { 128.0f, 128.0f, 255.0f, 128.0f };
s32 D_800D24C8[] = { 0, 900 }; s32 D_800D24C8[] = { 0, 900 };
f32 D_800D24CC = 0.02f; f32 D_800D24CC = 0.02f;
void func_hud_80094954(Effect* effect) { void Hud_Effect363_Update(Effect* effect) {
Player* player = &gPlayer[0]; Player* player = &gPlayer[0];
if ((player->state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && (gCurrentLevel == LEVEL_AQUAS) && (player->csState < 2)) { if ((player->state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && (gCurrentLevel == LEVEL_AQUAS) && (player->csState < 2)) {
@ -5363,7 +5364,7 @@ void func_hud_80094954(Effect* effect) {
} }
} }
void func_hud_80094BBC(Effect* effect) { void Hud_Effect363_Draw(Effect* effect) {
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && (gCurrentLevel == LEVEL_AQUAS) && if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && (gCurrentLevel == LEVEL_AQUAS) &&
(gPlayer[0].csState < 2)) { (gPlayer[0].csState < 2)) {
RCP_SetupDL(&gMasterDisp, SETUPDL_68); RCP_SetupDL(&gMasterDisp, SETUPDL_68);

View File

@ -26,12 +26,14 @@ void func_pause_800A3E00(void) {
D_ctx_80177868 = 1; D_ctx_80177868 = 1;
} }
break; break;
case 1: case 1:
D_ctx_80177868 = 2; D_ctx_80177868 = 2;
gDrawMode = DRAW_UNK_7; gDrawMode = DRAW_UNK_7;
gCsCamEyeX = gCsCamEyeY = gCsCamEyeZ = gCsCamAtX = gCsCamAtY = 0.0f; gCsCamEyeX = gCsCamEyeY = gCsCamEyeZ = gCsCamAtX = gCsCamAtY = 0.0f;
gCsCamAtZ = -10.0f; gCsCamAtZ = -10.0f;
break; break;
case 2: case 2:
if ((gControllerPress[0].button & START_BUTTON) || (gControllerPress[1].button & START_BUTTON)) { if ((gControllerPress[0].button & START_BUTTON) || (gControllerPress[1].button & START_BUTTON)) {
Audio_PlayPauseSfx(0); Audio_PlayPauseSfx(0);
@ -41,6 +43,7 @@ void func_pause_800A3E00(void) {
gNextGameStateTimer = 0; gNextGameStateTimer = 0;
} }
break; break;
case 3: case 3:
if (gNextGameStateTimer == 0) { if (gNextGameStateTimer == 0) {
gPlayState = PLAY_UPDATE; gPlayState = PLAY_UPDATE;

View File

@ -342,7 +342,7 @@ void Play_Setup360_CO(void) {
s32 i; s32 i;
s32 j; s32 j;
gLevelObjects = SEGMENTED_TO_VIRTUAL(D_CO_603B074); gLevelObjects = SEGMENTED_TO_VIRTUAL(aCoAllRangeLevelObjects);
for (j = 0, scenery360 = gScenery360; j < 200; j++) { for (j = 0, scenery360 = gScenery360; j < 200; j++) {
if (gLevelObjects[j].id <= OBJ_INVALID) { if (gLevelObjects[j].id <= OBJ_INVALID) {
@ -357,7 +357,7 @@ void Play_Setup360_CO(void) {
scenery360->obj.pos.y = gLevelObjects[j].yPos; scenery360->obj.pos.y = gLevelObjects[j].yPos;
scenery360->obj.rot.y = gLevelObjects[j].rot.y; scenery360->obj.rot.y = gLevelObjects[j].rot.y;
Object_SetInfo(&scenery360->info, scenery360->obj.id); Object_SetInfo(&scenery360->info, scenery360->obj.id);
if (scenery360->obj.id == OBJ_SCENERY_1) { if (scenery360->obj.id == OBJ_SCENERY_CO_BUMP_1) {
scenery360->info.dList = D_CO_6020760; scenery360->info.dList = D_CO_6020760;
} }
scenery360++; scenery360++;
@ -385,7 +385,7 @@ void Play_Setup360_CO(void) {
gBosses[i].obj.pos.x = 0.0f; gBosses[i].obj.pos.x = 0.0f;
gBosses[i].obj.pos.y = 0.0f; gBosses[i].obj.pos.y = 0.0f;
gBosses[i].obj.pos.z = 0.0f; gBosses[i].obj.pos.z = 0.0f;
gBosses[i].obj.id = OBJ_BOSS_292; gBosses[i].obj.id = OBJ_BOSS_CO_GRANGA;
Object_SetInfo(&gBosses[i].info, gBosses[i].obj.id); Object_SetInfo(&gBosses[i].info, gBosses[i].obj.id);
} }
@ -461,10 +461,12 @@ void Play_Setup(void) {
gAllRangeCheckpoint = gSavedObjectLoadIndex = 0; gAllRangeCheckpoint = gSavedObjectLoadIndex = 0;
gSavedPathProgress = 0.0f; gSavedPathProgress = 0.0f;
gSavedHitCount = gCsFrameCount = gLevelStartStatusScreenTimer = gLevelClearScreenTimer = gRadioState = 0; gSavedHitCount = gCsFrameCount = gLevelStartStatusScreenTimer = gLevelClearScreenTimer = gRadioState = 0;
D_ctx_8017782C = 1; D_ctx_8017782C = true;
if (((gCurrentLevel == LEVEL_VENOM_2) && (gNextLevelPhase == 2)) || (gCurrentLevel == LEVEL_VENOM_ANDROSS)) { if (((gCurrentLevel == LEVEL_VENOM_2) && (gNextLevelPhase == 2)) || (gCurrentLevel == LEVEL_VENOM_ANDROSS)) {
return; return;
} }
for (i = 1; i < 4; i++) { for (i = 1; i < 4; i++) {
if (gSavedTeamShields[i] < 0) { if (gSavedTeamShields[i] < 0) {
if (gSavedTeamShields[i] == -1) { if (gSavedTeamShields[i] == -1) {
@ -1212,8 +1214,8 @@ bool Play_CheckPolyCollision(ObjectId objId, f32 arg1, f32 arg2, f32 arg3, f32 a
case OBJ_ACTOR_180: case OBJ_ACTOR_180:
colId = COL1_0; colId = COL1_0;
break; break;
case OBJ_SCENERY_4: case OBJ_SCENERY_CO_BUMP_4:
case OBJ_SCENERY_5: case OBJ_SCENERY_CO_BUMP_5:
colId = COL2_1; colId = COL2_1;
useCol2 = true; useCol2 = true;
break; break;
@ -1235,7 +1237,7 @@ bool Play_CheckPolyCollision(ObjectId objId, f32 arg1, f32 arg2, f32 arg3, f32 a
case ACTOR_EVENT_ID: case ACTOR_EVENT_ID:
colId = COL1_3; colId = COL1_3;
break; break;
case OBJ_BOSS_SZ: case OBJ_BOSS_SZ_GREAT_FOX:
colId = COL1_8; colId = COL1_8;
break; break;
case OBJ_SCENERY_ME_TUNNEL: case OBJ_SCENERY_ME_TUNNEL:
@ -1257,11 +1259,11 @@ bool Play_CheckPolyCollision(ObjectId objId, f32 arg1, f32 arg2, f32 arg3, f32 a
colId = COL2_7; colId = COL2_7;
useCol2 = true; useCol2 = true;
break; break;
case OBJ_SCENERY_2: case OBJ_SCENERY_CO_BUMP_2:
colId = COL2_2; colId = COL2_2;
useCol2 = true; useCol2 = true;
break; break;
case OBJ_SCENERY_3: case OBJ_SCENERY_CO_BUMP_3:
case OBJ_SCENERY_69: case OBJ_SCENERY_69:
colId = COL2_3; colId = COL2_3;
useCol2 = true; useCol2 = true;
@ -1331,10 +1333,10 @@ bool Play_CheckPolyCollision(ObjectId objId, f32 arg1, f32 arg2, f32 arg3, f32 a
case OBJ_SCENERY_146: case OBJ_SCENERY_146:
case OBJ_SCENERY_147: case OBJ_SCENERY_147:
case OBJ_SCENERY_148: case OBJ_SCENERY_148:
case OBJ_SCENERY_40: case OBJ_SCENERY_CO_BUILDING_9:
case OBJ_SCENERY_41: case OBJ_SCENERY_CO_BUILDING_10:
case OBJ_SCENERY_42: case OBJ_SCENERY_IBEAM:
case OBJ_SCENERY_43: case OBJ_SCENERY_ZO_ROCK_1:
case OBJ_SCENERY_44: case OBJ_SCENERY_44:
case OBJ_SCENERY_45: case OBJ_SCENERY_45:
case OBJ_SCENERY_46: case OBJ_SCENERY_46:
@ -1344,9 +1346,9 @@ bool Play_CheckPolyCollision(ObjectId objId, f32 arg1, f32 arg2, f32 arg3, f32 a
case OBJ_SCENERY_51: case OBJ_SCENERY_51:
case OBJ_SCENERY_52: case OBJ_SCENERY_52:
case OBJ_SCENERY_53: case OBJ_SCENERY_53:
case OBJ_SCENERY_54: case OBJ_SCENERY_CO_WATERFALL:
case OBJ_SCENERY_55: case OBJ_SCENERY_CO_ROCKWALL:
case OBJ_SCENERY_56: case OBJ_SCENERY_CO_DOORS:
case OBJ_SCENERY_57: case OBJ_SCENERY_57:
case OBJ_SCENERY_58: case OBJ_SCENERY_58:
case OBJ_SCENERY_59: case OBJ_SCENERY_59:
@ -1645,8 +1647,8 @@ void Player_CollisionCheck(Player* player) {
if ((scenery360->obj.id == OBJ_SCENERY_117) || (scenery360->obj.id == OBJ_SCENERY_143) || if ((scenery360->obj.id == OBJ_SCENERY_117) || (scenery360->obj.id == OBJ_SCENERY_143) ||
(scenery360->obj.id == OBJ_SCENERY_141) || (scenery360->obj.id == OBJ_SCENERY_149) || (scenery360->obj.id == OBJ_SCENERY_141) || (scenery360->obj.id == OBJ_SCENERY_149) ||
(scenery360->obj.id == OBJ_SCENERY_150) || (scenery360->obj.id == OBJ_SCENERY_148) || (scenery360->obj.id == OBJ_SCENERY_150) || (scenery360->obj.id == OBJ_SCENERY_148) ||
(scenery360->obj.id == OBJ_SCENERY_160) || (scenery360->obj.id == OBJ_SCENERY_1) || (scenery360->obj.id == OBJ_SCENERY_160) || (scenery360->obj.id == OBJ_SCENERY_CO_BUMP_1) ||
(scenery360->obj.id == OBJ_SCENERY_3) || (scenery360->obj.id == OBJ_SCENERY_140)) { (scenery360->obj.id == OBJ_SCENERY_CO_BUMP_3) || (scenery360->obj.id == OBJ_SCENERY_140)) {
temp_v0 = Player_CheckPolyCollision(player, scenery360->obj.id, scenery360->obj.pos.x, temp_v0 = Player_CheckPolyCollision(player, scenery360->obj.id, scenery360->obj.pos.x,
scenery360->obj.pos.y, scenery360->obj.pos.z, scenery360->obj.pos.y, scenery360->obj.pos.z,
scenery360->obj.rot.x, scenery360->obj.rot.y, scenery360->obj.rot.x, scenery360->obj.rot.y,
@ -1666,7 +1668,7 @@ void Player_CollisionCheck(Player* player) {
scenery360->obj.rot.y, scenery360->obj.rot.z, 0.0f, 0.0f, 0.0f); scenery360->obj.rot.y, scenery360->obj.rot.z, 0.0f, 0.0f, 0.0f);
if ((temp_v0 != 0) && (temp_v0 < 0)) { if ((temp_v0 != 0) && (temp_v0 < 0)) {
if (player->whooshTimer == 0) { if (player->whooshTimer == 0) {
func_effect_8007A6F0(&scenery360->obj.pos, NA_SE_PASS); Effect_SpawnTimedSfxAtPos(&scenery360->obj.pos, NA_SE_PASS);
} }
player->whooshTimer += 2; player->whooshTimer += 2;
if (player->whooshTimer >= 4) { if (player->whooshTimer >= 4) {
@ -1682,7 +1684,7 @@ void Player_CollisionCheck(Player* player) {
if (temp_v0 != 0) { if (temp_v0 != 0) {
if (temp_v0 < 0) { if (temp_v0 < 0) {
if (player->whooshTimer == 0) { if (player->whooshTimer == 0) {
func_effect_8007A6F0(&scenery360->obj.pos, NA_SE_PASS); Effect_SpawnTimedSfxAtPos(&scenery360->obj.pos, NA_SE_PASS);
} }
player->whooshTimer += 2; player->whooshTimer += 2;
if (player->whooshTimer >= 4) { if (player->whooshTimer >= 4) {
@ -1749,11 +1751,11 @@ void Player_CollisionCheck(Player* player) {
(scenery->obj.id != OBJ_SCENERY_71) && (scenery->obj.id != OBJ_SCENERY_73) && (scenery->obj.id != OBJ_SCENERY_71) && (scenery->obj.id != OBJ_SCENERY_73) &&
(scenery->obj.id != OBJ_SCENERY_74) && (scenery->obj.id != OBJ_SCENERY_69) && (scenery->obj.id != OBJ_SCENERY_74) && (scenery->obj.id != OBJ_SCENERY_69) &&
((player->trueZpos - 2000.0f) < scenery->obj.pos.z)) { ((player->trueZpos - 2000.0f) < scenery->obj.pos.z)) {
if ((scenery->obj.id == OBJ_SCENERY_1) || (scenery->obj.id == OBJ_SCENERY_4) || if ((scenery->obj.id == OBJ_SCENERY_CO_BUMP_1) || (scenery->obj.id == OBJ_SCENERY_CO_BUMP_4) ||
(scenery->obj.id == OBJ_SCENERY_5) || (scenery->obj.id == OBJ_SCENERY_47) || (scenery->obj.id == OBJ_SCENERY_CO_BUMP_5) || (scenery->obj.id == OBJ_SCENERY_47) ||
(scenery->obj.id == OBJ_SCENERY_117) || (scenery->obj.id == OBJ_SCENERY_120) || (scenery->obj.id == OBJ_SCENERY_117) || (scenery->obj.id == OBJ_SCENERY_120) ||
(scenery->obj.id == OBJ_SCENERY_124) || (scenery->obj.id == OBJ_SCENERY_126) || (scenery->obj.id == OBJ_SCENERY_124) || (scenery->obj.id == OBJ_SCENERY_126) ||
(scenery->obj.id == OBJ_SCENERY_2) || (scenery->obj.id == OBJ_SCENERY_3)) { (scenery->obj.id == OBJ_SCENERY_CO_BUMP_2) || (scenery->obj.id == OBJ_SCENERY_CO_BUMP_3)) {
spC8.x = scenery->obj.pos.x - player->pos.x; spC8.x = scenery->obj.pos.x - player->pos.x;
spC8.z = scenery->obj.pos.z - player->trueZpos; spC8.z = scenery->obj.pos.z - player->trueZpos;
if (sqrtf(SQ(spC8.x) + SQ(spC8.z)) < 1100.0f) { if (sqrtf(SQ(spC8.x) + SQ(spC8.z)) < 1100.0f) {
@ -1766,7 +1768,7 @@ void Player_CollisionCheck(Player* player) {
} }
} else { } else {
padB0 = scenery->obj.rot.y; padB0 = scenery->obj.rot.y;
if (scenery->info.action == (ObjectFunc) func_enmy_80066EA8) { if (scenery->info.action == (ObjectFunc) SceneryRotateTowardsCamera) {
padB0 = 0.0f; padB0 = 0.0f;
} }
temp_v0 = Player_CheckHitboxCollision( temp_v0 = Player_CheckHitboxCollision(
@ -1788,7 +1790,7 @@ void Player_CollisionCheck(Player* player) {
if (player->whooshTimer >= 4) { if (player->whooshTimer >= 4) {
player->whooshTimer = 4; player->whooshTimer = 4;
} }
} else if (scenery->obj.id == OBJ_SCENERY_54) { } else if (scenery->obj.id == OBJ_SCENERY_CO_WATERFALL) {
if (player->whooshTimer == 0) { if (player->whooshTimer == 0) {
AUDIO_PLAY_SFX(NA_SE_IN_SPLASH_L, scenery->sfxSource, 0); AUDIO_PLAY_SFX(NA_SE_IN_SPLASH_L, scenery->sfxSource, 0);
} }
@ -1798,7 +1800,8 @@ void Player_CollisionCheck(Player* player) {
} }
} else { } else {
Player_ApplyDamage(player, temp_v0, scenery->info.damage); Player_ApplyDamage(player, temp_v0, scenery->info.damage);
if ((scenery->obj.id == OBJ_SCENERY_48) || (scenery->obj.id == OBJ_SCENERY_55) || if ((scenery->obj.id == OBJ_SCENERY_48) ||
(scenery->obj.id == OBJ_SCENERY_CO_ROCKWALL) ||
(scenery->obj.id == OBJ_SCENERY_49)) { (scenery->obj.id == OBJ_SCENERY_49)) {
Matrix_RotateY(gCalcMatrix, scenery->obj.rot.y * M_DTOR, MTXF_NEW); Matrix_RotateY(gCalcMatrix, scenery->obj.rot.y * M_DTOR, MTXF_NEW);
spC8.x = -(player->baseSpeed + player->boostSpeed) * 0.7f; spC8.x = -(player->baseSpeed + player->boostSpeed) * 0.7f;
@ -1841,8 +1844,8 @@ void Player_CollisionCheck(Player* player) {
} }
for (i = 0, boss = gBosses; i < ARRAY_COUNT(gBosses); i++, boss++) { for (i = 0, boss = gBosses; i < ARRAY_COUNT(gBosses); i++, boss++) {
if (boss->obj.status == OBJ_ACTIVE) { if (boss->obj.status == OBJ_ACTIVE) {
if ((boss->obj.id == OBJ_BOSS_VE2) || (boss->obj.id == OBJ_BOSS_FO) || (boss->obj.id == OBJ_BOSS_SZ) || if ((boss->obj.id == OBJ_BOSS_VE2) || (boss->obj.id == OBJ_BOSS_FO) ||
(boss->obj.id == OBJ_BOSS_309)) { (boss->obj.id == OBJ_BOSS_SZ_GREAT_FOX) || (boss->obj.id == OBJ_BOSS_309)) {
temp_v0 = temp_v0 =
Player_CheckPolyCollision(player, boss->obj.id, boss->obj.pos.x, boss->obj.pos.y, Player_CheckPolyCollision(player, boss->obj.id, boss->obj.pos.x, boss->obj.pos.y,
boss->obj.pos.z, boss->obj.rot.x, boss->obj.rot.y, boss->obj.rot.z); boss->obj.pos.z, boss->obj.rot.x, boss->obj.rot.y, boss->obj.rot.z);
@ -1898,7 +1901,7 @@ void Player_CollisionCheck(Player* player) {
break; break;
} }
Player_ApplyDamage(player, temp_v0, boss->info.damage); Player_ApplyDamage(player, temp_v0, boss->info.damage);
if ((boss->obj.id == OBJ_BOSS_303) && ((boss->state == 2) || (boss->state == 3)) && if ((boss->obj.id == OBJ_BOSS_SX_SPYBORG) && ((boss->state == 2) || (boss->state == 3)) &&
(sp98 >= 9)) { (sp98 >= 9)) {
player->knockback.y = -100.0f; player->knockback.y = -100.0f;
} }
@ -1996,7 +1999,7 @@ void Player_CollisionCheck(Player* player) {
} }
} else { } else {
actor->dmgType = DMG_COLLISION; actor->dmgType = DMG_COLLISION;
if (actor->obj.id == OBJ_ACTOR_190) { if (actor->obj.id == OBJ_MISSILE_SEEK_TEAM) {
actor->dmgType = -1; actor->dmgType = -1;
} }
if (actor->info.damage) { if (actor->info.damage) {
@ -2212,8 +2215,8 @@ void Player_FloorCheck(Player* player) {
for (sp144 = 0, scenery360 = gScenery360; sp144 < 200; sp144++, scenery360++) { for (sp144 = 0, scenery360 = gScenery360; sp144 < 200; sp144++, scenery360++) {
if ((scenery360->obj.status == OBJ_ACTIVE) && if ((scenery360->obj.status == OBJ_ACTIVE) &&
((scenery360->obj.id == OBJ_SCENERY_150) || (scenery360->obj.id == OBJ_SCENERY_149) || ((scenery360->obj.id == OBJ_SCENERY_150) || (scenery360->obj.id == OBJ_SCENERY_149) ||
(scenery360->obj.id == OBJ_SCENERY_148) || (scenery360->obj.id == OBJ_SCENERY_1) || (scenery360->obj.id == OBJ_SCENERY_148) || (scenery360->obj.id == OBJ_SCENERY_CO_BUMP_1) ||
(scenery360->obj.id == OBJ_SCENERY_3)) && (scenery360->obj.id == OBJ_SCENERY_CO_BUMP_3)) &&
(fabsf(scenery360->obj.pos.x - player->pos.x) < 2500.0f) && (fabsf(scenery360->obj.pos.x - player->pos.x) < 2500.0f) &&
(fabsf(scenery360->obj.pos.z - player->trueZpos) < 2500.0f)) { (fabsf(scenery360->obj.pos.z - player->trueZpos) < 2500.0f)) {
tempx = scenery360->obj.pos.x; tempx = scenery360->obj.pos.x;
@ -2246,7 +2249,7 @@ void Player_FloorCheck(Player* player) {
} }
} else { } else {
colId = COL2_0; colId = COL2_0;
if (scenery360->obj.id == OBJ_SCENERY_3) { if (scenery360->obj.id == OBJ_SCENERY_CO_BUMP_3) {
colId = COL2_3; colId = COL2_3;
} }
if (func_col2_800A3690(&spD4, &spC8, colId, &spBC)) { if (func_col2_800A3690(&spD4, &spC8, colId, &spBC)) {
@ -2263,14 +2266,14 @@ void Player_FloorCheck(Player* player) {
(sp144 < 50) && (gLevelMode == LEVELMODE_ON_RAILS) && (gCurrentLevel != LEVEL_VENOM_1); (sp144 < 50) && (gLevelMode == LEVELMODE_ON_RAILS) && (gCurrentLevel != LEVEL_VENOM_1);
sp144++, scenery++) { sp144++, scenery++) {
if ((scenery->obj.status == OBJ_ACTIVE) && ((player->trueZpos - 3000.0f) < scenery->obj.pos.z) && if ((scenery->obj.status == OBJ_ACTIVE) && ((player->trueZpos - 3000.0f) < scenery->obj.pos.z) &&
(scenery->obj.id != OBJ_SCENERY_0) && (scenery->obj.id != OBJ_SCENERY_8)) { (scenery->obj.id != OBJ_SCENERY_CO_STONE_ARCH) && (scenery->obj.id != OBJ_SCENERY_CO_HIGHWAY_3)) {
tempx = scenery->obj.pos.x; tempx = scenery->obj.pos.x;
tempy = scenery->obj.pos.y; tempy = scenery->obj.pos.y;
tempz = scenery->obj.pos.z; tempz = scenery->obj.pos.z;
sp120 = scenery->obj.rot.y; sp120 = scenery->obj.rot.y;
if ((scenery->obj.id == OBJ_SCENERY_3) || (scenery->obj.id == OBJ_SCENERY_2) || if ((scenery->obj.id == OBJ_SCENERY_CO_BUMP_3) || (scenery->obj.id == OBJ_SCENERY_CO_BUMP_2) ||
(scenery->obj.id == OBJ_SCENERY_47) || (scenery->obj.id == OBJ_SCENERY_4) || (scenery->obj.id == OBJ_SCENERY_47) || (scenery->obj.id == OBJ_SCENERY_CO_BUMP_4) ||
(scenery->obj.id == OBJ_SCENERY_5)) { (scenery->obj.id == OBJ_SCENERY_CO_BUMP_5)) {
Matrix_RotateY(gCalcMatrix, -sp120 * M_DTOR, MTXF_NEW); Matrix_RotateY(gCalcMatrix, -sp120 * M_DTOR, MTXF_NEW);
for (var_fs1 = var_fs0 = -50.0f; var_fs0 > -500.0f; var_fs0 -= 5.0f, var_fs1 -= 5.0f) { for (var_fs1 = var_fs0 = -50.0f; var_fs0 > -500.0f; var_fs0 -= 5.0f, var_fs1 -= 5.0f) {
spEC.x = player->pos.x - tempx; spEC.x = player->pos.x - tempx;
@ -2292,11 +2295,12 @@ void Player_FloorCheck(Player* player) {
if (scenery->obj.id == OBJ_SCENERY_47) { if (scenery->obj.id == OBJ_SCENERY_47) {
colId = COL2_7; colId = COL2_7;
} }
if (scenery->obj.id == OBJ_SCENERY_2) { if (scenery->obj.id == OBJ_SCENERY_CO_BUMP_2) {
colId = COL2_2; colId = COL2_2;
} else if (scenery->obj.id == OBJ_SCENERY_3) { } else if (scenery->obj.id == OBJ_SCENERY_CO_BUMP_3) {
colId = COL2_3; colId = COL2_3;
} else if ((scenery->obj.id == OBJ_SCENERY_4) || (scenery->obj.id == OBJ_SCENERY_5)) { } else if ((scenery->obj.id == OBJ_SCENERY_CO_BUMP_4) ||
(scenery->obj.id == OBJ_SCENERY_CO_BUMP_5)) {
colId = COL2_1; colId = COL2_1;
} }
if (func_col2_800A3690(&spD4, &spC8, colId, &spBC)) { if (func_col2_800A3690(&spD4, &spC8, colId, &spBC)) {
@ -2312,7 +2316,7 @@ void Player_FloorCheck(Player* player) {
hitboxData = scenery->info.hitbox; hitboxData = scenery->info.hitbox;
count = *hitboxData; count = *hitboxData;
if (count != 0) { if (count != 0) {
if (scenery->info.action == (ObjectFunc) func_enmy_80066EA8) { if (scenery->info.action == (ObjectFunc) SceneryRotateTowardsCamera) {
sp120 = 0.0f; sp120 = 0.0f;
} }
hitboxData++; hitboxData++;
@ -2543,7 +2547,7 @@ void Player_InitVersus(void) {
Player_Initialize(&gPlayer[i]); Player_Initialize(&gPlayer[i]);
Player_Setup(&gPlayer[i]); Player_Setup(&gPlayer[i]);
Player_Update360(&gPlayer[i]); Player_Update360(&gPlayer[i]);
Camera_Update360(&gPlayer[i], 1); Camera_Update360(&gPlayer[i], true);
} }
Play_ClearObjectData(); Play_ClearObjectData();
} }
@ -2665,12 +2669,12 @@ void Play_Init(void) {
switch (gCurrentLevel) { switch (gCurrentLevel) {
case LEVEL_SECTOR_Z: case LEVEL_SECTOR_Z:
if (!D_ctx_8017782C) { if (!D_ctx_8017782C) {
SectorZ_8019EA68(); SectorZ_LoadLevelObjects();
ActorAllRange_SpawnTeam(); ActorAllRange_SpawnTeam();
} }
break; break;
case LEVEL_FORTUNA: case LEVEL_FORTUNA:
Fortuna_8018BA2C(); Fortuna_LoadLevelObjects();
ActorAllRange_SpawnTeam(); ActorAllRange_SpawnTeam();
break; break;
case LEVEL_KATINA: case LEVEL_KATINA:
@ -2686,7 +2690,7 @@ void Play_Init(void) {
} }
break; break;
case LEVEL_VENOM_2: case LEVEL_VENOM_2:
Venom2_80196968(); Venom2_LoadLevelObjects();
if (gLevelPhase == 0) { if (gLevelPhase == 0) {
ActorAllRange_SpawnTeam(); ActorAllRange_SpawnTeam();
} }
@ -4274,7 +4278,7 @@ void Player_Setup(Player* playerx) {
} }
break; break;
} }
Camera_Update360(player, 1); Camera_Update360(player, true);
} }
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
player->wingPosition = gLevelType; player->wingPosition = gLevelType;
@ -4291,7 +4295,7 @@ void Player_Setup(Player* playerx) {
player->yRot_114 = 188.0f; player->yRot_114 = 188.0f;
player->hideShadow = true; player->hideShadow = true;
} }
Camera_UpdateArwing360(player, 1); Camera_UpdateArwing360(player, true);
} else { } else {
player->unk_014 = 1.0f; player->unk_014 = 1.0f;
player->unk_018 = 1.0f; player->unk_018 = 1.0f;
@ -4302,7 +4306,7 @@ void Player_Setup(Player* playerx) {
D_ctx_80177A10[j] = 0; D_ctx_80177A10[j] = 0;
D_ctx_80177A48[j] = 0.0f; D_ctx_80177A48[j] = 0.0f;
} }
D_ctx_8017782C = 0; D_ctx_8017782C = false;
gAllRangeCheckpoint = 0; gAllRangeCheckpoint = 0;
switch (gCurrentLevel) { switch (gCurrentLevel) {
case LEVEL_CORNERIA: case LEVEL_CORNERIA:
@ -5497,7 +5501,7 @@ void Player_Update(Player* player) {
Player_Initialize(player); Player_Initialize(player);
Player_Setup(player); Player_Setup(player);
Player_Update360(player); Player_Update360(player);
Camera_Update360(player, 1); Camera_Update360(player, true);
Player_PlaySfx(player->sfxSource, NA_SE_ARWING_BOOST, player->num); Player_PlaySfx(player->sfxSource, NA_SE_ARWING_BOOST, player->num);
player->unk_190 = player->unk_194 = 5.0f; player->unk_190 = player->unk_194 = 5.0f;
} else if (player->attacker >= 0) { } else if (player->attacker >= 0) {
@ -5787,7 +5791,7 @@ void Camera_FollowPlayer(Player* player, s32 playerNum, bool arg2) {
Math_SmoothStepToF(&player->camRoll, 0.0f, 0.05f, 5.0f, 0.00001f); Math_SmoothStepToF(&player->camRoll, 0.0f, 0.05f, 5.0f, 0.00001f);
} }
void Camera_UpdateArwing360(Player* player, s32 arg1) { void Camera_UpdateArwing360(Player* player, bool arg1) {
Vec3f sp74; Vec3f sp74;
Vec3f sp68; Vec3f sp68;
f32 temp1; f32 temp1;
@ -5855,7 +5859,7 @@ void Camera_UpdateArwing360(Player* player, s32 arg1) {
Math_SmoothStepToF(&player->cam.at.z, atZ, player->unk_01C, 30000.0f, 0); Math_SmoothStepToF(&player->cam.at.z, atZ, player->unk_01C, 30000.0f, 0);
Math_SmoothStepToF(&player->unk_018, 0.2f, 0.1f, 0.005f, 0); Math_SmoothStepToF(&player->unk_018, 0.2f, 0.1f, 0.005f, 0);
Math_SmoothStepToF(&player->unk_01C, 1.0f, 0.1f, 0.005f, 0); Math_SmoothStepToF(&player->unk_01C, 1.0f, 0.1f, 0.005f, 0);
if (arg1 != 0) { if (arg1) {
player->cam.eye.x = eyeX; player->cam.eye.x = eyeX;
player->cam.eye.y = eyeY; player->cam.eye.y = eyeY;
player->cam.eye.z = eyeZ; player->cam.eye.z = eyeZ;
@ -5999,7 +6003,7 @@ void Camera_SetStarfieldPos(f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32
} }
} }
void Camera_Update360(Player* player, s32 arg1) { void Camera_Update360(Player* player, bool arg1) {
switch (player->form) { switch (player->form) {
case FORM_ON_FOOT: case FORM_ON_FOOT:
Camera_UpdateOnFoot360(player, arg1); Camera_UpdateOnFoot360(player, arg1);
@ -6031,7 +6035,7 @@ void Camera_Update(Player* player) {
} }
break; break;
case LEVELMODE_ALL_RANGE: case LEVELMODE_ALL_RANGE:
Camera_Update360(player, 0); Camera_Update360(player, false);
break; break;
case LEVELMODE_UNK_2: case LEVELMODE_UNK_2:
Turret_UpdateCamera(player); Turret_UpdateCamera(player);
@ -6040,7 +6044,7 @@ void Camera_Update(Player* player) {
break; break;
case PLAYERSTATE_1C8_U_TURN: case PLAYERSTATE_1C8_U_TURN:
player->camRoll -= player->camRoll * 0.1f; player->camRoll -= player->camRoll * 0.1f;
Camera_Update360(player, 0); Camera_Update360(player, false);
break; break;
case PLAYERSTATE_1C8_DOWN: case PLAYERSTATE_1C8_DOWN:
if ((gLevelMode == LEVELMODE_ON_RAILS) && (player->form == FORM_ARWING)) { if ((gLevelMode == LEVELMODE_ON_RAILS) && (player->form == FORM_ARWING)) {
@ -6158,7 +6162,7 @@ void Play_UpdateLevel(void) {
switch (gCurrentLevel) { switch (gCurrentLevel) {
case LEVEL_TRAINING: case LEVEL_TRAINING:
if (gLevelMode == LEVELMODE_ALL_RANGE) { if (gLevelMode == LEVELMODE_ALL_RANGE) {
Training_8019949C(); Training_SpawnEnemies();
} }
break; break;
case LEVEL_VERSUS: case LEVEL_VERSUS:
@ -6183,7 +6187,7 @@ void Play_UpdateLevel(void) {
gPlayer[0].csState = 0; gPlayer[0].csState = 0;
gPlayer[0].draw = true; gPlayer[0].draw = true;
gPlayer[0].pos.z = 15000.0f; gPlayer[0].pos.z = 15000.0f;
Camera_Update360(gPlayer, 1); Camera_Update360(gPlayer, true);
gFillScreenAlpha = 255; gFillScreenAlpha = 255;
gFillScreenAlphaStep = 255; gFillScreenAlphaStep = 255;
gFillScreenAlphaTarget = 255; gFillScreenAlphaTarget = 255;
@ -6436,7 +6440,7 @@ void Play_Main(void) {
gPlayer[0].zPath = gPlayer[0].zPathVel = gPathVelZ = gPathProgress = 0.0f; gPlayer[0].zPath = gPlayer[0].zPathVel = gPathVelZ = gPathProgress = 0.0f;
} }
if (gPlayState != PLAY_PAUSE) { if (gPlayState != PLAY_PAUSE) {
(void) "play_time = %d\n"; PRINTF("play_time = %d\n");
gGameFrameCount++; gGameFrameCount++;
} }
switch (gPlayState) { switch (gPlayState) {
@ -6475,7 +6479,7 @@ void Play_Main(void) {
gCamCount = 1; gCamCount = 1;
gBgColor = 0; gBgColor = 0;
gCsFrameCount = gLevelClearScreenTimer = gLevelStartStatusScreenTimer = gRadioState = 0; gCsFrameCount = gLevelClearScreenTimer = gLevelStartStatusScreenTimer = gRadioState = 0;
D_ctx_8017782C = 0; D_ctx_8017782C = false;
} }
if (gVersusMode) { if (gVersusMode) {
Versus_Main(); Versus_Main();

View File

@ -33,11 +33,13 @@ void Graphics_NMIWipe(void) {
if (sWipeBarLength == 0) { if (sWipeBarLength == 0) {
AudioThread_PreNMIReset(); AudioThread_PreNMIReset();
} }
sWipeBarLength += SCREEN_WIDTH / 7; sWipeBarLength += SCREEN_WIDTH / 7;
if (sWipeBarLength >= SCREEN_WIDTH * 85 / 8 / 7) { // Why 85 / 8 == 3400 / 320 == 10.625? Has to do with NMI timing? if (sWipeBarLength >= SCREEN_WIDTH * 85 / 8 / 7) { // Why 85 / 8 == 3400 / 320 == 10.625? Has to do with NMI timing?
osViBlack(true); osViBlack(true);
gStopTasks = true; gStopTasks = true;
} }
for (i = 0; i < MAXCONTROLLERS; i++) { for (i = 0; i < MAXCONTROLLERS; i++) {
gControllerRumbleEnabled[i] = 0; gControllerRumbleEnabled[i] = 0;
gControllerRumbleFlags[i] = 0; gControllerRumbleFlags[i] = 0;

View File

@ -65,7 +65,7 @@ s32 Save_Read(void) {
gSaveFile = gSaveIOBuffer; gSaveFile = gSaveIOBuffer;
if (gSaveFile.save.checksum == Save_Checksum(&gSaveFile.save)) { if (gSaveFile.save.checksum == Save_Checksum(&gSaveFile.save)) {
(void) " 正常\n"; PRINTF(" 正常\n");
return 0; return 0;
} }
#ifdef AVOID_UB #ifdef AVOID_UB
@ -78,9 +78,10 @@ s32 Save_Read(void) {
gSaveFile.save.checksum = gSaveFile.backup.checksum; gSaveFile.save.checksum = gSaveFile.backup.checksum;
if (gSaveFile.save.checksum == Save_Checksum(&gSaveFile.save)) { if (gSaveFile.save.checksum == Save_Checksum(&gSaveFile.save)) {
(void) " 1 正常\n"; PRINTF(" 1 正常\n");
return 0; return 0;
} else {
PRINTF(" 1 異常\n");
return -1;
} }
(void) " 1 異常\n";
return -1;
} }

View File

@ -537,7 +537,7 @@ void func_tank_80045130(Player* player) {
} }
void func_tank_80045348(Player* player) { void func_tank_80045348(Player* player) {
f32 sp44 = 15.0f; f32 baseSpeedTarget = 15.0f;
f32 sp40 = 0; f32 sp40 = 0;
f32 sp3C = 0.1f; f32 sp3C = 0.1f;
f32 sp38 = 3.5f; f32 sp38 = 3.5f;
@ -555,7 +555,7 @@ void func_tank_80045348(Player* player) {
} else { } else {
player->unk_190 = 2.0f; player->unk_190 = 2.0f;
} }
sp44 = 25.0f; baseSpeedTarget = 25.0f;
sp40 = -200.0f; sp40 = -200.0f;
sp3C = 0.2f; sp3C = 0.2f;
sp38 = 6.0f; sp38 = 6.0f;
@ -571,7 +571,7 @@ void func_tank_80045348(Player* player) {
} }
if ((gBrakeButton[player->num] & gInputHold->button) && !player->boostCooldown && !sp2E) { if ((gBrakeButton[player->num] & gInputHold->button) && !player->boostCooldown && !sp2E) {
D_800C9F14++; D_800C9F14++;
sp44 = 5.0f; baseSpeedTarget = 5.0f;
sp40 = 100.0f; sp40 = 100.0f;
sp3C = 0.2f; sp3C = 0.2f;
D_800C9F28 += 1.0f; D_800C9F28 += 1.0f;
@ -579,7 +579,7 @@ void func_tank_80045348(Player* player) {
} else { } else {
D_800C9F28 = 0.0f; D_800C9F28 = 0.0f;
} }
Math_SmoothStepToF(&player->baseSpeed, sp44, sp3C, sp38, 0.001f); Math_SmoothStepToF(&player->baseSpeed, baseSpeedTarget, sp3C, sp38, 0.001f);
Math_SmoothStepToF(&player->camDist, sp40, sp3C, sp38, 0.001f); Math_SmoothStepToF(&player->camDist, sp40, sp3C, sp38, 0.001f);
} else if (player->unk_19C == -1) { } else if (player->unk_19C == -1) {
Math_SmoothStepToF(&player->baseSpeed, player->unk_000, 0.1f, 2.0f, 0.01f); Math_SmoothStepToF(&player->baseSpeed, player->unk_000, 0.1f, 2.0f, 0.01f);
@ -1351,7 +1351,7 @@ void func_tank_800481F4(Player* player) {
(scenery->obj.id != OBJ_SCENERY_73) && (scenery->obj.id != OBJ_SCENERY_74) && (scenery->obj.id != OBJ_SCENERY_73) && (scenery->obj.id != OBJ_SCENERY_74) &&
(scenery->obj.id != OBJ_SCENERY_69) && ((player->trueZpos - 2000.0f) < scenery->obj.pos.z)) { (scenery->obj.id != OBJ_SCENERY_69) && ((player->trueZpos - 2000.0f) < scenery->obj.pos.z)) {
var_fv1 = scenery->obj.rot.y; var_fv1 = scenery->obj.rot.y;
if (scenery->info.action == (ObjectFunc) func_enmy_80066EA8) { if (scenery->info.action == (ObjectFunc) SceneryRotateTowardsCamera) {
var_fv1 = 0.0f; var_fv1 = 0.0f;
} }
temp_v0 = Player_CheckHitboxCollision(player, scenery->info.hitbox, &sp98, scenery->obj.pos.x, temp_v0 = Player_CheckHitboxCollision(player, scenery->info.hitbox, &sp98, scenery->obj.pos.x,
@ -1463,7 +1463,7 @@ void func_tank_800481F4(Player* player) {
actor->obj.rot.y, actor->obj.rot.z, 0.0f, 0.0f, 0.0f); actor->obj.rot.y, actor->obj.rot.z, 0.0f, 0.0f, 0.0f);
if (temp_v0 != 0) { if (temp_v0 != 0) {
actor->dmgType = DMG_COLLISION; actor->dmgType = DMG_COLLISION;
if ((actor->obj.id == OBJ_ACTOR_225) || (actor->obj.id == OBJ_ACTOR_190)) { if ((actor->obj.id == OBJ_ACTOR_225) || (actor->obj.id == OBJ_MISSILE_SEEK_TEAM)) {
actor->dmgType = -1; actor->dmgType = -1;
} }
if (actor->info.damage) { if (actor->info.damage) {

View File

@ -1953,7 +1953,7 @@ void func_versus_800C26C8(void) {
actor->obj.pos.x = dest.x; actor->obj.pos.x = dest.x;
actor->obj.pos.y = dest.y; actor->obj.pos.y = dest.y;
actor->obj.pos.z = dest.z; actor->obj.pos.z = dest.z;
actor->aiType = i + AI360_10; actor->aiType = i + AI360_ENEMY;
actor->health = 24; actor->health = 24;
actor->timer_0C2 = 30; actor->timer_0C2 = 30;

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@
#include "global.h" #include "global.h"
#include "assets/ast_training.h" #include "assets/ast_training.h"
void Training_801988E0(void) { void Training_RingPassCount_Draw(void) {
if (gRingPassCount != 0) { if (gRingPassCount != 0) {
RCP_SetupDL(&gMasterDisp, SETUPDL_83); RCP_SetupDL(&gMasterDisp, SETUPDL_83);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);

View File

@ -10,7 +10,6 @@
void Training_Setup360(void) { void Training_Setup360(void) {
Scenery360* scenery360; Scenery360* scenery360;
s32 i; s32 i;
gLevelObjects = SEGMENTED_TO_VIRTUAL(D_TR_6008EF8); gLevelObjects = SEGMENTED_TO_VIRTUAL(D_TR_6008EF8);
Rand_SetSeed(1, 29000, 9876); Rand_SetSeed(1, 29000, 9876);
@ -35,147 +34,148 @@ void Training_Setup360(void) {
} }
} }
bool Training_80198DCC(Actor* actor, f32 x, f32 z) { bool Training_EnemyObstacleCheck(ActorAllRange* this, f32 sinRotY, f32 cosRotY) {
Scenery360* scenery360; Scenery360* scenery360;
s32 i; s32 i;
for (i = 0, scenery360 = gScenery360; i < 200;) { for (i = 0, scenery360 = gScenery360; i < 200;) {
if ((scenery360->obj.status == OBJ_ACTIVE) && if ((scenery360->obj.status == OBJ_ACTIVE) &&
(fabsf(scenery360->obj.pos.x - (actor->obj.pos.x + ((x * 650.0f) + 350.0f))) < 1200.0f) && (fabsf(scenery360->obj.pos.x - (this->obj.pos.x + ((sinRotY * 650.0f) + 350.0f))) < 1200.0f) &&
(fabsf(scenery360->obj.pos.z - (actor->obj.pos.z + ((z * 650.0f) + 350.0f))) < 1200.0f) && (fabsf(scenery360->obj.pos.z - (this->obj.pos.z + ((cosRotY * 650.0f) + 350.0f))) < 1200.0f) &&
(actor->obj.pos.y < 650.0f)) { (this->obj.pos.y < 650.0f)) {
return true; return true;
} }
scenery360++; scenery360++;
if ((scenery360->obj.status == OBJ_ACTIVE) && if ((scenery360->obj.status == OBJ_ACTIVE) &&
(fabsf(scenery360->obj.pos.x - (actor->obj.pos.x + ((x * 650.0f) + 350.0f))) < 1200.0f) && (fabsf(scenery360->obj.pos.x - (this->obj.pos.x + ((sinRotY * 650.0f) + 350.0f))) < 1200.0f) &&
(fabsf(scenery360->obj.pos.z - (actor->obj.pos.z + ((z * 650.0f) + 350.0f))) < 1200.0f) && (fabsf(scenery360->obj.pos.z - (this->obj.pos.z + ((cosRotY * 650.0f) + 350.0f))) < 1200.0f) &&
(actor->obj.pos.y < 650.0f)) { (this->obj.pos.y < 650.0f)) {
return true; return true;
} }
scenery360++; scenery360++;
if ((scenery360->obj.status == OBJ_ACTIVE) && if ((scenery360->obj.status == OBJ_ACTIVE) &&
(fabsf(scenery360->obj.pos.x - (actor->obj.pos.x + ((x * 650.0f) + 350.0f))) < 1200.0f) && (fabsf(scenery360->obj.pos.x - (this->obj.pos.x + ((sinRotY * 650.0f) + 350.0f))) < 1200.0f) &&
(fabsf(scenery360->obj.pos.z - (actor->obj.pos.z + ((z * 650.0f) + 350.0f))) < 1200.0f) && (fabsf(scenery360->obj.pos.z - (this->obj.pos.z + ((cosRotY * 650.0f) + 350.0f))) < 1200.0f) &&
(actor->obj.pos.y < 650.0f)) { (this->obj.pos.y < 650.0f)) {
return true; return true;
} }
scenery360++; scenery360++;
if ((scenery360->obj.status == OBJ_ACTIVE) && if ((scenery360->obj.status == OBJ_ACTIVE) &&
(fabsf(scenery360->obj.pos.x - (actor->obj.pos.x + ((x * 650.0f) + 350.0f))) < 1200.0f) && (fabsf(scenery360->obj.pos.x - (this->obj.pos.x + ((sinRotY * 650.0f) + 350.0f))) < 1200.0f) &&
(fabsf(scenery360->obj.pos.z - (actor->obj.pos.z + ((z * 650.0f) + 350.0f))) < 1200.0f) && (fabsf(scenery360->obj.pos.z - (this->obj.pos.z + ((cosRotY * 650.0f) + 350.0f))) < 1200.0f) &&
(actor->obj.pos.y < 650.0f)) { (this->obj.pos.y < 650.0f)) {
return true; return true;
} }
scenery360++; scenery360++;
i += 4; i += 4;
} }
return false; return false;
} }
void Training_80199024(Actor* actor) { void Training_Enemy_Update(ActorAllRange* this) {
s32 pad[8]; s32 pad[8];
Vec3f sp54; f32 xPos;
f32 var_fv0; f32 yPos;
f32 zPos;
f32 targetAngle2;
RadarMark* radarMark; RadarMark* radarMark;
f32 temp_fv0; f32 pad2;
f32 temp_fv1; f32 angle;
f32 var_fv0_2; f32 targetAngle;
s32 temp_v0; bool enemyNearObstacle;
f32 sinRotX; f32 sinRotX;
f32 sinRotY; f32 sinRotY;
f32 cosRotX; f32 cosRotX;
f32 cosRotY; f32 cosRotY;
if (actor->timer_0BC == 0) { if (this->timer_0BC == 0) {
sp54.y = RAND_FLOAT(1000.0f); yPos = RAND_FLOAT(1000.0f);
sp54.z = RAND_FLOAT_CENTERED(10000.0f); xPos = RAND_FLOAT_CENTERED(10000.0f);
sp54.x = RAND_FLOAT_CENTERED(10000.0f); zPos = RAND_FLOAT_CENTERED(10000.0f);
actor->fwork[4] = sp54.z; this->fwork[4] = xPos;
actor->fwork[5] = sp54.y; this->fwork[5] = yPos;
actor->fwork[6] = sp54.x; this->fwork[6] = zPos;
actor->timer_0BC = RAND_INT(20.0f) + 10; this->timer_0BC = RAND_INT(20.0f) + 10;
} }
sinRotX = SIN_DEG(actor->obj.rot.x); sinRotX = SIN_DEG(this->obj.rot.x);
cosRotX = COS_DEG(actor->obj.rot.x); cosRotX = COS_DEG(this->obj.rot.x);
sinRotY = SIN_DEG(actor->obj.rot.y); sinRotY = SIN_DEG(this->obj.rot.y);
cosRotY = COS_DEG(actor->obj.rot.y); cosRotY = COS_DEG(this->obj.rot.y);
sp54.z = actor->fwork[4] - actor->obj.pos.x; xPos = this->fwork[4] - this->obj.pos.x;
sp54.y = actor->fwork[5] - actor->obj.pos.y; yPos = this->fwork[5] - this->obj.pos.y;
sp54.x = actor->fwork[6] - actor->obj.pos.z; zPos = this->fwork[6] - this->obj.pos.z;
if (((actor->index + gGameFrameCount) % 8) == 0) { if (((this->index + gGameFrameCount) % 8) == 0) {
actor->fwork[19] = Math_RadToDeg(Math_Atan2F(sp54.z, sp54.x)); this->fwork[19] = Math_RadToDeg(Math_Atan2F(xPos, zPos));
actor->fwork[20] = Math_RadToDeg(Math_Atan2F(sp54.y, sqrtf(SQ(sp54.z) + SQ(sp54.x)))); this->fwork[20] = Math_RadToDeg(Math_Atan2F(yPos, sqrtf(SQ(xPos) + SQ(zPos))));
} }
var_fv0 = actor->fwork[20]; targetAngle2 = this->fwork[20];
temp_v0 = Training_80198DCC(actor, sinRotY, cosRotY); enemyNearObstacle = Training_EnemyObstacleCheck(this, sinRotY, cosRotY);
if (temp_v0 != 0) { if (enemyNearObstacle) {
var_fv0 += 40.0f * (f32) temp_v0; targetAngle2 += 40.0f * (f32) enemyNearObstacle;
if (var_fv0 >= 360.0f) { if (targetAngle2 >= 360.0f) {
var_fv0 -= 360.0f; targetAngle2 -= 360.0f;
} }
if (var_fv0 < 0.0f) { if (targetAngle2 < 0.0f) {
var_fv0 += 360.0f; targetAngle2 += 360.0f;
} }
} else if ((actor->obj.pos.y < (gGroundHeight + 50.0f)) && (var_fv0 > 180.0f)) { } else if ((this->obj.pos.y < (gGroundHeight + 50.0f)) && (targetAngle2 > 180.0f)) {
var_fv0 = 0.0f; targetAngle2 = 0.0f;
actor->rot_0F4.x = 0.0f; this->rot_0F4.x = 0.0f;
} }
Math_SmoothStepToAngle(&actor->rot_0F4.x, var_fv0, 0.5f, 1.0f, 0.0001f); Math_SmoothStepToAngle(&this->rot_0F4.x, targetAngle2, 0.5f, 1.0f, 0.0001f);
temp_fv1 = Math_SmoothStepToAngle(&actor->rot_0F4.y, actor->fwork[19], 0.5f, 1.0f, 0.0001f) * 30.0f; angle = Math_SmoothStepToAngle(&this->rot_0F4.y, this->fwork[19], 0.5f, 1.0f, 0.0001f) * 30.0f;
if (temp_fv1 < 0.0f) { if (angle < 0.0f) {
var_fv0_2 = temp_fv1 * -1.0f; targetAngle = angle * -1.0f;
} else { } else {
var_fv0_2 = 360.0f - temp_fv1; targetAngle = 360.0f - angle;
} }
Math_SmoothStepToAngle(&actor->obj.rot.z, var_fv0_2, 0.1f, 3.0f, 0.01f); Math_SmoothStepToAngle(&this->obj.rot.z, targetAngle, 0.1f, 3.0f, 0.01f);
actor->obj.rot.x = -actor->rot_0F4.x; this->obj.rot.x = -this->rot_0F4.x;
actor->obj.rot.y = actor->rot_0F4.y; this->obj.rot.y = this->rot_0F4.y;
actor->vel.x = actor->fwork[13] + (sinRotY * (cosRotX * 35.0f)); this->vel.x = this->fwork[13] + (sinRotY * (cosRotX * 35.0f));
actor->vel.y = actor->fwork[14] + (-sinRotX * 35.0f); this->vel.y = this->fwork[14] + (-sinRotX * 35.0f);
actor->vel.z = actor->fwork[12] + (cosRotY * (cosRotX * 35.0f)); this->vel.z = this->fwork[12] + (cosRotY * (cosRotX * 35.0f));
actor->fwork[13] -= (actor->fwork[13] * 0.1f); this->fwork[13] -= (this->fwork[13] * 0.1f);
actor->fwork[14] -= (actor->fwork[14] * 0.1f); this->fwork[14] -= (this->fwork[14] * 0.1f);
actor->fwork[12] -= (actor->fwork[12] * 0.1f); this->fwork[12] -= (this->fwork[12] * 0.1f);
if ((actor->obj.pos.y < gGroundHeight + 40.0f) && (actor->vel.y < 0.0f)) { if ((this->obj.pos.y < gGroundHeight + 40.0f) && (this->vel.y < 0.0f)) {
actor->obj.pos.y = gGroundHeight + 40.0f; this->obj.pos.y = gGroundHeight + 40.0f;
actor->vel.y = 0.0f; this->vel.y = 0.0f;
} }
ActorAllRange_ApplyDamage(actor); ActorAllRange_ApplyDamage(this);
radarMark = &gRadarMarks[actor->index]; radarMark = &gRadarMarks[this->index];
radarMark->status = 1; radarMark->status = 1;
radarMark->type = actor->aiType; radarMark->type = this->aiType;
radarMark->pos.x = actor->obj.pos.x; radarMark->pos.x = this->obj.pos.x;
radarMark->pos.y = actor->obj.pos.y; radarMark->pos.y = this->obj.pos.y;
radarMark->pos.z = actor->obj.pos.z; radarMark->pos.z = this->obj.pos.z;
radarMark->yRot = actor->rot_0F4.y + 180.0f; radarMark->yRot = this->rot_0F4.y + 180.0f;
if (actor->iwork[8] != 0) { if (this->iwork[8] != 0) {
actor->iwork[8]--; this->iwork[8]--;
} }
} }
typedef struct { typedef struct TrainingMessage {
u16* msg; /* 0x00 */ u16* msg;
u16 unk; /* 0x04 */ u16 msgTimer;
} UnkMsg_D_i1_8019AE50; } TrainingMessage;
UnkMsg_D_i1_8019AE50 D_i1_8019AE50[] = { TrainingMessage sTrainingMessages[] = {
{ gMsg_ID_23028, 224 }, { gMsg_ID_23029, 160 }, { gMsg_ID_23030, 224 }, { gMsg_ID_23031, 256 }, { gMsg_ID_23028, 224 }, { gMsg_ID_23029, 160 }, { gMsg_ID_23030, 224 }, { gMsg_ID_23031, 256 },
{ gMsg_ID_23016, 160 }, { gMsg_ID_23024, 160 }, { gMsg_ID_23019, 256 }, { gMsg_ID_23015, 160 }, { gMsg_ID_23016, 160 }, { gMsg_ID_23024, 160 }, { gMsg_ID_23019, 256 }, { gMsg_ID_23015, 160 },
{ gMsg_ID_23017, 160 }, { gMsg_ID_23025, 160 }, { gMsg_ID_23002, 160 }, { gMsg_ID_23004, 160 }, { gMsg_ID_23017, 160 }, { gMsg_ID_23025, 160 }, { gMsg_ID_23002, 160 }, { gMsg_ID_23004, 160 },
@ -183,53 +183,53 @@ UnkMsg_D_i1_8019AE50 D_i1_8019AE50[] = {
{ gMsg_ID_20330, 0 }, { gMsg_ID_23026, 256 }, { gMsg_ID_23032, 256 }, { NULL, -1 }, { gMsg_ID_20330, 0 }, { gMsg_ID_23026, 256 }, { gMsg_ID_23032, 256 }, { NULL, -1 },
}; };
void Training_8019949C(void) { void Training_SpawnEnemies(void) {
s32 i; s32 i;
Actor* actor; ActorAllRange* enemy;
Vec3f sp44; Vec3f src;
Vec3f sp38; Vec3f dest;
s32 var_v1 = 1; s32 aiTypeIndex;
aiTypeIndex = 1;
if (gHitCount >= 100) { if (gHitCount >= 100) {
var_v1 = 0; aiTypeIndex = 0;
} }
if (((gGameFrameCount % 4) == 0) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE)) { if (((gGameFrameCount % 4) == 0) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE)) {
sp44.x = 0.0f; src.x = 0.0f;
sp44.y = 0.0f; src.y = 0.0f;
sp44.z = -15000.0f; src.z = -15000.0f;
for (i = var_v1, actor = &gActors[i + 10]; i < 16; i++, actor++) { for (i = aiTypeIndex, enemy = &gActors[i + 10]; i < 16; i++, enemy++) {
if (actor->obj.status == OBJ_FREE) { if (enemy->obj.status == OBJ_FREE) {
Actor_Initialize(actor); Actor_Initialize(enemy);
actor->obj.status = OBJ_ACTIVE; enemy->obj.status = OBJ_ACTIVE;
actor->obj.id = OBJ_ACTOR_ALLRANGE; enemy->obj.id = OBJ_ACTOR_ALLRANGE;
Matrix_RotateY(gCalcMatrix, gGameFrameCount * 6.0f * M_DTOR, MTXF_NEW); Matrix_RotateY(gCalcMatrix, (gGameFrameCount * 6.0f) * M_DTOR, MTXF_NEW);
Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest);
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp44, &sp38); enemy->obj.pos.x = dest.x;
enemy->obj.pos.y = 2000.0f;
enemy->obj.pos.z = dest.z;
actor->obj.pos.x = sp38.x; enemy->rot_0F4.y = gGameFrameCount * 6.0f;
actor->obj.pos.y = 2000.0f; enemy->aiType = i + AI360_ENEMY;
actor->obj.pos.z = sp38.z; enemy->health = 24;
enemy->drawShadow = enemy->iwork[11] = 1;
enemy->timer_0C2 = 30;
actor->rot_0F4.y = gGameFrameCount * 6.0f; Object_SetInfo(&enemy->info, enemy->obj.id);
actor->aiType = i + AI360_10;
actor->health = 24;
actor->drawShadow = actor->iwork[11] = 1;
actor->timer_0C2 = 30;
Object_SetInfo(&actor->info, actor->obj.id); AUDIO_PLAY_SFX(NA_SE_ARWING_ENGINE_FG, enemy->sfxSource, 4);
AUDIO_PLAY_SFX(NA_SE_ARWING_ENGINE_FG, actor->sfxSource, 4);
if ((i + 10) == 10) { if ((i + 10) == 10) {
actor->aiIndex = AI360_FOX; enemy->aiIndex = AI360_FOX;
actor->health = 50; enemy->health = 50;
} else { } else {
actor->aiIndex = -1; enemy->aiIndex = -1;
actor->info.action = (ObjectFunc) Training_80199024; enemy->info.action = (ObjectFunc) Training_Enemy_Update;
} }
break; break;
} }
@ -241,12 +241,12 @@ void Training_8019949C(void) {
} }
if (gTraining360MsgTimer == 0) { if (gTraining360MsgTimer == 0) {
if (D_i1_8019AE50[gTraining360MsgIndex].msg == 0) { if (sTrainingMessages[gTraining360MsgIndex].msg == NULL) {
gTraining360MsgIndex = 1; gTraining360MsgIndex = 1;
} }
if (D_i1_8019AE50[gTraining360MsgIndex].unk != 0) { if (sTrainingMessages[gTraining360MsgIndex].msgTimer != 0) {
Radio_PlayMessage(D_i1_8019AE50[gTraining360MsgIndex].msg, RCID_TR); Radio_PlayMessage(sTrainingMessages[gTraining360MsgIndex].msg, RCID_TR);
gTraining360MsgTimer = D_i1_8019AE50[gTraining360MsgIndex].unk; gTraining360MsgTimer = sTrainingMessages[gTraining360MsgIndex].msgTimer;
} else { } else {
gCallTimer = 80; gCallTimer = 80;
gTraining360MsgTimer = 320; gTraining360MsgTimer = 320;

View File

@ -308,7 +308,7 @@ void Venom1_BossTrigger4_Update(Ve1BossTrigger4* this) {
} }
} }
void Venom1_801924A8(Scenery* scenery) { void Venom1_Scenery127_Update(Scenery* scenery) {
switch (scenery->state) { switch (scenery->state) {
case 0: case 0:
if (gPlayer[0].pos.z < scenery->obj.pos.z) { if (gPlayer[0].pos.z < scenery->obj.pos.z) {
@ -323,10 +323,10 @@ void Venom1_801924A8(Scenery* scenery) {
} }
} }
void Venom1_8019250C(Actor* actor) { void Venom1_8019250C(Actor* this) {
} }
void Venom1_80192518(Actor* actor) { void Venom1_Actor280_Update(Actor280* this) {
Scenery* scenery; Scenery* scenery;
f32 var_ft4; f32 var_ft4;
f32 var_ft5; f32 var_ft5;
@ -336,18 +336,18 @@ void Venom1_80192518(Actor* actor) {
f32 temp_fv1_2; f32 temp_fv1_2;
Effect* effect; Effect* effect;
if (actor->dmgType == DMG_BEAM) { if (this->dmgType == DMG_BEAM) {
actor->dmgType = DMG_NONE; this->dmgType = DMG_NONE;
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_REFLECT); Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_REFLECT);
} }
if ((actor->state == 1) || (actor->state == 2) || (actor->state == 3)) { if ((this->state == 1) || (this->state == 2) || (this->state == 3)) {
Matrix_RotateY(gCalcMatrix, actor->obj.rot.y * M_DTOR, MTXF_NEW); Matrix_RotateY(gCalcMatrix, this->obj.rot.y * M_DTOR, MTXF_NEW);
Matrix_RotateX(gCalcMatrix, actor->obj.rot.x * M_DTOR, MTXF_APPLY); Matrix_RotateX(gCalcMatrix, this->obj.rot.x * M_DTOR, MTXF_APPLY);
Matrix_RotateZ(gCalcMatrix, actor->obj.rot.z * M_DTOR, MTXF_APPLY); Matrix_RotateZ(gCalcMatrix, this->obj.rot.z * M_DTOR, MTXF_APPLY);
} }
switch (actor->state) { switch (this->state) {
case 0: case 0:
case 4: case 4:
break; break;
@ -361,8 +361,8 @@ void Venom1_80192518(Actor* actor) {
for (i = 0; i < ARRAY_COUNT(gScenery); i++, scenery++) { for (i = 0; i < ARRAY_COUNT(gScenery); i++, scenery++) {
if ((scenery->obj.id == OBJ_SCENERY_128) || (scenery->obj.id == OBJ_SCENERY_129) || if ((scenery->obj.id == OBJ_SCENERY_128) || (scenery->obj.id == OBJ_SCENERY_129) ||
(scenery->obj.id == OBJ_SCENERY_130)) { (scenery->obj.id == OBJ_SCENERY_130)) {
if (((actor->obj.pos.z + 1100.0f - scenery->obj.pos.z) < 2200.0f) && if (((this->obj.pos.z + 1100.0f - scenery->obj.pos.z) < 2200.0f) &&
((actor->obj.pos.z + 1100.0f - scenery->obj.pos.z) > 0.0f)) { ((this->obj.pos.z + 1100.0f - scenery->obj.pos.z) > 0.0f)) {
switch (scenery->obj.id) { switch (scenery->obj.id) {
case OBJ_SCENERY_128: case OBJ_SCENERY_128:
case OBJ_SCENERY_130: case OBJ_SCENERY_130:
@ -378,32 +378,32 @@ void Venom1_80192518(Actor* actor) {
} }
} }
} }
actor->fwork[0] = 0.0f; this->fwork[0] = 0.0f;
if ((actor->obj.pos.x + var_ft4) < 0.0f) { if ((this->obj.pos.x + var_ft4) < 0.0f) {
actor->fwork[1] = 896.0f - (var_ft4 - var_ft5 - actor->obj.pos.x); this->fwork[1] = 896.0f - (var_ft4 - var_ft5 - this->obj.pos.x);
actor->obj.pos.x = var_ft4 - var_ft5; this->obj.pos.x = var_ft4 - var_ft5;
} else { } else {
actor->fwork[1] = 896.0f + (var_ft4 + var_ft5 - actor->obj.pos.x); this->fwork[1] = 896.0f + (var_ft4 + var_ft5 - this->obj.pos.x);
actor->obj.pos.x = var_ft4 + var_ft5; this->obj.pos.x = var_ft4 + var_ft5;
} }
actor->timer_0BC = actor->iwork[2]; this->timer_0BC = this->iwork[2];
AUDIO_PLAY_SFX(NA_SE_OB_POLE_MOVE, actor->sfxSource, 0); AUDIO_PLAY_SFX(NA_SE_OB_POLE_MOVE, this->sfxSource, 0);
actor->state = 2; this->state = 2;
case 2: case 2:
if (actor->timer_0BC == 0) { if (this->timer_0BC == 0) {
src.x = temp_fv1_2 = Math_SmoothStepToF(&actor->fwork[0], actor->fwork[1], 0.7f, 80.0f, 0.01f); src.x = temp_fv1_2 = Math_SmoothStepToF(&this->fwork[0], this->fwork[1], 0.7f, 80.0f, 0.01f);
src.y = 0.0f; src.y = 0.0f;
src.z = 0.0f; src.z = 0.0f;
Matrix_MultVec3f(gCalcMatrix, &src, &dest); Matrix_MultVec3f(gCalcMatrix, &src, &dest);
actor->obj.pos.x += dest.x; this->obj.pos.x += dest.x;
actor->obj.pos.y += dest.y; this->obj.pos.y += dest.y;
actor->obj.pos.z += dest.z; this->obj.pos.z += dest.z;
effect = func_effect_8007783C(OBJ_EFFECT_394); effect = func_effect_8007783C(OBJ_EFFECT_394);
@ -412,9 +412,9 @@ void Venom1_80192518(Actor* actor) {
effect->unk_78 = effect->unk_7A; effect->unk_78 = effect->unk_7A;
effect->obj.status = OBJ_ACTIVE; effect->obj.status = OBJ_ACTIVE;
effect->obj.pos.x = RAND_FLOAT_CENTERED(3.0f) + actor->obj.pos.x; effect->obj.pos.x = RAND_FLOAT_CENTERED(3.0f) + this->obj.pos.x;
effect->obj.pos.y = RAND_FLOAT_CENTERED(3.0f) + actor->obj.pos.y; effect->obj.pos.y = RAND_FLOAT_CENTERED(3.0f) + this->obj.pos.y;
effect->obj.pos.z = RAND_FLOAT_CENTERED(3.0f) + actor->obj.pos.z + 80.0f; effect->obj.pos.z = RAND_FLOAT_CENTERED(3.0f) + this->obj.pos.z + 80.0f;
effect->scale2 = 8.0f; effect->scale2 = 8.0f;
@ -431,78 +431,79 @@ void Venom1_80192518(Actor* actor) {
effect->unk_60.z = -effect->unk_60.z; effect->unk_60.z = -effect->unk_60.z;
} }
if ((actor->iwork[0] % 2) != 0) { if ((this->iwork[0] % 2) != 0) {
effect->vel.y = -effect->vel.y; effect->vel.y = -effect->vel.y;
} }
} }
if (fabs(temp_fv1_2) <= 5.0) { if (fabs(temp_fv1_2) <= 5.0) {
actor->timer_0BE = 30; this->timer_0BE = 30;
actor->state++; this->state++;
actor->fwork[2] = actor->obj.pos.x; this->fwork[2] = this->obj.pos.x;
actor->fwork[3] = actor->obj.pos.y; this->fwork[3] = this->obj.pos.y;
actor->fwork[4] = actor->obj.pos.z; this->fwork[4] = this->obj.pos.z;
} }
} }
break; break;
case 3: case 3:
src.x = __sinf((((30 - actor->timer_0BE) % 10) / 10.0f) * M_PI * 2) * 5.0f; src.x = __sinf((((30 - this->timer_0BE) % 10) / 10.0f) * M_PI * 2) * 5.0f;
src.y = 0.0f; src.y = 0.0f;
src.z = 0.0f; src.z = 0.0f;
Matrix_MultVec3f(gCalcMatrix, &src, &dest); Matrix_MultVec3f(gCalcMatrix, &src, &dest);
actor->obj.pos.x = actor->fwork[2] + dest.x; this->obj.pos.x = this->fwork[2] + dest.x;
actor->obj.pos.y = actor->fwork[3] + dest.y; this->obj.pos.y = this->fwork[3] + dest.y;
actor->obj.pos.z = actor->fwork[4] + dest.z; this->obj.pos.z = this->fwork[4] + dest.z;
if (actor->timer_0BE == 0) { if (this->timer_0BE == 0) {
actor->state++; this->state++;
} }
break; break;
} }
actor->iwork[0]++; this->iwork[0]++;
} }
void Venom1_80192AA4(Actor* actor) { void Venom1_80192AA4(Actor* this) {
static Vec3f D_i1_80199FFC = { 0.0f, 460.0f, 0.0f }; static Vec3f D_i1_80199FFC = { 0.0f, 460.0f, 0.0f };
Vec3f src; Vec3f src;
Vec3f dest; Vec3f dest;
f32 y; f32 y;
Matrix_RotateY(gCalcMatrix, actor->obj.rot.y * M_DTOR, MTXF_NEW); Matrix_RotateY(gCalcMatrix, this->obj.rot.y * M_DTOR, MTXF_NEW);
Matrix_RotateX(gCalcMatrix, actor->obj.rot.x * M_DTOR, MTXF_APPLY); Matrix_RotateX(gCalcMatrix, this->obj.rot.x * M_DTOR, MTXF_APPLY);
if ((actor->obj.rot.y <= 30.0f) || (actor->obj.rot.y >= 330.0f)) { if ((this->obj.rot.y <= 30.0f) || (this->obj.rot.y >= 330.0f)) {
for (D_i1_80199FFC.x = -80.0f; D_i1_80199FFC.x <= 80.0f; D_i1_80199FFC.x += 40.0f) { for (D_i1_80199FFC.x = -80.0f; D_i1_80199FFC.x <= 80.0f; D_i1_80199FFC.x += 40.0f) {
Matrix_MultVec3fNoTranslate(gCalcMatrix, &D_i1_80199FFC, &dest); Matrix_MultVec3fNoTranslate(gCalcMatrix, &D_i1_80199FFC, &dest);
} }
} else { } else {
src.z = 0.0f; src.z = 0.0f;
src.x = -80.0f; src.x = -80.0f;
if (actor->obj.rot.y > 90.0f) { if (this->obj.rot.y > 90.0f) {
src.x = 80.0f; src.x = 80.0f;
} }
for (y = 0.0f; y <= 450.0f; y += 50.0f) { for (y = 0.0f; y <= 450.0f; y += 50.0f) {
Matrix_RotateY(gCalcMatrix, actor->obj.rot.y * M_DTOR, MTXF_NEW); Matrix_RotateY(gCalcMatrix, this->obj.rot.y * M_DTOR, MTXF_NEW);
Matrix_RotateX(gCalcMatrix, actor->obj.rot.x * M_DTOR, MTXF_APPLY); Matrix_RotateX(gCalcMatrix, this->obj.rot.x * M_DTOR, MTXF_APPLY);
src.y = y; src.y = y;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest); Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest);
} }
} }
} }
void Venom1_80192CB0(Actor* actor) { void Venom1_80192CB0(Actor* this) {
actor->iwork[0] = actor->obj.rot.x; this->iwork[0] = this->obj.rot.x;
actor->obj.rot.x = 0.0f; this->obj.rot.x = 0.0f;
} }
void Venom1_80192CD4(Actor* actor) { // Actors OBJ_ACTOR_281 & OBJ_ACTOR_282
void Venom1_Doodad_Update(Actor* actor) {
if (actor->dmgType == DMG_BEAM) { if (actor->dmgType == DMG_BEAM) {
actor->dmgType = DMG_NONE; actor->dmgType = DMG_NONE;
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_REFLECT); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_REFLECT);
} }
if (actor->iwork[1] > 0) { if (actor->iwork[1] > 0) {
@ -543,16 +544,16 @@ void Venom1_80192CD4(Actor* actor) {
} }
} }
void Venom1_80192E2C(Actor* actor) { void Venom1_Actor281_Draw(Actor281* this) {
Matrix_Scale(gGfxMatrix, 1.0f, 0.5f, 1.0f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 1.0f, 0.5f, 1.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_VE1_901DA50); gSPDisplayList(gMasterDisp++, D_VE1_901DA50);
} }
void Venom1_80192EA4(Actor* actor) { void Venom1_80192EA4(Actor* this) {
} }
void Venom1_80192EB0(Actor* actor) { void Venom1_Actor283_Update(Actor283* this) {
Scenery* scenery; Scenery* scenery;
Vec3f sp50; Vec3f sp50;
Vec3f sp44; Vec3f sp44;
@ -561,14 +562,15 @@ void Venom1_80192EB0(Actor* actor) {
s32 i; s32 i;
f32 var_ft4; f32 var_ft4;
Matrix_RotateY(gCalcMatrix, actor->obj.rot.y * M_DTOR, MTXF_NEW); Matrix_RotateY(gCalcMatrix, this->obj.rot.y * M_DTOR, MTXF_NEW);
Matrix_RotateX(gCalcMatrix, actor->obj.rot.x * M_DTOR, MTXF_APPLY); Matrix_RotateX(gCalcMatrix, this->obj.rot.x * M_DTOR, MTXF_APPLY);
Matrix_RotateZ(gCalcMatrix, actor->obj.rot.z * M_DTOR, MTXF_APPLY); Matrix_RotateZ(gCalcMatrix, this->obj.rot.z * M_DTOR, MTXF_APPLY);
switch (actor->state) { switch (this->state) {
case 0: case 0:
case 4: case 4:
break; break;
case 1: case 1:
var_ft4 = 0.0f; var_ft4 = 0.0f;
scenery = gScenery; scenery = gScenery;
@ -576,37 +578,37 @@ void Venom1_80192EB0(Actor* actor) {
for (i = 0; i < ARRAY_COUNT(gScenery); i++, scenery++) { for (i = 0; i < ARRAY_COUNT(gScenery); i++, scenery++) {
if (((scenery->obj.id == OBJ_SCENERY_128) || (scenery->obj.id == OBJ_SCENERY_129) || if (((scenery->obj.id == OBJ_SCENERY_128) || (scenery->obj.id == OBJ_SCENERY_129) ||
(scenery->obj.id == OBJ_SCENERY_130)) && (scenery->obj.id == OBJ_SCENERY_130)) &&
((actor->obj.pos.z + 1100.0f - scenery->obj.pos.z) < 2200.0f) && ((this->obj.pos.z + 1100.0f - scenery->obj.pos.z) < 2200.0f) &&
((actor->obj.pos.z + 1100.0f - scenery->obj.pos.z) > 0.0f)) { ((this->obj.pos.z + 1100.0f - scenery->obj.pos.z) > 0.0f)) {
var_ft4 = scenery->obj.pos.y; var_ft4 = scenery->obj.pos.y;
break; break;
} }
} }
actor->fwork[0] = 0.0f; this->fwork[0] = 0.0f;
actor->fwork[1] = 1237.0f - (var_ft4 - actor->obj.pos.y); this->fwork[1] = 1237.0f - (var_ft4 - this->obj.pos.y);
actor->obj.pos.y = var_ft4 + 1.0f; this->obj.pos.y = var_ft4 + 1.0f;
actor->timer_0BC = actor->iwork[1]; this->timer_0BC = this->iwork[1];
AUDIO_PLAY_SFX(NA_SE_OB_POLE_MOVE, actor->sfxSource, 0); AUDIO_PLAY_SFX(NA_SE_OB_POLE_MOVE, this->sfxSource, 0);
actor->state = 2; this->state = 2;
case 2: case 2:
if (actor->timer_0BC == 0) { if (this->timer_0BC == 0) {
sp50.y = sp40 = Math_SmoothStepToF(&actor->fwork[0], actor->fwork[1], 0.7f, 80.0f, 0.01f); sp50.y = sp40 = Math_SmoothStepToF(&this->fwork[0], this->fwork[1], 0.7f, 80.0f, 0.01f);
sp50.x = 0.0f; sp50.x = 0.0f;
sp50.z = 0.0f; sp50.z = 0.0f;
Matrix_MultVec3f(gCalcMatrix, &sp50, &sp44); Matrix_MultVec3f(gCalcMatrix, &sp50, &sp44);
actor->obj.pos.x += sp44.x; this->obj.pos.x += sp44.x;
actor->obj.pos.y += sp44.y; this->obj.pos.y += sp44.y;
actor->obj.pos.z += sp44.z; this->obj.pos.z += sp44.z;
effect = func_effect_8007783C(OBJ_EFFECT_394); effect = func_effect_8007783C(OBJ_EFFECT_394);
if (effect != NULL) { if (effect != NULL) {
effect->unk_7A = 11; effect->unk_7A = 11;
effect->unk_78 = effect->unk_7A; effect->unk_78 = effect->unk_7A;
effect->obj.status = OBJ_ACTIVE; effect->obj.status = OBJ_ACTIVE;
effect->obj.pos.x = actor->obj.pos.x + RAND_FLOAT_CENTERED(3.0f); effect->obj.pos.x = this->obj.pos.x + RAND_FLOAT_CENTERED(3.0f);
effect->obj.pos.y = actor->obj.pos.y + RAND_FLOAT_CENTERED(3.0f); effect->obj.pos.y = this->obj.pos.y + RAND_FLOAT_CENTERED(3.0f);
effect->obj.pos.z = actor->obj.pos.z + RAND_FLOAT_CENTERED(3.0f) + 80.0f; effect->obj.pos.z = this->obj.pos.z + RAND_FLOAT_CENTERED(3.0f) + 80.0f;
effect->scale2 = 8.0f; effect->scale2 = 8.0f;
effect->obj.rot.z = RAND_FLOAT(360.0f); effect->obj.rot.z = RAND_FLOAT(360.0f);
effect->vel.x = RAND_FLOAT_CENTERED(5.0f); effect->vel.x = RAND_FLOAT_CENTERED(5.0f);
@ -617,74 +619,80 @@ void Venom1_80192EB0(Actor* actor) {
if (Rand_ZeroOne() < 0.5f) { if (Rand_ZeroOne() < 0.5f) {
effect->unk_60.z = -effect->unk_60.z; effect->unk_60.z = -effect->unk_60.z;
} }
if ((actor->iwork[0] % 2) != 0) { if ((this->iwork[0] % 2) != 0) {
effect->vel.y = -effect->vel.y; effect->vel.y = -effect->vel.y;
} }
} }
if (fabs(sp40) <= 5.0) { if (fabs(sp40) <= 5.0) {
actor->timer_0BE = 30; this->timer_0BE = 30;
actor->state++; this->state++;
actor->fwork[2] = actor->obj.pos.x; this->fwork[2] = this->obj.pos.x;
actor->fwork[3] = actor->obj.pos.y; this->fwork[3] = this->obj.pos.y;
actor->fwork[4] = actor->obj.pos.z; this->fwork[4] = this->obj.pos.z;
} }
} }
break; break;
case 3: case 3:
sp50.x = 0.0f; sp50.x = 0.0f;
sp50.y = __sinf((((30 - actor->timer_0BE) % 10) / 10.0f) * M_PI * 2) * 5.0f; sp50.y = __sinf((((30 - this->timer_0BE) % 10) / 10.0f) * M_PI * 2) * 5.0f;
sp50.z = 0.0f; sp50.z = 0.0f;
Matrix_MultVec3f(gCalcMatrix, &sp50, &sp44); Matrix_MultVec3f(gCalcMatrix, &sp50, &sp44);
actor->obj.pos.x = actor->fwork[2] + sp44.x;
actor->obj.pos.y = actor->fwork[3] + sp44.y; this->obj.pos.x = this->fwork[2] + sp44.x;
actor->obj.pos.z = actor->fwork[4] + sp44.z; this->obj.pos.y = this->fwork[3] + sp44.y;
if (actor->timer_0BE == 0) { this->obj.pos.z = this->fwork[4] + sp44.z;
actor->state++;
if (this->timer_0BE == 0) {
this->state++;
} }
break; break;
} }
if (actor->dmgType == DMG_BEAM) {
actor->dmgType = DMG_NONE; if (this->dmgType == DMG_BEAM) {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_REFLECT); this->dmgType = DMG_NONE;
Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_REFLECT);
} }
actor->iwork[0]++; this->iwork[0]++;
} }
void Venom1_801933B4(Actor* actor) { void Venom1_801933B4(Actor* this) {
actor->scale = -1.0f; this->scale = -1.0f;
actor->obj.pos.y += 488.0f; this->obj.pos.y += 488.0f;
} }
void Venom1_801933DC(Actor* actor) { void Venom1_Actor284_Update(Actor284* this) {
f32* hitboxData; f32* hitboxData;
if (actor->dmgType == DMG_BEAM) { if (this->dmgType == DMG_BEAM) {
actor->dmgType = DMG_NONE; this->dmgType = DMG_NONE;
AUDIO_PLAY_SFX(NA_SE_EN_REFLECT, actor->sfxSource, 0); AUDIO_PLAY_SFX(NA_SE_EN_REFLECT, this->sfxSource, 0);
} }
if ((actor->animFrame == 38) || (actor->animFrame == 58)) { if ((this->animFrame == 38) || (this->animFrame == 58)) {
AUDIO_PLAY_SFX(NA_SE_OB_ARM_SWING, actor->sfxSource, 0); AUDIO_PLAY_SFX(NA_SE_OB_ARM_SWING, this->sfxSource, 0);
} }
Animation_GetFrameData(&D_VE1_900D098, actor->animFrame, actor->vwork); Animation_GetFrameData(&D_VE1_900D098, this->animFrame, this->vwork);
if (actor->animFrame < (Animation_GetFrameCount(&D_VE1_900D098) - 1)) { if (this->animFrame < (Animation_GetFrameCount(&D_VE1_900D098) - 1)) {
actor->animFrame++; this->animFrame++;
} else { } else {
actor->animFrame = 0; this->animFrame = 0;
} }
hitboxData = actor->info.hitbox;
hitboxData[1 + (10 * 0) + 7] = actor->vwork[3].y; hitboxData = this->info.hitbox;
hitboxData[1 + (10 * 1) + 7] = -actor->vwork[2].y; hitboxData[1 + (10 * 0) + 7] = this->vwork[3].y;
hitboxData[1 + (10 * 1) + 7] = -this->vwork[2].y;
} }
void Venom1_801934D0(Actor* actor) { void Venom1_Actor284_Draw(Actor* this) {
Matrix_Translate(gGfxMatrix, 0.0f, -488.0f, 0.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, 0.0f, -488.0f, 0.0f, MTXF_APPLY);
Animation_DrawSkeleton(0, D_VE1_900D164, actor->vwork, NULL, NULL, actor, &gIdentityMatrix); Animation_DrawSkeleton(0, D_VE1_900D164, this->vwork, NULL, NULL, this, &gIdentityMatrix);
} }
void Venom1_80193540(Scenery* scenery) { void Venom1_Scenery52_Update(Scenery* scenery) {
if (((gPlayer[0].trueZpos - scenery->obj.pos.z) <= 3500.0f) && ((gGameFrameCount % 4) == 0)) { if (((gPlayer[0].trueZpos - scenery->obj.pos.z) <= 3500.0f) && ((gGameFrameCount % 4) == 0)) {
func_effect_8007C120(scenery->obj.pos.x, scenery->obj.pos.y, scenery->obj.pos.z, 0.0f, 0.0f, 0.0f, 0.2f, 10); func_effect_8007C120(scenery->obj.pos.x, scenery->obj.pos.y, scenery->obj.pos.z, 0.0f, 0.0f, 0.0f, 0.2f, 10);
} }
@ -821,10 +829,13 @@ void Venom1_Boss319_Init(Boss319* this) {
s32 j; s32 j;
gGroundClipMode = 1; gGroundClipMode = 1;
D_i1_8019C0B8 = 0; D_i1_8019C0B8 = 0;
D_i1_8019C0BC = 0; D_i1_8019C0BC = 0;
D_i1_8019C0C0 = 0; D_i1_8019C0C0 = 0;
gBossActive = true; gBossActive = true;
this->drawShadow = true; this->drawShadow = true;
this->fwork[2] = D_i1_8019A04C[this->swork[13]][0]; this->fwork[2] = D_i1_8019A04C[this->swork[13]][0];
this->fwork[14] = D_i1_8019A04C[this->swork[13]][1]; this->fwork[14] = D_i1_8019A04C[this->swork[13]][1];
@ -853,12 +864,14 @@ void Venom1_Boss319_Init(Boss319* this) {
D_i1_8019B838[i].unk_74 = D_i1_8019B838[i].unk_78 = 0.0f; D_i1_8019B838[i].unk_74 = D_i1_8019B838[i].unk_78 = 0.0f;
D_i1_8019B838[i].unk_7C = 0; D_i1_8019B838[i].unk_7C = 0;
} }
this->fwork[11] = 1.0f; this->fwork[11] = 1.0f;
for (i = 0; i < 33U; i++) { for (i = 0; i < 33U; i++) {
D_i1_8019B7F0[i] = 0; D_i1_8019B7F0[i] = 0;
} }
var_v0 = 0;
for (i = 0; i < ARRAY_COUNTU(D_i1_8019B838); i++) { for (var_v0 = 0, i = 0; i < ARRAY_COUNTU(D_i1_8019B838); i++) {
var_v0 += D_i1_8019A820[i].unk_02; var_v0 += D_i1_8019A820[i].unk_02;
} }
this->swork[29] = this->swork[30] = var_v0 + 100; this->swork[29] = this->swork[30] = var_v0 + 100;
@ -886,7 +899,9 @@ bool Venom1_801937F4(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* t
rot->x -= 360.0f; rot->x -= 360.0f;
} }
} }
override = false; override = false;
for (i = 0; i < 18; i++) { for (i = 0; i < 18; i++) {
if (limbIndex == D_i1_8019A748[i].limb) { if (limbIndex == D_i1_8019A748[i].limb) {
Matrix_Translate(gCalcMatrix, pos->x, pos->y, pos->z, MTXF_APPLY); Matrix_Translate(gCalcMatrix, pos->x, pos->y, pos->z, MTXF_APPLY);
@ -895,6 +910,7 @@ bool Venom1_801937F4(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* t
Matrix_RotateX(gCalcMatrix, rot->x * M_DTOR, MTXF_APPLY); Matrix_RotateX(gCalcMatrix, rot->x * M_DTOR, MTXF_APPLY);
Matrix_Mult(gGfxMatrix, gCalcMatrix, MTXF_APPLY); Matrix_Mult(gGfxMatrix, gCalcMatrix, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
if (!(D_i1_8019B838[D_i1_8019A748[i].index].unk_7C & 1)) { if (!(D_i1_8019B838[D_i1_8019A748[i].index].unk_7C & 1)) {
if (D_i1_8019B838[D_i1_8019A748[i].index].unk_00 > 0) { if (D_i1_8019B838[D_i1_8019A748[i].index].unk_00 > 0) {
if ((D_i1_8019B838[D_i1_8019A748[i].index].unk_02[2] & 2) == 2) { if ((D_i1_8019B838[D_i1_8019A748[i].index].unk_02[2] & 2) == 2) {
@ -1047,8 +1063,10 @@ void Venom1_80193D64(s32 limbIndex, Vec3f* rot, void* thisx) {
} }
break; break;
} }
RCP_SetupDL(&gMasterDisp, SETUPDL_64); RCP_SetupDL(&gMasterDisp, SETUPDL_64);
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK); gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
var_s6 = D_i1_8019A820; var_s6 = D_i1_8019A820;
var_s7 = D_i1_8019B838; var_s7 = D_i1_8019B838;
for (spBC = 0; spBC < ARRAY_COUNTU(D_i1_8019B838); spBC++, var_s6++, var_s7++) { for (spBC = 0; spBC < ARRAY_COUNTU(D_i1_8019B838); spBC++, var_s6++, var_s7++) {
@ -2370,7 +2388,7 @@ void Venom1_80198594(Boss* boss) {
} }
} }
void Venom1_Boss_Draw(Boss* boss) { void Venom1_Boss_Draw(Boss319* boss) {
if (boss->swork[26] == 0) { if (boss->swork[26] == 0) {
Animation_DrawSkeleton(0, D_VE1_901C0F4, boss->vwork, Venom1_801937F4, Venom1_80193D64, boss, &gIdentityMatrix); Animation_DrawSkeleton(0, D_VE1_901C0F4, boss->vwork, Venom1_801937F4, Venom1_80193D64, boss, &gIdentityMatrix);
} }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -12,7 +12,7 @@
const char D_i3_801C1A30[] = "プレイヤーのすべてをクリア \n"; // Clear of all players const char D_i3_801C1A30[] = "プレイヤーのすべてをクリア \n"; // Clear of all players
const char D_i3_801C1A50[] = "i %d\n"; const char D_i3_801C1A50[] = "i %d\n";
typedef enum { typedef enum BossAQLimbs {
/* 0 */ AQ_LIMB_0, /* 0 */ AQ_LIMB_0,
/* 1 */ AQ_LIMB_1, /* 1 */ AQ_LIMB_1,
/* 2 */ AQ_LIMB_2, /* 2 */ AQ_LIMB_2,
@ -44,7 +44,7 @@ typedef enum {
/* 28 */ AQ_LIMB_MAX, /* 28 */ AQ_LIMB_MAX,
} BossAQLimbs; } BossAQLimbs;
typedef enum { typedef enum BossAQswork {
/* 0 */ AQ_SWK_0, /* 0 */ AQ_SWK_0,
/* 1 */ AQ_SWK_1, /* 1 */ AQ_SWK_1,
/* 2 */ AQ_SWK_2, /* 2 */ AQ_SWK_2,
@ -88,7 +88,7 @@ typedef enum {
/* 40 */ AQ_SWK_MAX, /* 40 */ AQ_SWK_MAX,
} BossAQswork; } BossAQswork;
typedef enum { typedef enum BossAQfwork {
/* 0 */ AQ_FWK_0, /* 0 */ AQ_FWK_0,
/* 1 */ AQ_FWK_1, /* 1 */ AQ_FWK_1,
/* 2 */ AQ_FWK_2, /* 2 */ AQ_FWK_2,
@ -142,7 +142,7 @@ typedef enum {
/* 50 */ AQ_FWK_MAX, /* 50 */ AQ_FWK_MAX,
} BossAQfwork; } BossAQfwork;
typedef enum { typedef enum BossAQvwork {
/* 0 */ AQ_VWK_0, /* 0 */ AQ_VWK_0,
/* 1 */ AQ_VWK_1, /* 1 */ AQ_VWK_1,
/* 2 */ AQ_VWK_2, /* 2 */ AQ_VWK_2,
@ -1382,7 +1382,7 @@ void Aquas_801AC8A8(f32 xPos, f32 yPos, f32 zPos, f32 scale2, s32 unk4E) {
} }
// OBJ_EFFECT_366 action // OBJ_EFFECT_366 action
void Aquas_801AC918(Effect* effect) { void Aquas_Effect366_Update(Effect* effect) {
f32 temp_fs0; f32 temp_fs0;
if (effect->unk_46 != 0) { if (effect->unk_46 != 0) {
@ -1627,7 +1627,7 @@ void Aquas_801AD688(Actor* actor) {
} }
// OBJ_ACTOR_255 action // OBJ_ACTOR_255 action
void Aquas_801AD6C0(Actor* actor) { void Aquas_Actor255_Update(Actor* actor) {
s32 var_v0 = actor->iwork[2] - 1; s32 var_v0 = actor->iwork[2] - 1;
f32 sp80; f32 sp80;
f32 sp7C; f32 sp7C;
@ -1825,7 +1825,7 @@ void Aquas_801ADF7C(f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot, f32 zRot,
} }
// OBJ_ACTOR_255 draw // OBJ_ACTOR_255 draw
void Aquas_801AE168(Actor* actor) { void Aquas_Actor255_Draw(Actor* actor) {
s32 i; s32 i;
f32 xz; f32 xz;
f32 yRot; f32 yRot;
@ -1875,7 +1875,7 @@ void Aquas_801AE3AC(Actor* actor) {
} }
// OBJ_ACTOR_256 action // OBJ_ACTOR_256 action
void Aquas_801AE3D8(Actor* actor) { void Aquas_Actor256_Update(Actor* actor) {
s32 i; s32 i;
switch (actor->state) { switch (actor->state) {
@ -2027,7 +2027,7 @@ void Aquas_801AE3D8(Actor* actor) {
} }
// OBJ_ACTOR_256 draw // OBJ_ACTOR_256 draw
void Aquas_801AEB44(Actor* actor) { void Aquas_Actor256_Draw(Actor* actor) {
f32 var_fv0; f32 var_fv0;
u8 var_t1; u8 var_t1;
u8 i; u8 i;
@ -2156,7 +2156,7 @@ void Aquas_801AF9FC(Actor* actor) {
} }
// OBJ_ACTOR_257 action // OBJ_ACTOR_257 action
void Aquas_801AFA5C(Actor* actor) { void Aquas_Actor257_Update(Actor* actor) {
s32 i; s32 i;
f32 sp70; f32 sp70;
f32 sp6C; f32 sp6C;
@ -2402,7 +2402,7 @@ void Aquas_801AFA5C(Actor* actor) {
} }
// OBJ_ACTOR_257 draw // OBJ_ACTOR_257 draw
void Aquas_801B099C(Actor* actor) { void Aquas_Actor257_Draw(Actor* actor) {
Matrix_RotateY(gGfxMatrix, (actor->obj.rot.x + actor->fwork[3]) * M_DTOR, MTXF_APPLY); Matrix_RotateY(gGfxMatrix, (actor->obj.rot.x + actor->fwork[3]) * M_DTOR, MTXF_APPLY);
Matrix_RotateX(gGfxMatrix, (actor->obj.rot.y + actor->fwork[4]) * M_DTOR, MTXF_APPLY); Matrix_RotateX(gGfxMatrix, (actor->obj.rot.y + actor->fwork[4]) * M_DTOR, MTXF_APPLY);
Matrix_RotateZ(gGfxMatrix, (actor->obj.rot.z + actor->fwork[5]) * M_DTOR, MTXF_APPLY); Matrix_RotateZ(gGfxMatrix, (actor->obj.rot.z + actor->fwork[5]) * M_DTOR, MTXF_APPLY);
@ -2430,7 +2430,7 @@ void Aquas_801B099C(Actor* actor) {
} }
// OBJ_ACTOR_258 action // OBJ_ACTOR_258 action
void Aquas_801B0B60(Actor* actor) { void Aquas_Actor258_Update(Actor* actor) {
Vec3f sp44; Vec3f sp44;
Vec3f sp38; Vec3f sp38;
@ -2492,7 +2492,7 @@ void Aquas_801B0B60(Actor* actor) {
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
func_effect_800815DC(); func_effect_800815DC();
func_effect_8007D0E0(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z + 50.0f, 5.0f); func_effect_8007D0E0(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z + 50.0f, 5.0f);
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_SEA_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_SEA_EXPLOSION_S);
break; break;
} }
@ -2504,7 +2504,7 @@ void Aquas_801B0B60(Actor* actor) {
} }
// OBJ_ACTOR_258 draw // OBJ_ACTOR_258 draw
void Aquas_801B0EC0(Actor* actor) { void Aquas_Actor258_Draw(Actor* actor) {
if (actor->timer_0BC == 0) { if (actor->timer_0BC == 0) {
Graphics_SetScaleMtx(0.8f); Graphics_SetScaleMtx(0.8f);
RCP_SetupDL(&gMasterDisp, SETUPDL_61); RCP_SetupDL(&gMasterDisp, SETUPDL_61);
@ -2973,7 +2973,7 @@ void Aquas_Boss_Update(Boss* bossAQ) {
spD4.x = D_i3_801C4308[73]; spD4.x = D_i3_801C4308[73];
spD4.y = D_i3_801C4308[74]; spD4.y = D_i3_801C4308[74];
spD4.z = D_i3_801C4308[75]; // 74? spD4.z = D_i3_801C4308[75]; // 74?
func_effect_8007A6F0(&spD4, NA_SE_EN_WT_DISAPPEAR_L); Effect_SpawnTimedSfxAtPos(&spD4, NA_SE_EN_WT_DISAPPEAR_L);
bossAQ->swork[AQ_SWK_10] = 250.0f + RAND_FLOAT(50.0f); bossAQ->swork[AQ_SWK_10] = 250.0f + RAND_FLOAT(50.0f);
} }
} }
@ -2992,7 +2992,7 @@ void Aquas_Boss_Update(Boss* bossAQ) {
spD4.x = D_i3_801C4308[76]; spD4.x = D_i3_801C4308[76];
spD4.y = D_i3_801C4308[77]; // 76? spD4.y = D_i3_801C4308[77]; // 76?
spD4.z = D_i3_801C4308[78]; spD4.z = D_i3_801C4308[78];
func_effect_8007A6F0(&spD4, NA_SE_EN_WT_DISAPPEAR_L); Effect_SpawnTimedSfxAtPos(&spD4, NA_SE_EN_WT_DISAPPEAR_L);
bossAQ->swork[AQ_SWK_11] = 250.0f + RAND_FLOAT(50.0f); bossAQ->swork[AQ_SWK_11] = 250.0f + RAND_FLOAT(50.0f);
} }
} }
@ -3225,7 +3225,7 @@ void Aquas_Boss_Update(Boss* bossAQ) {
spD4.x = D_i3_801C4308[73 + 3 * i7]; spD4.x = D_i3_801C4308[73 + 3 * i7];
spD4.y = D_i3_801C4308[74 + 3 * i7]; spD4.y = D_i3_801C4308[74 + 3 * i7];
spD4.z = D_i3_801C4308[75 + 3 * i7]; spD4.z = D_i3_801C4308[75 + 3 * i7];
func_effect_8007A6F0(&spD4, NA_SE_EN_P_BALL_SHOT); Effect_SpawnTimedSfxAtPos(&spD4, NA_SE_EN_P_BALL_SHOT);
i2 = 0; i2 = 0;
for (i3 = 0; i2 <= i && i3 < ARRAY_COUNT(gActors); i3++) { for (i3 = 0; i2 <= i && i3 < ARRAY_COUNT(gActors); i3++) {
if ((gActors[i3].obj.status == OBJ_FREE) && (i3 < ARRAY_COUNT(gActors))) { if ((gActors[i3].obj.status == OBJ_FREE) && (i3 < ARRAY_COUNT(gActors))) {
@ -3357,7 +3357,7 @@ void Aquas_Boss_Update(Boss* bossAQ) {
spD4.x = D_i3_801C4308[73 + 3 * i3]; spD4.x = D_i3_801C4308[73 + 3 * i3];
spD4.y = D_i3_801C4308[74 + 3 * i3]; spD4.y = D_i3_801C4308[74 + 3 * i3];
spD4.z = D_i3_801C4308[75 + 3 * i3]; spD4.z = D_i3_801C4308[75 + 3 * i3];
func_effect_8007A6F0(&spD4, NA_SE_EN_P_GUN_APPEAR); Effect_SpawnTimedSfxAtPos(&spD4, NA_SE_EN_P_GUN_APPEAR);
} }
if ((fabsf(D_i3_801C4308[10]) <= 3.0f) || (bossAQ->swork[AQ_SWK_10 + i3] == 0)) { if ((fabsf(D_i3_801C4308[10]) <= 3.0f) || (bossAQ->swork[AQ_SWK_10 + i3] == 0)) {
Math_SmoothStepToF(&D_i3_801C4308[52 + i3], 1.0f, 0.1f, 0.5f, 0.0f); Math_SmoothStepToF(&D_i3_801C4308[52 + i3], 1.0f, 0.1f, 0.5f, 0.0f);
@ -3753,7 +3753,7 @@ void Aquas_801B4E94(s32 limbIndex, Vec3f* rot, void* thisx) {
} }
// OBJ_ACTOR_261 draw // OBJ_ACTOR_261 draw
void Aquas_801B504C(Actor* actor) { void Aquas_Actor261_Draw(Actor* actor) {
Vec3f jointTable[30]; Vec3f jointTable[30];
Matrix_Scale(gCalcMatrix, actor->scale, actor->scale, actor->scale, MTXF_APPLY); Matrix_Scale(gCalcMatrix, actor->scale, actor->scale, actor->scale, MTXF_APPLY);
@ -3767,7 +3767,7 @@ s32 D_i3_801C0264[19] = {
}; };
// OBJ_ACTOR_261 action // OBJ_ACTOR_261 action
void Aquas_801B50E8(Actor* actor) { void Aquas_Actor261_Update(Actor* actor) {
s32 i; s32 i;
Vec3f sp88; Vec3f sp88;
Vec3f sp7C; Vec3f sp7C;
@ -3781,7 +3781,7 @@ void Aquas_801B50E8(Actor* actor) {
} }
actor->health = 0; actor->health = 0;
actor->state = 7; actor->state = 7;
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_AQ_ZAKO_DOWN); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_AQ_ZAKO_DOWN);
} }
switch (actor->state) { switch (actor->state) {
@ -4050,7 +4050,7 @@ f32 D_i3_801C02C8[2] = { 255.0f, 68.0f };
s32 D_i3_801C02D0[2] = { 70, 100 }; s32 D_i3_801C02D0[2] = { 70, 100 };
// OBJ_ACTOR_259 draw // OBJ_ACTOR_259 draw
void Aquas_801B619C(Actor* actor) { void Aquas_Actor259_Draw(Actor* actor) {
Vec3f sp40[30]; Vec3f sp40[30];
Matrix_Push(&gCalcMatrix); Matrix_Push(&gCalcMatrix);
@ -4079,7 +4079,7 @@ void Aquas_801B6344(Actor* actor) {
} }
// OBJ_ACTOR_259 action // OBJ_ACTOR_259 action
void Aquas_801B638C(Actor* actor) { void Aquas_Actor259_Update(Actor* actor) {
Actor* var_v0; Actor* var_v0;
s32 i; s32 i;
f32 spB4; f32 spB4;
@ -4119,7 +4119,7 @@ void Aquas_801B638C(Actor* actor) {
Actor_Despawn(actor); Actor_Despawn(actor);
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
AUDIO_PLAY_SFX(NA_SE_OB_MINI_BOMB, actor->sfxSource, 4); AUDIO_PLAY_SFX(NA_SE_OB_MINI_BOMB, actor->sfxSource, 4);
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_AQ_ZAKO_DOWN); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_AQ_ZAKO_DOWN);
} }
actor->fwork[5] = (actor->obj.pos.y * 0.01f) + 2.5f; actor->fwork[5] = (actor->obj.pos.y * 0.01f) + 2.5f;
@ -4285,7 +4285,7 @@ void Aquas_801B6E54(Actor* actor) {
} }
// OBJ_ACTOR_262 action // OBJ_ACTOR_262 action
void Aquas_801B6FF8(Actor* actor) { void Aquas_Actor262_Update(Actor* actor) {
s32 i; s32 i;
f32 temp_dx; f32 temp_dx;
f32 temp_dy; f32 temp_dy;
@ -4305,7 +4305,7 @@ void Aquas_801B6FF8(Actor* actor) {
func_effect_8007D0E0(actor->vwork[i].x, actor->vwork[i].y, actor->vwork[i].z + 100.0f, 6.0f); func_effect_8007D0E0(actor->vwork[i].x, actor->vwork[i].y, actor->vwork[i].z + 100.0f, 6.0f);
} }
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_AQ_ZAKO_DOWN); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_AQ_ZAKO_DOWN);
} }
switch (actor->state) { switch (actor->state) {
@ -4506,7 +4506,7 @@ void Aquas_801B7754(s32 limbIndex, Vec3f* rot, void* thisx) {
} }
// OBJ_ACTOR_262 draw // OBJ_ACTOR_262 draw
void Aquas_801B7A24(Actor* actor) { void Aquas_Actor262_Draw(Actor* actor) {
Vec3f sp30[30]; Vec3f sp30[30];
RCP_SetupDL(&gMasterDisp, SETUPDL_57); RCP_SetupDL(&gMasterDisp, SETUPDL_57);
@ -4544,7 +4544,7 @@ void Aquas_801B7AF0(Actor* actor) {
} }
// OBJ_ACTOR_260 action // OBJ_ACTOR_260 action
void Aquas_801B7C78(Actor* actor) { void Aquas_Actor260_Update(Actor* actor) {
s32 i; s32 i;
s32 j; s32 j;
f32 spAC; f32 spAC;
@ -4584,7 +4584,7 @@ void Aquas_801B7C78(Actor* actor) {
actor->itemDrop = DROP_SILVER_RING_25p; actor->itemDrop = DROP_SILVER_RING_25p;
Actor_Despawn(actor); Actor_Despawn(actor);
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_AQ_ZAKO_DOWN); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_AQ_ZAKO_DOWN);
} }
if (actor->state != 6) { if (actor->state != 6) {
@ -4951,7 +4951,7 @@ void Aquas_801B8D7C(s32 limbIndex, Vec3f* rot, void* thisx) {
} }
// OBJ_ACTOR_260 draw // OBJ_ACTOR_260 draw
void Aquas_801B90DC(Actor* actor) { void Aquas_Actor260_Draw(Actor* actor) {
Vec3f sp30[30]; Vec3f sp30[30];
if ((actor->state >= 3) && (actor->state < 5)) { if ((actor->state >= 3) && (actor->state < 5)) {
@ -4965,7 +4965,7 @@ void Aquas_801B90DC(Actor* actor) {
} }
// OBJ_ACTOR_263 action // OBJ_ACTOR_263 action
void Aquas_801B91A4(Actor* actor) { void Aquas_Actor263_Update(Actor* actor) {
Vec3f spDC = { 0.0f, 0.0f, 50.0f }; Vec3f spDC = { 0.0f, 0.0f, 50.0f };
Vec3f spD0; Vec3f spD0;
Vec3f spC4; Vec3f spC4;
@ -5000,7 +5000,7 @@ void Aquas_801B91A4(Actor* actor) {
func_effect_800815DC(); func_effect_800815DC();
func_effect_8007D0E0(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 5.0f); func_effect_8007D0E0(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 5.0f);
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_AQ_ZAKO_DOWN); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_AQ_ZAKO_DOWN);
} }
switch (actor->state) { switch (actor->state) {
@ -5085,7 +5085,7 @@ void Aquas_801B91A4(Actor* actor) {
Matrix_MultVec3fNoTranslate(gCalcMatrix, &spC4, &spAC); Matrix_MultVec3fNoTranslate(gCalcMatrix, &spC4, &spAC);
func_effect_8007F04C(OBJ_EFFECT_353, actor->vwork[26].x + RAND_FLOAT_CENTERED(200.0f), func_effect_8007F04C(OBJ_EFFECT_ENEMY_LASER_1, actor->vwork[26].x + RAND_FLOAT_CENTERED(200.0f),
actor->vwork[26].y + RAND_FLOAT_CENTERED(200.0f), actor->vwork[26].z, spf98, sp94, actor->vwork[26].y + RAND_FLOAT_CENTERED(200.0f), actor->vwork[26].z, spf98, sp94,
0.0f, 0.0f, 0.0f, 0.0f, spAC.x, spAC.y, spAC.z, 1.0f); 0.0f, 0.0f, 0.0f, 0.0f, spAC.x, spAC.y, spAC.z, 1.0f);
} }
@ -5121,9 +5121,10 @@ void Aquas_801B91A4(Actor* actor) {
actor->vwork[11].y + RAND_FLOAT_CENTERED(50.0f), actor->vwork[11].y + RAND_FLOAT_CENTERED(50.0f),
actor->vwork[11].z + RAND_FLOAT_CENTERED(100.0f), 2.0f, 0); actor->vwork[11].z + RAND_FLOAT_CENTERED(100.0f), 2.0f, 0);
Matrix_MultVec3fNoTranslate(gCalcMatrix, &spDC, &spD0); Matrix_MultVec3fNoTranslate(gCalcMatrix, &spDC, &spD0);
func_effect_8007F04C(OBJ_EFFECT_353, actor->vwork[26].x + spD0.x, actor->vwork[26].y + spD0.y, func_effect_8007F04C(OBJ_EFFECT_ENEMY_LASER_1, actor->vwork[26].x + spD0.x,
actor->vwork[26].z + spD0.z, actor->vwork[27].x, actor->fwork[2], actor->vwork[26].y + spD0.y, actor->vwork[26].z + spD0.z, actor->vwork[27].x,
actor->vwork[27].z, 0.0f, 0.0f, 0.0f, spD0.x, spD0.y, spD0.z, 1.0f); actor->fwork[2], actor->vwork[27].z, 0.0f, 0.0f, 0.0f, spD0.x, spD0.y, spD0.z,
1.0f);
} }
} }
break; break;
@ -5231,7 +5232,7 @@ void Aquas_801B9DB0(s32 limbIndex, Vec3f* rot, void* thisx) {
} }
// OBJ_ACTOR_263 draw // OBJ_ACTOR_263 draw
void Aquas_801BA108(Actor* actor) { void Aquas_Actor263_Draw(Actor* actor) {
Vec3f sp40[30]; Vec3f sp40[30];
RCP_SetupDL(&gMasterDisp, SETUPDL_29); RCP_SetupDL(&gMasterDisp, SETUPDL_29);
@ -5254,7 +5255,7 @@ void Aquas_801BA108(Actor* actor) {
} }
// OBJ_ACTOR_264 action // OBJ_ACTOR_264 action
void Aquas_801BA26C(Actor* actor) { void Aquas_Actor264_Update(Actor* actor) {
Vec3f sp40[30]; Vec3f sp40[30];
u16 sp3E; u16 sp3E;
@ -5298,7 +5299,7 @@ void Aquas_801BA26C(Actor* actor) {
} }
// OBJ_ACTOR_264 draw // OBJ_ACTOR_264 draw
void Aquas_801BA4E4(Actor* actor) { void Aquas_Actor264_Draw(Actor* actor) {
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK); gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
Animation_DrawSkeleton(1, D_AQ_6020C6C, actor->vwork, NULL, NULL, &actor->index, &gIdentityMatrix); Animation_DrawSkeleton(1, D_AQ_6020C6C, actor->vwork, NULL, NULL, &actor->index, &gIdentityMatrix);
gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK); gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK);
@ -5321,7 +5322,7 @@ void Aquas_801BA57C(Actor* actor) {
} }
// OBJ_ACTOR_265 action // OBJ_ACTOR_265 action
void Aquas_801BA6A4(Actor* actor) { void Aquas_Actor265_Update(Actor* actor) {
s32 i; s32 i;
s32 var_s2; s32 var_s2;
Actor* actor265; Actor* actor265;
@ -5418,20 +5419,20 @@ void Aquas_801BA6A4(Actor* actor) {
func_effect_8007BC7C(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z + 130.0f, actor->scale * 30.0f); func_effect_8007BC7C(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z + 130.0f, actor->scale * 30.0f);
func_effect_8007BC7C(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z + 130.0f, actor->scale * 30.0f); func_effect_8007BC7C(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z + 130.0f, actor->scale * 30.0f);
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
} }
} }
} }
// OBJ_ACTOR_265 draw // OBJ_ACTOR_265 draw
void Aquas_801BAD7C(Actor* actor) { void Aquas_Actor265_Draw(Actor* actor) {
Matrix_Scale(gGfxMatrix, actor->scale, actor->scale, actor->scale, MTXF_APPLY); Matrix_Scale(gGfxMatrix, actor->scale, actor->scale, actor->scale, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_AQ_6014FD0); gSPDisplayList(gMasterDisp++, D_AQ_6014FD0);
} }
// OBJ_ACTOR_266 action // OBJ_ACTOR_266 action
void Aquas_801BADF8(Actor* actor) { void Aquas_Actor266_Update(Actor* actor) {
s32 i; s32 i;
switch (actor->state) { switch (actor->state) {
@ -5501,7 +5502,7 @@ void Aquas_801BB0C4(s32 limbIndex, Vec3f* rot, void* thisx) {
} }
// OBJ_ACTOR_266 draw // OBJ_ACTOR_266 draw
void Aquas_801BB204(Actor* actor) { void Aquas_Actor266_Draw(Actor* actor) {
Vec3f sp28[30]; Vec3f sp28[30];
Animation_GetFrameData(&D_AQ_601EC68, 0, sp28); Animation_GetFrameData(&D_AQ_601EC68, 0, sp28);
@ -5636,7 +5637,7 @@ void Aquas_801BB26C(Actor* actor) {
} }
// OBJ_ACTOR_267 action // OBJ_ACTOR_267 action
void Aquas_801BB79C(Actor* actor) { void Aquas_Actor267_Update(Actor* actor) {
s32 i; s32 i;
s32 it0; s32 it0;
s32 it1; s32 it1;
@ -5729,7 +5730,7 @@ void Aquas_801BB79C(Actor* actor) {
} }
if (((gGameFrameCount % 8) == 0)) { if (((gGameFrameCount % 8) == 0)) {
func_effect_8007A6F0(&sp70->obj.pos, NA_SE_EN_WT_SPARK_BEAM); Effect_SpawnTimedSfxAtPos(&sp70->obj.pos, NA_SE_EN_WT_SPARK_BEAM);
} }
Aquas_801A92EC(actor, sp70->obj.pos.x, sp70->obj.pos.y, sp70->obj.pos.z, actor->iwork[13], i); Aquas_801A92EC(actor, sp70->obj.pos.x, sp70->obj.pos.y, sp70->obj.pos.z, actor->iwork[13], i);
@ -5763,7 +5764,7 @@ void Aquas_801BB79C(Actor* actor) {
} }
} }
if (((gGameFrameCount % 4) == 0)) { if (((gGameFrameCount % 4) == 0)) {
func_effect_8007A6F0(&sp6C->obj.pos, NA_SE_EN_WT_SPARK_BEAM); Effect_SpawnTimedSfxAtPos(&sp6C->obj.pos, NA_SE_EN_WT_SPARK_BEAM);
} }
Aquas_801A92EC(actor, sp6C->obj.pos.x, sp6C->obj.pos.y, sp6C->obj.pos.z, actor->iwork[13] + 1, i); Aquas_801A92EC(actor, sp6C->obj.pos.x, sp6C->obj.pos.y, sp6C->obj.pos.z, actor->iwork[13] + 1, i);
@ -5799,7 +5800,7 @@ void Aquas_801BB79C(Actor* actor) {
} }
if (((gGameFrameCount % 16) == 0)) { if (((gGameFrameCount % 16) == 0)) {
func_effect_8007A6F0(&sp70->obj.pos, NA_SE_EN_WT_SPARK_BEAM); Effect_SpawnTimedSfxAtPos(&sp70->obj.pos, NA_SE_EN_WT_SPARK_BEAM);
} }
Aquas_801A92EC(actor, sp70->obj.pos.x, sp70->obj.pos.y, sp70->obj.pos.z, actor->iwork[13] + 2, i); Aquas_801A92EC(actor, sp70->obj.pos.x, sp70->obj.pos.y, sp70->obj.pos.z, actor->iwork[13] + 2, i);
@ -6010,7 +6011,7 @@ void Aquas_801BC91C(s32 limbIndex, Vec3f* rot, void* thisx) {
} }
// OBJ_ACTOR_267 draw // OBJ_ACTOR_267 draw
void Aquas_801BC930(Actor* actor) { void Aquas_Actor267_Draw(Actor* actor) {
Vec3f sp28[30]; Vec3f sp28[30];
Animation_GetFrameData(&D_AQ_6023780, actor->animFrame, sp28); Animation_GetFrameData(&D_AQ_6023780, actor->animFrame, sp28);
@ -6023,7 +6024,7 @@ s32 D_i3_801C04C4[9] = {
}; };
// OBJ_ACTOR_269 action // OBJ_ACTOR_269 action
void Aquas_801BC9A0(Actor* actor) { void Aquas_Actor269_Update(Actor* actor) {
s32 j; s32 j;
s32 i; s32 i;
Vec3f spA4; Vec3f spA4;
@ -6148,7 +6149,7 @@ void Aquas_801BC9A0(Actor* actor) {
actor->itemDrop = D_i3_801C04C4[actor->iwork[1]]; actor->itemDrop = D_i3_801C04C4[actor->iwork[1]];
Actor_Despawn(actor); Actor_Despawn(actor);
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
func_effect_8007A6F0(&actor->obj.pos, NA_SE_OB_AQ_PILLAR_BROKE); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_OB_AQ_PILLAR_BROKE);
} }
break; break;
@ -6164,7 +6165,7 @@ void Aquas_801BC9A0(Actor* actor) {
if ((actor->obj.pos.y < (gGroundHeight + 30.0f)) && (actor->iwork[2] == 0)) { if ((actor->obj.pos.y < (gGroundHeight + 30.0f)) && (actor->iwork[2] == 0)) {
actor->iwork[2] = 1; actor->iwork[2] = 1;
actor->vel.x = actor->vel.y = actor->vel.z = actor->gravity = 0.0f; actor->vel.x = actor->vel.y = actor->vel.z = actor->gravity = 0.0f;
func_effect_8007A6F0(&actor->obj.pos, NA_SE_OB_AQ_ROCK_BOUND); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_OB_AQ_ROCK_BOUND);
for (j = 0; j < 6; j++) { for (j = 0; j < 6; j++) {
func_effect_8007B8F8(actor->obj.pos.x + RAND_FLOAT_CENTERED(100.0f), func_effect_8007B8F8(actor->obj.pos.x + RAND_FLOAT_CENTERED(100.0f),
actor->obj.pos.y + RAND_RANGE(-9.0f, 21.0f), actor->obj.pos.y + RAND_RANGE(-9.0f, 21.0f),
@ -6200,7 +6201,7 @@ void Aquas_801BD17C(s32 limbIndex, Vec3f* rot, void* thisx) {
} }
// OBJ_ACTOR_269 draw // OBJ_ACTOR_269 draw
void Aquas_801BD264(Actor* actor) { void Aquas_Actor269_Draw(Actor* actor) {
Vec3f sp40[30]; Vec3f sp40[30];
if (actor->state != 0) { if (actor->state != 0) {
@ -6259,7 +6260,7 @@ void Aquas_801BD3B0(Actor* actor, f32 x, f32 y, f32 z) {
f32 D_i3_801C04F4[4] = { 700.0f, 300.0f, 600.0f, 400.0f }; f32 D_i3_801C04F4[4] = { 700.0f, 300.0f, 600.0f, 400.0f };
// OBJ_ACTOR_268 action // OBJ_ACTOR_268 action
void Aquas_801BD54C(Actor* actor) { void Aquas_Actor268_Update(Actor* actor) {
s32 sp6C; s32 sp6C;
s32 sp68; s32 sp68;
s32 sp64; s32 sp64;
@ -6438,7 +6439,7 @@ bool Aquas_801BDDFC(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* th
} }
// OBJ_ACTOR_268 draw // OBJ_ACTOR_268 draw
void Aquas_801BDE6C(Actor* actor) { void Aquas_Actor268_Draw(Actor* actor) {
Animation_GetFrameData(&D_AQ_60135E0, actor->animFrame, actor->vwork); Animation_GetFrameData(&D_AQ_60135E0, actor->animFrame, actor->vwork);
if (actor->iwork[3] == 0) { if (actor->iwork[3] == 0) {
Animation_DrawSkeleton(1, D_AQ_60136CC, actor->vwork, Aquas_801BDDFC, NULL, actor, &gIdentityMatrix); Animation_DrawSkeleton(1, D_AQ_60136CC, actor->vwork, Aquas_801BDDFC, NULL, actor, &gIdentityMatrix);
@ -6531,7 +6532,7 @@ void Aquas_801BE0F0(Actor* actor) {
} }
// OBJ_SCENERY_126 draw // OBJ_SCENERY_126 draw
void Aquas_801BE1FC(Scenery* scenery) { void Aquas_Scenery126_Draw(Scenery* scenery) {
Matrix_Scale(gGfxMatrix, 0.5f, 0.5f, 0.5f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 0.5f, 0.5f, 0.5f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_AQ_600EEF0); gSPDisplayList(gMasterDisp++, D_AQ_600EEF0);
@ -6564,7 +6565,7 @@ void Aquas_801BE274(Actor* actor, f32 yRot, f32 xRot) {
} }
// OBJ_ACTOR_270 action // OBJ_ACTOR_270 action
void Aquas_801BE3F8(Actor* actor) { void Aquas_Actor270_Update(Actor* actor) {
s32 i; s32 i;
f32 sp68; f32 sp68;
f32 sp64; f32 sp64;
@ -6666,7 +6667,7 @@ void Aquas_801BE3F8(Actor* actor) {
} }
// OBJ_ACTOR_270 draw // OBJ_ACTOR_270 draw
void Aquas_801BEB1C(Actor* actor) { void Aquas_Actor270_Draw(Actor* actor) {
Graphics_SetScaleMtx(3.0f); Graphics_SetScaleMtx(3.0f);
RCP_SetupDL(&gMasterDisp, SETUPDL_56); RCP_SetupDL(&gMasterDisp, SETUPDL_56);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 143, 143, 255); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 143, 143, 255);
@ -6691,11 +6692,11 @@ void Aquas_Boss301_Draw(Boss* boss301) {
} }
// OBJ_ACTOR_188 action // OBJ_ACTOR_188 action
void Aquas_801BEC68(Actor* actor) { void Aquas_Actor188_Update(Actor* actor) {
} }
// OBJ_ACTOR_188 draw // OBJ_ACTOR_188 draw
void Aquas_801BEC74(Actor* actor) { void Aquas_Actor188_Draw(Actor* actor) {
} }
void Aquas_Update360(Player* player) { void Aquas_Update360(Player* player) {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -127,7 +127,7 @@ void Bolse_8018BD60(Actor* this) {
} }
} }
ActorAllRange_UpdateStarWolfEvents(this); ActorAllRange_UpdateStarWolfEvents(this);
ActorAllRange_UpdateEvemyEvents(this); ActorAllRange_UpdateEnemyEvents(this);
} }
f32 D_i4_8019EEE4[] = { -200.0f, -100.0f, -0.0f, 100.0f, 200.0f }; f32 D_i4_8019EEE4[] = { -200.0f, -100.0f, -0.0f, 100.0f, 200.0f };
@ -136,7 +136,7 @@ void Bolse_SpawnEnemies(Actor* this, s32 count) {
s32 i; s32 i;
Actor* enemy; Actor* enemy;
for (i = AI360_10, enemy = &gActors[AI360_10]; i < count + AI360_10; i++, enemy++) { for (i = AI360_ENEMY, enemy = &gActors[AI360_ENEMY]; i < count + AI360_ENEMY; i++, enemy++) {
if (enemy->obj.status == OBJ_FREE) { if (enemy->obj.status == OBJ_FREE) {
Actor_Initialize(enemy); Actor_Initialize(enemy);
enemy->obj.status = OBJ_ACTIVE; enemy->obj.status = OBJ_ACTIVE;
@ -160,26 +160,26 @@ void Bolse_SpawnEnemies(Actor* this, s32 count) {
enemy->aiType = i; enemy->aiType = i;
enemy->aiIndex = -1; enemy->aiIndex = -1;
if (i < AI360_10 + 3) { if (i < AI360_ENEMY + 3) {
enemy->aiIndex = AI360_SLIPPY; enemy->aiIndex = AI360_SLIPPY;
gActors[AI360_SLIPPY].aiIndex = -1; gActors[AI360_SLIPPY].aiIndex = -1;
} }
if ((i == AI360_10 + 7) || (i == AI360_10 + 8)) { if ((i == AI360_ENEMY + 7) || (i == AI360_ENEMY + 8)) {
enemy->aiIndex = AI360_FOX; enemy->aiIndex = AI360_FOX;
} }
if ((i == AI360_10 + 10) || (i == AI360_10 + 11)) { if ((i == AI360_ENEMY + 10) || (i == AI360_ENEMY + 11)) {
enemy->aiIndex = AI360_PEPPY; enemy->aiIndex = AI360_PEPPY;
gActors[AI360_PEPPY].aiIndex = -1; gActors[AI360_PEPPY].aiIndex = -1;
} }
if (i == AI360_10 + 12) { if (i == AI360_ENEMY + 12) {
enemy->aiIndex = AI360_FALCO; enemy->aiIndex = AI360_FALCO;
gActors[AI360_FALCO].aiIndex = -1; gActors[AI360_FALCO].aiIndex = -1;
} }
if ((D_i4_801A0530 > 16000) && ((i == AI360_10 + 13) || (i == AI360_10 + 14))) { if ((D_i4_801A0530 > 16000) && ((i == AI360_ENEMY + 13) || (i == AI360_ENEMY + 14))) {
enemy->aiIndex = AI360_FOX; enemy->aiIndex = AI360_FOX;
} }
@ -342,7 +342,7 @@ void Bolse_UpdateEventHandler(Actor* this) {
if ((gControllerPress->button & START_BUTTON) || ((gAllRangeSpawnEvent + 300) == gAllRangeEventTimer)) { if ((gControllerPress->button & START_BUTTON) || ((gAllRangeSpawnEvent + 300) == gAllRangeEventTimer)) {
this->state = 2; this->state = 2;
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
Camera_Update360(player, 1); Camera_Update360(player, true);
player->unk_014 = 0.0f; player->unk_014 = 0.0f;
D_hud_80161708 = 0; D_hud_80161708 = 0;
} }
@ -391,7 +391,7 @@ void Bolse_UpdateEventHandler(Actor* this) {
gAllRangeEventTimer = 3000; gAllRangeEventTimer = 3000;
this->state = 2; this->state = 2;
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
Camera_Update360(player, 1); Camera_Update360(player, true);
player->unk_014 = 0.0f; player->unk_014 = 0.0f;
Audio_KillSfxBySource(gBosses[1].sfxSource); Audio_KillSfxBySource(gBosses[1].sfxSource);
this->iwork[1] = gHitCount; this->iwork[1] = gHitCount;
@ -604,7 +604,7 @@ void Bolse_8018D124(Actor* actor) {
src.z = gEnemyShotSpeed; src.z = gEnemyShotSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest); Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest);
func_effect_8007F04C(OBJ_EFFECT_353, actor->obj.pos.x + dest.x, actor->obj.pos.y + 180.0f + dest.y, func_effect_8007F04C(OBJ_EFFECT_ENEMY_LASER_1, actor->obj.pos.x + dest.x, actor->obj.pos.y + 180.0f + dest.y,
actor->obj.pos.z + dest.z, -actor->rot_0F4.x, actor->rot_0F4.y + actor->obj.rot.y, 0.0f, 0.0f, actor->obj.pos.z + dest.z, -actor->rot_0F4.x, actor->rot_0F4.y + actor->obj.rot.y, 0.0f, 0.0f,
0.0f, 0.0f, dest.x, dest.y, dest.z, 1.0f); 0.0f, 0.0f, dest.x, dest.y, dest.z, 1.0f);
} }
@ -627,7 +627,7 @@ bool Bolse_8018D278(Actor* actor) {
} }
} }
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
actor->itemDrop = DROP_SILVER_RING; actor->itemDrop = DROP_SILVER_RING;
@ -733,7 +733,7 @@ bool Bolse_8018D584(Actor* actor) {
Audio_KillSfxBySourceAndId(actor->sfxSource, NA_SE_OB_SPARK_BEAM); Audio_KillSfxBySourceAndId(actor->sfxSource, NA_SE_OB_SPARK_BEAM);
AUDIO_PLAY_SFX(NA_SE_EN_EXPLOSION_M, actor->sfxSource, 0); AUDIO_PLAY_SFX(NA_SE_EN_EXPLOSION_M, actor->sfxSource, 0);
} else { } else {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_REFLECT); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_REFLECT);
} }
return true; return true;
@ -1724,7 +1724,7 @@ void Bolse_LevelComplete(Player* player) {
Math_SmoothStepToF(&player->pos.y, 700.0f, 0.1f, 10.0f, 0.0f); Math_SmoothStepToF(&player->pos.y, 700.0f, 0.1f, 10.0f, 0.0f);
} }
Camera_Update360(player, 0); Camera_Update360(player, false);
player->cam.eye.x += player->vel.x * 0.1f; player->cam.eye.x += player->vel.x * 0.1f;
player->cam.eye.y += player->vel.y * 0.1f; player->cam.eye.y += player->vel.y * 0.1f;
@ -1806,7 +1806,7 @@ void Bolse_80190FE8(f32 x, f32 y, f32 z, f32 scale) {
} }
} }
void Bolse_80191054(Effect* effect) { void Bolse_Effect397_Update(Effect* effect) {
switch (effect->state) { switch (effect->state) {
case 0: case 0:
if (gPlayer[0].barrelRollAlpha == 0) { if (gPlayer[0].barrelRollAlpha == 0) {
@ -1835,7 +1835,7 @@ void Bolse_80191054(Effect* effect) {
} }
} }
void Bolse_80191180(Effect* effect) { void Bolse_Effect397_Draw(Effect* effect) {
switch (effect->state) { switch (effect->state) {
case 0: case 0:
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 192); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 192);
@ -1858,7 +1858,7 @@ void Bolse_80191180(Effect* effect) {
f32 D_i4_8019F09C[12] = { 0.0f, 0.0f, 60.0f, 60.0f, 120.0f, 120.0f, 180.0f, 180.0f, 240.0f, 240.0f, 300.0f, 300.0f }; f32 D_i4_8019F09C[12] = { 0.0f, 0.0f, 60.0f, 60.0f, 120.0f, 120.0f, 180.0f, 180.0f, 240.0f, 240.0f, 300.0f, 300.0f };
void Bolse_801912FC(Boss* boss) { void Bolse_Boss311_Update(Boss* boss) {
s32 i; s32 i;
Vec3f src; Vec3f src;
Vec3f dest; Vec3f dest;
@ -2036,7 +2036,7 @@ void Bolse_80191A6C(s32 index, Vec3f* vec, void* ptr) {
} }
} }
void Bolse_80191AFC(Boss* boss) { void Bolse_Boss311_Draw(Boss* boss) {
Animation_GetFrameData(&D_BO_6001C64, 0, boss->vwork); Animation_GetFrameData(&D_BO_6001C64, 0, boss->vwork);
if (boss->state >= 2) { if (boss->state >= 2) {
Animation_DrawSkeleton(3, D_BO_6001FB0, boss->vwork, Bolse_801918E4, Bolse_80191A6C, boss, gCalcMatrix); Animation_DrawSkeleton(3, D_BO_6001FB0, boss->vwork, Bolse_801918E4, Bolse_80191A6C, boss, gCalcMatrix);

File diff suppressed because it is too large Load Diff

View File

@ -18,40 +18,40 @@ u8 D_i4_8019F198[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
s32 sEnemySpawnTargets[] = { s32 sEnemySpawnTargets[] = {
-1, -1,
AI360_10 + 1, AI360_ENEMY + 1,
-1, -1,
AI360_10 + 3, AI360_ENEMY + 3,
-1, -1,
AI360_10 + 5, AI360_ENEMY + 5,
-1, -1,
AI360_10 + 7, AI360_ENEMY + 7,
-1, -1,
AI360_10 + 9, AI360_ENEMY + 9,
AI360_10, AI360_ENEMY,
AI360_10 + 1, AI360_ENEMY + 1,
AI360_10 + 2, AI360_ENEMY + 2,
AI360_10 + 3, AI360_ENEMY + 3,
AI360_10 + 4, AI360_ENEMY + 4,
AI360_10 + 5, AI360_ENEMY + 5,
AI360_10 + 6, AI360_ENEMY + 6,
AI360_10 + 7, AI360_ENEMY + 7,
AI360_10 + 8, AI360_ENEMY + 8,
AI360_10 + 9, AI360_ENEMY + 9,
AI360_10, AI360_ENEMY,
AI360_10 + 1, AI360_ENEMY + 1,
AI360_10 + 2, AI360_ENEMY + 2,
AI360_10 + 3, AI360_ENEMY + 3,
AI360_10 + 4, AI360_ENEMY + 4,
AI360_10 + 5, AI360_ENEMY + 5,
AI360_10 + 6, AI360_ENEMY + 6,
AI360_10 + 7, AI360_ENEMY + 7,
AI360_10 + 8, AI360_ENEMY + 8,
AI360_10 + 9, AI360_ENEMY + 9,
AI360_10, AI360_ENEMY,
AI360_10 + 1, AI360_ENEMY + 1,
AI360_10 + 2, AI360_ENEMY + 2,
AI360_10 + 3, AI360_ENEMY + 3,
AI360_10 + 4, AI360_ENEMY + 4,
AI360_SLIPPY, AI360_SLIPPY,
AI360_SLIPPY, AI360_SLIPPY,
4, 4,
@ -495,7 +495,7 @@ void Katina_LevelStart(Player* player) {
func_effect_800794CC(gActors[5].obj.pos.x, gActors[5].obj.pos.y, gActors[5].obj.pos.z, 1.0f); func_effect_800794CC(gActors[5].obj.pos.x, gActors[5].obj.pos.y, gActors[5].obj.pos.z, 1.0f);
} }
func_effect_8007A6F0(&gActors[5].obj.pos, NA_SE_EN_EXPLOSION_M); Effect_SpawnTimedSfxAtPos(&gActors[5].obj.pos, NA_SE_EN_EXPLOSION_M);
break; break;
case 47: case 47:
@ -569,7 +569,7 @@ void Katina_BaseUpdate(Frontlinebase* this) {
} }
// Kill all active enemy and ally actors // Kill all active enemy and ally actors
for (actor = &gActors[AI360_10], i = 10; i < ARRAY_COUNT(gActors); i++, actor++) { for (actor = &gActors[AI360_ENEMY], i = 10; i < ARRAY_COUNT(gActors); i++, actor++) {
if (actor->obj.status == OBJ_ACTIVE) { if (actor->obj.status == OBJ_ACTIVE) {
actor->obj.status = OBJ_DYING; actor->obj.status = OBJ_DYING;
actor->timer_0BC = 30; actor->timer_0BC = 30;
@ -638,7 +638,7 @@ void Katina_Hatch_Destroy(Saucerer* this, s32 hatchIdx) {
pos.y = this->obj.pos.y + (this->vwork[hatchIdx + 1].y * 1.3f); pos.y = this->obj.pos.y + (this->vwork[hatchIdx + 1].y * 1.3f);
pos.z = this->obj.pos.z + (this->vwork[hatchIdx + 1].z * 1.3f); pos.z = this->obj.pos.z + (this->vwork[hatchIdx + 1].z * 1.3f);
func_effect_8007A6F0(&pos, NA_SE_EN_EXPLOSION_M); Effect_SpawnTimedSfxAtPos(&pos, NA_SE_EN_EXPLOSION_M);
this->swork[BOSS_HATCH_DESTROY_COUNT]++; this->swork[BOSS_HATCH_DESTROY_COUNT]++;
@ -676,7 +676,7 @@ void Katina_BossHandleDamage(Saucerer* this) {
sfxSource.y = (this->vwork[1 + this->dmgPart].y * 1.3f) + this->obj.pos.y; sfxSource.y = (this->vwork[1 + this->dmgPart].y * 1.3f) + this->obj.pos.y;
sfxSource.z = (this->vwork[1 + this->dmgPart].z * 1.3f) + this->obj.pos.z; sfxSource.z = (this->vwork[1 + this->dmgPart].z * 1.3f) + this->obj.pos.z;
func_effect_8007A6F0(&sfxSource, NA_SE_OB_DAMAGE_M); Effect_SpawnTimedSfxAtPos(&sfxSource, NA_SE_OB_DAMAGE_M);
if (this->swork[10 + this->dmgPart] <= 0) { if (this->swork[10 + this->dmgPart] <= 0) {
this->swork[10 + this->dmgPart] = 0; this->swork[10 + this->dmgPart] = 0;
@ -694,9 +694,9 @@ void Katina_BossHandleDamage(Saucerer* this) {
this->swork[BOSS_CORE_HP] -= this->damage; this->swork[BOSS_CORE_HP] -= this->damage;
if (this->swork[BOSS_CORE_HP] < 100) { if (this->swork[BOSS_CORE_HP] < 100) {
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_KNOCK_DOWN); Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_KNOCK_DOWN);
} else { } else {
func_effect_8007A6F0(&this->obj.pos, NA_SE_OB_DAMAGE_M); Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_OB_DAMAGE_M);
} }
if (this->swork[BOSS_CORE_HP] <= 0) { if (this->swork[BOSS_CORE_HP] <= 0) {
@ -791,7 +791,7 @@ void Katina_BossSpawnEnemies(Saucerer* this, Vec3f* pos, f32 arg2) {
actor->rot_0F4.y = arg2; actor->rot_0F4.y = arg2;
actor->rot_0F4.x = -30.0f; actor->rot_0F4.x = -30.0f;
actor->aiType = i + AI360_10; actor->aiType = i + AI360_ENEMY;
actor->animFrame = D_i4_8019F198[i - 10]; actor->animFrame = D_i4_8019F198[i - 10];
actor->aiIndex = sEnemySpawnTargets[i - 10]; actor->aiIndex = sEnemySpawnTargets[i - 10];
@ -1045,7 +1045,7 @@ void Katina_BossUpdate(Saucerer* this) {
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_STANDBY) { if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_STANDBY) {
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_ACTIVE; gPlayer[0].state_1C8 = PLAYERSTATE_1C8_ACTIVE;
Camera_Update360(&gPlayer[0], 1); Camera_Update360(&gPlayer[0], true);
} }
gPlayer[0].unk_014 = 0.0f; gPlayer[0].unk_014 = 0.0f;
@ -2170,7 +2170,7 @@ void Katina_801981F8(Actor* this) {
} }
// Spawn actors 10 to 20 as Cornerian Fighters, 20 to 29 as enemies. // Spawn actors 10 to 20 as Cornerian Fighters, 20 to 29 as enemies.
for (i = 0, actor = &gActors[AI360_10]; i < 20; i++, actor++) { for (i = 0, actor = &gActors[AI360_ENEMY]; i < 20; i++, actor++) {
if (actor->obj.status == OBJ_FREE) { if (actor->obj.status == OBJ_FREE) {
Actor_Initialize(actor); Actor_Initialize(actor);
@ -2189,7 +2189,7 @@ void Katina_801981F8(Actor* this) {
actor->rot_0F4.y = this->counter_04E * 18.0f; actor->rot_0F4.y = this->counter_04E * 18.0f;
actor->state = 1; actor->state = 1;
actor->aiType = i + AI360_10; actor->aiType = i + AI360_ENEMY;
actor->aiIndex = D_i4_8019F444[i]; actor->aiIndex = D_i4_8019F444[i];
actor->rot_0F4.x = 3.0f; actor->rot_0F4.x = 3.0f;
actor->health = 24; actor->health = 24;
@ -2233,7 +2233,7 @@ void Katina_BillFighterInit(void) {
actor->obj.pos.y = 1000.0f; actor->obj.pos.y = 1000.0f;
actor->state = 1; actor->state = 1;
actor->aiType = AI360_BILL; actor->aiType = AI360_BILL;
actor->aiIndex = AI360_10 + 17; actor->aiIndex = AI360_ENEMY + 17;
actor->animFrame = 2; actor->animFrame = 2;
actor->health = 1000; actor->health = 1000;
actor->iwork[KA_ACTOR_IWORK_11] = 1; actor->iwork[KA_ACTOR_IWORK_11] = 1;
@ -2425,7 +2425,7 @@ void Katina_EnemyUpdate(ActorAllRange* this) {
if (this->aiIndex <= -1) { if (this->aiIndex <= -1) {
this->state = 3; this->state = 3;
} else { } else {
if (this->aiType >= AI360_10) { if (this->aiType >= AI360_ENEMY) {
xPos = SIN_DEG((this->index * 45) + gGameFrameCount) * 200.0f; xPos = SIN_DEG((this->index * 45) + gGameFrameCount) * 200.0f;
yPos = COS_DEG((this->index * 45) + (gGameFrameCount * 2)) * 200.0f; yPos = COS_DEG((this->index * 45) + (gGameFrameCount * 2)) * 200.0f;
zPos = SIN_DEG((this->index * 45) + gGameFrameCount) * 200.0f; zPos = SIN_DEG((this->index * 45) + gGameFrameCount) * 200.0f;

File diff suppressed because it is too large Load Diff

View File

@ -725,7 +725,7 @@ void Macbeth_8019BE50(Actor* actor) {
RAND_FLOAT(360.0f), RAND_FLOAT_CENTERED(30.0f), RAND_FLOAT_CENTERED(30.0f), RAND_FLOAT(360.0f), RAND_FLOAT_CENTERED(30.0f), RAND_FLOAT_CENTERED(30.0f),
RAND_FLOAT_CENTERED(30.0f), (s32) (RAND_FLOAT(50.0f) + 70.0f), 0, RAND_FLOAT(0.8f) + 0.3f); RAND_FLOAT_CENTERED(30.0f), (s32) (RAND_FLOAT(50.0f) + 70.0f), 0, RAND_FLOAT(0.8f) + 0.3f);
} }
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_L); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_L);
gHitCount++; gHitCount++;
} }
@ -785,7 +785,7 @@ void Macbeth_8019C6C4(Actor* actor) {
D_ctx_80177850 = 15; D_ctx_80177850 = 15;
} }
void Macbeth_8019C778(Actor* actor) { void Macbeth_Actor205_Update(Actor* actor) {
if (actor->vel.z < -3.0f) { if (actor->vel.z < -3.0f) {
Macbeth_8019A128(); Macbeth_8019A128();
} }
@ -932,7 +932,7 @@ void Macbeth_8019C778(Actor* actor) {
} }
} }
void Macbeth_8019CE88(Actor* actor) { void Macbeth_Actor210_Update(Actor* actor) {
switch (actor->state) { switch (actor->state) {
case 0: case 0:
Macbeth_8019A198(actor); Macbeth_8019A198(actor);
@ -1069,7 +1069,7 @@ void Macbeth_8019D670(f32 xPos, f32 yPos, f32 zPos, f32 arg3, f32 zVel, f32 zRot
} }
} }
void Macbeth_8019D700(Actor* actor) { void Macbeth_Actor209_Update(Actor* actor) {
switch (actor->state) { switch (actor->state) {
case 0: case 0:
Macbeth_8019A198(actor); Macbeth_8019A198(actor);
@ -1235,7 +1235,7 @@ void Macbeth_8019D910(Actor* actor, s32* arg1, s32* arg2, s32 arg3, f32 arg4, f3
} }
} }
void Macbeth_8019E410(Actor* actor) { void Macbeth_Actor211_Update(Actor* actor) {
switch (actor->state) { switch (actor->state) {
case 0: case 0:
Macbeth_8019A198(actor); Macbeth_8019A198(actor);
@ -1348,7 +1348,7 @@ void Macbeth_8019E624(Actor* actor, s32* arg1, s32* arg2, s32 arg3, f32 arg4, f3
} }
} }
void Macbeth_8019EA60(Actor* actor) { void Macbeth_Actor208_Update(Actor* actor) {
switch (actor->state) { switch (actor->state) {
case 0: case 0:
Macbeth_8019A198(actor); Macbeth_8019A198(actor);
@ -1426,7 +1426,7 @@ void Macbeth_8019EBF8(Actor* actor, s32* arg1, s32* arg2, s32 arg3, f32 arg4, f3
} }
} }
void Macbeth_8019EE68(Actor* actor) { void Macbeth_Actor213_Update(Actor* actor) {
switch (actor->state) { switch (actor->state) {
case 0: case 0:
Macbeth_8019A198(actor); Macbeth_8019A198(actor);
@ -1683,7 +1683,7 @@ void Macbeth_8019FC54(Actor* actor, s32* arg1, s32* arg2, s32 arg3, s32 arg4, f3
} }
} }
void Macbeth_8019FF9C(Actor* actor) { void Macbeth_Actor212_Update(Actor* actor) {
switch (actor->state) { switch (actor->state) {
case 0: case 0:
Macbeth_8019A198(actor); Macbeth_8019A198(actor);
@ -1936,7 +1936,7 @@ bool Macbeth_801A0B20(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void*
return false; return false;
} }
void Macbeth_801A0BD8(Scenery* scenery) { void Macbeth_Scenery104_Update(Scenery* scenery) {
switch (scenery->state) { switch (scenery->state) {
case 0: case 0:
scenery->vel.y = 0.0f; scenery->vel.y = 0.0f;
@ -2047,7 +2047,8 @@ void Macbeth_801A1268(s32 limbIndex, Vec3f* rot, void* data) {
} }
} }
void Macbeth_801A12C4(Actor* actor) { // Actors 205, 206, 208, 209, 210, 211, 212, 213
void Macbeth_ActorDoodad_Draw(Actor* actor) {
Vec3f spD0[50]; Vec3f spD0[50];
s32 id; s32 id;
@ -2295,7 +2296,8 @@ void Macbeth_801A12C4(Actor* actor) {
} }
} }
void Macbeth_801A23AC(Scenery* scenery) { // Scenery 92 to 105
void Macbeth_SceneryDoodad_Draw(Scenery* scenery) {
Vec3f sp78[50]; Vec3f sp78[50];
RCP_SetupDL(&gMasterDisp, SETUPDL_57); RCP_SetupDL(&gMasterDisp, SETUPDL_57);
@ -2398,7 +2400,7 @@ void Macbeth_801A23AC(Scenery* scenery) {
RCP_SetupDL(&gMasterDisp, SETUPDL_29); RCP_SetupDL(&gMasterDisp, SETUPDL_29);
} }
void Macbeth_801A2A78(Scenery* scenery) { void Macbeth_Scenery61_Draw(Scenery* scenery) {
RCP_SetupDL(&gMasterDisp, SETUPDL_57); RCP_SetupDL(&gMasterDisp, SETUPDL_57);
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK); gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
gSPDisplayList(gMasterDisp++, D_MA_60253E0); gSPDisplayList(gMasterDisp++, D_MA_60253E0);
@ -2407,7 +2409,8 @@ void Macbeth_801A2A78(Scenery* scenery) {
RCP_SetupDL(&gMasterDisp, SETUPDL_29); RCP_SetupDL(&gMasterDisp, SETUPDL_29);
} }
void Macbeth_801A2B24(Scenery* scenery) { // Scenery 77 to 82, and 84 to 91
void Macbeth_SceneryDoodad2_Draw(Scenery* scenery) {
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) { if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) {
Object_Kill(&scenery->obj, scenery->sfxSource); Object_Kill(&scenery->obj, scenery->sfxSource);
} }
@ -2459,7 +2462,7 @@ void Macbeth_801A2B24(Scenery* scenery) {
RCP_SetupDL(&gMasterDisp, SETUPDL_29); RCP_SetupDL(&gMasterDisp, SETUPDL_29);
} }
void Macbeth_801A2DD8(Scenery* scenery) { void Macbeth_Scenery83_Update(Scenery* scenery) {
s16 i; s16 i;
switch (scenery->state) { switch (scenery->state) {
@ -2469,7 +2472,7 @@ void Macbeth_801A2DD8(Scenery* scenery) {
} }
break; break;
case 1: case 1:
func_effect_8007A6F0(&scenery->obj.pos, NA_SE_EN_EXPLOSION_M); Effect_SpawnTimedSfxAtPos(&scenery->obj.pos, NA_SE_EN_EXPLOSION_M);
gControllerRumbleFlags[gMainController] = 1; gControllerRumbleFlags[gMainController] = 1;
gControllerRumbleTimers[gMainController] = 15; gControllerRumbleTimers[gMainController] = 15;
for (i = 0; i < 6; i++) { for (i = 0; i < 6; i++) {
@ -2521,7 +2524,7 @@ void Macbeth_801A30B8(s32 limbIndex, Vec3f* rot, void* data) {
} }
} }
void Macbeth_801A3240(Scenery* scenery) { void Macbeth_Scenery83_Draw(Scenery* scenery) {
Vec3f sp38[50]; Vec3f sp38[50];
RCP_SetupDL(&gMasterDisp, SETUPDL_29); RCP_SetupDL(&gMasterDisp, SETUPDL_29);
@ -2776,7 +2779,7 @@ void Macbeth_801A3E70(Actor* actor) {
D_i5_801BA1D8++; D_i5_801BA1D8++;
} }
void Macbeth_801A3E98(Actor* actor) { void Macbeth_Actor214_Update(Actor* actor) {
if ((gPlayer[0].trueZpos - actor->obj.pos.z) < -500.0f) { if ((gPlayer[0].trueZpos - actor->obj.pos.z) < -500.0f) {
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
} }
@ -2847,7 +2850,7 @@ bool Macbeth_801A41B0(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void*
return false; return false;
} }
void Macbeth_801A43BC(Actor* actor) { void Macbeth_Actor214_Draw(Actor* actor) {
Vec3f sp50[50]; Vec3f sp50[50];
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
@ -2884,7 +2887,7 @@ void Macbeth_801A4660(Actor* actor) {
} }
} }
void Macbeth_801A46A0(Actor* actor) { void Macbeth_Actor215_Update(Actor* actor) {
if ((gPlayer[0].trueZpos - actor->obj.pos.z) < -500.0f) { if ((gPlayer[0].trueZpos - actor->obj.pos.z) < -500.0f) {
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
} }
@ -2951,7 +2954,7 @@ void Macbeth_801A49B8(Actor* actor) {
actor->timer_0C6 = 15; actor->timer_0C6 = 15;
actor->health -= actor->damage; actor->health -= actor->damage;
if (actor->health <= 0) { if (actor->health <= 0) {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_M); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_M);
gHitCount++; gHitCount++;
actor->state = 2; actor->state = 2;
} }
@ -2959,7 +2962,7 @@ void Macbeth_801A49B8(Actor* actor) {
} }
} }
void Macbeth_801A4A64(Actor* actor) { void Macbeth_Actor215_Draw(Actor* actor) {
if (actor->state < 2) { if (actor->state < 2) {
if (actor->scale != 1.0f) { if (actor->scale != 1.0f) {
Matrix_Scale(gGfxMatrix, actor->scale, actor->scale, actor->scale, MTXF_APPLY); Matrix_Scale(gGfxMatrix, actor->scale, actor->scale, actor->scale, MTXF_APPLY);
@ -2975,7 +2978,7 @@ void Macbeth_801A4AF8(Actor* actor) {
D_i5_801BE318 = actor->index; D_i5_801BE318 = actor->index;
} }
void Macbeth_801A4B24(Actor* actor) { void Macbeth_Actor223_Update(Actor* actor) {
s32 pad[2]; s32 pad[2];
s32 i; s32 i;
ObjectInit* objInit; ObjectInit* objInit;
@ -3120,7 +3123,7 @@ bool Macbeth_801A54AC(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void*
return false; return false;
} }
void Macbeth_801A54E8(Actor* actor) { void Macbeth_Actor223_Draw(Actor* actor) {
Vec3f sp28[50]; Vec3f sp28[50];
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
@ -3164,7 +3167,7 @@ s32 Macbeth_801A55D4(s32 arg0, Vec3f* arg1, Vec3f* arg2, s32 arg3) {
return 0; return 0;
} }
void Macbeth_801A57D0(Effect* effect) { void Macbeth_Effect378_Update(Effect* effect) {
u8 i; u8 i;
Vec3f sp50; Vec3f sp50;
Vec3f sp44; Vec3f sp44;
@ -3220,13 +3223,13 @@ void Macbeth_801A57D0(Effect* effect) {
} }
} }
void Macbeth_801A5AF0(Effect* effect) { void Macbeth_Effect378_Draw(Effect* effect) {
RCP_SetupDL(&gMasterDisp, SETUPDL_60); RCP_SetupDL(&gMasterDisp, SETUPDL_60);
gSPDisplayList(gMasterDisp++, D_MA_601A840); gSPDisplayList(gMasterDisp++, D_MA_601A840);
RCP_SetupDL(&gMasterDisp, SETUPDL_64); RCP_SetupDL(&gMasterDisp, SETUPDL_64);
} }
void Macbeth_801A5B4C(Effect* effect) { void Macbeth_Effect380_Update(Effect380* effect) {
if ((gPlayer[0].trueZpos - effect->obj.pos.z) < -2000.0f) { if ((gPlayer[0].trueZpos - effect->obj.pos.z) < -2000.0f) {
Object_Kill(&effect->obj, effect->sfxSource); Object_Kill(&effect->obj, effect->sfxSource);
} }
@ -3260,7 +3263,7 @@ void Macbeth_801A5B4C(Effect* effect) {
} }
} }
void Macbeth_801A5D68(Effect* effect) { void Macbeth_Effect380_Draw(Effect* effect) {
RCP_SetupDL(&gMasterDisp, SETUPDL_67); RCP_SetupDL(&gMasterDisp, SETUPDL_67);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 112, 255, 243, effect->unk_44); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 112, 255, 243, effect->unk_44);
gDPSetEnvColor(gMasterDisp++, 255, 255, 255, effect->unk_44); gDPSetEnvColor(gMasterDisp++, 255, 255, 255, effect->unk_44);
@ -3276,7 +3279,7 @@ void Macbeth_801A5E2C(Actor* actor) {
actor->obj.rot.z = 0.0f; actor->obj.rot.z = 0.0f;
} }
void Macbeth_801A5E54(Actor* actor) { void Macbeth_Actor216_Update(Actor* actor) {
if ((gPlayer[0].trueZpos - actor->obj.pos.z) < -500.0f) { if ((gPlayer[0].trueZpos - actor->obj.pos.z) < -500.0f) {
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
} }
@ -3293,14 +3296,14 @@ void Macbeth_801A5E54(Actor* actor) {
} }
} }
void Macbeth_801A5F90(Actor* actor) { void Macbeth_Actor216_Draw(Actor* actor) {
gSPDisplayList(gMasterDisp++, D_MA_60251A0); gSPDisplayList(gMasterDisp++, D_MA_60251A0);
} }
void Macbeth_801A5FC4(s32 arg0) { void Macbeth_801A5FC4(s32 arg0) {
} }
void Macbeth_801A5FD0(Actor* actor) { void Macbeth_Actor217_Update(Actor* actor) {
if (gPlayer[0].trueZpos - actor->obj.pos.z < -500.0f) { if (gPlayer[0].trueZpos - actor->obj.pos.z < -500.0f) {
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
} }
@ -3317,7 +3320,7 @@ void Macbeth_801A5FD0(Actor* actor) {
} }
} }
void Macbeth_801A6100(Actor* actor) { void Macbeth_Actor217_Draw(Actor* actor) {
gSPDisplayList(gMasterDisp++, D_MA_6025850); gSPDisplayList(gMasterDisp++, D_MA_6025850);
} }
@ -3325,7 +3328,7 @@ void Macbeth_801A6134(Actor* actor) {
actor->health = 30; actor->health = 30;
} }
void Macbeth_801A6144(Actor* actor) { void Macbeth_Actor218_Update(Actor* actor) {
s16 i; s16 i;
if ((gPlayer[0].trueZpos - actor->obj.pos.z) < -500.0f) { if ((gPlayer[0].trueZpos - actor->obj.pos.z) < -500.0f) {
@ -3370,7 +3373,7 @@ void Macbeth_801A6144(Actor* actor) {
} }
} }
void Macbeth_801A6540(Actor* actor) { void Macbeth_Actor218_Draw(Actor* actor) {
RCP_SetupDL(&gMasterDisp, SETUPDL_57); RCP_SetupDL(&gMasterDisp, SETUPDL_57);
if ((actor->timer_0C6 % 2) != 0) { if ((actor->timer_0C6 % 2) != 0) {
RCP_SetupDL(&gMasterDisp, SETUPDL_58); RCP_SetupDL(&gMasterDisp, SETUPDL_58);
@ -3387,7 +3390,7 @@ void Macbeth_801A65E0(Scenery* scenery) {
scenery->obj.rot.z = 0.0f; scenery->obj.rot.z = 0.0f;
} }
void Macbeth_801A6608(Scenery* scenery) { void Macbeth_Scenery65_Draw(Scenery* scenery) {
if ((gPlayer[0].trueZpos - scenery->obj.pos.z) < scenery->vel.z) { if ((gPlayer[0].trueZpos - scenery->obj.pos.z) < scenery->vel.z) {
if (gPlayState != PLAY_PAUSE) { if (gPlayState != PLAY_PAUSE) {
Math_SmoothStepToF(&scenery->vel.x, 30, 0.5f, 30.0f, 0.0f); Math_SmoothStepToF(&scenery->vel.x, 30, 0.5f, 30.0f, 0.0f);
@ -3406,7 +3409,7 @@ void Macbeth_801A6608(Scenery* scenery) {
void Macbeth_801A67BC(s32 arg0) { void Macbeth_801A67BC(s32 arg0) {
} }
void Macbeth_801A67C8(Actor* actor) { void Macbeth_Actor219_Update(Actor* actor) {
if ((gPlayer[0].trueZpos - actor->obj.pos.z) < -300.0f) { if ((gPlayer[0].trueZpos - actor->obj.pos.z) < -300.0f) {
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
} }
@ -3424,7 +3427,7 @@ void Macbeth_801A67C8(Actor* actor) {
} }
} }
void Macbeth_801A68EC(Actor* actor) { void Macbeth_Actor219_Draw(Actor* actor) {
} }
void Macbeth_801A68F8(Actor* actor, s16 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7) { void Macbeth_801A68F8(Actor* actor, s16 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7) {
@ -3785,7 +3788,7 @@ void Macbeth_801A7D98(Actor* actor) {
static Vec3f D_i5_801BA744 = { 0.0f, 0.0f, 0.0f }; static Vec3f D_i5_801BA744 = { 0.0f, 0.0f, 0.0f };
static Vec3f D_i5_801BA750 = { 0.0f, 0.0f, 30.0f }; static Vec3f D_i5_801BA750 = { 0.0f, 0.0f, 30.0f };
void Macbeth_801A7E7C(Actor* actor) { void Macbeth_Actor207_Update(Actor* actor) {
s32 pad; s32 pad;
f32 temp; f32 temp;
f32 sp374; f32 sp374;
@ -4837,7 +4840,7 @@ void Macbeth_801AC1C0(s32 limbIndex, Vec3f* rot, void* data) {
} }
} }
void Macbeth_801AC294(Actor* actor) { void Macbeth_Actor207_Draw(Actor* actor) {
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) { if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) {
if (((gPlayer[0].trueZpos - actor->obj.pos.z) > 7000.0f) || if (((gPlayer[0].trueZpos - actor->obj.pos.z) > 7000.0f) ||
((gPlayer[0].trueZpos - actor->obj.pos.z) < -1000.0f)) { ((gPlayer[0].trueZpos - actor->obj.pos.z) < -1000.0f)) {
@ -4862,7 +4865,7 @@ void Macbeth_801AC294(Actor* actor) {
void Macbeth_801AC42C(s32 arg0) { void Macbeth_801AC42C(s32 arg0) {
} }
void Macbeth_801AC438(Actor* actor) { void Macbeth_Actor206_Update(Actor* actor) {
switch (actor->state) { switch (actor->state) {
case 0: case 0:
Macbeth_8019A198(actor); Macbeth_8019A198(actor);
@ -5016,9 +5019,9 @@ void Macbeth_LevelStart(Player* player) {
player->csState = player->csTimer = player->csEventTimer = player->hideShadow = 0; player->csState = player->csTimer = player->csEventTimer = player->hideShadow = 0;
player->gravity = 3.0f; player->gravity = 3.0f;
player->unk_014 = 0.0f; player->unk_014 = 0.0f;
D_ctx_8017782C = 1; D_ctx_8017782C = true;
Play_InitEnvironment(); Play_InitEnvironment();
D_ctx_8017782C = 0; D_ctx_8017782C = false;
gObjectLoadIndex = 40; gObjectLoadIndex = 40;
player->csState = 4; player->csState = 4;
break; break;
@ -5051,7 +5054,7 @@ void Macbeth_801ACE40(Effect* effect) {
effect->obj.pos.x = gPlayer[0].cam.eye.x + RAND_FLOAT_CENTERED(600.0f); effect->obj.pos.x = gPlayer[0].cam.eye.x + RAND_FLOAT_CENTERED(600.0f);
effect->obj.pos.y = gPlayer[0].cam.eye.y - 1000.0f; effect->obj.pos.y = gPlayer[0].cam.eye.y - 1000.0f;
effect->obj.pos.z = gPlayer[0].trueZpos - 2000.0f; effect->obj.pos.z = gPlayer[0].trueZpos - 2000.0f;
effect->obj.id = OBJ_EFFECT_352; effect->obj.id = OBJ_EFFECT_CLOUDS;
effect->timer_50 = 80; effect->timer_50 = 80;
effect->unk_46 = 144; effect->unk_46 = 144;
effect->vel.x = 10.0f; effect->vel.x = 10.0f;
@ -5200,7 +5203,7 @@ void Macbeth_801AD624(f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel
void Macbeth_801AD6E8(void) { void Macbeth_801AD6E8(void) {
} }
void Macbeth_801AD6F0(Actor* actor) { void Macbeth_Actor220_Update(Actor* actor) {
Vec3f sp4C = { 0.0f, -10.0f, 0.0f }; Vec3f sp4C = { 0.0f, -10.0f, 0.0f };
if ((gPlayer[0].trueZpos - actor->obj.pos.z) < -500.0f) { if ((gPlayer[0].trueZpos - actor->obj.pos.z) < -500.0f) {
@ -5256,7 +5259,7 @@ void Macbeth_801AD6F0(Actor* actor) {
} }
} }
void Macbeth_801ADAC8(Actor* actor) { void Macbeth_Actor220_Draw(Actor* actor) {
switch (actor->state) { switch (actor->state) {
case 0: case 0:
Graphics_SetScaleMtx(actor->scale); Graphics_SetScaleMtx(actor->scale);
@ -5307,7 +5310,7 @@ void Macbeth_801ADCEC(f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel
} }
} }
void Macbeth_801ADD68(Actor* actor) { void Macbeth_Actor221_Update(Actor* actor) {
Vec3f sp3C = { 0.0f, -10.0f, 0.0f }; Vec3f sp3C = { 0.0f, -10.0f, 0.0f };
s32 var_v0; s32 var_v0;
@ -5382,7 +5385,7 @@ void Macbeth_801ADD68(Actor* actor) {
actor->health -= actor->damage; actor->health -= actor->damage;
if (actor->health <= 0) { if (actor->health <= 0) {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
func_effect_8007D2C8(actor->obj.pos.x + RAND_FLOAT_CENTERED(20.0f), actor->obj.pos.y - 200.0f, func_effect_8007D2C8(actor->obj.pos.x + RAND_FLOAT_CENTERED(20.0f), actor->obj.pos.y - 200.0f,
actor->obj.pos.z, 8.0f); actor->obj.pos.z, 8.0f);
func_effect_8007D2C8(actor->obj.pos.x + RAND_FLOAT_CENTERED(20.0f), actor->obj.pos.y, func_effect_8007D2C8(actor->obj.pos.x + RAND_FLOAT_CENTERED(20.0f), actor->obj.pos.y,
@ -5406,7 +5409,7 @@ static Vec3f D_i5_801BA784[8] = {
{ -40.0f, 10.0f, 30.0f }, { -41.0f, 10.0f, 10.0f }, { -43.0f, 10.0f, -10.0f }, { -45.0f, 10.0f, -30.0f }, { -40.0f, 10.0f, 30.0f }, { -41.0f, 10.0f, 10.0f }, { -43.0f, 10.0f, -10.0f }, { -45.0f, 10.0f, -30.0f },
}; // unused? }; // unused?
void Macbeth_801AE2C0(Actor* actor) { void Macbeth_Actor221_Draw(Actor* actor) {
if (actor->state < 2) { if (actor->state < 2) {
Graphics_SetScaleMtx(actor->scale); Graphics_SetScaleMtx(actor->scale);
if (actor->iwork[0] >= 128) { if (actor->iwork[0] >= 128) {
@ -5513,7 +5516,7 @@ void Macbeth_801AE800(f32 xPos, f32 yPos, f32 zPos, f32 arg3, f32 arg4, f32 arg5
} }
} }
void Macbeth_801AE87C(Effect* effect) { void Macbeth_Effect379_Update(Effect* effect) {
f32 sp34; f32 sp34;
f32 sp30; f32 sp30;
f32 sp2C; f32 sp2C;
@ -5557,7 +5560,7 @@ void Macbeth_801AE87C(Effect* effect) {
} }
} }
void Macbeth_801AEAA0(Effect* effect) { void Macbeth_Effect379_Draw(Effect* effect) {
RCP_SetupDL(&gMasterDisp, SETUPDL_67); RCP_SetupDL(&gMasterDisp, SETUPDL_67);
if (effect->scale2 >= 3.0f) { if (effect->scale2 >= 3.0f) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, effect->unk_44); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, effect->unk_44);
@ -5572,7 +5575,7 @@ void Macbeth_801AEAA0(Effect* effect) {
RCP_SetupDL(&gMasterDisp, SETUPDL_64); RCP_SetupDL(&gMasterDisp, SETUPDL_64);
} }
void Macbeth_801AEC04(Actor* actor) { void Macbeth_Actor222_Update(Actor* actor) {
if ((gPlayer[0].trueZpos - actor->obj.pos.z) < -300.0f) { if ((gPlayer[0].trueZpos - actor->obj.pos.z) < -300.0f) {
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
} }
@ -5623,14 +5626,14 @@ void Macbeth_801AEC04(Actor* actor) {
actor->health -= actor->damage; actor->health -= actor->damage;
actor->timer_0C6 = 15; actor->timer_0C6 = 15;
if (actor->health <= 0) { if (actor->health <= 0) {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EXPLOSION_S);
func_effect_8007D2C8(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 8.0f); func_effect_8007D2C8(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 8.0f);
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
} }
} }
} }
void Macbeth_801AEEFC(Actor* actor) { void Macbeth_Actor222_Draw(Actor* actor) {
gSPDisplayList(gMasterDisp++, D_MA_6015510); gSPDisplayList(gMasterDisp++, D_MA_6015510);
Matrix_Scale(gGfxMatrix, actor->fwork[0], actor->fwork[2], 1.0f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, actor->fwork[0], actor->fwork[2], 1.0f, MTXF_APPLY);
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);

View File

@ -79,7 +79,7 @@ void Titania_80188F30(void) {
D_MA_801BA1E8 = 99; D_MA_801BA1E8 = 99;
} }
void Titania_80188F60(Effect* effect) { void Titania_Effect368_Update(Effect* effect) {
if (effect->timer_50 == 0) { if (effect->timer_50 == 0) {
effect->unk_44 -= 16; effect->unk_44 -= 16;
if (effect->unk_44 < 17) { if (effect->unk_44 < 17) {
@ -88,7 +88,7 @@ void Titania_80188F60(Effect* effect) {
} }
} }
void Titania_80188FA8(Effect* effect) { void Titania_Effect368_Draw(Effect* effect) {
Matrix_Scale(gGfxMatrix, effect->scale2 * 0.5f, effect->scale2, effect->scale2, MTXF_APPLY); Matrix_Scale(gGfxMatrix, effect->scale2 * 0.5f, effect->scale2, effect->scale2, MTXF_APPLY);
Matrix_RotateX(gGfxMatrix, -(M_DTOR * 90), MTXF_APPLY); Matrix_RotateX(gGfxMatrix, -(M_DTOR * 90), MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
@ -122,7 +122,7 @@ void Titania_80189120(f32 xPos, f32 yPos, f32 zPos, f32 yRot, f32 scale2) {
} }
} }
void Titania_80189194(Actor* actor) { void Titania_Actor224_Update(Actor* actor) {
Ground_801B49D0(actor); Ground_801B49D0(actor);
} }
@ -209,15 +209,15 @@ void Titania_80189380(Actor* actor) {
sp5C.y = 0.0f; sp5C.y = 0.0f;
sp5C.z = 70.0f; sp5C.z = 70.0f;
func_effect_8007EE68(OBJ_EFFECT_353, &sp80, &sp74, &sp68, &sp5C, 1.0f); func_effect_8007EE68(OBJ_EFFECT_ENEMY_LASER_1, &sp80, &sp74, &sp68, &sp5C, 1.0f);
sp80.y += 20.0f; sp80.y += 20.0f;
func_effect_8007EE68(OBJ_EFFECT_353, &sp80, &sp74, &sp68, &sp5C, 1.0f); func_effect_8007EE68(OBJ_EFFECT_ENEMY_LASER_1, &sp80, &sp74, &sp68, &sp5C, 1.0f);
} }
static Vec3f D_i5_801B752C = { -50.0f, 0.0f, -20.0f }; static Vec3f D_i5_801B752C = { -50.0f, 0.0f, -20.0f };
static Vec3f D_i5_801B7538 = { 50.0f, 0.0f, -20.0f }; static Vec3f D_i5_801B7538 = { 50.0f, 0.0f, -20.0f };
void Titania_801895B8(Actor* actor) { void Titania_Actor226_Update(Actor* actor) {
Vec3f sp54; Vec3f sp54;
Vec3f sp48; Vec3f sp48;
f32 sp44; f32 sp44;
@ -315,12 +315,12 @@ void Titania_801895B8(Actor* actor) {
func_effect_8007D2C8(actor->obj.pos.x, actor->obj.pos.y + 30.0f, actor->obj.pos.z, 8.0f); func_effect_8007D2C8(actor->obj.pos.x, actor->obj.pos.y + 30.0f, actor->obj.pos.z, 8.0f);
func_effect_8007C120(actor->obj.pos.x, actor->obj.pos.y + 30.0f, actor->obj.pos.z, actor->vel.x, actor->vel.y, func_effect_8007C120(actor->obj.pos.x, actor->obj.pos.y + 30.0f, actor->obj.pos.z, actor->vel.x, actor->vel.y,
actor->vel.z, 0.1f, 30); actor->vel.z, 0.1f, 30);
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
} }
} }
void Titania_80189AFC(Actor* actor) { void Titania_Actor226_Draw(Actor* actor) {
Animation_GetFrameData(&D_TI1_700C8D8, 0, actor->vwork); Animation_GetFrameData(&D_TI1_700C8D8, 0, actor->vwork);
actor->vwork[3].z = actor->fwork[5] + 270.0f; actor->vwork[3].z = actor->fwork[5] + 270.0f;
Animation_DrawSkeleton(1, D_TI1_700C964, actor->vwork, NULL, Titania_801891B4, actor, &gIdentityMatrix); Animation_DrawSkeleton(1, D_TI1_700C964, actor->vwork, NULL, Titania_801891B4, actor, &gIdentityMatrix);
@ -343,7 +343,7 @@ void Titania_80189B80(Actor* actor) {
actor->fwork[2] += actor->obj.pos.z; actor->fwork[2] += actor->obj.pos.z;
} }
void Titania_80189CC8(Actor* actor) { void Titania_Actor233_Update(Actor* actor) {
static Vec3f D_i5_801B7550 = { 0.0f, -50.0f, 178.0f }; static Vec3f D_i5_801B7550 = { 0.0f, -50.0f, 178.0f };
static Vec3f D_i5_801B755C = { 0.0f, 0.0f, 90.0f }; static Vec3f D_i5_801B755C = { 0.0f, 0.0f, 90.0f };
Vec3f sp64; Vec3f sp64;
@ -412,8 +412,8 @@ void Titania_80189CC8(Actor* actor) {
sp40.z = 0.0f; sp40.z = 0.0f;
if ((actor->timer_0BC < 15) && ((actor->timer_0BC % 7) == 0)) { if ((actor->timer_0BC < 15) && ((actor->timer_0BC % 7) == 0)) {
func_effect_8007EE68(OBJ_EFFECT_353, (Vec3f*) &actor->fwork[0], &sp40, &actor->obj.rot, &D_i5_801B755C, func_effect_8007EE68(OBJ_EFFECT_ENEMY_LASER_1, (Vec3f*) &actor->fwork[0], &sp40, &actor->obj.rot,
1.0f); &D_i5_801B755C, 1.0f);
if (actor->timer_0BC == 0) { if (actor->timer_0BC == 0) {
actor->timer_0BC = 90; actor->timer_0BC = 90;
} }
@ -425,7 +425,7 @@ void Titania_80189CC8(Actor* actor) {
} }
} }
void Titania_8018A1C0(Actor* actor) { void Titania_Actor233_Draw(Actor* actor) {
gSPDisplayList(gMasterDisp++, D_TI1_700C4B0); gSPDisplayList(gMasterDisp++, D_TI1_700C4B0);
Matrix_Translate(gGfxMatrix, 0.0f, -50.0f, 178.0f, MTXF_APPLY); Matrix_Translate(gGfxMatrix, 0.0f, -50.0f, 178.0f, MTXF_APPLY);
Matrix_RotateY(gGfxMatrix, actor->fwork[4] * M_DTOR, MTXF_APPLY); Matrix_RotateY(gGfxMatrix, actor->fwork[4] * M_DTOR, MTXF_APPLY);
@ -484,7 +484,7 @@ void Titania_8018A474(Actor* actor) {
} }
} }
void Titania_8018A544(Actor* actor) { void Titania_Actor230_Update(Actor* actor) {
f32 temp_fv0; f32 temp_fv0;
f32 temp_fv1; f32 temp_fv1;
f32 sp4C; f32 sp4C;
@ -503,7 +503,7 @@ void Titania_8018A544(Actor* actor) {
actor->health += actor->damage; actor->health += actor->damage;
if (actor->scale == 1.0f) { if (actor->scale == 1.0f) {
if (actor->health >= 10) { if (actor->health >= 10) {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_OB_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_OB_EXPLOSION_S);
if ((Actor*) actor->iwork[0] != NULL) { if ((Actor*) actor->iwork[0] != NULL) {
((Actor*) actor->iwork[0])->iwork[actor->iwork[1]] = 0; ((Actor*) actor->iwork[0])->iwork[actor->iwork[1]] = 0;
} }
@ -592,7 +592,7 @@ void Titania_8018A544(Actor* actor) {
} }
} }
void Titania_8018AABC(Actor* actor) { void Titania_Actor230_Draw(Actor* actor) {
if (actor->scale != 1.0f) { if (actor->scale != 1.0f) {
Matrix_Scale(gGfxMatrix, actor->scale, actor->scale, actor->scale, MTXF_APPLY); Matrix_Scale(gGfxMatrix, actor->scale, actor->scale, actor->scale, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
@ -600,7 +600,7 @@ void Titania_8018AABC(Actor* actor) {
gSPDisplayList(gMasterDisp++, D_TI1_700E3F0); gSPDisplayList(gMasterDisp++, D_TI1_700E3F0);
} }
void Titania_8018AB44(Actor* actor) { void Titania_Actor225_Update(Actor* actor) {
f32 sp3C; f32 sp3C;
f32 sp38; f32 sp38;
f32 sp34; f32 sp34;
@ -634,12 +634,12 @@ void Titania_8018AB44(Actor* actor) {
Actor_Despawn(actor); Actor_Despawn(actor);
actor->info.bonus = 0; actor->info.bonus = 0;
func_effect_8007D2C8(actor->obj.pos.x, actor->obj.pos.y + 10.0f, actor->obj.pos.z, 6.0f); func_effect_8007D2C8(actor->obj.pos.x, actor->obj.pos.y + 10.0f, actor->obj.pos.z, 6.0f);
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_M); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_M);
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
break; break;
case 3: case 3:
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_M); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_M);
func_effect_8007D2C8(actor->obj.pos.x, actor->obj.pos.y + 50.0f, actor->obj.pos.z, (10.0f / 3.0f)); func_effect_8007D2C8(actor->obj.pos.x, actor->obj.pos.y + 50.0f, actor->obj.pos.z, (10.0f / 3.0f));
gPlayer[0].vel.y = 20.0f; gPlayer[0].vel.y = 20.0f;
gPlayer[0].pos.y += 15.0f; gPlayer[0].pos.y += 15.0f;
@ -768,7 +768,7 @@ void Titania_8018B1B4(s32 limbIndex, Vec3f* rot, void* data) {
} }
} }
void Titania_8018B268(Actor* actor) { void Titania_Actor232_Update(Actor* actor) {
Vec3f src; Vec3f src;
Vec3f dest; Vec3f dest;
Actor* sp3C = actor->iwork[0]; Actor* sp3C = actor->iwork[0];
@ -871,7 +871,7 @@ void Titania_8018B268(Actor* actor) {
} }
} }
void Titania_8018B6AC(Actor* actor) { void Titania_Actor232_Draw(Actor* actor) {
Animation_GetFrameData(&D_TI1_700D534, actor->animFrame, actor->vwork); Animation_GetFrameData(&D_TI1_700D534, actor->animFrame, actor->vwork);
Animation_DrawSkeleton(0, D_TI1_700D700, actor->vwork, Titania_8018AFF0, Titania_8018B144, actor, &gIdentityMatrix); Animation_DrawSkeleton(0, D_TI1_700D700, actor->vwork, Titania_8018AFF0, Titania_8018B144, actor, &gIdentityMatrix);
} }
@ -933,7 +933,7 @@ void Titania_Actor231_Init(Actor* actor) {
actor->obj.pos.y -= 20.0f; actor->obj.pos.y -= 20.0f;
} }
void Titania_8018B9D0(Actor* actor) { void Titania_Actor231_Update(Actor* actor) {
f32 var_fa0; f32 var_fa0;
f32 sp50; f32 sp50;
f32 sp4C; f32 sp4C;
@ -995,7 +995,7 @@ void Titania_8018B9D0(Actor* actor) {
if (actor->vel.y <= 0.0f) { if (actor->vel.y <= 0.0f) {
actor->itemDrop = DROP_NONE; actor->itemDrop = DROP_NONE;
Actor_Despawn(actor); Actor_Despawn(actor);
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_M); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_M);
func_effect_8007D2C8(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 10.0f); func_effect_8007D2C8(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 10.0f);
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
} }
@ -1045,7 +1045,7 @@ Gfx* D_TI_801B7608[10] = {
D_TI1_7003A90, D_TI1_7005420, D_TI1_7003FC0, D_TI1_7002930, D_TI1_7002490, D_TI1_7003A90, D_TI1_7005420, D_TI1_7003FC0, D_TI1_7002930, D_TI1_7002490,
}; };
void Titania_8018BE84(Actor* actor) { void Titania_Actor231_Draw(Actor* actor) {
s32 index; s32 index;
RCP_SetupDL(&gMasterDisp, SETUPDL_30); RCP_SetupDL(&gMasterDisp, SETUPDL_30);
@ -1263,7 +1263,7 @@ void Titania_8018C72C(Actor* actor) {
static Vec3f D_i5_801B766C = { 0.0f, 0.0f, 15.0f }; static Vec3f D_i5_801B766C = { 0.0f, 0.0f, 15.0f };
void Titania_8018C8A8(Actor* actor) { void Titania_Actor229_Update(Actor* actor) {
s32 i; s32 i;
f32 sp170; f32 sp170;
f32 temp_fs0; f32 temp_fs0;
@ -1323,7 +1323,7 @@ void Titania_8018C8A8(Actor* actor) {
AUDIO_PLAY_SFX(NA_SE_EN_SNAKE_DAMAGE, actor->sfxSource, 4); AUDIO_PLAY_SFX(NA_SE_EN_SNAKE_DAMAGE, actor->sfxSource, 4);
} }
} else if (actor->dmgType == DMG_BEAM) { } else if (actor->dmgType == DMG_BEAM) {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_REFLECT); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_REFLECT);
} }
actor->dmgType = DMG_NONE; actor->dmgType = DMG_NONE;
} }
@ -1686,7 +1686,7 @@ void Titania_8018C8A8(Actor* actor) {
actor->dmgType = DMG_NONE; actor->dmgType = DMG_NONE;
} }
void Titania_8018E2D8(Actor* actor) { void Titania_Actor229_Draw(Actor* actor) {
f32 sp34; f32 sp34;
if ((actor->iwork[6] % 2) != 0) { if ((actor->iwork[6] % 2) != 0) {
@ -1743,7 +1743,7 @@ void Titania_8018E3CC(Actor* actor) {
} }
} }
void Titania_8018E54C(Actor* actor) { void Titania_Actor227_Update(Actor* actor) {
actor->iwork[1]++; actor->iwork[1]++;
if ((actor->iwork[0] == (uintptr_t) NULL) && ((actor->iwork[1] & 3) == 0)) { if ((actor->iwork[0] == (uintptr_t) NULL) && ((actor->iwork[1] & 3) == 0)) {
@ -1751,7 +1751,7 @@ void Titania_8018E54C(Actor* actor) {
} }
} }
void Titania_8018E5B4(Actor* actor) { void Titania_Actor227_Draw(Actor* actor) {
gSPDisplayList(gMasterDisp++, D_TI1_70098E0); gSPDisplayList(gMasterDisp++, D_TI1_70098E0);
} }
@ -1759,7 +1759,7 @@ void Titania_8018E5E8(Actor* actor) {
actor->health = 100; actor->health = 100;
} }
void Titania_8018E5F8(Actor* actor) { void Titania_Actor228_Update(Actor* actor) {
f32 spA4; f32 spA4;
f32 spA0; f32 spA0;
f32 sp9C; f32 sp9C;
@ -1949,7 +1949,7 @@ void Titania_8018E5F8(Actor* actor) {
} }
temp_v0_3 = actor->iwork[5]; temp_v0_3 = actor->iwork[5];
if (temp_v0_3 == NULL) { if (temp_v0_3 == NULL) {
temp_v0_4 = func_effect_8007783C(OBJ_EFFECT_373); temp_v0_4 = func_effect_8007783C(OBJ_EFFECT_TIMED_SFX);
if (temp_v0_4 != NULL) { if (temp_v0_4 != NULL) {
temp_v0_4->obj.status = OBJ_ACTIVE; temp_v0_4->obj.status = OBJ_ACTIVE;
temp_v0_4->obj.pos.x = sp5C; temp_v0_4->obj.pos.x = sp5C;
@ -1974,7 +1974,7 @@ void Titania_8018E5F8(Actor* actor) {
} }
} }
void Titania_8018EF14(Actor* actor) { void Titania_Actor228_Draw(Actor* actor) {
gSPDisplayList(gMasterDisp++, D_TI1_7008930); gSPDisplayList(gMasterDisp++, D_TI1_7008930);
if ((actor->timer_0C6 % 2) == 0) { if ((actor->timer_0C6 % 2) == 0) {
@ -2002,7 +2002,7 @@ void Titania_Cactus_Update(Sprite* sprite) {
if (sprite->destroy != 0) { if (sprite->destroy != 0) {
func_effect_8007D074(sprite->obj.pos.x, sprite->obj.pos.y + 96.0f, sprite->obj.pos.z, 4.0f); func_effect_8007D074(sprite->obj.pos.x, sprite->obj.pos.y + 96.0f, sprite->obj.pos.z, 4.0f);
sprite->obj.status = OBJ_FREE; sprite->obj.status = OBJ_FREE;
func_effect_8007A6F0(&sprite->obj.pos, NA_SE_OB_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&sprite->obj.pos, NA_SE_OB_EXPLOSION_S);
} }
} }
@ -2076,7 +2076,7 @@ void Titania_8018F134(Scenery* scenery) {
} }
} }
void Titania_8018F4D8(Scenery* scenery) { void Titania_Scenery57_Update(Scenery* scenery) {
f32 temp; f32 temp;
switch (scenery->state) { switch (scenery->state) {
@ -2147,7 +2147,7 @@ void Titania_8018F4D8(Scenery* scenery) {
} }
} }
void Titania_8018F8B8(Scenery* scenery) { void Titania_Scenery57_Draw(Scenery* scenery) {
switch (scenery->unk_44) { switch (scenery->unk_44) {
case 0: case 0:
@ -3196,7 +3196,7 @@ void Titania_80192118(Boss* boss) {
sp54.x = (boss->obj.pos.x + D_i5_801BBEF4[39]) + D_i5_801BBEF4[68]; sp54.x = (boss->obj.pos.x + D_i5_801BBEF4[39]) + D_i5_801BBEF4[68];
sp54.y = 0.0f; sp54.y = 0.0f;
sp54.z = (boss->obj.pos.z + D_i5_801BBEF4[41]) + D_i5_801BBEF4[70]; sp54.z = (boss->obj.pos.z + D_i5_801BBEF4[41]) + D_i5_801BBEF4[70];
func_effect_8007A6F0(&sp54, NA_SE_EN_BOSS_ATTACK); Effect_SpawnTimedSfxAtPos(&sp54, NA_SE_EN_BOSS_ATTACK);
boss->swork[39] = 5; boss->swork[39] = 5;
gCameraShake = 5; gCameraShake = 5;
} }
@ -3204,7 +3204,7 @@ void Titania_80192118(Boss* boss) {
sp54.x = (boss->obj.pos.x + D_i5_801BBEF4[42]) + D_i5_801BBEF4[71]; sp54.x = (boss->obj.pos.x + D_i5_801BBEF4[42]) + D_i5_801BBEF4[71];
sp54.y = 0.0f; sp54.y = 0.0f;
sp54.z = (boss->obj.pos.z + D_i5_801BBEF4[44]) + D_i5_801BBEF4[73]; sp54.z = (boss->obj.pos.z + D_i5_801BBEF4[44]) + D_i5_801BBEF4[73];
func_effect_8007A6F0(&sp54, NA_SE_EN_BOSS_ATTACK); Effect_SpawnTimedSfxAtPos(&sp54, NA_SE_EN_BOSS_ATTACK);
boss->swork[39] = 5; boss->swork[39] = 5;
gCameraShake = 5; gCameraShake = 5;
} }
@ -4242,7 +4242,8 @@ void Titania_80193DF0(Boss* boss) {
sp84.x = -boss->fwork[28]; sp84.x = -boss->fwork[28];
sp84.y = boss->fwork[27] + 90.0f; sp84.y = boss->fwork[27] + 90.0f;
sp84.z = 0.0f; sp84.z = 0.0f;
func_effect_8007EE68(OBJ_EFFECT_353, &sp90, &sp84, &D_tank_800C9F2C, &D_i5_801B8D48, 1.0f); func_effect_8007EE68(OBJ_EFFECT_ENEMY_LASER_1, &sp90, &sp84, &D_tank_800C9F2C, &D_i5_801B8D48,
1.0f);
} }
} }
} }
@ -4255,7 +4256,8 @@ void Titania_80193DF0(Boss* boss) {
sp84.x = -boss->fwork[34]; sp84.x = -boss->fwork[34];
sp84.y = boss->fwork[33] + 90.0f; sp84.y = boss->fwork[33] + 90.0f;
sp84.z = 0.0f; sp84.z = 0.0f;
func_effect_8007EE68(OBJ_EFFECT_353, &sp90, &sp84, &D_tank_800C9F2C, &D_i5_801B8D48, 1.0f); func_effect_8007EE68(OBJ_EFFECT_ENEMY_LASER_1, &sp90, &sp84, &D_tank_800C9F2C, &D_i5_801B8D48,
1.0f);
} }
} }
} }
@ -4313,7 +4315,7 @@ void Titania_80193DF0(Boss* boss) {
func_effect_8007A900(spD4.x, 0.0f, spD4.z, 10.0f, 255, 8, 0); func_effect_8007A900(spD4.x, 0.0f, spD4.z, 10.0f, 255, 8, 0);
} }
if (boss->unk_04C == 38) { if (boss->unk_04C == 38) {
func_effect_8007A6F0(&spD4, NA_SE_EN_BOSS_ATTACK); Effect_SpawnTimedSfxAtPos(&spD4, NA_SE_EN_BOSS_ATTACK);
boss->swork[39] = 5; boss->swork[39] = 5;
gCameraShake = 20; gCameraShake = 20;
} }
@ -4326,7 +4328,7 @@ void Titania_80193DF0(Boss* boss) {
func_effect_8007A900(spD4.x, 0.0f, spD4.z, 10.0f, 255, 8, 0); func_effect_8007A900(spD4.x, 0.0f, spD4.z, 10.0f, 255, 8, 0);
} }
if (boss->unk_04C == 98) { if (boss->unk_04C == 98) {
func_effect_8007A6F0(&spD4, NA_SE_EN_BOSS_ATTACK); Effect_SpawnTimedSfxAtPos(&spD4, NA_SE_EN_BOSS_ATTACK);
boss->swork[39] = 5; boss->swork[39] = 5;
gCameraShake = 20; gCameraShake = 20;
} }
@ -4905,7 +4907,7 @@ void Titania_Boss_Update(Boss* boss) {
sp3C.x = boss->fwork[29] + boss->obj.pos.x; sp3C.x = boss->fwork[29] + boss->obj.pos.x;
sp3C.y = boss->fwork[30] + boss->obj.pos.y; sp3C.y = boss->fwork[30] + boss->obj.pos.y;
sp3C.z = boss->fwork[31] + boss->obj.pos.z; sp3C.z = boss->fwork[31] + boss->obj.pos.z;
func_effect_8007A6F0(&sp3C, NA_SE_ARWING_DASH); Effect_SpawnTimedSfxAtPos(&sp3C, NA_SE_ARWING_DASH);
D_i5_801BBEF0[49] = D_i5_801B8D54[RAND_INT(4.0f)]; D_i5_801BBEF0[49] = D_i5_801B8D54[RAND_INT(4.0f)];
D_i5_801BBEF4[74] = RAND_FLOAT(0.4f) + 0.9f; D_i5_801BBEF4[74] = RAND_FLOAT(0.4f) + 0.9f;
D_i5_801BBEF4[75] = 0.6f; D_i5_801BBEF4[75] = 0.6f;

View File

@ -225,9 +225,9 @@ void Titania_LevelStart(Player* player) {
player->csState = player->csTimer = player->csEventTimer = player->hideShadow = 0; player->csState = player->csTimer = player->csEventTimer = player->hideShadow = 0;
player->gravity = 3.0f; player->gravity = 3.0f;
player->unk_014 = 0.0f; player->unk_014 = 0.0f;
D_ctx_8017782C = 1; D_ctx_8017782C = true;
Play_InitEnvironment(); Play_InitEnvironment();
D_ctx_8017782C = 0; D_ctx_8017782C = false;
if ((gControllerHold[player->num].button & Z_TRIG) && (gControllerHold[player->num].button & R_TRIG)) { if ((gControllerHold[player->num].button & Z_TRIG) && (gControllerHold[player->num].button & R_TRIG)) {
Audio_KillSfxBySourceAndId(player->sfxSource, NA_SE_TANK_GO_UP); Audio_KillSfxBySourceAndId(player->sfxSource, NA_SE_TANK_GO_UP);
} }

View File

@ -237,7 +237,7 @@ void Andross_80187C5C(void) {
} }
} }
void Andross_801880E4(Actor* actor) { void Andross_Actor199_Update(Actor* actor) {
s32 i; s32 i;
f32 xDisplacement; f32 xDisplacement;
f32 yDisplacement; f32 yDisplacement;
@ -301,7 +301,7 @@ void Andross_801880E4(Actor* actor) {
actor->vel.z = vel.z; actor->vel.z = vel.z;
} }
void Andross_80188448(Actor* actor) { void Andross_Actor199_Draw(Actor* actor) {
func_edisplay_8005B388(actor); func_edisplay_8005B388(actor);
} }
@ -320,12 +320,12 @@ void Andross_80188468(void) {
AUDIO_PLAY_SFX(NA_SE_ARWING_ENGINE_FG, actor->sfxSource, 4); AUDIO_PLAY_SFX(NA_SE_ARWING_ENGINE_FG, actor->sfxSource, 4);
} }
void Andross_80188528(Actor* actor) { void Andross_Actor286_Update(Actor* actor) {
Math_SmoothStepToF(&actor->vel.x, 0.0f, 0.2f, 0.5f, 0.0f); Math_SmoothStepToF(&actor->vel.x, 0.0f, 0.2f, 0.5f, 0.0f);
Math_SmoothStepToF(&actor->vel.y, 0.0f, 0.2f, 0.5f, 0.0f); Math_SmoothStepToF(&actor->vel.y, 0.0f, 0.2f, 0.5f, 0.0f);
Math_SmoothStepToF(&actor->vel.z, 0.0f, 0.2f, 0.5f, 0.0f); Math_SmoothStepToF(&actor->vel.z, 0.0f, 0.2f, 0.5f, 0.0f);
if (actor->dmgType != DMG_NONE) { if (actor->dmgType != DMG_NONE) {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
func_effect_8007B344(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 3.0f, 5); func_effect_8007B344(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 3.0f, 5);
} else if (actor->timer_0BC == 0) { } else if (actor->timer_0BC == 0) {
@ -336,7 +336,7 @@ void Andross_80188528(Actor* actor) {
actor->rot_0F4.z += actor->fwork[0]; actor->rot_0F4.z += actor->fwork[0];
} }
void Andross_80188660(Actor* actor) { void Andross_Actor286_Draw(Actor* actor) {
RCP_SetupDL(&gMasterDisp, SETUPDL_61); RCP_SetupDL(&gMasterDisp, SETUPDL_61);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255);
Matrix_RotateZ(gGfxMatrix, actor->rot_0F4.z * M_DTOR, MTXF_APPLY); Matrix_RotateZ(gGfxMatrix, actor->rot_0F4.z * M_DTOR, MTXF_APPLY);
@ -394,7 +394,7 @@ void Andross_801888F4(Actor* actor) {
func_effect_800794CC(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 1.0f); func_effect_800794CC(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 1.0f);
} }
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_M); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_M);
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
BonusText_Display(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 5); BonusText_Display(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 5);
gHitCount += 6; gHitCount += 6;
@ -536,7 +536,7 @@ void Andross_80189098(Boss* boss) {
Actor_Initialize(actor); Actor_Initialize(actor);
actor->obj.status = OBJ_INIT; actor->obj.status = OBJ_INIT;
actor->obj.id = OBJ_ACTOR_ALLRANGE; actor->obj.id = OBJ_ACTOR_ALLRANGE;
actor->aiType = AI360_10; actor->aiType = AI360_ENEMY;
actor->aiIndex = AI360_FOX; actor->aiIndex = AI360_FOX;
actor->health = 200; actor->health = 200;
actor->obj.pos.x = 200.0f; actor->obj.pos.x = 200.0f;
@ -550,7 +550,7 @@ void Andross_80189098(Boss* boss) {
Actor_Initialize(actor); Actor_Initialize(actor);
actor->obj.status = OBJ_INIT; actor->obj.status = OBJ_INIT;
actor->obj.id = OBJ_ACTOR_ALLRANGE; actor->obj.id = OBJ_ACTOR_ALLRANGE;
actor->aiType = AI360_10; actor->aiType = AI360_ENEMY;
actor->aiIndex = AI360_FOX; actor->aiIndex = AI360_FOX;
actor->health = 200; actor->health = 200;
actor->obj.pos.x = -200.0f; actor->obj.pos.x = -200.0f;
@ -594,7 +594,7 @@ void Andross_80189214(void) {
Camera_UpdateArwingOnRails(player); Camera_UpdateArwingOnRails(player);
} }
void Andross_8018933C(Actor* actor) { void Andross_Actor290_Update(Actor* actor) {
if ((fabsf(actor->obj.pos.x - gPlayer[0].pos.x) < 1000.0f) && if ((fabsf(actor->obj.pos.x - gPlayer[0].pos.x) < 1000.0f) &&
(fabsf(actor->obj.pos.z - gPlayer[0].trueZpos) < 1000.0f)) { (fabsf(actor->obj.pos.z - gPlayer[0].trueZpos) < 1000.0f)) {
gStartAndrossFightTimer = 50; gStartAndrossFightTimer = 50;
@ -602,7 +602,7 @@ void Andross_8018933C(Actor* actor) {
} }
} }
void Andross_801893B8(Actor* actor) { void Andross_Actor288_Update(Actor* actor) {
if (gAllRangeCheckpoint == 0) { if (gAllRangeCheckpoint == 0) {
actor->counter_04E++; actor->counter_04E++;
@ -623,7 +623,7 @@ void Andross_801893B8(Actor* actor) {
} }
} }
void Andross_80189470(Actor* actor) { void Andross_Actor289_Update(Actor* actor) {
s32 i; s32 i;
Player* player = &gPlayer[0]; Player* player = &gPlayer[0];
@ -663,7 +663,7 @@ void Andross_80189470(Actor* actor) {
} }
Andross_80193710(); Andross_80193710();
D_ctx_8017782C = 1; D_ctx_8017782C = true;
Play_InitEnvironment(); Play_InitEnvironment();
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0; gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0;
gFillScreenAlpha = gFillScreenAlphaTarget = 255; gFillScreenAlpha = gFillScreenAlphaTarget = 255;
@ -673,7 +673,7 @@ void Andross_80189470(Actor* actor) {
} }
} }
void Andross_80189724(Actor* actor) { void Andross_Actor287_Update(Actor* actor) {
s32 i; s32 i;
Vec3f vec; Vec3f vec;
Vec3f displacement; Vec3f displacement;
@ -745,7 +745,7 @@ void Andross_80189B00(f32 xPos, f32 yPos, f32 zPos, f32 scale2) {
} }
} }
void Andross_80189B70(Boss* boss) { void Andross_Boss321_Update(Boss* boss) {
s32 i; s32 i;
s32 sp98; s32 sp98;
s32 frameCountMask; s32 frameCountMask;
@ -1018,7 +1018,7 @@ void Andross_80189B70(Boss* boss) {
Andross_80188468(); Andross_80188468();
Andross_80187C5C(); Andross_80187C5C();
gPlayer[0].unk_014 = 1.0f; gPlayer[0].unk_014 = 1.0f;
Camera_Update360(gPlayer, 1); Camera_Update360(gPlayer, true);
Audio_StartPlayerNoise(0); Audio_StartPlayerNoise(0);
AUDIO_PLAY_BGM(gBossBgms[gCurrentLevel]); AUDIO_PLAY_BGM(gBossBgms[gCurrentLevel]);
AUDIO_PLAY_SFX(NA_SE_OB_ROUTE_EXPLOSION1, gDefaultSfxSource, 0); AUDIO_PLAY_SFX(NA_SE_OB_ROUTE_EXPLOSION1, gDefaultSfxSource, 0);
@ -1192,7 +1192,7 @@ bool Andross_8018B47C(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void*
return false; return false;
} }
void Andross_8018B8C0(Boss* boss) { void Andross_Boss321_Draw(Boss* boss) {
s32 j; s32 j;
s32 i; s32 i;
f32 temp; f32 temp;
@ -1426,7 +1426,7 @@ void Andross_8018CA50(f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel
} }
} }
void Andross_8018CAD4(Effect* effect) { void Andross_Effect396_Update(Effect* effect) {
s32 i; s32 i;
Item* item; Item* item;
Vec3f vec; Vec3f vec;
@ -1478,7 +1478,7 @@ void Andross_8018CAD4(Effect* effect) {
func_effect_8007A774(&gPlayer[0], effect, 100.0f); func_effect_8007A774(&gPlayer[0], effect, 100.0f);
if (effect->unk_44 != 0) { if (effect->unk_44 != 0) {
func_effect_8007D0E0(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z, 10.0f); func_effect_8007D0E0(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z, 10.0f);
func_effect_8007A6F0(&effect->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&effect->obj.pos, NA_SE_EN_EXPLOSION_S);
Object_Kill(&effect->obj, effect->sfxSource); Object_Kill(&effect->obj, effect->sfxSource);
} }
} }
@ -1488,7 +1488,7 @@ void Andross_8018CAD4(Effect* effect) {
func_effect_8007A774(&gPlayer[0], effect, 100.0f); func_effect_8007A774(&gPlayer[0], effect, 100.0f);
if (effect->unk_44 != 0) { if (effect->unk_44 != 0) {
func_effect_8007D0E0(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z, 10.0f); func_effect_8007D0E0(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z, 10.0f);
func_effect_8007A6F0(&effect->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&effect->obj.pos, NA_SE_EN_EXPLOSION_S);
Object_Kill(&effect->obj, effect->sfxSource); Object_Kill(&effect->obj, effect->sfxSource);
if (Rand_ZeroOne() < 0.1f) { if (Rand_ZeroOne() < 0.1f) {
item = gItems; item = gItems;
@ -1531,7 +1531,7 @@ static Gfx* D_i6_801A6790[10] = {
D_ANDROSS_C001880, D_ANDROSS_C001880, D_ANDROSS_C001880, D_arwing_3016660, D_arwing_3015D80, D_ANDROSS_C001880, D_ANDROSS_C001880, D_ANDROSS_C001880, D_arwing_3016660, D_arwing_3015D80,
}; };
void Andross_8018CF98(Effect* effect) { void Andross_Effect396_Draw(Effect* effect) {
if (effect->state == 10) { if (effect->state == 10) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, effect->unk_44); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, effect->unk_44);
@ -1678,9 +1678,9 @@ void Andross_8018D2B0(Boss* boss) {
RAND_FLOAT(1.0f) + 1.0f); RAND_FLOAT(1.0f) + 1.0f);
} }
func_effect_8007B344(boss->vwork[0].x, boss->vwork[0].y, boss->vwork[0].z, 20.0f, 5); func_effect_8007B344(boss->vwork[0].x, boss->vwork[0].y, boss->vwork[0].z, 20.0f, 5);
func_effect_8007A6F0(&sp68, NA_SE_EN_EXPLOSION_M); Effect_SpawnTimedSfxAtPos(&sp68, NA_SE_EN_EXPLOSION_M);
} else { } else {
func_effect_8007A6F0(&sp68, NA_SE_OB_DAMAGE_M); Effect_SpawnTimedSfxAtPos(&sp68, NA_SE_OB_DAMAGE_M);
} }
} else { } else {
sp68.x = boss->vwork[1].x; sp68.x = boss->vwork[1].x;
@ -1698,9 +1698,9 @@ void Andross_8018D2B0(Boss* boss) {
RAND_FLOAT(1.0f) + 1.0f); RAND_FLOAT(1.0f) + 1.0f);
} }
func_effect_8007B344(boss->vwork[1].x, boss->vwork[1].y, boss->vwork[1].z, 20.0f, 5); func_effect_8007B344(boss->vwork[1].x, boss->vwork[1].y, boss->vwork[1].z, 20.0f, 5);
func_effect_8007A6F0(&sp68, NA_SE_EN_EXPLOSION_M); Effect_SpawnTimedSfxAtPos(&sp68, NA_SE_EN_EXPLOSION_M);
} else { } else {
func_effect_8007A6F0(&sp68, NA_SE_OB_DAMAGE_M); Effect_SpawnTimedSfxAtPos(&sp68, NA_SE_OB_DAMAGE_M);
} }
} }
} }
@ -1763,7 +1763,7 @@ void Andross_8018DA94(Boss* boss, Vec3f* arg1) {
static f32 D_i6_801A67B8[] = { 0.0f, 0.0f, 0.0f }; static f32 D_i6_801A67B8[] = { 0.0f, 0.0f, 0.0f };
void Andross_8018DBF0(Boss* boss) { void Andross_Boss320_Update(Boss* boss) {
s32 i; s32 i;
s32 frameCountMask; s32 frameCountMask;
Vec3f spD0[100]; Vec3f spD0[100];
@ -2729,7 +2729,7 @@ void Andross_8018DBF0(Boss* boss) {
Andross_8018DA94(boss, &boss->vwork[17]); Andross_8018DA94(boss, &boss->vwork[17]);
break; break;
case 173: case 173:
func_effect_8007A6F0(&boss->obj.pos, NA_SE_EN_EXPLOSION_L); Effect_SpawnTimedSfxAtPos(&boss->obj.pos, NA_SE_EN_EXPLOSION_L);
func_effect_8007B344(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z, 100.0f, 4); func_effect_8007B344(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z, 100.0f, 4);
break; break;
case 180: case 180:
@ -3124,7 +3124,7 @@ void Andross_801924B4(s32 limbIndex, Vec3f* rot, void* data) {
} }
} }
void Andross_801928C8(Boss* boss) { void Andross_Boss320_Draw(Boss* boss) {
if (boss->timer_058 == 0) { if (boss->timer_058 == 0) {
// FAKE // FAKE
@ -3195,7 +3195,7 @@ void Andross_801928C8(Boss* boss) {
} }
} }
void Andross_80192E94(Actor* actor) { void Andross_Actor285_Update(Actor* actor) {
Actor* otherActor; Actor* otherActor;
s32 i; s32 i;
@ -3252,15 +3252,15 @@ void Andross_80192E94(Actor* actor) {
RAND_FLOAT_CENTERED(10.0f) + actor->obj.pos.y, actor->obj.pos.z, RAND_FLOAT_CENTERED(10.0f) + actor->obj.pos.y, actor->obj.pos.z,
RAND_FLOAT(0.5f) + 0.5f); RAND_FLOAT(0.5f) + 0.5f);
} }
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_S); Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
Object_Kill(&actor->obj, actor->sfxSource); Object_Kill(&actor->obj, actor->sfxSource);
} }
} }
} }
void Andross_80193244(Actor* actor) { void Andross_Actor285_Draw(Actor* actor) {
gSPDisplayList(gMasterDisp++, D_VE2_6007E20); gSPDisplayList(gMasterDisp++, D_VE2_6007E20);
if (actor->timer_0BC != 0) { if (actor->timer_0BC != 0) {
f32 scale; f32 scale;
u8 alpha; u8 alpha;
@ -3281,7 +3281,7 @@ void Andross_80193244(Actor* actor) {
} }
} }
void Andross_80193380(Scenery* scenery) { void Andross_Scenery132_Update(Scenery* scenery) {
switch (scenery->state) { switch (scenery->state) {
case 0: case 0:
@ -3310,14 +3310,14 @@ bool Andross_801934EC(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void*
return false; return false;
} }
void Andross_8019350C(Scenery* scenery) { void Andross_Scenery132_Draw(Scenery* scenery) {
Vec3f frameTable[20]; Vec3f frameTable[20];
Animation_GetFrameData(&D_VE2_6014658, scenery->unk_44, frameTable); Animation_GetFrameData(&D_VE2_6014658, scenery->unk_44, frameTable);
Animation_DrawSkeleton(1, D_VE2_6014844, frameTable, Andross_801934EC, NULL, NULL, &gIdentityMatrix); Animation_DrawSkeleton(1, D_VE2_6014844, frameTable, Andross_801934EC, NULL, NULL, &gIdentityMatrix);
} }
void Andross_8019356C(Scenery* scenery) { void Andross_Scenery131_Update(Scenery* scenery) {
scenery->obj.rot.z = D_Andross_801A7F68; scenery->obj.rot.z = D_Andross_801A7F68;
scenery->obj.pos.z += scenery->effectVel.z; scenery->obj.pos.z += scenery->effectVel.z;
if (scenery->timer_4C == 1) { if (scenery->timer_4C == 1) {
@ -3332,7 +3332,7 @@ bool Andross_801935B4(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void*
return false; return false;
} }
void Andross_801935D4(Scenery* scenery) { void Andross_Scenery131_Draw(Scenery* scenery) {
Vec3f frameTable[20]; Vec3f frameTable[20];
Animation_GetFrameData(&D_VE2_6014658, scenery->unk_44, frameTable); Animation_GetFrameData(&D_VE2_6014658, scenery->unk_44, frameTable);
@ -3519,7 +3519,7 @@ void Andross_80193C4C(Player* player) {
switch (gCsFrameCount) { switch (gCsFrameCount) {
case 80: case 80:
func_effect_8007A568(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z, 40.0f); func_effect_8007A568(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z, 40.0f);
func_effect_8007A6F0(&boss->obj.pos, NA_SE_EN_EXPLOSION_L); Effect_SpawnTimedSfxAtPos(&boss->obj.pos, NA_SE_EN_EXPLOSION_L);
/* fallthrough */ /* fallthrough */
case 85: case 85:
case 90: case 90:
@ -3657,7 +3657,7 @@ void Andross_80193C4C(Player* player) {
gScenery360[i].obj.status = OBJ_FREE; gScenery360[i].obj.status = OBJ_FREE;
} }
Andross_80193710(); Andross_80193710();
D_ctx_8017782C = 1; D_ctx_8017782C = true;
Play_InitEnvironment(); Play_InitEnvironment();
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0; gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0;
gFillScreenAlpha = gFillScreenAlphaTarget = 255; gFillScreenAlpha = gFillScreenAlphaTarget = 255;

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,18 @@
/*
* File: fox_ve2.c
* System: Venom2
* Description: Level: Venom 2
*/
#include "global.h" #include "global.h"
#include "assets/ast_venom_2.h" #include "assets/ast_venom_2.h"
void Venom2_Boss_Update(Boss* boss) { void Venom2_Boss_Update(BossVE2* boss) {
Math_SmoothStepToF(&boss->fwork[0], boss->fwork[1], 0.5f, 5.0f, 0.0f); Math_SmoothStepToF(&boss->fwork[0], boss->fwork[1], 0.5f, 5.0f, 0.0f);
} }
bool Venom2_8019624C(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* data) { bool Venom2_Boss_OverrideLimbDraw(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* data) {
Boss* boss = (Boss*) data; BossVE2* boss = (BossVE2*) data;
if ((limbIndex == 1) || (limbIndex == 2)) { if ((limbIndex == 1) || (limbIndex == 2)) {
pos->x -= boss->fwork[0]; pos->x -= boss->fwork[0];
@ -15,25 +21,25 @@ bool Venom2_8019624C(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* d
return false; return false;
} }
void Venom2_Boss_Draw(Boss* boss) { void Venom2_Boss_Draw(BossVE2* boss) {
Animation_GetFrameData(&D_VE2_6014904, 0, boss->vwork); Animation_GetFrameData(&D_VE2_6014904, 0, boss->vwork);
Animation_DrawSkeleton(3, D_VE2_60149D0, boss->vwork, Venom2_8019624C, NULL, boss, gCalcMatrix); Animation_DrawSkeleton(3, D_VE2_60149D0, boss->vwork, Venom2_Boss_OverrideLimbDraw, NULL, boss, gCalcMatrix);
} }
void Venom2_801962F4(Actor* actor) { void Venom2_UpdateStarWolfEvents(ActorAllRange* actor) {
ActorAllRange_UpdateStarWolfEvents(actor); ActorAllRange_UpdateStarWolfEvents(actor);
} }
static Vec3f D_i6_801A68B0[6] = { static Vec3f sTeamInitPos[6] = {
{ 0.0f, 4030.0f, 18000.0f }, { -500.0f, 3820.0f, 17200.0f }, { 550.0f, 3750.0f, 17000.0f }, { 0.0f, 4030.0f, 18000.0f }, { -500.0f, 3820.0f, 17200.0f }, { 550.0f, 3750.0f, 17000.0f },
{ 1000.0f, 300.0f, 0.0f }, { -1000.0f, 300.0f, 0.0f }, { 0.0f, 500.0f, 0.0f }, { 1000.0f, 300.0f, 0.0f }, { -1000.0f, 300.0f, 0.0f }, { 0.0f, 500.0f, 0.0f },
}; };
static f32 D_i6_801A68F8[3] = { 300.0f, 70.0f, 280.0f }; static f32 sTeamInitRot[3] = { 300.0f, 70.0f, 280.0f };
void Venom2_UpdateEvents(Actor* this) { void Venom2_UpdateEvents(ActorAllRange* this) {
Actor* team; ActorAllRange* team;
Actor* wolf = &gActors[4]; ActorAllRange* wolf = &gActors[4];
Player* player = &gPlayer[0]; Player* player = &gPlayer[0];
s32 i; s32 i;
@ -64,20 +70,19 @@ void Venom2_UpdateEvents(Actor* this) {
player->rot.x = -20.0f; player->rot.x = -20.0f;
player->yRot_114 = 0.0f; player->yRot_114 = 0.0f;
this->timer_0BC = 210; this->timer_0BC = 210;
for (team = &gActors[1], i = 1; i < 4; i++, team++) { for (team = &gActors[AI360_FALCO], i = AI360_FALCO; i <= AI360_PEPPY; i++, team++) {
team->obj.pos.x = D_i6_801A68B0[i - 1].x; team->obj.pos.x = sTeamInitPos[i - 1].x;
team->obj.pos.y = D_i6_801A68B0[i - 1].y + 750.f; team->obj.pos.y = sTeamInitPos[i - 1].y + 750.f;
team->obj.pos.z = D_i6_801A68B0[i - 1].z; team->obj.pos.z = sTeamInitPos[i - 1].z;
team->obj.rot.z = D_i6_801A68F8[i - 1]; team->obj.rot.z = sTeamInitRot[i - 1];
team->rot_0F4.x = 340.0f; team->rot_0F4.x = 340.0f;
} }
gFillScreenAlpha = gFillScreenAlphaTarget = 255; gFillScreenAlpha = gFillScreenAlphaTarget = 255;
} }
Camera_UpdateArwing360(player, 1); Camera_UpdateArwing360(player, true);
/* fallthrough */ /* fallthrough */
case 1: case 1:
for (team = &gActors[1], i = 1; i < 4; i++, team++) { for (team = &gActors[1], i = 1; i < 4; i++, team++) {
team->state = 0; team->state = 0;
team->timer_0BC = 3; team->timer_0BC = 3;
@ -93,13 +98,15 @@ void Venom2_UpdateEvents(Actor* this) {
Radio_PlayMessage(gMsg_ID_19010, RCID_FOX); Radio_PlayMessage(gMsg_ID_19010, RCID_FOX);
} }
break; break;
case 2: case 2:
Venom2_801962F4(this); Venom2_UpdateStarWolfEvents(this);
if (((gAllRangeSpawnEvent + 100) < gAllRangeEventTimer) && (gActors[4].obj.status == OBJ_FREE) && if (((gAllRangeSpawnEvent + 100) < gAllRangeEventTimer) && (gActors[4].obj.status == OBJ_FREE) &&
(gActors[5].obj.status == OBJ_FREE) && (gActors[6].obj.status == OBJ_FREE) && (gActors[5].obj.status == OBJ_FREE) && (gActors[6].obj.status == OBJ_FREE) &&
(gActors[7].obj.status == OBJ_FREE) && (this->timer_0BE == 0)) { (gActors[7].obj.status == OBJ_FREE) && (this->timer_0BE == 0)) {
this->timer_0BE = 80; this->timer_0BE = 80;
} }
if ((this->timer_0BE == 1) && (player->state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE)) { if ((this->timer_0BE == 1) && (player->state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE)) {
for (i = 1; i < ARRAY_COUNT(gTeamShields); i++) { for (i = 1; i < ARRAY_COUNT(gTeamShields); i++) {
gPrevPlanetTeamShields[i] = gSavedTeamShields[i]; gPrevPlanetTeamShields[i] = gSavedTeamShields[i];
@ -119,6 +126,7 @@ void Venom2_UpdateEvents(Actor* this) {
D_ctx_80177CC4 = gLeftWingHealth[0]; D_ctx_80177CC4 = gLeftWingHealth[0];
} }
break; break;
case 3: case 3:
gPauseEnabled = false; gPauseEnabled = false;
if (gStarWolfMsgTimer < 600) { if (gStarWolfMsgTimer < 600) {
@ -126,19 +134,22 @@ void Venom2_UpdateEvents(Actor* this) {
player->cam.eye.y += wolf->vel.y * 0.23f; player->cam.eye.y += wolf->vel.y * 0.23f;
player->cam.eye.z += wolf->vel.z * 0.23f; player->cam.eye.z += wolf->vel.z * 0.23f;
} }
Math_SmoothStepToF(&player->cam.at.x, wolf->obj.pos.x, 1.0f, 20000.0f, 0.0f); Math_SmoothStepToF(&player->cam.at.x, wolf->obj.pos.x, 1.0f, 20000.0f, 0.0f);
Math_SmoothStepToF(&player->cam.at.y, wolf->obj.pos.y, 1.0f, 20000.0f, 0.0f); Math_SmoothStepToF(&player->cam.at.y, wolf->obj.pos.y, 1.0f, 20000.0f, 0.0f);
Math_SmoothStepToF(&player->cam.at.z, wolf->obj.pos.z, 1.0f, 20000.0f, 0.0f); Math_SmoothStepToF(&player->cam.at.z, wolf->obj.pos.z, 1.0f, 20000.0f, 0.0f);
Math_SmoothStepToF(&player->camRoll, 0, 0.1f, 0.2f, 0.0f); Math_SmoothStepToF(&player->camRoll, 0, 0.1f, 0.2f, 0.0f);
if ((gControllerPress->button & START_BUTTON) || (gAllRangeEventTimer == (gAllRangeSpawnEvent + 300))) { if ((gControllerPress->button & START_BUTTON) || (gAllRangeEventTimer == (gAllRangeSpawnEvent + 300))) {
this->state = 2; this->state = 2;
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
Camera_Update360(player, 1); Camera_Update360(player, true);
player->unk_014 = 0.0f; player->unk_014 = 0.0f;
D_hud_80161708 = 0; D_hud_80161708 = 0;
} }
break; break;
} }
if (gStarWolfMsgTimer != 0) { if (gStarWolfMsgTimer != 0) {
gStarWolfMsgTimer--; gStarWolfMsgTimer--;
@ -165,9 +176,9 @@ void Venom2_UpdateEvents(Actor* this) {
} }
} }
void Venom2_80196968(void) { void Venom2_LoadLevelObjects(void) {
Actor* actor; Actor* actor;
Boss* boss; BossVE2* boss;
Scenery360* scenery360; Scenery360* scenery360;
s32 i; s32 i;
@ -300,11 +311,14 @@ void Venom2_LevelComplete(Player* player) {
player->csState++; player->csState++;
player->wings.unk_04 = player->wings.unk_0C = player->wings.unk_08 = player->wings.unk_10 = 0.0f; player->wings.unk_04 = player->wings.unk_0C = player->wings.unk_08 = player->wings.unk_10 = 0.0f;
player->wings.modelId = 1; player->wings.modelId = 1;
D_ctx_80177A48[0] = 0.0f; D_ctx_80177A48[0] = 0.0f;
D_ctx_80177A48[1] = 0.1f; D_ctx_80177A48[1] = 0.1f;
D_ctx_80177A48[3] = 0.0f; D_ctx_80177A48[3] = 0.0f;
D_ctx_80177A48[4] = 0.0f; D_ctx_80177A48[4] = 0.0f;
player->csTimer = 0; player->csTimer = 0;
if ((fabsf(sp94) < 4000.0f) && (fabsf(sp8C) < 4000.0f)) { if ((fabsf(sp94) < 4000.0f) && (fabsf(sp8C) < 4000.0f)) {
player->csTimer = 250; player->csTimer = 250;
sp64.x = 0.0f; sp64.x = 0.0f;
@ -315,6 +329,7 @@ void Venom2_LevelComplete(Player* player) {
D_ctx_80177A48[5] = sp58.x; D_ctx_80177A48[5] = sp58.x;
D_ctx_80177A48[6] = sp58.z; D_ctx_80177A48[6] = sp58.z;
} }
if (gLevelPhase == 2) { if (gLevelPhase == 2) {
player->csEventTimer = 240; player->csEventTimer = 240;
} else { } else {
@ -329,8 +344,10 @@ void Venom2_LevelComplete(Player* player) {
gFillScreenAlphaTarget = 0; gFillScreenAlphaTarget = 0;
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 255; gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 255;
} }
Math_SmoothStepToF(&D_ctx_80177A48[1], 0.8f, 1.0f, 0.05f, 0.0f); Math_SmoothStepToF(&D_ctx_80177A48[1], 0.8f, 1.0f, 0.05f, 0.0f);
Math_SmoothStepToF(&player->zRotBank, 0.0f, 0.1f, 15.0f, 0.0f); Math_SmoothStepToF(&player->zRotBank, 0.0f, 0.1f, 15.0f, 0.0f);
if (player->csTimer == 1) { if (player->csTimer == 1) {
D_ctx_80177A48[4] = 0.0f; D_ctx_80177A48[4] = 0.0f;
} }
@ -339,6 +356,7 @@ void Venom2_LevelComplete(Player* player) {
sp90 = player->pos.y - (gBosses[0].obj.pos.y + 700.0f); sp90 = player->pos.y - (gBosses[0].obj.pos.y + 700.0f);
sp8C = player->pos.z - (gBosses[0].obj.pos.z + D_ctx_80177A48[6]); sp8C = player->pos.z - (gBosses[0].obj.pos.z + D_ctx_80177A48[6]);
} }
sp84 = Math_RadToDeg(Math_Atan2F(sp94, sp8C)); sp84 = Math_RadToDeg(Math_Atan2F(sp94, sp8C));
sp8C = sqrtf(SQ(sp94) + SQ(sp8C)); sp8C = sqrtf(SQ(sp94) + SQ(sp8C));
pad88 = Math_RadToDeg(-Math_Atan2F(sp90, sp8C)); pad88 = Math_RadToDeg(-Math_Atan2F(sp90, sp8C));
@ -348,16 +366,22 @@ void Venom2_LevelComplete(Player* player) {
Math_SmoothStepToF(&D_ctx_80177A48[4], 3.0f, 1.0f, 0.1f, 0.0f); Math_SmoothStepToF(&D_ctx_80177A48[4], 3.0f, 1.0f, 0.1f, 0.0f);
Matrix_RotateX(gCalcMatrix, -(D_PI / 9), MTXF_NEW); Matrix_RotateX(gCalcMatrix, -(D_PI / 9), MTXF_NEW);
Matrix_RotateY(gCalcMatrix, (D_ctx_80177A48[3] + player->yRot_114) * M_DTOR, MTXF_APPLY); Matrix_RotateY(gCalcMatrix, (D_ctx_80177A48[3] + player->yRot_114) * M_DTOR, MTXF_APPLY);
D_ctx_80177A48[3] += 1.0f; D_ctx_80177A48[3] += 1.0f;
sp64.x = 0.0f; sp64.x = 0.0f;
sp64.y = 0.0f; sp64.y = 0.0f;
sp64.z = 400.0f; sp64.z = 400.0f;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp64, &sp58); Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp64, &sp58);
gCsCamEyeX = player->pos.x + sp58.x; gCsCamEyeX = player->pos.x + sp58.x;
gCsCamEyeY = player->pos.y + sp58.y; gCsCamEyeY = player->pos.y + sp58.y;
gCsCamEyeZ = player->pos.z + sp58.z; gCsCamEyeZ = player->pos.z + sp58.z;
Math_SmoothStepToF(D_ctx_80177A48, 0.5f, 1.0f, 0.01f, 0.0f); Math_SmoothStepToF(D_ctx_80177A48, 0.5f, 1.0f, 0.01f, 0.0f);
Math_SmoothStepToF(&player->camRoll, 0.0f, 0.1f, 3.0f, 0.0f); Math_SmoothStepToF(&player->camRoll, 0.0f, 0.1f, 3.0f, 0.0f);
if ((player->csTimer == 0) && (fabsf(sp94) < 50.0f) && (fabsf(sp8C) < 50.0f)) { if ((player->csTimer == 0) && (fabsf(sp94) < 50.0f) && (fabsf(sp8C) < 50.0f)) {
player->csState++; player->csState++;
D_ctx_80177A48[2] = 0.75f; D_ctx_80177A48[2] = 0.75f;
@ -374,10 +398,13 @@ void Venom2_LevelComplete(Player* player) {
Audio_SetBgmParam(0); Audio_SetBgmParam(0);
} }
break; break;
case 2: case 2:
player->unk_190 = 2.0f; player->unk_190 = 2.0f;
Math_SmoothStepToF(&player->xRot_120, 270.0f, 0.1f, D_ctx_80177A48[2], 0.0f); Math_SmoothStepToF(&player->xRot_120, 270.0f, 0.1f, D_ctx_80177A48[2], 0.0f);
Math_SmoothStepToF(&D_ctx_80177A48[2], 4.0f, 1.0f, 0.05f, 0.0f); Math_SmoothStepToF(&D_ctx_80177A48[2], 4.0f, 1.0f, 0.05f, 0.0f);
if (player->xRot_120 > 80.0f) { if (player->xRot_120 > 80.0f) {
Math_SmoothStepToF(&player->zRotBank, 10000.0f, 0.1f, 8.0f, 0.0f); Math_SmoothStepToF(&player->zRotBank, 10000.0f, 0.1f, 8.0f, 0.0f);
} }
@ -414,6 +441,7 @@ void Venom2_LevelComplete(Player* player) {
gNextGameState = GSTATE_PLAY; gNextGameState = GSTATE_PLAY;
gNextLevel = LEVEL_VENOM_ANDROSS; gNextLevel = LEVEL_VENOM_ANDROSS;
if (gLeveLClearStatus[gCurrentLevel] != 0) { if (gLeveLClearStatus[gCurrentLevel] != 0) {
gNextLevelPhase = 1; gNextLevelPhase = 1;
} }
@ -430,6 +458,7 @@ void Venom2_LevelComplete(Player* player) {
} }
break; break;
} }
if (player->csEventTimer == 150) { if (player->csEventTimer == 150) {
Radio_PlayMessage(gMsg_ID_8215, RCID_FOX); Radio_PlayMessage(gMsg_ID_8215, RCID_FOX);
AUDIO_PLAY_BGM(NA_BGM_DASH_INTO_BASE); AUDIO_PLAY_BGM(NA_BGM_DASH_INTO_BASE);

View File

@ -8,9 +8,9 @@
#include "global.h" #include "global.h"
#include "fox_map.h" #include "fox_map.h"
#include "fox_option.h" #include "fox_option.h"
// #include "prevent_bss_reordering.h" #include "prevent_bss_reordering.h"
// #include "prevent_bss_reordering2.h" #include "prevent_bss_reordering2.h"
// #include "prevent_bss_reordering3.h" #include "prevent_bss_reordering3.h"
#include "assets/ast_map.h" #include "assets/ast_map.h"
#include "assets/ast_text.h" #include "assets/ast_text.h"
#include "assets/ast_font_3d.h" #include "assets/ast_font_3d.h"
@ -4285,7 +4285,7 @@ void Map_801A6628(void) {
gSavedObjectLoadIndex = 0; gSavedObjectLoadIndex = 0;
gSavedPathProgress = 0.0f; gSavedPathProgress = 0.0f;
D_ctx_8017782C = 1; D_ctx_8017782C = true;
} }
void Map_801A6694(void) { void Map_801A6694(void) {

View File

@ -29,14 +29,14 @@ extern f32 D_menu_801CD818[];
s32 D_menu_801B9090; s32 D_menu_801B9090;
s32 D_menu_801B9094; s32 D_menu_801B9094;
s32 D_menu_801B9098; // gap s32 D_menu_801B9098;
s32 D_menu_801B90A0[3]; // gap s32 D_menu_801B90A0[3];
s32 D_menu_801B90B0[3]; // gap s32 D_menu_801B90B0[3];
f32 D_menu_801B90C0[3]; // gap f32 D_menu_801B90C0[3];
f32 D_menu_801B90D0[3]; // gap f32 D_menu_801B90D0[3];
f32 D_menu_801B90E0[3]; // gap f32 D_menu_801B90E0[3];
f32 D_menu_801B90F0[3]; // gap f32 D_menu_801B90F0[3];
f32 D_menu_801B9100[3]; // gap f32 D_menu_801B9100[3];
f32 D_menu_801B9110[3]; f32 D_menu_801B9110[3];
f32 D_menu_801B911C; f32 D_menu_801B911C;
f32 D_menu_801B9120; f32 D_menu_801B9120;
@ -54,7 +54,7 @@ s32 D_menu_801B9158;
UnkStruct_D_menu_801B9250 D_menu_801B9160[3]; UnkStruct_D_menu_801B9250 D_menu_801B9160[3];
s32 D_menu_801B9178; s32 D_menu_801B9178;
s32 D_menu_801B917C; s32 D_menu_801B917C;
UnkStruct_D_menu_801B9250 D_menu_801B9180; // gap UnkStruct_D_menu_801B9250 D_menu_801B9180;
UnkStruct_D_menu_801B9250 D_menu_801B9188; UnkStruct_D_menu_801B9250 D_menu_801B9188;
UnkStruct_D_menu_801B9250 D_menu_801B9190; UnkStruct_D_menu_801B9250 D_menu_801B9190;
UnkStruct_D_menu_801B9250 D_menu_801B9198; UnkStruct_D_menu_801B9250 D_menu_801B9198;
@ -803,7 +803,7 @@ void Option_TrainingUpdate(void) {
Play_Setup(); Play_Setup();
gSavedObjectLoadIndex = 0; gSavedObjectLoadIndex = 0;
gSavedPathProgress = 0.0f; gSavedPathProgress = 0.0f;
D_ctx_8017782C = 1; D_ctx_8017782C = true;
gControllerLock = 3; gControllerLock = 3;
AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_28); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_28);
} else { } else {
@ -1182,7 +1182,9 @@ void Option_VersusUpdate(void) {
case 1: case 1:
// clang-format off // clang-format off
if (Option_8019C418(&D_menu_801B91A8, 2, 1, 0, 20, 5, 4, gMainController, &D_menu_801B9188)) { AUDIO_PLAY_SFX(NA_SE_ARWING_CURSOR, gDefaultSfxSource, 4); } if (Option_8019C418(&D_menu_801B91A8, 2, 1, 0, 20, 5, 4, gMainController, &D_menu_801B9188)) {\
AUDIO_PLAY_SFX(NA_SE_ARWING_CURSOR, gDefaultSfxSource, 4);\
}
// clang-format on // clang-format on
if (gControllerPress[gMainController].button & (A_BUTTON | START_BUTTON)) { if (gControllerPress[gMainController].button & (A_BUTTON | START_BUTTON)) {
@ -3412,23 +3414,23 @@ void Option_8019B3DC(void) {
void Option_8019B5AC(void) { void Option_8019B5AC(void) {
s32 pad[2]; s32 pad[2];
s32 colorGB; s32 colorGB;
s32 var_v0; s32 bitmask;
Option_8019C824(&D_menu_801B91E8); Option_8019C824(&D_menu_801B91E8);
colorGB = D_menu_801B91E8; colorGB = D_menu_801B91E8;
var_v0 = 0xFFFFFFFF; bitmask = 0xFFFFFFFF;
if (D_menu_801B91EC != 0) { if (D_menu_801B91EC != 0) {
colorGB = 255; colorGB = 255;
var_v0 = 1; bitmask = 0x00000001;
D_menu_801B91EC--; D_menu_801B91EC--;
if (D_menu_801B91EC == 0) { if (D_menu_801B91EC == 0) {
D_menu_801B91F0 = 1; D_menu_801B91F0 = 1;
} }
} }
if ((gGameFrameCount & var_v0) != 0) { if (gGameFrameCount & bitmask) {
RCP_SetupDL(&gMasterDisp, SETUPDL_83); RCP_SetupDL(&gMasterDisp, SETUPDL_83);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, colorGB, colorGB, 255); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, colorGB, colorGB, 255);
TextureRect_IA8(&gMasterDisp, D_VS_MENU_7003650, 40, 12, 143.0f, 210.0f, 1.0f, 1.0f); TextureRect_IA8(&gMasterDisp, D_VS_MENU_7003650, 40, 12, 143.0f, 210.0f, 1.0f, 1.0f);
@ -4041,7 +4043,7 @@ void Option_8019D118(void) {
f32 dirX; f32 dirX;
f32 dirY; f32 dirY;
f32 dirZ; f32 dirZ;
s32 mask[3]; s32 bitmask[3];
s32 i; s32 i;
static f32 D_menu_801AF30C[6] = { 51.0f, 138.0f, 118.0f, 166.0f, 138.0f, 267.0f }; static f32 D_menu_801AF30C[6] = { 51.0f, 138.0f, 118.0f, 166.0f, 138.0f, 267.0f };
static f32 D_menu_801AF324[6] = { 29.0f, 49.0f, 145.0f, 155.0f, 87.0f, 127.0f }; static f32 D_menu_801AF324[6] = { 29.0f, 49.0f, 145.0f, 155.0f, 87.0f, 127.0f };
@ -4060,7 +4062,9 @@ void Option_8019D118(void) {
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
Graphics_DisplaySmallText(D_menu_801AF30C[1], D_menu_801AF324[1], 1.0f, 1.0f, "RANK"); Graphics_DisplaySmallText(D_menu_801AF30C[1], D_menu_801AF324[1], 1.0f, 1.0f, "RANK");
Graphics_DisplaySmallText(D_menu_801AF30C[2], D_menu_801AF324[2], 1.0f, 1.0f, "TOTAL HITS"); Graphics_DisplaySmallText(D_menu_801AF30C[2], D_menu_801AF324[2], 1.0f, 1.0f, "TOTAL HITS");
(void) "p:%d x:%f y:%f\n";
PRINTF("p:%d x:%f y:%f\n");
if (D_menu_801B9138 == 1) { if (D_menu_801B9138 == 1) {
if ((gGameFrameCount & 0x10) != 0) { if ((gGameFrameCount & 0x10) != 0) {
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
@ -4088,10 +4092,10 @@ void Option_8019D118(void) {
D_menu_801B9100[i] = 0.0f; D_menu_801B9100[i] = 0.0f;
} }
mask[i] = 0xFFFFFFFF; bitmask[i] = 0xFFFFFFFF;
if (D_menu_801B9140[i] != 0) { if (D_menu_801B9140[i] != 0) {
mask[i] = 0x1; bitmask[i] = 0x00000001;
D_menu_801B9100[i] = 0.0f; D_menu_801B9100[i] = 0.0f;
} }
} }
@ -4107,7 +4111,7 @@ void Option_8019D118(void) {
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
for (i = 0; i < 3; i++) { for (i = 0; i < 3; i++) {
if (gGameFrameCount & mask[i]) { if (gGameFrameCount & bitmask[i]) {
Option_8019DB20(D_menu_801B9150[i][0], D_menu_801AF300[i], 18.0f, -455.0f, 1.0f, Option_8019DB20(D_menu_801B9150[i][0], D_menu_801AF300[i], 18.0f, -455.0f, 1.0f,
D_menu_801B90C0[i] + D_menu_801B90F0[i], D_menu_801B90D0[i] + D_menu_801B9100[i], D_menu_801B90C0[i] + D_menu_801B90F0[i], D_menu_801B90D0[i] + D_menu_801B9100[i],
D_menu_801B90E0[i] + D_menu_801B9110[i]); D_menu_801B90E0[i] + D_menu_801B9110[i]);
@ -4322,8 +4326,8 @@ void Option_8019DD44(void) {
void Option_8019DE74(void) { void Option_8019DE74(void) {
Option_8019715C(); Option_8019715C();
if (gControllerPress[gMainController].button & (START_BUTTON | A_BUTTON | B_BUTTON | D_CBUTTONS | L_CBUTTONS | if (gControllerPress[gMainController].button &
U_CBUTTONS)) { // START, A, B, C-UP, C-LEFT, C-DOWN (START_BUTTON | A_BUTTON | B_BUTTON | D_CBUTTONS | L_CBUTTONS | U_CBUTTONS)) {
AUDIO_PLAY_SFX(NA_SE_DECIDE, gDefaultSfxSource, 4); AUDIO_PLAY_SFX(NA_SE_DECIDE, gDefaultSfxSource, 4);
gDrawMode = DRAW_NONE; gDrawMode = DRAW_NONE;

View File

@ -149,7 +149,6 @@ typedef struct {
/* 0x08 */ Limb** skeleton; /* 0x08 */ Limb** skeleton;
} TitleAnimation; // size = 0x0C } TitleAnimation; // size = 0x0C
//! TODO: Symbols for segmented addresses
TitleAnimation D_menu_801ADA00[4] = { TitleAnimation D_menu_801ADA00[4] = {
{ &D_TITLE_602F8E0, &D_TITLE_6035024, D_TITLE_602FBAC }, { &D_TITLE_602F8E0, &D_TITLE_6035024, D_TITLE_602FBAC },
{ &D_TITLE_60305C0, &D_TITLE_60338DC, D_TITLE_603088C }, { &D_TITLE_60305C0, &D_TITLE_60338DC, D_TITLE_603088C },

View File

@ -50,7 +50,7 @@ const char* sFloatExceptions[6] = {
"Unimplemented operation", "Invalid operation", "Division by zero", "Overflow", "Underflow", "Inexact operation", "Unimplemented operation", "Invalid operation", "Division by zero", "Overflow", "Underflow", "Inexact operation",
}; };
void Fault_FillRectange(s32 xPos, s32 yPos, s32 width, s32 height) { void Fault_FillRectangle(s32 xPos, s32 yPos, s32 width, s32 height) {
u16* pixel; u16* pixel;
s32 i; s32 i;
s32 j; s32 j;
@ -167,7 +167,7 @@ void Fault_DisplayDebugInfo(OSThread* thread) {
causeIndex = 17; causeIndex = 17;
} }
Fault_Wait(3000); Fault_Wait(3000);
Fault_FillRectange(15, 15, SCREEN_WIDTH - 30, SCREEN_HEIGHT - 30); Fault_FillRectangle(15, 15, SCREEN_WIDTH - 30, SCREEN_HEIGHT - 30);
Fault_Printf(30, 40, "THREAD:%d (%s)", thread->id, sFaultCauses[causeIndex]); Fault_Printf(30, 40, "THREAD:%d (%s)", thread->id, sFaultCauses[causeIndex]);
Fault_Printf(30, 50, "PC:%08XH SR:%08XH\tVA:%08XH", context->pc, context->sr, context->badvaddr); Fault_Printf(30, 50, "PC:%08XH SR:%08XH\tVA:%08XH", context->pc, context->sr, context->badvaddr);
osWritebackDCacheAll(); osWritebackDCacheAll();

View File

@ -63,7 +63,7 @@ void Controller_UpdateInput(void) {
s32 i; s32 i;
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
if (gControllerPlugged[i] == 1 && sNextController[i].errno == 0) { if ((gControllerPlugged[i] == 1) && (sNextController[i].errno == 0)) {
sPrevController[i] = gControllerHold[i]; sPrevController[i] = gControllerHold[i];
gControllerHold[i] = sNextController[i]; gControllerHold[i] = sNextController[i];
gControllerPress[i].button = gControllerPress[i].button =