-- LoadGame page script -- Edits by OldFlak - CDASi games -- last edit 23-10-19 -- Removed 'move backdrop' -- Changed reference to image for save game menus -- buttons and titles should be unique - what were you thinking Lee? :) -- refernce on line 62 for load-game title changed (also appropriate new image added to image folder) LOADGAME_SLOT_FIRST = 1 LOADGAME_SLOT_LAST = 8 LOADGAME_BACK = 9 g_strStyleFolder = "" g_strBestResolution = "" g_imgBackdrop = 0 g_sprBackdrop = 0 g_imgHeading = 0 g_sprHeading = 0 g_imgButton = {} g_imgButtonH = {} g_sprButton = {} g_posButton = {} g_imgCursor = 0 g_sprCursor = 0 g_sprCursorPtrX = 50 g_sprCursorPtrY = 33 g_sprCursorPtrClick = 0 g_strSlotNames = {} g_strLevelFilenames = {} --// my vars local img_shade = 0 local spr_shade = 0 --// function loadgame_init() -- determine style folder we are in file = io.open("titlesbank\\style.txt", "r") if file ~= nil then io.input(file) g_strStyleFolder = io.read() io.close(file) end --shade for in-game menu backdrop img_shade = LoadImage("titlesbank\\" .. g_strStyleFolder .. "\\shade.png") spr_shade = CreateSprite ( img_shade ) SetSpritePosition ( spr_shade, 0, 0 ) SetSpriteSize ( spr_shade, 100, 100 ) --\\\\\ -- choose ideal resolution resolutions = require "titlesbank\\resolutions" g_strBestResolution = resolutions.findclosest() -- backdrop g_imgBackdrop = LoadImage("titlesbank\\" .. g_strStyleFolder .. "\\" .. g_strBestResolution .. "\\loadingmenu.png") g_sprBackdrop = CreateSprite ( g_imgBackdrop ) SetSpritePosition ( g_sprBackdrop, 0, 0 ) SetSpriteSize ( g_sprBackdrop, 100, 100 ) -- heading g_imgHeading = LoadImage("titlesbank\\" .. g_strStyleFolder .. "\\load-game-title.png") g_sprHeading = CreateSprite ( g_imgHeading ) SetSpriteOffset ( g_sprHeading, GetImageWidth(g_imgHeading)/2, 0 ) SetSpritePosition ( g_sprHeading, 50, 5 ) -- buttons for i = 1, LOADGAME_BACK, 1 do if i==LOADGAME_BACK then strButtonName = "back" g_posButton[i] = 87 else strButtonName = "blank" g_posButton[i] = 10+(i*8) end g_imgButton[i] = LoadImage("titlesbank\\" .. g_strStyleFolder .. "\\" .. strButtonName .. ".png") g_imgButtonH[i] = LoadImage("titlesbank\\" .. g_strStyleFolder .. "\\" .. strButtonName .. "-hover.png") g_sprButton[i] = CreateSprite ( g_imgButton[i] ) SetSpriteOffset ( g_sprButton[i], GetImageWidth(g_imgButton[i])/2, 0 ) SetSpritePosition ( g_sprButton[i], 50, g_posButton[i] ) end -- cursor g_imgCursor = LoadImage("titlesbank\\" .. g_strStyleFolder .. "\\cursor.png") g_sprCursor = CreateSprite ( g_imgCursor ) ActivateMouse() DrawSpritesFirst() -- populate slot names fillgameslots = require "titlesbank\\fillgameslots" fillgameslots.fill() end function loadgame_main() -- redraw header PasteSprite ( g_sprHeading ) -- control menus cursorControl = require "titlesbank\\cursorcontrol" g_sprCursorPtrX,g_sprCursorPtrY,g_sprCursorPtrClick = cursorControl.getinput(g_sprCursorPtrX,g_sprCursorPtrY,g_sprCursorPtrClick) SetSpritePosition ( g_sprCursor, g_sprCursorPtrX, g_sprCursorPtrY ) iHighlightButton = 0 if g_sprCursorPtrX > 50-(GetImageWidth(g_imgButton[LOADGAME_BACK])/2) and g_sprCursorPtrX <= 50+(GetImageWidth(g_imgButton[LOADGAME_BACK])/2) then for i = 1, LOADGAME_BACK, 1 do if g_sprCursorPtrY > g_posButton[i] and g_sprCursorPtrY <= g_posButton[i]+GetImageHeight(g_imgButton[i]) then iHighlightButton = i end end end for i = 1, LOADGAME_BACK, 1 do PasteSprite ( g_sprButton[i] ) if i < LOADGAME_BACK then if g_strSlotNames[i] ~= nil then TextCenterOnX ( 50, g_posButton[i] + 0.5 + (GetImageHeight(g_imgButton[i])/2), 3, g_strSlotNames[i]) end end if iHighlightButton == i then SetSpriteImage ( g_sprButton[i], g_imgButtonH[i] ) else SetSpriteImage ( g_sprButton[i], g_imgButton[i] ) end end if g_sprCursorPtrClick == 1 then if iHighlightButton>=LOADGAME_SLOT_FIRST and iHighlightButton<=LOADGAME_SLOT_LAST then if g_strSlotNames[iHighlightButton] ~= "-- ---- --" then -- load slot file RestoreGameFromSlot(iHighlightButton) -- advance warning of level file in case load from MAIN MENU (before level loading step) LevelFilenameToLoad(g_strLevelFilenames[iHighlightButton]) -- back to game StopGlobalSound ( 1 ) ResetFade() TriggerFadeIn() ResumeGame() end end if iHighlightButton==LOADGAME_BACK then SwitchPageBack() end end -- cursor PasteSprite ( g_sprCursor ) end function loadgame_free() -- free resources for i = 1, LOADGAME_BACK, 1 do DeleteSprite ( g_sprButton[i] ) DeleteImage ( g_imgButton[i] ) DeleteImage ( g_imgButtonH[i] ) end DeleteSprite ( img_shade ) DeleteSprite ( spr_shade ) DeleteSprite ( g_sprBackdrop ) DeleteImage ( g_imgBackdrop ) DeleteSprite ( g_sprHeading ) DeleteImage ( g_imgHeading ) DeleteSprite ( g_sprCursor ) DeleteImage ( g_imgCursor ) DeactivateMouse() DrawSpritesLast() end