Cleaned up font.c

This commit is contained in:
David Benepe
2021-07-16 12:08:44 -05:00
parent 543bcbea66
commit 60a0e31044
8 changed files with 208 additions and 226 deletions
+23 -24
View File
@@ -182,30 +182,29 @@ Gfx D_800E3648[] = {
/************ .bss ************/
// TODO: These are currently defined in font.c; Needs to be moved here.
extern s32 gCurFaceTransition;
extern u8 gCurFadeRed;
extern u8 gCurFadeGreen;
extern u8 gCurFadeBlue;
extern u8 gCurFadeAlpha;
extern s32 gLastFadeRed;
extern s32 gLastFadeGreen;
extern s32 gLastFadeBlue;
extern s32 D_8012A744;
extern s32 D_8012A748;
extern s32 D_8012A74C;
extern f32 D_8012A750;
extern f32 D_8012A754;
extern s32 D_8012A758;
extern s32 D_8012A75C;
extern s32 D_8012A760;
extern s32 D_8012A764;
extern s32 D_8012A768;
extern s32 D_8012A76C;
extern s32 D_8012A770;
extern s32 D_8012A774;
extern s32 D_8012A778;
extern s32 D_8012A77C;
s32 gCurFaceTransition;
u8 gCurFadeRed;
u8 gCurFadeGreen;
u8 gCurFadeBlue;
u8 gCurFadeAlpha;
s32 gLastFadeRed;
s32 gLastFadeGreen;
s32 gLastFadeBlue;
s32 D_8012A744;
s32 D_8012A748;
s32 D_8012A74C;
f32 D_8012A750;
f32 D_8012A754;
s32 D_8012A758;
s32 D_8012A75C;
s32 D_8012A760;
s32 D_8012A764;
s32 D_8012A768;
s32 D_8012A76C;
s32 D_8012A770;
s32 D_8012A774;
s32 D_8012A778;
s32 D_8012A77C;
/*****************************/
+2 -176
View File
@@ -3,6 +3,7 @@
#include "memory.h"
#include "video.h"
#include "stacks.h"
#include "structs.h"
#include "types.h"
@@ -54,126 +55,6 @@ OSDevMgr __osPiDevMgr = { 0, NULL, NULL, NULL, NULL, NULL, NULL };
/************ .bss ************/
#define OS_PIM_STACKSIZE 4096
u8 piThreadStack[256];//piThreadStack[OS_PIM_STACKSIZE];
s32 D_80129BB0[256];
s32 D_80129FB0[3];
s32 D_80129FBC;
// Used in unknown_0B8920
s32 D_80129FC0;
s32 D_80129FC4;
s32 D_80129FC8;
s32 D_80129FCC;
s32 D_80129FD0[4];
s32 D_80129FE0[2];
s32 D_80129FE8;
s32 D_80129FF0[6];
s32 D_8012A008;
s32 D_8012A00C;
s32 D_8012A010;
s32 D_8012A014;
s32 D_8012A018;
s32 D_8012A01C;
s32 D_8012A020[2];
s32 D_8012A028[20];
s32 D_8012A078;
s32 D_8012A07C;
s32 D_8012A080;
s32 D_8012A084;
s32 D_8012A088;
s32 D_8012A08C;
s32 D_8012A090;
s32 D_8012A094;
s32 D_8012A098;
s32 D_8012A09C;
s32 D_8012A0A0;
s32 D_8012A0A4;
s32 D_8012A0A8;
s32 D_8012A0AC;
s32 D_8012A0B0;
s32 D_8012A0B4;
s32 D_8012A0B8;
s32 D_8012A0BC;
s32 D_8012A0C0;
s32 D_8012A0C4;
s32 D_8012A0C8;
s32 D_8012A0CC;
s32 D_8012A0D0;
s32 D_8012A0D4;
s32 D_8012A0D8;
s32 D_8012A0DC;
s32 D_8012A0E0;
s32 D_8012A0E8[64];
s32 D_8012A1E8[256];
s32 D_8012A5E8[3];
s32 D_8012A5F4;
s32 D_8012A5F8;
s32 D_8012A5FC;
s32 D_8012A600[72];
s32 D_8012A720;
s32 D_8012A724;
s32 D_8012A728[2];
// These should be in fade_transition.c
s32 gCurFaceTransition;
u8 gCurFadeRed;
u8 gCurFadeGreen;
u8 gCurFadeBlue;
u8 gCurFadeAlpha;
s32 gLastFadeRed;
s32 gLastFadeGreen;
s32 gLastFadeBlue;
s32 D_8012A744;
s32 D_8012A748;
s32 D_8012A74C;
f32 D_8012A750;
f32 D_8012A754;
s32 D_8012A758;
s32 D_8012A75C;
s32 D_8012A760;
s32 D_8012A764;
s32 D_8012A768;
s32 D_8012A76C;
s32 D_8012A770;
s32 D_8012A774;
s32 D_8012A778;
s32 D_8012A77C;
// These should be in game_text.c
s32 D_8012A780;
s8 D_8012A784;
s8 D_8012A785;
s8 D_8012A786;
s8 D_8012A787;
s8 D_8012A788;
s8 D_8012A789;
s8 D_8012A78A;
s16 D_8012A78C;
s16 D_8012A78E;
s32 D_8012A790[2];
s32 D_8012A798;
s32 D_8012A79C;
s32 D_8012A7A0;
s32 D_8012A7A4;
s16 D_8012A7A8;
s16 D_8012A7AA;
s16 D_8012A7AC;
s16 D_8012A7AE;
s16 D_8012A7B0;
s16 D_8012A7B2;
s16 D_8012A7B4;
s16 D_8012A7B6;
s16 D_8012A7B8;
s16 D_8012A7BA;
s32 D_8012A7C0[2];
s32 D_8012A7C8;
s32 D_8012A7CC;
s32 D_8012A7D0;
s32 D_8012A7D4;
s32 D_8012A7D8;
s32 D_8012A7DC;
s32 gNumberOfFonts;
/* Size: 8 bytes */
@@ -259,6 +140,7 @@ s32 D_8012A7F0;
s8 D_8012A7F4;
s32 D_8012A7F8;
s32 D_8012A7FC;
/******************************/
@@ -692,59 +574,3 @@ void parse_string_with_number(unsigned char *input, char *output, s32 number) {
}
*output = '\0'; // null terminator
}
/*********************************************************************************/
extern OSMesgQueue piAccessQueue; //piAccessQueue
extern u32 __osPiAccessQueueEnabled; //__osPiAccessQueueEnabled
extern OSDevMgr __osPiDevMgr;
void __osDevMgrMain(void);
// bss variables
OSThread piThread;
s32 D_8012A9B0[64];
OSMesgQueue piEventQueue;
OSMesg piEventBuf[2];
// osCreatePiManager is compiled with -mips1, so it belongs in the source folder.
// However, I can't just put this in another file because the piThreadStack
// variable is at the top of this file's bss
void osCreatePiManager(OSPri pri, OSMesgQueue *cmdQ, OSMesg *cmdBuf, s32 cmdMsgCnt)
{
u32 savedMask;
OSPri oldPri;
OSPri myPri;
if (!__osPiDevMgr.active)
{
osCreateMesgQueue(cmdQ, cmdBuf, cmdMsgCnt);
osCreateMesgQueue(&piEventQueue, (OSMesg*)&piEventBuf, 1);
if (!__osPiAccessQueueEnabled)
__osPiCreateAccessQueue();
osSetEventMesg(OS_EVENT_PI, &piEventQueue, (OSMesg)0x22222222);
oldPri = -1;
myPri = osGetThreadPri(NULL);
if (myPri < pri)
{
oldPri = myPri;
osSetThreadPri(NULL, pri);
}
savedMask = __osDisableInt();
__osPiDevMgr.active = 1;
__osPiDevMgr.thread = &piThread;
__osPiDevMgr.cmdQueue = cmdQ;
__osPiDevMgr.evtQueue = &piEventQueue;
__osPiDevMgr.acsQueue = &piAccessQueue;
__osPiDevMgr.dma = osPiRawStartDma;
__osPiDevMgr.edma = osEPiRawStartDma;
osCreateThread(&piThread, 0, __osDevMgrMain, &__osPiDevMgr, &piThreadStack[OS_PIM_STACKSIZE], pri);
osStartThread(&piThread);
__osRestoreInt(savedMask);
if (oldPri != -1)
{
osSetThreadPri(NULL, oldPri);
}
}
}
+32 -22
View File
@@ -29,28 +29,38 @@ typedef struct unk8012A798 {
u8 *unk4;
} unk8012A798;
// TODO: These are currently defined in font.c; Needs to be moved here.
extern u8 *D_8012A780;
extern s8 D_8012A784;
extern s8 D_8012A785;
extern s8 D_8012A786;
extern s8 D_8012A788;
extern u8 D_8012A789;
extern s16 D_8012A78C;
extern s16 D_8012A790;
extern unk8012A798 D_8012A798;
extern s32 D_8012A7A4;
extern s16 D_8012A7A8;
extern s16 D_8012A7AA;
extern s16 D_8012A7AC;
extern s16 D_8012A7AE;
extern s16 D_8012A7B0;
extern s16 D_8012A7B2;
extern s16 D_8012A7B4;
extern s16 D_8012A7B6;
extern s16 D_8012A7BA;
extern unk8012A7C8 D_8012A7C8;
extern s32 D_8012A7D4;
u8 *D_8012A780;
s8 D_8012A784;
s8 D_8012A785;
s8 D_8012A786;
s8 D_8012A787;
s8 D_8012A788;
u8 D_8012A789;
s8 D_8012A78A;
s16 D_8012A78C;
s16 D_8012A78E;
s16 D_8012A790;
s16 D_8012A792;
unk8012A798 D_8012A798;
s32 D_8012A7A0;
s32 D_8012A7A4;
s16 D_8012A7A8;
s16 D_8012A7AA;
s16 D_8012A7AC;
s16 D_8012A7AE;
s16 D_8012A7B0;
s16 D_8012A7B2;
s16 D_8012A7B4;
s16 D_8012A7B6;
s16 D_8012A7B8;
s16 D_8012A7BA;
s16 D_8012A7BE;
s32 D_8012A7C0;
unk8012A7C8 D_8012A7C8;
s32 D_8012A7D0;
s32 D_8012A7D4;
s32 D_8012A7D8;
s32 D_8012A7DC;
/*****************************/
+54
View File
@@ -0,0 +1,54 @@
/* The comment below is needed for this file to be picked up by generate_ld */
/* RAM_POS: 0x800C6000 */
// osCreatePiManager is compiled with -mips1, so it belongs in the source folder I think.
#include "osCreatePiManager.h"
extern OSMesgQueue piAccessQueue; //piAccessQueue
extern u32 __osPiAccessQueueEnabled; //__osPiAccessQueueEnabled
extern OSDevMgr __osPiDevMgr;
void __osDevMgrMain(void);
// bss variables
OSThread piThread;
s32 D_8012A9B0[64];
OSMesgQueue piEventQueue;
OSMesg piEventBuf[2];
void osCreatePiManager(OSPri pri, OSMesgQueue *cmdQ, OSMesg *cmdBuf, s32 cmdMsgCnt) {
u32 savedMask;
OSPri oldPri;
OSPri myPri;
if (!__osPiDevMgr.active)
{
osCreateMesgQueue(cmdQ, cmdBuf, cmdMsgCnt);
osCreateMesgQueue(&piEventQueue, (OSMesg*)&piEventBuf, 1);
if (!__osPiAccessQueueEnabled)
__osPiCreateAccessQueue();
osSetEventMesg(OS_EVENT_PI, &piEventQueue, (OSMesg)0x22222222);
oldPri = -1;
myPri = osGetThreadPri(NULL);
if (myPri < pri)
{
oldPri = myPri;
osSetThreadPri(NULL, pri);
}
savedMask = __osDisableInt();
__osPiDevMgr.active = 1;
__osPiDevMgr.thread = &piThread;
__osPiDevMgr.cmdQueue = cmdQ;
__osPiDevMgr.evtQueue = &piEventQueue;
__osPiDevMgr.acsQueue = &piAccessQueue;
__osPiDevMgr.dma = osPiRawStartDma;
__osPiDevMgr.edma = osEPiRawStartDma;
osCreateThread(&piThread, 0, __osDevMgrMain, &__osPiDevMgr, &piThreadStack[OS_PIM_STACKSIZE], pri);
osStartThread(&piThread);
__osRestoreInt(savedMask);
if (oldPri != -1)
{
osSetThreadPri(NULL, oldPri);
}
}
}
+15
View File
@@ -0,0 +1,15 @@
#ifndef _PI_MANAGER_H_
#define _PI_MANAGER_H_
#include "types.h"
#include "libultra_internal.h"
#include "stacks.h"
extern OSThread piThread;
extern s32 D_8012A9B0[64];
extern OSMesgQueue piEventQueue;
extern OSMesg piEventBuf[2];
void osCreatePiManager(OSPri pri, OSMesgQueue *cmdQ, OSMesg *cmdBuf, s32 cmdMsgCnt);
#endif
+16
View File
@@ -0,0 +1,16 @@
/* The comment below is needed for this file to be picked up by generate_ld */
/* RAM_POS: 0x800B7D1F */
#include "stacks.h"
// This file only contains .bss variables and needs to be located just before
// unknown_0B8920.c; that is why this is "located" at 0x800B7D1F.
/************ .bss ************/
u8 piThreadStack[256]; // piThreadStack[OS_PIM_STACKSIZE];
s32 D_80129BB0[256];
s32 D_80129FB0[3];
s32 D_80129FBC;
/******************************/
+13
View File
@@ -0,0 +1,13 @@
#ifndef _STACKS_H_
#define _STACKS_H_
#include "types.h"
#define OS_PIM_STACKSIZE 4096
extern u8 piThreadStack[256]; // piThreadStack[OS_PIM_STACKSIZE];
extern s32 D_80129BB0[256];
extern s32 D_80129FB0[3];
extern s32 D_80129FBC;
#endif
+53 -4
View File
@@ -116,10 +116,59 @@ const char D_800E9260[] = "\nError :: can not add another wave swell, reached li
/************ .bss ************/
extern s32 D_8012A0D8;
extern s32 D_8012A0DC;
extern s32 D_8012A0E0;
extern s16 D_8012A1E8[256];
s32 D_80129FC0;
s32 D_80129FC4;
s32 D_80129FC8;
s32 D_80129FCC;
s32 D_80129FD0[4];
s32 D_80129FE0[2];
s32 D_80129FE8;
s32 D_80129FF0[6];
s32 D_8012A008;
s32 D_8012A00C;
s32 D_8012A010;
s32 D_8012A014;
s32 D_8012A018;
s32 D_8012A01C;
s32 D_8012A020[2];
s32 D_8012A028[20];
s32 D_8012A078;
s32 D_8012A07C;
s32 D_8012A080;
s32 D_8012A084;
s32 D_8012A088;
s32 D_8012A08C;
s32 D_8012A090;
s32 D_8012A094;
s32 D_8012A098;
s32 D_8012A09C;
s32 D_8012A0A0;
s32 D_8012A0A4;
s32 D_8012A0A8;
s32 D_8012A0AC;
s32 D_8012A0B0;
s32 D_8012A0B4;
s32 D_8012A0B8;
s32 D_8012A0BC;
s32 D_8012A0C0;
s32 D_8012A0C4;
s32 D_8012A0C8;
s32 D_8012A0CC;
s32 D_8012A0D0;
s32 D_8012A0D4;
s32 D_8012A0D8;
s32 D_8012A0DC;
s32 D_8012A0E0;
s32 D_8012A0E8[64];
s16 D_8012A1E8[512];
s32 D_8012A5E8[3];
s32 D_8012A5F4;
s32 D_8012A5F8;
s32 D_8012A5FC;
s32 D_8012A600[72];
s32 D_8012A720;
s32 D_8012A724;
s32 D_8012A728[2];
/*****************************/