-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGame_Demo.c
108 lines (90 loc) · 1.95 KB
/
Game_Demo.c
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
105
106
107
108
#include "Xinaga.h"
#include "GameData.h"
#if defined(__APPLE2__)
#pragma code-name (push, "LOWCODE")
#endif
#if defined (__NES__)
//#pragma code-name (push, "CODE")
//#pragma rodata-name (push, "CODE")
#endif
#define DefaultScreen EditParty
screenName currentScreen;
byte strTemp[ConsoleBufferLength];
const RaceDescriptionDef const RaceDescription[] =
{
{"Human@", 255},
{"Elf@", 6},
{"Dwarf@", 255},
{"Construct@", 6}
};
const ClassDescriptionDef const ClassDescription[]=
{
{"Fighter@", 8},
{"Wizard@", 4},
{"Cleric@", 6},
{"Thief@", 4},
{"Ranger@", 8},
{"Monk@", 6},
{"Bard@", 4},
{"Construct@", 8} // Never levels up, strong early on but expensive to upgrade stats
};
const sbyte const AbilityModifier[20] = {-3, -3, -3, -3, -3, -2, -2, -1, -1, -1, 0, 0, 0, 0, +1, +1, +1, +2, +2, +3};
#if defined (__NES__)
void SelectBank()
{
MMC3_PRG_8000(currentScreen);
}
#endif
void SwitchScreen(screenName screen)
{
//ResizeMessageWindow(1, 1, 10, 15);
//WriteLineMessageWindow("Hello@", 0);
//ScreenDisable();
ClearScreen();
//Load specified screen
//UpdateInput();
currentScreen = screen;
//ScreenEnable();
#if defined (__NES__)
SelectBank();
#endif
switch (currentScreen)
{
case Title:
currentScreen = Update_Title();
break;
case EditParty:
currentScreen = DrawAddCharacterScreen();
break;
case Map:
currentScreen = MapUpdate();
break;
case Combat:
currentScreen = Update_Combat();
break;
case MapGen:
currentScreen = Update_MapGen();
break;
case Scenario:
currentScreen = Update_Scenario();
default:
currentScreen = DefaultScreen;
break;
}
SwitchScreen(currentScreen);
}
void Demo()
{
InitializeInput();
InitializeGraphics();
ClearScreen();
#if defined(__NES__)
MMC3_PRG_8000(0);
#endif
LoadMap();
currentScreen = DefaultScreen;
while(1)
{
SwitchScreen(currentScreen);
}
}