SSBM Decomp
Loading...
Searching...
No Matches
grvenom.c File Reference
#include "grvenom.h"
#include <platform.h>
#include "gr/grcorneria.h"
#include "gr/grdisplay.h"
#include "gr/grmaterial.h"
#include "gr/grzakogenerator.h"
#include "gr/inlines.h"
#include "gr/stage.h"
#include "if/ifcoget.h"
#include "if/ifstatus.h"
#include "it/items/itarwinglaser.h"
#include "lb/lb_00B0.h"
#include "lb/lb_00F9.h"
#include "lb/lbaudio_ax.h"
#include "mp/mplib.h"
#include "pl/player.h"
#include <baselib/aobj.h>
#include <baselib/debug.h>
#include <baselib/gobj.h>
#include <baselib/gobjgxlink.h>
#include <baselib/gobjproc.h>
#include <baselib/lobj.h>
#include <baselib/random.h>
#include <baselib/sislib.h>

Data Structures

struct  grVe_Data
 Forward declaration of grVe_Data for use by multiple functions. More...
struct  grVe_ExtData
struct  grVe_TimingData
struct  grVe_Lighting
struct  grVe_GroundData
struct  VenomSpawnData

Macros

#define VE_DATA   ((grVe_ExtData*) &grVe_803E5348)

Functions

void grVenom_8020362C (void)
 grVenom_8020362C
void grVenom_80203B14 (bool arg)
void grVenom_80203B18 (void)
void grVenom_80203DD0 (void)
void grVenom_80203E80 (void)
bool grVenom_80203EA4 (void)
Ground_GObjgrVenom_80203EAC (int gobj_id)
 grVenom_80203EAC
void grVenom_80203F98 (Ground_GObj *gobj)
bool grVenom_80203FC4 (Ground_GObj *arg)
void grVenom_80203FCC (Ground_GObj *arg)
void grVenom_80203FD0 (Ground_GObj *arg)
void grVenom_80203FD4 (Ground_GObj *gobj)
bool grVenom_802040A4 (Ground_GObj *arg)
void grVenom_802040AC (Ground_GObj *arg)
void grVenom_802040B0 (Ground_GObj *arg)
enum_t Stage_80225194 (void)
void fn_802040B4 (Ground_GObj *gobj)
void grVenom_802040F0 (Ground_GObj *gobj)
 grVenom_802040F0
bool grVenom_8020427C (Ground_GObj *arg)
void grVenom_80204284 (Ground_GObj *gobj)
 grVenom_80204284
void grVenom_80204424 (Ground_GObj *arg)
void grVenom_80204428 (Ground_GObj *gobj)
bool grVenom_80204544 (Ground_GObj *arg)
void grVenom_8020454C (Ground_GObj *gobj)
void grVenom_80204B84 (Ground_GObj *arg)
void grVenom_80204B88 (Ground_GObj *gobj)
void grVenom_80204CE0 (Ground_GObj *arg)
bool grVenom_80204CE4 (Ground_GObj *arg)
void grVenom_80204CEC (Ground_GObj *gobj)
void grVenom_80204DB0 (Ground_GObj *gobj)
void grVenom_80204DD4 (Ground_GObj *gobj)
 grVenom_80204DD4 Unit: main/melee/gr/grvenom Manual expansion of HSD_JObjSetScaleX/Y without using inline functions
bool grVenom_80204EF4 (Ground_GObj *arg)
bool grVenom_80204EFC (Ground_GObj *arg)
void grVenom_80204F1C (Ground_GObj *arg)
void grVenom_80204F20 (Ground_GObj *arg0)
bool grVenom_802052D8 (Ground_GObj *arg)
void grVenom_802052E0 (Ground_GObj *gobj, Vec3 *pos)
void grVenom_802053B0 (Ground_GObj *gobj)
void grVenom_802056AC (Ground_GObj *arg)
void grVenom_802056B0 (Ground_GObj *gobj)
bool grVenom_80205750 (Ground_GObj *arg)
void grVenom_80205758 (Ground_GObj *gobj)
void grVenom_80205AD0 (Ground_GObj *arg)
void grVenom_80205AD4 (Ground_GObj *gobj)
 grVenom_80205AD4
