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}
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);
40
41 void Activate(LakituType type); // Triggers Lakitu into a behaviour
42
43 virtual void Tick() override;
44 virtual void Tick60fps() override;
45 virtual void Draw(s32 playerId) override;
46
48 void func_80079054(s32 playerId);
49 void func_80079084(s32 playerId);
50 void func_800790B4(s32 playerId);
51 void func_800790E4(s32 playerId);
52 void func_80079114(s32 objectIndex, s32 playerId, s32 arg2);
53 void func_800791F0(s32 objectIndex, s32 playerId);
54 void init_obj_lakitu_starter_and_checkered_flag(s32 objectIndex, s32 playerId);
55 void update_object_lakitu_starter(s32 objectIndex, s32 arg1);
56 void func_800729EC(s32 objectIndex);
57 void init_obj_lakitu_checkered_flag(s32 objectIndex, s32 playerIndex);
58 void update_object_lakitu_checkered_flag(s32 objectIndex, s32 playerIndex);
59 void func_800797AC(s32 playerId);
60 void func_80079860(s32 playerId);
61 void func_8007993C(s32 objectIndex, Player* player);
62 void init_obj_lakitu_red_flag_fishing(s32 objectIndex, s32 arg1);
63 void func_80079A5C(s32 objectIndex, UNUSED Player* player);
64 void update_object_lakitu_fishing(s32 objectIndex, s32 playerId);
65 void update_object_lakitu_fishing2(s32 objectIndex, s32 playerId);
66 void func_8007A060(s32 objectIndex, s32 playerIndex);
67 void update_object_lakitu_second_lap(s32 objectIndex, s32 playerIndex);
68 void func_8007A228(s32 objectIndex, s32 playerIndex);
69 void update_object_lakitu_final_lap(s32 objectIndex, s32 playerIndex);
70 void func_8007A3F0(s32 objectIndex, s32 arg1);
71 void update_object_lakitu_reverse(s32 objectIndex, s32 playerId);
72 void func_8007A66C(s32 objectIndex);
73 void func_8007A778(s32 objectIndex);
74 void func_8007A88C(s32 playerId);
75 void func_8007A910(s32 arg0);
76 void func_8007AA44(s32 playerId); // animate lakitu
77
78private:
81};
void func_8007A3F0(s32 objectIndex, s32 arg1)
Definition Lakitu.cpp:771
void update_object_lakitu_reverse(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:791
void func_800791F0(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:194
void func_80079860(s32 playerId)
Definition Lakitu.cpp:442
void func_8007A66C(s32 objectIndex)
Definition Lakitu.cpp:832
void update_object_lakitu_fishing(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:516
void func_8007A228(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:713
s32 _playerId
Definition Lakitu.h:80
void func_80079114(s32 objectIndex, s32 playerId, s32 arg2)
Definition Lakitu.cpp:166
void func_8007AA44(s32 playerId)
Definition Lakitu.cpp:883
void func_800790E4(s32 playerId)
void init_obj_lakitu_starter_and_checkered_flag(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:229
void func_8007A910(s32 arg0)
Definition Lakitu.cpp:875
void func_8007A060(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:655
void func_8007A88C(s32 playerId)
Definition Lakitu.cpp:862
void func_8007A778(s32 objectIndex)
Definition Lakitu.cpp:847
virtual void Tick() override
Definition Lakitu.cpp:52
void Activate(LakituType type)
Definition Lakitu.cpp:48
virtual void Tick60fps() override
Definition Lakitu.cpp:56
void func_80079084(s32 playerId)
void update_object_lakitu_final_lap(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:733
void func_8007993C(s32 objectIndex, Player *player)
Definition Lakitu.cpp:456
void update_object_lakitu_checkered_flag(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:406
void func_80079054(s32 playerId)
void func_80079A5C(s32 objectIndex, UNUSED Player *player)
Definition Lakitu.cpp:490
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:79
void update_object_lakitu_second_lap(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:675
OLakitu(s32 playerId, LakituType type)
Definition Lakitu.cpp:41
void func_800729EC(s32 objectIndex)
Definition Lakitu.cpp:328
virtual void Draw(s32 playerId) override
Definition Lakitu.cpp:92
void init_obj_lakitu_checkered_flag(s32 objectIndex, s32 playerIndex)
Definition Lakitu.cpp:386
void func_800790B4(s32 playerId)
void init_obj_lakitu_red_flag_fishing(s32 objectIndex, s32 arg1)
Definition Lakitu.cpp:475
void update_object_lakitu_fishing2(s32 objectIndex, s32 playerId)
Definition Lakitu.cpp:570
void func_800797AC(s32 playerId)
Definition Lakitu.cpp:426
void update_object_lakitu_starter(s32 objectIndex, s32 arg1)
Definition Lakitu.cpp:249
OObject()
Definition Object.cpp:13
#define UNUSED
Definition macros.h:26
Definition common_structs.h:264