mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-24 15:43:13 -04:00
d_meter_HIO OK + misc (#2009)
This commit is contained in:
@@ -72,6 +72,85 @@ SECTION_SDATA2 static f32 lit_3704[1 + 1 /* padding */] = {
|
||||
SECTION_SDATA2 static f64 lit_3707 = 4503601774854144.0 /* cast s32 to float */;
|
||||
|
||||
/* 80238CEC-8023907C 23362C 0390+00 0/0 5/5 0/0 .text setTag__10dMsgUnit_cFiiPcb */
|
||||
// regalloc + mulli issue
|
||||
#ifdef NONMATCHING
|
||||
void dMsgUnit_c::setTag(int param_1, int param_2, char* param_3, bool param_4) {
|
||||
*param_3 = 0;
|
||||
if (param_1 == 0x10000) {
|
||||
sprintf(param_3, "%d", param_2);
|
||||
} else if (param_1 == 0x10001) {
|
||||
sprintf(param_3, "%d-%d", param_2 / 10, param_2 % 10);
|
||||
} else if (param_1 == 4 && param_4 == true) {
|
||||
int r6 = param_2 / 1000;
|
||||
int r5 = r6 / 60;
|
||||
r6 %= 60;
|
||||
if (r5 > 99) {
|
||||
r5 = 99;
|
||||
r6 = 59;
|
||||
}
|
||||
if (r5 != 0 || r6 != 0) {
|
||||
sprintf(param_3, "%d:%02d", r5, r6);
|
||||
}
|
||||
} else if (param_1 == 3 && param_4 == true) {
|
||||
f32 dayTime = g_env_light.getDaytime();
|
||||
f32 iVar8 = 1000000.0f * dayTime;
|
||||
iVar8 = ((s32)iVar8 % 15000000) / 1000000.0f;
|
||||
iVar8 = 60.0f * (iVar8 / 15.0f);
|
||||
sprintf(param_3, "%d:%02d", (s32)(dayTime / 15.0f), (s32)iVar8);
|
||||
} else {
|
||||
if (param_1 == 9 && param_4 == true) {
|
||||
sprintf(param_3, "%d", param_2);
|
||||
}
|
||||
bmg_header_t* iVar9 = (bmg_header_t*)dMeter2Info_getMsgUnitResource();
|
||||
inf1_section_t* inf1 = NULL;
|
||||
str1_section_t* str1 = NULL;
|
||||
int local_114 = sizeof(bmg_header_t);
|
||||
u32 size = iVar9->size;
|
||||
bmg_section_t* piVar12 = iVar9->section;
|
||||
for (; local_114 < size; local_114 += piVar12->size) {
|
||||
switch(piVar12->msgType) {
|
||||
case 'FLW1':
|
||||
break;
|
||||
case 'FLI1':
|
||||
break;
|
||||
case 'DAT1':
|
||||
break;
|
||||
case 'INF1':
|
||||
inf1 = (inf1_section_t*)piVar12;
|
||||
break;
|
||||
case 'STR1':
|
||||
str1 = (str1_section_t*)piVar12;
|
||||
break;
|
||||
}
|
||||
piVar12 = (bmg_section_t*)((u8*)piVar12 + piVar12->size);
|
||||
}
|
||||
|
||||
u32 uVar1 = inf1->entries[param_1].startFrame;
|
||||
u32 uVar2 = inf1->entries[param_1].endFrame;
|
||||
const char* uVar5;
|
||||
if (param_2 == 1) {
|
||||
uVar5 = str1->entries->str + uVar1;
|
||||
} else {
|
||||
uVar5 = str1->entries->str + uVar2;
|
||||
}
|
||||
if (strcmp(uVar5, "") == 0) {
|
||||
sprintf(param_3, "%d%s", param_2, uVar5);
|
||||
} else {
|
||||
sprintf(param_3, "%d %s", param_2, uVar5);
|
||||
}
|
||||
if (param_1 == 3 && param_4 == true) {
|
||||
char acStack_d8[20];
|
||||
setTag(4, 0, acStack_d8, false);
|
||||
strcat(param_3, acStack_d8);
|
||||
}
|
||||
if (param_1 == 4 && param_4 == true) {
|
||||
char acStack_ec[20];
|
||||
setTag(5, param_2, acStack_ec, false);
|
||||
strcat(param_3, acStack_ec);
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -80,6 +159,7 @@ asm void dMsgUnit_c::setTag(int param_0, int param_1, char* param_2, bool param_
|
||||
#include "asm/d/msg/d_msg_unit/setTag__10dMsgUnit_cFiiPcb.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 804510D0-804510D8 0005D0 0004+04 1/1 5/5 0/0 .sbss g_msg_unit */
|
||||
dMsgUnit_c g_msg_unit;
|
||||
|
||||
Reference in New Issue
Block a user