bool grVenom_80205DF0 (Ground_GObj *arg)
s32 grVenom_80205DF8 (Vec3 *pos)
float Stage_GetBlastZoneBottomOffset (void)
 grVenom_80205E84
float Stage_GetBlastZoneLeftOffset (void)
float Stage_GetBlastZoneRightOffset (void)
float Stage_GetBlastZoneTopOffset (void)
 named stGetPlyDeadUp according to an assert in ftcamera.c
s32 grVenom_80205E84 (Vec3 *pos)
void grVenom_80205F30 (Ground_GObj *gobj)
void grVenom_80206870 (Ground_GObj *arg)
 grVenom_80205F30
void grVenom_80206874 (Ground_GObj *gobj)
 grVenom_80206874
bool grVenom_80206B68 (Ground_GObj *arg)
 grVenom_80206874
void grVenom_80206B70 (Ground_GObj *arg)
void grVenom_80206B90 (Ground_GObj *arg)
void grVenom_80206B94 (Ground_GObj *gobj)
bool grVenom_80206BBC (Ground_GObj *arg)
void grVenom_80206BC4 (Ground_GObj *gobj)
void grVenom_80206BEC (Ground_GObj *arg)
bool grVenom_80206BF0 (int arg0)
void grVenom_80206CB0 (s32 arg0)
s32 grVenom_80206D10 (s32 arg0)
DynamicsDescgrVenom_80206D74 (enum_t arg)
bool grVenom_80206D7C (Vec3 *pos, s32 arg1, HSD_JObj *arg2)

Variables

grVe_Data grVe_803E5348
u32 grVe_804D6A34
grVe_TimingDatagrVe_804D6A30
s32 grVe_804D6A38
s32 grVe_804D6A3C
s32 grVe_804D6A40
f32 grVe_804DB738
 grVenom_80203B18
f32 grVe_804DB73C
f32 grVe_804DB740
 grVenom_802053B0
f32 grVe_804DB744
f32 grVe_804DB748
f32 grVe_804DB74C
f32 grVe_804DB750
f64 grVe_804DB760
f32 grVe_804DB754
f32 grVe_804DB758
f32 grVe_804DB768
f32 grVe_804DB76C
f32 grVe_804DB770
f32 grVe_804DB774
f32 grVe_804DB778
f32 grVe_804DB77C
f32 grVe_804DB780
f32 grVe_804DB784
f32 grVe_804DB788
f32 grVe_804DB78C
f32 grVe_804DB790
f32 grVe_804DB794
f32 grVe_804DB798
f32 grVe_804DB79C
f32 grVe_804DB7A0
f32 grVe_804DB7A4
f32 grVe_804DB7A8
f32 grVe_804DB7AC
f32 grVe_804DB7B0
f32 grVe_804DB7B4
f32 grVe_804DB7B8
f32 grVe_804DB7BC
f32 grVe_804DB7C0
f32 grVe_804DB7C4
f32 grVe_804DB7C8
f32 grVe_804DB7CC
f32 grVe_804DB7D0
f32 grVe_804DB7D4
GXColor grVe_804DB7D8
 grVenom_80204B88 Updates Venom stage lighting colors based on environment state.
GXColor grVe_804DB7DC
GXColor grVe_804DB7E0
GXColor grVe_804DB7E4
int grVe_803E5380 []
 grVenom_802056B0
int grVe_803E5680 []
f32 grVe_804DB7E8
 grVenom_80205758
f64 grVe_804DB7F0
f64 grVe_804DB7F8
f64 grVe_804DB800
Vec3 grVe_803B82D0
 grVenom_80205F30
Vec3 grVe_803B82DC
char grVe_803E5524 []

Macro Definition Documentation

◆ VE_DATA

#define VE_DATA   ((grVe_ExtData*) &grVe_803E5348)

