mirror of
https://github.com/Xeeynamo/sotn-decomp.git
synced 2026-11-07 09:16:07 -10:00
Refactor WEAPON and Add WEAPON1 Build (#3813)
This change adds `WEAPON1` to the `us` build by refactoring the overlay header and `g_HandId`. Where possible, objects are reused between both weapon overlay bundles. Based on the PSP weapon layout it appeared that the header data and `g_HandId` for each weapon were in separate objects from the weapon code and data. Separating them allows the link order to be rearranged between platforms without any code changes or macros. This also eliminates the need to special case function interfaces that differed between weapons. The header only needs to resolve the symbol at link time. A single `w_init` object can be used for all weapons, regardless of hand. `left_hand` and `right_hand` objects can be linked to `w0_*` and `w1_*` weapons, respectively. In the majority of cases, a specific weapon object just needs to be linked to the corresponding "hand" object to match for both `WEAPON0` and `WEAPON1`. This involves a lot of file edits, but the changes are pretty simple: * remove the header `Weapon` struct from each weapon source (defined in `weapon_private.h`) and move into `w_init.c` * remove the `g_HandId` global from each weapon source and move into `left_hand.c` and `right_hand.c` * configure segments for `w_init` and hand and update the build system how to handle multiple data segments. Because `w_init` is resolved at link time, all weapon API functions are no longer `static`. These functions are no longer compiled with the header, so no compile time switches are needed to synchronize the header struct interfaces with the actual function interfaces. Not all `WEAPON1` weapons are matched, primarily because of missing data. This requires either symbol resolution or data imports. This can be done incrementally. Weapons that haven't been matched are using the `asm` segment type out of convenience. The build system has bespoke rules for weapons and this avoided the complexity of generating C stubs for now. There are some weapons that cannot share the same weapon object. For example `w0_051` and `w1_051` differ by one byte in the data segment. These will need to be split into separate objects in a future change. It's not clear to me that the `progress.py` changes will work correctly. Submitting as draft for now for discussion.
This commit is contained in:
1 parent
651b135c59
commit
e6cc85dbff
83 files changed
+3110
-1047
No files matched your search
+2
-2
@@ -2426,9 +2426,9 @@ if(ENABLE_SATURN_STAGES)
|
||||
endif()
|
||||
|
||||
foreach(id 000 002 007 008 010 012 034 035 037 040 041 043 045 046 050 051 052)
|
||||
add_overlay(w0_${id} src/weapon/w_${id}.c)
|
||||
add_overlay(w0_${id} src/weapon/w_init.c src/weapon/right_hand.c src/weapon/w_${id}.c)
|
||||
target_compile_definitions(${w0_${id}_COMPILE_TARGET} PRIVATE WEAPON0)
|
||||
add_overlay(w1_${id} src/weapon/w_${id}.c)
|
||||
add_overlay(w1_${id} src/weapon/w_init.c src/weapon/left_hand.c src/weapon/w_${id}.c)
|
||||
target_compile_definitions(${w1_${id}_COMPILE_TARGET} PRIVATE WEAPON1)
|
||||
endforeach()
|
||||
|
||||
|
||||
@@ -113,3 +113,4 @@ b54466dec3923d43bd08d71bec688da252153984 build/us/TT_003.BIN
|
||||
099f856927f53c76b0bdeb93755d4a19834cc178 build/us/TT_005.BIN
|
||||
88a4a391c25b62cc1a9093aac3300387e32e6d03 build/us/TT_006.BIN
|
||||
b8dcd64f95d197d3f59ab3e46f67897ecdc477cb build/us/WEAPON0.BIN
|
||||
8370dceda3aaca4320a677f3cb291b661b50f876 build/us/WEAPON1.BIN
|
||||
@@ -44,6 +44,8 @@ segments:
|
||||
subalign: 8
|
||||
subsegments:
|
||||
- [0x80, c, w_000]
|
||||
- [0x6CC, .data, w_000]
|
||||
- {start: 0x1980, type: bss, vram: 0x92F4780}
|
||||
- [0x698, c, w_init]
|
||||
- [0x700, .data, w_000]
|
||||
- [0x1908, .data, w_init]
|
||||
- {start: 0x1980, type: .bss, 0x92F4780, name: left_hand}
|
||||
- [0x1980]
|
||||
@@ -44,6 +44,8 @@ segments:
|
||||
subalign: 8
|
||||
subsegments:
|
||||
- [0x80, c, w_000]
|
||||
- [0x700, .data, w_000]
|
||||
- {start: 0x1980, type: bss, vram: 0x92F8580}
|
||||
- [0x698, c, w_init]
|
||||
- [0x700, .data, right_hand]
|
||||
- [0x708, .data, w_000]
|
||||
- [0x1910, .data, w_init]
|
||||
- [0x1980]
|
||||
@@ -43,7 +43,8 @@ segments:
|
||||
subalign: 8
|
||||
subsegments:
|
||||
- [0x80, c, w1_012]
|
||||
- [0x1900, data]
|
||||
- [0x1900, data, right_hand]
|
||||
- [0x1908, data, w1_012]
|
||||
# - [0x23D8, .rodata, w1_012]
|
||||
- {start: 0x2480, type: bss, vram: 0x92F9080}
|
||||
- [0x2480]
|
||||
+121
-1
@@ -19,6 +19,8 @@ options:
|
||||
use_legacy_include_asm: no
|
||||
extensions_path: tools/splat_ext
|
||||
symbol_name_format: $SEG_$VRAM
|
||||
disassemble_all: true
|
||||
disasm_unknown: true
|
||||
global_vram_start: 0x80010000
|
||||
section_order:
|
||||
- ".data"
|
||||
@@ -41,7 +43,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x04000, .data, w_init]
|
||||
- [0x04040, .data, w_000]
|
||||
- [0x050D0, .data, left_hand]
|
||||
- [0x050D4, c, w_000]
|
||||
- name: f_001
|
||||
type: grey4
|
||||
@@ -56,8 +60,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x0B000, .data, w_init]
|
||||
- [0x0B040, .data, w_001]
|
||||
- [0x0BA44, data, w_001]
|
||||
- [0x0BA44, data, w_001_001]
|
||||
- [0x0BFF4, .data, left_hand]
|
||||
- [0x0BFF8, .rodata, w_001]
|
||||
- [0x0C014, c, w_001]
|
||||
- name: f_002
|
||||
@@ -73,7 +79,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x12000, .data, w_init]
|
||||
- [0x12040, .data, w_002]
|
||||
- [0x12BD8, .data, left_hand]
|
||||
- [0x12BDC, c, w_002]
|
||||
- name: f_003
|
||||
type: grey4
|
||||
@@ -88,8 +96,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x19000, .data, w_init]
|
||||
- [0x19040, .data, w_003]
|
||||
- [0x19884, data, w_003]
|
||||
- [0x19C3C, .data, left_hand]
|
||||
- [0x19C40, c, w_003]
|
||||
- name: f_004
|
||||
type: grey4
|
||||
@@ -104,8 +114,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x20000, .data, w_init]
|
||||
- [0x20040, .data, w_004]
|
||||
- [0x20EAC, data, w_004]
|
||||
- [0x21318, .data, left_hand]
|
||||
- [0x2131C, c, w_004]
|
||||
- name: f_005
|
||||
type: grey4
|
||||
@@ -120,8 +132,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x27000, .data, w_init]
|
||||
- [0x27040, .data, w_005]
|
||||
- [0x27EAC, data, w_005]
|
||||
- [0x28318, .data, left_hand]
|
||||
- [0x2831C, c, w_005]
|
||||
- name: f_006
|
||||
type: grey4
|
||||
@@ -136,8 +150,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x2E000, .data, w_init]
|
||||
- [0x2E040, .data, w_006]
|
||||
- [0x2E884, data, w_006]
|
||||
- [0x2EC3C, .data, left_hand]
|
||||
- [0x2EC40, .rodata, w_006]
|
||||
- [0x2EC54, c, w_006]
|
||||
- name: f_007
|
||||
@@ -153,7 +169,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x35000, .data, w_init]
|
||||
- [0x35040, .data, w_007]
|
||||
- [0x35C9C, .data, left_hand]
|
||||
- [0x35CA0, c, w_007]
|
||||
- name: f_008
|
||||
type: grey4
|
||||
@@ -168,7 +186,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x3C000, .data, w_init]
|
||||
- [0x3C040, .data, w_008]
|
||||
- [0x3CAC0, .data, left_hand]
|
||||
- [0x3CAC4, .rodata, w_008]
|
||||
- [0x3CB4C, c, w_008]
|
||||
- name: f_009
|
||||
@@ -184,8 +204,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x43000, .data, w_init]
|
||||
- [0x43040, .data, w_009]
|
||||
- [0x43804, data, w_009]
|
||||
- [0x43AC0, .data, left_hand]
|
||||
- [0x43AC4, .rodata, w_009]
|
||||
- [0x43B4C, c, w_009]
|
||||
- name: f_010
|
||||
@@ -201,7 +223,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x4A000, .data, w_init]
|
||||
- [0x4A040, .data, w_010]
|
||||
- [0x4AC04, .data, left_hand]
|
||||
- [0x4AC08, .rodata, w_010]
|
||||
- [0x4ACC0, c, w_010]
|
||||
- [0x4CC1C, .bss, w_010]
|
||||
@@ -218,8 +242,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x51000, .data, w_init]
|
||||
- [0x51040, .data, w_011]
|
||||
- [0x51958, data, w_011]
|
||||
- [0x51C3C, .data, left_hand]
|
||||
- [0x51C40, .rodata, w_011]
|
||||
- [0x51CDC, c, w_011]
|
||||
- name: f_012
|
||||
@@ -235,7 +261,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x58000, .data, w_init]
|
||||
- [0x58040, .data, w_012]
|
||||
- [0x58AC8, .data, left_hand]
|
||||
- [0x58ACC, c, w_012]
|
||||
- [0x59B28, .bss, w_012]
|
||||
- name: f_013
|
||||
@@ -251,8 +279,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x5F000, .data, w_init]
|
||||
- [0x5F040, .data, w_013]
|
||||
- [0x5F2B0, data, w_013]
|
||||
- [0x5F604, .data, left_hand]
|
||||
- [0x5F608, .rodata, w_013]
|
||||
- [0x5F62C, c, w_013]
|
||||
- name: f_014
|
||||
@@ -268,8 +298,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x66000, .data, w_init]
|
||||
- [0x66040, .data, w_014]
|
||||
- [0x662B0, data, w_014]
|
||||
- [0x665B8, .data, left_hand]
|
||||
- [0x665BC, c, w_014]
|
||||
- name: f_015
|
||||
type: grey4
|
||||
@@ -284,8 +316,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x6D000, .data, w_init]
|
||||
- [0x6D040, .data, w_015]
|
||||
- [0x6D478, data, w_015]
|
||||
- [0x6D7E0, .data, left_hand]
|
||||
- [0x6D7E4, c, w_015]
|
||||
- name: f_016
|
||||
type: grey4
|
||||
@@ -300,8 +334,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x74000, .data, w_init]
|
||||
- [0x74040, .data, w_016]
|
||||
- [0x742B0, data, w_016]
|
||||
- [0x745F4, .data, left_hand]
|
||||
- [0x745F8, .rodata, w_016]
|
||||
- [0x7460C, c, w_016]
|
||||
- name: f_017
|
||||
@@ -317,7 +353,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x7B000, .data, w_init]
|
||||
- [0x7B040, .data, w_017]
|
||||
- [0x7B3A8, .data, left_hand]
|
||||
- [0x7B3AC, c, w_017]
|
||||
- name: f_018
|
||||
type: grey4
|
||||
@@ -332,8 +370,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x82000, .data, w_init]
|
||||
- [0x82040, .data, w_018]
|
||||
- [0x82488, data, w_018]
|
||||
- [0x82738, .data, left_hand]
|
||||
- [0x8273C, .rodata, w_018]
|
||||
- [0x82740, c, w_018]
|
||||
- [0x831B4, .bss, w_018]
|
||||
@@ -350,8 +390,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x89000, .data, w_init]
|
||||
- [0x89040, .data, w_019]
|
||||
- [0x8930C, data, w_019]
|
||||
- [0x89550, .data, left_hand]
|
||||
- [0x89554, c, w_019]
|
||||
- name: f_020
|
||||
type: grey4
|
||||
@@ -366,8 +408,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x90000, .data, w_init]
|
||||
- [0x90040, .data, w_020]
|
||||
- [0x90630, data, w_020]
|
||||
- [0x90B9C, .data, left_hand]
|
||||
- [0x90BA0, .rodata, w_020]
|
||||
- [0x90BC8, c, w_020]
|
||||
- name: f_021
|
||||
@@ -383,8 +427,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x97000, .data, w_init]
|
||||
- [0x97040, .data, w_021]
|
||||
- [0x97564, data, w_021]
|
||||
- [0x97794, .data, left_hand]
|
||||
- [0x97798, .rodata, w_021]
|
||||
- [0x977B4, c, w_021]
|
||||
- name: f_022
|
||||
@@ -400,8 +446,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x9E000, .data, w_init]
|
||||
- [0x9E040, .data, w_022]
|
||||
- [0x9E540, data, w_022]
|
||||
- [0x9E810, .data, left_hand]
|
||||
- [0x9E814, c, w_022]
|
||||
- name: f_023
|
||||
type: grey4
|
||||
@@ -416,8 +464,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0xA5000, .data, w_init]
|
||||
- [0xA5040, .data, w_023]
|
||||
- [0xA58A4, data, w_023]
|
||||
- [0xA5CF0, .data, left_hand]
|
||||
- [0xA5CF4, .rodata, w_023]
|
||||
- [0xA5D80, c, w_023]
|
||||
- name: f_024
|
||||
@@ -433,8 +483,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0xAC000, .data, w_init]
|
||||
- [0xAC040, .data, w_024]
|
||||
- [0xAC804, data, w_024]
|
||||
- [0xACD50, .data, left_hand]
|
||||
- [0xACD54, .rodata, w_024]
|
||||
- [0xACDE0, c, w_024]
|
||||
- name: f_025
|
||||
@@ -450,8 +502,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0xB3000, .data, w_init]
|
||||
- [0xB3040, .data, w_025]
|
||||
- [0xB3804, data, w_025]
|
||||
- [0xB3AE0, .data, left_hand]
|
||||
- [0xB3AE4, .rodata, w_025]
|
||||
- [0xB3B74, c, w_025]
|
||||
- name: f_026
|
||||
@@ -467,8 +521,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0xBA000, .data, w_init]
|
||||
- [0xBA040, .data, w_026]
|
||||
- [0xBA804, data, w_026]
|
||||
- [0xBAAEC, .data, left_hand]
|
||||
- [0xBAAF0, .rodata, w_026]
|
||||
- [0xBAB9C, c, w_026]
|
||||
- name: f_027
|
||||
@@ -484,8 +540,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0xC1000, .data, w_init]
|
||||
- [0xC1040, .data, w_027]
|
||||
- [0xC1A18, data, w_027]
|
||||
- [0xC1CC8, .data, left_hand]
|
||||
- [0xC1CCC, .rodata, w_027]
|
||||
- [0xC1D54, c, w_027]
|
||||
- name: f_028
|
||||
@@ -501,8 +559,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0xC8000, .data, w_init]
|
||||
- [0xC8040, .data, w_028]
|
||||
- [0xC8804, data, w_028]
|
||||
- [0xC8B64, .data, left_hand]
|
||||
- [0xC8B68, .rodata, w_028]
|
||||
- [0xC8BF4, c, w_028]
|
||||
- name: f_029
|
||||
@@ -518,8 +578,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0xCF000, .data, w_init]
|
||||
- [0xCF040, .data, w_029]
|
||||
- [0xCF884, data, w_029]
|
||||
- [0xCFD50, .data, left_hand]
|
||||
- [0xCFD54, .rodata, w_029]
|
||||
- [0xCFDD8, c, w_029]
|
||||
- name: f_030
|
||||
@@ -535,8 +597,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0xD6000, .data, w_init]
|
||||
- [0xD6040, .data, w_030]
|
||||
- [0xD6040, data, w_030]
|
||||
- [0xD667C, .data, left_hand]
|
||||
- [0xD6680, .rodata, w_030]
|
||||
- [0xD66DC, c, w_030]
|
||||
- name: f_031
|
||||
@@ -552,8 +616,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0xDD000, .data, w_init]
|
||||
- [0xDD040, .data, w_031]
|
||||
- [0xDD704, data, w_031]
|
||||
- [0xDD914, .data, left_hand]
|
||||
- [0xDD918, c, w_031]
|
||||
- name: f_032
|
||||
type: grey4
|
||||
@@ -568,8 +634,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0xE4000, .data, w_init]
|
||||
- [0xE4040, .data, w_032]
|
||||
- [0xE4704, data, w_032]
|
||||
- [0xE4920, .data, left_hand]
|
||||
- [0xE4924, c, w_032]
|
||||
- name: f_033
|
||||
type: grey4
|
||||
@@ -584,8 +652,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0xEB000, .data, w_init]
|
||||
- [0xEB040, .data, w_033]
|
||||
- [0xEBA9C, data, w_033]
|
||||
- [0xEBC54, .data, left_hand]
|
||||
- [0xEBC58, c, w_033]
|
||||
- name: f_034
|
||||
type: grey4
|
||||
@@ -600,7 +670,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0xF2000, .data, w_init]
|
||||
- [0xF2040, .data, w_034]
|
||||
- [0xF294C, .data, left_hand]
|
||||
- [0xF2950, c, w_034]
|
||||
- name: f_035
|
||||
type: grey4
|
||||
@@ -615,7 +687,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0xF9000, .data, w_init]
|
||||
- [0xF9040, .data, w_035]
|
||||
- [0xF9548, .data, left_hand]
|
||||
- [0xF954C, c, w_035]
|
||||
- name: f_036
|
||||
type: grey4
|
||||
@@ -630,8 +704,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x100000, .data, w_init]
|
||||
- [0x100040, .data, w_036]
|
||||
- [0x100404, data, w_036]
|
||||
- [0x100558, .data, left_hand]
|
||||
- [0x10055C, c, w_036]
|
||||
- name: f_037
|
||||
type: grey4
|
||||
@@ -646,7 +722,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x107000, .data, w_init]
|
||||
- [0x107040, .data, w_037]
|
||||
- [0x1077C0, .data, left_hand]
|
||||
- [0x1077C4, c, w_037]
|
||||
- [0x108BE4, .bss, w_037]
|
||||
- name: f_038
|
||||
@@ -662,8 +740,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x10E000, .data, w_init]
|
||||
- [0x10E040, .data, w_038]
|
||||
- [0x10EC08, data, w_038]
|
||||
- [0x10EDE8, .data, left_hand]
|
||||
- [0x10EDEC, c, w_038]
|
||||
- name: f_039
|
||||
type: grey4
|
||||
@@ -678,8 +758,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x115000, .data, w_init]
|
||||
- [0x115040, .data, w_039]
|
||||
- [0x115C08, data, w_039]
|
||||
- [0x115DE8, .data, left_hand]
|
||||
- [0x115DEC, c, w_039]
|
||||
- name: f_040
|
||||
type: grey4
|
||||
@@ -694,7 +776,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x11C000, .data, w_init]
|
||||
- [0x11C040, .data, w_040]
|
||||
- [0x11C870, .data, left_hand]
|
||||
- [0x11C874, c, w_040]
|
||||
- [0x11D540, .bss, w_040]
|
||||
- name: f_041
|
||||
@@ -710,7 +794,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x123000, .data, w_init]
|
||||
- [0x123040, .data, w_041]
|
||||
- [0x12355C, .data, left_hand]
|
||||
- [0x123560, .rodata, w_041]
|
||||
- [0x123574, c, w_041]
|
||||
- [0x124200, .bss, w_041]
|
||||
@@ -727,8 +813,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x12A000, .data, w_init]
|
||||
- [0x12A040, .data, w_042]
|
||||
- [0x12A3E4, data, w_042]
|
||||
- [0x12A75C, .data, left_hand]
|
||||
- [0x12A760, .rodata, w_042]
|
||||
- [0x12AB04, c, w_042]
|
||||
- [0x12B5EC, .bss, w_042]
|
||||
@@ -745,7 +833,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x131000, .data, w_init]
|
||||
- [0x131040, .data, w_043]
|
||||
- [0x132058, .data, left_hand]
|
||||
- [0x13205C, c, w_043]
|
||||
- name: f_044
|
||||
type: grey4
|
||||
@@ -760,7 +850,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x138000, .data, w_init]
|
||||
- [0x138040, .data, w_044]
|
||||
- [0x1382A4, .data, left_hand]
|
||||
- [0x1382A8, .rodata, w_044]
|
||||
- [0x1382C0, c, w_044]
|
||||
- name: f_045
|
||||
@@ -776,7 +868,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x13F000, .data, w_init]
|
||||
- [0x13F040, .data, w_045]
|
||||
- [0x13F374, .data, left_hand]
|
||||
- [0x13F378, c, w_045]
|
||||
- [0x1403B8, .bss, w_045]
|
||||
- name: f_046
|
||||
@@ -792,7 +886,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x146000, .data, w_init]
|
||||
- [0x146040, .data, w_046]
|
||||
- [0x146C60, .data, left_hand]
|
||||
- [0x146C64, c, w_046]
|
||||
- name: f_047
|
||||
type: grey4
|
||||
@@ -807,8 +903,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x14D000, .data, w_init]
|
||||
- [0x14D040, .data, w_047]
|
||||
- [0x14D228, data, w_047]
|
||||
- [0x14D550, .data, left_hand]
|
||||
- [0x14D554, .rodata, w_047]
|
||||
- [0x14D568, c, w_047]
|
||||
- name: f_048
|
||||
@@ -824,8 +922,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x154000, .data, w_init]
|
||||
- [0x154040, .data, w_048]
|
||||
- [0x154A44, data, w_048]
|
||||
- [0x15504C, .data, left_hand]
|
||||
- [0x155050, c, w_048]
|
||||
- name: f_049
|
||||
type: grey4
|
||||
@@ -840,8 +940,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x15B000, .data, w_init]
|
||||
- [0x15B040, .data, w_049]
|
||||
- [0x15BC00, data, w_049]
|
||||
- [0x15C148, .data, left_hand]
|
||||
- [0x15C14C, c, w_049]
|
||||
- name: f_050
|
||||
type: grey4
|
||||
@@ -856,7 +958,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x162000, .data, w_init]
|
||||
- [0x162040, .data, w_050]
|
||||
- [0x16307C, .data, left_hand]
|
||||
- [0x163080, c, w_050]
|
||||
- [0x164bf8, .bss, w_050]
|
||||
- name: f_051
|
||||
@@ -872,7 +976,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x169000, .data, w_init]
|
||||
- [0x169040, .data, w_051]
|
||||
- [0x169ED0, .data, left_hand]
|
||||
- [0x169ED4, c, w_051]
|
||||
- [0x16B0E0, .bss, w_051]
|
||||
- name: f_052
|
||||
@@ -888,7 +994,9 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x170000, .data, w_init]
|
||||
- [0x170040, .data, w_052]
|
||||
- [0x170C20, .data, left_hand]
|
||||
- [0x170C24, .rodata, w_052]
|
||||
- [0x170CB0, c, w_052]
|
||||
- [0x172B84, .bss, w_052]
|
||||
@@ -905,8 +1013,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x177000, .data, w_init]
|
||||
- [0x177040, .data, w_053]
|
||||
- [0x177A44, data, w_053]
|
||||
- [0x178268, .data, left_hand]
|
||||
- [0x17826C, .rodata, w_053]
|
||||
- [0x178280, c, w_053]
|
||||
- name: f_054
|
||||
@@ -922,8 +1032,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x17E000, .data, w_init]
|
||||
- [0x17E040, .data, w_054]
|
||||
- [0x17EA44, data, w_054]
|
||||
- [0x17EF08, .data, left_hand]
|
||||
- [0x17EF0C, c, w_054]
|
||||
- name: f_055
|
||||
type: grey4
|
||||
@@ -938,8 +1050,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x185000, .data, w_init]
|
||||
- [0x185040, .data, w_055]
|
||||
- [0x185A44, data, w_055]
|
||||
- [0x18619C, .data, left_hand]
|
||||
- [0x1861A0, c, w_055]
|
||||
- name: f_056
|
||||
type: grey4
|
||||
@@ -954,8 +1068,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x18C000, .data, w_init]
|
||||
- [0x18C040, .data, w_056]
|
||||
- [0x18CA44, data, w_056]
|
||||
- [0x18D05C, .data, left_hand]
|
||||
- [0x18D060, c, w_056]
|
||||
- name: f_057
|
||||
type: grey4
|
||||
@@ -970,8 +1086,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x193000, .data, w_init]
|
||||
- [0x193040, .data, w_057]
|
||||
- [0x193A44, data, w_057]
|
||||
- [0x1940B0, .data, left_hand]
|
||||
- [0x1940B4, c, w_057]
|
||||
- name: f_058
|
||||
type: grey4
|
||||
@@ -986,8 +1104,10 @@ segments:
|
||||
align: 4
|
||||
subalign: 4
|
||||
subsegments:
|
||||
- [0x19A000, .data, w_init]
|
||||
- [0x19A040, .data, w_058]
|
||||
- [0x19A808, data, w_058]
|
||||
- [0x19ABC8, .data, left_hand]
|
||||
- [0x19ABCC, .rodata, w_058]
|
||||
- [0x19AC50, c, w_058]
|
||||
- [0x19D000]
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1 +1 @@
|
||||
w1_012_Load = 0x092F8450;
|
||||
WeaponLoad = 0x092F8450;
|
||||
Whitespace-only changes.
File diff suppressed because it is too large.
Load diff
@@ -1,2 +1,2 @@
|
||||
EXTERN(_binary_assets_weapon_w0_000_mwo_header_bin_start)
|
||||
EXTERN(w0_000_Load)
|
||||
EXTERN(WeaponLoad)
|
||||
@@ -1,2 +1,2 @@
|
||||
EXTERN(_binary_assets_weapon1_w1_000_mwo_header_bin_start)
|
||||
EXTERN(w0_000_Load)
|
||||
EXTERN(WeaponLoad)
|
||||
@@ -1,2 +1,2 @@
|
||||
EXTERN(_binary_assets_weapon1_w1_012_mwo_header_bin_start)
|
||||
EXTERN(w1_012_Load)
|
||||
EXTERN(WeaponLoad)
|
||||
@@ -5,6 +5,10 @@
|
||||
#include <game.h>
|
||||
#include <sfx.h>
|
||||
|
||||
// these are macros instead of an enum to support preprocessor expansion.
|
||||
#define LEFT_HAND 0
|
||||
#define RIGHT_HAND 1
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ void (*EntityWeaponAttack)(Entity* self);
|
||||
/* 0x04 */ void (*func_ptr_80170004)(Entity* self);
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
#ifndef HAND_H
|
||||
#define HAND_H
|
||||
#include "weapon_private.h"
|
||||
|
||||
s32 g_HandId = HAND_ID;
|
||||
#endif // HAND_H
|
||||
@@ -0,0 +1,2 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
#include "hand.h"
|
||||
@@ -0,0 +1,2 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
#include "hand.h"
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "../destroy_entity.h"
|
||||
|
||||
static void LoadWeaponPalette(s32 clutIndex) {
|
||||
void LoadWeaponPalette(s32 clutIndex) {
|
||||
RECT dstRect;
|
||||
u16* src;
|
||||
u16* dst;
|
||||
|
||||
+1
-1
@@ -45,4 +45,4 @@ void func_pspeu_092F8440(void) {}
|
||||
|
||||
void func_pspeu_092F8448(void) {}
|
||||
|
||||
INCLUDE_ASM("weapon/w1_012_psp/nonmatchings/w1_012", w1_012_Load);
|
||||
INCLUDE_ASM("weapon/w1_012_psp/nonmatchings/w1_012", WeaponLoad);
|
||||
+15
-86
@@ -7,20 +7,6 @@
|
||||
|
||||
#include "weapon_private.h"
|
||||
|
||||
#ifdef VERSION_PSP
|
||||
// when HAND_ID is zero, MetroWerks puts this in BSS. this may
|
||||
// have been in a separate file because it is located at the
|
||||
// front of .data (when HAND_ID = 1) on PSP/mwcc, but at the end
|
||||
// of .data (regardless of value) on PSX/gcc.
|
||||
static s32 g_HandId = HAND_ID;
|
||||
#endif
|
||||
|
||||
// PSP keeps a separate copy of the generated animsets per hand.
|
||||
// clang-format off
|
||||
#define inner_path(hand, n) CPP_STR(PATH_JOIN(gen/w##hand, n))
|
||||
// clang-format on
|
||||
#define path(hand, n) inner_path(hand, n)
|
||||
|
||||
#ifdef VERSION_PSP
|
||||
#include path(HAND_ID, w_000_1.h)
|
||||
#include path(HAND_ID, w_000_2.h)
|
||||
@@ -202,13 +188,9 @@ static u16* g_WeaponCluts[] = {
|
||||
(u16*)g_Clut1, (u16*)g_Clut0, (u16*)g_Clut2, (u16*)g_Clut3, (u16*)g_Clut4,
|
||||
};
|
||||
|
||||
#ifndef VERSION_PSP
|
||||
static s32 g_HandId = HAND_ID;
|
||||
#endif
|
||||
|
||||
#include "shared.h"
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
WeaponAnimation* anim;
|
||||
s32 mask;
|
||||
s16 subType;
|
||||
@@ -260,83 +242,30 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
self->rotPivotY = PLAYER.rotPivotY;
|
||||
}
|
||||
|
||||
#ifdef VERSION_PSP
|
||||
static void func_ptr_80170004(void) {}
|
||||
void func_ptr_80170004(void) {}
|
||||
|
||||
static void func_ptr_80170008(void) {}
|
||||
void func_ptr_80170008(void) {}
|
||||
|
||||
static void func_ptr_8017000C(void) {}
|
||||
void func_ptr_8017000C(void) {}
|
||||
|
||||
static void func_ptr_80170010(void) {}
|
||||
void func_ptr_80170010(void) {}
|
||||
|
||||
static void func_ptr_80170014(void) {}
|
||||
#else
|
||||
static s32 func_ptr_80170004(Entity* self) {}
|
||||
void func_ptr_80170014(void) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
int GetWeaponId(void) { return 0; }
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(void) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
void func_ptr_80170024(void) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
#endif
|
||||
void func_ptr_80170028(void) {}
|
||||
|
||||
static int GetWeaponId(void) { return 0; }
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
#ifdef VERSION_PSP
|
||||
static void EntityWeaponShieldSpell(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void func_ptr_80170024(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void func_ptr_80170028(void) {}
|
||||
#else
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
#endif
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
|
||||
#ifdef VERSION_PSP
|
||||
// TODO: this should be WEAPON0_PTR
|
||||
#ifdef WEAPON0
|
||||
extern void D_8017A000[];
|
||||
#define WEAPON_PTR D_8017A000
|
||||
#else
|
||||
extern void D_8017D000[];
|
||||
#define WEAPON_PTR D_8017D000
|
||||
#endif
|
||||
extern Weapon w0_000_Overlay;
|
||||
|
||||
void w0_000_Load(void) { memcpy(&WEAPON_PTR, &w0_000_Overlay, sizeof(Weapon)); }
|
||||
|
||||
Weapon w0_000_Overlay = {
|
||||
EntityWeaponAttack,
|
||||
(void (*)(Entity*))func_ptr_80170004,
|
||||
(void (*)(Entity*))func_ptr_80170008,
|
||||
(void (*)(Entity*))func_ptr_8017000C,
|
||||
func_ptr_80170010,
|
||||
(void (*)(Entity*))func_ptr_80170014,
|
||||
GetWeaponId,
|
||||
LoadWeaponPalette,
|
||||
(void (*)(Entity*))EntityWeaponShieldSpell,
|
||||
(void (*)(Entity*))func_ptr_80170024,
|
||||
(void (*)(Entity*))func_ptr_80170028,
|
||||
WeaponUnused2C,
|
||||
WeaponUnused30,
|
||||
WeaponUnused34,
|
||||
WeaponUnused38,
|
||||
WeaponUnused3C,
|
||||
};
|
||||
#endif
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -4,7 +4,6 @@
|
||||
// Unknown#187, Unknown#188
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_001_1.h"
|
||||
#include "gen/w_001_2.h"
|
||||
@@ -395,7 +394,7 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
|
||||
extern AnimationFrame D_B000_8017AFC8[];
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {
|
||||
void func_ptr_80170008(Entity* self) {
|
||||
switch (self->step) {
|
||||
case 0:
|
||||
self->flags = FLAG_POS_CAMERA_LOCKED | FLAG_UNK_100000;
|
||||
@@ -441,26 +440,26 @@ static void func_ptr_80170008(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 1; }
|
||||
int GetWeaponId(void) { return 1; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-16
@@ -1,7 +1,6 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
// Weapon ID #2. Used by weapons:
|
||||
// Mace
|
||||
|
||||
#include "weapon_private.h"
|
||||
#include "gen/w_002_1.h"
|
||||
#include "gen/w_002_2.h"
|
||||
@@ -86,11 +85,10 @@ static u8* anim0[] = {
|
||||
static WeaponAnimation D_12000_8017ABC4[] = {
|
||||
anim0, hitboxes, 0, SFX_WEAPON_SCRAPE_ECHO, 0x48, 0x03, 0};
|
||||
static u16* g_WeaponCluts[] = {clut0};
|
||||
static s32 g_HandId = HAND_ID;
|
||||
|
||||
#include "shared.h"
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
WeaponAnimation* anim;
|
||||
s8 animIndex;
|
||||
|
||||
@@ -141,28 +139,28 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 2; }
|
||||
int GetWeaponId(void) { return 2; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -3,7 +3,6 @@
|
||||
// Morningstar
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_003_1.h"
|
||||
#include "gen/w_003_2.h"
|
||||
@@ -12,7 +11,7 @@ extern s32 g_HandId;
|
||||
|
||||
extern WeaponAnimation D_19000_8017AC28[];
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
WeaponAnimation* anim;
|
||||
s8 animIndex;
|
||||
|
||||
@@ -65,28 +64,28 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 3; }
|
||||
int GetWeaponId(void) { return 3; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -3,7 +3,6 @@
|
||||
// Holy rod, Unknown#170
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_004_1.h"
|
||||
#include "gen/w_004_2.h"
|
||||
@@ -13,7 +12,7 @@ extern s32 g_HandId;
|
||||
|
||||
extern WeaponAnimation D_20000_8017B2F4[]; // g_SoundEvents
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
WeaponAnimation* anim;
|
||||
s16 subType;
|
||||
|
||||
@@ -66,28 +65,28 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 4; }
|
||||
int GetWeaponId(void) { return 4; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -3,7 +3,6 @@
|
||||
// Star flail, Unknown#171
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_005_1.h"
|
||||
#include "gen/w_005_2.h"
|
||||
@@ -67,28 +66,28 @@ void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 5; }
|
||||
int GetWeaponId(void) { return 5; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+15
-17
@@ -1,10 +1,8 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
// Weapon ID #6. Used by weapons:
|
||||
// Moon rod, Unknown#172
|
||||
#define FUNC_04_VOID
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_006_1.h"
|
||||
#include "gen/w_006_2.h"
|
||||
@@ -16,7 +14,7 @@ extern u16 D_2E000_8017ABD4[];
|
||||
extern s32 D_2E000_8017ABF0[];
|
||||
|
||||
extern WeaponAnimation D_2E000_8017ABC4[];
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
WeaponAnimation* anim;
|
||||
s8 animIndex;
|
||||
|
||||
@@ -67,7 +65,7 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
self->rotPivotY = PLAYER.rotPivotY;
|
||||
}
|
||||
|
||||
static void func_ptr_80170004(Entity* self) {
|
||||
void func_ptr_80170004(Entity* self) {
|
||||
s32 hitboxSize;
|
||||
u16 data;
|
||||
|
||||
@@ -227,7 +225,7 @@ static s32 func_2E000_8017B6A0(Primitive* prim, s32 x, s32 y) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {
|
||||
void func_ptr_80170008(Entity* self) {
|
||||
Primitive* prim;
|
||||
s32 posX, posY;
|
||||
s32 range;
|
||||
@@ -267,26 +265,26 @@ static void func_ptr_80170008(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 6; }
|
||||
int GetWeaponId(void) { return 6; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-16
@@ -1,7 +1,6 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
// Weapon ID #7. Used by weapons:
|
||||
// Shield rod, Unknown#173
|
||||
#define FUNC_04_VOID
|
||||
#include "weapon_private.h"
|
||||
#include "gen/w_007_1.h"
|
||||
#include "gen/w_007_2.h"
|
||||
@@ -190,7 +189,6 @@ static u8 D_35000_8017AC64[6][8] = {
|
||||
{0x70, 0x38, 0x78, 0x38, 0x77, 0x40, 0x78, 0x40}};
|
||||
|
||||
static u16* g_WeaponCluts[] = {D_35000_8017A884, D_35000_8017A884};
|
||||
static s32 g_HandId = HAND_ID;
|
||||
|
||||
#include "shared.h"
|
||||
|
||||
@@ -247,7 +245,7 @@ void EntityWeaponAttack(Entity* self) {
|
||||
self->rotPivotY = PLAYER.rotPivotY;
|
||||
}
|
||||
|
||||
static void func_ptr_80170004(Entity* self) {
|
||||
void func_ptr_80170004(Entity* self) {
|
||||
Entity* parent;
|
||||
s32 index;
|
||||
u16 offsetX, offsetY;
|
||||
@@ -385,7 +383,7 @@ static s32 func_35000_8017B604(Primitive* prim, s32 x, s32 y) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {
|
||||
void func_ptr_80170008(Entity* self) {
|
||||
Primitive* prim;
|
||||
s32 velocityX;
|
||||
s32 range;
|
||||
@@ -426,26 +424,26 @@ static void func_ptr_80170008(Entity* self) {
|
||||
DestroyEntity(self);
|
||||
}
|
||||
}
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 7; }
|
||||
int GetWeaponId(void) { return 7; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-16
@@ -1,7 +1,6 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
// Weapon ID #8. Used by weapons:
|
||||
// Leather shield, Unknown#203
|
||||
#define SHIELDSPELL_S32
|
||||
#include "weapon_private.h"
|
||||
#include "gen/w_008_1.h"
|
||||
#include "gen/w_008_2.h"
|
||||
@@ -74,11 +73,10 @@ static s32 shieldAngles[] = {
|
||||
0x1000, 0x1200, 0x1400, 0x1600, 0x1800, 0x1A00, 0x1C00, 0x1E00};
|
||||
|
||||
static u16* g_WeaponCluts[] = {(u16*)pal_0, (u16*)pal_0};
|
||||
static s32 g_HandId = HAND_ID;
|
||||
|
||||
#include "shared.h"
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
s32 anim1;
|
||||
s32 anim2;
|
||||
s32 attackButton;
|
||||
@@ -214,17 +212,17 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 8; }
|
||||
int GetWeaponId(void) { return 8; }
|
||||
|
||||
static s32 EntityWeaponShieldSpell(Entity* self) {
|
||||
s32 EntityWeaponShieldSpell(Entity* self) {
|
||||
s16 back;
|
||||
s16 front;
|
||||
s16 top;
|
||||
@@ -481,16 +479,16 @@ static s32 EntityWeaponShieldSpell(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -3,7 +3,6 @@
|
||||
// Knight shield, Unknown#204
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "gen/w_009_1.h"
|
||||
#include "gen/w_009_2.h"
|
||||
#define g_Animset w_009_1
|
||||
@@ -15,7 +14,7 @@ extern s8 D_43000_8017A9F8;
|
||||
extern AnimationFrame* D_43000_8017AA40;
|
||||
extern s32 D_43000_8017AA78[];
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
s32 anim1;
|
||||
s32 anim2;
|
||||
s32 attackButton;
|
||||
@@ -151,15 +150,15 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 9; }
|
||||
int GetWeaponId(void) { return 9; }
|
||||
|
||||
void EntityWeaponShieldSpell(Entity* self) {
|
||||
s16 back;
|
||||
@@ -430,16 +429,16 @@ void EntityWeaponShieldSpell(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+12
-13
@@ -86,7 +86,6 @@ static s16 shieldAngles2[] = {
|
||||
0x1800, 0x1B00, 0x1E00, 0x2100, 0x2400, 0x2700, 0x2A00, 0x2D00};
|
||||
|
||||
static u16* g_WeaponCluts[] = {(u16*)pal_0, (u16*)pal_0};
|
||||
static s32 g_HandId = HAND_ID;
|
||||
|
||||
#include "shared.h"
|
||||
|
||||
@@ -112,7 +111,7 @@ static void DebugInputWait(const char* msg) {
|
||||
DebugShowWaitInfo(msg);
|
||||
}
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
s32 anim1;
|
||||
s32 anim2;
|
||||
s32 attackButton;
|
||||
@@ -281,15 +280,15 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 10; }
|
||||
int GetWeaponId(void) { return 10; }
|
||||
|
||||
void EntityWeaponShieldSpell(Entity* self) {
|
||||
Entity* unusedEnt;
|
||||
@@ -729,14 +728,14 @@ void func_ptr_80170024(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -3,7 +3,6 @@
|
||||
// AxeLord shield, Unknown#206
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_011_1.h"
|
||||
#include "gen/w_011_2.h"
|
||||
@@ -18,7 +17,7 @@ extern AnimationFrame D_51000_8017ABE8[];
|
||||
|
||||
extern s32 D_51000_8017ABF4[];
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
s32 anim1;
|
||||
s32 anim2;
|
||||
s32 attackButton;
|
||||
@@ -154,15 +153,15 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 11; }
|
||||
int GetWeaponId(void) { return 11; }
|
||||
|
||||
void EntityWeaponShieldSpell(Entity* self) {
|
||||
Primitive* prim;
|
||||
@@ -426,7 +425,7 @@ void EntityWeaponShieldSpell(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {
|
||||
void func_ptr_80170024(Entity* self) {
|
||||
Collider collider;
|
||||
Entity* unusedEnt;
|
||||
|
||||
@@ -638,14 +637,14 @@ static void func_ptr_80170024(Entity* self) {
|
||||
self->ext.timer.t++;
|
||||
}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+15
-17
@@ -145,13 +145,11 @@ static u16* g_WeaponCluts[] = {
|
||||
D_58000_8017A670, D_58000_8017A7B0, D_58000_8017A2B0,
|
||||
};
|
||||
|
||||
static s32 g_HandId = HAND_ID;
|
||||
|
||||
static s32 D_58000_8017BB28;
|
||||
|
||||
#include "shared.h"
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
Primitive* prim;
|
||||
u16 maskedParams;
|
||||
s32 clut;
|
||||
@@ -316,7 +314,7 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
}
|
||||
|
||||
/* similar to func_ptr_80170004_w_034 */
|
||||
static s32 func_ptr_80170004(Entity* self) {
|
||||
s32 func_ptr_80170004(Entity* self) {
|
||||
s16 xDiff;
|
||||
s16 yDiff;
|
||||
s16 offsetY;
|
||||
@@ -445,7 +443,7 @@ static s32 func_ptr_80170004(Entity* self) {
|
||||
self->ext.weapon_012.unk9C++;
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {
|
||||
void func_ptr_80170008(Entity* self) {
|
||||
if (self->step == 0) {
|
||||
if (self->ext.weapon.parent->entityId == 0) {
|
||||
DestroyEntity(self);
|
||||
@@ -471,26 +469,26 @@ static void func_ptr_80170008(Entity* self) {
|
||||
DestroyEntity(self);
|
||||
}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 12; }
|
||||
int GetWeaponId(void) { return 12; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -9,7 +9,6 @@
|
||||
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_013_1.h"
|
||||
#include "gen/w_013_2.h"
|
||||
@@ -68,7 +67,7 @@ s32 func_5F000_8017A9CC(Primitive* prim, s32 x, s32 y) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
Entity* unused;
|
||||
s16 var_s1;
|
||||
|
||||
@@ -240,7 +239,7 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
DestroyEntity(self);
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {
|
||||
void func_ptr_80170008(Entity* self) {
|
||||
Entity* ents2;
|
||||
Primitive* prim;
|
||||
s16 angle;
|
||||
@@ -419,7 +418,7 @@ static void func_ptr_80170008(Entity* self) {
|
||||
|
||||
// Pay attention to unk80, unk8A, and childPalette. These all seem to be
|
||||
// special for Heaven Sword and we should probably have it as a special weapon.
|
||||
static void func_ptr_8017000C(Entity* self) {
|
||||
void func_ptr_8017000C(Entity* self) {
|
||||
s16 angle;
|
||||
|
||||
if (self->ext.weapon.parent->entityId == 0) {
|
||||
@@ -481,24 +480,24 @@ static void func_ptr_8017000C(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 13; }
|
||||
int GetWeaponId(void) { return 13; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -3,7 +3,6 @@
|
||||
// Runesword
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_014_1.h"
|
||||
#include "gen/w_014_2.h"
|
||||
@@ -272,28 +271,28 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
self->posY.i.hi = baseY + self->ext.weapon.parent->posY.i.hi;
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 14; }
|
||||
int GetWeaponId(void) { return 14; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+11
-12
@@ -3,7 +3,6 @@
|
||||
// Shuriken, Cross shuriken, Buffalo star, Flame star, TNT
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_015_1.h"
|
||||
#include "gen/w_015_2.h"
|
||||
@@ -131,7 +130,7 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {
|
||||
void func_ptr_80170008(Entity* self) {
|
||||
Entity* factory;
|
||||
|
||||
if (self->step == 0) {
|
||||
@@ -464,7 +463,7 @@ s32 func_ptr_80170010(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {
|
||||
s32 func_ptr_80170014(Entity* self) {
|
||||
s16 angle;
|
||||
|
||||
if (self->step == 0) {
|
||||
@@ -509,20 +508,20 @@ static s32 func_ptr_80170014(Entity* self) {
|
||||
self->velocityY += self->ext.weapon.accelerationY;
|
||||
}
|
||||
|
||||
static int GetWeaponId(void) { return 15; }
|
||||
int GetWeaponId(void) { return 15; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+12
-13
@@ -3,7 +3,6 @@
|
||||
// Bwaka knife, Boomerang, Javelin, Fire boomerang, Iron ball
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_016_1.h"
|
||||
#include "gen/w_016_2.h"
|
||||
@@ -13,7 +12,7 @@ extern s32 g_HandId;
|
||||
|
||||
// Weapon 16
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
FakePrim* fakePrim;
|
||||
s16 angle;
|
||||
u16 temp_a0;
|
||||
@@ -219,7 +218,7 @@ void func_ptr_80170008(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {
|
||||
void func_ptr_8017000C(Entity* self) {
|
||||
s16 temp_a0;
|
||||
|
||||
switch (self->step) {
|
||||
@@ -308,7 +307,7 @@ s32 func_ptr_80170010(Entity* self) {
|
||||
|
||||
// Tracing function calls in emulator indicates that this function manages
|
||||
// the physics for the Iron Ball item.
|
||||
static s32 func_ptr_80170014(Entity* self) {
|
||||
s32 func_ptr_80170014(Entity* self) {
|
||||
Collider collider;
|
||||
s16 collX;
|
||||
s16 collY;
|
||||
@@ -500,20 +499,20 @@ static s32 func_ptr_80170014(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static int GetWeaponId(void) { return 16; }
|
||||
int GetWeaponId(void) { return 16; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -133,7 +133,6 @@ static Point16 unused_8017A380[] = {
|
||||
{0, 0}, {0x1, 0}, {0, 0}, {-1, 0}};
|
||||
|
||||
static u16* g_WeaponCluts[] = {D_7B000_8017A040, D_7B000_8017A040};
|
||||
static s32 g_HandId = HAND_ID;
|
||||
#include "shared.h"
|
||||
|
||||
extern SVECTOR D_7B000_8017B0F4[LEN(D_7B000_8017A260)][4];
|
||||
@@ -389,28 +388,28 @@ void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 17; }
|
||||
int GetWeaponId(void) { return 17; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -3,7 +3,6 @@
|
||||
// Power of Sire
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_018_1.h"
|
||||
#include "gen/w_018_2.h"
|
||||
@@ -185,28 +184,28 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 18; }
|
||||
int GetWeaponId(void) { return 18; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -3,7 +3,6 @@
|
||||
// Neutron bomb
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_019_1.h"
|
||||
#include "gen/w_019_2.h"
|
||||
@@ -125,28 +124,28 @@ void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 19; }
|
||||
int GetWeaponId(void) { return 19; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -3,7 +3,6 @@
|
||||
// Karma Coin
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_020_1.h"
|
||||
#include "gen/w_020_2.h"
|
||||
@@ -25,7 +24,7 @@ extern s32 D_90000_8017AADC[];
|
||||
extern s32 D_90000_8017AB44[];
|
||||
extern s32 D_90000_8017C238;
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
Collider sp10;
|
||||
Entity* child;
|
||||
Primitive* prim;
|
||||
@@ -429,7 +428,7 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {
|
||||
void func_ptr_80170008(Entity* self) {
|
||||
if (self->ext.weapon.parent->entityId == 0) {
|
||||
DestroyEntity(self);
|
||||
return;
|
||||
@@ -467,26 +466,26 @@ static void func_ptr_80170008(Entity* self) {
|
||||
self->posY.val += self->velocityY;
|
||||
}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 20; }
|
||||
int GetWeaponId(void) { return 20; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -8,7 +8,6 @@
|
||||
// Chinese bun, Dim Sum set, Pot roast, Sirloin, Turkey, Meal ticket
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_021_1.h"
|
||||
#include "gen/w_021_2.h"
|
||||
@@ -215,7 +214,7 @@ s32 func_97000_8017AF2C(Entity* self, s32 arg1) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
Collider sp10;
|
||||
s16 xShift;
|
||||
s16 yShift;
|
||||
@@ -530,28 +529,28 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 21; }
|
||||
int GetWeaponId(void) { return 21; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -3,7 +3,6 @@
|
||||
// Magic Missile
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_022_1.h"
|
||||
#include "gen/w_022_2.h"
|
||||
@@ -108,28 +107,28 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 22; }
|
||||
int GetWeaponId(void) { return 22; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -3,7 +3,6 @@
|
||||
// Herald shield, Unknown#207
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "gen/w_023_1.h"
|
||||
#include "gen/w_023_2.h"
|
||||
#define g_Animset w_023_1
|
||||
@@ -21,7 +20,7 @@ extern s32 D_A5000_8017AC50[];
|
||||
extern SVECTOR* D_A5000_8017AC90[];
|
||||
extern VECTOR D_A5000_8017ACD8;
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
s32 anim1;
|
||||
s32 anim2;
|
||||
s32 attackButton;
|
||||
@@ -169,17 +168,17 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 23; }
|
||||
int GetWeaponId(void) { return 23; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {
|
||||
void EntityWeaponShieldSpell(Entity* self) {
|
||||
s16 back;
|
||||
s16 front;
|
||||
s16 top;
|
||||
@@ -457,7 +456,7 @@ static void EntityWeaponShieldSpell(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {
|
||||
void func_ptr_80170024(Entity* self) {
|
||||
s32 unused1;
|
||||
s32 unusedFlag;
|
||||
SVECTOR rotation_axis;
|
||||
@@ -590,7 +589,7 @@ static void func_ptr_80170024(Entity* self) {
|
||||
|
||||
extern AnimationFrame D_A5000_8017AB58[];
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {
|
||||
void func_ptr_80170028(Entity* self) {
|
||||
|
||||
switch (self->step) {
|
||||
case 0:
|
||||
@@ -640,12 +639,12 @@ static void func_ptr_80170028(Entity* self) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -3,7 +3,6 @@
|
||||
// Dark shield, Unknown#208
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_024_1.h"
|
||||
#include "gen/w_024_2.h"
|
||||
@@ -16,7 +15,7 @@ extern AnimationFrame* D_AC000_8017AC20;
|
||||
extern s16* D_AC000_8017ACF8[];
|
||||
extern s32 D_AC000_8017AD08[];
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
s32 anim1;
|
||||
s32 anim2;
|
||||
s32 attackButton;
|
||||
@@ -177,17 +176,17 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 24; }
|
||||
int GetWeaponId(void) { return 24; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {
|
||||
void EntityWeaponShieldSpell(Entity* self) {
|
||||
Entity* unusedEnt;
|
||||
Primitive* prim;
|
||||
Primitive* prevPrim;
|
||||
@@ -530,7 +529,7 @@ static void EntityWeaponShieldSpell(Entity* self) {
|
||||
}
|
||||
|
||||
// Appears to be the entity for the rising rocks as part of the Shield Rod spell
|
||||
static void func_ptr_80170024(Entity* self) {
|
||||
void func_ptr_80170024(Entity* self) {
|
||||
Primitive* prim;
|
||||
s16 selfX;
|
||||
s16 selfY;
|
||||
@@ -636,14 +635,14 @@ static void func_ptr_80170024(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -3,7 +3,6 @@
|
||||
// Goddess shield, Unknown#209
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "gen/w_025_1.h"
|
||||
#include "gen/w_025_2.h"
|
||||
#define g_Animset w_025_1
|
||||
@@ -24,7 +23,7 @@ void func_B3000_8017AF14(const char* fmt, u_long end) {
|
||||
}
|
||||
}
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
s32 anim1;
|
||||
s32 anim2;
|
||||
s32 attackButton;
|
||||
@@ -160,17 +159,17 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 25; }
|
||||
int GetWeaponId(void) { return 25; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {
|
||||
void EntityWeaponShieldSpell(Entity* self) {
|
||||
Entity* unusedEnt;
|
||||
Primitive* prim;
|
||||
Primitive* prevPrim;
|
||||
@@ -480,7 +479,7 @@ static void EntityWeaponShieldSpell(Entity* self) {
|
||||
}
|
||||
|
||||
// Probably the dancing clouds of fog that appear with the shield spell?
|
||||
static void func_ptr_80170024(Entity* self) {
|
||||
void func_ptr_80170024(Entity* self) {
|
||||
Primitive* prim;
|
||||
s16 angle;
|
||||
s16 xSize;
|
||||
@@ -608,14 +607,14 @@ static void func_ptr_80170024(Entity* self) {
|
||||
prim->y3 = yVar - (((rsin(angle) >> 4) * ySize) >> 8);
|
||||
}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -3,7 +3,6 @@
|
||||
// Shaman shield, Unknown#210
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "gen/w_026_1.h"
|
||||
#include "gen/w_026_2.h"
|
||||
#define g_Animset w_026_1
|
||||
@@ -20,7 +19,7 @@ extern u8 D_BA000_8017AADC[];
|
||||
|
||||
extern s32 D_BA000_8017CC3C;
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
s32 anim1;
|
||||
s32 anim2;
|
||||
s32 attackButton;
|
||||
@@ -156,15 +155,15 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 26; }
|
||||
int GetWeaponId(void) { return 26; }
|
||||
|
||||
void func_BA000_8017B37C(void) {
|
||||
RECT rect;
|
||||
@@ -194,7 +193,7 @@ void func_BA000_8017B37C(void) {
|
||||
LoadImage(&rect, &g_Clut[1][0x100]);
|
||||
}
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {
|
||||
void EntityWeaponShieldSpell(Entity* self) {
|
||||
s16 back;
|
||||
s16 front;
|
||||
s16 top;
|
||||
@@ -498,7 +497,7 @@ const SVECTOR D_BA000_8017AB94 = {56, 28, 0};
|
||||
|
||||
// When casting the Shaman Shield spell with the Shield Rod, an animation plays
|
||||
// where several stars rotate in 3D around Alucard. This handles that rotation.
|
||||
static void func_ptr_80170024(Entity* self) {
|
||||
void func_ptr_80170024(Entity* self) {
|
||||
SVECTOR rotation_axis;
|
||||
VECTOR transfer_vector;
|
||||
MATRIX m;
|
||||
@@ -693,14 +692,14 @@ static void func_ptr_80170024(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -3,7 +3,6 @@
|
||||
// Medusa shield, Unknown#211
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "gen/w_027_1.h"
|
||||
#include "gen/w_027_2.h"
|
||||
#define g_Animset w_027_1
|
||||
@@ -38,7 +37,7 @@ static void DebugInputWait(const char* msg) {
|
||||
}
|
||||
|
||||
// Duplicate of Weapon 28!
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
s32 anim = 0;
|
||||
bool crouchCheck = false;
|
||||
s32 attackButton;
|
||||
@@ -172,17 +171,17 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 27; }
|
||||
int GetWeaponId(void) { return 27; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {
|
||||
void EntityWeaponShieldSpell(Entity* self) {
|
||||
Primitive* prim;
|
||||
s16 selfPosX;
|
||||
s16 selfPosY;
|
||||
@@ -323,7 +322,7 @@ static void EntityWeaponShieldSpell(Entity* self) {
|
||||
return;
|
||||
}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {
|
||||
void func_ptr_80170024(Entity* self) {
|
||||
Primitive* prim;
|
||||
Primitive* basePrim;
|
||||
s16 angle;
|
||||
@@ -555,7 +554,7 @@ static void func_ptr_80170024(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {
|
||||
void func_ptr_80170028(Entity* self) {
|
||||
Entity* parent = self->ext.medshieldlaser.parent;
|
||||
if (parent->entityId == 0) {
|
||||
DestroyEntity(self);
|
||||
@@ -581,12 +580,12 @@ static void func_ptr_80170028(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -3,7 +3,6 @@
|
||||
// Skull shield, Unknown#212
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_028_1.h"
|
||||
#include "gen/w_028_2.h"
|
||||
@@ -15,7 +14,7 @@ extern s8 D_C8000_8017AA98[];
|
||||
extern s32 D_C8000_8017AAE0[];
|
||||
extern s32 D_C8000_8017AB1C[];
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
s32 anim = 0;
|
||||
bool crouchCheck = false;
|
||||
s32 attackButton;
|
||||
@@ -149,15 +148,15 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 28; }
|
||||
int GetWeaponId(void) { return 28; }
|
||||
|
||||
extern s16 D_C8000_8017AB18;
|
||||
extern s16 D_C8000_8017AB1A;
|
||||
@@ -190,7 +189,7 @@ void func_C8000_8017B3D4(void) {
|
||||
LoadImage(&rect, &g_Clut[1][0x100]);
|
||||
}
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {
|
||||
void EntityWeaponShieldSpell(Entity* self) {
|
||||
s32 i;
|
||||
s16 left;
|
||||
s16 right;
|
||||
@@ -515,7 +514,7 @@ static void EntityWeaponShieldSpell(Entity* self) {
|
||||
func_C8000_8017B3D4();
|
||||
}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {
|
||||
void func_ptr_80170024(Entity* self) {
|
||||
Primitive* prim;
|
||||
s32 xShift;
|
||||
s16 selfPosX;
|
||||
@@ -659,14 +658,14 @@ static void func_ptr_80170024(Entity* self) {
|
||||
return;
|
||||
}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+28
-15
@@ -4,7 +4,6 @@
|
||||
// Fire shield, Unknown#213
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_029_1.h"
|
||||
#include "gen/w_029_2.h"
|
||||
@@ -19,9 +18,23 @@ extern u16 D_CF000_8017ACF8[];
|
||||
extern u16 D_CF000_8017AD04[];
|
||||
extern u16 D_CF000_8017AD10[];
|
||||
extern AnimationFrame D_CF000_8017AD24[];
|
||||
|
||||
typedef struct {
|
||||
f32 posX;
|
||||
f32 posY;
|
||||
s16 unk8;
|
||||
u16 unkA;
|
||||
s16 unkC;
|
||||
s16 unkE;
|
||||
s16 unk10;
|
||||
s16 spawnDelay;
|
||||
s16 unk14;
|
||||
s16 state;
|
||||
} FireShieldDragon;
|
||||
|
||||
extern FireShieldDragon D_CF000_8017C9A0[][20];
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
s32 anim;
|
||||
s32 handButton;
|
||||
s32 unkAC_offset;
|
||||
@@ -183,17 +196,17 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
self->ext.weapon.unk80 + D_CF000_8017AD04[g_GameTimer / 2 % 5];
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 29; }
|
||||
int GetWeaponId(void) { return 29; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {
|
||||
void EntityWeaponShieldSpell(Entity* self) {
|
||||
Primitive* prim;
|
||||
s32 var_v0;
|
||||
u16 selfX;
|
||||
@@ -343,7 +356,7 @@ static void EntityWeaponShieldSpell(Entity* self) {
|
||||
return;
|
||||
}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {
|
||||
void func_ptr_80170024(Entity* self) {
|
||||
// All these variables are kind of guessing names, behavior of this
|
||||
// function is a little unclear.
|
||||
Primitive* firstPrim;
|
||||
@@ -553,7 +566,7 @@ static void func_ptr_80170024(Entity* self) {
|
||||
g_api.CreateEntFactoryFromEntity(self, ((g_HandId + 1) << 14) + 100, 0);
|
||||
}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {
|
||||
void func_ptr_80170028(Entity* self) {
|
||||
if (self->ext.weapon.parent->entityId == 0) {
|
||||
DestroyEntity(self);
|
||||
return;
|
||||
@@ -572,12 +585,12 @@ static void func_ptr_80170028(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+11
-13
@@ -1,10 +1,8 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
// Weapon ID #30. Used by weapons:
|
||||
// Sword of Dawn, Unknown#177
|
||||
#define FUNC_04_VOID
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_030_1.h"
|
||||
#include "gen/w_030_2.h"
|
||||
@@ -25,7 +23,7 @@ extern u16 D_D6000_8017A660[];
|
||||
extern s16 D_D6000_8017A66C[16];
|
||||
extern s32 D_D6000_8017CC44;
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
WeaponAnimation* anim;
|
||||
WeaponAnimation* anim2;
|
||||
s8 animIndex;
|
||||
@@ -994,22 +992,22 @@ s32 func_ptr_80170010(Entity* self) {
|
||||
self->hitboxHeight = hitboxSize;
|
||||
}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 30; }
|
||||
int GetWeaponId(void) { return 30; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -3,7 +3,6 @@
|
||||
// Basilard, Unknown#174
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_031_1.h"
|
||||
#include "gen/w_031_2.h"
|
||||
@@ -72,28 +71,28 @@ void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 31; }
|
||||
int GetWeaponId(void) { return 31; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -3,7 +3,6 @@
|
||||
// Combat knife, Unknown#175
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_032_1.h"
|
||||
#include "gen/w_032_2.h"
|
||||
@@ -82,28 +81,28 @@ void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 32; }
|
||||
int GetWeaponId(void) { return 32; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -3,7 +3,6 @@
|
||||
// Nunchaku
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_033_1.h"
|
||||
#include "gen/w_033_2.h"
|
||||
@@ -67,28 +66,28 @@ void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 33; }
|
||||
int GetWeaponId(void) { return 33; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+15
-16
@@ -91,11 +91,10 @@ static WeaponAnimation D_F2000_8017A934[] = {
|
||||
{D_F2000_8017A918, D_F2000_8017A8B4, 0, SFX_WEAPON_SWISH_B, 0x92, 0x04, 0}};
|
||||
|
||||
static u16* g_WeaponCluts[] = {(u16*)D_F2000_8017A784, (u16*)D_F2000_8017A784};
|
||||
static s32 g_HandId = HAND_ID;
|
||||
|
||||
#include "shared.h"
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
WeaponAnimation* anim;
|
||||
s8 animIndex;
|
||||
|
||||
@@ -145,7 +144,7 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
self->rotPivotY = PLAYER.rotPivotY;
|
||||
}
|
||||
|
||||
static s32 func_ptr_80170004(Entity* self) {
|
||||
s32 func_ptr_80170004(Entity* self) {
|
||||
s16 xDist;
|
||||
s16 yDist;
|
||||
s16 offsetY;
|
||||
@@ -261,28 +260,28 @@ static s32 func_ptr_80170004(Entity* self) {
|
||||
return;
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 34; }
|
||||
int GetWeaponId(void) { return 34; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-16
@@ -54,11 +54,9 @@ static WeaponAnimation g_WeaponAnims[] = {
|
||||
|
||||
static u16* g_WeaponCluts[] = {(u16*)pal0, (u16*)pal0};
|
||||
|
||||
static s32 g_HandId = HAND_ID;
|
||||
|
||||
#include "shared.h"
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
WeaponAnimation* anim;
|
||||
s8 animIndex;
|
||||
|
||||
@@ -111,28 +109,28 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 35; }
|
||||
int GetWeaponId(void) { return 35; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -3,7 +3,6 @@
|
||||
// Takemitsu
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_036_1.h"
|
||||
#include "gen/w_036_2.h"
|
||||
@@ -12,7 +11,7 @@ extern s32 g_HandId;
|
||||
|
||||
extern WeaponAnimation D_100000_8017A540[];
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
WeaponAnimation* anim;
|
||||
s8 animIndex;
|
||||
|
||||
@@ -64,28 +63,28 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 36; }
|
||||
int GetWeaponId(void) { return 36; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -71,7 +71,6 @@ static AnimationFrame D_107000_8017A798[] = {
|
||||
{0x0004, 0x0014}, {0x0007, 0x0015}, {0x0006, 0x0016}, {0x0003, 0x0017},
|
||||
{0x0003, 0x0018}, {0x0006, 0x0019}, {0x0002, 0x0015}, {0x0000, 0x0000}};
|
||||
static u16* g_WeaponCluts[] = {pal_0, pal_0};
|
||||
static s32 g_HandId = HAND_ID;
|
||||
|
||||
s32 D_107000_8017BBE4;
|
||||
Point16 D_107000_8017BBE8[0x50];
|
||||
@@ -79,7 +78,7 @@ s32 D_107000_8017BD28;
|
||||
|
||||
#include "shared.h"
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
WeaponAnimation* anim;
|
||||
s8 animIndex;
|
||||
|
||||
@@ -383,7 +382,7 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {
|
||||
void func_ptr_80170008(Entity* self) {
|
||||
Collider collider;
|
||||
s16 distX;
|
||||
s16 distY;
|
||||
@@ -465,26 +464,26 @@ static void func_ptr_80170008(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 37; }
|
||||
int GetWeaponId(void) { return 37; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -3,7 +3,6 @@
|
||||
// Rapier, Unknown#191
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_038_1.h"
|
||||
#include "gen/w_038_2.h"
|
||||
@@ -13,7 +12,7 @@ extern s32 g_HandId;
|
||||
|
||||
extern WeaponAnimation D_10E000_8017ADC0[2];
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
WeaponAnimation* anim;
|
||||
s8 animIndex;
|
||||
|
||||
@@ -184,28 +183,28 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 38; }
|
||||
int GetWeaponId(void) { return 38; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -3,7 +3,6 @@
|
||||
// Were Bane, Unknown#190
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_039_1.h"
|
||||
#include "gen/w_039_2.h"
|
||||
@@ -13,7 +12,7 @@ extern s32 g_HandId;
|
||||
|
||||
extern WeaponAnimation D_115000_8017ADC0[2];
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
WeaponAnimation* anim;
|
||||
s8 animIndex;
|
||||
|
||||
@@ -236,28 +235,28 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 39; }
|
||||
int GetWeaponId(void) { return 39; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -74,7 +74,6 @@ static FrameProperty hitboxes[] = {
|
||||
{4, 1, 10, 4}, {0, 0, 3, 3}, {-63, -63, 0, 0}};
|
||||
static s32 speed_mod[] = {FIX(0.875), FIX(1), FIX(0.75), FIX(1.125)};
|
||||
static u16* g_WeaponCluts[] = {pal_0};
|
||||
static s32 g_HandId = HAND_ID;
|
||||
static s32 D_11C000_8017B540;
|
||||
|
||||
#include "shared.h"
|
||||
@@ -96,7 +95,7 @@ void func_11C000_8017AC14(void) {
|
||||
LoadImage(&rect, (u_long*)dst);
|
||||
}
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
Collider col;
|
||||
s32 var_a2;
|
||||
s16 xMod;
|
||||
@@ -245,7 +244,7 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
func_11C000_8017AC14();
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {
|
||||
void func_ptr_80170008(Entity* self) {
|
||||
s32 var_a1;
|
||||
|
||||
if (self->step == 0) {
|
||||
@@ -282,7 +281,7 @@ static void func_ptr_80170008(Entity* self) {
|
||||
g_api.UpdateAnim(hitboxes, NULL);
|
||||
}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {
|
||||
void func_ptr_8017000C(Entity* self) {
|
||||
if (self->step == 0) {
|
||||
self->animSet = self->ext.weapon.parent->animSet;
|
||||
self->unk5A = self->ext.weapon.parent->unk5A;
|
||||
@@ -298,24 +297,24 @@ static void func_ptr_8017000C(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 40; }
|
||||
int GetWeaponId(void) { return 40; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -136,7 +136,6 @@ static s32 D_123000_8017A54C[] = {
|
||||
};
|
||||
|
||||
static u16* g_WeaponCluts[] = {D_123000_8017A284};
|
||||
static s32 g_HandId = HAND_ID;
|
||||
|
||||
#include "shared.h"
|
||||
|
||||
@@ -400,28 +399,28 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
func_123000_8017A914();
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 41; }
|
||||
int GetWeaponId(void) { return 41; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -3,7 +3,6 @@
|
||||
// Monster vial 3
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_042_1.h"
|
||||
#include "gen/w_042_2.h"
|
||||
@@ -65,7 +64,7 @@ void func_12A000_8017AC08(void) {
|
||||
LoadImage(&rect, (u_long*)dst);
|
||||
}
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
Collider col;
|
||||
s32 var_a2;
|
||||
s16 xMod;
|
||||
@@ -216,7 +215,7 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
func_12A000_8017AC08();
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {
|
||||
void func_ptr_80170008(Entity* self) {
|
||||
s16 unk;
|
||||
s32 modX;
|
||||
|
||||
@@ -278,7 +277,7 @@ static void func_ptr_80170008(Entity* self) {
|
||||
g_api.UpdateAnim(D_12A000_8017A6DC, NULL);
|
||||
}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {
|
||||
void func_ptr_8017000C(Entity* self) {
|
||||
if (self->step == 0) {
|
||||
self->animSet = self->ext.weapon.parent->animSet;
|
||||
self->unk5A = self->ext.weapon.parent->unk5A;
|
||||
@@ -294,24 +293,24 @@ static void func_ptr_8017000C(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 42; }
|
||||
int GetWeaponId(void) { return 42; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -129,11 +129,10 @@ static WeaponAnimation weaponAnims[] = {
|
||||
{animGroup0, hitboxes, 0, SFX_ALUCARD_SWORD_SWISH, 0x41, 0x04},
|
||||
{animGroup0, hitboxes, 0, SFX_ALUCARD_SWORD_SWISH, 0x41, 0x04}};
|
||||
static u16* g_WeaponCluts[] = {pal_0, pal_1, pal_2, pal_3, pal_4};
|
||||
static s32 g_HandId = HAND_ID;
|
||||
|
||||
#include "shared.h"
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
s8 animIndex = (self->params & 0x7FFF) >> 8;
|
||||
WeaponAnimation* anim = &weaponAnims[animIndex];
|
||||
Primitive* prim;
|
||||
@@ -324,7 +323,7 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
self->rotPivotY = PLAYER.rotPivotY;
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {
|
||||
void func_ptr_80170008(Entity* self) {
|
||||
if (self->step == 0) {
|
||||
self->anim = D_131000_8017AF40;
|
||||
SetSpriteBank1(g_Animset);
|
||||
@@ -366,26 +365,26 @@ static void func_ptr_80170008(Entity* self) {
|
||||
self->rotPivotY = PLAYER.rotPivotY;
|
||||
}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 43; }
|
||||
int GetWeaponId(void) { return 43; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -107,7 +107,6 @@ static s32 D_138000_8017A260[] = {
|
||||
0x800, 0x900, 0xA00, 0xB00, 0xC00, 0xD00, 0xE00, 0xF00};
|
||||
|
||||
static u16* g_WeaponCluts[] = {D_138000_8017A040};
|
||||
static s32 g_HandId = HAND_ID;
|
||||
|
||||
#include "shared.h"
|
||||
|
||||
@@ -341,28 +340,28 @@ void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 44; }
|
||||
int GetWeaponId(void) { return 44; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+15
-17
@@ -1,7 +1,6 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
// Weapon ID #45. Used by weapons:
|
||||
// Unknown#216
|
||||
#define FUNC_0C_S32
|
||||
#include "weapon_private.h"
|
||||
#include "gen/w_045_1.h"
|
||||
#include "gen/w_045_2.h"
|
||||
@@ -16,7 +15,6 @@ static u16 D_13F000_8017A330[N_ARRAY_PAL][COLORS_PER_PAL] = {
|
||||
0x80DD, 0xAA5F, 0x84D1, 0x98C6, 0xB5AD, 0xC631, 0x8421}};
|
||||
|
||||
static u16* g_WeaponCluts[] = {D_13F000_8017A330};
|
||||
static s32 g_HandId = HAND_ID;
|
||||
|
||||
#include "shared.h"
|
||||
|
||||
@@ -53,7 +51,7 @@ int func_13F000_8017A718() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
SetSpriteBank1(w_045_1);
|
||||
if (g_HandId != 0) {
|
||||
g_CurrentEntity->animSet = ANIMSET_OVL(0x12);
|
||||
@@ -81,7 +79,7 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
LoadWeaponPalette(0);
|
||||
}
|
||||
|
||||
static s32 func_ptr_80170004(Entity* self) {
|
||||
s32 func_ptr_80170004(Entity* self) {
|
||||
SetSpriteBank1(w_045_1);
|
||||
if (g_HandId != 0) {
|
||||
g_CurrentEntity->animSet = ANIMSET_OVL(0x12);
|
||||
@@ -156,7 +154,7 @@ static s32 func_ptr_80170004(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {
|
||||
void func_ptr_80170008(Entity* self) {
|
||||
SetSpriteBank1(w_045_1);
|
||||
if (g_HandId != 0) {
|
||||
g_CurrentEntity->animSet = ANIMSET_OVL(0x12);
|
||||
@@ -213,7 +211,7 @@ static void func_ptr_80170008(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static s32 func_ptr_8017000C(Entity* self) {
|
||||
s32 func_ptr_8017000C(Entity* self) {
|
||||
SetSpriteBank1(w_045_1);
|
||||
if (g_HandId != 0) {
|
||||
g_CurrentEntity->animSet = ANIMSET_OVL(0x12);
|
||||
@@ -277,7 +275,7 @@ static s32 func_ptr_8017000C(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {
|
||||
s32 func_ptr_80170010(Entity* self) {
|
||||
D_13F000_8017B3BC += 0x80;
|
||||
SetSpriteBank1(w_045_1);
|
||||
if (g_HandId != 0) {
|
||||
@@ -359,22 +357,22 @@ static s32 func_ptr_80170010(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 45; }
|
||||
int GetWeaponId(void) { return 45; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+15
-17
@@ -181,11 +181,9 @@ static s32 D_146000_8017AC10[] = {
|
||||
static u16* g_WeaponCluts[] = {
|
||||
(u16*)pal_0, (u16*)pal_2, D_146000_8017A670, (u16*)pal_1};
|
||||
|
||||
static s32 g_HandId = HAND_ID;
|
||||
|
||||
#include "shared.h"
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
Primitive* prim;
|
||||
s16 angle;
|
||||
s16 baseX, baseY;
|
||||
@@ -331,7 +329,7 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
prim->y3 = baseY - (((rsin(angle) >> 4) * temp_s5) >> 8);
|
||||
}
|
||||
|
||||
static s32 func_ptr_80170004(Entity* self) {
|
||||
s32 func_ptr_80170004(Entity* self) {
|
||||
const int PrimCount = 0x20;
|
||||
Primitive* prim;
|
||||
s16 maskedParams;
|
||||
@@ -523,28 +521,28 @@ static s32 func_ptr_80170004(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 46; }
|
||||
int GetWeaponId(void) { return 46; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -3,7 +3,6 @@
|
||||
// Dynamite
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_047_1.h"
|
||||
#include "gen/w_047_2.h"
|
||||
@@ -332,28 +331,28 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 47; }
|
||||
int GetWeaponId(void) { return 47; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+12
-13
@@ -3,7 +3,6 @@
|
||||
// Thunderbrand, Unknown#178
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_048_1.h"
|
||||
#include "gen/w_048_2.h"
|
||||
@@ -390,26 +389,26 @@ void func_ptr_80170008(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 48; }
|
||||
int GetWeaponId(void) { return 48; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+10
-11
@@ -3,7 +3,6 @@
|
||||
// Firebrand, Marsil, Unknown#179, Unknown#180
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "gen/w_049_1.h"
|
||||
#include "gen/w_049_2.h"
|
||||
#define g_Animset w_049_1
|
||||
@@ -463,7 +462,7 @@ s32 func_ptr_80170010(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {
|
||||
s32 func_ptr_80170014(Entity* self) {
|
||||
switch (self->step) {
|
||||
case 0:
|
||||
SetSpriteBank2(g_Animset2);
|
||||
@@ -498,20 +497,20 @@ static s32 func_ptr_80170014(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static int GetWeaponId(void) { return 49; }
|
||||
int GetWeaponId(void) { return 49; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+10
-11
@@ -132,7 +132,6 @@ static s16 D_162000_8017B030[] = {
|
||||
24, -14, 64, 0, 24, -14, 64, 0, 20, 2, 64, 0, 18, 14,
|
||||
48, 34, 24, -16, 64, 0, 24, -14, 64, 0, 24, 4, 48, 34};
|
||||
static u16* g_WeaponCluts[] = {pal1, pal4, pal0, pal2, pal3};
|
||||
static s32 g_HandId = HAND_ID;
|
||||
|
||||
static s32 prev_player_pose;
|
||||
static Point16 D_162000_8017CBFC[80];
|
||||
@@ -713,22 +712,22 @@ s32 func_ptr_80170010(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 50; }
|
||||
int GetWeaponId(void) { return 50; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+24
-16
@@ -167,7 +167,11 @@ static WeaponAnimation D_169000_8017AD18[] = {
|
||||
{D_169000_8017ACBC, hitboxes, 0, SFX_WEAPON_SWISH_C, 0xD6, 4},
|
||||
{D_169000_8017ACA0, hitboxes, 0, SFX_WEAPON_SWISH_C, 0xD6, 4},
|
||||
{D_169000_8017ACA0, hitboxes, 0, SFX_WEAPON_SWISH_C, 0xD6, 4},
|
||||
#if true || HAND_ID == LEFT_HAND
|
||||
{D_169000_8017ACA0, hitboxes, 0, SFX_WEAPON_SWISH_C, 0xD6, 4},
|
||||
#else
|
||||
{D_169000_8017ACA0, hitboxes, 0, SFX_WEAPON_SWISH_C, 0xA6, 4},
|
||||
#endif
|
||||
};
|
||||
|
||||
static s16 D_169000_8017AD58[] = {
|
||||
@@ -190,6 +194,12 @@ static s32 color_table[] = {
|
||||
/* 7 */ 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
s16 isFlipped;
|
||||
s16 timer;
|
||||
s16 rotation;
|
||||
} AnimProperties;
|
||||
|
||||
static AnimProperties D_169000_8017AE74[] = {
|
||||
{0, 37, 0x100}, {1, 32, 0xF00}, {0, 48, 0x000}, {1, 24, 0x080},
|
||||
{0, 37, 0xF40}, {1, 32, 0x0C0}, {0, 48, 0x000}, {1, 24, 0x140},
|
||||
@@ -203,8 +213,6 @@ static u16 D_169000_8017AEA4[] = {
|
||||
static u16* g_WeaponCluts[] = {
|
||||
D_169000_8017A950, D_169000_8017A990, D_169000_8017A9D0};
|
||||
|
||||
static s32 g_HandId = HAND_ID;
|
||||
|
||||
static s32 D_169000_8017C0E0;
|
||||
|
||||
#include "shared.h"
|
||||
@@ -286,7 +294,7 @@ void func_169000_8017B1DC(s32 arg0) {
|
||||
LoadImage(&rect, (u_long*)dst);
|
||||
}
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
WeaponAnimation* anim;
|
||||
s16 subType;
|
||||
|
||||
@@ -414,7 +422,7 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {
|
||||
void func_ptr_80170008(Entity* self) {
|
||||
AnimProperties* anim;
|
||||
Primitive* prim;
|
||||
s16 rot;
|
||||
@@ -549,26 +557,26 @@ static void func_ptr_80170008(Entity* self) {
|
||||
prim->y3 = y - (((rsin(rot) >> 4) * t) >> 9);
|
||||
}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 51; }
|
||||
int GetWeaponId(void) { return 51; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+14
-15
@@ -157,7 +157,6 @@ static u8 D_170000_8017ABF0[] = {
|
||||
};
|
||||
|
||||
static u16* g_WeaponCluts[] = {(u16*)D_170000_8017A808};
|
||||
static s32 g_HandId = HAND_ID;
|
||||
|
||||
#include "shared.h"
|
||||
|
||||
@@ -172,7 +171,7 @@ s16 D_170000_8017CBB8[NUM_UNK];
|
||||
STATIC_PAD_BSS(2);
|
||||
f32 D_170000_8017CBD0[NUM_UNK][4];
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
s32 anim;
|
||||
s32 anim2;
|
||||
s32 attackButton;
|
||||
@@ -338,17 +337,17 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 52; }
|
||||
int GetWeaponId(void) { return 52; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {
|
||||
void EntityWeaponShieldSpell(Entity* self) {
|
||||
Primitive* prim;
|
||||
s16 angle;
|
||||
s16 selfX;
|
||||
@@ -834,16 +833,16 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+12
-13
@@ -4,7 +4,6 @@
|
||||
// Unknown#193, Unknown#194
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_053_1.h"
|
||||
#include "gen/w_053_2.h"
|
||||
@@ -263,7 +262,7 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
prim->y3 = y - (((rsin(angle) >> 4) * lifetime) >> shift);
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {
|
||||
void func_ptr_80170008(Entity* self) {
|
||||
switch (self->step) {
|
||||
case 0:
|
||||
self->palette = PAL_FLAG(PAL_ALUCARD);
|
||||
@@ -477,24 +476,24 @@ void func_ptr_8017000C(Entity* self) {
|
||||
prim->y3 = y - (((rsin(angle) >> 4) * lifetime) >> shift);
|
||||
}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 53; }
|
||||
int GetWeaponId(void) { return 53; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -3,7 +3,6 @@
|
||||
// Gurthang, Unknown#195
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_054_1.h"
|
||||
#include "gen/w_054_2.h"
|
||||
@@ -185,28 +184,28 @@ void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 54; }
|
||||
int GetWeaponId(void) { return 54; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -3,7 +3,6 @@
|
||||
// Holy sword, Unknown#196
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_055_1.h"
|
||||
#include "gen/w_055_2.h"
|
||||
@@ -175,28 +174,28 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 55; }
|
||||
int GetWeaponId(void) { return 55; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -3,7 +3,6 @@
|
||||
// Muramasa
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_056_1.h"
|
||||
#include "gen/w_056_2.h"
|
||||
@@ -356,28 +355,28 @@ s32 func_ptr_80170004(Entity* self) {
|
||||
prim->y3 = y - (((rsin(angle) >> 4) * lifetime) >> shift);
|
||||
}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
static int GetWeaponId(void) { return 56; }
|
||||
int GetWeaponId(void) { return 56; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -3,7 +3,6 @@
|
||||
// Mablung Sword
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "shared.h"
|
||||
#include "gen/w_057_1.h"
|
||||
#include "gen/w_057_2.h"
|
||||
@@ -12,7 +11,7 @@ extern s32 g_HandId;
|
||||
|
||||
extern WeaponAnimation D_193000_8017B06C[];
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
WeaponAnimation* anim;
|
||||
s8 animIndex;
|
||||
|
||||
@@ -65,28 +64,28 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
s32 GetWeaponId(void) { return 0; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {}
|
||||
void EntityWeaponShieldSpell(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
+13
-14
@@ -3,7 +3,6 @@
|
||||
// Alucart shield, Unknown#215
|
||||
#include "weapon_private.h"
|
||||
extern u16* g_WeaponCluts[];
|
||||
extern s32 g_HandId;
|
||||
#include "gen/w_058_1.h"
|
||||
#include "gen/w_058_2.h"
|
||||
#define g_Animset w_058_1
|
||||
@@ -15,7 +14,7 @@ extern s8 D_19A000_8017AB3C;
|
||||
extern AnimationFrame* D_19A000_8017AB84;
|
||||
extern s32 D_19A000_8017BB40;
|
||||
|
||||
static void EntityWeaponAttack(Entity* self) {
|
||||
void EntityWeaponAttack(Entity* self) {
|
||||
s32 anim1;
|
||||
s32 anim2;
|
||||
s32 attackButton;
|
||||
@@ -153,17 +152,17 @@ static void EntityWeaponAttack(Entity* self) {
|
||||
|
||||
s32 func_ptr_80170004(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170008(Entity* self) {}
|
||||
void func_ptr_80170008(Entity* self) {}
|
||||
|
||||
static void func_ptr_8017000C(Entity* self) {}
|
||||
void func_ptr_8017000C(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170010(Entity* self) {}
|
||||
s32 func_ptr_80170010(Entity* self) {}
|
||||
|
||||
static s32 func_ptr_80170014(Entity* self) {}
|
||||
s32 func_ptr_80170014(Entity* self) {}
|
||||
|
||||
s32 GetWeaponId(void) { return 52; }
|
||||
|
||||
static void EntityWeaponShieldSpell(Entity* self) {
|
||||
void EntityWeaponShieldSpell(Entity* self) {
|
||||
Primitive* prim;
|
||||
s16 primRight;
|
||||
s16 primLeft;
|
||||
@@ -352,16 +351,16 @@ static void EntityWeaponShieldSpell(Entity* self) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_ptr_80170024(Entity* self) {}
|
||||
void func_ptr_80170024(Entity* self) {}
|
||||
|
||||
static void func_ptr_80170028(Entity* self) {}
|
||||
void func_ptr_80170028(Entity* self) {}
|
||||
|
||||
static void WeaponUnused2C(void) {}
|
||||
void WeaponUnused2C(void) {}
|
||||
|
||||
static void WeaponUnused30(void) {}
|
||||
void WeaponUnused30(void) {}
|
||||
|
||||
static void WeaponUnused34(void) {}
|
||||
void WeaponUnused34(void) {}
|
||||
|
||||
static void WeaponUnused38(void) {}
|
||||
void WeaponUnused38(void) {}
|
||||
|
||||
static void WeaponUnused3C(void) {}
|
||||
void WeaponUnused3C(void) {}
|
||||
@@ -0,0 +1,54 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
#include <weapon.h>
|
||||
|
||||
void EntityWeaponAttack(Entity* self);
|
||||
void func_ptr_80170004(Entity* self);
|
||||
void func_ptr_80170008(Entity* self);
|
||||
void func_ptr_8017000C(Entity* self);
|
||||
void func_ptr_80170010(void);
|
||||
void func_ptr_80170014(Entity* self);
|
||||
int GetWeaponId(void);
|
||||
void LoadWeaponPalette(s32 clutIndex);
|
||||
void EntityWeaponShieldSpell(Entity* self);
|
||||
void func_ptr_80170024(Entity* self);
|
||||
void func_ptr_80170028(Entity* self);
|
||||
|
||||
void WeaponUnused2C(void);
|
||||
void WeaponUnused30(void);
|
||||
void WeaponUnused34(void);
|
||||
void WeaponUnused38(void);
|
||||
void WeaponUnused3C(void);
|
||||
|
||||
Weapon WeaponOverlay = {
|
||||
EntityWeaponAttack, func_ptr_80170004, func_ptr_80170008,
|
||||
func_ptr_8017000C, func_ptr_80170010, func_ptr_80170014,
|
||||
GetWeaponId, LoadWeaponPalette, EntityWeaponShieldSpell,
|
||||
func_ptr_80170024, func_ptr_80170028, WeaponUnused2C,
|
||||
WeaponUnused30, WeaponUnused34, WeaponUnused38,
|
||||
WeaponUnused3C,
|
||||
};
|
||||
|
||||
#ifdef VERSION_PSP
|
||||
// TODO: this should be WEAPON0_PTR
|
||||
#ifdef WEAPON0
|
||||
extern void D_8017A000[];
|
||||
#define WEAPON_PTR D_8017A000
|
||||
#else
|
||||
extern void D_8017D000[];
|
||||
#define WEAPON_PTR D_8017D000
|
||||
#endif
|
||||
|
||||
void WeaponLoad(void) { memcpy(&WEAPON_PTR, &WeaponOverlay, sizeof(Weapon)); }
|
||||
#endif // VERSION_PSP
|
||||
|
||||
#ifdef VERSION_PC
|
||||
#include <psyz/module.h>
|
||||
#include <string.h>
|
||||
|
||||
void Psyz_ModuleStart(void* param) {
|
||||
Weapon* o = param;
|
||||
memcpy(o, &WeaponOverlay, sizeof(Weapon));
|
||||
}
|
||||
|
||||
void Psyz_ModuleStop(void) {}
|
||||
#endif // VERSION_PC
|
||||
+14
-87
@@ -8,6 +8,15 @@
|
||||
#define WEAPON0 // forces WEAPON0 for the time being
|
||||
#endif
|
||||
|
||||
// macros for including assets dynamically based
|
||||
// on HAND_ID.
|
||||
//
|
||||
// PSP keeps a separate copy of the generated animsets per hand.
|
||||
// clang-format off
|
||||
#define inner_path(hand, n) CPP_STR(PATH_JOIN(gen/w##hand, n))
|
||||
// clang-format on
|
||||
#define path(hand, n) inner_path(hand, n)
|
||||
|
||||
// Used in weapon/w_046, weapon/w_053, weapon/w_056
|
||||
typedef struct {
|
||||
/* 0x0 */ s16 uFlag; // flipX
|
||||
@@ -21,36 +30,17 @@ typedef struct {
|
||||
/* 0xD */ u8 unused;
|
||||
} WeaponParams;
|
||||
|
||||
// Used in weapon/w_051
|
||||
typedef struct {
|
||||
s16 isFlipped;
|
||||
s16 timer;
|
||||
s16 rotation;
|
||||
} AnimProperties;
|
||||
|
||||
// Used in weapon/w_029
|
||||
typedef struct {
|
||||
f32 posX;
|
||||
f32 posY;
|
||||
s16 unk8;
|
||||
u16 unkA;
|
||||
s16 unkC;
|
||||
s16 unkE;
|
||||
s16 unk10;
|
||||
s16 spawnDelay;
|
||||
s16 unk14;
|
||||
s16 state;
|
||||
} FireShieldDragon;
|
||||
|
||||
#if defined(WEAPON0)
|
||||
#define HAND_ID 0
|
||||
#define HAND_ID LEFT_HAND
|
||||
#elif defined(WEAPON1)
|
||||
#define HAND_ID 1
|
||||
#define HAND_ID RIGHT_HAND
|
||||
#else
|
||||
#warning "WEAPON0 or WEAPON1 not specified. Falling back to WEAPON0."
|
||||
#define HAND_ID 0
|
||||
#define HAND_ID LEFT_HAND
|
||||
#endif
|
||||
|
||||
extern s32 g_HandId;
|
||||
|
||||
// Weapon Factories all encode `g_HandId` at the top of the params
|
||||
#define WFACTORY(id, param) (((g_HandId + 1) << 12) + FACTORY(id, param))
|
||||
|
||||
@@ -60,67 +50,4 @@ typedef struct {
|
||||
// addition operation and is required for all other instances.
|
||||
#define WFACTORY2(id, param) FACTORY(((g_HandId + 1) << 12) + (id), (param))
|
||||
|
||||
// PSP builds one overlay per weapon per hand, so each w*_*.c declares its own
|
||||
// entry points and overlay table rather than sharing the ones below.
|
||||
#ifndef VERSION_PSP
|
||||
// exported
|
||||
static void EntityWeaponAttack(Entity* self);
|
||||
static void LoadWeaponPalette(s32 clutIndex);
|
||||
#ifndef FUNC_04_VOID
|
||||
static s32 func_ptr_80170004(Entity* self);
|
||||
#else
|
||||
static void func_ptr_80170004(Entity* self);
|
||||
#endif
|
||||
static void func_ptr_80170008(Entity* self);
|
||||
#ifdef FUNC_0C_S32
|
||||
static s32 func_ptr_8017000C(Entity* self);
|
||||
#else
|
||||
static void func_ptr_8017000C(Entity* self);
|
||||
#endif
|
||||
static s32 func_ptr_80170010(Entity* self);
|
||||
static s32 func_ptr_80170014(Entity* self);
|
||||
static int GetWeaponId(void);
|
||||
#ifdef SHIELDSPELL_S32
|
||||
static s32 EntityWeaponShieldSpell(Entity* self);
|
||||
#else
|
||||
static void EntityWeaponShieldSpell(Entity* self);
|
||||
#endif
|
||||
static void func_ptr_80170024(Entity* self);
|
||||
static void func_ptr_80170028(Entity* self);
|
||||
static void WeaponUnused2C(void);
|
||||
static void WeaponUnused30(void);
|
||||
static void WeaponUnused34(void);
|
||||
static void WeaponUnused38(void);
|
||||
static void WeaponUnused3C(void);
|
||||
|
||||
void DestroyEntity(Entity* entity);
|
||||
static void SetSpriteBank1(SpriteParts* animset);
|
||||
static void SetSpriteBank2(SpriteParts* animset);
|
||||
static void DecelerateX(s32 amount);
|
||||
static void DecelerateY(s32 amount);
|
||||
static void SetSpeedX(s32 speed);
|
||||
|
||||
static Weapon header = {
|
||||
EntityWeaponAttack, func_ptr_80170004, func_ptr_80170008,
|
||||
func_ptr_8017000C, func_ptr_80170010, func_ptr_80170014,
|
||||
GetWeaponId, LoadWeaponPalette, EntityWeaponShieldSpell,
|
||||
func_ptr_80170024, func_ptr_80170028, WeaponUnused2C,
|
||||
WeaponUnused30, WeaponUnused34, WeaponUnused38,
|
||||
WeaponUnused3C,
|
||||
};
|
||||
|
||||
#endif // !VERSION_PSP
|
||||
|
||||
#ifdef VERSION_PC
|
||||
#include <psyz/module.h>
|
||||
#include <string.h>
|
||||
|
||||
void Psyz_ModuleStart(void* param) {
|
||||
Weapon* o = param;
|
||||
memcpy(o, &header, sizeof(Weapon));
|
||||
}
|
||||
|
||||
void Psyz_ModuleStop(void) {}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+46
-13
@@ -7,6 +7,7 @@ from dataclasses import dataclass
|
||||
import ninja_syntax
|
||||
import os
|
||||
from pathlib import Path
|
||||
import re
|
||||
import sys
|
||||
import yaml
|
||||
|
||||
@@ -42,10 +43,20 @@ def is_hd(ver: str) -> bool:
|
||||
|
||||
def is_weapon(ovl_name: str) -> bool:
|
||||
return (
|
||||
ovl_name == "weapon" or ovl_name.startswith("w0_") or ovl_name.startswith("w1_")
|
||||
ovl_name == "weapon"
|
||||
or ovl_name == "weapon1"
|
||||
or ovl_name.startswith("w0_")
|
||||
or ovl_name.startswith("w1_")
|
||||
)
|
||||
|
||||
|
||||
def weapon_hand(ovl_name: str) -> int:
|
||||
if ovl_name == "weapon1":
|
||||
return 1
|
||||
else:
|
||||
return 0
|
||||
|
||||
|
||||
def is_servant(ovl_name: str) -> bool:
|
||||
return ovl_name.startswith("tt_")
|
||||
|
||||
@@ -391,12 +402,14 @@ def add_gfx_stage(
|
||||
)
|
||||
|
||||
|
||||
def add_gfx_weapon(nw: ninja_syntax, ver: str, base_file: str, linker_path: str):
|
||||
ovl_id = os.path.basename(base_file).strip("f_")
|
||||
def add_gfx_weapon(
|
||||
nw: ninja_syntax, ver: str, base_file: str, linker_path: str, hand_id: int
|
||||
):
|
||||
ovl_id = os.path.basename(base_file).strip("f_").strip("f1_")
|
||||
in_file = f"{base_file}.png"
|
||||
step_raw = build_path(ver, f"{base_file}.bin")
|
||||
step_elf = build_path(ver, f"weapon/f0_{ovl_id}.elf")
|
||||
step_bin = build_path(ver, f"weapon/f0_{ovl_id}.bin")
|
||||
step_elf = build_path(ver, f"weapon/f{hand_id}_{ovl_id}.elf")
|
||||
step_bin = build_path(ver, f"weapon/f{hand_id}_{ovl_id}.bin")
|
||||
nw.build(
|
||||
rule="psx-strip",
|
||||
outputs=step_bin,
|
||||
@@ -420,8 +433,7 @@ def add_gfx_weapon(nw: ninja_syntax, ver: str, base_file: str, linker_path: str)
|
||||
return step_bin
|
||||
|
||||
|
||||
def add_weapon_splat_config(nw: ninja_syntax.Writer, ver: str, splat_config):
|
||||
hand_id = 0 # hardcoded for the time being
|
||||
def add_weapon_splat_config(nw: ninja_syntax.Writer, ver: str, splat_config, hand_id):
|
||||
platform = str(splat_config["options"]["platform"])
|
||||
asset_path = str(splat_config["options"]["asset_path"])
|
||||
ld_path = str(splat_config["options"]["ld_script_path"])
|
||||
@@ -465,32 +477,48 @@ def add_weapon_splat_config(nw: ninja_syntax.Writer, ver: str, splat_config):
|
||||
if not sotn_progress_report:
|
||||
weapons.append(
|
||||
add_gfx_weapon(
|
||||
nw, ver, os.path.join(asset_path, weapon_gfx), ld_path
|
||||
nw,
|
||||
ver,
|
||||
os.path.join(asset_path, weapon_gfx),
|
||||
ld_path,
|
||||
hand_id,
|
||||
)
|
||||
)
|
||||
continue
|
||||
if segment["type"] != "code":
|
||||
continue
|
||||
weapon_id = weapon_gfx[2:]
|
||||
weapon_id = re.sub(r"^f\d*_", "", weapon_gfx)
|
||||
cpp_flags = f"-DW_{weapon_id} -DWEAPON{hand_id}"
|
||||
needs_w_init = False
|
||||
objs = []
|
||||
for subsegment in segment["subsegments"]:
|
||||
kind = subsegment[1]
|
||||
name = subsegment[2]
|
||||
if kind == "data":
|
||||
obj = add_s(nw, ver, f"{asm_path}/data/w_{weapon_id}.data.s", ld_path)
|
||||
obj = add_s(nw, ver, f"{asm_path}/data/{name}.data.s", ld_path)
|
||||
objs.append(obj)
|
||||
elif kind == "sbss":
|
||||
obj = add_s(nw, ver, f"{asm_path}/data/w_{weapon_id}.sbss.s", ld_path)
|
||||
objs.append(obj)
|
||||
elif kind == "c":
|
||||
obj = add_c(nw, ver, f"{src_path}/w_{weapon_id}.c", ld_path, cpp_flags)
|
||||
obj = add_c(nw, ver, f"{src_path}/{name}.c", ld_path, cpp_flags)
|
||||
objs.insert(0, obj) # the C file needs to always be linked first
|
||||
elif kind == ".data":
|
||||
if name == "left_hand" or name == "right_hand":
|
||||
obj = add_c(nw, ver, f"{src_path}/{name}.c", ld_path, cpp_flags)
|
||||
objs.append(obj) # the C file needs to always be linked first
|
||||
elif name == "w_init":
|
||||
# this needs to be prepended before all other objects
|
||||
needs_w_init = True
|
||||
continue
|
||||
elif kind == ".rodata":
|
||||
continue
|
||||
elif kind == ".bss":
|
||||
continue
|
||||
elif kind == "asm":
|
||||
obj = add_s(nw, ver, f"{asm_path}/{name}.s", ld_path)
|
||||
objs.append(obj)
|
||||
continue
|
||||
else:
|
||||
raise Exception(f"unknown subsegment type {kind}")
|
||||
if sotn_progress_report:
|
||||
@@ -501,6 +529,11 @@ def add_weapon_splat_config(nw: ninja_syntax.Writer, ver: str, splat_config):
|
||||
f"-T {undefined_funcs_auto_path}",
|
||||
f"-T {undefined_syms_auto_path}",
|
||||
]
|
||||
|
||||
if needs_w_init:
|
||||
obj = add_c(nw, ver, f"{src_path}/w_init.c", ld_path, cpp_flags)
|
||||
# w_init needs to come first because it's the header
|
||||
objs.insert(0, obj)
|
||||
nw.build(
|
||||
rule="psx-ld",
|
||||
outputs=step_elf,
|
||||
@@ -525,7 +558,7 @@ def add_weapon_splat_config(nw: ninja_syntax.Writer, ver: str, splat_config):
|
||||
return
|
||||
nw.build(
|
||||
rule="concat",
|
||||
outputs=build_path(ver, f"WEAPON0.BIN"),
|
||||
outputs=build_path(ver, f"WEAPON{hand_id}.BIN"),
|
||||
inputs=weapons,
|
||||
)
|
||||
|
||||
@@ -578,7 +611,7 @@ def add_splat_config(nw: ninja_syntax.Writer, ver: str, file_name: str):
|
||||
# the bespoke builder below. PSP ships each weapon as its own w0_/w1_
|
||||
# overlay, so those go through the generic overlay path instead.
|
||||
if not is_psp(ver) and is_weapon(ovl_name):
|
||||
add_weapon_splat_config(nw, ver, splat_config)
|
||||
add_weapon_splat_config(nw, ver, splat_config, weapon_hand(ovl_name))
|
||||
return
|
||||
target_path = str(splat_config["options"]["target_path"])
|
||||
asset_path = str(splat_config["options"]["asset_path"])
|
||||
|
||||
+9
-4
@@ -212,8 +212,8 @@ class DecompProgressWeaponStats:
|
||||
code_matching_prev: int
|
||||
functions_prev: int
|
||||
|
||||
def __init__(self):
|
||||
self.name = "weapon"
|
||||
def __init__(self, hand_id: int):
|
||||
self.name = f"weapon{hand_id}"
|
||||
self.exists = True
|
||||
self.code_matching = 0
|
||||
self.code_total = 0
|
||||
@@ -222,7 +222,11 @@ class DecompProgressWeaponStats:
|
||||
self.data_imported = 0
|
||||
self.data_total = 0
|
||||
for i in range(0, 59):
|
||||
stats = DecompProgressStats("weapon", f"weapon/w0_{i:03d}", "weapon")
|
||||
if hand_id == 1:
|
||||
name = self.name
|
||||
else:
|
||||
name = "weapon"
|
||||
stats = DecompProgressStats(name, f"weapon/w{hand_id}_{i:03d}", "weapon")
|
||||
if stats.exists:
|
||||
self.code_matching += stats.code_matching
|
||||
self.code_total += stats.code_total
|
||||
@@ -414,7 +418,8 @@ if __name__ == "__main__":
|
||||
progress = dict[str, DecompProgressStats]()
|
||||
progress["main"] = DecompProgressStats("main", "main")
|
||||
progress["dra"] = DecompProgressStats("dra", "dra")
|
||||
progress["weapon"] = DecompProgressWeaponStats()
|
||||
progress["weapon"] = DecompProgressWeaponStats(0)
|
||||
progress["weapon1"] = DecompProgressWeaponStats(1)
|
||||
progress["ric"] = DecompProgressStats("ric", "ric")
|
||||
progress["maria"] = DecompProgressStats("maria", "maria")
|
||||
progress["stare"] = DecompProgressStats("stare", "st/are")
|
||||
|
||||
@@ -4,6 +4,7 @@ SECTIONS {
|
||||
*(.data)
|
||||
*(.rodata)
|
||||
*(.text)
|
||||
*(.bss)
|
||||
}
|
||||
|
||||
end = .;
|
||||
|
||||
Reference in new issue
Block a user