-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMarch22_save.lua
More file actions
94 lines (76 loc) · 3.29 KB
/
March22_save.lua
File metadata and controls
94 lines (76 loc) · 3.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
-- Table of scenes that the player has seen in the playthrough
-- i.e. SeenScenes[_scriptlabel] == true if the player has seen the specified one.
-- Should use seen_scene() though.
March22.SeenScenes = {};
March22.GenerateSaveString = function()
content = "";
--background
content = content.."ChangeBackground(\""..March22.ACTIVEBACKGROUND_NAME.."\");\n";
--active music track
--March22.ACTIVEMUSICTRACK
content = content.."March22.ACTIVEMUSICTRACK_NAME = \""..March22.ACTIVEMUSICTRACK_NAME.."\";\n";
content = content.."March22.PlayTrack(\""..March22.ACTIVEMUSICTRACK_NAME.."\");\n";
content = content.."March22.CURRENTLINE = "..March22.CURRENTLINE..";\n";
content = content.."March22.ACTIVECHARACTER_NAME = \""..March22.ACTIVECHARACTER_NAME.."\";\n";
if March22.ACTIVECHARACTER_NAME == "" then
content = content.."March22.ACTIVESPEECH = \""..March22.ACTIVESPEECH.."\";\n\n";
else
content = content.."March22.ACTIVESPEECH = "..March22.ACTIVESPEECH..";\n\n";
end
red = March22.ACTIVECHARACTER_COLOR.r;
green = March22.ACTIVECHARACTER_COLOR.g;
blue = March22.ACTIVECHARACTER_COLOR.b;
content = content.."March22.ACTIVECHARACTER_COLOR = Color.new("..red..", "..green..", "..blue.. ");\n\n";
for k in pairs(March22.ACTIVECHARACTERS) do
content = content.."table.insert(March22.ACTIVECHARACTERS, CharacterSprite.new ( "..March22.ACTIVECHARACTERS[k].x..", "..March22.ACTIVECHARACTERS[k].y..", \""..March22.ACTIVECHARACTERS[k].name.."\", \""..March22.ACTIVECHARACTERS[k].emotion.."\"));\n\n"
end
for k in pairs(March22.SeenScenes) do
content = content.."March22.SeenScenes[\""..k.."\"] = ";--..March22.SeenScenes[k].."\n";
if March22.SeenScenes[k] == true then
content = content.."true;\n";
else
content = content.."false;\n";
end
end
return content;
end
if IS_ON_PC == nil then
-- Writes a lua file in a folder in ux0:/data that inits data for savegames
March22.SaveGame = function()
if not (System.doesFileExist("ux0:/data/KatawaShoujo/SaveData.lua")) then
System.createDirectory("ux0:/data/KatawaShoujo");
else
System.deleteFile("ux0:/data/KatawaShoujo/SaveData.lua");
end
handle = io.open("ux0:/data/KatawaShoujo/SaveData.lua", FCREATE);
--the code for loading the correct script file, also shows load screen
content = "dofile(\"app0:/scripts/"..March22.CURRENTSCRIPTNAME.."\");\n";
content = content..March22.GenerateSaveString();
io.write(handle, content, string.len(content))
io.close(handle)
end
-- Simple; just unloads loaded assets and executes the save file
-- If it exists
March22.LoadGame = function()
-- check file exists
if System.doesFileExist("ux0:/data/KatawaShoujo/SaveData.lua") then
March22.UnloadLoadedAssets();
dofile("ux0:/data/KatawaShoujo/SaveData.lua");
end
end
else
March22.SaveGame = function()
love.filesystem.remove("./SaveData.lua");
--the code for loading the correct script file, also shows load screen
content = "require(\"scripts/"..string.sub(March22.CURRENTSCRIPTNAME, 0, -5).."\");\n";
content = content..March22.GenerateSaveString();
love.filesystem.write("SaveData.lua", content, string.len(content))
end
March22.LoadGame = function()
if System.doesFileExist("SaveData.lua") then
Sound.pause(March22.ACTIVEMUSICTRACK);
March22.UnloadLoadedAssets();
require("SaveData");
end
end
end