Start decompiling printfunc.c
This commit is contained in:
parent
39286d7a62
commit
c21da819d8
8 changed files with 194 additions and 44 deletions
|
|
@ -2197,7 +2197,7 @@ fn_800BB33C = .text:0x800BB33C; // type:function size:0x48
|
||||||
__DBExceptionDestination = .text:0x800BB384; // type:function size:0x10 scope:global
|
__DBExceptionDestination = .text:0x800BB384; // type:function size:0x10 scope:global
|
||||||
__DBIsExceptionMarked = .text:0x800BB394; // type:function size:0x1C scope:global
|
__DBIsExceptionMarked = .text:0x800BB394; // type:function size:0x1C scope:global
|
||||||
DBPrintf = .text:0x800BB3B0; // type:function size:0x50 scope:global
|
DBPrintf = .text:0x800BB3B0; // type:function size:0x50 scope:global
|
||||||
fn_800BB400 = .text:0x800BB400; // type:function size:0x2C
|
PSMTXIdentity = .text:0x800BB400; // type:function size:0x2C
|
||||||
fn_800BB42C = .text:0x800BB42C; // type:function size:0x34
|
fn_800BB42C = .text:0x800BB42C; // type:function size:0x34
|
||||||
fn_800BB460 = .text:0x800BB460; // type:function size:0xCC
|
fn_800BB460 = .text:0x800BB460; // type:function size:0xCC
|
||||||
fn_800BB52C = .text:0x800BB52C; // type:function size:0x50
|
fn_800BB52C = .text:0x800BB52C; // type:function size:0x50
|
||||||
|
|
@ -2215,7 +2215,7 @@ fn_800BBCB0 = .text:0x800BBCB0; // type:function size:0x54
|
||||||
fn_800BBD04 = .text:0x800BBD04; // type:function size:0x8C
|
fn_800BBD04 = .text:0x800BBD04; // type:function size:0x8C
|
||||||
fn_800BBD90 = .text:0x800BBD90; // type:function size:0x54
|
fn_800BBD90 = .text:0x800BBD90; // type:function size:0x54
|
||||||
fn_800BBDE4 = .text:0x800BBDE4; // type:function size:0xD0
|
fn_800BBDE4 = .text:0x800BBDE4; // type:function size:0xD0
|
||||||
fn_800BBEB4 = .text:0x800BBEB4; // type:function size:0x98
|
C_MTXOrtho = .text:0x800BBEB4; // type:function size:0x98
|
||||||
fn_800BBF4C = .text:0x800BBF4C; // type:function size:0x24
|
fn_800BBF4C = .text:0x800BBF4C; // type:function size:0x24
|
||||||
PSVECSubtract = .text:0x800BBF70; // type:function size:0x24
|
PSVECSubtract = .text:0x800BBF70; // type:function size:0x24
|
||||||
fn_800BBF94 = .text:0x800BBF94; // type:function size:0x1C
|
fn_800BBF94 = .text:0x800BBF94; // type:function size:0x1C
|
||||||
|
|
@ -2335,7 +2335,7 @@ fn_800C2630 = .text:0x800C2630; // type:function size:0x6C
|
||||||
fn_800C269C = .text:0x800C269C; // type:function size:0x7C
|
fn_800C269C = .text:0x800C269C; // type:function size:0x7C
|
||||||
fn_800C2718 = .text:0x800C2718; // type:function size:0x8
|
fn_800C2718 = .text:0x800C2718; // type:function size:0x8
|
||||||
fn_800C2720 = .text:0x800C2720; // type:function size:0x68
|
fn_800C2720 = .text:0x800C2720; // type:function size:0x68
|
||||||
fn_800C2788 = .text:0x800C2788; // type:function size:0xA8
|
VIGetNextField = .text:0x800C2788; // type:function size:0xA8
|
||||||
VIGetCurrentLine = .text:0x800C2830; // type:function size:0x98
|
VIGetCurrentLine = .text:0x800C2830; // type:function size:0x98
|
||||||
VIGetTvFormat = .text:0x800C28C8; // type:function size:0x7C scope:global
|
VIGetTvFormat = .text:0x800C28C8; // type:function size:0x7C scope:global
|
||||||
VIGetDTVStatus = .text:0x800C2944; // type:function size:0x3C
|
VIGetDTVStatus = .text:0x800C2944; // type:function size:0x3C
|
||||||
|
|
@ -2441,16 +2441,16 @@ fn_800C95E8 = .text:0x800C95E8; // type:function size:0xFC
|
||||||
fn_800C96E4 = .text:0x800C96E4; // type:function size:0x8
|
fn_800C96E4 = .text:0x800C96E4; // type:function size:0x8
|
||||||
fn_800C96EC = .text:0x800C96EC; // type:function size:0x8
|
fn_800C96EC = .text:0x800C96EC; // type:function size:0x8
|
||||||
fn_800C96F4 = .text:0x800C96F4; // type:function size:0x158
|
fn_800C96F4 = .text:0x800C96F4; // type:function size:0x158
|
||||||
fn_800C984C = .text:0x800C984C; // type:function size:0x360
|
GXSetVtxDesc = .text:0x800C984C; // type:function size:0x360
|
||||||
fn_800C9BAC = .text:0x800C9BAC; // type:function size:0x54
|
fn_800C9BAC = .text:0x800C9BAC; // type:function size:0x54
|
||||||
fn_800C9C00 = .text:0x800C9C00; // type:function size:0x124
|
fn_800C9C00 = .text:0x800C9C00; // type:function size:0x124
|
||||||
fn_800C9D24 = .text:0x800C9D24; // type:function size:0x4C
|
GXClearVtxDesc = .text:0x800C9D24; // type:function size:0x4C
|
||||||
fn_800C9D70 = .text:0x800C9D70; // type:function size:0x35C
|
GXSetVtxAttrFmt = .text:0x800C9D70; // type:function size:0x35C
|
||||||
fn_800CA0CC = .text:0x800CA0CC; // type:function size:0x9C
|
fn_800CA0CC = .text:0x800CA0CC; // type:function size:0x9C
|
||||||
fn_800CA168 = .text:0x800CA168; // type:function size:0x8C
|
GXSetArray = .text:0x800CA168; // type:function size:0x8C
|
||||||
fn_800CA1F4 = .text:0x800CA1F4; // type:function size:0x10
|
fn_800CA1F4 = .text:0x800CA1F4; // type:function size:0x10
|
||||||
fn_800CA204 = .text:0x800CA204; // type:function size:0x2D0
|
GXSetTexCoordGen2 = .text:0x800CA204; // type:function size:0x2D0
|
||||||
fn_800CA4D4 = .text:0x800CA4D4; // type:function size:0x48
|
GXSetNumTexGens = .text:0x800CA4D4; // type:function size:0x48
|
||||||
GXSetMisc = .text:0x800CA51C; // type:function size:0x78 scope:global
|
GXSetMisc = .text:0x800CA51C; // type:function size:0x78 scope:global
|
||||||
fn_800CA594 = .text:0x800CA594; // type:function size:0x5C
|
fn_800CA594 = .text:0x800CA594; // type:function size:0x5C
|
||||||
fn_800CA5F0 = .text:0x800CA5F0; // type:function size:0x34
|
fn_800CA5F0 = .text:0x800CA5F0; // type:function size:0x34
|
||||||
|
|
@ -2473,7 +2473,7 @@ fn_800CAAB4 = .text:0x800CAAB4; // type:function size:0x88
|
||||||
fn_800CAB3C = .text:0x800CAB3C; // type:function size:0x84
|
fn_800CAB3C = .text:0x800CAB3C; // type:function size:0x84
|
||||||
__GXPEInit = .text:0x800CABC0; // type:function size:0x80 scope:global
|
__GXPEInit = .text:0x800CABC0; // type:function size:0x80 scope:global
|
||||||
fn_800CAC40 = .text:0x800CAC40; // type:function size:0xA0
|
fn_800CAC40 = .text:0x800CAC40; // type:function size:0xA0
|
||||||
fn_800CACE0 = .text:0x800CACE0; // type:function size:0xF0
|
GXBegin = .text:0x800CACE0; // type:function size:0xF0
|
||||||
fn_800CADD0 = .text:0x800CADD0; // type:function size:0x88
|
fn_800CADD0 = .text:0x800CADD0; // type:function size:0x88
|
||||||
fn_800CAE58 = .text:0x800CAE58; // type:function size:0x58
|
fn_800CAE58 = .text:0x800CAE58; // type:function size:0x58
|
||||||
fn_800CAEB0 = .text:0x800CAEB0; // type:function size:0x54
|
fn_800CAEB0 = .text:0x800CAEB0; // type:function size:0x54
|
||||||
|
|
@ -2506,21 +2506,21 @@ fn_800CBF50 = .text:0x800CBF50; // type:function size:0x28
|
||||||
fn_800CBF78 = .text:0x800CBF78; // type:function size:0x148
|
fn_800CBF78 = .text:0x800CBF78; // type:function size:0x148
|
||||||
fn_800CC0C0 = .text:0x800CC0C0; // type:function size:0x168
|
fn_800CC0C0 = .text:0x800CC0C0; // type:function size:0x168
|
||||||
fn_800CC228 = .text:0x800CC228; // type:function size:0x168
|
fn_800CC228 = .text:0x800CC228; // type:function size:0x168
|
||||||
fn_800CC390 = .text:0x800CC390; // type:function size:0x4C
|
GXSetNumChans = .text:0x800CC390; // type:function size:0x4C
|
||||||
fn_800CC3DC = .text:0x800CC3DC; // type:function size:0x1E4
|
GXSetChanCtrl = .text:0x800CC3DC; // type:function size:0x1E4
|
||||||
fn_800CC5C0 = .text:0x800CC5C0; // type:function size:0x15C
|
fn_800CC5C0 = .text:0x800CC5C0; // type:function size:0x15C
|
||||||
fn_800CC71C = .text:0x800CC71C; // type:function size:0xC8
|
fn_800CC71C = .text:0x800CC71C; // type:function size:0xC8
|
||||||
fn_800CC7E4 = .text:0x800CC7E4; // type:function size:0x274
|
GXInitTexObj = .text:0x800CC7E4; // type:function size:0x274
|
||||||
fn_800CCA58 = .text:0x800CCA58; // type:function size:0x48
|
fn_800CCA58 = .text:0x800CCA58; // type:function size:0x48
|
||||||
fn_800CCAA0 = .text:0x800CCAA0; // type:function size:0x194
|
GXInitTexObjLOD = .text:0x800CCAA0; // type:function size:0x194
|
||||||
fn_800CCC34 = .text:0x800CCC34; // type:function size:0x8
|
fn_800CCC34 = .text:0x800CCC34; // type:function size:0x8
|
||||||
fn_800CCC3C = .text:0x800CCC3C; // type:function size:0x1A8
|
fn_800CCC3C = .text:0x800CCC3C; // type:function size:0x1A8
|
||||||
fn_800CCDE4 = .text:0x800CCDE4; // type:function size:0x54
|
GXLoadTexObj = .text:0x800CCDE4; // type:function size:0x54
|
||||||
fn_800CCE38 = .text:0x800CCE38; // type:function size:0x48
|
fn_800CCE38 = .text:0x800CCE38; // type:function size:0x48
|
||||||
fn_800CCE80 = .text:0x800CCE80; // type:function size:0x9C
|
fn_800CCE80 = .text:0x800CCE80; // type:function size:0x9C
|
||||||
GXInitTexCacheRegion = .text:0x800CCF1C; // type:function size:0x120 scope:global
|
GXInitTexCacheRegion = .text:0x800CCF1C; // type:function size:0x120 scope:global
|
||||||
GXInitTlutRegion = .text:0x800CD03C; // type:function size:0x48 scope:global
|
GXInitTlutRegion = .text:0x800CD03C; // type:function size:0x48 scope:global
|
||||||
fn_800CD084 = .text:0x800CD084; // type:function size:0x48
|
GXInvalidateTexAll = .text:0x800CD084; // type:function size:0x48
|
||||||
fn_800CD0CC = .text:0x800CD0CC; // type:function size:0x14
|
fn_800CD0CC = .text:0x800CD0CC; // type:function size:0x14
|
||||||
fn_800CD0E0 = .text:0x800CD0E0; // type:function size:0x14
|
fn_800CD0E0 = .text:0x800CD0E0; // type:function size:0x14
|
||||||
fn_800CD0F4 = .text:0x800CD0F4; // type:function size:0x9C
|
fn_800CD0F4 = .text:0x800CD0F4; // type:function size:0x9C
|
||||||
|
|
@ -2537,29 +2537,29 @@ fn_800CDB94 = .text:0x800CDB94; // type:function size:0x64
|
||||||
fn_800CDBF8 = .text:0x800CDBF8; // type:function size:0x1AC
|
fn_800CDBF8 = .text:0x800CDBF8; // type:function size:0x1AC
|
||||||
fn_800CDDA4 = .text:0x800CDDA4; // type:function size:0xCC
|
fn_800CDDA4 = .text:0x800CDDA4; // type:function size:0xCC
|
||||||
__GXFlushTextureState = .text:0x800CDE70; // type:function size:0x24 scope:global
|
__GXFlushTextureState = .text:0x800CDE70; // type:function size:0x24 scope:global
|
||||||
fn_800CDE94 = .text:0x800CDE94; // type:function size:0x1A4
|
GXSetTevOp = .text:0x800CDE94; // type:function size:0x1A4
|
||||||
fn_800CE038 = .text:0x800CE038; // type:function size:0x80
|
GXSetTevColorIn = .text:0x800CE038; // type:function size:0x80
|
||||||
fn_800CE0B8 = .text:0x800CE0B8; // type:function size:0x84
|
GXSetTevAlphaIn = .text:0x800CE0B8; // type:function size:0x84
|
||||||
fn_800CE13C = .text:0x800CE13C; // type:function size:0xC0
|
GXSetTevColorOp = .text:0x800CE13C; // type:function size:0xC0
|
||||||
fn_800CE1FC = .text:0x800CE1FC; // type:function size:0xC0
|
GXSetTevAlphaOp = .text:0x800CE1FC; // type:function size:0xC0
|
||||||
fn_800CE2BC = .text:0x800CE2BC; // type:function size:0x74
|
GXSetTevColor = .text:0x800CE2BC; // type:function size:0x74
|
||||||
fn_800CE330 = .text:0x800CE330; // type:function size:0x74
|
fn_800CE330 = .text:0x800CE330; // type:function size:0x74
|
||||||
fn_800CE3A4 = .text:0x800CE3A4; // type:function size:0x74
|
fn_800CE3A4 = .text:0x800CE3A4; // type:function size:0x74
|
||||||
fn_800CE418 = .text:0x800CE418; // type:function size:0x6C
|
fn_800CE418 = .text:0x800CE418; // type:function size:0x6C
|
||||||
fn_800CE484 = .text:0x800CE484; // type:function size:0x6C
|
fn_800CE484 = .text:0x800CE484; // type:function size:0x6C
|
||||||
fn_800CE4F0 = .text:0x800CE4F0; // type:function size:0x58
|
fn_800CE4F0 = .text:0x800CE4F0; // type:function size:0x58
|
||||||
fn_800CE548 = .text:0x800CE548; // type:function size:0xA0
|
fn_800CE548 = .text:0x800CE548; // type:function size:0xA0
|
||||||
fn_800CE5E8 = .text:0x800CE5E8; // type:function size:0x50
|
GXSetAlphaCompare = .text:0x800CE5E8; // type:function size:0x50
|
||||||
fn_800CE638 = .text:0x800CE638; // type:function size:0x84
|
fn_800CE638 = .text:0x800CE638; // type:function size:0x84
|
||||||
fn_800CE6BC = .text:0x800CE6BC; // type:function size:0x1DC
|
GXSetTevOrder = .text:0x800CE6BC; // type:function size:0x1DC
|
||||||
fn_800CE898 = .text:0x800CE898; // type:function size:0x34
|
GXSetNumTevStages = .text:0x800CE898; // type:function size:0x34
|
||||||
fn_800CE8CC = .text:0x800CE8CC; // type:function size:0x1B0
|
fn_800CE8CC = .text:0x800CE8CC; // type:function size:0x1B0
|
||||||
fn_800CEA7C = .text:0x800CEA7C; // type:function size:0x100
|
fn_800CEA7C = .text:0x800CEA7C; // type:function size:0x100
|
||||||
fn_800CEB7C = .text:0x800CEB7C; // type:function size:0x104
|
GXSetBlendMode = .text:0x800CEB7C; // type:function size:0x104
|
||||||
fn_800CEC80 = .text:0x800CEC80; // type:function size:0x40
|
GXSetColorUpdate = .text:0x800CEC80; // type:function size:0x40
|
||||||
fn_800CECC0 = .text:0x800CECC0; // type:function size:0x40
|
GXSetAlphaUpdate = .text:0x800CECC0; // type:function size:0x40
|
||||||
fn_800CED00 = .text:0x800CED00; // type:function size:0x78
|
GXSetZMode = .text:0x800CED00; // type:function size:0x78
|
||||||
fn_800CED78 = .text:0x800CED78; // type:function size:0x40
|
GXSetZCompLoc = .text:0x800CED78; // type:function size:0x40
|
||||||
fn_800CEDB8 = .text:0x800CEDB8; // type:function size:0x110
|
fn_800CEDB8 = .text:0x800CEDB8; // type:function size:0x110
|
||||||
fn_800CEEC8 = .text:0x800CEEC8; // type:function size:0x40
|
fn_800CEEC8 = .text:0x800CEEC8; // type:function size:0x40
|
||||||
fn_800CEF08 = .text:0x800CEF08; // type:function size:0x54
|
fn_800CEF08 = .text:0x800CEF08; // type:function size:0x54
|
||||||
|
|
@ -2570,19 +2570,19 @@ fn_800CF018 = .text:0x800CF018; // type:function size:0xC8
|
||||||
fn_800CF0E0 = .text:0x800CF0E0; // type:function size:0xD4
|
fn_800CF0E0 = .text:0x800CF0E0; // type:function size:0xD4
|
||||||
fn_800CF1B4 = .text:0x800CF1B4; // type:function size:0x70
|
fn_800CF1B4 = .text:0x800CF1B4; // type:function size:0x70
|
||||||
fn_800CF224 = .text:0x800CF224; // type:function size:0x174
|
fn_800CF224 = .text:0x800CF224; // type:function size:0x174
|
||||||
fn_800CF398 = .text:0x800CF398; // type:function size:0xD4
|
GXSetProjection = .text:0x800CF398; // type:function size:0xD4
|
||||||
fn_800CF46C = .text:0x800CF46C; // type:function size:0x78
|
fn_800CF46C = .text:0x800CF46C; // type:function size:0x78
|
||||||
fn_800CF4E4 = .text:0x800CF4E4; // type:function size:0x34
|
fn_800CF4E4 = .text:0x800CF4E4; // type:function size:0x34
|
||||||
fn_800CF518 = .text:0x800CF518; // type:function size:0x34
|
fn_800CF518 = .text:0x800CF518; // type:function size:0x34
|
||||||
fn_800CF54C = .text:0x800CF54C; // type:function size:0x24
|
fn_800CF54C = .text:0x800CF54C; // type:function size:0x24
|
||||||
fn_800CF570 = .text:0x800CF570; // type:function size:0x3C
|
GXLoadPosMtxImm = .text:0x800CF570; // type:function size:0x3C
|
||||||
fn_800CF5AC = .text:0x800CF5AC; // type:function size:0x40
|
fn_800CF5AC = .text:0x800CF5AC; // type:function size:0x40
|
||||||
fn_800CF5EC = .text:0x800CF5EC; // type:function size:0x3C
|
GXSetCurrentMtx = .text:0x800CF5EC; // type:function size:0x3C
|
||||||
fn_800CF628 = .text:0x800CF628; // type:function size:0x84
|
fn_800CF628 = .text:0x800CF628; // type:function size:0x84
|
||||||
fn_800CF6AC = .text:0x800CF6AC; // type:function size:0x11C
|
GXSetViewportJitter = .text:0x800CF6AC; // type:function size:0x11C
|
||||||
fn_800CF7C8 = .text:0x800CF7C8; // type:function size:0x24
|
GXSetViewport = .text:0x800CF7C8; // type:function size:0x24
|
||||||
fn_800CF7EC = .text:0x800CF7EC; // type:function size:0x4C
|
fn_800CF7EC = .text:0x800CF7EC; // type:function size:0x4C
|
||||||
fn_800CF838 = .text:0x800CF838; // type:function size:0xB0
|
GXSetScissor = .text:0x800CF838; // type:function size:0xB0
|
||||||
fn_800CF8E8 = .text:0x800CF8E8; // type:function size:0x44
|
fn_800CF8E8 = .text:0x800CF8E8; // type:function size:0x44
|
||||||
fn_800CF92C = .text:0x800CF92C; // type:function size:0x28
|
fn_800CF92C = .text:0x800CF92C; // type:function size:0x28
|
||||||
fn_800CF954 = .text:0x800CF954; // type:function size:0x84
|
fn_800CF954 = .text:0x800CF954; // type:function size:0x84
|
||||||
|
|
@ -4843,7 +4843,7 @@ lbl_80121E00 = .data:0x80121E00; // type:object size:0x150
|
||||||
HeapSizeTbl = .data:0x80121F50; // type:object size:0x78 scope:local
|
HeapSizeTbl = .data:0x80121F50; // type:object size:0x78 scope:local
|
||||||
lbl_80121FC8 = .data:0x80121FC8; // type:object size:0x50
|
lbl_80121FC8 = .data:0x80121FC8; // type:object size:0x50
|
||||||
lbl_80122018 = .data:0x80122018; // type:object size:0x128
|
lbl_80122018 = .data:0x80122018; // type:object size:0x128
|
||||||
fcoltbl = .data:0x80122140; // type:object size:0x40 align:32
|
fcoltbl = .data:0x80122140; // type:object size:0x40 scope:local align:32
|
||||||
lbl_80122180 = .data:0x80122180; // type:object size:0x1F data:string
|
lbl_80122180 = .data:0x80122180; // type:object size:0x1F data:string
|
||||||
lbl_8012219F = .data:0x8012219F; // type:object size:0x31
|
lbl_8012219F = .data:0x8012219F; // type:object size:0x31
|
||||||
lbl_801221D0 = .data:0x801221D0; // type:object size:0x12
|
lbl_801221D0 = .data:0x801221D0; // type:object size:0x12
|
||||||
|
|
@ -5953,7 +5953,7 @@ lbl_801D3B10 = .sbss:0x801D3B10; // type:object size:0x4 data:4byte
|
||||||
lbl_801D3B14 = .sbss:0x801D3B14; // type:object size:0x4 data:4byte
|
lbl_801D3B14 = .sbss:0x801D3B14; // type:object size:0x4 data:4byte
|
||||||
lbl_801D3B18 = .sbss:0x801D3B18; // type:object size:0x4 data:4byte
|
lbl_801D3B18 = .sbss:0x801D3B18; // type:object size:0x4 data:4byte
|
||||||
currentHeapHandle = .sbss:0x801D3B1C; // type:object size:0x4 data:4byte
|
currentHeapHandle = .sbss:0x801D3B1C; // type:object size:0x4 data:4byte
|
||||||
lbl_801D3B20 = .sbss:0x801D3B20; // type:object size:0x8 data:4byte
|
RenderMode = .sbss:0x801D3B20; // type:object size:0x8 data:4byte
|
||||||
saftyFrameF = .sbss:0x801D3B28; // type:object size:0x4 data:4byte
|
saftyFrameF = .sbss:0x801D3B28; // type:object size:0x4 data:4byte
|
||||||
strlinecnt = .sbss:0x801D3B2C; // type:object size:0x2 data:2byte
|
strlinecnt = .sbss:0x801D3B2C; // type:object size:0x2 data:2byte
|
||||||
empstrline = .sbss:0x801D3B2E; // type:object size:0x2 data:2byte
|
empstrline = .sbss:0x801D3B2E; // type:object size:0x2 data:2byte
|
||||||
|
|
|
||||||
|
|
@ -234,7 +234,7 @@ config.libs = [
|
||||||
Object(NonMatching, "game/jmp.c"),
|
Object(NonMatching, "game/jmp.c"),
|
||||||
Object(Matching, "game/malloc.c"),
|
Object(Matching, "game/malloc.c"),
|
||||||
Object(Matching, "game/memory.c"),
|
Object(Matching, "game/memory.c"),
|
||||||
Object(NonMatching, "game/printfunc.c"),
|
Object(Matching, "game/printfunc.c"),
|
||||||
Object(Matching, "game/process.c"),
|
Object(Matching, "game/process.c"),
|
||||||
Object(NonMatching, "game/sprman.c"),
|
Object(NonMatching, "game/sprman.c"),
|
||||||
Object(NonMatching, "game/sprput.c"),
|
Object(NonMatching, "game/sprput.c"),
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include "common_structs.h"
|
#include "common_structs.h"
|
||||||
|
#include "dolphin/gx/GXStruct.h"
|
||||||
|
|
||||||
void Hu3DBGColorSet(u8, u8, u8);
|
void Hu3DBGColorSet(u8, u8, u8);
|
||||||
void Hu3DCameraCreate(s16);
|
void Hu3DCameraCreate(s16);
|
||||||
|
|
@ -67,6 +68,10 @@ void omOvlGotoEx(int id, s16 end_mode, int stat, int event);
|
||||||
void omOvlReturnEx(int level, s16 end_mode);
|
void omOvlReturnEx(int level, s16 end_mode);
|
||||||
void WipeCreate(char dir, char type, short duration);
|
void WipeCreate(char dir, char type, short duration);
|
||||||
|
|
||||||
u16 print8(s16 x, s16 y, float scale, char *str, ...);
|
void pfInit(void);
|
||||||
|
void pfClsScr(void);
|
||||||
|
s16 print8(s16 x, s16 y, float scale, char *str, ...);
|
||||||
|
s16 printWin(s16 x, s16 y, s16 w, s16 h, GXColor *color);
|
||||||
|
void pfDrawFonts(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
19
include/stdarg.h
Normal file
19
include/stdarg.h
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
#ifndef STDARG_H
|
||||||
|
#define STDARG_H
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
char gpr;
|
||||||
|
char fpr;
|
||||||
|
char reserved[2];
|
||||||
|
char* input_arg_area;
|
||||||
|
char* reg_save_area;
|
||||||
|
} __va_list[1];
|
||||||
|
typedef __va_list va_list;
|
||||||
|
|
||||||
|
void* __va_arg(va_list v_list, unsigned char type);
|
||||||
|
|
||||||
|
#define va_start(ap, fmt) ((void) fmt, __builtin_va_info(&ap))
|
||||||
|
#define va_arg(ap, t) (*((t*) __va_arg(ap, _var_arg_typeof(t))))
|
||||||
|
#define va_end(ap) (void) 0
|
||||||
|
|
||||||
|
#endif
|
||||||
12
include/stdio.h
Normal file
12
include/stdio.h
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
#ifndef _STDIO_H_
|
||||||
|
#define _STDIO_H_
|
||||||
|
|
||||||
|
#include "stdarg.h"
|
||||||
|
|
||||||
|
int puts(const char* s);
|
||||||
|
int printf(const char*, ...);
|
||||||
|
int sprintf(char* s, const char* format, ...);
|
||||||
|
int vprintf(const char* format, va_list arg);
|
||||||
|
int vsprintf(char* s, const char* format, va_list arg);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -4,11 +4,13 @@
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include "common_structs.h"
|
#include "common_structs.h"
|
||||||
#include "dolphin/os.h"
|
#include "dolphin/os.h"
|
||||||
|
#include "dolphin/gx/GXStruct.h"
|
||||||
|
|
||||||
extern u16 HuPadBtnDown[4];
|
extern u16 HuPadBtnDown[4];
|
||||||
extern u8 HuPadDStk[4];
|
extern u8 HuPadDStk[4];
|
||||||
|
|
||||||
extern OSHeapHandle currentHeapHandle;
|
extern OSHeapHandle currentHeapHandle;
|
||||||
|
extern GXRenderModeObj *RenderMode;
|
||||||
|
|
||||||
extern BOOL saftyFrameF;
|
extern BOOL saftyFrameF;
|
||||||
extern u16 strlinecnt;
|
extern u16 strlinecnt;
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,19 @@
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
#include "dolphin/mtx.h"
|
||||||
#include "dolphin/gx.h"
|
#include "dolphin/gx.h"
|
||||||
|
#include "stdio.h"
|
||||||
|
#include "stdarg.h"
|
||||||
|
|
||||||
|
extern u8 ank8x8_4b[];
|
||||||
|
|
||||||
struct strline_data {
|
struct strline_data {
|
||||||
u16 type;
|
u16 type;
|
||||||
u16 last_idx;
|
u16 color_idx;
|
||||||
s16 x;
|
s16 x;
|
||||||
s16 y;
|
s16 y;
|
||||||
s16 w;
|
s16 w;
|
||||||
s16 h;
|
s16 h;
|
||||||
s16 empty_line;
|
s16 empstrline_next;
|
||||||
float scale;
|
float scale;
|
||||||
char str[80];
|
char str[80];
|
||||||
GXColor color;
|
GXColor color;
|
||||||
|
|
@ -22,7 +27,26 @@ u16 strlinecnt;
|
||||||
u16 empstrline;
|
u16 empstrline;
|
||||||
int fontcolor;
|
int fontcolor;
|
||||||
|
|
||||||
void pfClsScr(void);
|
static void WireDraw(void);
|
||||||
|
|
||||||
|
static GXColor ATTRIBUTE_ALIGN(32) fcoltbl[16] = {
|
||||||
|
{ 0, 0, 0, 255 },
|
||||||
|
{ 0, 0, 128, 255 },
|
||||||
|
{ 128, 0, 0, 255 },
|
||||||
|
{ 128, 0, 128, 255 },
|
||||||
|
{ 0, 128, 0, 255 },
|
||||||
|
{ 0, 128, 128, 255 },
|
||||||
|
{ 128, 128, 0, 255 },
|
||||||
|
{ 128, 128, 128, 255 },
|
||||||
|
{ 128, 128, 128, 128 },
|
||||||
|
{ 0, 0, 255, 255 },
|
||||||
|
{ 255, 0, 0, 255 },
|
||||||
|
{ 255, 0, 255, 255 },
|
||||||
|
{ 0, 255, 0, 255 },
|
||||||
|
{ 0, 255, 255, 255 },
|
||||||
|
{ 255, 255, 0, 255 },
|
||||||
|
{ 255, 255, 255, 255 }
|
||||||
|
};
|
||||||
|
|
||||||
void pfInit(void)
|
void pfInit(void)
|
||||||
{
|
{
|
||||||
|
|
@ -42,10 +66,97 @@ void pfClsScr(void)
|
||||||
empstrline = 0;
|
empstrline = 0;
|
||||||
strlinecnt = 0;
|
strlinecnt = 0;
|
||||||
for (i = 0; i < 256; i++) {
|
for (i = 0; i < 256; i++) {
|
||||||
strline[i].empty_line = i+1;
|
strline[i].empstrline_next = i+1;
|
||||||
strline[i].type = 0;
|
strline[i].type = 0;
|
||||||
if (strline[i].str[0] != 0) {
|
if (strline[i].str[0] != 0) {
|
||||||
strline[i].str[0] = 0;
|
strline[i].str[0] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s16 print8(s16 x, s16 y, float scale, char *str, ...)
|
||||||
|
{
|
||||||
|
struct strline_data *strline_curr;
|
||||||
|
char *src = pfStrBuf;
|
||||||
|
char *dst;
|
||||||
|
s16 ret;
|
||||||
|
va_list list;
|
||||||
|
strline_curr = &strline[empstrline];
|
||||||
|
if(strlinecnt >= 256) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
va_start(list, str);
|
||||||
|
vsprintf(pfStrBuf, str, list);
|
||||||
|
strlinecnt++;
|
||||||
|
ret = empstrline;
|
||||||
|
empstrline = strline_curr->empstrline_next;
|
||||||
|
strline_curr->type = 0;
|
||||||
|
strline_curr->color_idx = fontcolor;
|
||||||
|
strline_curr->x = x;
|
||||||
|
strline_curr->y = y;
|
||||||
|
strline_curr->scale = scale;
|
||||||
|
dst = strline_curr->str;
|
||||||
|
while(*src) {
|
||||||
|
*dst++ = *src++;
|
||||||
|
}
|
||||||
|
*dst = 0;
|
||||||
|
va_end(list);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
s16 printWin(s16 x, s16 y, s16 w, s16 h, GXColor *color)
|
||||||
|
{
|
||||||
|
struct strline_data *strline_curr;
|
||||||
|
s16 ret;
|
||||||
|
char *src = pfStrBuf;
|
||||||
|
strline_curr = &strline[empstrline];
|
||||||
|
if(strlinecnt >= 256) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
strlinecnt++;
|
||||||
|
ret = empstrline;
|
||||||
|
empstrline = strline_curr->empstrline_next;
|
||||||
|
strline_curr->type = 1;
|
||||||
|
strline_curr->color.r = color->r;
|
||||||
|
strline_curr->color.g = color->g;
|
||||||
|
strline_curr->color.b = color->b;
|
||||||
|
strline_curr->color.a = color->a;
|
||||||
|
strline_curr->x = x;
|
||||||
|
strline_curr->y = y;
|
||||||
|
strline_curr->w = w;
|
||||||
|
strline_curr->h = h;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
void pfDrawFonts(void)
|
||||||
|
{
|
||||||
|
GXTexObj font_tex;
|
||||||
|
Mtx modelview;
|
||||||
|
Mtx44 proj;
|
||||||
|
u16 strline_count = strlinecnt;
|
||||||
|
if(saftyFrameF) {
|
||||||
|
WireDraw();
|
||||||
|
}
|
||||||
|
MTXOrtho(proj, 0, 480, 0, 640, 0, 10);
|
||||||
|
GXSetProjection(proj, GX_ORTHOGRAPHIC);
|
||||||
|
MTXIdentity(modelview);
|
||||||
|
GXLoadPosMtxImm(modelview, GX_PNMTX0);
|
||||||
|
GXSetCurrentMatrix(GX_PNMTX0);
|
||||||
|
GXSetViewport(0, 0, RenderMode->fbWidth, RenderMode->efbHeight, 0, 1);
|
||||||
|
GXSetScissor(0, 0, RenderMode->fbWidth, RenderMode->efbHeight);
|
||||||
|
GXClearVtxDesc();
|
||||||
|
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||||
|
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX8);
|
||||||
|
GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
|
||||||
|
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_S16, 0);
|
||||||
|
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||||
|
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||||
|
GXSetArray(GX_VA_CLR0, fcoltbl, sizeof(GXColor));
|
||||||
|
GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE);
|
||||||
|
GXInitTexObj(&font_tex, ank8x8_4b, 128, 128, GX_TF_I4, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||||
|
GXInitTexObjLOD(&font_tex, GX_NEAR, GX_NEAR, 0, 0, 0, GX_FALSE, GX_FALSE, GX_ANISO_1);
|
||||||
|
GXLoadTexObj(&font_tex, GX_TEXMAP0);
|
||||||
|
GXSetNumTevStages(1);
|
||||||
|
GXSetNumTexGens(1);
|
||||||
|
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0);
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "dolphin/os.h"
|
#include "dolphin/os.h"
|
||||||
|
#include "stdio.h"
|
||||||
|
|
||||||
extern int gcsetjmp(jmp_buf *jump);
|
extern int gcsetjmp(jmp_buf *jump);
|
||||||
extern void gclongjmp(jmp_buf *jump, int status);
|
extern void gclongjmp(jmp_buf *jump, int status);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue