feat(t5): Claude wave t5w — 5 banked (sonnet 5/5, opus 0/0); fleet 213 passed, 0 failed of 213 (P31 S62 T5)

This commit is contained in:
Drew T
2026-08-29 16:54:23 -06:00
parent e6e053c801
commit eba16c9376
4 changed files with 142 additions and 5 deletions
+80 -2
View File
@@ -3502,7 +3502,53 @@ u32 func_8017D5F4(s16 *param_1, s16 *param_2, s16 *param_3) {
}
INCLUDE_ASM("asm/ov_SC02_039/nonmatchings/ov_SC02_039_jr_8017BEBC", func_8017D6AC);
extern s32 func_800495EC(s32 a0, s32 a1, s32 a2);
u32 func_8017D6AC(s16 *param_1, s16 *param_2, s16 *param_3) {
s16 ax, ay, bx, by, cx, cy;
register s32 la __asm__("$8");
register s32 lb __asm__("$7");
register s32 lc __asm__("$3");
u32 r;
s32 pad[2];
cx = param_3[0];
bx = param_2[0];
if (cx < bx) {
return 0;
}
__asm__ __volatile__("" : : "r"(la), "r"(lb), "r"(lc));
ax = param_1[0];
if (ax < cx) {
return 1;
}
do {
cy = param_3[2];
ay = param_1[1];
if (cy > ay) {
return 0;
}
by = param_2[1];
if (by <= cy) {
la = (u16)ax;
lb = (u16)bx;
lc = (u16)cx;
__asm__ __volatile__("" : : "r"(ax), "r"(bx), "r"(cx));
r = func_800495EC(la | ((u16)ay << 16), lb | ((u16)by << 16),
lc | ((u16)cy << 16));
return ~r >> 31;
}
return 1;
} while (0);
}
extern s32 func_8017D764(void);
@@ -4074,7 +4120,39 @@ void func_8017E024(s32 a0)
}
INCLUDE_ASM("asm/ov_SC02_039/nonmatchings/ov_SC02_039_jr_8017BEBC", func_8017E25C);
#include "common.h"
void func_8017E25C(s32 a0)
{
s16 t;
s32 v1;
s32 v0;
t = *(s16 *)(a0 + 0xDE);
if (t < -2) {
*(s32 *)(a0 + 0xE0) += 0x20000;
} else if (t >= 3) {
*(s32 *)(a0 + 0xE0) -= 0x20000;
}
v1 = *(s32 *)(a0 + 0xE0);
if (v1 < 0) {
v0 = v1 + 0x8000;
*(s32 *)(a0 + 0xE0) = v0;
if (v0 > 0) {
*(s32 *)(a0 + 0xE0) = 0;
}
} else if (v1 > 0) {
v0 = v1 - 0x8000;
*(s32 *)(a0 + 0xE0) = v0;
if (v0 < 0) {
*(s32 *)(a0 + 0xE0) = 0;
}
}
*(s32 *)(a0 + 0xDC) += *(s32 *)(a0 + 0xE0);
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x14) = *(u16 *)(a0 + 0xDE);
}
#include "common.h"
+14 -1
View File
@@ -13558,7 +13558,20 @@ void func_8018A624(s32 arg0) {
}
INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006_jr_8017AE2C", func_8018A698);
#include "common.h"
extern void Square0(s32 *a0, s32 *a1);
s32 func_8018A698(s32 a0) {
s32 v[4];
v[0] = *(s16 *)(a0 + 6) - *(s16 *)(a0 + 0x88);
v[1] = 0;
v[2] = *(s16 *)(a0 + 0xE) - *(s16 *)(a0 + 0x8C);
Square0(&v[0], &v[0]);
return 0x18FFFF < v[0] + v[2];
}
INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006_jr_8017AE2C", func_8018A6F4);
+4 -1
View File
@@ -3322,7 +3322,10 @@ DEFINE_func_8017BEAC() /* dedup: shared engine-core @0x8017BEAC (src/shared) */
DEFINE_func_8017BEB4() /* dedup: shared engine-core @0x8017BEB4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010_jr_8017AE2C", func_8017BEBC);
void func_8017BEBC(s32 a0, s32 a1) {
func_80146994(0x29, 0, a0, a1);
}
extern s32 D_80126B58;
extern void func_80147364(u16, s32);
+44 -1
View File
@@ -3666,7 +3666,50 @@ void func_801826B4(void *a0)
}
INCLUDE_ASM("asm/ov_SC06_016/nonmatchings/ov_SC06_016_jr_801816DC", func_80182744);
#include "common.h"
extern void func_8012AD80(s32 a0);
extern s32 func_8012BD14(s32 a0);
extern void func_80181018(s32 arg0);
extern void func_8012C218(void *a0);
extern void func_8002D4C8(s32 a0, s32 a1);
extern s16 D_801890E0[];
void func_80182744(s32 param_1) {
s32 s0 = param_1;
s32 v0;
s32 v1;
u16 v2;
func_8012AD80(s0);
*(s32 *)(s0 + 0x1C) = *(s32 *)(s0 + 0x1C) + 1;
if (*(s16 *)(s0 + 0xA) >= -0x27F) {
v1 = *(s32 *)(s0 + 0x14);
*(s16 *)(s0 + 0xA) = -0x280;
*(s16 *)(s0 + 0x8) = 0;
*(s32 *)(s0 + 0x1C) = 0;
*(s32 *)(s0 + 0x14) = -v1;
func_8002D4C8(0x983, 0);
v2 = *(u16 *)(s0 + 0x34) + 1;
*(u16 *)(s0 + 0x34) = v2;
if (D_801890E0[*(s16 *)(s0 + 0x70)] < v2) {
func_8002D4C8(0x984, 0);
goto tail;
}
}
v0 = func_8012BD14(s0);
if (v0 >= 0x900) {
return;
}
tail:
func_80181018(s0);
func_8012C218((void *)s0);
}
INCLUDE_ASM("asm/ov_SC06_016/nonmatchings/ov_SC06_016_jr_801816DC", func_80182810);