From 34c7cfa70df880bb5f2c2d9d66d0115c0b76f88f Mon Sep 17 00:00:00 2001 From: gijs Date: Fri, 20 Oct 2023 12:18:28 +0200 Subject: [PATCH] Decompile `nuScRemoveClient` --- src/_ob_past_brick.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/_ob_past_brick.c b/src/_ob_past_brick.c index c3d4b33..dc89688 100644 --- a/src/_ob_past_brick.c +++ b/src/_ob_past_brick.c @@ -35,7 +35,26 @@ void nuScAddClient(NUScClient* client, OSMesgQueue* queue, NUScMsg type) { INCLUDE_ASM(const s32, "_ob_past_brick", func_800890E4); -INCLUDE_ASM(const s32, "_ob_past_brick", nuScRemoveClient); +void nuScRemoveClient(NUScClient* client) { + s32 mask = osSetIntMask(OS_IM_NONE); + NUScClient* clientList = nusched.clientList; + NUScClient* prev = NULL; + + while (clientList != NULL) { + if (clientList == client) { + if (prev != NULL) { + prev->next = clientList->next; + } else { + nusched.clientList = clientList->next; + } + break; + } + prev = clientList; + clientList = clientList->next; + } + + osSetIntMask(mask); +} INCLUDE_ASM(const s32, "_ob_past_brick", nuScEventBroadcast);