Function Documentation

◆ grVenom_8020362C()

void grVenom_8020362C ( void )

grVenom_8020362C

◆ grVenom_80203B14()

void grVenom_80203B14 ( bool arg)

◆ grVenom_80203B18()

void grVenom_80203B18 ( void )

◆ grVenom_80203DD0()

void grVenom_80203DD0 ( void )

◆ grVenom_80203E80()

void grVenom_80203E80 ( void )

◆ grVenom_80203EA4()

bool grVenom_80203EA4 ( void )

◆ grVenom_80203EAC()

Ground_GObj * grVenom_80203EAC ( int gobj_id)

grVenom_80203EAC

◆ grVenom_80203F98()

void grVenom_80203F98 ( Ground_GObj * gobj)

◆ grVenom_80203FC4()

bool grVenom_80203FC4 ( Ground_GObj * arg)

◆ grVenom_80203FCC()

void grVenom_80203FCC ( Ground_GObj * arg)

◆ grVenom_80203FD0()

void grVenom_80203FD0 ( Ground_GObj * arg)

◆ grVenom_80203FD4()

void grVenom_80203FD4 ( Ground_GObj * gobj)
Todo
Currently 99.90% match - needs minor register allocation fix

◆ grVenom_802040A4()

bool grVenom_802040A4 ( Ground_GObj * arg)

◆ grVenom_802040AC()

void grVenom_802040AC ( Ground_GObj * arg)

◆ grVenom_802040B0()

void grVenom_802040B0 ( Ground_GObj * arg)

◆ Stage_80225194()

enum_t Stage_80225194 ( void )

◆ fn_802040B4()

void fn_802040B4 ( Ground_GObj * gobj)

◆ grVenom_802040F0()

void grVenom_802040F0 ( Ground_GObj * gobj)

grVenom_802040F0

◆ grVenom_8020427C()

bool grVenom_8020427C ( Ground_GObj * arg)

◆ grVenom_80204284()

void grVenom_80204284 ( Ground_GObj * gobj)

grVenom_80204284

Todo
Currently 97.29% match - needs minor register allocation fix

◆ grVenom_80204424()

void grVenom_80204424 ( Ground_GObj * arg)

◆ grVenom_80204428()

void grVenom_80204428 ( Ground_GObj * gobj)

◆ grVenom_80204544()

bool grVenom_80204544 ( Ground_GObj * arg)

◆ grVenom_8020454C()

void grVenom_8020454C ( Ground_GObj * gobj)

◆ grVenom_80204B84()

void grVenom_80204B84 ( Ground_GObj * arg)

◆ grVenom_80204B88()

void grVenom_80204B88 ( Ground_GObj * gobj)

◆ grVenom_80204CE0()

void grVenom_80204CE0 ( Ground_GObj * arg)

◆ grVenom_80204CE4()

bool grVenom_80204CE4 ( Ground_GObj * arg)

◆ grVenom_80204CEC()

void grVenom_80204CEC ( Ground_GObj * gobj)

◆ grVenom_80204DB0()

void grVenom_80204DB0 ( Ground_GObj * gobj)

◆ grVenom_80204DD4()

void grVenom_80204DD4 ( Ground_GObj * gobj)

grVenom_80204DD4 Unit: main/melee/gr/grvenom Manual expansion of HSD_JObjSetScaleX/Y without using inline functions

◆ grVenom_80204EF4()

bool grVenom_80204EF4 ( Ground_GObj * arg)

◆ grVenom_80204EFC()

bool grVenom_80204EFC ( Ground_GObj * arg)

◆ grVenom_80204F1C()

void grVenom_80204F1C ( Ground_GObj * arg)

◆ grVenom_80204F20()

void grVenom_80204F20 ( Ground_GObj * arg0)

◆ grVenom_802052D8()

bool grVenom_802052D8 ( Ground_GObj * arg)

◆ grVenom_802052E0()

void grVenom_802052E0 ( Ground_GObj * gobj,
Vec3 * pos )

