SpaghettiKart
Loading...
Searching...
No Matches
OTrashBin Class Reference

#include <TrashBin.h>

Inheritance diagram for OTrashBin:
[legend]
Collaboration diagram for OTrashBin:
[legend]

Public Types

enum  Behaviour : int16_t { STATIC , MUNCHING }
 

Public Member Functions

 OTrashBin (const SpawnParams &params)
 
virtual void Tick () override
 
virtual void Draw (s32 cameraId) override
 
void func_8007E00C (s32 objectIndex)
 
void init_bb_trash_bin (s32)
 
- Public Member Functions inherited from OObject
virtual ~OObject ()=default
 
 OObject ()
 
 OObject (SpawnParams params)
 
virtual void SetSpawnParams (SpawnParams &params)
 
virtual void Tick60fps ()
 
virtual void Expire ()
 
virtual void Destroy ()
 
virtual void Reset ()
 
FVector GetLocation () const
 
IRotator GetRotation () const
 
FVector GetScale () const
 
virtual void Translate (FVector pos)
 
void Rotate (IRotator rot)
 
void SetScale (FVector scale)
 
virtual void DrawEditorProperties ()
 

Static Public Member Functions

static OTrashBinSpawn (const FVector &pos, const IRotator &rot, f32 scale, OTrashBin::Behaviour bhv)
 

Private Attributes

Behaviour _bhv
 
FVector _pos
 
IRotator _rot
 
float _scale
 
size_t _idx
 
bool _drawBin = false
 

Static Private Attributes

static Gfx BinMod []
 
static Vtx BinVtx []
 
static Vtx BinVtx2 []
 

Additional Inherited Members

- Data Fields inherited from OObject
uint8_t uuid [16]
 
Object o
 
const char * Name = ""
 
const char * ResourceName = ""
 
bool bPendingDestroy = false
 
s32 _objectIndex = -1
 
const char * Model = ""
 
FVector SpawnPos = {0.0f, 0.0f, 0.0f}
 
IRotator SpawnRot = {0, 0, 0}
 
FVector SpawnScale = {1.0f, 1.0f, 1.0f}
 
float Speed = 0.0f
 
std::vector< TriangleTriangles
 

Member Enumeration Documentation

◆ Behaviour

enum OTrashBin::Behaviour : int16_t
Enumerator
STATIC 
MUNCHING 

Constructor & Destructor Documentation

◆ OTrashBin()

OTrashBin::OTrashBin ( const SpawnParams & params)
explicit
Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ Draw()

void OTrashBin::Draw ( s32 cameraId)
overridevirtual

Reimplemented from OObject.

Here is the call graph for this function:

◆ func_8007E00C()

void OTrashBin::func_8007E00C ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_bb_trash_bin()

void OTrashBin::init_bb_trash_bin ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Spawn()

static OTrashBin * OTrashBin::Spawn ( const FVector & pos,
const IRotator & rot,
f32 scale,
OTrashBin::Behaviour bhv )
inlinestatic
Here is the call graph for this function:

◆ Tick()

void OTrashBin::Tick ( void )
overridevirtual

Reimplemented from OObject.

Here is the call graph for this function:

Field Documentation

◆ _bhv

Behaviour OTrashBin::_bhv
private

◆ _drawBin

bool OTrashBin::_drawBin = false
private

◆ _idx

size_t OTrashBin::_idx
private

◆ _pos

FVector OTrashBin::_pos
private

◆ _rot

IRotator OTrashBin::_rot
private

◆ _scale

float OTrashBin::_scale
private

◆ BinMod

Gfx OTrashBin::BinMod
staticprivate
Initial value:
=
{
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD),
gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gTexture651B20),
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 1023, 256),
gsSPVertex(BinVtx, 20, 0),
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0),
gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0),
gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0),
gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0),
gsSPVertex(BinVtx2, 20, 0),
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0),
gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0),
gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0),
gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0),
gsDPPipeSync(),
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
gsSPTexture(65535, 65535, 0, 0, 0),
gsSPEndDisplayList(),
}
static Vtx BinVtx[]
Definition TrashBin.h:193
static Vtx BinVtx2[]
Definition TrashBin.h:216

◆ BinVtx

