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:788
void update_object_lakitu_reverse(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:808
s32 mLakituId
Definition Lakitu.h:87
void func_800791F0(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:211
void func_80079860(s32 playerId)
Definition Lakitu.cpp:459
void func_8007A66C(s32 objectIndex)
Definition Lakitu.cpp:849
void update_object_lakitu_fishing(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:533
void func_8007A228(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:730
void func_80079114(s32 objectIndex, s32 playerId, s32 arg2)
Definition Lakitu.cpp:180
static size_t _count
Definition Lakitu.h:82
void func_8007AA44(s32 playerId)
Definition Lakitu.cpp:908
void func_800790E4(s32 playerId)
void init_obj_lakitu_starter_and_checkered_flag(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:246
void func_8007A910(s32 arg0)
Definition Lakitu.cpp:900
void func_8007A060(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:672
size_t _idx
Definition Lakitu.h:83
void func_8007A88C(s32 playerId)
Definition Lakitu.cpp:887
void func_8007A778(s32 objectIndex)
Definition Lakitu.cpp:869
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:750
void func_8007993C(s32 objectIndex, Player *player)
Definition Lakitu.cpp:473
s32 mPlayerId
Definition Lakitu.h:85
void update_object_lakitu_checkered_flag(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:423
void func_80079054(s32 playerId)
void func_80079A5C(s32 objectIndex, UNUSED Player *player)
Definition Lakitu.cpp:507
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:692
OLakitu(s32 playerId, LakituType type)
Definition Lakitu.cpp:44
void func_800729EC(s32 objectIndex)
Definition Lakitu.cpp:345
virtual void Draw(s32 playerId) override
Definition Lakitu.cpp:109
void init_obj_lakitu_checkered_flag(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:403
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:492
void update_object_lakitu_fishing2(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:587
void func_800797AC(s32 playerId)
Definition Lakitu.cpp:443
void update_object_lakitu_starter(s32 objectIndex, s32 arg1)
Definition Lakitu.cpp:266
~OLakitu()
Definition Lakitu.h:40
OObject()
Definition Object.cpp:13
#define UNUSED
Definition macros.h:40
Definition common_structs.h:264