diff --git a/include/f/f_op/f_op_draw_iter.h b/include/f/f_op/f_op_draw_iter.h index 26d84e3f459..589ee47a605 100644 --- a/include/f/f_op/f_op_draw_iter.h +++ b/include/f/f_op/f_op_draw_iter.h @@ -5,6 +5,6 @@ create_tag_class* fopDwIt_GetTag(void); create_tag_class* fopDwIt_Begin(void); -void fopDwIt_Next(create_tag_class* pCreateTag); +create_tag_class* fopDwIt_Next(create_tag_class* pCreateTag); #endif \ No newline at end of file diff --git a/src/f/f_op/f_op_draw_iter.cpp b/src/f/f_op/f_op_draw_iter.cpp index 938c7db6079..61c4b9612fe 100644 --- a/src/f/f_op/f_op_draw_iter.cpp +++ b/src/f/f_op/f_op_draw_iter.cpp @@ -39,11 +39,13 @@ create_tag_class* fopDwIt_Begin(void) { if (createTagClass) { return createTagClass; } - createTagClass = fopDwIt_GetTag(); - return createTagClass; + return createTagClass = fopDwIt_GetTag(); } -asm void fopDwIt_Next(create_tag_class* pCreateTag) { - nofralloc -#include "f/f_op/f_op_draw_iter/asm/func_80020480.s" -} +create_tag_class* fopDwIt_Next(create_tag_class* pCreateTag) { + create_tag_class* createTagClass = (create_tag_class*)pCreateTag->mpNode.mpNextNode; + if (!createTagClass) { + createTagClass = fopDwIt_GetTag(); + } + return createTagClass; +} \ No newline at end of file