mirror of
https://github.com/encounter/Petari.git
synced 2026-03-30 11:34:15 -07:00
115 lines
2.0 KiB
C++
115 lines
2.0 KiB
C++
#include "Game/AreaObj/CubeCamera.hpp"
|
|
|
|
#include <cstring>
|
|
|
|
CubeCameraArea::CubeCameraArea(int a1, const char *pName) : AreaObj(a1, pName) {
|
|
_3C = 0;
|
|
mZoneID = 0;
|
|
}
|
|
|
|
/*
|
|
void CubeCameraArea::init(const JMapInfoIter &rIter) {
|
|
AreaObj::init(rIter);
|
|
|
|
JMapInfo* info = rIter.mInfo;
|
|
|
|
s32 inf = info->searchItemInfo("Validity");
|
|
bool retVal;
|
|
const char* valid;
|
|
|
|
if (inf >= 0) {
|
|
retVal = info->getValueFast(rIter._4, inf, &valid);
|
|
}
|
|
else {
|
|
retVal = false;
|
|
}
|
|
|
|
if (retVal) {
|
|
if (!strcmp(valid, "Invalid")) {
|
|
mValid = false;
|
|
}
|
|
}
|
|
|
|
if (isValidSwitchA()) {
|
|
mValid = false;
|
|
}
|
|
|
|
int r4 = 0;
|
|
bool r3 = false;
|
|
|
|
if (rIter.mInfo) {
|
|
if (rIter._4 >= 0) {
|
|
r3 = true;
|
|
}
|
|
}
|
|
|
|
if (r3) {
|
|
|
|
}
|
|
}
|
|
*/
|
|
|
|
void CubeCameraArea::movement() {
|
|
bool val = false;
|
|
|
|
if (mValid && _15 && mAwake) {
|
|
val = true;
|
|
}
|
|
|
|
if (!val) {
|
|
if (isValidSwitchA()) {
|
|
if (isOnSwitchA()) {
|
|
mValid = true;
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
if (isValidSwitchB()) {
|
|
if (isOnSwitchB()) {
|
|
mValid = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
bool CubeCameraArea::isValidCameraID() const {
|
|
return mObjArg0 >= 0;
|
|
}
|
|
|
|
u16 CubeCameraArea::getCameraID() const {
|
|
return mObjArg0;
|
|
}
|
|
|
|
bool CubeCameraArea::isInVolume(const TVec3f &rVec) const {
|
|
bool ret = false;
|
|
|
|
if ((_3C & sCubeCategory)) {
|
|
if (AreaObj::isInVolume(rVec)) {
|
|
ret = true;
|
|
}
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
void CubeCameraArea::setCurrentCategory(s32 category) {
|
|
sCubeCategory = 1 << category;
|
|
}
|
|
|
|
s32 CubeCameraArea::getCategoryArg() const {
|
|
return mObjArg3;
|
|
}
|
|
|
|
CubeCameraMgr::CubeCameraMgr(s32 type, const char *pName) : AreaObjMgr(type, pName) {
|
|
CubeCameraArea::sCubeCategory = 1;
|
|
}
|
|
|
|
void CubeCameraMgr::initAfterLoad() {
|
|
sort();
|
|
}
|
|
|
|
// CubeCameraMgr::sort
|
|
|
|
CubeCameraMgr::~CubeCameraMgr() {
|
|
|
|
} |