From f77755b94e16c3e31aaeb9279553cbb669fc0c08 Mon Sep 17 00:00:00 2001 From: Dethrace Labs <78985374+dethrace-labs@users.noreply.github.com> Date: Sat, 6 Sep 2025 07:14:16 +1200 Subject: [PATCH] DRActorRecurse functions matching --- src/DETHRACE/common/utility.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/DETHRACE/common/utility.c b/src/DETHRACE/common/utility.c index 419e0a42..2127d8d9 100644 --- a/src/DETHRACE/common/utility.c +++ b/src/DETHRACE/common/utility.c @@ -518,11 +518,14 @@ br_uintptr_t DRActorEnumRecurse(br_actor* pActor, br_actor_enum_cbfn* callback, if (result != 0) { return result; } - for (pActor = pActor->children; pActor != NULL; pActor = pActor->next) { + + pActor = pActor->children; + while (pActor) { result = DRActorEnumRecurse(pActor, callback, arg); if (result != 0) { return result; } + pActor = pActor->next; } return 0; } @@ -557,11 +560,13 @@ br_uint_32 DRActorEnumRecurseWithMat(br_actor* pActor, br_material* pMat, recurs if (result != 0) { return result; } - for (pActor = pActor->children; pActor != NULL; pActor = pActor->next) { + pActor = pActor->children; + while (pActor != NULL) { result = DRActorEnumRecurseWithMat(pActor, pMat, pCall_back, pArg); if (result != 0) { return result; } + pActor = pActor->next; } return 0; } @@ -581,11 +586,13 @@ br_uint_32 DRActorEnumRecurseWithTrans(br_actor* pActor, br_matrix34* pMatrix, b if (result != 0) { return result; } - for (pActor = pActor->children; pActor != NULL; pActor = pActor->next) { + pActor = pActor->children; + while (pActor != NULL) { result = DRActorEnumRecurseWithTrans(pActor, &combined_transform, pCall_back, pArg); if (result != 0) { return result; } + pActor = pActor->next; } return 0; }