None of that matters. He misspelled main loop. Loop needs to be with a capital L >>
@MainLoopThe best thing about Danmakufu is that it totally accepts
Mainloop. However, because it is not THE actual
MainLoop, it will create one for you implicitly
(behind the scenes). Meaning that his MainLoop is never yielded.
This is also the reason why none of your tasks or functions or collision handling works. For the engine to look for other tasks/routines to perform, the MainLoop needs a yield.
Edit: You can add:
@DumbFakeShit {
}
To your code and Danmakufu won't even complain for one bit.
Always return back to basics when you're having issues. Don't start trying everything when you haven't checked the basics. Of course, this is also a matter of experience for effectively conducting trial & error. I'll explain:
I didn't instantly catch the error at first glance. I first simplified his code and merged it so it was one file. Then I ditched the entire render codeblock and spawned 1 fairy just on the screen with just the collision functions. Fairy was there, but my bullets went through and the homing amulets of my Reimu were going crazy. Neither she would go
Pichuun when touching. The following question popped into my mind:
Q: Why isn't there collision?
A: Collision functions are definitely spelled correctly
(quadruple checked on wiki). The while loop is solid. Not the problem.
Q: Is there something wrong with the script?
A: Dunno. Is there? Well, let us find out. Let's write a new stage file from scratch in a different file with a @Initialize @MainLoop @Finalize and paste the same exact code -> WTF, it works now?
Q: So what is going on with the structure or the old file?
A: Comparing time! Check @Initialize -> spelled correctly, check Mainloop. . . Mainloop? Lower case L? Aha! Gotcha!
Mistakes were made, hopefully lessons were learned.
Edit2:This shouldn't break anything, but it's generally considered to bad.
This is because if, for example, you moved or renamed the Stage Test folder,
or released it onto the internet, every "script/Stage Test/<path>" would have to be changed manually
Actually, nothing is considered bad. Both
relative and
absolute pathing are fine to use. It is up to the programmer to deal with it correctly. While it is true that renaming would cause things to break, it has nothing to do with releasing to the internet as if you ship the entire structure. The downloader just has to unpack it inside the
script directory. He/she shouldn't touch the folder structure or names, obviously.