I got the title, screen, and tried to start a game. Danmakufu didn't even freeze; it just gave up. No error message, and nothing in the log.
I knew it wasn't forgetting to yield. It's something else, like mistakenly using
index
for a variable name. I opened up Git Bash, and grepped to try to search for such cases. Didn't see anything unusual about that.It might be a buffer overflow since the scripts might be too long due to large files included. I created a test script that defined a long string of Yukari. Worked fine, even if I tried to print it in the log.
Okay. What might it be? I looked at the log file, and saw that Danmakufu did load the background and the digit graphic, but nothing after those two. I also noted that I changed the
TPIV
task to exit when the hidden mode was activated.I put a
WriteLog
call both before and after the main part of the definition:task TPIV { WriteLog("Zenki"); if (isHidden) {return;} let objScore = ObjText_Create(); ObjText_SetText(objScore, "SEeS"); ObjText_SetFontSize(objScore, 20); ObjText_SetFontBold(objScore, true); ObjText_SetFontColorTop(objScore, 200, 200, 255); ObjText_SetFontColorBottom(objScore, 255, 255, 255); ObjText_SetFontBorderType(objScore, BORDER_FULL); ObjText_SetFontBorderColor(objScore, 0, 0, 0); ObjText_SetFontBorderWidth(objScore, 1); ObjText_SetFontType(objScore, typeface); Obj_SetRenderPriority(objScore, 0.01); ObjRender_SetX(objScore, 428); ObjRender_SetY(objScore, 254); let objNum = createNumberObject(496, 254); WriteLog("Goki"); loop { ObjSpriteList2D_ClearVertexCount(objNum); updateNumber(objNum, getPIV, 8, 1); yield; } }
And Zenki showed up. No Goki, though. I tried the same, just around the conditional return, and the same result. It must be with the
isHidden
function!function isHidden { GetAreaCommonData("Replay", "Hidden", false); }
Wait, no return? Let's change that:
function isHidden { return GetAreaCommonData("Replay", "Hidden", false); }
And thus the script didn't crash.
No comments:
Post a Comment