-
Notifications
You must be signed in to change notification settings - Fork 5
/
main.cpp
108 lines (89 loc) · 2.27 KB
/
main.cpp
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 <prism/framerateselectscreen.h>
#include <prism/physics.h>
#include <prism/file.h>
#include <prism/drawing.h>
#include <prism/log.h>
#include <prism/wrapper.h>
#include <prism/system.h>
#include <prism/stagehandler.h>
#include <prism/logoscreen.h>
#include <prism/mugentexthandler.h>
#include <prism/clipboardhandler.h>
#include <prism/sound.h>
#include <prism/screeneffect.h>
#include <prism/profiling.h>
#include <prism/debug.h>
#include <prism/soundeffect.h>
#include "titlescreen.h"
#include "fightscreen.h"
#include "playerdefinition.h"
#include "dolmexicastoryscreen.h"
#include "stage.h"
#include "config.h"
#include "dolmexicadebug.h"
#include "initscreen.h"
char romdisk_buffer[1];
int romdisk_buffer_length;
//#define DEVELOP
#ifdef DREAMCAST
KOS_INIT_FLAGS(INIT_DEFAULT | INIT_MALLOCSTATS);
#endif
void exitGame() {
shutdownPrismWrapper();
#ifdef DEVELOP
if (isOnDreamcast()) {
abortSystem();
}
else {
returnToMenu();
}
#else
returnToMenu();
#endif
}
int main(int argc, char** argv) {
(void)argc;
(void)argv;
#ifdef DEVELOP
setDevelopMode();
setMinimumLogType((isOnDreamcast() || isOnVita()) ? LOG_TYPE_NORMAL : LOG_TYPE_NORMAL);
#else
setMinimumLogType(LOG_TYPE_NONE);
#endif
setGameName("DOLMEXICA INFINITE");
setScreenSize(320, 240);
if (!isOnDreamcast()) {
setMugenSpriteFileReaderSubTextureSplit(8, 1024);
}
initPrismWrapperWithMugenFlags();
loadMugenConfig();
loadGlobalVariables(PrismSaveSlot::AMOUNT);
setFont("$/rd/fonts/segoe.hdr", "$/rd/fonts/segoe.pkg");
loadMugenSystemFonts();
logg("Check framerate");
FramerateSelectReturnType framerateReturnType = selectFramerate();
if (framerateReturnType == FRAMERATE_SCREEN_RETURN_ABORT) {
exitGame();
}
setMemoryHandlerCompressionActive();
initClipboardForGame();
setScreenEffectZ(99);
setMugenAnimationHandlerPixelCenter(Vector2D(0.0, 0.0));
setScreenAfterWrapperLogoScreen(getInitScreen());
#ifdef DEVELOP
//setUnscaledGameWavVolume(0);
//setUnscaledGameMidiVolume(0);
if (isOnWindows())
{
//setDisplayedScreenSize(1356, 1017);
//setDisplayedScreenSize(320, 240);
//setScreenPosition(0, -1080); // TODO: move to user cfg
}
disableWrapperErrorRecovery();
initDolmexicaDebug();
setDebugMinusCheckEnabled(1);
#endif
startScreenHandling(getInitScreen());
exitGame();
return 0;
}