1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-03 14:34:32 +00:00

Volvagia (ovl_Boss_Fd) and related actors (#352)

* Darkmeiro decompilation

Bg_Gnd_Darkmeiro decompiled, matched, and documented.

* Lots of functions matched. Some big ones are close.

* Five left unmatched, one close.

* Merged data and decompiled the giant function into something readable. Its branch structure has yet to be matched.

* Three unmatched, one essentially matched, the rest matched.

* More fixes.

* Documented more of the structure and cleaned up a bit.

* BossFd2, BgVbSima, and EnVbBall matched and documented

* Also removed unneeded .s files

* And need to name EnVbBall's functions

* give this a shot

* fix conflict

* one more try

* removing darkmeiro changes

* and again

* now OK from make clean

* minor cleanup

* One more matching function for BossFd

* which means it doesn't need its .s

* splitting

* splitting

* splitting

* forgot some .s

* fancy new names

* fancy new names

* trying again

* sneaky .s files

* sound effects and some hex to decimal conversions

* Sound effects and static variable cleanup

* format.sh and clean up static variables

* sfx and formatting

* ZAP and cleanup

* small cleanup

* cleanup and ZAP

* ZAP

* looking at the giant function again

* looking at the giant function again

* Only the big function left.

* Those .s files aren't mine, officer

* float literals might be fixed. regalloc still a nightmare

* almost done with the big function

* should make now

* not much of a change

* all functions match. rodata somehow doesn't.

* forgot some things

* lots of cleanup

* and a little more

* small error

* large cleanup. Also BossFd has function names and inlined variable declarations

* still more cleanup

* the quest for 0.1f continues

* forgot to put NON_MATCHING back in

* Data structures fully documented. Still more cleanup.

* DECR now works with BossFd2

* should match now

* cleanup

* small cleanup

* cleanup and names

* tiny thing

* particles and headers and stuff

* now with more enums

* merge

* test

* end test

* update

* cleanup

* object 2

* object 1

* doc object_fd2

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "6f874af4a"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "6f874af4a"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* formatting

* .s

* merge actor

* vertex arrays

* a little more

* formatting

* merge opd

* fixed damage check

* cleanup

* fixes

* effect struct

* review

Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: fig02 <fig02srl@gmail.com>
This commit is contained in:
petrie911 2021-04-17 12:12:46 -05:00 committed by GitHub
parent 7306d13897
commit 7b2b88d552
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
95 changed files with 4290 additions and 11359 deletions

View file

@ -1,24 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel Bg_Vb_Sima_InitVars
.word 0x00AC0100, 0x00000000, 0x009C0000, 0x0000017C
.word BgVbSima_Init
.word BgVbSima_Destroy
.word BgVbSima_Update
.word BgVbSima_Draw
glabel D_808BE410
.word 0x48500064
glabel D_808BE414
.word 0xFFFF00FF
glabel D_808BE418
.word 0xFF0A00FF, 0x00000000

View file

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_808BE470
.incbin "baserom/ovl_Bg_Vb_Sima", 0x710, 0x00000090

View file

@ -1,95 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel Boss_Fd_InitVars
.word 0x00960900, 0x00000035, 0x009C0000, 0x000043A0
.word BossFd_Init
.word BossFd_Destroy
.word BossFd_Update
.word BossFd_Draw
glabel D_808D1660
.word 0x03000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01010100, 0x00000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x01000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x02000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x03000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x04000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x05000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x06000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x07000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x08000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x09000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x0A000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x0B000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x0C000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x0D000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x0E000000, 0x00000000, 0x00120064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x0F000000, 0x00000000, 0x00100064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x10000000, 0x00000000, 0x000E0064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x11000000, 0x00000000, 0x000C0064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x12000000, 0x00000000, 0x000A0064
glabel D_808D190C
.word 0x09110909, 0x10000000, 0x00000013
.word D_808D1660
glabel D_808D191C
.word 0x801F0005, 0x89170021, 0xB86C0000, 0x304C0000
glabel D_808D192C
.word 0x00000000
glabel D_808D1930
.word 0x42B40000, 0xC3730000, 0x00000000, 0x42B40000, 0x00000000, 0x00000000, 0x42B40000, 0x43730000, 0xC3730000, 0x42B40000, 0xC3730000, 0xC3730000, 0x42B40000, 0x00000000, 0xC3730000, 0x42B40000, 0x43730000, 0x43730000, 0x42B40000, 0xC3730000, 0x43730000, 0x42B40000, 0x00000000, 0x43730000, 0x42B40000, 0x43730000
glabel D_808D1998
.word 0x00000000, 0x44610000, 0xC3730000, 0x43730000, 0x44610000, 0xC2C80000, 0x43730000, 0x44610000, 0x42C80000, 0x00000000, 0x44610000, 0x43730000, 0xC3730000, 0x44610000, 0x42C80000, 0xC3730000, 0x44610000, 0xC2C80000
glabel D_808D19E0
.word 0x00000000, 0x00000000, 0x00000000
glabel D_808D19EC
.word 0x00000000, 0x3CF5C28F, 0x00000000
glabel D_808D19F8
.word 0x00000000, 0x00000000, 0x00000000
glabel D_808D1A04
.word 0x00000000, 0x00000000, 0x00000000
glabel D_808D1A10
.word 0x00000000, 0x00000000, 0x00000000
glabel D_808D1A1C
.word 0x00000000, 0x3CF5C28F, 0x00000000
glabel D_808D1A28
.word 0x00000000, 0x00000000, 0x42480000
glabel D_808D1A34
.word 0x00000001, 0x00020002, 0x00010000
glabel D_808D1A40
.word 0x00000000, 0x00000000, 0x00000000
glabel D_808D1A4C
.word 0x00000000, 0x00000000, 0x00000000
glabel D_808D1A58
.word 0xFFFF00FF
glabel D_808D1A5C
.word 0xFF0A00FF
glabel D_808D1A60
.word 0x00000000, 0x00000000, 0x00000000
glabel D_808D1A6C
.word 0x00000000, 0xBF800000, 0x00000000
glabel D_808D1A78
.word 0x00000000, 0x00000000, 0x00000000
glabel D_808D1A84
.word 0x00000000, 0x00000000, 0x00000000
glabel D_808D1A90
.word 0xFF8000FF, 0x0000FFFF, 0x00FF0000
glabel D_808D1A9C
.word gDust1Tex, gDust1Tex, gDust2Tex, gDust3Tex, gDust4Tex, gDust5Tex, gDust6Tex, gDust7Tex, gDust8Tex
glabel D_808D1AC0
.byte 0x00, 0x00
glabel D_808D1AC2
.byte 0x00, 0x5F
glabel D_808D1AC4
.word 0x005A0055, 0x0050004B, 0x00460041, 0x003C0037, 0x0032002D, 0x00280023, 0x001E0019, 0x0014000F, 0x000A0005, 0x0000001C, 0x001A0018, 0x00160014, 0x00120010, 0x000E000C, 0x000A0000
glabel D_808D1B00
.word 0x00000000, 0x41200000, 0x41880000, 0x41A00000, 0x419C0000, 0x41900000, 0x41880000, 0x41700000, 0x41700000, 0x41700000
glabel D_808D1B28
.word 0x00000000, 0x41200000, 0x41880000, 0x41A00000, 0x41A80000, 0x41A80000, 0x41A80000, 0x41A80000, 0x41A80000, 0x41A80000
glabel D_808D1B50
.word 0x3EED62F8, 0x3EAC5887, 0x3E185E04, 0x3D4C98A2, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
glabel D_808D1B78
.word 0xBEED62F8, 0xBEAC5887, 0xBE185E04, 0x3CCC341A, 0x3D992714, 0x3D4C98A2, 0x3DCC01D6, 0x00000000, 0x00000000, 0x00000000
glabel D_808D1BA0
.word 0x458CA000, 0x00000000, 0x00000000
glabel D_808D1BAC
.word 0x457A0000, 0x00000000, 0x00000000
glabel D_808D1BB8
.word 0x060038A8, 0x060034A8, 0x06003CA8
glabel D_808D1BC4
.word 0x060079A0, 0x06007AC0, 0x06007B70, 0x06007BD0, 0x06007C30, 0x06007C90, 0x06007CF0, 0x06007D50, 0x06007DB0, 0x06007E10, 0x06007E70, 0x06007ED0, 0x06007F30, 0x06007F90, 0x06007FF0, 0x06008038, 0x06008080, 0x060080D8
glabel D_808D1C0C
.word 0x00000000, 0x00000000, 0x00000000
glabel D_808D1C18
.word 0x00000000, 0x44D48000, 0x45DAC000
glabel D_808D1C24
.word 0xC47A0000, 0x442F0000, 0x45DAC000

View file

@ -1,61 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel Boss_Fd2_InitVars
.word 0x00A20900, 0x00000035, 0x00A50000, 0x0000167C
.word BossFd2_Init
.word BossFd2_Destroy
.word BossFd2_Update
.word BossFd2_Draw
glabel D_808D5FD0
.word 0x03000000, 0xFFCFFFFF, 0x00200000, 0xFFCDFFFE, 0x00000000, 0x00050100, 0x23001770, 0x00000000, 0x00150064, 0x02000000, 0xFFCFFFFF, 0x00200000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x12000FA0, 0x00000000, 0x000D0064, 0x02000000, 0xFFCFFFFF, 0x00200000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x13000BB8, 0x00000000, 0x000D0064, 0x02000000, 0xFFCFFFFF, 0x00200000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x14000FA0, 0x00000000, 0x000F0064, 0x02000000, 0xFFCFFFFF, 0x00200000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x18000FA0, 0x00000000, 0x000D0064, 0x02000000, 0xFFCFFFFF, 0x00200000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x19000BB8, 0x00000000, 0x000D0064, 0x02000000, 0xFFCFFFFF, 0x00200000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x1A000DAC, 0x05DC0000, 0x000F0064, 0x02000000, 0xFFCFFFFF, 0x00200000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x11000000, 0x00000000, 0x001A0064, 0x02000000, 0xFFCFFFFF, 0x00200000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x1E000000, 0x00000000, 0x00110064
glabel D_808D6114
.word 0x09110909, 0x10000000, 0x00000009
.word D_808D5FD0
glabel D_808D6124
.word 0x00000000, 0x42B40000, 0xC3730000, 0x00000000, 0x42B40000, 0x00000000, 0x00000000, 0x42B40000, 0x43730000, 0xC3730000, 0x42B40000, 0xC3730000, 0xC3730000, 0x42B40000, 0x00000000, 0xC3730000, 0x42B40000, 0x43730000, 0x43730000, 0x42B40000, 0xC3730000, 0x43730000, 0x42B40000, 0x00000000, 0x43730000, 0x42B40000, 0x43730000
glabel D_808D6190
.word 0x801F0005, 0x89170021, 0xB86C0000, 0x304C0000, 0x00000000, 0x00000000, 0x42480000
glabel D_808D61AC
.word 0x00000000, 0x00000000, 0x00000000
glabel D_808D61B8
.word 0x00000000, 0x00000000, 0x00000000
glabel D_808D61C4
.word 0x00000000, 0x00000000, 0x00000000
glabel D_808D61D0
.word 0x00000000, 0x00000000, 0x00000000
glabel D_808D61DC
.word 0x00000000, 0xBF800000, 0x00000000
glabel D_808D61E8
.word 0x00000000, 0x00000000, 0x00000000
glabel D_808D61F4
.word 0x00000000, 0xBF800000, 0x00000000
glabel D_808D6200
.word 0x00000001, 0x00020002, 0x00010000
glabel D_808D620C
.word 0x458CA000, 0x00000000, 0x00000000
glabel D_808D6218
.word 0x457A0000, 0x00000000, 0x00000000
glabel D_808D6224
.word 0x457A0000, 0xC5354000, 0x44FA0000
glabel D_808D6230
.word 0x457A0000, 0xC4C80000, 0x00000000
glabel D_808D623C
.word 0x457A0000, 0xC4C80000, 0xC4FA0000
glabel D_808D6248
.word 0x00000000, 0x42C80000, 0x42480000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
glabel D_808D6270
.word 0x00000000, 0x40A00000, 0xC1200000, 0x43FA0000, 0x43FA0000, 0x43FA0000, 0x43FA0000, 0x43FA0000, 0x43FA0000, 0x43FA0000
glabel D_808D6298
.word 0x3ECCCCCD, 0x3F19999A, 0x3F4CCCCD, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000
glabel D_808D62C0
.word 0x06002B08, 0x06002708, 0x06002F08, 0x00000000

View file

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_808D64F0
.incbin "baserom/ovl_Boss_Fd2", 0x3E80, 0x00000380

View file

@ -1,36 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel En_Vb_Ball_InitVars
.word 0x00000900, 0x00000030, 0x009C0000, 0x000001B4
.word EnVbBall_Init
.word EnVbBall_Destroy
.word EnVbBall_Update
.word EnVbBall_Draw
glabel D_80B2A000
.word 0x0A110939, 0x10010000, 0x06000000, 0x00100700, 0x00200000, 0x00100700, 0x00000000, 0x01010100, 0x0014001E, 0x000A0000, 0x00000000
glabel D_80B2A02C
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80B2A038
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80B2A044
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80B2A050
.word 0x00000000, 0xBF800000, 0x00000000
glabel D_80B2A05C
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80B2A068
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80B2A074
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80B2A080
.word 0x00000000, 0xBF800000, 0x00000000, 0x00000000

View file

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_80B2A110
.incbin "baserom/ovl_En_Vb_Ball", 0x1170, 0x000000F0