Mario Kart 64
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#include "course_offsets.h"
16}
17
22class OLakitu : public OObject {
23public:
24 enum LakituType : uint32_t {
26 FINISH, // Checkered flag
27 TOW, // Picks up an out of bounds player
31 TOW_ICE_CUBE, // Picks up an out of bounds player in sherbet land as an ice-cube
32 };
33
34 enum LakituTowType : uint16_t {
36 ICE, // Used in sherbet land to put an ice-cube on the player
37 };
38
39public:
40 explicit OLakitu(s32 playerId, LakituType type);
41
42 void Activate(LakituType type); // Triggers Lakitu into a behaviour
43
44 virtual void Tick() override;
45 virtual void Tick60fps() override;
46 virtual void Draw(s32 playerId) override;
47
49 void func_80079054(s32 playerId);
50 void func_80079084(s32 playerId);
51 void func_800790B4(s32 playerId);
52 void func_800790E4(s32 playerId);
53 void func_80079114(s32 objectIndex, s32 playerId, s32 arg2);
54 void func_800791F0(s32 objectIndex, s32 playerId);
55 void init_obj_lakitu_starter_and_checkered_flag(s32 objectIndex, s32 playerId);
56 void update_object_lakitu_starter(s32 objectIndex, s32 arg1);
57 void func_800729EC(s32 objectIndex);
58 void init_obj_lakitu_checkered_flag(s32 objectIndex, s32 playerIndex);
59 void update_object_lakitu_checkered_flag(s32 objectIndex, s32 playerIndex);
60 void func_800797AC(s32 playerId);
61 void func_80079860(s32 playerId);
62 void func_8007993C(s32 objectIndex, Player* player);
63 void init_obj_lakitu_red_flag_fishing(s32 objectIndex, s32 arg1);
64 void func_80079A5C(s32 objectIndex, UNUSED Player* player);
65 void update_object_lakitu_fishing(s32 objectIndex, s32 playerId);
66 void update_object_lakitu_fishing2(s32 objectIndex, s32 playerId);
67 void func_8007A060(s32 objectIndex, s32 playerIndex);
68 void update_object_lakitu_second_lap(s32 objectIndex, s32 playerIndex);
69 void func_8007A228(s32 objectIndex, s32 playerIndex);
70 void update_object_lakitu_final_lap(s32 objectIndex, s32 playerIndex);
71 void func_8007A3F0(s32 objectIndex, s32 arg1);
72 void update_object_lakitu_reverse(s32 objectIndex, s32 playerId);
73 void func_8007A66C(s32 objectIndex);
74 void func_8007A778(s32 objectIndex);
75 void func_8007A88C(s32 playerId);
76 void func_8007A910(s32 arg0);
77 void func_8007AA44(s32 playerId); // animate lakitu
78
79private:
82};
void func_8007A3F0(s32 objectIndex, s32 arg1)
Definition Lakitu.cpp:763
void update_object_lakitu_reverse(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:783
void func_800791F0(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:186
void func_80079860(s32 playerId)
Definition Lakitu.cpp:434
void func_8007A66C(s32 objectIndex)
Definition Lakitu.cpp:824
void update_object_lakitu_fishing(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:508
void func_8007A228(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:705
s32 _playerId
Definition Lakitu.h:81
void func_80079114(s32 objectIndex, s32 playerId, s32 arg2)
Definition Lakitu.cpp:158
void func_8007AA44(s32 playerId)
Definition Lakitu.cpp:875
void func_800790E4(s32 playerId)
void init_obj_lakitu_starter_and_checkered_flag(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:221
void func_8007A910(s32 arg0)
Definition Lakitu.cpp:867
void func_8007A060(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:647
void func_8007A88C(s32 playerId)
Definition Lakitu.cpp:854
void func_8007A778(s32 objectIndex)
Definition Lakitu.cpp:839
virtual void Tick() override
Definition Lakitu.cpp:51
void Activate(LakituType type)
Definition Lakitu.cpp:47
virtual void Tick60fps() override
Definition Lakitu.cpp:55
void func_80079084(s32 playerId)
void update_object_lakitu_final_lap(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:725
void func_8007993C(s32 objectIndex, Player *player)
Definition Lakitu.cpp:448
void update_object_lakitu_checkered_flag(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:398
void func_80079054(s32 playerId)
void func_80079A5C(s32 objectIndex, UNUSED Player *player)
Definition Lakitu.cpp:482
LakituTowType
Definition Lakitu.h:34
@ NORMAL
Definition Lakitu.h:35
@ ICE
Definition Lakitu.h:36
LakituType
Definition Lakitu.h:24
@ REVERSE
Definition Lakitu.h:30
@ TOW_ICE_CUBE
Definition Lakitu.h:31
@ TOW
Definition Lakitu.h:27
@ FINAL_LAP
Definition Lakitu.h:29
@ FINISH
Definition Lakitu.h:26
@ SECOND_LAP
Definition Lakitu.h:28
@ STARTER
Definition Lakitu.h:25
void func_80078F64()
LakituType _type
Definition Lakitu.h:80
void update_object_lakitu_second_lap(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:667
OLakitu(s32 playerId, LakituType type)
Definition Lakitu.cpp:40
void func_800729EC(s32 objectIndex)
Definition Lakitu.cpp:320
virtual void Draw(s32 playerId) override
Definition Lakitu.cpp:91
void init_obj_lakitu_checkered_flag(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:378
void func_800790B4(s32 playerId)
void init_obj_lakitu_red_flag_fishing(s32 objectIndex, s32 arg1)
Definition Lakitu.cpp:467
void update_object_lakitu_fishing2(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:562
void func_800797AC(s32 playerId)
Definition Lakitu.cpp:418
void update_object_lakitu_starter(s32 objectIndex, s32 arg1)
Definition Lakitu.cpp:241
OObject()
Definition Object.cpp:13
#define UNUSED
Definition macros.h:26
Definition common_structs.h:264