SpaghettiKart
Loading...
Searching...
No Matches
Lakitu.h
Go to the documentation of this file.
1#pragma once
2
3#include <libultraship.h>
4#include <vector>
5#include "Object.h"
6#include "World.h"
7
8extern "C" {
9#include "macros.h"
10#include "main.h"
11#include "vehicles.h"
12#include "waypoints.h"
13#include "common_structs.h"
14#include "objects.h"
15}
16
21class OLakitu : public OObject {
22public:
23 enum LakituType : uint32_t {
25 FINISH, // Checkered flag
26 TOW, // Picks up an out of bounds player
30 TOW_ICE_CUBE, // Picks up an out of bounds player in sherbet land as an ice-cube
31 };
32
33 enum LakituTowType : uint16_t {
35 ICE, // Used in sherbet land to put an ice-cube on the player
36 };
37
38public:
39 explicit OLakitu(s32 playerId, LakituType type);
41 _count -= 1;
42 }
43
44 void Activate(LakituType type); // Triggers Lakitu into a behaviour
45
46 virtual void Tick() override;
47 virtual void Tick60fps() override;
48 virtual void Draw(s32 playerId) override;
49
51 void func_80079054(s32 playerId);
52 void func_80079084(s32 playerId);
53 void func_800790B4(s32 playerId);
54 void func_800790E4(s32 playerId);
55 void func_80079114(s32 objectIndex, s32 playerId, s32 arg2);
56 void func_800791F0(s32 objectIndex, s32 playerId);
57 void init_obj_lakitu_starter_and_checkered_flag(s32 objectIndex, s32 playerId);
58 void update_object_lakitu_starter(s32 objectIndex, s32 arg1);
59 void func_800729EC(s32 objectIndex);
60 void init_obj_lakitu_checkered_flag(s32 objectIndex, s32 playerIndex);
61 void update_object_lakitu_checkered_flag(s32 objectIndex, s32 playerIndex);
62 void func_800797AC(s32 playerId);
63 void func_80079860(s32 playerId);
64 void func_8007993C(s32 objectIndex, Player* player);
65 void init_obj_lakitu_red_flag_fishing(s32 objectIndex, s32 arg1);
66 void func_80079A5C(s32 objectIndex, UNUSED Player* player);
67 void update_object_lakitu_fishing(s32 objectIndex, s32 playerId);
68 void update_object_lakitu_fishing2(s32 objectIndex, s32 playerId);
69 void func_8007A060(s32 objectIndex, s32 playerIndex);
70 void update_object_lakitu_second_lap(s32 objectIndex, s32 playerIndex);
71 void func_8007A228(s32 objectIndex, s32 playerIndex);
72 void update_object_lakitu_final_lap(s32 objectIndex, s32 playerIndex);
73 void func_8007A3F0(s32 objectIndex, s32 arg1);
74 void update_object_lakitu_reverse(s32 objectIndex, s32 playerId);
75 void func_8007A66C(s32 objectIndex);
76 void func_8007A778(s32 objectIndex);
77 void func_8007A88C(s32 playerId);
78 void func_8007A910(s32 arg0);
79 void func_8007AA44(s32 playerId); // animate lakitu
80
81private:
82 static size_t _count;
83 size_t _idx;
88};
void func_8007A3F0(s32 objectIndex, s32 arg1)
Definition Lakitu.cpp:791
void update_object_lakitu_reverse(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:811
s32 mLakituId
Definition Lakitu.h:87
void func_800791F0(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:214
void func_80079860(s32 playerId)
Definition Lakitu.cpp:462
void func_8007A66C(s32 objectIndex)
Definition Lakitu.cpp:852
void update_object_lakitu_fishing(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:536
void func_8007A228(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:733
void func_80079114(s32 objectIndex, s32 playerId, s32 arg2)
Definition Lakitu.cpp:183
static size_t _count
Definition Lakitu.h:82
void func_8007AA44(s32 playerId)
Definition Lakitu.cpp:911
void func_800790E4(s32 playerId)
void init_obj_lakitu_starter_and_checkered_flag(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:249
void func_8007A910(s32 arg0)
Definition Lakitu.cpp:903
void func_8007A060(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:675
size_t _idx
Definition Lakitu.h:83
void func_8007A88C(s32 playerId)
Definition Lakitu.cpp:890
void func_8007A778(s32 objectIndex)
Definition Lakitu.cpp:872
virtual void Tick() override
Definition Lakitu.cpp:69
void Activate(LakituType type)
Definition Lakitu.cpp:65
virtual void Tick60fps() override
Definition Lakitu.cpp:73
void func_80079084(s32 playerId)
void update_object_lakitu_final_lap(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:753
void func_8007993C(s32 objectIndex, Player *player)
Definition Lakitu.cpp:476
s32 mPlayerId
Definition Lakitu.h:85
void update_object_lakitu_checkered_flag(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:426
void func_80079054(s32 playerId)
void func_80079A5C(s32 objectIndex, UNUSED Player *player)
Definition Lakitu.cpp:510
LakituTowType
Definition Lakitu.h:33
@ NORMAL
Definition Lakitu.h:34
@ ICE
Definition Lakitu.h:35
LakituType
Definition Lakitu.h:23
@ REVERSE
Definition Lakitu.h:29
@ TOW_ICE_CUBE
Definition Lakitu.h:30
@ TOW
Definition Lakitu.h:26
@ FINAL_LAP
Definition Lakitu.h:28
@ FINISH
Definition Lakitu.h:25
@ SECOND_LAP
Definition Lakitu.h:27
@ STARTER
Definition Lakitu.h:24
void func_80078F64()
LakituType _type
Definition Lakitu.h:84
void update_object_lakitu_second_lap(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:695
OLakitu(s32 playerId, LakituType type)
Definition Lakitu.cpp:44
void func_800729EC(s32 objectIndex)
Definition Lakitu.cpp:348
virtual void Draw(s32 playerId) override
Definition Lakitu.cpp:109
void init_obj_lakitu_checkered_flag(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:406
s32 mCameraId
Definition Lakitu.h:86
void func_800790B4(s32 playerId)
void init_obj_lakitu_red_flag_fishing(s32 objectIndex, s32 arg1)
Definition Lakitu.cpp:495
void update_object_lakitu_fishing2(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:590
void func_800797AC(s32 playerId)
Definition Lakitu.cpp:446
void update_object_lakitu_starter(s32 objectIndex, s32 arg1)
Definition Lakitu.cpp:269
~OLakitu()
Definition Lakitu.h:40
OObject()
Definition Object.cpp:13
#define UNUSED
Definition macros.h:40
Definition common_structs.h:264