minor d_cam_param work

This commit is contained in:
LagoLunatic 2024-07-04 00:38:31 -04:00
parent 84c76203fc
commit d71ff64d2d
3 changed files with 29 additions and 9 deletions

View File

@ -4,7 +4,10 @@
#include "dolphin/types.h"
#include "SSystem/SComponent/c_angle.h"
struct dCamera__Style;
struct dCamera__Style {
/* 0x00 */ u32 m00;
/* 0x04 */ u8 m04[0x84 - 0x04];
}; // Size: 0x84
class dCstick_c {
public:
@ -119,7 +122,10 @@ public:
class dCamParam_c {
public:
/* 0x0 */ dCamera__Style* mpStyle;
/* 0x4 */ int mStyleIdx;
/* 0x4 */ s32 mStyleIdx;
static dCamera__Style styles[];
static s32 style_num;
public:
dCamParam_c(s32);
@ -127,8 +133,8 @@ public:
void Flag(s32, u16) {}
void Val(s32, int) {}
void Change(s32);
void SearchStyle(u32);
BOOL Change(s32);
s32 SearchStyle(u32);
void ratiof(f32, f32, f32, f32);
void DefaultRadius(f32*);
void RadiusRatio(f32);

View File

@ -66,13 +66,27 @@ dCamParam_c::~dCamParam_c() {
}
/* 800AF978-800AF9BC .text Change__11dCamParam_cFl */
void dCamParam_c::Change(s32) {
/* Nonmatching */
BOOL dCamParam_c::Change(s32 i_styleIdx) {
mStyleIdx = i_styleIdx;
if (i_styleIdx < style_num) {
mpStyle = &styles[mStyleIdx];
return TRUE;
} else {
mpStyle = &styles[0];
return FALSE;
}
}
/* 800AF9BC-800AFA04 .text SearchStyle__11dCamParam_cFUl */
void dCamParam_c::SearchStyle(u32) {
/* Nonmatching */
s32 dCamParam_c::SearchStyle(u32 r4) {
s32 styleIndex = -1;
for (s32 i = 0; i < style_num; i++) {
if (styles[i].m00 == r4) {
styleIndex = i;
break;
}
}
return styleIndex;
}
/* 800AFA04-800AFAA4 .text ratiof__11dCamParam_cFffff */

View File

@ -1774,7 +1774,7 @@ static BOOL dMeter_Execute(sub_meter_class* i_this) {
dMeter_childPaneTrans(i_this->field_0x2438 + 0x09 + i, i_this->field_0x2438 + 0x16, f31);
}
dMeter_childPaneTransOnly(i_this->field_0x1638 + 0x1E, i_this->field_0x2438 + 0x16, f31, f29);
dMeter_childPaneTransOnly(i_this->field_0x1638 + 0x1E, i_this->field_0x2438 + 0x16, f31, f30);
dMeter_childPaneTrans(i_this->field_0x2438 + 0x0C, i_this->field_0x2438 + 0x16, f31);
dMeter_childPaneTrans(i_this->field_0x2438 + 0x0B, i_this->field_0x2438 + 0x16, f31);