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)
return;
- if (!active_last)
- {
- start_delay_value = (debug ? 0 : XSN_RND(XSN_START_DELAY * 2) * 1000);
- started = FALSE;
-
- DelayReached(&start_delay, 0);
-
- reinitialize = TRUE;
- }
-
if (!initialized)
{
xsn.area_xsize = gfx.win_xsize;
initialized = TRUE;
}
+ if (!active_last)
+ {
+ start_delay_value = (debug || setup.debug.xsn_mode == TRUE ? 0 :
+ (XSN_START_DELAY + XSN_RND(XSN_START_DELAY)) * 1000);
+ started = FALSE;
+
+ DelayReached(&start_delay, 0);
+
+ reinitialize = TRUE;
+ }
+
if (reinitialize)
{
xsn.num_items = 0;