1#include "Game/Camera/CameraRegisterHolder.hpp"
4const char *sDummyMatrixName =
"ダミーマトリクス";
5const char *sDummyVectorName =
"ダミーベクトル";
6const char *sDummyFloatName =
"ダミー浮動小数";
8CameraRegisterHolder::CameraRegisterHolder(
const char *pName) :
NameObj(pName) {
15void CameraRegisterHolder::declareMtxReg(
const char *pName, MtxPtr pValue) {
16 mMatrices[mNrMatrices] = pValue;
17 mMatrixNames[mNrMatrices] = pName;
22MtxPtr CameraRegisterHolder::getMtx(
const char *pName)
const {
23 s32 index = searchName(mMatrixNames, mNrMatrices, pName);
29 return mMatrices[index];
32void CameraRegisterHolder::declareVecReg(
const char *pName,
const TVec3f *pValue) {
33 mVectors[mNrVectors] = pValue;
34 mVectorNames[mNrVectors] = pName;
38const TVec3f *CameraRegisterHolder::getVec(
const char *pName)
const {
39 s32 index = searchName(mVectorNames, mNrVectors, pName);
45 return mVectors[index];
48void CameraRegisterHolder::declareFloatReg(
const char *pName,
const float *pValue) {
49 mFloats[mNrFloats] = pValue;
50 mFloatNames[mNrFloats] = pName;
54const char *CameraRegisterHolder::getDummyVecRegName()
const {
55 return sDummyVectorName;
58void CameraRegisterHolder::initMtx() {
61 for (u32 i = 0; i < NR_REGISTERS; i++) {
62 mMatrices[i] =
nullptr;
63 mMatrixNames[i] =
nullptr;
67void CameraRegisterHolder::initVec() {
70 for (u32 i = 0; i < NR_REGISTERS; i++) {
71 mVectors[i] =
nullptr;
72 mVectorNames[i] =
nullptr;
76void CameraRegisterHolder::initFloat() {
79 for (u32 i = 0; i < NR_REGISTERS; i++) {
81 mFloatNames[i] =
nullptr;
85void CameraRegisterHolder::initDummyRegister() {
86 mDummyMatrix.identity();
87 declareMtxReg(sDummyMatrixName,
reinterpret_cast<MtxPtr
>(&mDummyMatrix));
89 mDummyVector.z = 0.0f;
90 mDummyVector.y = 0.0f;
91 mDummyVector.x = 0.0f;
92 declareVecReg(sDummyVectorName, &mDummyVector);
95 declareFloatReg(sDummyFloatName, &mDummyFloat);
98s32 CameraRegisterHolder::searchName(
const char *
const *pNames,
unsigned long count,
const char *pName)
const {
99 if (pName ==
nullptr) {
103 for (s32 i = 0; i < count; i++) {
104 if (strcmp(pNames[i], pName) == 0) {
The most basic form of an object.