summaryrefslogtreecommitdiff
path: root/src/d/d_a_itembase_static.cpp
blob: 8c592245bc335921a57acf64ae23d51f89c0387c (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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
//
// Generated by dtk
// Translation Unit: d_a_itembase_static.cpp
//

#include "d/dolzel.h" // IWYU pragma: keep
#include "d/actor/d_a_itembase.h"
#include "d/d_item_data.h"
#include "SSystem/SComponent/c_lib.h"
#include "dolphin/types.h"

const daItemBase_c_m_data daItemBase_c::m_data = {
    /* mGravity            */ -7.0f,
    /* mGroundReflect      */ 0.62f,
    /* mLaunchSpeed        */ 50.0f,
    /* mScaleAnimSpeed     */ 20.0f,
    /* mSpeedH             */ 5.0f,
    /* mFlashCycleTime     */ 1,
    /* mWaitTime           */ 8*30,
    /* mDisappearTime      */ 2*30,
    /* mRotateXSpeed       */ 0x2000,
    /* mRotateYSpeed       */ 82,
    /* mHeartFallSpeed     */ -4.0f,
    /* mHeartAmplitude     */ 3.5f,
    /* mHeartFallCycleTime */ 1100,
    /* mHeartTilt          */ 0x0BB8,
    /* field_0x2C          */ 30.0f,
    /* field_0x30          */ 10.0f,
    /* field_0x34          */ 1.5f,
    /* mGetDemoLaunchSpeed */ 23.0f,
    /* mGetDemoGravity     */ -6.0f,
    /* mSimpleExistTime    */ 13,
    /* mNoGetTime          */ 16,
    /* field_0x44          */ 50.0f,
    /* mVelocityScale      */ 7.0f,
};

/* 80068650-80068658       .text getItemNo__12daItemBase_cFv */
u8 daItemBase_c::getItemNo() {
    return m_itemNo;
}

/* 80068658-80068674       .text getHeight__12daItemBase_cFv */
u8 daItemBase_c::getHeight() {
    return dItem_data::getH(m_itemNo);
}

/* 80068674-80068690       .text getR__12daItemBase_cFv */
u8 daItemBase_c::getR() {
    return dItem_data::getR(m_itemNo);
}

/* 80068690-800686A0       .text hide__12daItemBase_cFv */
void daItemBase_c::hide() {
    cLib_offBit(mDrawFlags, (u8)0x01);
}

/* 800686A0-800686B0       .text show__12daItemBase_cFv */
void daItemBase_c::show() {
    cLib_onBit(mDrawFlags, (u8)0x01);
}

/* 800686B0-800686F8       .text changeDraw__12daItemBase_cFv */
void daItemBase_c::changeDraw() {
    if (chkDraw())
        hide();
    else
        show();
}

/* 800686F8-80068710       .text chkDraw__12daItemBase_cFv */
bool daItemBase_c::chkDraw() {
    return cLib_checkBit(mDrawFlags, (u8)0x01);
}

/* 80068710-80068720       .text dead__12daItemBase_cFv */
void daItemBase_c::dead() {
    cLib_onBit(mDrawFlags, (u8)0x02);
}

/* 80068720-80068738       .text chkDead__12daItemBase_cFv */
bool daItemBase_c::chkDead() {
    return cLib_checkBit(mDrawFlags, (u8)0x02);
}

/* 80068738-80068748       .text setLoadError__12daItemBase_cFv */
void daItemBase_c::setLoadError() {
    cLib_onBit(mDrawFlags, (u8)0x04);
}

/* 80068748-800687B4       .text CheckItemCreateHeap__FP10fopAc_ac_c */
BOOL CheckItemCreateHeap(fopAc_ac_c* i_ac) {
    daItemBase_c * i_this = (daItemBase_c *)i_ac;
    u8 itemNo = i_this->getItemNo();
    return i_this->CreateItemHeap(
        dItem_data::getArcname(itemNo),
        dItem_data::getBmdIdx(itemNo),
        dItem_data::getSrtIdx(itemNo),
        dItem_data::getSrtIdx2(itemNo),
        dItem_data::getTevIdx(itemNo),
        dItem_data::getTevIdx2(itemNo),
        dItem_data::getBckIdx(itemNo),
        -1
    );
}

/* 800687B4-80068820       .text CheckFieldItemCreateHeap__FP10fopAc_ac_c */
BOOL CheckFieldItemCreateHeap(fopAc_ac_c* i_ac) {
    daItemBase_c * i_this = (daItemBase_c *)i_ac;
    u8 itemNo = i_this->getItemNo();
    return i_this->CreateItemHeap(
        dItem_data::getFieldArc(itemNo),
        dItem_data::getFieldBmdIdx(itemNo),
        dItem_data::getFieldSrtIdx(itemNo),
        dItem_data::getFieldSrtIdx2(itemNo),
        dItem_data::getFieldTevIdx(itemNo),
        dItem_data::getFieldTevIdx2(itemNo),
        dItem_data::getFieldBckIdx(itemNo),
        -1
    );
}