cfg_buff_512[511] = 0;\r
}\r
\r
-static void emu_setDefaultConfig(void)\r
+void emu_set_defconfig(void)\r
{\r
memcpy(¤tConfig, &defaultConfig, sizeof(currentConfig));\r
PicoOpt = currentConfig.s_PicoOpt;\r
if (!game)\r
{\r
if (!no_defaults)\r
- emu_setDefaultConfig();\r
+ emu_set_defconfig();\r
make_config_cfg(cfg);\r
ret = config_readsect(cfg, NULL);\r
}\r
{\r
// read user's config\r
int vol = currentConfig.volume;\r
- emu_setDefaultConfig();\r
+ emu_set_defconfig();\r
ret = config_readsect(cfg, sect);\r
currentConfig.volume = vol; // make vol global (bah)\r
}\r
\r
/* always using built-in font */\r
\r
-#define mk_text_out(name, type, val) \\r
+#define mk_text_out(name, type, val, topleft, step_x, step_y) \\r
void name(int x, int y, const char *text) \\r
{ \\r
int i, l, len = strlen(text); \\r
- type *screen = (type *)g_screen_ptr + x + y * g_screen_width; \\r
+ type *screen = (type *)(topleft) + x * step_x + y * step_y; \\r
\\r
- for (i = 0; i < len; i++, screen += 8) \\r
+ for (i = 0; i < len; i++, screen += 8 * step_x) \\r
{ \\r
for (l = 0; l < 8; l++) \\r
{ \\r
unsigned char fd = fontdata8x8[text[i] * 8 + l];\\r
- type *s = screen + l * g_screen_width; \\r
- if (fd&0x80) s[0] = val; \\r
- if (fd&0x40) s[1] = val; \\r
- if (fd&0x20) s[2] = val; \\r
- if (fd&0x10) s[3] = val; \\r
- if (fd&0x08) s[4] = val; \\r
- if (fd&0x04) s[5] = val; \\r
- if (fd&0x02) s[6] = val; \\r
- if (fd&0x01) s[7] = val; \\r
+ type *s = screen + l * step_y; \\r
+ if (fd&0x80) s[step_x * 0] = val; \\r
+ if (fd&0x40) s[step_x * 1] = val; \\r
+ if (fd&0x20) s[step_x * 2] = val; \\r
+ if (fd&0x10) s[step_x * 3] = val; \\r
+ if (fd&0x08) s[step_x * 4] = val; \\r
+ if (fd&0x04) s[step_x * 5] = val; \\r
+ if (fd&0x02) s[step_x * 6] = val; \\r
+ if (fd&0x01) s[step_x * 7] = val; \\r
} \\r
} \\r
}\r
\r
-mk_text_out(emu_textOut8, unsigned char, 0xf0)\r
-mk_text_out(emu_textOut16, unsigned short, 0xffff)\r
+mk_text_out(emu_text_out8, unsigned char, 0xf0, g_screen_ptr, 1, g_screen_width)\r
+mk_text_out(emu_text_out16, unsigned short, 0xffff, g_screen_ptr, 1, g_screen_width)\r
+mk_text_out(emu_text_out8_rot, unsigned char, 0xf0,\r
+ (char *)g_screen_ptr + (g_screen_width - 1) * g_screen_height, -g_screen_height, 1)\r
+mk_text_out(emu_text_out16_rot, unsigned short, 0xffff,\r
+ (short *)g_screen_ptr + (g_screen_width - 1) * g_screen_height, -g_screen_height, 1)\r
\r
#undef mk_text_out\r
\r
}\r
if (which & PEV_SWITCH_RND)\r
{\r
- plat_video_toggle_renderer();\r
+ plat_video_toggle_renderer(1, 0);\r
}\r
if (which & (PEV_SSLOT_PREV|PEV_SSLOT_NEXT))\r
{\r