summaryrefslogtreecommitdiff
path: root/src/d/bg/d_bg_s_poly_pass_chk.cpp
blob: 86c7e93140baade63dc7de8a9493e0c00afcfd95 (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/**
 * d_bg_s_poly_pass_chk.h
 * BG Collision Poly Passthrough Check
*/

#include "d/bg/d_bg_s_poly_pass_chk.h"

dBgS_PolyPassChk::dBgS_PolyPassChk() {
    mObject = false;
    mCamera = false;
    mLink = false;
    mArrow = false;
    mBomb = false;
    mBoomerang = false;
    mRope = false;
    mUnderwaterRoof = false;
    mHorse = false;
    mStatue = false;
    mIronBall = false;
}

dBgS_PolyPassChk::~dBgS_PolyPassChk() {}

void dBgS_PolyPassChk::SetPassChkInfo(dBgS_PolyPassChk& chk) {
    *this = chk;
}

void dBgS_PolyPassChk::SetObj() {
    mObject = true;
}

void dBgS_PolyPassChk::ClrObj() {
    mObject = false;
}

void dBgS_PolyPassChk::SetCam() {
    mCamera = true;
}

void dBgS_PolyPassChk::ClrCam() {
    mCamera = false;
}

void dBgS_PolyPassChk::SetLink() {
    mLink = true;
}

void dBgS_PolyPassChk::ClrLink() {
    mLink = false;
}

void dBgS_PolyPassChk::SetArrow() {
    mArrow = true;
}

void dBgS_PolyPassChk::SetBomb() {
    mBomb = true;
}

void dBgS_PolyPassChk::ClrBomb() {
    mBomb = false;
}

void dBgS_PolyPassChk::SetBoomerang() {
    mBoomerang = true;
}

void dBgS_PolyPassChk::SetRope() {
    mRope = true;
}

void dBgS_PolyPassChk::SetUnderwaterRoof() {
    mUnderwaterRoof = true;
}

void dBgS_PolyPassChk::SetHorse() {
    mHorse = true;
}

bool dBgS_PolyPassChk::ChkNoHorse() {
    if (ChkObj() || ChkCam() || ChkLink() || ChkArrow() || ChkBomb() || ChkBoomerang() ||
        ChkRope() || ChkUnderwaterRoof())
    {
        return true;
    }

    return !ChkHorse();
}

void dBgS_PolyPassChk::SetStatue() {
    mStatue = true;
}

void dBgS_PolyPassChk::ClrStatue() {
    mStatue = false;
}

void dBgS_PolyPassChk::SetIronBall() {
    mIronBall = true;
}

void dBgS_PolyPassChk::ClrIronBall() {
    mIronBall = false;
}