From 65176271d09135519c0ec62cb3e846aa9fc68645 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Mon, 11 May 2020 17:42:37 +1000 Subject: [PATCH] Attempt to decompile func0f0d3c60 --- src/game/bondbike.c | 31 +++++++++++++++++++++++++++++++ src/include/game/bondbike.h | 8 ++++---- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/src/game/bondbike.c b/src/game/bondbike.c index 5e421d51e..5c9690928 100644 --- a/src/game/bondbike.c +++ b/src/game/bondbike.c @@ -2115,6 +2115,37 @@ glabel func0f0d3c60 /* f0d3d4c: 00000000 */ sll $zero,$zero,0x0 ); +// Mismatch because the below copies arg0 into s0 but goal uses sp. +//void func0f0d3c60(struct coord *arg0) +//{ +// struct coord sp100; +// struct coord sp88; +// struct coord sp76; +// struct coord sp64; +// s32 lVar1; +// struct coord sp48; +// struct coord sp36; +// +// if (func0f0d3680(arg0, &sp100, &sp88) == 0) { +// lVar1 = func0f0d36d4(arg0, &sp100, &sp88, &sp76, &sp64); +// +// if (lVar1 > 0 || lVar1 < 0) { +// if (func0f0d3840(arg0, &sp100, &sp88) < 1 +// && func0f0d3940(arg0, &sp100, &sp88) < 1) { +// // empty +// } +// } else if (lVar1 == 0) { +// func0f0d36d4(arg0, &sp76, &sp64, &sp48, &sp36); +// +// if (func0f0d3840(arg0, &sp76, &sp64) < 1 +// && func0f0d3840(arg0, &sp100, &sp88) < 1 +// && func0f0d3940(arg0, &sp76, &sp64) < 1) { +// func0f0d3940(arg0, &sp100, &sp88); +// } +// } +// } +//} + GLOBAL_ASM( glabel func0f0d3d50 .late_rodata diff --git a/src/include/game/bondbike.h b/src/include/game/bondbike.h index 05005650c..4ac49733b 100644 --- a/src/include/game/bondbike.h +++ b/src/include/game/bondbike.h @@ -15,10 +15,10 @@ s32 func0f0d3298(struct coord *coord, f32 arg1); u32 func0f0d341c(void); s32 func0f0d363c(f32 arg0); s32 func0f0d3680(struct coord *arg0, struct coord *arg1, struct coord *arg2); -u32 func0f0d36d4(void); -u32 func0f0d3840(void); -u32 func0f0d3940(void); -u32 func0f0d3c60(void); +s32 func0f0d36d4(struct coord *arg0, struct coord *arg1, struct coord *arg2, struct coord *arg3, struct coord *arg4); +s32 func0f0d3840(struct coord *arg0, struct coord *arg1, struct coord *arg2); +s32 func0f0d3940(struct coord *arg0, struct coord *arg1, struct coord *arg2); +void func0f0d3c60(struct coord *arg0); void func0f0d3d50(void); #endif