@haliop787
I'm using GOSUB to divide large body of routine codes into smaller segments. Those codes usually don't have replaceble parameters, unlike function.
The reason I'm using GOSUB for those part of codes, because I have found out after testing in DBPro, LOOP run faster, almost 5x more, if compared to functions, even with the same codes.
So I deduce that GOSUB did not burden the CPU as much as functions, so GOSUB ran faster.
I only use function for pieces of codes that do certain work that needs variable inputs, such as making NPC characters, calculating smoothed-out values, ect.
But for routines such as loading assets, making stages, initializing database arrays, ect, I always use GOSUB.