Skip to content

Commit 4489f5b

Browse files
committed
Fix to town transition with asan
1 parent 3ec0339 commit 4489f5b

File tree

10 files changed

+586
-597
lines changed

10 files changed

+586
-597
lines changed

AzelLib/VDP2.cpp

Lines changed: 381 additions & 381 deletions
Large diffs are not rendered by default.
Lines changed: 64 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
1-
#include "PDS.h"
2-
#include "cinematicBarsTask.h"
3-
4-
void setVdp2TableAddress(int p1, u8* vdp2Dest); //TODO: cleanup
5-
1+
#include "PDS.h"
2+
#include "cinematicBarsTask.h"
3+
4+
void setVdp2TableAddress(int p1, u8* vdp2Dest); //TODO: cleanup
5+
66
s_cinematicBarTask* createCinematicBarTask(p_workArea pParentTask)
77
{
88
return createSubTask<s_cinematicBarTask>(pParentTask);
9-
}
10-
9+
}
10+
1111
void cinematicBars_startClosing(s_cinematicBarTask* pCinematicBar, s32 r5)
1212
{
1313
pCinematicBar->m1 = 0;
1414
pCinematicBar->m2 = r5;
1515
pCinematicBar->m0_status = s_cinematicBarTask::m2_opening;
1616
}
17-
17+
1818
std::array<u32, 256> interpolateCinematicBarData;
1919

