diff options
-rw-r--r-- | game/LuaCommands.odt | bin | 17390 -> 17530 bytes | |||
-rw-r--r-- | game/scripts/main.lua (renamed from game/main.lua) | 76 | ||||
-rw-r--r-- | game/scripts/party/Until5000.lua | 46 | ||||
-rw-r--r-- | src/base/UMain.pas | 6 |
4 files changed, 88 insertions, 40 deletions
diff --git a/game/LuaCommands.odt b/game/LuaCommands.odt Binary files differindex f024b8be..223df235 100644 --- a/game/LuaCommands.odt +++ b/game/LuaCommands.odt diff --git a/game/main.lua b/game/scripts/main.lua index ed12d8ed..3e035bb9 100644 --- a/game/main.lua +++ b/game/scripts/main.lua @@ -1,38 +1,38 @@ --- Calculate FPS -FPScounter = 1 + (FPScounter or 0) -- increment FPScounter (which is nil, when undefined, therefore "or 0") -if os.time() > (LastTime or 0) then - LastTime = os.time() - print("FPS: " .. FPScounter - (LastFPScounter or 0)) -- print is only displayed, if compiled with DEBUG - 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 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") +-- Calculate FPS
+FPScounter = 1 + (FPScounter or 0) -- increment FPScounter (which is nil, when undefined, therefore "or 0")
+if os.time() > (LastTime or 0) then
+ LastTime = os.time()
+ print("FPS: " .. FPScounter - (LastFPScounter or 0)) -- print is only displayed, if compiled with DEBUG
+ 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 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")
diff --git a/game/scripts/party/Until5000.lua b/game/scripts/party/Until5000.lua new file mode 100644 index 00000000..10d1d070 --- /dev/null +++ b/game/scripts/party/Until5000.lua @@ -0,0 +1,46 @@ +function InitPartyMode()
+ -- PartyModi created by users should use tables
+ Party.Mode.Name = {English = "Until 5000",
+ French = "A 5000",
+ German = "Bis 5000"}
+
+ -- PartyModi delivered with USDX should use translateable Strings
+ Party.Mode.Name = "PLUGIN_UNTIL5000_NAME"
+ Party.Mode.Description = "PLUGIN_UNTIL5000_DESC"
+
+ Party.Mode.Author = "Whiteshark & Hawkear"
+ Party.Mode.Homepage = "http://ultrastardx.sourceforge.net/"
+ Party.Mode.Version = "0.9"
+
+ Party.ShowRateBar = true
+ Party.ShowScore = true
+ Party.ShowNotes = true
+ Party.NoDuet = true -- dont sing duets - this would be unfair
+
+ -- all the other settings are at default or loaded from ini
+
+ return true
+end
+
+function Draw()
+ local i
+ for i=0,Party.Teams-1 do
+ Party.Team[i].Bar = math.floor(Party.Team[i].Score / 50)
+ Party.Team[i].Percentage = Party.Team[i].Bar
+ if Party.Team[i].Score >= 5000 then
+ return false -- end the round
+ end
+ end
+ return true -- continue with the round
+end
+
+function Finish()
+ local i
+ local winners={}
+ for i=0,Party.Teams-1 do
+ if Party.Team[i].Score >= 5000 then
+ table.insert(winners,i)
+ end
+ end
+ return winners
+end
diff --git a/src/base/UMain.pas b/src/base/UMain.pas index 0f9daa6e..2da1ca39 100644 --- a/src/base/UMain.pas +++ b/src/base/UMain.pas @@ -106,6 +106,7 @@ var FontPath: string; ResourcesPath: string; PlayListPath: string; + ScriptPath: string; Done: Boolean; // FIXME: ConversionFileName should not be global @@ -475,9 +476,9 @@ begin done := not Display.Draw; // FIXME remove this when the Partymode works - if FileExists('main.lua') then + if FileExists(ScriptPath + 'main.lua') then begin - if 0 <> luaL_dofile(Lua, 'main.lua') then + if 0 <> luaL_dofile(Lua, PAnsiChar(ScriptPath + 'main.lua')) then begin Log.LogError(lua_tostring(Lua,-1)); end; @@ -1190,6 +1191,7 @@ begin FindPath(VisualsPath, Platform.GetGameSharedPath + 'visuals', false); FindPath(FontPath, Platform.GetGameSharedPath + 'fonts', false); FindPath(ResourcesPath, Platform.GetGameSharedPath + 'resources', false); + FindPath(ScriptPath, Platform.GetGameSharedPath + 'scripts', false); // Playlists are not shared as we need one directory to write too FindPath(PlaylistPath, Platform.GetGameUserPath + 'playlists', true); |