SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
BckCtrl.cpp
1#include "Game/Animation/BckCtrl.hpp"
2#include "Game/Util.hpp"
3
4void BckCtrl::overWrite(const BckCtrlData &rNew) {
5 if (MR::isEqualStringCase(rNew._0, sDefaultPlayDataName)) {
6 mDefaultCtrlData = rNew;
7 }
8 else {
9 BckCtrlData* data = find(rNew._0);
10
11 if (data) {
12 *data = rNew;
13 }
14 else {
15 add(rNew);
16 }
17 }
18}
19
20void BckCtrl::changeBckSetting(const char *pName, XanimePlayer *pPlayer) const {
21 BckCtrlData* data = find(pName);
22
23 if (data) {
24 bool reflectDataPtr = false;
25
26 if (data->mInterpole >= 0 || data->mPlayFrame >= 0 || data->mStartFrame >= 0 || data->mEndFrame >= 0 || data->mRepeatFrame >= 0 || data->_E != 0xFF) {
27 reflectDataPtr = true;
28 }
29
30 if (reflectDataPtr) {
31 BckCtrlFunction::reflectBckCtrlData(*data, pPlayer);
32 return;
33 }
34 }
35
36 BckCtrlFunction::reflectBckCtrlData(mDefaultCtrlData, pPlayer);
37}
38
39// BckCtrl::find
40// BckCtrlFunction::reflectBckCtrlData
41
42BckCtrlData::BckCtrlData() {
43 _0 = "";
44 mPlayFrame = -1;
45 mStartFrame = -1;
46 mEndFrame = -1;
47 mRepeatFrame = -1;
48 mInterpole = -1;
49 _E = 0xFF;
50}