core2/code_6DA30.c done, _printbuffer_draw_lette() match
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
# banjo (98.0621%)
|
# banjo (98.4318%)
|
||||||
|
|
||||||
<img src="./progress/progress_total.svg">
|
<img src="./progress/progress_total.svg">
|
||||||
|
|
||||||
|
@@ -148,7 +148,7 @@ typedef struct {
|
|||||||
} N_ALGenericEvent;
|
} N_ALGenericEvent;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
u16 type;
|
s16 type;
|
||||||
union {
|
union {
|
||||||
ALMIDIEvent midi;
|
ALMIDIEvent midi;
|
||||||
ALTempoEvent tempo;
|
ALTempoEvent tempo;
|
||||||
@@ -165,6 +165,24 @@ typedef struct {
|
|||||||
} msg;
|
} msg;
|
||||||
} N_ALEvent;
|
} N_ALEvent;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
u16 type;
|
||||||
|
union {
|
||||||
|
ALMIDIEvent midi;
|
||||||
|
ALTempoEvent tempo;
|
||||||
|
ALEndEvent end;
|
||||||
|
N_ALNoteEvent note;
|
||||||
|
N_ALVolumeEvent vol;
|
||||||
|
ALSeqpLoopEvent loop;
|
||||||
|
ALSeqpVolEvent spvol;
|
||||||
|
ALSeqpPriorityEvent sppriority;
|
||||||
|
ALSeqpSeqEvent spseq;
|
||||||
|
ALSeqpBankEvent spbank;
|
||||||
|
N_ALOscEvent osc;
|
||||||
|
N_ALGenericEvent generic;
|
||||||
|
} msg;
|
||||||
|
} N_ALEvent2;
|
||||||
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
ALLink node;
|
ALLink node;
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
</mask>
|
</mask>
|
||||||
<g mask="url(#anybadge_1)">
|
<g mask="url(#anybadge_1)">
|
||||||
<path fill="#555" d="M0 0h44v20H0z"/>
|
<path fill="#555" d="M0 0h44v20H0z"/>
|
||||||
<path fill="#0de000" d="M44 0h67v20H44z"/>
|
<path fill="#0ae000" d="M44 0h67v20H44z"/>
|
||||||
<path fill="url(#b)" d="M0 0h111v20H0z"/>
|
<path fill="url(#b)" d="M0 0h111v20H0z"/>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
<text x="22.0" y="14">core2</text>
|
<text x="22.0" y="14">core2</text>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||||
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">97.0190%</text>
|
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">97.6633%</text>
|
||||||
<text x="77.5" y="14">97.0190%</text>
|
<text x="77.5" y="14">97.6633%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@@ -9,7 +9,7 @@
|
|||||||
</mask>
|
</mask>
|
||||||
<g mask="url(#anybadge_1)">
|
<g mask="url(#anybadge_1)">
|
||||||
<path fill="#555" d="M0 0h150v20H0z"/>
|
<path fill="#555" d="M0 0h150v20H0z"/>
|
||||||
<path fill="#09e000" d="M150 0h67v20H150z"/>
|
<path fill="#07e000" d="M150 0h67v20H150z"/>
|
||||||
<path fill="url(#b)" d="M0 0h217v20H0z"/>
|
<path fill="url(#b)" d="M0 0h217v20H0z"/>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
|
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||||
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">98.0621%</text>
|
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">98.4318%</text>
|
||||||
<text x="183.5" y="14">98.0621%</text>
|
<text x="183.5" y="14">98.4318%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -69,7 +69,7 @@ void func_80243070(Struct87s *arg0) {
|
|||||||
void func_8024324C(N_ALSndPlayer *arg0)
|
void func_8024324C(N_ALSndPlayer *arg0)
|
||||||
{
|
{
|
||||||
N_ALSndPlayer *new_var = (N_ALSndPlayer *)arg0;
|
N_ALSndPlayer *new_var = (N_ALSndPlayer *)arg0;
|
||||||
N_ALEvent sp3C;
|
N_ALEvent2 sp3C;
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
@@ -93,7 +93,7 @@ void func_802432F8(N_ALSndPlayer *sndp, N_ALEvent *event) {
|
|||||||
N_AL_Struct81s *temp_s0;
|
N_AL_Struct81s *temp_s0;
|
||||||
ALVoiceConfig spDC;
|
ALVoiceConfig spDC;
|
||||||
N_ALSndPlayer *temp_fp;
|
N_ALSndPlayer *temp_fp;
|
||||||
N_ALEvent *var_s5;
|
N_ALEvent2 *var_s5;
|
||||||
ALSound *temp_s1;
|
ALSound *temp_s1;
|
||||||
|
|
||||||
N_ALEvent spC0;
|
N_ALEvent spC0;
|
||||||
@@ -339,7 +339,7 @@ void func_802432F8(N_ALSndPlayer *sndp, N_ALEvent *event) {
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
var_v0 = var_s5->type & 0x2D1;
|
var_v0 = (u16)var_s5->type & 0x2D1;
|
||||||
temp_s0 = temp_s6;
|
temp_s0 = temp_s6;
|
||||||
if ((temp_s0 != NULL) && !var_v0) {
|
if ((temp_s0 != NULL) && !var_v0) {
|
||||||
sp94 = temp_s0->unk3F & 1;
|
sp94 = temp_s0->unk3F & 1;
|
||||||
|
@@ -513,28 +513,26 @@ void *func_802F55A8(u8 arg0){
|
|||||||
return print_sFonts[D_80380AE8][arg0].unk4;
|
return print_sFonts[D_80380AE8][arg0].unk4;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef NONMATCHING
|
void _printbuffer_draw_letter(char letter, f32* xPtr, f32* yPtr, f32 arg3, Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
||||||
f32 D_80380FA0;
|
static f32 D_80380FA0;
|
||||||
void _printbuffer_draw_letter(s32 letter, f32* xPtr, f32* yPtr, f32 arg3, Gfx **gtx, Mtx **mtx, Vtx **vtx);
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_6DA30/_printbuffer_draw_letter.s")
|
|
||||||
#else
|
|
||||||
void _printbuffer_draw_letter(s32 letter, f32* xPtr, f32* yPtr, f32 arg3, Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
|
||||||
// u8 letter = arg0;
|
// u8 letter = arg0;
|
||||||
BKSpriteTextureBlock *sp214;
|
BKSpriteTextureBlock *sp214;
|
||||||
|
s32 sp210;
|
||||||
s32 sp20C;
|
s32 sp20C;
|
||||||
f32 sp200;
|
|
||||||
f32 sp1F8;
|
|
||||||
s32 sp1F4; //font_type;
|
|
||||||
f32 f18;
|
|
||||||
f32 f28;
|
|
||||||
f32 f2;
|
|
||||||
|
|
||||||
int i;
|
|
||||||
s32 t0;
|
s32 t0;
|
||||||
s8 t1;
|
s8 t1;
|
||||||
|
f32 sp200;
|
||||||
|
f32 f28;
|
||||||
|
f32 sp1F8;
|
||||||
|
s32 sp1F4; //font_type;
|
||||||
|
|
||||||
|
int i;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
t0 = 0;
|
t0 = 0;
|
||||||
f18 = *xPtr;
|
sp200 = *xPtr;
|
||||||
f28 = *yPtr;
|
f28 = *yPtr;
|
||||||
t1 = 0;
|
t1 = 0;
|
||||||
|
|
||||||
@@ -564,9 +562,10 @@ void _printbuffer_draw_letter(s32 letter, f32* xPtr, f32* yPtr, f32 arg3, Gfx **
|
|||||||
}//L802F5738
|
}//L802F5738
|
||||||
break;
|
break;
|
||||||
case 2: //L802F5740
|
case 2: //L802F5740
|
||||||
|
sp20C = letter;
|
||||||
if(D_80380B04){
|
if(D_80380B04){
|
||||||
t0 = 1;
|
t0 = 1;
|
||||||
sp20C = sp20C + (D_80380B04 << 8) - 0x100;
|
sp20C += (D_80380B04 << 8) - 0x100;
|
||||||
D_80380B04 = 0;
|
D_80380B04 = 0;
|
||||||
}
|
}
|
||||||
else{//L802F5764
|
else{//L802F5764
|
||||||
@@ -580,7 +579,7 @@ void _printbuffer_draw_letter(s32 letter, f32* xPtr, f32* yPtr, f32 arg3, Gfx **
|
|||||||
print_sInFontFormatMode = FALSE;
|
print_sInFontFormatMode = FALSE;
|
||||||
switch(letter){
|
switch(letter){
|
||||||
case ' '://802F5818
|
case ' '://802F5818
|
||||||
*xPtr += arg3*((D_80380AF0) ? D_80369068[D_80380AE8]: D_80369068[D_80380AE8]*0.8);
|
*xPtr += ((D_80380AF0) ? D_80369068[D_80380AE8]: D_80369068[D_80380AE8]*0.8) * arg3;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'b': //L802F5890
|
case 'b': //L802F5890
|
||||||
@@ -675,96 +674,99 @@ void _printbuffer_draw_letter(s32 letter, f32* xPtr, f32* yPtr, f32 arg3, Gfx **
|
|||||||
case 0xff://L802F5BFC
|
case 0xff://L802F5BFC
|
||||||
D_80380B04 = 2;
|
D_80380B04 = 2;
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{//L802F5C08
|
else{//L802F5C08
|
||||||
BKSpriteTextureBlock *phi_t0_2;
|
|
||||||
u8 *sp210;
|
|
||||||
f32 phi_f0;
|
|
||||||
|
|
||||||
sp200 = *xPtr;
|
|
||||||
sp214 = func_802F5494(sp20C, &sp1F4);
|
sp214 = func_802F5494(sp20C, &sp1F4);
|
||||||
if (D_80380B10 != 0) {
|
if (D_80380B10 != 0) {
|
||||||
sp200 += randf2(-2.0f, 2.0f);
|
sp200 += randf2(-2.0f, 2.0f);
|
||||||
f28 += randf2(-2.0f, 2.0f);
|
f28 += randf2(-2.0f, 2.0f);
|
||||||
}
|
}
|
||||||
if (D_80380AF0 != 0) {
|
sp1F8 = (D_80380AF0 != 0) ? D_80369068[D_80380AE8] : sp214->x;
|
||||||
sp1F8 = (f32)D_80369068[D_80380AE8];
|
|
||||||
} else {
|
|
||||||
sp1F8 = (f32)sp214->x;
|
|
||||||
}
|
|
||||||
// temp_f2 = D_80380FA0;
|
// temp_f2 = D_80380FA0;
|
||||||
// phi_f2 = temp_f2;
|
// phi_f2 = temp_f2;
|
||||||
if (D_80380FA0 == 0.0f) {
|
if (D_80380FA0 == 0.0f) {
|
||||||
D_80380FA0 = -sp1F8 * 0.5;
|
D_80380FA0 = -sp1F8 * 0.5;
|
||||||
}
|
}
|
||||||
sp210 = (u8*)(sp214 + 1);
|
|
||||||
sp200 += (D_80380FA0 + (sp1F8 - sp214->x) * 0.5);
|
sp200 += (D_80380FA0 + (sp1F8 - sp214->x) * 0.5);
|
||||||
f28 -= sp214->h*0.5;
|
f28 -= sp214->h*0.5;
|
||||||
while((s32)sp210 % 8){
|
sp210 = (sp214 + 1);
|
||||||
|
while(sp210 % 8){
|
||||||
sp210++;
|
sp210++;
|
||||||
}
|
}
|
||||||
if (sp1F4 == SPRITE_TYPE_RGBA32) {
|
if (sp1F4 == SPRITE_TYPE_RGBA32) {
|
||||||
gDPLoadTextureTile((*gfx)++, sp210, G_IM_FMT_RGBA, G_IM_SIZ_32b, sp214->w, sp214->h, 0, 0, sp214->x-1, sp214->y - 1, NULL, G_TX_CLAMP, G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
gDPLoadTextureTile((*gfx)++, sp210, G_IM_FMT_RGBA, G_IM_SIZ_32b, sp214->w, sp214->h, 0, 0, sp214->x-1, sp214->y - 1, NULL, G_TX_CLAMP, G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||||
} else if (sp1F4 == SPRITE_TYPE_RGBA16) {
|
} else if (sp1F4 == SPRITE_TYPE_IA8) {
|
||||||
gDPLoadTextureTile((*gfx)++, sp210, G_IM_FMT_RGBA, G_IM_SIZ_16b, sp214->w, sp214->h, 0, 0, sp214->x-1, sp214->y - 1, NULL, G_TX_CLAMP, G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
gDPLoadTextureTile((*gfx)++, sp210, G_IM_FMT_IA, G_IM_SIZ_8b, sp214->w, sp214->h, 0, 0, sp214->x-1, sp214->y - 1, NULL, G_TX_CLAMP, G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||||
} else if (sp1F4 == SPRITE_TYPE_CI8) {
|
} else if (sp1F4 == SPRITE_TYPE_I8) {
|
||||||
gDPLoadTextureTile((*gfx)++, sp210, G_IM_FMT_I, G_IM_SIZ_8b, sp214->w, sp214->h, 0, 0, sp214->x-1, sp214->y - 1, NULL, G_TX_CLAMP, G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
gDPLoadTextureTile((*gfx)++, sp210, G_IM_FMT_I, G_IM_SIZ_8b, sp214->w, sp214->h, 0, 0, sp214->x-1, sp214->y - 1, NULL, G_TX_CLAMP, G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||||
} else if (sp1F4 == SPRITE_TYPE_I4) {
|
} else if (sp1F4 == SPRITE_TYPE_I4) {
|
||||||
gDPLoadTextureTile_4b((*gfx)++, sp210, G_IM_FMT_I, sp214->w, sp214->h, 0, 0, sp214->x-1, sp214->y-1, NULL, G_TX_CLAMP, G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
gDPLoadTextureTile_4b((*gfx)++, sp210, G_IM_FMT_I, sp214->w, sp214->h, 0, 0, sp214->x-1, sp214->y-1, NULL, G_TX_CLAMP, G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||||
} else if (sp1F4 == SPRITE_TYPE_CI8) {
|
} else if (sp1F4 == SPRITE_TYPE_CI8) {
|
||||||
gDPLoadTLUT_pal256((*gfx)++, func_802F55A8(sp20C));
|
void * pal = func_802F55A8(sp20C);
|
||||||
|
gDPLoadTLUT_pal256((*gfx)++, pal);
|
||||||
gDPLoadTextureTile((*gfx)++, sp210, G_IM_FMT_CI, G_IM_SIZ_8b, sp214->w, sp214->h, 0, 0, sp214->x-1, sp214->y-1, NULL, G_TX_CLAMP, G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
gDPLoadTextureTile((*gfx)++, sp210, G_IM_FMT_CI, G_IM_SIZ_8b, sp214->w, sp214->h, 0, 0, sp214->x-1, sp214->y-1, NULL, G_TX_CLAMP, G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||||
gDPSetTextureLUT((*gfx)++, G_TT_NONE | 0x80000000);
|
gDPSetTextureLUT((*gfx)++, G_TT_RGBA16);
|
||||||
}//L802F6570
|
}//L802F6570
|
||||||
if (D_80380AF8 != 0) {
|
if (D_80380AF8 != 0) {
|
||||||
|
s32 temp_t1;
|
||||||
|
s32 phi_a0;
|
||||||
|
temp_t1 = ((print_sCurrentPtr->unk4 - print_sCurrentPtr->y) - D_80380B0C) + 1;
|
||||||
|
phi_a0 = - MAX(1 - D_80380B0C, MIN(0, temp_t1));
|
||||||
|
|
||||||
s32 temp_t1 = ((print_sCurrentPtr->unk4 - print_sCurrentPtr->y) - D_80380B0C) + 1;
|
|
||||||
s32 phi_a0 = MAX(MAX(temp_t1, 0), 1 - D_80380B0C);
|
|
||||||
gDPSetTextureImage((*gfx)++, G_IM_FMT_I, G_IM_SIZ_8b, 32, &D_80380B20);
|
gDPSetTextureImage((*gfx)++, G_IM_FMT_I, G_IM_SIZ_8b, 32, &D_80380B20);
|
||||||
gDPSetTile((*gfx)++, G_IM_FMT_I, G_IM_SIZ_8b, (sp214->x + 8) >> 3, 0x0100, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD);
|
gDPSetTile((*gfx)++, G_IM_FMT_I, G_IM_SIZ_8b, (sp214->x + 8) >> 3, 0x0100, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD);
|
||||||
gDPLoadSync((*gfx)++);
|
gDPLoadSync((*gfx)++);
|
||||||
gDPLoadTile((*gfx)++, G_TX_LOADTILE, 0, (0-phi_a0) << 2, (sp214->x) << 2, (D_80380B0C - 1) << 2);
|
gDPLoadTile((*gfx)++, G_TX_LOADTILE, 0 << G_TEXTURE_IMAGE_FRAC, (phi_a0) << G_TEXTURE_IMAGE_FRAC, (sp214->x) << G_TEXTURE_IMAGE_FRAC, (D_80380B0C - 1) << G_TEXTURE_IMAGE_FRAC);
|
||||||
gDPPipeSync((*gfx)++);
|
gDPPipeSync((*gfx)++);
|
||||||
gDPSetTile((*gfx)++, G_IM_FMT_I, G_IM_SIZ_8b, (sp214->x + 8) >> 3, 0x0100, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD);
|
gDPSetTile((*gfx)++, G_IM_FMT_I, G_IM_SIZ_8b, ((sp214->x - 0 + 1)*G_IM_SIZ_8b_LINE_BYTES + 7) >> 3, 0x0100, 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD);
|
||||||
gDPSetTileSize((*gfx)++, 1, 0, 0, ((sp214->x - 1) + 1) << 2, (MIN(temp_t1, 0) -phi_a0)<<2);
|
gDPSetTileSize((*gfx)++, 1, 0 << G_TEXTURE_IMAGE_FRAC, (MAX(0, temp_t1) + phi_a0) << G_TEXTURE_IMAGE_FRAC, (sp214->x) << G_TEXTURE_IMAGE_FRAC, (MAX(0, temp_t1) - (1 - D_80380B0C))<<G_TEXTURE_IMAGE_FRAC);
|
||||||
|
|
||||||
// gDPLoadMultiTile((*gfx)++, &D_80380B20,)
|
// gDPLoadMultiTile((*gfx)++, &D_80380B20,)
|
||||||
|
|
||||||
}//L802F677C
|
}//L802F677C
|
||||||
if (D_80380AF4 != 0) {
|
if (D_80380AF4 != 0) {
|
||||||
f32 spD0;
|
|
||||||
f32 spC0;
|
|
||||||
f32 temp_f24;
|
f32 temp_f24;
|
||||||
f32 temp_f0_3;
|
f32 spD0;
|
||||||
|
f32 ix;
|
||||||
|
f32 iy;
|
||||||
|
f32 temp_f26;
|
||||||
|
f32 spC0;
|
||||||
|
|
||||||
spC0 = f28 - (framebuffer_height - 1)*0.5;
|
temp_f24 = (sp214->x - 1.0);
|
||||||
temp_f24 = sp214->x - 1.0;
|
|
||||||
spD0 = sp214->y - 1.0;
|
spD0 = sp214->y - 1.0;
|
||||||
|
temp_f26 = (f64) sp200 - (f32) framebuffer_width * 0.5;
|
||||||
|
spC0 = (f64)f28 - (f32)framebuffer_height*0.5 -0.5f;
|
||||||
gSPVertex((*gfx)++, *vtx, 4, 0);
|
gSPVertex((*gfx)++, *vtx, 4, 0);
|
||||||
for(f28 = 0.0f; f28 < 2.0f; f28+= 1.0f){
|
for(iy = 0.0f; iy < 2.0; iy+= 1.0){
|
||||||
for(temp_f0_3 = 0.0f; temp_f0_3 < 2.0f; temp_f0_3 += 1.0f){
|
for(ix = 0.0f; ix < 2.0; ix += 1.0){
|
||||||
(*vtx)->v.ob[0] = (s16)(((f64)sp214->x*arg3*temp_f0_3 + ((f64)sp200 - framebuffer_width * 0.5)) * 4.0);
|
s32 s = (ix * temp_f24 * 64.0f);
|
||||||
(*vtx)->v.ob[1] = (s16)(((f64)spD0*arg3*f28 + ((f64)sp200 - framebuffer_width * 0.5)) * 4.0);
|
(*vtx)->v.ob[0] = (s16)(s32)((f64) (temp_f26 + (temp_f24 * arg3 * ix)) * 4.0);
|
||||||
(*vtx)->v.ob[2] = -0x14;
|
{
|
||||||
(*vtx)->v.tc[0] = (s16)(temp_f0_3*temp_f24*64.0f);
|
s32 t = (iy * spD0 * 64.0f);
|
||||||
(*vtx)->v.tc[1] = (s16)(f28*spD0*64.0f);
|
(*vtx)->v.ob[1] = (s16) (s32) ((f64) (spC0 + (spD0 * arg3 * iy)) * -4.0);
|
||||||
if(f28 != 0.0f){
|
(*vtx)->v.ob[2] = -0x14;
|
||||||
(*vtx)->v.cn[3] = print_sCurrentPtr->unk6;
|
(*vtx)->v.tc[0] = s;
|
||||||
}
|
(*vtx)->v.tc[1] = t;
|
||||||
else{
|
|
||||||
(*vtx)->v.cn[3] = print_sCurrentPtr->unk4;
|
|
||||||
}
|
}
|
||||||
|
(*vtx)->v.cn[3] =(iy != 0.0f) ? print_sCurrentPtr->unk6 : print_sCurrentPtr->unk4;
|
||||||
|
|
||||||
(*vtx)++;
|
(*vtx)++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gSP1Quadrangle((*gfx)++, 0, 1, 3, 2, 0);
|
gSP1Quadrangle((*gfx)++, 0, 1, 3, 2, 0);
|
||||||
} else {
|
}
|
||||||
gSPScisTextureRectangle((*gfx)++, sp200*4.0f, f28*4.0f, (sp214->x*arg3 + sp200)*4.0f, (sp214->x*arg3 + f28)*4.0f, 0, 0, 0, 1024.0f / arg3, 1024.0f / arg3);
|
else{
|
||||||
|
gSPScisTextureRectangle((*gfx)++, (s32)(sp200*4.0f), (s32)(f28*4.0f), (s32)((sp200 + sp214->x*arg3)*4.0f), (s32)((f28 + sp214->y*arg3)*4.0f), 0, 0, 0, (s32)(1024.0f / arg3), (s32)(1024.0f / arg3));
|
||||||
}
|
}
|
||||||
*xPtr += sp1F8 * arg3;
|
*xPtr += sp1F8 * arg3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
f32 func_802F6C90(u8 letter, f32* xPtr, f32 *yPtr, f32 arg3){
|
f32 func_802F6C90(u8 letter, f32* xPtr, f32 *yPtr, f32 arg3){
|
||||||
s32 sp44;
|
s32 sp44;
|
||||||
|
Reference in New Issue
Block a user