summaryrefslogtreecommitdiff
path: root/include/bike.h
blob: decbd1d49fb4a4f583d08748f7027d7edddc232e (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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#ifndef GUARD_BIKE_H
#define GUARD_BIKE_H

struct UnknownStruct1
{
    u32 unk0;
    u32 unk4;
    u32 unk8;
    u32 unkC;
    const u8 *unk10;
    const u8 *unk14;
    u32 unk18;
};

// Player speeds
enum
{
    SPEED_STANDING,
    SPEED_NORMAL,
    SPEED_FAST,
    SPEED_FASTER,
    SPEED_FASTEST,
};

//Acro bike states
enum
{
    ACRO_STATE_NORMAL,
    ACRO_STATE_TURNING,
    ACRO_STATE_WHEELIE_STANDING,
    ACRO_STATE_BUNNY_HOP,
    ACRO_STATE_WHEELIE_MOVING,
    ACRO_STATE_5,
    ACRO_STATE_6,
};

//Acro bike transitions
enum
{
    ACRO_TRANS_FACE_DIRECTION,
    ACRO_TRANS_NORMAL_TO_WHEELIE = 3,
    ACRO_TRANS_WHEELIE_TO_NORMAL,
};

void MovePlayerOnBike(u8 direction, u16 newKeys, u16 heldKeys);
void sub_80E5B38(u16 a, u16 b);
bool8 IsRunningDisallowed(u8 tile);
bool8 IsBikingDisallowedByPlayer(void);
bool8 player_should_look_direction_be_enforced_upon_movement(void);
void GetOnOffBike(u8 var);
void BikeClearState(int var1, int var2);
void sub_80E6010(u8 var);
s16 GetPlayerSpeed(void);
void sub_80E6084(void);

#endif