-
Notifications
You must be signed in to change notification settings - Fork 2
/
March22.lua
104 lines (85 loc) · 3.81 KB
/
March22.lua
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
94
95
96
97
98
99
100
101
102
103
104
--[[
March22-Lua
Coded in Lua to be used by lpp-vita/love2d
Code covered by MIT licensing
By Sam 'Slynch' Lynch
lpp-vita is an open-source project by rinnegatamante
--]]
--Namespace
March22 = {};
March22.version = {0, 7, 0}; -- Major, minor, revision
print("Loading March22 v"..March22.version[1]..".".. March22.version[2] ..".".. March22.version[3]);
March22.currentPage = "";
--CONSTANTS
maxChar = 106; -- Max number of characters to a line of text
FONTSIZE = 25; -- Size of text fonts
March22.TEXTBOX = Graphics.loadImage("app0:/graphics/textbox.png"); -- Textbox graphic (doesn't change so constant)
March22.TEXTBOX_NARRATIVE = Graphics.loadImage("app0:/graphics/textbox_narrative.png"); -- Textbox graphic (doesn't change so constant)
-- Graphics/icons for PSV icons, constant
March22.CIRCLE_BUTTON_GRAPHIC = Graphics.loadImage("app0:/graphics/circle_icon.png");
March22.TRIANGLE_BUTTON_GRAPHIC = Graphics.loadImage("app0:/graphics/triangle_icon.png");
March22.SQUARE_BUTTON_GRAPHIC = Graphics.loadImage("app0:/graphics/square_icon.png");
-- Initialise the loaded backgrounds array and load black/white (since they're constant)
LOADEDBACKGROUNDS = {};
LOADEDBACKGROUNDS["black"] = Graphics.loadImage("app0:/graphics/black.jpg");
LOADEDBACKGROUNDS["white"] = Graphics.loadImage("app0:/graphics/white.jpg");
-- Init and load regular and bold fonts (constant)
March22.FONT = Font.load("app0:/graphics/font.ttf");
March22.FONT_BOLD = Font.load("app0:/graphics/font_bold.ttf");
-- And set size
Font.setPixelSizes(March22.FONT_BOLD, FONTSIZE);
Font.setPixelSizes(March22.FONT , FONTSIZE);
-- This is so we don't waste RAM init'ing the color white 1000+ times
March22.WHITE_COLOUR = Color.new(255,255,255);
-- For when animations are playing and the text box shouldn't show
March22.DRAW_TEXTBOX = true;
-- Init the required content for the main menu first
dofile("app0:/March22_save.lua");
dofile("app0:/March22_sound.lua");
dofile("app0:/March22_controls.lua");
dofile("app0:/March22_mainmenu.lua");
-- The main menu has ended, so load the rest
dofile("app0:/LUA_CLASSES/Line.lua");
dofile("app0:/LUA_CLASSES/Character.lua");
dofile("app0:/LUA_CLASSES/Decision.lua");
dofile("app0:/March22_character.lua");
dofile("app0:/March22_labels.lua");
-- Load the first script file; this will be eventually called "index" or "entrypoint.lua"
--dofile("app0:/scripts/script-a1-monday.lua");
-- Init the active variables with the first line of the script
--March22.ACTIVECHARACTER_NAME = ACTIVE_SCRIPT[1].speaker;
--March22.ACTIVESPEECH = ACTIVE_SCRIPT[1].content;
--March22.ACTIVECHARACTER_COLOR = ACTIVE_SCRIPT[1].color;
--Load the remaining includes
dofile("app0:/March22_background.lua");
dofile("app0:/March22_script.lua");
dofile("app0:/March22_font.lua");
-- Renders the current frame
function March22.Render()
-- Draw the background if it exists
if March22.ACTIVEBACKGROUND == nil then
--do nothing, but should draw "black" really
else
Graphics.drawImage(0, 0, March22.ACTIVEBACKGROUND);
end
-- Iterate through the active characters array and draw them
for k in pairs(March22.ACTIVECHARACTERS) do
March22.ACTIVECHARACTERS[k].Update();
Graphics.drawImage(
March22.ACTIVECHARACTERS[k].x,
March22.ACTIVECHARACTERS[k].y,
March22.CHARACTERS[March22.ACTIVECHARACTERS[k].name].sprites[March22.ACTIVECHARACTERS[k].emotion],
March22.ACTIVECHARACTERS[k].color
);
end
-- If allowed, draw the text box and text
--if March22.DRAW_TEXTBOX == true then
if March22.ACTIVECHARACTER_NAME == "" then
Graphics.drawImage(0, 0, March22.TEXTBOX_NARRATIVE);
else
Graphics.drawImage(0, 0, March22.TEXTBOX);
end
--Font.print(March22.FONT_BOLD, 18, 370, March22.ACTIVECHARACTER_NAME, March22.ACTIVECHARACTER_COLOR);
March22.DrawTypeWriterEffect(March22.FONT, 42, 42, March22.currentPage, Color.new(255, 255, 255))
--end
end