mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-16 14:30:33 -04:00
779 lines
25 KiB
C++
779 lines
25 KiB
C++
//
|
|
// Generated by dtk
|
|
// Translation Unit: d_menu_option.cpp
|
|
//
|
|
|
|
#include "d/d_menu_option.h"
|
|
#include "JSystem/J2DGraph/J2DTextBox.h"
|
|
#include "JSystem/JUtility/JUTAssert.h"
|
|
#include "d/d_lib.h"
|
|
#include "m_Do/m_Do_audio.h"
|
|
#include "m_Do/m_Do_controller_pad.h"
|
|
#include "global.h"
|
|
#include "f_op/f_op_msg_mng.h"
|
|
|
|
dMo_HIO_c g_moHIO;
|
|
|
|
static const u32 soundMode[3] = {0, 1, 2};
|
|
|
|
/* 801D2B68-801D2B78 .text __ct__9dMo_HIO_cFv */
|
|
dMo_HIO_c::dMo_HIO_c() {
|
|
}
|
|
|
|
/* 801D2B78-801D3388 .text screenSet__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::screenSet() {
|
|
static const u32 label_t[] = {
|
|
'ft00', 'ft01', 'ft02', 'ft03', 'ft04', 'ft05', 'ft06', 'ft07',
|
|
'ft08', 'ft09', 'ft10', 'ft11', 'ft12', 'ft13', 'ft14',
|
|
};
|
|
static const u32 label_d[] = {
|
|
'fd00', 'fd01', 'fd02', 'fd03', 'fd04', 'fd05', 'fd06', 'fd07',
|
|
'fd08', 'fd09', 'fd10', 'fd11', 'fd12', 'fd13', 'fd14',
|
|
};
|
|
|
|
fopMsgM_setPaneData(&m008, scrn->search('topt'));
|
|
fopMsgM_setPaneData(&m040, scrn->search('sp01'));
|
|
fopMsgM_setPaneData(&m078, scrn->search('sk01'));
|
|
|
|
for (int i = 0; i < (s32)ARRAY_SIZE(m0B0); i++) {
|
|
fopMsgM_setPaneData(&m0B0[i], scrn->search(label_t[i]));
|
|
fopMsgM_setPaneData(&m3F8[i], scrn->search(label_d[i]));
|
|
((J2DPicture*)m0B0[i].pane)->changeTexture("font_07_02.bti", 0);
|
|
fopMsgM_blendInit(&m0B0[i], "font_00.bti");
|
|
}
|
|
|
|
fopMsgM_setPaneData(&m778, scrn->search('str0'));
|
|
fopMsgM_setPaneData(&m740, scrn->search('st00'));
|
|
fopMsgM_setPaneData(&m7B0, scrn->search('nt00'));
|
|
fopMsgM_setPaneData(&m7E8, scrn->search('nk00'));
|
|
fopMsgM_setPaneData(&m820, scrn->search('no11'));
|
|
fopMsgM_setPaneData(&m858[0], scrn->search('yaz2'));
|
|
fopMsgM_setPaneData(&m858[1], scrn->search('yaz1'));
|
|
fopMsgM_setPaneData(&m8C8[0], scrn->search('ttyu'));
|
|
fopMsgM_setPaneData(&m9A8[0], scrn->search('thld'));
|
|
fopMsgM_setPaneData(&m9A8[1], scrn->search('tsic'));
|
|
fopMsgM_setPaneData(&m8C8[3], scrn->search('tsou'));
|
|
fopMsgM_setPaneData(&mA18[0], scrn->search('tmon'));
|
|
fopMsgM_setPaneData(&mA18[1], scrn->search('tste'));
|
|
fopMsgM_setPaneData(&mA18[2], scrn->search('tsur'));
|
|
fopMsgM_setPaneData(&m8C8[2], scrn->search('tvib'));
|
|
fopMsgM_setPaneData(&mAC0[1], scrn->search('tari'));
|
|
fopMsgM_setPaneData(&mAC0[0], scrn->search('tnas'));
|
|
fopMsgM_setPaneData(&mB30[0], scrn->search('cr32'));
|
|
fopMsgM_setPaneData(&mB30[1], scrn->search('cr31'));
|
|
fopMsgM_setPaneData(&mB30[2], scrn->search('cc22'));
|
|
fopMsgM_setPaneData(&mB30[3], scrn->search('cc21'));
|
|
fopMsgM_setPaneData(&mB30[4], scrn->search('cc12'));
|
|
fopMsgM_setPaneData(&mB30[5], scrn->search('cr11'));
|
|
fopMsgM_setPaneData(&mC80[0], scrn->search('bs09'));
|
|
fopMsgM_setPaneData(&mC80[1], scrn->search('bs00'));
|
|
fopMsgM_setPaneData(&mCF0, scrn->search('blak'));
|
|
|
|
fopMsgM_messageGet(mD48, 0x19D);
|
|
fopMsgM_messageGet(mD5C[0], 0x19B);
|
|
fopMsgM_messageGet(mD5C[1], 0x1A9);
|
|
fopMsgM_messageGet(mD84[0], 0x1D5);
|
|
fopMsgM_messageGet(mD84[1], 0x1D4);
|
|
fopMsgM_messageGet(mDAC[0], 0x1D7);
|
|
fopMsgM_messageGet(mDAC[1], 0x1D8);
|
|
fopMsgM_messageGet(mDAC[2], 0x1EB);
|
|
fopMsgM_messageGet(mDE8[0], 0x19A);
|
|
fopMsgM_messageGet(mDE8[1], 0x19A);
|
|
fopMsgM_messageGet(mDE8[2], 0x1D1);
|
|
fopMsgM_messageGet(mDE8[3], 0x1D6);
|
|
|
|
((J2DTextBox*)m008.pane)->setFont(mD2C);
|
|
((J2DTextBox*)m008.pane)->setString(mD48);
|
|
((J2DTextBox*)m740.pane)->setFont(mD2C);
|
|
((J2DTextBox*)m778.pane)->setFont(mD30);
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
((J2DTextBox*)m9A8[i].pane)->setFont(mD2C);
|
|
((J2DTextBox*)m9A8[i].pane)->setString(mD5C[i]);
|
|
((J2DTextBox*)mAC0[i].pane)->setFont(mD2C);
|
|
((J2DTextBox*)mAC0[i].pane)->setString(mD84[i]);
|
|
changeScaleCenter(&m9A8[i], mD5C[i]);
|
|
changeScaleCenter(&mAC0[i], mD84[i]);
|
|
}
|
|
|
|
for (int i = 0; i < 3; i++) {
|
|
((J2DTextBox*)mA18[i].pane)->setFont(mD2C);
|
|
((J2DTextBox*)mA18[i].pane)->setString(mDAC[i]);
|
|
changeScaleCenter(&mA18[i], mDAC[i]);
|
|
}
|
|
|
|
for (int i = 0; i < 4; i++) {
|
|
if (i == 1) continue;
|
|
((J2DTextBox*)m8C8[i].pane)->setFont(mD2C);
|
|
((J2DTextBox*)m8C8[i].pane)->setString(mDE8[i]);
|
|
changeScaleRight(&m8C8[i], mDE8[i]);
|
|
}
|
|
|
|
m820.mUserArea = m820.pane->mRotation;
|
|
m008.mUserArea = m008.pane->mRotation;
|
|
m040.mUserArea = m040.pane->mRotation;
|
|
m078.mUserArea = m078.pane->mRotation;
|
|
|
|
if (m820.mUserArea > 180) m820.mUserArea -= 360;
|
|
if (m008.mUserArea > 180) m008.mUserArea -= 360;
|
|
if (m040.mUserArea > 180) m040.mUserArea -= 360;
|
|
if (m078.mUserArea > 180) m078.mUserArea -= 360;
|
|
}
|
|
|
|
/* 801D3388-801D3518 .text mainInit__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::mainInit() {
|
|
/* Nonmatching - regalloc */
|
|
fopMsgM_setNowAlphaZero(&mCF0);
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
fopMsgM_paneTrans(&m858[i], 0.0f, 0.0f);
|
|
|
|
m858[i].pane->rotate(m858[i].mSize.x / 2.0f, m858[i].mSize.y / 2.0f, ROTATE_Z, 90.0f);
|
|
|
|
fopMsgM_setNowAlphaZero(&mC80[i]);
|
|
fopMsgM_setNowAlphaZero(&m858[i]);
|
|
fopMsgM_setNowAlphaZero(&m9A8[i]);
|
|
fopMsgM_setNowAlphaZero(&mAC0[i]);
|
|
}
|
|
|
|
for (int i = 0; i < 3; i++) {
|
|
fopMsgM_setNowAlphaZero(&mA18[i]);
|
|
}
|
|
|
|
for (int i = 0; i < 4; i++) {
|
|
if (i != 1) {
|
|
fopMsgM_setNowAlphaZero(&m8C8[i]);
|
|
}
|
|
}
|
|
|
|
for (int i = 0; i < 6; i++) {
|
|
fopMsgM_paneTrans(&mB30[i], 0.0f, 0.0f);
|
|
fopMsgM_setNowAlphaZero(&mB30[i]);
|
|
}
|
|
|
|
mB30[0].mUserArea = 0;
|
|
mB30[1].mUserArea = 0;
|
|
mB30[2].mUserArea = 0;
|
|
m858[0].mUserArea = 0;
|
|
m858[1].mUserArea = 0;
|
|
|
|
cursorMove();
|
|
}
|
|
|
|
/* 801D3518-801D35DC .text noteInit__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::noteInit() {
|
|
fopMsgM_paneTrans(&m820, 0.0f, 35.0f);
|
|
|
|
m820.pane->rotate(m820.mSize.x / 2.0f, m820.mSize.y / 2.0f, ROTATE_Z, m820.mUserArea + -12.0f);
|
|
|
|
fopMsgM_setNowAlphaZero(&m740);
|
|
fopMsgM_setNowAlphaZero(&m778);
|
|
fopMsgM_setNowAlphaZero(&m7B0);
|
|
fopMsgM_setNowAlphaZero(&m7E8);
|
|
fopMsgM_setNowAlphaZero(&m820);
|
|
}
|
|
|
|
/* 801D35DC-801D37C8 .text titleInit__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::titleInit() {
|
|
float rotate_angle = m008.mUserArea + 20;
|
|
if (rotate_angle > 180.0f) {
|
|
rotate_angle -= 360.0f;
|
|
}
|
|
|
|
if (rotate_angle < -180.0f) {
|
|
rotate_angle += 360.0f;
|
|
}
|
|
|
|
fopMsgM_paneTrans(&m008, 0.0f, -50.0f);
|
|
fopMsgM_paneTrans(&m040, 0.0f, -50.0f);
|
|
fopMsgM_paneTrans(&m078, 0.0f, -50.0f);
|
|
|
|
m008.pane->rotate(m008.mSize.x / 2.0f, m008.mSize.y / 2.0f, ROTATE_Z, rotate_angle + m008.mUserArea);
|
|
m040.pane->rotate(m040.mSize.x / 2.0f, m040.mSize.y / 2.0f, ROTATE_Z, rotate_angle + m040.mUserArea);
|
|
m078.pane->rotate(m078.mSize.x / 2.0f, m078.mSize.y / 2.0f, ROTATE_Z, rotate_angle + m078.mUserArea);
|
|
|
|
fopMsgM_setNowAlphaZero(&m008);
|
|
fopMsgM_setNowAlphaZero(&m040);
|
|
fopMsgM_setNowAlphaZero(&m078);
|
|
}
|
|
|
|
/* 801D37C8-801D38E0 .text mainMove__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::mainMove() {
|
|
float alpha = fopMsgM_valueIncrease(7, mC80[0].mUserArea, 0);
|
|
|
|
fopMsgM_setNowAlpha(&mCF0, alpha);
|
|
|
|
fopMsgM_setNowAlpha(&m9A8[mE3C], alpha);
|
|
fopMsgM_setNowAlpha(&mAC0[mE3F], alpha);
|
|
fopMsgM_setNowAlpha(&mA18[mE3E], alpha);
|
|
|
|
for(int i = 0; i < 2; i++) {
|
|
fopMsgM_setNowAlpha(&mC80[i], alpha);
|
|
fopMsgM_setNowAlpha(&m858[i], alpha);
|
|
}
|
|
|
|
for (int i = 0; i < 4; i++) {
|
|
if (i != 1) {
|
|
fopMsgM_setNowAlpha(&m8C8[i], alpha);
|
|
}
|
|
}
|
|
|
|
fopMsgM_setNowAlpha(&mB30[0], alpha);
|
|
fopMsgM_setNowAlpha(&mB30[1], alpha);
|
|
}
|
|
|
|
/* 801D38E0-801D39F4 .text noteMove__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::noteMove() {
|
|
float alpha;
|
|
|
|
alpha = fopMsgM_valueIncrease(7, mC80[0].mUserArea + -7, 0);
|
|
fopMsgM_paneTrans(&m820, 0.0f, (1.0f - alpha) * 35.0f);
|
|
|
|
m820.pane->rotate(m820.mSize.x / 2.0f, m820.mSize.y / 2.0f, ROTATE_Z, (1.0f - alpha) * -12.0f + m820.mUserArea);
|
|
|
|
fopMsgM_setNowAlpha(&m740, alpha);
|
|
fopMsgM_setNowAlpha(&m778, alpha);
|
|
fopMsgM_setNowAlpha(&m7B0, alpha);
|
|
fopMsgM_setNowAlpha(&m7E8, alpha);
|
|
}
|
|
|
|
/* 801D39F4-801D3C6C .text titleMove__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::titleMove() {
|
|
/* Nonmatching - regalloc */
|
|
float alpha = fopMsgM_valueIncrease(7, mC80[0].mUserArea + -7,0);
|
|
|
|
float rotate_angle = m008.mUserArea + 20;
|
|
if (rotate_angle > 180.0f) {
|
|
rotate_angle -= 360.0f;
|
|
}
|
|
|
|
if (rotate_angle < -180.0f) {
|
|
rotate_angle += 360.0f;
|
|
}
|
|
|
|
rotate_angle *= 1.0f - alpha;
|
|
|
|
if (mC80[0].mUserArea == 8) {
|
|
mDoAud_seStart(0x84e, NULL, 0, 0);
|
|
}
|
|
|
|
float y = 1.0f - alpha;
|
|
|
|
fopMsgM_paneTrans(&m008, 0.0f, y * -50.0f);
|
|
fopMsgM_paneTrans(&m040, 0.0f, y * -50.0f);
|
|
fopMsgM_paneTrans(&m078, 0.0f, y * -50.0f);
|
|
|
|
m008.pane->rotate(m008.mSize.x / 2.0f, m008.mSize.y / 2.0f, ROTATE_Z, rotate_angle + m008.mUserArea);
|
|
m040.pane->rotate(m040.mSize.x / 2.0f, m040.mSize.y / 2.0f, ROTATE_Z, rotate_angle + m040.mUserArea);
|
|
m078.pane->rotate(m078.mSize.x / 2.0f, m078.mSize.y / 2.0f, ROTATE_Z, rotate_angle + m078.mUserArea);
|
|
|
|
fopMsgM_setNowAlpha(&m008, alpha);
|
|
fopMsgM_setNowAlpha(&m040, alpha);
|
|
fopMsgM_setNowAlpha(&m078, alpha);
|
|
}
|
|
|
|
/* 801D3C6C-801D3D34 .text cursorMove__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::cursorMove() {
|
|
/* Nonmatching */
|
|
short sVar2 = mB30[1].mUserArea;
|
|
|
|
for (int i = 0; i < 6; i++) {
|
|
mB30[i].mPosCenter.x = m8C8[sVar2].mPosCenterOrig.x;
|
|
mB30[i].mPosCenter.y = m8C8[sVar2].mPosCenterOrig.y;
|
|
|
|
mB30[i].mSize.x = m8C8[sVar2].mSizeOrig.x;
|
|
|
|
fopMsgM_cposMove((fopMsgM_pane_class *)(&mB30[i].pane));
|
|
|
|
mB30[i].pane->rotate(mB30[i].mSize.x / 2.0f, mB30[i].mSize.y / 2.0f, ROTATE_Z, 0.5f);
|
|
}
|
|
|
|
cursorScale();
|
|
}
|
|
|
|
/* 801D3D34-801D3E70 .text cursorScale__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::cursorScale() {
|
|
float x[2];
|
|
float y;
|
|
|
|
switch (mB30[1].mUserArea) {
|
|
case 0: {
|
|
x[0] = m9A8[mE3C].mPosTopLeftOrig.x - 20.0f;
|
|
x[1] = m9A8[mE3C].mPosTopLeftOrig.x + m9A8[mE3C].mSizeOrig.x + 20.0f;
|
|
y = m9A8[mE3C].mPosCenterOrig.y;
|
|
break;
|
|
}
|
|
case 3: {
|
|
x[0] = mA18[mE3E].mPosTopLeftOrig.x - 20.0f;
|
|
x[1] = mA18[mE3E].mPosTopLeftOrig.x + mA18[mE3E].mSizeOrig.x + 20.0f;
|
|
y = mA18[mE3E].mPosCenterOrig.y;
|
|
break;
|
|
}
|
|
case 2: {
|
|
x[0] = mAC0[mE3F].mPosTopLeftOrig.x - 20.0f;
|
|
x[1] = mAC0[mE3F].mPosTopLeftOrig.x + mAC0[mE3F].mSizeOrig.x + 20.0f;
|
|
y = mAC0[mE3F].mPosCenterOrig.y;
|
|
break;
|
|
}
|
|
}
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
m858[i].mPosCenter.x = x[i];
|
|
m858[i].mPosCenter.y = y;
|
|
fopMsgM_cposMove(&m858[i]);
|
|
}
|
|
}
|
|
|
|
/* 801D3E70-801D3F98 .text typeMove__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::typeMove() {
|
|
switch (mB30[1].mUserArea) {
|
|
case 0: {
|
|
for (int i = 0; i < 2; i++) {
|
|
if(i == mE3C) {
|
|
fopMsgM_setInitAlpha(&m9A8[i]);
|
|
}
|
|
else {
|
|
fopMsgM_setNowAlphaZero(&m9A8[i]);
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
case 3: {
|
|
for (int i = 0; i < 3; i++) {
|
|
if(i == mE3E) {
|
|
fopMsgM_setInitAlpha(&mA18[i]);
|
|
}
|
|
else {
|
|
fopMsgM_setNowAlphaZero(&mA18[i]);
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
case 2: {
|
|
for (int i = 0; i < 2; i++) {
|
|
if(i == mE3F) {
|
|
fopMsgM_setInitAlpha(&mAC0[i]);
|
|
}
|
|
else {
|
|
fopMsgM_setNowAlphaZero(&mAC0[i]);
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
cursorScale();
|
|
}
|
|
|
|
/* 801D3F98-801D41C4 .text yazAnime__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::yazAnime() {
|
|
/* Nonmatching */
|
|
static const int moveX[6] = { 0, 2, 8, 18, 8, 2};
|
|
float fVar1;
|
|
|
|
if (m858[0].mUserArea < 10) {
|
|
fVar1 = 6.0f;
|
|
}
|
|
else {
|
|
fVar1 = -6.0f;
|
|
}
|
|
|
|
m858[0].pane->rotate(m858[0].mSize.x / 2.0f, m858[0].mSize.y / 2.0f, ROTATE_Z, 90.0f + fVar1);
|
|
m858[1].pane->rotate(m858[1].mSize.x / 2.0f, m858[1].mSize.y / 2.0f, ROTATE_Z, 90.0f + fVar1);
|
|
|
|
m858[0].mUserArea++;
|
|
|
|
if(m858[1].mUserArea > 0) {
|
|
m858[1].mUserArea--;
|
|
m858[1].pane->move((int)(m858[1].mPosTopLeft.x + 0.5f) + moveX[m858[1].mUserArea], m858[1].mPosTopLeft.y + 0.5f);
|
|
}
|
|
else if (m858[1].mUserArea < 0) {
|
|
m858[1].mUserArea++;
|
|
m858[0].pane->move((int)(m858[0].mPosTopLeft.x + 0.5f) - moveX[abs(m858[1].mUserArea)], m858[0].mPosTopLeft.y + 0.5f);
|
|
}
|
|
|
|
if (m858[0].mUserArea >= 0x14) {
|
|
m858[0].mUserArea = 0;
|
|
}
|
|
}
|
|
|
|
/* 801D41C4-801D428C .text ccAnime__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::ccAnime() {
|
|
/* Nonmatching */
|
|
int j = 0;
|
|
for (int i = 0; i < 3; i++) {
|
|
if (i == mB30[0].mUserArea / 7) {
|
|
fopMsgM_setInitAlpha(&mB30[i]);
|
|
fopMsgM_setInitAlpha(&mB30[j+1]);
|
|
}
|
|
else {
|
|
fopMsgM_setNowAlphaZero(&mB30[i]);
|
|
fopMsgM_setNowAlphaZero(&mB30[j+1]);
|
|
}
|
|
j += 2;
|
|
}
|
|
|
|
mB30[0].mUserArea++;
|
|
|
|
if (mB30[0].mUserArea >= 0x15) {
|
|
mB30[0].mUserArea = 0;
|
|
}
|
|
}
|
|
|
|
/* 801D428C-801D47A4 .text stickMove__14dMenu_Option_cFUc */
|
|
void dMenu_Option_c::stickMove(u8 param_1) {
|
|
switch (param_1) {
|
|
case 4: {
|
|
if (mB30[1].mUserArea > 0) {
|
|
mB30[1].mUserArea--;
|
|
if (mB30[1].mUserArea == 1) {
|
|
mB30[1].mUserArea = 0;
|
|
}
|
|
cursorMove();
|
|
noteSet();
|
|
mDoAud_seStart(0x80e, NULL, 0, 0);
|
|
}
|
|
break;
|
|
}
|
|
case 8: {
|
|
if (mB30[1].mUserArea < 3) {
|
|
mB30[1].mUserArea++;
|
|
if (mB30[1].mUserArea == 1) {
|
|
mB30[1].mUserArea = 2;
|
|
}
|
|
cursorMove();
|
|
noteSet();
|
|
mDoAud_seStart(0x80e, NULL, 0, 0);
|
|
}
|
|
break;
|
|
}
|
|
case 2: {
|
|
switch (mB30[1].mUserArea) {
|
|
case 0: {
|
|
if (mE3C) {
|
|
mE3C = 0;
|
|
}
|
|
else {
|
|
mE3C = 1;
|
|
}
|
|
m858[1].mUserArea = 6;
|
|
mDoAud_seStart(0x84f, NULL, 0, 0);
|
|
break;
|
|
}
|
|
case 1: {
|
|
if (mE3D) {
|
|
mE3D = 0;
|
|
}
|
|
else {
|
|
mE3D = 1;
|
|
}
|
|
m858[1].mUserArea = 6;
|
|
mDoAud_seStart(0x84f, NULL, 0, 0);
|
|
;
|
|
break;
|
|
}
|
|
case 3: {
|
|
if (mE3E < 2) {
|
|
mE3E++;
|
|
}
|
|
else {
|
|
mE3E = 0;
|
|
}
|
|
m858[1].mUserArea = 6;
|
|
mDoAud_seStart(0x84f, NULL, 0, 0);
|
|
mDoAud_setOutputMode(soundMode[mE3E]);
|
|
setSoundMode(soundMode[mE3E]);
|
|
break;
|
|
}
|
|
case 2: {
|
|
if ((JUTGamePad::sRumbleSupported & 0x80000000) != 0) {
|
|
if (mE3F) {
|
|
mE3F = 0;
|
|
}
|
|
else {
|
|
mE3F = 1;
|
|
g_mDoCPd_gamePad[0]->mRumble.startPatternedRumble(&mE38, JUTGamePad::CRumble::LOOP_ONCE, 0x3c);
|
|
}
|
|
m858[1].mUserArea = 6;
|
|
mDoAud_seStart(0x84f, NULL, 0, 0);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
typeMove();
|
|
break;
|
|
}
|
|
case 1: {
|
|
switch (mB30[1].mUserArea) {
|
|
case 0: {
|
|
if (mE3C) {
|
|
mE3C = 0;
|
|
}
|
|
else {
|
|
mE3C = 1;
|
|
}
|
|
m858[1].mUserArea = -6;
|
|
mDoAud_seStart(0x84f, NULL, 0, 0);
|
|
break;
|
|
}
|
|
case 1: {
|
|
if (mE3D) {
|
|
mE3D = 0;
|
|
}
|
|
else {
|
|
mE3D = 1;
|
|
}
|
|
m858[1].mUserArea = -6;
|
|
mDoAud_seStart(0x84f, NULL, 0, 0);
|
|
break;
|
|
}
|
|
case 3: {
|
|
if (mE3E) {
|
|
mE3E--;
|
|
}
|
|
else {
|
|
mE3E = 2;
|
|
}
|
|
m858[1].mUserArea = -6;
|
|
mDoAud_seStart(0x84f, NULL, 0, 0);
|
|
mDoAud_setOutputMode(soundMode[mE3E]);
|
|
setSoundMode(soundMode[mE3E]);
|
|
break;
|
|
}
|
|
case 2: {
|
|
if ((JUTGamePad::sRumbleSupported & 0x80000000) != 0) {
|
|
if (mE3F) {
|
|
mE3F = 0;
|
|
}
|
|
else {
|
|
mE3F = 1;
|
|
g_mDoCPd_gamePad[0]->mRumble.startPatternedRumble(&mE38, JUTGamePad::CRumble::LOOP_ONCE, 0x3c);
|
|
}
|
|
m858[1].mUserArea = -6;
|
|
mDoAud_seStart(0x84f, NULL, 0, 0);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
typeMove();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 801D47A4-801D4C00 .text noteSet__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::noteSet() {
|
|
/* Nonmatching */
|
|
fopMsgM_itemMsgGet_c msgGet;
|
|
//local_354.x = 0;
|
|
//local_354.y = 0;
|
|
//local_354.z = 0;
|
|
fopMsgM_msgDataProc_c msgDataProc;
|
|
|
|
strcpy(mD38, "");
|
|
strcpy(mD3C, "");
|
|
strcpy(mD40, "");
|
|
strcpy(mD44, "");
|
|
|
|
outFontInit();
|
|
|
|
float fVar1 = (m740).pane[1].mBounds.getHeight();
|
|
float fVar2 = (m778).pane[1].mBounds.getHeight();
|
|
|
|
mesg_header* mesg_header = msgGet.getMesgHeader(0x262);
|
|
if (mesg_header == NULL) {
|
|
JUTAssertion::showAssert(JUTAssertion::getSDevice(), "d_menu_option.cpp", 0x313, "head_p");
|
|
OSPanic("d_menu_option.cpp", 0x313, "Halt");
|
|
}
|
|
|
|
const char* mesg = msgGet.getMessage(mesg_header);
|
|
mesg_entry mesg_entry = msgGet.getMesgEntry(mesg_header);
|
|
|
|
//local_334.mTextOffs = local_34c;
|
|
//local_334.mMesgID = local_348;
|
|
//local_334.mItemPrice = local_346;
|
|
//local_334.mNextMessageID = local_344;
|
|
//local_334.field4_0xa = local_342;
|
|
//local_334.mTextboxType = local_340;
|
|
//local_334.mDrawType = local_33f;
|
|
//local_334.mTextboxPosition = local_33e;
|
|
//local_334.mItemImage = local_33d;
|
|
//local_334.field9_0x10 = local_33c;
|
|
//local_334.mInitialSound = local_33b;
|
|
//local_334.mInitialCamera = local_33a;
|
|
//local_334.mInitialAnimation = local_339;
|
|
//local_334.field13_0x14 = local_338;
|
|
//local_334.field14_0x15 = local_337;
|
|
//local_334.mTotalRows = local_336;
|
|
//local_334.field16_0x17 = local_335;
|
|
|
|
msgDataProc.dataInit();
|
|
|
|
//local_2d0 = *(char **)&field_0xd44;
|
|
//local_2d4 = *(char **)&field_0xd40;
|
|
//local_2d8 = *(char **)&field_0xd3c;
|
|
//auStack_31c._64_4_ = *(undefined4 *)&field_0xd38;
|
|
//auStack_31c._4_4_ = field21_0xd2c;
|
|
//auStack_31c._8_4_ = field22_0xd30;
|
|
//pJVar7 = (m740).pane;
|
|
//local_200 = (int)pJVar7[1].parent.mBounds.mTL.x;
|
|
//local_78 = (longlong)local_200;
|
|
//local_1f8 = (int)(m778).pane[1].parent.mBounds.mTL.x;
|
|
//local_70 = (longlong)local_1f8;
|
|
//local_1fc = (int)pJVar7[1].parent.mBounds.mTL.y;
|
|
//local_68 = (longlong)local_1fc;
|
|
//auStack_31c._12_4_ = &local_334;
|
|
//local_1d8 = (int)fVar1;
|
|
//local_60 = (longlong)local_1d8;
|
|
//local_1d0 = (int)fVar2;
|
|
//local_58 = (longlong)local_1d0;
|
|
//local_1f4 = 0x1d0;
|
|
//local_1f0 = 0x1d0;
|
|
//local_1bc = 2;
|
|
//local_1c0 = 0;
|
|
//local_83 = 1;
|
|
//local_80 = 0;
|
|
//auStack_31c._60_4_ = pcVar6;
|
|
//local_2bc = (char *)auStack_31c._64_4_;
|
|
//local_2b8 = local_2d8;
|
|
//local_2b4 = local_2d4;
|
|
//local_2b0 = local_2d0;
|
|
//fopMsgM_msgDataProc_c::stringLength((fopMsgM_msgDataProc_c *)auStack_31c);
|
|
//fopMsgM_msgDataProc_c::stringShift((fopMsgM_msgDataProc_c *)auStack_31c);
|
|
//fopMsgM_msgDataProc_c::iconIdxRefresh((fopMsgM_msgDataProc_c *)auStack_31c);
|
|
//iVar9 = (int)local_1ec._2_2_;
|
|
//local_1ec = 0;
|
|
//fopMsgM_msgDataProc_c::stringSet((fopMsgM_msgDataProc_c *)auStack_31c);
|
|
//pJVar7 = (m740).pane;
|
|
//uStack_4c = iVar9 ^ 0x80000000;
|
|
//local_50 = 0x43300000;
|
|
//fVar1 = ((((pJVar7->parent).mBounds.mBR.y - (pJVar7->parent).mBounds.mTL.y) - fVar1) -
|
|
// (float)iVar9 * pJVar7[1].parent.mBounds.mTL.y) * 0.5;
|
|
//*(float *)pJVar7[1].parent.mMagic = 0.0;
|
|
//pJVar7[1].parent.mName = (int)fVar1;
|
|
//pJVar7 = (m778).pane;
|
|
//*(float *)pJVar7[1].parent.mMagic = 0.0;
|
|
//pJVar7[1].parent.mName = (int)fVar1;
|
|
//J2DTextBox::setString((J2DTextBox *)(m740).pane,*(char **)&field_0xd38);
|
|
//J2DTextBox::setString((J2DTextBox *)(m778).pane,*(char **)&field_0xd3c);
|
|
//iVar9 = (int)((m740).pane[1].parent.mBounds.mTL.y * 0.5);
|
|
//local_48 = (longlong)iVar9;
|
|
//iVar12 = 0;
|
|
//iVar11 = 0;
|
|
//iVar10 = 0;
|
|
//do {
|
|
// uVar8 = (uint)abStack_9b[iVar12];
|
|
// if (((uVar8 != 0xff) && (*(short *)((int)&m0B0[0].mUserArea + iVar10) == -1)) &&
|
|
// (uVar8 != 0x16)) {
|
|
// local_48 = CONCAT44(0x43300000,*(int *)((int)local_1b4 + iVar11) ^ 0x80000000);
|
|
// *(float *)((int)&m0B0[0].mPosTopLeft.x + iVar10) =
|
|
// (float)*(int *)((int)local_1b4 + iVar11);
|
|
// iVar3 = iVar9 * *(int *)((int)local_178 + iVar11) * 2;
|
|
// uStack_4c = iVar3 ^ 0x80000000;
|
|
// local_50 = 0x43300000;
|
|
// *(float *)((int)&m0B0[0].mPosTopLeft.y + iVar10) = fVar1 + (float)iVar3;
|
|
// local_58 = CONCAT44(0x43300000,uVar8);
|
|
// *(float *)((int)&m0B0[0].mPosTopLeftOrig.y + iVar10) = (float)uVar8;
|
|
// f_op_msg_mng::fopMsgM_outFontSet
|
|
// (*(undefined4 *)((int)&m0B0[0].pane + iVar10),
|
|
// (int)&m0B0[0].mUserArea + iVar10,0xff);
|
|
// }
|
|
// iVar12 = iVar12 + 1;
|
|
// iVar11 = iVar11 + 4;
|
|
// iVar10 = iVar10 + 0x38;
|
|
//} while (iVar12 < 0xf);
|
|
//fopMsgM_msgDataProc_c::~fopMsgM_msgDataProc_c((fopMsgM_msgDataProc_c *)auStack_31c);
|
|
}
|
|
|
|
/* 801D4C00-801D4C88 .text outFontInit__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::outFontInit() {
|
|
for (int i = 0; i < 15; i++) {
|
|
m0B0[i].mUserArea = -1;
|
|
m0B0[i].pane->rotate(0.0f);
|
|
fopMsgM_setNowAlphaZero(&m0B0[i]);
|
|
|
|
}
|
|
}
|
|
|
|
/* 801D4C88-801D4D74 .text outFontMove__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::outFontMove() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 801D4D74-801D4E34 .text outFontDraw__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::outFontDraw() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 801D4E34-801D505C .text stringlength__14dMenu_Option_cFP18fopMsgM_pane_classPc */
|
|
void dMenu_Option_c::stringlength(fopMsgM_pane_class*, char*) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 801D505C-801D50A0 .text changeScaleCenter__14dMenu_Option_cFP18fopMsgM_pane_classPc */
|
|
void dMenu_Option_c::changeScaleCenter(fopMsgM_pane_class*, char*) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 801D50A0-801D50E8 .text setSoundMode__14dMenu_Option_cFUl */
|
|
void dMenu_Option_c::setSoundMode(u32) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 801D50E8-801D5148 .text changeScaleRight__14dMenu_Option_cFP18fopMsgM_pane_classPc */
|
|
void dMenu_Option_c::changeScaleRight(fopMsgM_pane_class*, char*) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 801D5148-801D5224 .text initialize__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::initialize() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 801D5224-801D53F0 .text _create__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::_create() {
|
|
/* Nonmatching */
|
|
scrn = new J2DScreen();
|
|
JUT_ASSERT(1074, scrn != NULL);
|
|
scrn->set("option.blo", mpArchive);
|
|
|
|
stick = new STControl(5, 2, 3, 2);
|
|
JUT_ASSERT(1078, stick != NULL);
|
|
|
|
screenSet();
|
|
initialize();
|
|
|
|
mE40 = 0;
|
|
mE38 = 0;
|
|
mE39 = 10;
|
|
mE3A = 0xFF;
|
|
mE3B = 0xC0;
|
|
|
|
g_moHIO.mNo = mDoHIO_createChild("オプション画面", &g_moHIO); // "Option Screen"
|
|
}
|
|
|
|
/* 801D53F0-801D546C .text _delete__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::_delete() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 801D546C-801D576C .text _move__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::_move() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 801D576C-801D5C04 .text _draw__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::_draw() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 801D5C04-801D5CBC .text _open__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::_open() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 801D5CBC-801D5D38 .text _close__14dMenu_Option_cFv */
|
|
void dMenu_Option_c::_close() {
|
|
/* Nonmatching */
|
|
}
|