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.
This commit is contained in:
29
build/main.lua
Normal file
29
build/main.lua
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user