JujuAdams / Scribble

Efficient, internationalized, multi-effects text renderer for GameMaker
https://www.jujuadams.com/Scribble/
MIT License
335 stars 46 forks source link

scribble_font_bake_outline_8dir crashes in 2023.11.1.160 runtime #510

Closed Grisgram closed 9 months ago

Grisgram commented 9 months ago

Hey!

using

scribble_font_bake_outline_8dir("fntTitle","fntTitleO",c_black,true);

causes a crash in html runtime but only in the 2023.11 version. in 2023.8 everything was fine.

the error in the console is:

Unhandled Exception - Uncaught { message : "vertex_submit: trying to use a texture that does not exist", longMessage : "vertex_submit: trying to use a texture that does not exist", stacktrace : [ "function _W2("vertex_submit: trying to use a texture that does not exist")
","function(0, [unknown])
","function _7K2(0, 4, [unknown])
","function gml_Script_scribble_font_bake_shader([instance], [instance], "fntTitle", "fntTitleO", 3, 2, 1, 1, 1, 1, 1, [unknown], 2048)
","function gml_Script_scribble_font_bake_outline_8dir([instance], [instance], "fntTitle", "fntTitleO", 0, [unknown])
","function gml_Script_onGameStart([instance], [instance])
","function gml_Object_GameStarter_Other_2([instance], [instance])
","function(1795, 0, [instance], [instance])
","function(1795, 0, [instance], [instance])
","function(1795, 0)
","function _Pm2(0, [unknown])
","function _3p3()
","function _Ao3(515.805)
" ], script : "", line : -1 } 

when i remove the bake-line, the game starts normally.

greetings, G

Grisgram commented 9 months ago

I created a small project, containing scribble 8.7 that demonstrates it, see attached zip.

The crashing line is in file scribble_font_bake_shader#177 took me some time to investigate and track it down on html -- debugging that browser things is something i am not very comfortable with, I hope this helps you finding the issue. vertex_crash.zip

regards, G

Grisgram commented 9 months ago

Update for you, juju:

thanks to your "painfully learned lessons" I could debug the runtime and found the problem. It's not on scribble side. I sent a report to yoyo.