core1/code_ABB0.c done
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# banjo (95.8852%)
|
||||
# banjo (95.9391%)
|
||||
|
||||
<img src="./progress/progress_total.svg">
|
||||
|
||||
|
@@ -158,7 +158,7 @@ segments:
|
||||
- [0xF211B0, c, code_7F60] #DONE
|
||||
- [0xF21EA0, c, code_8C50] #DONE
|
||||
- [0xF22F80, c, code_9D30]
|
||||
- [0xF23E00, c, code_ABB0]
|
||||
- [0xF23E00, c, code_ABB0] #DONE
|
||||
- [0xF260B0, c, done/code_CE60] #DONE
|
||||
- [0xF275B0, c, code_E360] #DONE
|
||||
- [0xF27D40, c, code_EAF0]
|
||||
|
@@ -9,7 +9,7 @@
|
||||
</mask>
|
||||
<g mask="url(#anybadge_1)">
|
||||
<path fill="#555" d="M0 0h44v20H0z"/>
|
||||
<path fill="#1fe000" d="M44 0h67v20H44z"/>
|
||||
<path fill="#1de000" d="M44 0h67v20H44z"/>
|
||||
<path fill="url(#b)" d="M0 0h111v20H0z"/>
|
||||
</g>
|
||||
<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">core1</text>
|
||||
</g>
|
||||
<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">93.0961%</text>
|
||||
<text x="77.5" y="14">93.0961%</text>
|
||||
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">93.4675%</text>
|
||||
<text x="77.5" y="14">93.4675%</text>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@@ -17,7 +17,7 @@
|
||||
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
|
||||
</g>
|
||||
<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">95.8852%</text>
|
||||
<text x="183.5" y="14">95.8852%</text>
|
||||
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">95.9391%</text>
|
||||
<text x="183.5" y="14">95.9391%</text>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -158,7 +158,6 @@ void func_80251BCC(Mtx* arg0) {
|
||||
f32 *v0;
|
||||
|
||||
v0 = D_80282FD0 = &D_80282810;
|
||||
// a0 = &arg0;
|
||||
for(i = 0; i < 4*4; i+=4){
|
||||
for(j = 0; j < 4; j++){
|
||||
*(v0++) = *(((f32*)arg0)++);
|
||||
|
@@ -646,7 +646,7 @@ bool func_8025773C(f32 *timer, f32 delta)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void func_8025778C(f32 dst[3], f32 arg1[3], f32 arg2[9]){
|
||||
void func_8025778C(f32 dst[3], f32 arg1[3], f32 arg2[3][3]){
|
||||
f32 sp54;
|
||||
f32 sp50;
|
||||
f32 sp4C;
|
||||
@@ -654,9 +654,9 @@ void func_8025778C(f32 dst[3], f32 arg1[3], f32 arg2[9]){
|
||||
f32 sp34[3];
|
||||
f32 sp28[3];
|
||||
|
||||
func_802596AC(sp40, arg2, &arg2[3], arg1);
|
||||
func_802596AC(sp34, &arg2[3], &arg2[6], arg1);
|
||||
func_802596AC(sp28, &arg2[6], arg2, arg1);
|
||||
func_802596AC(sp40, arg2[0], arg2[1], arg1);
|
||||
func_802596AC(sp34, arg2[1], arg2[2], arg1);
|
||||
func_802596AC(sp28, arg2[2], arg2[0], arg1);
|
||||
|
||||
sp54 = ml_vec3f_distance_squared(sp40, arg1);
|
||||
sp50 = ml_vec3f_distance_squared(sp34, arg1);
|
||||
@@ -955,7 +955,7 @@ int func_802582EC(f32 vec[3])
|
||||
}
|
||||
|
||||
//ml_vec3f_is_not_zero
|
||||
int func_80258368(f32 vec[3])
|
||||
bool func_80258368(f32 vec[3])
|
||||
{
|
||||
return vec[0] != 0 || vec[1] != 0 || vec[2] != 0;
|
||||
}
|
||||
|
@@ -7,6 +7,14 @@
|
||||
#define IA8_A(ia) ((ia) & 0xF)
|
||||
#define I4_2_RGBA16(i,a) ((i << 12) | (i << 7) | (i << 2) | (a))
|
||||
|
||||
#define RGBA16_R5(rgba) ((rgba) >> 11)
|
||||
#define RGBA16_G5(rgba) (((rgba) >> 6) & 0x1f)
|
||||
#define RGBA16_B5(rgba) (((rgba) >> 1) & 0x1f)
|
||||
#define RGBA16_RED5(rgba) ((rgba) >> 11)
|
||||
#define C5_TO_C8(c5) ((c5) << 3)
|
||||
#define C8_TO_C5(c5) ((c5) >> 3)
|
||||
|
||||
|
||||
void func_8024A3C8(s32 x, s32 y);
|
||||
void draw_prim_rect(s32 x, s32 y, s32 w, s32 h);
|
||||
void set_prim_color(s32 r, s32 g, s32 b);
|
||||
@@ -583,8 +591,36 @@ void func_80249DE0(s32 x, s32 y, s16 *arg2, s32 arg3, s32 arg4) {
|
||||
}
|
||||
}
|
||||
|
||||
void func_80249F34(s32 x, s32 y, Struct84s* maskList, s32 maskIndex, s32 mX, s32 mY, s32 mW, s32 mH, s32 maskColor, s32 mStride, bool dim, s32 replacementColor) {
|
||||
BKSpriteTextureBlock* mask_texture;
|
||||
s32 ix;
|
||||
s32 iy;
|
||||
u16* color_ptr;
|
||||
u16* mask_ptr;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_ABB0/func_80249F34.s")
|
||||
mask_texture = func_8033EFB0(maskList, maskIndex);
|
||||
mask_ptr = (u16*)(mask_texture + 1) + mX + mY * mask_texture->w;
|
||||
color_ptr = &D_803A5D00[D_802806EC][x + y * framebuffer_width];
|
||||
for(iy = 0; iy < mH; iy += mStride){
|
||||
for(ix = 0; ix < mW; ix++){
|
||||
|
||||
if(maskColor != *mask_ptr){
|
||||
*color_ptr = (replacementColor != 0)? replacementColor : *mask_ptr;
|
||||
}
|
||||
else if(dim){
|
||||
*color_ptr = _SHIFTL(C8_TO_C5(C5_TO_C8(RGBA16_R5(*color_ptr)) / 2), 11, 5)
|
||||
| _SHIFTL(C8_TO_C5(C5_TO_C8(RGBA16_G5(*color_ptr)) / 2), 6, 5)
|
||||
| _SHIFTL(C8_TO_C5(C5_TO_C8(RGBA16_B5(*color_ptr)) / 2), 1, 5)
|
||||
| 1;
|
||||
}
|
||||
|
||||
color_ptr++;
|
||||
mask_ptr++;
|
||||
}
|
||||
mask_ptr += ((mStride * mask_texture->w) - mW);
|
||||
color_ptr += (framebuffer_width - mW);
|
||||
}
|
||||
}
|
||||
|
||||
//fill framebuffer with vert and horz lines
|
||||
void func_8024A284(s32 x, s32 y, s32 arg2, s32 arg3, s32 horz_spacing, s32 vert_spacing) {
|
||||
|
@@ -162,7 +162,7 @@ void func_802E70FC(BKCollisionList *collision_list, s32 arg1[3], s32 arg2[3], BK
|
||||
}
|
||||
}
|
||||
|
||||
void func_802E73C8(f32 (*arg0)[3]) {
|
||||
void func_802E73C8(f32 arg0[3][3]) {
|
||||
s32 i;
|
||||
for(i = 0; i < 3; i++){
|
||||
arg0[i][0] = D_8037EAA8[i][0];
|
||||
|
@@ -68,7 +68,7 @@ s32 D_803860A4;
|
||||
s32 D_803860A8;
|
||||
s32 D_803860AC;
|
||||
s32 spriteRenderHasPalette;
|
||||
s32 D_803860B4;
|
||||
s32 spriteRender1PrimMode;
|
||||
|
||||
/* .code */
|
||||
void func_80347DF0(Struct81s *arg0){
|
||||
@@ -148,15 +148,14 @@ void func_80348044(Gfx **gfx, BKSprite* sprite, s32 frame, s32 tmem, s32 rtile,
|
||||
gDPSetTextureLUT((*gfx)++, G_TT_RGBA16);
|
||||
gDPLoadTLUT_pal16((*gfx)++, 0, palette_addr);
|
||||
spriteRenderHasPalette = TRUE;
|
||||
D_803860B4 = 0;
|
||||
spriteRender1PrimMode = FALSE;
|
||||
D_80386074 = 0;
|
||||
var_v1 = palette_addr + 0x20;
|
||||
D_80386098 = D_8038607C = 0;
|
||||
} else if (sprite->type & SPRITE_TYPE_CI8) {
|
||||
gDPPipelineMode((*gfx)++, G_PM_1PRIMITIVE);
|
||||
for(palette_addr = (s32)(sprite_frame + 1); palette_addr % 8; palette_addr++);
|
||||
D_803860B4 = spriteRenderHasPalette = TRUE;
|
||||
// D_803860B4 = 1;
|
||||
spriteRender1PrimMode = spriteRenderHasPalette = TRUE;
|
||||
D_80386074 = NULL;
|
||||
D_8038607C = 0;
|
||||
var_v1 = palette_addr + 0x200;
|
||||
@@ -300,9 +299,9 @@ void func_80349B1C(Gfx **gfx) {
|
||||
gDPPipeSync((*gfx)++);
|
||||
gDPSetTextureLUT((*gfx)++, G_TT_NONE);
|
||||
spriteRenderHasPalette = FALSE;
|
||||
if (D_803860B4) {
|
||||
if (spriteRender1PrimMode) {
|
||||
gDPPipelineMode((*gfx)++, G_PM_NPRIMITIVE);
|
||||
D_803860B4 = FALSE;
|
||||
spriteRender1PrimMode = FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -26,10 +26,8 @@ typedef struct {
|
||||
f32 unk28[3];
|
||||
f32 unk34[3];
|
||||
s32 unk40;
|
||||
f32 unk44[3];
|
||||
u8 pad50[0x18];
|
||||
f32 unk68[3];
|
||||
u8 pad74[0x18];
|
||||
f32 unk44[3][3];
|
||||
f32 unk68[3][3];
|
||||
s32 unk8C;
|
||||
}Struct_core2_C4B0_0;
|
||||
|
||||
@@ -509,7 +507,7 @@ BKCollisionTri *func_802946F0(void){
|
||||
return D_8037C204;
|
||||
}
|
||||
|
||||
int func_802946FC(s32 arg0, s32 arg1){
|
||||
bool func_802946FC(f32 arg0[3][3], s32 arg1){
|
||||
if(arg1 == 0){
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user