2020
void s_cinematicBarTask::interpolateCinematicBarSub1()
2121
{
2222
for (int i = 0; i < 0xE0; i++)
2323
{
2424
if ((i < m3) || (i >= 0xE0 - m4))
25-
{
25+
{
2626
WRITE_BE_U32(&interpolateCinematicBarData[i], 0x1010000);
2727
}
2828
else
29-
{
29+
{
3030
WRITE_BE_U32(&interpolateCinematicBarData[i], i * 0x10000);
3131
}
3232
}
@@ -64,9 +64,9 @@ void s_cinematicBarTask::interpolateCinematicBar()
6464
void s_cinematicBarTask::Update(s_cinematicBarTask* pThis)
6565
{
6666
switch (pThis->m0_status)
67-
{
68-
case m0_closed:
69-
case m1_open:
67+
{
68+
case m0_closed:
69+
case m1_open:
7070
return;
7171
case m2_opening:
7272
if (pThis->m2 == ++pThis->m1)
@@ -86,64 +86,64 @@ void s_cinematicBarTask::Update(s_cinematicBarTask* pThis)
8686
assert(0);
8787
break;
8888
}
89-
}
90-
91-
void drawCinematicBar(int param1)
92-
{
93-
sVdpVar1* puVar3 = &vdpVar1[param1];
94-
int iVar1 = vdpVar1[param1].mF_isPending;
95-
96-
if (iVar1 == 0)
97-
{
98-
vdpVar3->m10_nextTransfert = puVar3;
99-
vdpVar1[param1].mF_isPending = 1;
100-
vdpVar1[param1].m10_nextTransfert = nullptr;
101-
vdpVar3 = puVar3;
89+
}
90+
91+
void drawCinematicBar(int param1)
92+
{
93+
sVdpVar1* puVar3 = &vdpVar1[param1];
94+
int iVar1 = vdpVar1[param1].mF_isPending;
95+
96+
if (iVar1 == 0)
97+
{
98+
vdpVar3->m10_nextTransfert = puVar3;
99+
vdpVar1[param1].mF_isPending = 1;
100+
vdpVar1[param1].m10_nextTransfert = nullptr;
101+
vdpVar3 = puVar3;
102102
}
103103
}
104104

105105
void s_cinematicBarTask::Draw(s_cinematicBarTask* pThis)
106106
{
107-
if (pThis->m11)
107+
if (pThis->m11)
108108
{
109-
pThis->m11 = 0;
109+
pThis->m11 = 0;
110110
drawCinematicBar(2);
111111
}
112-
}
113-
114-
void setupCinematicBarData(int param1, std::array<u32, 256>& dataArray, u32 vdpOffset, int numEntries)
115-
{
116-
vdpVar1[param1].mE_isDoubleBuffered = 0;
117-
vdpVar1[param1].m0_source[0] = &dataArray[0];
118-
vdpVar1[param1].m8_destination = getVdp2Vram(vdpOffset);
119-
vdpVar1[param1].mC_size = numEntries;
120-
vdpVar1[param1].m10_nextTransfert = nullptr;
121-
setVdp2TableAddress(param1, getVdp2Vram(vdpOffset));
122-
}
123-
112+
}
113+
114+
void setupCinematicBarData(int param1, std::array<u32, 256>& dataArray, u32 vdpOffset, int numEntries)
115+
{
116+
vdpVar1[param1].mE_isDoubleBuffered = 0;
117+
vdpVar1[param1].m0_source[0] = &dataArray[0];
118+
vdpVar1[param1].m8_destination = getVdp2Vram(vdpOffset);
119+
vdpVar1[param1].mC_size = numEntries / 0x10;
120+
vdpVar1[param1].m10_nextTransfert = nullptr;
121+
setVdp2TableAddress(param1, getVdp2Vram(vdpOffset));
122+
}
123+
124124
void writeCinematicBarsToVdp2()
125-
{
126-
int iVar1 = 0x100;
127-
for (int i=0; i<0x20; i++)
128-
{
129-
iVar1--;
130-
WRITE_BE_U32(&interpolateCinematicBarData[iVar1], 0x1010000);
131-
}
132-
do
133-
{
134-
iVar1--;
135-
WRITE_BE_U32(&interpolateCinematicBarData[iVar1], iVar1 * 0x10000);
136-
} while (iVar1);
137-
138-
u32 vdp2Offset = 0x25E04D00;
139-
iVar1 = 0x80;
140-
do
141-
{
142-
iVar1--;
143-
setVdp2VramU8(vdp2Offset, 0x11);
144-
vdp2Offset++;
145-
} while (iVar1);
146-
147-
setupCinematicBarData(2, interpolateCinematicBarData, 0x25e3e000, 0x100);
125+
{
126+
int iVar1 = 0x100;
127+
for (int i=0; i<0x20; i++)
128+
{
129+
iVar1--;
130+
WRITE_BE_U32(&interpolateCinematicBarData[iVar1], 0x1010000);
131+
}
132+
do
133+
{
134+
iVar1--;
135+
WRITE_BE_U32(&interpolateCinematicBarData[iVar1], iVar1 * 0x10000);
136+
} while (iVar1);
137+
138+
u32 vdp2Offset = 0x25E04D00;
139+
iVar1 = 0x80;
140+
do
141+
{
142+
iVar1--;
143+
setVdp2VramU8(vdp2Offset, 0x11);
144+
vdp2Offset++;
145+
} while (iVar1);
146+
147+
setupCinematicBarData(2, interpolateCinematicBarData, 0x25e3e000, 0x100);
148148
drawCinematicBar(2);
149-
}
149+
}

AzelLib/titleScreen.cpp

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#include "PDS.h"
2-
#include "audio/systemSounds.h"
3-
#include "o_title.h"
4-
2+
#include "audio/systemSounds.h"
3+
#include "o_title.h"
4+
55
p_workArea createBattleDebugTask(p_workArea);
66

77
s_titleMenuEntry mainMenu[] = {
@@ -50,22 +50,22 @@ struct s_titleMenuWorkArea : public s_workAreaTemplate<s_titleMenuWorkArea>
5050
{
5151
switch (pWorkArea->m_status)
5252
{
53-
case 0:
53+
case 0:
5454
#if !defined(SHIPPING_BUILD)
5555
PDS_warningOnce("Setting up menu as debug");
56-
if (keyboardIsKeyDown(0xF6) /*|| true*/)
56+
if (keyboardIsKeyDown(0xF6) || true)
5757
{
5858
pWorkArea->m_menu = mainMenuDebug;
5959
pWorkArea->m_numMenuEntry = sizeof(mainMenuDebug) / sizeof(mainMenuDebug[0]);
6060
}
61-
else
61+
else
6262
#endif
6363
{
6464
pWorkArea->m_menu = mainMenu;
6565
pWorkArea->m_numMenuEntry = sizeof(mainMenu) / sizeof(mainMenu[0]);
6666

6767
titleMenuToggleTutorials(&mainMenu[2], &mainMenu[3]);
68-
}
68+
}
6969

7070
pWorkArea->m_vertialLocation = 0;
7171

@@ -230,13 +230,13 @@ p_workArea createTitleMenuTask(p_workArea workArea)
230230
}
231231

232232
struct s_pressStartButtonTaskWorkArea : public s_workAreaTemplate<s_pressStartButtonTaskWorkArea>
233-
{
233+
{
234234
static TypedTaskDefinition* getTypedTaskDefinition()
235235
{
236236
static TypedTaskDefinition taskDefinition = { nullptr, nullptr, &s_pressStartButtonTaskWorkArea::pressStartButtonTaskDraw, &s_pressStartButtonTaskWorkArea::pressStartButtonTaskDelete };
237237
return &taskDefinition;
238-
}
239-
238+
}
239+
240240
static void pressStartButtonTaskDraw(s_pressStartButtonTaskWorkArea* pWorkArea)
241241
{
242242
switch (pWorkArea->m_status)
@@ -284,7 +284,7 @@ struct s_pressStartButtonTaskWorkArea : public s_workAreaTemplate<s_pressStartBu
284284
vdp2DebugPrintSetPosition(13, -5);
285285

286286
clearVdp2TextLargeFont();
287-
}
287+
}
288288

289289
u32 m_status;
290290
s32 m_timming;
@@ -312,12 +312,12 @@ void s_titleScreenWorkArea::Draw(s_titleScreenWorkArea* pWorkArea)
312312
{
313313
case 0:
314314
if (pWorkArea->m8_overlayTask)
315-
{
316-
#ifdef SHIPPING_BUILD
315+
{
316+
#ifdef SHIPPING_BUILD
317317
if (!pWorkArea->m8_overlayTask->getTask()->isFinished())
318318
{
319319
return;
320-
}
320+
}
321321
#endif
322322
}
323323
pWorkArea->m0_status++;
@@ -518,13 +518,13 @@ p_workArea startWarningTask(s_workArea* workArea)
518518
}
519519

520520
struct s_loadWarningWorkArea : public s_workAreaTemplate<s_loadWarningWorkArea>
521-
{
522-
static TypedTaskDefinition* getTypedTaskDefinition()
523-
{
524-
static TypedTaskDefinition taskDefinition = { &s_loadWarningWorkArea::Init, nullptr, &s_loadWarningWorkArea::Draw, nullptr};
525-
return &taskDefinition;
526-
}
527-
521+
{
522+
static TypedTaskDefinition* getTypedTaskDefinition()
523+
{
524+
static TypedTaskDefinition taskDefinition = { &s_loadWarningWorkArea::Init, nullptr, &s_loadWarningWorkArea::Draw, nullptr};
525+
return &taskDefinition;
526+
}
527+
528528
static void Init(s_loadWarningWorkArea* pThis)
529529
{
530530
pThis->m_warningTask = startWarningTask(pThis);

AzelLib/town/e006/twn_e006.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1437,11 +1437,6 @@ sTownObject* TWN_E006_data::createObjectTaskFromEA_subTaskWithEAArg(npcFileDelet
14371437
return nullptr;
14381438
}
14391439

1440-
static void townOverlayDelete(townDebugTask2Function* pThis)
1441-
{
1442-
FunctionUnimplemented();
1443-
}
1444-
14451440
static const char* listOfFilesToLoad[] = {
14461441
"COMMON3.MCB",
14471442
"COMMON3.CGB",

AzelLib/town/e011/twn_e011.cpp

Lines changed: 24 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ u32 modulateColorByEvent(sCameraTask* cameraTaskPtr, s32 r5)
6565
}
6666

6767
// TODO: that's generic right?
68-
s32 e011_scriptFunction_0605ce38(int iParm1)
69-
70-
{
71-
u32 unaff_r12;
68+
s32 e011_scriptFunction_0605ce38(int iParm1)
69+
70+
{
71+
u32 unaff_r12;
7272

7373
switch (cameraTaskPtr->m0)
7474
{
@@ -82,12 +82,12 @@ s32 e011_scriptFunction_0605ce38(int iParm1)
8282
default:
8383
assert(0);
8484
break;
85-
}
86-
87-
fadePalette(&g_fadeControls.m0_fade0, convertColorToU32ForFade(g_fadeControls.m0_fade0.m0_color), 0xc210, iParm1);
88-
fadePalette(&g_fadeControls.m24_fade1, convertColorToU32ForFade(g_fadeControls.m24_fade1.m0_color), unaff_r12, iParm1);
89-
cameraTaskPtr->m1 = 1;
90-
return 1;
85+
}
86+
87+
fadePalette(&g_fadeControls.m0_fade0, convertColorToU32ForFade(g_fadeControls.m0_fade0.m0_color), 0xc210, iParm1);
88+
fadePalette(&g_fadeControls.m24_fade1, convertColorToU32ForFade(g_fadeControls.m24_fade1.m0_color), unaff_r12, iParm1);
89+
cameraTaskPtr->m1 = 1;
90+
return 1;
9191
}
9292

9393
s32 scriptFunction_605cbd0(s32 r4, s32 r5)
@@ -127,10 +127,10 @@ s32 scriptFunction_605cbd0(s32 r4, s32 r5)
127127

128128
struct sE011Task1 : public s_workAreaTemplate<sE011Task1>
129129
{
130-
static TypedTaskDefinition* getTypedTaskDefinition()
131-
{
132-
static TypedTaskDefinition taskDefinition = { nullptr, &sE011Task1::Update, &sE011Task1::Draw, &sE011Task1::Delete };
133-
return &taskDefinition;
130+
static TypedTaskDefinition* getTypedTaskDefinition()
131+
{
132+
static TypedTaskDefinition taskDefinition = { nullptr, &sE011Task1::Update, &sE011Task1::Draw, &sE011Task1::Delete };
133+
return &taskDefinition;
134134
}
135135

136136
static void Update(sE011Task1* pThis)
@@ -218,11 +218,11 @@ sTownObject* TWN_E011_data::createObjectTaskFromEA_siblingTaskWithEAArgWithCopy(
218218
assert(definitionEA.m_file == this);
219219
assert(arg.m_file == this);
220220

221-
switch (definitionEA.m_offset)
222-
{
221+
switch (definitionEA.m_offset)
222+
{
223223
default:
224224
assert(0);
225-
break;
225+
break;
226226
}
227227
return nullptr;
228228
}
@@ -232,11 +232,6 @@ sTownObject* TWN_E011_data::createObjectTaskFromEA_subTaskWithEAArg(npcFileDelet
232232
return nullptr;
233233
}
234234

235-
static void townOverlayDelete(townDebugTask2Function* pThis)
236-
{
237-
FunctionUnimplemented();
238-
}
239-
240235
static const char* listOfFilesToLoad[] = {
241236
"COMMON3.MCB",
242237
"COMMON3.CGB",
@@ -265,12 +260,12 @@ p_workArea overlayStart_TWN_E011(p_workArea pUntypedThis, u32 arg)
265260

266261
fadeOutAllSequences();
267262

268-
graphicEngineStatus.m405C.m10_nearClipDistance = 0x800;
269-
graphicEngineStatus.m405C.m30_oneOverNearClip = FP_Div(0x10000, graphicEngineStatus.m405C.m10_nearClipDistance);
270-
271-
graphicEngineStatus.m405C.m14_farClipDistance = 0x200000;
272-
graphicEngineStatus.m405C.m38_oneOverFarClip = FP_Div(0x8000, graphicEngineStatus.m405C.m14_farClipDistance);
273-
263+
graphicEngineStatus.m405C.m10_nearClipDistance = 0x800;
264+
graphicEngineStatus.m405C.m30_oneOverNearClip = FP_Div(0x10000, graphicEngineStatus.m405C.m10_nearClipDistance);
265+
266+
graphicEngineStatus.m405C.m14_farClipDistance = 0x200000;
267+
graphicEngineStatus.m405C.m38_oneOverFarClip = FP_Div(0x8000, graphicEngineStatus.m405C.m14_farClipDistance);
268+
274269
graphicEngineStatus.m405C.m34_oneOverFarClip256 = graphicEngineStatus.m405C.m38_oneOverFarClip << 8;
275270

276271
initDramAllocator(pThis, townBuffer, sizeof(townBuffer), listOfFilesToLoad);
@@ -288,6 +283,6 @@ p_workArea overlayStart_TWN_E011(p_workArea pUntypedThis, u32 arg)
288283
setupVdp1Proj(0x1c71c71);
289284

290285
startCameraTask(pThis);
291-
286+
292287
return pThis;
293288
}

0 commit comments

Comments
 (0)