mirror of
https://github.com/zeldaret/ss
synced 2026-05-24 07:10:53 -04:00
183 lines
3.8 KiB
C++
183 lines
3.8 KiB
C++
#include "d/d_textunk.h"
|
|
|
|
#include "common.h"
|
|
#include "nw4r/ut/ut_Color.h"
|
|
|
|
UnkTextThing textThing;
|
|
UnkTextThing *UnkTextThing::sInstance;
|
|
|
|
// UnkTextThing::~UnkTextThing() {}
|
|
UnkTextThing::UnkTextThing() {
|
|
sInstance = this;
|
|
|
|
field_0x754 = 0.0f;
|
|
field_0x758 = 12.0f;
|
|
field_0x75C = 0.04f;
|
|
field_0x760 = 0.22f;
|
|
field_0x764 = 42.0f;
|
|
field_0x768 = 0.8f;
|
|
field_0x76C = 0.3f;
|
|
|
|
field_0x7B3 = false;
|
|
field_0x798 = 0;
|
|
field_0x79C = 0;
|
|
field_0x7A0 = 0;
|
|
|
|
field_0x770 = 80.0f;
|
|
field_0x774 = 30.0f;
|
|
field_0x796 = 3;
|
|
field_0x778 = 10.0f;
|
|
field_0x780 = 8.0f;
|
|
field_0x77C = 8.0f;
|
|
field_0x784 = 6.0f;
|
|
|
|
field_0x7A4 = 0xB6;
|
|
field_0x7A6 = 0x16C;
|
|
|
|
for (int i = 0; i < 82; i++) {
|
|
field_buf0[i] = 0;
|
|
mMsbts[i] = 0;
|
|
}
|
|
|
|
for (int i = 0; i < 23; i++) {
|
|
field_buf4[i] = 0;
|
|
field_buf5[i] = 0;
|
|
}
|
|
|
|
for (int i = 0; i < 80; i++) {
|
|
field_buf1[i] = 0;
|
|
mMsbfs[i] = 0;
|
|
}
|
|
|
|
mOverrideZev0 = nullptr;
|
|
mOverrideStageZev = nullptr;
|
|
|
|
mShouldOverrideData = false;
|
|
field_0x7B5 = false;
|
|
|
|
field_0x004 = "";
|
|
field_0x084 = "";
|
|
field_0x104 = "";
|
|
|
|
mShouldHookAllocations = false;
|
|
|
|
field_0x7A8 = 0;
|
|
field_0x788 = 0.45;
|
|
field_0x78C = -5.0f;
|
|
mMsgWindowWaitDelay = 4;
|
|
field_0x7B7 = 0;
|
|
field_0x7AA = 5;
|
|
field_0x7AC = 15;
|
|
field_0x7B0 = 0;
|
|
field_0x7B2 = false;
|
|
|
|
// Weird init order
|
|
field_0x7B8.r = field_0x7B8.g = field_0x7B8.b = field_0x7B8.a = 0;
|
|
field_0x7BC.r = field_0x7BC.g = field_0x7BC.b = field_0x7BC.a = 0;
|
|
|
|
field_0x790 = -1.0f;
|
|
field_0x794 = 100.0f;
|
|
}
|
|
|
|
void UnkTextThing::destroy() {
|
|
for (int i = 0; i < 82; i++) {
|
|
if (field_buf0[i] != nullptr) {
|
|
destroyUnk(field_buf0[i]);
|
|
field_buf0[i] = nullptr;
|
|
}
|
|
|
|
if (mMsbts[i] != nullptr) {
|
|
destroyMsg(mMsbts[i]);
|
|
mMsbts[i] = nullptr;
|
|
}
|
|
}
|
|
|
|
for (int i = 0; i < 23; i++) {
|
|
if (field_buf4[i] != nullptr) {
|
|
destroyUnk(field_buf4[i]);
|
|
field_buf4[i] = nullptr;
|
|
}
|
|
|
|
if (field_buf5[i] != nullptr) {
|
|
destroyMsg(field_buf5[i]);
|
|
field_buf5[i] = nullptr;
|
|
}
|
|
}
|
|
|
|
for (int i = 0; i < 80; i++) {
|
|
if (field_buf1[i] != nullptr) {
|
|
destroyUnk(field_buf1[i]);
|
|
field_buf1[i] = nullptr;
|
|
}
|
|
|
|
if (mMsbfs[i] != nullptr) {
|
|
destroyFlow(mMsbfs[i]);
|
|
mMsbfs[i] = nullptr;
|
|
}
|
|
}
|
|
|
|
if (mOverrideZev0 != nullptr) {
|
|
destroyUnk(mOverrideZev0);
|
|
mOverrideZev0 = nullptr;
|
|
}
|
|
|
|
if (mOverrideStageZev != nullptr) {
|
|
destroyUnk(mOverrideStageZev);
|
|
mOverrideStageZev = nullptr;
|
|
}
|
|
}
|
|
|
|
f32 UnkTextThing::fn_800B1F10() {
|
|
return field_0x794 / 100.0f;
|
|
}
|
|
|
|
void *UnkTextThing::allocUnk(size_t size, int align) {
|
|
return nullptr;
|
|
}
|
|
void UnkTextThing::destroyUnk(void *_thing) {}
|
|
|
|
f32 UnkTextThing::fn_800B1F70() {
|
|
f32 v = fn_800B1FC0();
|
|
v *= fn_800B1FE0();
|
|
return v;
|
|
}
|
|
f32 UnkTextThing::fn_800B1FC0() {
|
|
return 1.0f;
|
|
}
|
|
f32 UnkTextThing::fn_800B1FD0() {
|
|
return 0.9f;
|
|
}
|
|
f32 UnkTextThing::fn_800B1FE0() {
|
|
return 1.0f;
|
|
}
|
|
f32 UnkTextThing::fn_800B1FF0() {
|
|
return 0.0f;
|
|
}
|
|
f32 UnkTextThing::fn_800B2000() {
|
|
return 0.0f;
|
|
}
|
|
f32 UnkTextThing::fn_800B2010() {
|
|
return -1.0f;
|
|
}
|
|
f32 UnkTextThing::fn_800B2020() {
|
|
return 0.0f;
|
|
}
|
|
f32 UnkTextThing::fn_800B2030() {
|
|
return 0.0f;
|
|
}
|
|
f32 UnkTextThing::fn_800B2040() {
|
|
return 0.0f;
|
|
}
|
|
|
|
void UnkTextThing::destroyMsg(MsbtInfo *msg) {
|
|
mShouldHookAllocations = true;
|
|
LMS_CloseMessage(msg);
|
|
mShouldHookAllocations = false;
|
|
}
|
|
|
|
void UnkTextThing::destroyFlow(MsbfInfo *flow) {
|
|
mShouldHookAllocations = true;
|
|
LMS_CloseFlow(flow);
|
|
mShouldHookAllocations = false;
|
|
}
|