From f185f2c31a611c985dbdb5e1b40a0c4c2a1dc3b1 Mon Sep 17 00:00:00 2001 From: Indrajith K L Date: Mon, 3 Nov 2025 18:04:54 +0530 Subject: Fix SEGV crash: Initialize window and font in stateInit() - Move window initialization and font loading to stateInit() - Window now opens before splash screens (required for rendering) - Custom font loaded in stateInit for splash screen use - Remove RL.config() call from luaCallMain() (window already initialized) - Remove stateContextInit() call (initialization now done in stateInit) - Add hasWindow, customFontLoaded, resolution fields to State - Fix memory management for custom font in stateFree() This matches the ReiLua-JamVersion architecture where the window is opened early so splash screens can render properly. --- build/main.lua | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 build/main.lua (limited to 'build/main.lua') diff --git a/build/main.lua b/build/main.lua new file mode 100644 index 0000000..dc08763 --- /dev/null +++ b/build/main.lua @@ -0,0 +1,29 @@ +local textColor = RL.BLACK +local textPos = { 192, 200 } +local textSize = 20 +local text = "Congrats! You created your first window!" + +function RL.init() + RL.SetWindowTitle( "First window" ) + RL.SetWindowState( RL.FLAG_VSYNC_HINT ) +end + +function RL.update( delta ) + if RL.IsKeyPressed( RL.KEY_ENTER ) then + local winSize = RL.GetScreenSize() + local measuredSize = RL.MeasureTextEx( RL.GetFontDefault(), text, textSize, 2 ) + + textColor = RL.BLUE + textPos = { winSize[1] / 2 - measuredSize[1] / 2, winSize[2] / 2 - measuredSize[2] / 2 } + end + + if RL.IsKeyPressed( RL.KEY_SPACE ) then + textColor = RL.RED + textPos = { 192, 200 } + end +end + +function RL.draw() + RL.ClearBackground( RL.RAYWHITE ) + RL.DrawText( text, textPos, textSize, textColor ) +end \ No newline at end of file -- cgit v1.2.3