|
SSBM Decomp
|
#include "particle.h"#include "particle.static.h"#include <math.h>#include <dolphin/gx.h>#include <dolphin/gx/GXGeometry.h>#include <dolphin/mcc.h>#include <dolphin/os.h>#include <dolphin/pad.h>#include <dolphin/vi.h>#include <baselib/cobj.h>#include <baselib/gobj.h>#include <baselib/gobjgxlink.h>#include <baselib/gobjobject.h>#include <baselib/list.h>#include <baselib/memory.h>#include <baselib/mtx.h>#include <baselib/perf.h>#include <baselib/psappsrt.h>#include <baselib/psstructs.h>#include <baselib/random.h>#include <baselib/state.h>#include <baselib/video.h>#include <MetroTRK/ppc_reg.h>#include <MSL/trigf.h>Data Structures | |
| struct | ParticleLogEntry |
| struct | ExcptNode |
| struct | EventData |
| struct | DispData |
| struct | PSNode |
| struct | GlyphEntry |
| struct | DispItem |
| struct | PerfDispItem |
| struct | EventPriority |
Macros | |
| #define | fval (*(f32*) &hsd_804D78D0) |
Typedefs | |
| typedef DispItem *(* | DispCallback) (void *) |
Functions | |
| void | DrawRectangle (f32 x_min, f32 y_min, f32 w, f32 h, GXColor *color) |
| f32 | DrawASCII (int chr, float x, float y, GXColor *color) |
| void | hsd_80391A04 (float scale_x, float scale_y, int line_width) |
| static int | hexval (int ch) |
| s32 | hsd_80391AC8 (char *str, GXColor *color, f32 x, f32 y) |
| void | hsd_80391E18 (u8 *list, f32 x1, f32 y1, f32 x2, f32 y2) |
| void | hsd_80391F28 (GXColor *color, f32 x1, f32 y1, f32 x2, f32 y2, f32 count) |
| void | hsd_80392194 (u8 *dst, s32 flags, void *unused1, void *unused2, u8 *src) |
| void | hsd_803921B8 (void *bitmap, s32 x, s32 y, s32 dst, s32 w, s32 h, s32 stride, void *tbl) |
| void | hsd_803922FC (void *bitmap, s32 x, s32 y, s32 parity, s32 dst, s32 w, s32 h, s32 stride, void *tbl) |
| void | hsd_80392474 (void) |
| HSD_SList * | fn_80392480 (Event event, int priority) |
| void | hsd_80392528 (Event event) |
| void | hsd_8039254C (void) |
| void | fn_80392934 (void) |
| void | fn_80392A08 (int mode, int scale, int enable) |
| void * | fn_80392A3C (void) |
| s32 | fn_80392CCC (s32 channel) |
| u8 | fn_80392CD8 (char *caller) |
| void | fn_80392E2C (s32 event_type) |
| void | hsd_80392E80 (void) |
| bool | hsd_803931A4 (s32 exi_channel) |
| void | fn_803932D0 (s32 type, u32 flags, s32 value) |
| s32 | hsd_80393328 (void) |
| void | hsd_80393440 (void *request, void *response) |
| void | hsd_80393840 (void) |
| void | hsd_80393844 (void) |
| bool | hsd_80393A04 (void) |
| Checks whether USB server is set up. | |
| void | hsd_80393A54 (int level) |
| int | hsd_80393A5C (char *filename, int data, int size) |
| void | fn_80393C14 (const u8 *buf, size_t size) |
| s32 | hsd_80393D2C (s32 enable) |
| void | hsd_80393DA0 (u8 *buf, size_t size) |
| void | hsd_80393E34 (s32 *col_out, s32 *row_out) |
| void | hsd_80393E68 (u32 col, u32 row) |
| void | hsd_80393EF4 (int col_delta, int row_delta) |
| u8 | hsd_80394068 (void) |
| u8 | hsd_80394128 (s32 col, s32 row) |
| s32 | hsd_803941E8 (void *xfb_out_ptr, void *xfb_cur_ptr) |
| void | hsd_80394314 (void) |
| hsd_804CF810 | |
| void | hsd_80394434 (void *text) |
| pair resolution; linked code matches 100% | |
| void | hsd_80394544 (s32 col, s32 row, u32 num_cols, u32 num_rows, s32 x, s32 y, s32 xfb_buf, s32 xfb_w, s32 xfb_h, s32 xfb_stride, s32 font_data, void *color_data) |
| void | hsd_80394668 (void) |
| void | hsd_80394950 (OSContext *ctx) |
| void | Exception_ReportStackTrace (OSContext *ctx, int max_depth) |
| void | Exception_ReportCodeline (u16 error, int dsisr, int dar, OSContext *ctx) |
| void | fn_80394DF4 (void *node_ptr) |
| void | hsd_80394E8C (void *node_ptr) |
| void | hsd_80394F48 (void *data) |
| s32 | hsd_80395550 (void *event_ptr) |
| void | hsd_80395644 (void) |
| s32 | hsd_803956D8 (void *disp_ptr) |
| void | hsd_803957C0 (u8 input) |
| s32 | hsd_80395970 (void) |
| s32 | hsd_80395A78 (void) |
| static void | ps_remove_node (struct ParticleScreenState *sp, void *node) |
| s32 | hsd_80395D88 (void *data) |
| void | hsd_80396130 (void) |
| void | hsd_80396188 (void) |
| s32 | hsd_803962A8 (void *data) |
| s32 | hsd_803966A0 (void *data) |
| void | hsd_80396868 (void) |
| void | hsd_80396884 (void) |
| s32 | hsd_80396A20 (void *data) |
| s32 | hsd_80396C78 (void *data) |
| void | hsd_80396E40 (s32 keycode) |
| void | fn_803970D8 (void) |
| void | fn_803970DC (void) |
| void | fn_803970E0 (void) |
| void | fn_803970E4 (void) |
| void | fn_803970E8 (void) |
| void | fn_803970EC (void) |
| void | fn_803970F0 (void) |
| void | fn_803970F4 (void) |
| void | fn_803970F8 (void) |
| void | fn_803970FC (void) |
| void | fn_80397100 (void) |
| void | fn_80397104 (void) |
| void | fn_80397108 (void) |
| void | fn_8039710C (void) |
| void | hsd_80397110 (void) |
| s32 | fn_80397374 (void *data) |
| void | hsd_80397520 (void *node_ptr) |
| void | hsd_803975D4 (void) |
| void * | fn_80397814 (void *arg) |
| void | hsd_80397DA4 (OSContext *ctx) |
| void | Exception_StoreDebugLevel (int level) |
| void | hsd_80397DFC (u32 size) |
| int | baselib_mfspr (int spr) |
| void | fn_803982E4 (HSD_GObj *gobj, int unused) |
| HSD_GObj * | hsd_80398310 (u16 class_id, u8 p_link, u8 obj_kind, u32 gx_link) |
| void | hsd_803983A4 (HSD_Generator *gen) |
| void | psInitDataBankLoad (int bank, int *cmdBank, int *texBank, u32 *ref, int *formBank) |
| void | psInitDataBankLocate (HSD_Archive *cmdBank, HSD_Archive *texBank, int *formBank) |
| void | psInitDataBank (int bank, int *cmdBank, int *texBank, u32 *ref, int *formBank) |
| void | hsd_80398A08 (u32 unused) |
| HSD_Particle * | hsd_80398C04 (HSD_Particle **head, int linkNo, int bank, u32 kind, u16 texGroup, u8 *list, int life, int palflag, f32 x, f32 y, f32 z, f32 vx, f32 vy, f32 vz, f32 size, f32 grav, f32 fric, HSD_Generator *gp, int flgInterpret) |
| void | hsd_80398F0C (s32 linkNo, s32 bank, s32 kind, u16 texGroup, s32 cmdList, s32 life, s32 zero, s32 gen, f32 pos_x, f32 pos_y, f32 pos_z, f32 vel_x, f32 vel_y, f32 vel_z, f32 fric, f32 rate, f32 angle3) |
| void | hsd_80398F8C (HSD_Particle *pp, f32 angle) |
| s32 | hsd_803991D8 (HSD_Generator *gen, HSD_JObj *jobj, f32 force, f32 range) |
| void * | hsd_8039930C (void *pp_arg, void *prev_arg) |
| void | hsd_8039CEAC (u32 mask) |
| void | hsd_8039CF4C (s32 index, HSD_JObj *jobj) |
| computation | |
| void | hsd_8039D048 (void *particle) |
| void | hsd_8039D0A0 (HSD_Generator *gen) |
| void | hsd_8039D1E4 (HSD_Generator *gen, void *userfunc) |
| u16 | hsd_8039D1EC (void) |
| void | hsd_8039D214 (HSD_Generator *gen) |
| void | hsd_8039D354 (u32 unused) |
| HSD_Generator * | hsd_8039D3AC (HSD_Generator *gen, HSD_Generator *prev) |
| void | hsd_8039D4DC (HSD_Generator *gen) |
| void | hsd_8039D580 (HSD_JObj *jobj) |
| void | hsd_8039D5DC (HSD_JObj *jobj) |
| void | hsd_8039D688 (HSD_JObj *jobj, f32 **unused1, s32 unused2) |
| void | hsd_8039D71C (HSD_Generator *gen) |
| HSD_Generator * | hsd_8039D9C8 (void) |
| f32 | hsd_8039DAD4 (HSD_Generator *gen) |
| void | hsd_8039EE24 (u32 mask) |
| HSD_Generator * | hsd_8039EFAC (s32 bank, s32 id, s32 link, HSD_JObj *jobj) |
| HSD_Generator * | hsd_8039F05C (s8 linkNo, s32 bank, s32 idx) |
| HSD_Generator * | hsd_8039F6CC (s32 bank, s32 id, s32 link, HSD_JObj *jobj) |
Variables | ||
| static u8 | lbl_80408630 [1] | |
| static float | lbl_804D6070 = 12.0F | |
| static float | lbl_804D6074 = 12.0F | |
| static u8 | lbl_804D6078 = 12 | |
| GlyphEntry | lbl_80408898 [4] | |
| static GXColor | lbl_804D6080 | |
| static u32 | lbl_804D6084 | |
| static const u32 | lbl_804DE8E0 = 0xFFFFFFFF | |
| static s32 | lbl_804D6088 = 4 | |
| static s32 | lbl_804D608C = 1 | |
| PerfDispItem | hsd_804CE3F8 [6] | |
| static s32 | lbl_804D6090 = -1 | |
| static s32 | lbl_804D6094 = (s32) 0xFF0000FF | |
| static s32 | lbl_804D6098 = 0x00FF00FF | |
| static s32 | lbl_804D609C = 0x00FFFFFF | |
| static s32 | lbl_804D60A0 = 0x8080FF | |
| static s32 | lbl_804D60A4 = (s32) 0xC0C000FF | |
| s32 | hsd_804CE728 [0x106] | |
| ParticleLogEntry | hsd_804CEB40 [0x100] | |
| s32 | hsd_804CF740 [42] | |
| s32 | hsd_804D78A8 | |
| s32 | hsd_804D78AC | |
| int | hsd_804D78A0 | |
| static void(* | lbl_8040A93C [32])(void *, void *) | |
| u8 | lbl_804088B8 [] | |
| u8 | lbl_8040AB40 [] | |
| u8 | lbl_8040AB00 [] | |
| u8 | lbl_8040AB20 [] | |
| u8 | lbl_8040B8AC [] | |
| u8 | lbl_8040B904 [] | |
| static char * | lbl_804D62C8 = "<<PUSH START BUTTON TO SEE INSTRUCTION>>" | |
| u8 | lbl_8040BA5C [] | |
| struct { | ||
| u8 _pad [0x10] | ||
| u32 x10 | ||
| } | lbl_8040BAF0 | |
| struct { | ||
| u8 _pad [0x10] | ||
| u32 x10 | ||
| s32 x14 | ||
| void * x18 | ||
| } | lbl_8040BC3C | |
| u8 | lbl_8040BEC4 [] | |
| static char * | lbl_804D62CC = "+- MEMORY DUMP ------------------------------+" | |
| static char * | lbl_804D62D0 = "|%08X=%08X:%08X:%08X:%08X|" | |
| static char * | lbl_804D62D4 = "+--------------------------------------------+" | |
| u8 | lbl_8040BBE8 [] | |
| static char * | lbl_804D62D8 = "\n" | |
| static char * | lbl_804D62DC = "[%08X" | |
| static char * | lbl_804D62E4 = ":" | |
| static char * | lbl_804D62E8 = "%02X" | |
| static char * | lbl_804D62F0 = "]\n" | |
| u8 | hsd_804CF8E8 [0x1000] | |
| static s8 | lbl_8040BF10 [0x32] | |
| static HSD_CObjDesc | lbl_8040BF70 = { 0 } | |
| HSD_JObj * | hsd_804D08E8 [8] | |
| static u16 | lbl_804D6368 = 0x100 | |
| #define fval (*(f32*) &hsd_804D78D0) |
| typedef DispItem *(* DispCallback) (void *) |
| void DrawRectangle | ( | f32 | x_min, |
| f32 | y_min, | ||
| f32 | w, | ||
| f32 | h, | ||
| GXColor * | color | ||
| ) |
| f32 DrawASCII | ( | int | chr, |
| float | x, | ||
| float | y, | ||
| GXColor * | color | ||
| ) |
| void hsd_80391A04 | ( | float | scale_x, |
| float | scale_y, | ||
| int | line_width | ||
| ) |
|
inlinestatic |
| s32 hsd_80391AC8 | ( | char * | str, |
| GXColor * | color, | ||
| f32 | x, | ||
| f32 | y | ||
| ) |
| void hsd_80391E18 | ( | u8 * | list, |
| f32 | x1, | ||
| f32 | y1, | ||
| f32 | x2, | ||
| f32 | y2 | ||
| ) |
| void hsd_80391F28 | ( | GXColor * | color, |
| f32 | x1, | ||
| f32 | y1, | ||
| f32 | x2, | ||
| f32 | y2, | ||
| f32 | count | ||
| ) |
| void hsd_803922FC | ( | void * | bitmap, |
| s32 | x, | ||
| s32 | y, | ||
| s32 | parity, | ||
| s32 | dst, | ||
| s32 | w, | ||
| s32 | h, | ||
| s32 | stride, | ||
| void * | tbl | ||
| ) |
| void hsd_80392474 | ( | void | ) |
| void hsd_80392528 | ( | Event | event | ) |
| void hsd_8039254C | ( | void | ) |
| void fn_80392934 | ( | void | ) |
| void fn_80392A08 | ( | int | mode, |
| int | scale, | ||
| int | enable | ||
| ) |
| void * fn_80392A3C | ( | void | ) |
| u8 fn_80392CD8 | ( | char * | caller | ) |
| void fn_80392E2C | ( | s32 | event_type | ) |
| void hsd_80392E80 | ( | void | ) |
| s32 hsd_80393328 | ( | void | ) |
| void hsd_80393440 | ( | void * | request, |
| void * | response | ||
| ) |
| void hsd_80393840 | ( | void | ) |
| void hsd_80393844 | ( | void | ) |
| bool hsd_80393A04 | ( | void | ) |
Checks whether USB server is set up.
| void hsd_80393A54 | ( | int | level | ) |
| int hsd_80393A5C | ( | char * | filename, |
| int | data, | ||
| int | size | ||
| ) |
| void hsd_80393E68 | ( | u32 | col, |
| u32 | row | ||
| ) |
| void hsd_80393EF4 | ( | int | col_delta, |
| int | row_delta | ||
| ) |
| u8 hsd_80394068 | ( | void | ) |
| s32 hsd_803941E8 | ( | void * | xfb_out_ptr, |
| void * | xfb_cur_ptr | ||
| ) |
| void hsd_80394314 | ( | void | ) |
hsd_804CF810
| void hsd_80394434 | ( | void * | text | ) |
pair resolution; linked code matches 100%
| void hsd_80394544 | ( | s32 | col, |
| s32 | row, | ||
| u32 | num_cols, | ||
| u32 | num_rows, | ||
| s32 | x, | ||
| s32 | y, | ||
| s32 | xfb_buf, | ||
| s32 | xfb_w, | ||
| s32 | xfb_h, | ||
| s32 | xfb_stride, | ||
| s32 | font_data, | ||
| void * | color_data | ||
| ) |
| void hsd_80394668 | ( | void | ) |
| void hsd_80394950 | ( | OSContext * | ctx | ) |
| void Exception_ReportStackTrace | ( | OSContext * | ctx, |
| int | max_depth | ||
| ) |
| void Exception_ReportCodeline | ( | u16 | error, |
| int | dsisr, | ||
| int | dar, | ||
| OSContext * | ctx | ||
| ) |
| void fn_80394DF4 | ( | void * | node_ptr | ) |
| void hsd_80394E8C | ( | void * | node_ptr | ) |
| void hsd_80394F48 | ( | void * | data | ) |
| s32 hsd_80395550 | ( | void * | event_ptr | ) |
| void hsd_80395644 | ( | void | ) |
| s32 hsd_803956D8 | ( | void * | disp_ptr | ) |
| void hsd_803957C0 | ( | u8 | input | ) |
| s32 hsd_80395970 | ( | void | ) |
| s32 hsd_80395A78 | ( | void | ) |
|
inlinestatic |
| s32 hsd_80395D88 | ( | void * | data | ) |
| void hsd_80396130 | ( | void | ) |
| void hsd_80396188 | ( | void | ) |
| s32 hsd_803962A8 | ( | void * | data | ) |
| s32 hsd_803966A0 | ( | void * | data | ) |
| void hsd_80396868 | ( | void | ) |
| void hsd_80396884 | ( | void | ) |
| s32 hsd_80396A20 | ( | void * | data | ) |
| s32 hsd_80396C78 | ( | void * | data | ) |
| void hsd_80396E40 | ( | s32 | keycode | ) |
| void fn_803970D8 | ( | void | ) |
| void fn_803970DC | ( | void | ) |
| void fn_803970E0 | ( | void | ) |
| void fn_803970E4 | ( | void | ) |
| void fn_803970E8 | ( | void | ) |
| void fn_803970EC | ( | void | ) |
| void fn_803970F0 | ( | void | ) |
| void fn_803970F4 | ( | void | ) |
| void fn_803970F8 | ( | void | ) |
| void fn_803970FC | ( | void | ) |
| void fn_80397100 | ( | void | ) |
| void fn_80397104 | ( | void | ) |
| void fn_80397108 | ( | void | ) |
| void fn_8039710C | ( | void | ) |
| void hsd_80397110 | ( | void | ) |
| s32 fn_80397374 | ( | void * | data | ) |
| void hsd_80397520 | ( | void * | node_ptr | ) |
| void hsd_803975D4 | ( | void | ) |
| void * fn_80397814 | ( | void * | arg | ) |
| void hsd_80397DA4 | ( | OSContext * | ctx | ) |
| void Exception_StoreDebugLevel | ( | int | level | ) |
| void hsd_80397DFC | ( | u32 | size | ) |
| int baselib_mfspr | ( | int | spr | ) |
| void fn_803982E4 | ( | HSD_GObj * | gobj, |
| int | unused | ||
| ) |
| void hsd_803983A4 | ( | HSD_Generator * | gen | ) |
| void psInitDataBankLoad | ( | int | bank, |
| int * | cmdBank, | ||
| int * | texBank, | ||
| u32 * | ref, | ||
| int * | formBank | ||
| ) |
| void psInitDataBankLocate | ( | HSD_Archive * | cmdBank, |
| HSD_Archive * | texBank, | ||
| int * | formBank | ||
| ) |
| void psInitDataBank | ( | int | bank, |
| int * | cmdBank, | ||
| int * | texBank, | ||
| u32 * | ref, | ||
| int * | formBank | ||
| ) |
| void hsd_80398A08 | ( | u32 | unused | ) |
| HSD_Particle * hsd_80398C04 | ( | HSD_Particle ** | head, |
| int | linkNo, | ||
| int | bank, | ||
| u32 | kind, | ||
| u16 | texGroup, | ||
| u8 * | list, | ||
| int | life, | ||
| int | palflag, | ||
| f32 | x, | ||
| f32 | y, | ||
| f32 | z, | ||
| f32 | vx, | ||
| f32 | vy, | ||
| f32 | vz, | ||
| f32 | size, | ||
| f32 | grav, | ||
| f32 | fric, | ||
| HSD_Generator * | gp, | ||
| int | flgInterpret | ||
| ) |
| void hsd_80398F0C | ( | s32 | linkNo, |
| s32 | bank, | ||
| s32 | kind, | ||
| u16 | texGroup, | ||
| s32 | cmdList, | ||
| s32 | life, | ||
| s32 | zero, | ||
| s32 | gen, | ||
| f32 | pos_x, | ||
| f32 | pos_y, | ||
| f32 | pos_z, | ||
| f32 | vel_x, | ||
| f32 | vel_y, | ||
| f32 | vel_z, | ||
| f32 | fric, | ||
| f32 | rate, | ||
| f32 | angle3 | ||
| ) |
| void hsd_80398F8C | ( | HSD_Particle * | pp, |
| f32 | angle | ||
| ) |
| s32 hsd_803991D8 | ( | HSD_Generator * | gen, |
| HSD_JObj * | jobj, | ||
| f32 | force, | ||
| f32 | range | ||
| ) |
| void * hsd_8039930C | ( | void * | pp_arg, |
| void * | prev_arg | ||
| ) |
| void hsd_8039CEAC | ( | u32 | mask | ) |
| void hsd_8039D048 | ( | void * | particle | ) |
| void hsd_8039D0A0 | ( | HSD_Generator * | gen | ) |
| void hsd_8039D1E4 | ( | HSD_Generator * | gen, |
| void * | userfunc | ||
| ) |
| u16 hsd_8039D1EC | ( | void | ) |
| void hsd_8039D214 | ( | HSD_Generator * | gen | ) |
| void hsd_8039D354 | ( | u32 | unused | ) |
| HSD_Generator * hsd_8039D3AC | ( | HSD_Generator * | gen, |
| HSD_Generator * | prev | ||
| ) |
| void hsd_8039D4DC | ( | HSD_Generator * | gen | ) |
| void hsd_8039D580 | ( | HSD_JObj * | jobj | ) |
| void hsd_8039D5DC | ( | HSD_JObj * | jobj | ) |
| void hsd_8039D71C | ( | HSD_Generator * | gen | ) |
| HSD_Generator * hsd_8039D9C8 | ( | void | ) |
| f32 hsd_8039DAD4 | ( | HSD_Generator * | gen | ) |
| void hsd_8039EE24 | ( | u32 | mask | ) |
| HSD_Generator * hsd_8039EFAC | ( | s32 | bank, |
| s32 | id, | ||
| s32 | link, | ||
| HSD_JObj * | jobj | ||
| ) |
| HSD_Generator * hsd_8039F05C | ( | s8 | linkNo, |
| s32 | bank, | ||
| s32 | idx | ||
| ) |
| HSD_Generator * hsd_8039F6CC | ( | s32 | bank, |
| s32 | id, | ||
| s32 | link, | ||
| HSD_JObj * | jobj | ||
| ) |
|
static |
|
static |
|
static |
|
static |
|
extern |
|
static |
|
static |
|
static |
|
static |
|
static |
| PerfDispItem hsd_804CE3F8[6] |
|
static |
|
static |
|
static |
|
static |
| s32 hsd_804CE728[0x106] |
| ParticleLogEntry hsd_804CEB40[0x100] |
| s32 hsd_804CF740[42] |
|
extern |
|
extern |
|
extern |
|
static |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
static |
|
extern |
| u8 _pad[0x10] |
| u32 x10 |
| struct { ... } lbl_8040BAF0 |
| s32 x14 |
| void* x18 |
| struct { ... } lbl_8040BC3C |
|
extern |
|
static |
|
static |
|
static |
|
extern |
|
static |
|
static |
|
static |
|
static |
|
static |
| u8 hsd_804CF8E8[0x1000] |
|
static |
|
static |
| HSD_JObj* hsd_804D08E8[8] |
|
static |