◆ grVenom_802053B0()

void grVenom_802053B0 ( Ground_GObj * gobj)

◆ grVenom_802056AC()

void grVenom_802056AC ( Ground_GObj * arg)

◆ grVenom_802056B0()

void grVenom_802056B0 ( Ground_GObj * gobj)

◆ grVenom_80205750()

bool grVenom_80205750 ( Ground_GObj * arg)

◆ grVenom_80205758()

void grVenom_80205758 ( Ground_GObj * gobj)

◆ grVenom_80205AD0()

void grVenom_80205AD0 ( Ground_GObj * arg)

◆ grVenom_80205AD4()

void grVenom_80205AD4 ( Ground_GObj * gobj)

grVenom_80205AD4

Todo
Currently 98.62% match - needs register allocation fixes

◆ grVenom_80205DF0()

bool grVenom_80205DF0 ( Ground_GObj * arg)

◆ grVenom_80205DF8()

s32 grVenom_80205DF8 ( Vec3 * pos)

◆ Stage_GetBlastZoneBottomOffset()

float Stage_GetBlastZoneBottomOffset ( void )

grVenom_80205E84

◆ Stage_GetBlastZoneLeftOffset()

float Stage_GetBlastZoneLeftOffset ( void )

◆ Stage_GetBlastZoneRightOffset()

float Stage_GetBlastZoneRightOffset ( void )

◆ Stage_GetBlastZoneTopOffset()

float Stage_GetBlastZoneTopOffset ( void )

named stGetPlyDeadUp according to an assert in ftcamera.c

◆ grVenom_80205E84()

s32 grVenom_80205E84 ( Vec3 * pos)

◆ grVenom_80205F30()

void grVenom_80205F30 ( Ground_GObj * gobj)

◆ grVenom_80206870()

void grVenom_80206870 ( Ground_GObj * arg)

◆ grVenom_80206874()

void grVenom_80206874 ( Ground_GObj * gobj)

grVenom_80206874

Todo
Currently 99.60% match - needs register allocation fixes

◆ grVenom_80206B68()

bool grVenom_80206B68 ( Ground_GObj * arg)

◆ grVenom_80206B70()

void grVenom_80206B70 ( Ground_GObj * arg)

◆ grVenom_80206B90()

void grVenom_80206B90 ( Ground_GObj * arg)

◆ grVenom_80206B94()

void grVenom_80206B94 ( Ground_GObj * gobj)

◆ grVenom_80206BBC()

bool grVenom_80206BBC ( Ground_GObj * arg)

◆ grVenom_80206BC4()

void grVenom_80206BC4 ( Ground_GObj * gobj)

◆ grVenom_80206BEC()

void grVenom_80206BEC ( Ground_GObj * arg)

◆ grVenom_80206BF0()

bool grVenom_80206BF0 ( int arg0)

◆ grVenom_80206CB0()

void grVenom_80206CB0 ( s32 arg0)

◆ grVenom_80206D10()

s32 grVenom_80206D10 ( s32 arg0)

◆ grVenom_80206D74()

DynamicsDesc * grVenom_80206D74 ( enum_t arg)

◆ grVenom_80206D7C()

bool grVenom_80206D7C ( Vec3 * pos,
s32 arg1,
HSD_JObj * arg2 )

Variable Documentation

◆ grVe_803E5348

grVe_Data grVe_803E5348
extern

◆ grVe_804D6A34

u32 grVe_804D6A34
extern

◆ grVe_804D6A30

grVe_TimingData* grVe_804D6A30
extern

◆ grVe_804D6A38

s32 grVe_804D6A38
extern

◆ grVe_804D6A3C

s32 grVe_804D6A3C
extern

◆ grVe_804D6A40

s32 grVe_804D6A40
extern

◆ grVe_804DB738

f32 grVe_804DB738
extern

grVenom_80203B18

Todo
Currently 88.51% match - needs control flow/register allocation fix Stage initialization function for Venom

◆ grVe_804DB73C

