mirror of
https://github.com/hedge-dev/UnleashedRecomp.git
synced 2026-04-28 05:11:37 +00:00
Fix crash in earth restoration cutscenes.
This commit is contained in:
parent
8c0130ba4d
commit
922d287806
1 changed files with 30 additions and 28 deletions
|
|
@ -259,45 +259,47 @@ PPC_FUNC(sub_8258B558)
|
||||||
__imp__sub_8258B558(ctx, base);
|
__imp__sub_8258B558(ctx, base);
|
||||||
|
|
||||||
uint32_t worldMapSimpleInfo = PPC_LOAD_U32(r3.u32 + 0x70);
|
uint32_t worldMapSimpleInfo = PPC_LOAD_U32(r3.u32 + 0x70);
|
||||||
|
if (worldMapSimpleInfo != NULL)
|
||||||
auto setPosition = [&](uint32_t rcPtr, float offsetX = 0.0f, float offsetY = 0.0f)
|
{
|
||||||
{
|
auto setPosition = [&](uint32_t rcPtr, float offsetX = 0.0f, float offsetY = 0.0f)
|
||||||
uint32_t scene = PPC_LOAD_U32(rcPtr + 0x4);
|
|
||||||
if (scene != NULL)
|
|
||||||
{
|
{
|
||||||
scene = PPC_LOAD_U32(scene + 0x4);
|
uint32_t scene = PPC_LOAD_U32(rcPtr + 0x4);
|
||||||
if (scene != NULL)
|
if (scene != NULL)
|
||||||
{
|
{
|
||||||
ctx.r3.u32 = scene;
|
scene = PPC_LOAD_U32(scene + 0x4);
|
||||||
ctx.f1.f64 = offsetX + g_narrowOffsetScale * 140.0f;
|
if (scene != NULL)
|
||||||
ctx.f2.f64 = offsetY;
|
{
|
||||||
|
ctx.r3.u32 = scene;
|
||||||
|
ctx.f1.f64 = offsetX + g_narrowOffsetScale * 140.0f;
|
||||||
|
ctx.f2.f64 = offsetY;
|
||||||
|
|
||||||
if (Config::UIScaleMode == EUIScaleMode::Edge && g_narrowOffsetScale >= 1.0f)
|
if (Config::UIScaleMode == EUIScaleMode::Edge && g_narrowOffsetScale >= 1.0f)
|
||||||
ctx.f1.f64 += g_offsetX;
|
ctx.f1.f64 += g_offsetX;
|
||||||
|
|
||||||
sub_830BB3D0(ctx, base);
|
sub_830BB3D0(ctx, base);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
};
|
|
||||||
|
|
||||||
setPosition(worldMapSimpleInfo + 0x2C, 299.0f, -178.0f);
|
setPosition(worldMapSimpleInfo + 0x2C, 299.0f, -178.0f);
|
||||||
setPosition(worldMapSimpleInfo + 0x34);
|
setPosition(worldMapSimpleInfo + 0x34);
|
||||||
setPosition(worldMapSimpleInfo + 0x4C);
|
setPosition(worldMapSimpleInfo + 0x4C);
|
||||||
|
|
||||||
for (uint32_t it = PPC_LOAD_U32(worldMapSimpleInfo + 0x20); it != PPC_LOAD_U32(worldMapSimpleInfo + 0x24); it += 8)
|
for (uint32_t it = PPC_LOAD_U32(worldMapSimpleInfo + 0x20); it != PPC_LOAD_U32(worldMapSimpleInfo + 0x24); it += 8)
|
||||||
setPosition(it);
|
setPosition(it);
|
||||||
|
|
||||||
uint32_t menuTextBox = PPC_LOAD_U32(worldMapSimpleInfo + 0x5C);
|
uint32_t menuTextBox = PPC_LOAD_U32(worldMapSimpleInfo + 0x5C);
|
||||||
if (menuTextBox != NULL)
|
if (menuTextBox != NULL)
|
||||||
{
|
|
||||||
uint32_t textBox = PPC_LOAD_U32(menuTextBox + 0x4);
|
|
||||||
if (textBox != NULL)
|
|
||||||
{
|
{
|
||||||
float value = 708.0f + g_narrowOffsetScale * 140.0f;
|
uint32_t textBox = PPC_LOAD_U32(menuTextBox + 0x4);
|
||||||
if (Config::UIScaleMode == EUIScaleMode::Edge && g_narrowOffsetScale >= 1.0f)
|
if (textBox != NULL)
|
||||||
value += g_offsetX;
|
{
|
||||||
|
float value = 708.0f + g_narrowOffsetScale * 140.0f;
|
||||||
|
if (Config::UIScaleMode == EUIScaleMode::Edge && g_narrowOffsetScale >= 1.0f)
|
||||||
|
value += g_offsetX;
|
||||||
|
|
||||||
PPC_STORE_U32(textBox + 0x38, reinterpret_cast<uint32_t&>(value));
|
PPC_STORE_U32(textBox + 0x38, reinterpret_cast<uint32_t&>(value));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue