summaryrefslogtreecommitdiff
path: root/src/engine/PlayerBombKart.h
blob: a2b77c311ffdf7603c568e2146bdc502670c8f0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#pragma once

#include <libultraship.h>
#include "CoreMath.h"

class PlayerBombKart {
public:

    enum PlayerBombKartState {
        DISABLED,
        ACTIVE,
    };

    PlayerBombKart();

    ~PlayerBombKart() {
        _count--;
    }

    static size_t GetCount() {
        return _count;
    }

    s16 state = PlayerBombKartState::DISABLED;
    FVector pos = {0, 0, 0};
    f32 surfaceHeight = 0;
    s32 _primAlpha = 0;

    void Draw(size_t playerId, s32 cameraId);
    void func_800563DC(s32 cameraId, s32 arg2);
    void func_800562E4(s32 cameraId, s32 arg0, s32 arg1, s32 arg2, s32 id);
    void func_8005669C(s32 cameraId, s32 arg2);
    void LoadMtx(s32 cameraId);
private:
    static u32 vec[3][3];
    static size_t _count;
    size_t _idx;
};