f32 grVe_804DB73C
extern

◆ grVe_804DB740

f32 grVe_804DB740
extern

grVenom_802053B0

Todo
Currently 92.15% match - needs register allocation fix Needs: grVe_804DB740 extern float

◆ grVe_804DB744

f32 grVe_804DB744
extern

◆ grVe_804DB748

f32 grVe_804DB748
extern

◆ grVe_804DB74C

f32 grVe_804DB74C
extern

◆ grVe_804DB750

f32 grVe_804DB750
extern

◆ grVe_804DB760

f64 grVe_804DB760
extern

◆ grVe_804DB754

f32 grVe_804DB754
extern

◆ grVe_804DB758

f32 grVe_804DB758
extern

◆ grVe_804DB768

f32 grVe_804DB768
extern

◆ grVe_804DB76C

f32 grVe_804DB76C
extern

◆ grVe_804DB770

f32 grVe_804DB770
extern

◆ grVe_804DB774

f32 grVe_804DB774
extern

◆ grVe_804DB778

f32 grVe_804DB778
extern

◆ grVe_804DB77C

f32 grVe_804DB77C
extern

◆ grVe_804DB780

f32 grVe_804DB780
extern

◆ grVe_804DB784

f32 grVe_804DB784
extern

◆ grVe_804DB788

f32 grVe_804DB788
extern

◆ grVe_804DB78C

f32 grVe_804DB78C
extern

◆ grVe_804DB790

f32 grVe_804DB790
extern

◆ grVe_804DB794

f32 grVe_804DB794
extern

◆ grVe_804DB798

f32 grVe_804DB798
extern

◆ grVe_804DB79C

f32 grVe_804DB79C
extern

◆ grVe_804DB7A0

f32 grVe_804DB7A0
extern

◆ grVe_804DB7A4

f32 grVe_804DB7A4
extern

◆ grVe_804DB7A8

f32 grVe_804DB7A8
extern

◆ grVe_804DB7AC

f32 grVe_804DB7AC
extern

◆ grVe_804DB7B0

f32 grVe_804DB7B0
extern

◆ grVe_804DB7B4

f32 grVe_804DB7B4
extern

◆ grVe_804DB7B8

f32 grVe_804DB7B8
extern

◆ grVe_804DB7BC

f32 grVe_804DB7BC
extern

◆ grVe_804DB7C0

f32 grVe_804DB7C0
extern

◆ grVe_804DB7C4

f32 grVe_804DB7C4
extern

◆ grVe_804DB7C8

f32 grVe_804DB7C8
extern

◆ grVe_804DB7CC

f32 grVe_804DB7CC
extern

◆ grVe_804DB7D0

f32 grVe_804DB7D0
extern

◆ grVe_804DB7D4

f32 grVe_804DB7D4
extern

◆ grVe_804DB7D8

GXColor grVe_804DB7D8
extern

grVenom_80204B88 Updates Venom stage lighting colors based on environment state.

◆ grVe_804DB7DC

GXColor grVe_804DB7DC
extern

◆ grVe_804DB7E0

GXColor grVe_804DB7E0
extern

◆ grVe_804DB7E4

GXColor grVe_804DB7E4
extern

◆ grVe_803E5380

int grVe_803E5380[]
extern

grVenom_802056B0

◆ grVe_803E5680

int grVe_803E5680[]
extern

◆ grVe_804DB7E8

f32 grVe_804DB7E8
extern

grVenom_80205758

◆ grVe_804DB7F0

f64 grVe_804DB7F0
extern

◆ grVe_804DB7F8

f64 grVe_804DB7F8
extern

◆ grVe_804DB800

f64 grVe_804DB800
extern

◆ grVe_803B82D0

Vec3 grVe_803B82D0
extern

grVenom_80205F30

Todo
First attempt at decomp; complex 592-instruction function.

◆ grVe_803B82DC

Vec3 grVe_803B82DC
extern

◆ grVe_803E5524

char grVe_803E5524[]
extern