Vtx OTrashBin::BinVtx
staticprivate
Initial value:
= {
{{ {25, -13, 62}, 0, {0, -2303}, {255, 255, 255, 0} }},
{{ {-25, -13, 62}, 0, {1280, -2303}, {255, 255, 255, 0} }},
{{ {-25, -13, -63}, 0, {1280, 896}, {255, 255, 255, 0} }},
{{ {25, -13, -63}, 0, {0, 895}, {255, 255, 255, 0} }},
{{ {25, -13, -63}, 0, {0, 1113}, {255, 255, 255, 0} }},
{{ {25, 20, -63}, 0, {0, 256}, {255, 255, 255, 0} }},
{{ {25, 20, 62}, 0, {3199, 256}, {255, 255, 255, 0} }},
{{ {25, -13, 62}, 0, {3199, 1113}, {255, 255, 255, 0} }},
{{ {-25, -13, -63}, 0, {0, 1113}, {255, 255, 255, 0} }},
{{ {-25, 20, -63}, 0, {0, 255}, {255, 255, 255, 0} }},
{{ {25, 20, -63}, 0, {1280, 255}, {255, 255, 255, 0} }},
{{ {25, -13, -63}, 0, {1280, 1113}, {255, 255, 255, 0} }},
{{ {-25, -13, 62}, 0, {0, 1113}, {255, 255, 255, 0} }},
{{ {-25, 20, 62}, 0, {0, 255}, {255, 255, 255, 0} }},
{{ {-25, 20, -63}, 0, {3200, 255}, {255, 255, 255, 0} }},
{{ {-25, -13, -63}, 0, {3200, 1113}, {255, 255, 255, 0} }},
{{ {25, -13, 62}, 0, {0, 1113}, {255, 255, 255, 0} }},
{{ {25, 20, 62}, 0, {0, 256}, {255, 255, 255, 0} }},
{{ {-25, 20, 62}, 0, {1279, 256}, {255, 255, 255, 0} }},
{{ {-25, -13, 62}, 0, {1279, 1113}, {255, 255, 255, 0} }},
}

◆ BinVtx2

Vtx OTrashBin::BinVtx2
staticprivate
Initial value:
= {
{{ {19, -8, 52}, 0, {3199, 1113}, {255, 255, 255, 0} }},
{{ {25, 20, 62}, 0, {3199, 256}, {255, 255, 255, 0} }},
{{ {25, 20, -63}, 0, {0, 256}, {255, 255, 255, 0} }},
{{ {19, -8, -52}, 0, {0, 1113}, {255, 255, 255, 0} }},
{{ {19, -8, -52}, 0, {1280, 1113}, {255, 255, 255, 0} }},
{{ {25, 20, -63}, 0, {1280, 255}, {255, 255, 255, 0} }},
{{ {-25, 20, -63}, 0, {0, 255}, {255, 255, 255, 0} }},
{{ {-19, -8, -52}, 0, {0, 1113}, {255, 255, 255, 0} }},
{{ {-19, -8, 52}, 0, {1279, 1113}, {255, 255, 255, 0} }},
{{ {-25, 20, 62}, 0, {1279, 256}, {255, 255, 255, 0} }},
{{ {25, 20, 62}, 0, {0, 256}, {255, 255, 255, 0} }},
{{ {19, -8, 52}, 0, {0, 1113}, {255, 255, 255, 0} }},
{{ {19, -8, -52}, 0, {0, 895}, {255, 255, 255, 0} }},
{{ {-19, -8, -52}, 0, {1280, 896}, {255, 255, 255, 0} }},
{{ {-19, -8, 52}, 0, {1280, -2303}, {255, 255, 255, 0} }},
{{ {19, -8, 52}, 0, {0, -2303}, {255, 255, 255, 0} }},
{{ {-19, -8, -52}, 0, {3200, 1113}, {255, 255, 255, 0} }},
{{ {-25, 20, -63}, 0, {3200, 255}, {255, 255, 255, 0} }},
{{ {-25, 20, 62}, 0, {0, 255}, {255, 255, 255, 0} }},
{{ {-19, -8, 52}, 0, {0, 1113}, {255, 255, 255, 0} }},
}

The documentation for this class was generated from the following files: