static byte xsn_bits_1[] = { 0x22, 0x6b, 0x14, 0x2a, 0x14, 0x6b, 0x22 };
static byte xsn_bits_2[] = { 0x14, 0x08, 0x49, 0x36, 0x49, 0x08, 0x14 };
+char debug_xsn_mode[] = { 76,101,116,32,105,116,32,115,110,111,119,33,0 };
+
+void setHideSetupEntry(void *);
+void removeHideSetupEntry(void *);
+
static struct
{
int size;
if (DelayReached(&check_delay, check_delay_value))
{
percent = (debug ? debug_value * 100 / XSN_DEBUG_STEPS : xsn_percent());
+
+ if (debug)
+ setup.debug.xsn_percent = percent;
+
+ if (setup.debug.xsn_mode != AUTO)
+ percent = setup.debug.xsn_percent;
+
+ setup.debug.xsn_percent = percent;
+
active = (percent > 0);
+
+ if ((active && !active_last) || setup.debug.xsn_mode != AUTO)
+ removeHideSetupEntry(&setup.debug.xsn_mode);
+ else if (!active && active_last)
+ setHideSetupEntry(&setup.debug.xsn_mode);
+
+ if (setup.debug.xsn_mode == FALSE)
+ active = FALSE;
}
else if (tile_cursor.xsn_debug)
{
DelayReached(&check_delay, 0);
+ setup.debug.xsn_mode = (debug_value > 0);
tile_cursor.xsn_debug = FALSE;
}
if (!active_last)
{
- start_delay_value = (debug ? 0 : XSN_RND(XSN_START_DELAY * 2) * 1000);
+ boolean no_delay = (debug || setup.debug.xsn_mode == TRUE);
+
+ start_delay_value = (no_delay ? 0 : XSN_RND(XSN_START_DELAY * 2) * 1000);
started = FALSE;
DelayReached(&start_delay, 0);
static char *main_text_title_2 = NULL;
static char *main_text_title_3 = NULL;
+extern char debug_xsn_mode[];
+
struct MainControlInfo
{
int nr;
{ TYPE_SWITCH, &setup.show_titlescreen,"Show Title Screens:" },
{ TYPE_SWITCH, &setup.toons, "Show Menu Animations:" },
{ TYPE_SWITCH, &setup.small_game_graphics, "Small Game Graphics:" },
+ { TYPE_YES_NO_AUTO, &setup.debug.xsn_mode, debug_xsn_mode },
{ TYPE_EMPTY, NULL, "" },
{ TYPE_LEAVE_MENU, execSetupMain, "Back" },