From 14e96597c65a2402ee4ddc068ff08c7659123a1d Mon Sep 17 00:00:00 2001 From: whiteshark0 Date: Mon, 4 May 2009 07:29:52 +0000 Subject: old lua test stuff by hawkear removed or commented new function: Party.SetWinner sets winner of current round new unit ULuaUtils w/ some functions that are or may become useful moved Lua_ClearStack and Lua_ToBinInt to ULuaUtils added first hooks (have a look at hooks.txt in game/plugins until documentation is finished) lua module for TextGl written and finished lua testfile (game/scripts/main.lua) ported to new interface, see game/plugins/LuaTest.usdx git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@1709 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Lua/game/plugins/LuaTest.usdx | 63 +++++++++++++++++++++++++++++++++++++++++++ Lua/game/plugins/hooks.txt | 4 +++ 2 files changed, 67 insertions(+) create mode 100644 Lua/game/plugins/LuaTest.usdx create mode 100644 Lua/game/plugins/hooks.txt (limited to 'Lua/game') diff --git a/Lua/game/plugins/LuaTest.usdx b/Lua/game/plugins/LuaTest.usdx new file mode 100644 index 00000000..4cfd718f --- /dev/null +++ b/Lua/game/plugins/LuaTest.usdx @@ -0,0 +1,63 @@ +function plugin_init() + register('lua interface test plugin', 'not Versioned', 'Hawkear'); + + require('Usdx.Gl'); + require('Usdx.TextGl'); + + Usdx.Hook('Display.Draw', 'OnDraw'); + + return true +end + +function OnDraw() + -- Calculate FPS + FPScounter = 1 + (FPScounter or 0) -- increment FPScounter (which is nil, when undefined, therefore "or 0") + if Usdx.Time() > (LastTime or 0) then + LastTime = Usdx.Time() + 1000 + + print("FPS: " .. FPScounter - (LastFPScounter or 0)) -- print is only displayed, if compiled with DEBUG + LastFPSCounted = FPScounter - (LastFPScounter or 0) + + LastFPScounter = FPScounter + + -- Show the first 200 Textures + TexNum = 1 + (TexNum or 0) + if TexNum > 200 then TexNum = 1 end + print("TexNum: " .. (TexNum or 0)) + end + + -- draw fps to top right corner + TextGl.Style(0) + TextGl.Pos(650, 36) + TextGl.Size(30) + TextGl.Italic(False) + Gl.Color(0.9, 0.9, 0.9, 0.7) + TextGl.Print('FPS: ' .. LastFPSCounted) + + -- Draw some rectanGles + Gl.Enable("Gl_BLEND") + Gl.Color(1, 1, 1, 0.5) + for i = 1,10 do + Gl.Begin("Gl_LINE_loop") + Gl.Vertex(0+4*i, 0+4*i); + Gl.Vertex(0+4*i, 600-4*i); + Gl.Vertex(800-4*i, 600-4*i); + Gl.Vertex(800-4*i, 0+4*i); + Gl.End() + end + Gl.Disable("Gl_BLEND") + + -- Display a Texture + Gl.Enable("Gl_BLEND") + Gl.Enable("Gl_TEXTURE_2D") + Gl.Color(1, 1, 1, 1) + Gl.BindTexture("Gl_TEXTURE_2D", TexNum or 0) + Gl.Begin("Gl_QUADS") + Gl.TexCoord(0, 0); Gl.Vertex(10, 10); + Gl.TexCoord(0, 1); Gl.Vertex(10, 110); + Gl.TexCoord(1, 1); Gl.Vertex(110, 110); + Gl.TexCoord(1, 0); Gl.Vertex(110, 10); + Gl.End() + Gl.Disable("Gl_TEXTURE_2D") + Gl.Disable("Gl_BLEND") +end \ No newline at end of file diff --git a/Lua/game/plugins/hooks.txt b/Lua/game/plugins/hooks.txt new file mode 100644 index 00000000..a30bdc62 --- /dev/null +++ b/Lua/game/plugins/hooks.txt @@ -0,0 +1,4 @@ +this document lists all hooks that are available and created by usdx +Usdx.LoadingFinished - called when all plugins are loaded, not breakable +Display.PreDraw - called before a frame is Drawn - not breakable +Display.Draw - called after a frame w/ screen is drawn. you can draw above screen here \ No newline at end of file -- cgit v1.2.3