mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-01-08 05:24:39 +01:00
3c6405d0d1
A full robot vs. robot game now works between two Treos. Added UI to choose BT as transport mechanism, and added new send proc to establish socket connection between host and guest. Works only for two devices: no piconet yet. No error recovery, ability to quit game in middle, start new game, etc.
503 lines
17 KiB
C
503 lines
17 KiB
C
/* -*-mode: c; fill-column: 78; -*- */
|
|
/*****************************************************************************
|
|
* Copyright 1999 - 2002 by Eric House (xwords@eehouse.org) and others. All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 2
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
****************************************************************************/
|
|
|
|
#define DEFINES_ONLY 1
|
|
|
|
#include "xwords4defines.h"
|
|
|
|
#define LEFTMARGIN 5
|
|
|
|
MENU XW_MAIN_MENU_ID
|
|
BEGIN
|
|
PULLDOWN "File"
|
|
BEGIN
|
|
MENUITEM "New game..." XW_NEWGAME_PULLDOWN_ID "N"
|
|
MENUITEM "Saved games..." XW_SAVEDGAMES_PULLDOWN_ID "S"
|
|
MENUITEM "Preferences..." XW_PREFS_PULLDOWN_ID "P"
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "Beam dictionary" XW_BEAMDICT_PULLDOWN_ID
|
|
MENUITEM "Beam boards and colors" XW_BEAMBOARD_PULLDOWN_ID
|
|
#ifdef FEATURE_DUALCHOOSE
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "Launch 68K vers." XW_RUN68K_PULLDOWN_ID
|
|
MENUITEM "Launch ARM vers." XW_RUNARM_PULLDOWN_ID
|
|
#endif
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "About Crosswords..." XW_ABOUT_PULLDOWN_ID "A"
|
|
END
|
|
|
|
PULLDOWN "Game"
|
|
BEGIN
|
|
MENUITEM "Tile values" XW_TILEVALUES_PULLDOWN_ID "V"
|
|
MENUITEM "Remaining tiles" XW_TILESLEFT_PULLDOWN_ID "R"
|
|
MENUITEM "Current game info..." XW_PASSWORDS_PULLDOWN_ID "G"
|
|
MENUITEM "History" XW_HISTORY_PULLDOWN_ID "Y"
|
|
MENUITEM "Final scores" XW_FINISH_PULLDOWN_ID "F"
|
|
#ifndef XWFEATURE_STANDALONE_ONLY
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "Resend messages" XW_RESENDIR_PULLDOWN_ID
|
|
#endif
|
|
END
|
|
PULLDOWN "Move"
|
|
BEGIN
|
|
MENUITEM "Hint" XW_HINT_PULLDOWN_ID "I"
|
|
#ifdef XWFEATURE_SEARCHLIMIT
|
|
MENUITEM "Limited hint" XW_HINTCONFIG_PULLDOWN_ID "C"
|
|
MENUITEM SEPARATOR
|
|
#endif
|
|
MENUITEM "Next hint" XW_NEXTHINT_PULLDOWN_ID "M"
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "Undo current" XW_UNDOCUR_PULLDOWN_ID "U"
|
|
MENUITEM "Undo last" XW_UNDOLAST_PULLDOWN_ID "Z"
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "Done" XW_DONE_PULLDOWN_ID "D"
|
|
MENUITEM "Juggle" XW_JUGGLE_PULLDOWN_ID "J"
|
|
MENUITEM "Trade tiles" XW_TRADEIN_PULLDOWN_ID "T"
|
|
MENUITEM "[un]Hide tray" XW_HIDESHOWTRAY_PULLDOWN_ID "H"
|
|
END
|
|
#ifdef FOR_GREMLINS
|
|
PULLDOWN "Grem"
|
|
BEGIN
|
|
MENUITEM "divider right" XW_GREMLIN_DIVIDER_RIGHT
|
|
MENUITEM "divider left" XW_GREMLIN_DIVIDER_LEFT
|
|
END
|
|
#endif
|
|
|
|
|
|
#ifndef FOR_GREMLINS
|
|
#ifdef DEBUG
|
|
PULLDOWN "DBG"
|
|
BEGIN
|
|
MENUITEM "Show debugstrs" XW_DEBUGSHOW_PULLDOWN_ID
|
|
MENUITEM "Hide debugstrs" XW_DEBUGHIDE_PULLDOWN_ID
|
|
MENUITEM "Strs to memo" XW_DEBUGMEMO_PULLDOWN_ID
|
|
MENUITEM "Strs to screen" XW_DEBUGSCREEN_PULLDOWN_ID
|
|
MENUITEM "Network stats..." XW_NETSTATS_PULLDOWN_ID
|
|
#ifdef MEM_DEBUG
|
|
MENUITEM "Mem stats..." XW_MEMSTATS_PULLDOWN_ID
|
|
#endif
|
|
END
|
|
#endif
|
|
#endif /* FOR_GREMLINS */
|
|
|
|
// <EEH> NO NEED TO TRANSLATE GREMLINS or DEBUG stuff
|
|
#ifdef FOR_GREMLINS
|
|
/* PULLDOWN "Gremlins" */
|
|
/* BEGIN */
|
|
/* MENUITEM "Divider left" GREMLIN_DIVIDER_LEFT */
|
|
/* MENUITEM "Divider right" GREMLIN_DIVIDER_RIGHT */
|
|
/* END */
|
|
#endif
|
|
END
|
|
|
|
MENU XW_ASK_MENU_ID
|
|
BEGIN
|
|
PULLDOWN "Edit"
|
|
BEGIN
|
|
MENUITEM "Copy" ASK_COPY_PULLDOWN_ID
|
|
MENUITEM "Select all" ASK_SELECTALL_PULLDOWN_ID
|
|
END
|
|
END
|
|
|
|
#include "common.rcp.pre" /* these don't need localization */
|
|
|
|
#ifdef XWFEATURE_STANDALONE_ONLY
|
|
# define NPLAYERS_TOP 15
|
|
# define FORM_TOP 34
|
|
# define FORM_HEIGHT 124
|
|
#else
|
|
# define SERVER_TOP 15
|
|
# define NPLAYERS_TOP (SERVER_TOP+18)
|
|
# define FORM_TOP 16
|
|
# define FORM_HEIGHT 142
|
|
#endif
|
|
#define LABEL_TOP (NPLAYERS_TOP+18)
|
|
#define LEFTCOL 4
|
|
#define REMOTE_COL LEFTCOL
|
|
#define NAME_COL 50
|
|
#define ROBOT_COL 98
|
|
#define PASSWD_COL RIGHT@156
|
|
|
|
#ifndef XWFEATURE_STANDALONE_ONLY
|
|
#define PLAYER_REMOTECHECK( num, offset ) \
|
|
CHECKBOX "" ID XW_REMOTE_##num##_CHECKBOX_ID \
|
|
AT (LEFTCOL PREVBOTTOM+offset AUTO AUTO) USABLE
|
|
#else
|
|
#define PLAYER_REMOTECHECK( num, offset )
|
|
#endif
|
|
|
|
#ifndef XWFEATURE_STANDALONE_ONLY
|
|
#define PLAYER_NAMEFIELD( num, offset ) \
|
|
FIELD XW_PLAYERNAME_##num##_FIELD_ID \
|
|
AT (PREVRIGHT PREVTOP 100 AUTO ) \
|
|
UNDERLINED EDITABLE SINGLELINE MAXCHARS MAX_PLAYERNAME_LENGTH
|
|
#else
|
|
#define PLAYER_NAMEFIELD( num, offset ) \
|
|
FIELD XW_PLAYERNAME_##num##_FIELD_ID \
|
|
AT (LEFTCOL+10 PREVBOTTOM+offset 100 AUTO ) \
|
|
UNDERLINED EDITABLE SINGLELINE MAXCHARS MAX_PLAYERNAME_LENGTH
|
|
#endif
|
|
|
|
#define PLAYER_ROBCHECK( num, offset ) \
|
|
CHECKBOX "" ID XW_ROBOT_##num##_CHECKBOX_ID \
|
|
AT (PREVRIGHT PREVTOP AUTO AUTO) USABLE RIGHTANCHOR
|
|
|
|
#define PLAYER_PASSFIELD( num, offset ) \
|
|
SELECTORTRIGGER "" XW_PLAYERPASSWD_##num##_TRIGGER_ID \
|
|
AT (PREVRIGHT PREVTOP 12 11)
|
|
|
|
/* FIELD XW_PLAYERPASSWD_##num##_FIELD_ID PREVRIGHT PREVTOP 20 \ */
|
|
/* AUTO UNDERLINED EDITABLE SINGLELINE MAXCHARS 4 */
|
|
|
|
#define PLAYER_ROW( num, offset ) \
|
|
PLAYER_REMOTECHECK( num, offset ) \
|
|
PLAYER_NAMEFIELD( num, offset ) \
|
|
PLAYER_ROBCHECK( num, offset ) \
|
|
PLAYER_PASSFIELD( num, offset )
|
|
|
|
//#define SERVER_GROUP_ID 2000
|
|
#define SERVER_HEIGHT 12
|
|
|
|
FORM ID XW_NEWGAMES_FORM AT (2 FORM_TOP 156 FORM_HEIGHT)
|
|
USABLE MODAL SAVEBEHIND DEFAULTBTNID XW_OK_BUTTON_ID
|
|
BEGIN
|
|
TITLE "Game options"
|
|
|
|
#ifndef XWFEATURE_STANDALONE_ONLY
|
|
LABEL "Connect:" AUTOID AT (LEFTCOL SERVER_TOP)
|
|
GADGET ID XW_SOLO_GADGET_ID AT (PREVRIGHT+2 SERVER_TOP 53 SERVER_HEIGHT)
|
|
USABLE
|
|
GADGET ID XW_SERVER_GADGET_ID
|
|
AT (PREVRIGHT+1 SERVER_TOP 22 SERVER_HEIGHT) USABLE
|
|
GADGET ID XW_CLIENT_GADGET_ID
|
|
AT (PREVRIGHT+1 SERVER_TOP 28 SERVER_HEIGHT) USABLE
|
|
LIST "Stand-alone" "Host" "Guest" XW_SERVERTYPES_LIST_ID
|
|
AT (0 0 1 1) VISIBLEITEMS 3 NONUSABLE
|
|
#endif
|
|
|
|
/* Pick number of players here */
|
|
FIELD XW_TOTALP_FIELD_ID LEFTCOL NPLAYERS_TOP 58 AUTO \
|
|
SINGLELINE NONEDITABLE MAXCHARS 16
|
|
|
|
SELECTORTRIGGER "" XW_NPLAYERS_SELECTOR_ID \
|
|
AT (PREVRIGHT NPLAYERS_TOP AUTO AUTO) USABLE LEFTANCHOR
|
|
LIST "1" "2" "3" "4" XW_NPLAYERS_LIST_ID AT (PREVLEFT PREVTOP 10 1) \
|
|
VISIBLEITEMS 4 NONUSABLE
|
|
|
|
BUTTON "J" XW_GINFO_JUGGLE_ID PREVRIGHT+3 PREVTOP 10 AUTO
|
|
|
|
BUTTON "Other prefs..." XW_PREFS_BUTTON_ID PREVRIGHT+5 PREVTOP 63 AUTO
|
|
|
|
#ifndef XWFEATURE_STANDALONE_ONLY
|
|
LABEL "Remote" XW_LOCAL_LABEL_ID REMOTE_COL LABEL_TOP FONT 1
|
|
#endif
|
|
LABEL "Name" AUTOID NAME_COL LABEL_TOP FONT 1
|
|
LABEL "Robot" AUTOID ROBOT_COL LABEL_TOP FONT 1
|
|
LABEL "Pwd" AUTOID PASSWD_COL LABEL_TOP FONT 1
|
|
|
|
PLAYER_ROW( 1, 2 )
|
|
PLAYER_ROW( 2, 2 )
|
|
PLAYER_ROW( 3, 2 )
|
|
PLAYER_ROW( 4, 2 )
|
|
|
|
GRAFFITISTATEINDICATOR 2 PREVBOTTOM+10
|
|
|
|
SELECTORTRIGGER "Dictionary..." XW_DICT_SELECTOR_ID \
|
|
AT (PREVRIGHT+8 PREVTOP AUTO AUTO) USABLE LEFTANCHOR
|
|
|
|
BUTTON "Ok" XW_OK_BUTTON_ID RIGHT@154 PREVTOP AUTO AUTO
|
|
BUTTON "Cancel" XW_CANCEL_BUTTON_ID RIGHT@PREVLEFT-5 PREVTOP 30 AUTO
|
|
END /* FORM XW_PLAYERINFO_FORM */
|
|
|
|
#ifdef BEYOND_IR
|
|
#define LEFTCOL 4
|
|
#define CONNS_FIELD_LEFT 70
|
|
#define LOCALIP_TOP 30
|
|
|
|
FORM ID XW_CONNS_FORM AT (2 54 156 105)
|
|
USABLE MODAL SAVEBEHIND DEFAULTBTNID XW_CONNS_CANCEL_BUTTON_ID
|
|
BEGIN
|
|
TITLE "Connections"
|
|
|
|
LABEL "Connect via:" AUTOID LEFTCOL 15 FONT 1
|
|
|
|
POPUPTRIGGER "" ID XW_CONNS_TYPE_TRIGGER_ID
|
|
AT (PREVRIGHT+5 PREVTOP 72 12) LEFTANCHOR
|
|
LIST
|
|
#ifdef XWFEATURE_PALM_BLUETOOTH
|
|
"Bluetooth"
|
|
#endif
|
|
"IR" "Internet/IP" ID XW_CONNS_TYPE_LIST_ID
|
|
PREVLEFT PREVTOP 72 12 VISIBLEITEMS
|
|
#ifdef XWFEATURE_PALM_BLUETOOTH
|
|
3
|
|
#else
|
|
2
|
|
#endif
|
|
NONUSABLE POPUPLIST XW_CONNS_TYPE_TRIGGER_ID XW_CONNS_TYPE_LIST_ID
|
|
|
|
LABEL "Relay name:" XW_CONNS_RELAY_LABEL_ID
|
|
AT ( LEFTCOL+10 LOCALIP_TOP )
|
|
FIELD XW_CONNS_RELAY_FIELD_ID CONNS_FIELD_LEFT PREVTOP 70 AUTO \
|
|
SINGLELINE EDITABLE UNDERLINED MAXCHARS 32
|
|
|
|
LABEL "Relay port:" XW_CONNS_PORT_LABEL_ID
|
|
AT (LEFTCOL PREVBOTTOM + 2)
|
|
FIELD XW_CONNS_PORT_FIELD_ID CONNS_FIELD_LEFT PREVTOP 30 AUTO \
|
|
EDITABLE SINGLELINE UNDERLINED NUMERIC MAXCHARS 5
|
|
|
|
LABEL "Cookie:" XW_CONNS_COOKIE_LABEL_ID
|
|
AT ( LEFTCOL+10 PREVBOTTOM + 2 )
|
|
FIELD XW_CONNS_COOKIE_FIELD_ID CONNS_FIELD_LEFT PREVTOP 70 AUTO \
|
|
SINGLELINE EDITABLE UNDERLINED MAXCHARS 32
|
|
|
|
BUTTON "Cancel" XW_CONNS_CANCEL_BUTTON_ID 42 PREVBOTTOM+5 AUTO AUTO
|
|
BUTTON "Ok" XW_CONNS_OK_BUTTON_ID PREVRIGHT+10 PREVTOP AUTO AUTO
|
|
END /* XW_CONNS_FORM */
|
|
#endif
|
|
|
|
#ifdef FEATURE_TRAY_EDIT
|
|
# define TRAY_EDIT_ADJUST 15
|
|
#else
|
|
# define TRAY_EDIT_ADJUST 0
|
|
#endif
|
|
#ifdef XWFEATURE_SEARCHLIMIT
|
|
# define SEARCHLIMIT_ADJUST 15
|
|
#else
|
|
# define SEARCHLIMIT_ADJUST 0
|
|
#endif
|
|
|
|
#define PREFS_MODE_TOP 15
|
|
#define PREFS_TOP 30
|
|
#define DLG_TOP (52-TRAY_EDIT_ADJUST-SEARCHLIMIT_ADJUST)
|
|
#define DLG_HEIGHT (107+TRAY_EDIT_ADJUST+SEARCHLIMIT_ADJUST)
|
|
#define TIMER_TOP (74+SEARCHLIMIT_ADJUST)
|
|
#define BUTTON_TOP (TIMER_TOP+16+TRAY_EDIT_ADJUST)
|
|
|
|
FORM ID XW_PREFS_FORM AT (2 DLG_TOP 156 DLG_HEIGHT)
|
|
USABLE MODAL SAVEBEHIND DEFAULTBTNID XW_PREFS_CANCEL_BUTTON_ID
|
|
BEGIN
|
|
TITLE "Preferences"
|
|
|
|
GADGET ID XW_PREFS_APPWIDE_CHECKBX_ID
|
|
AT (LEFTCOL+8 PREFS_MODE_TOP 75 SERVER_HEIGHT) USABLE
|
|
GADGET ID XW_PREFS_ONEGAME_CHECKBX_ID
|
|
AT (PREVRIGHT+1 PREVTOP 50 SERVER_HEIGHT) USABLE
|
|
LIST "Application-wide" "This game" XW_PREFS_TYPES_LIST_ID
|
|
AT (0 0 1 1) VISIBLEITEMS 2 NONUSABLE
|
|
|
|
/* global prefs */
|
|
CHECKBOX "Color played tiles" ID XW_PREFS_PLAYERCOLORS_CHECKBOX_ID \
|
|
AT (LEFTCOL PREFS_TOP AUTO AUTO) NONUSABLE
|
|
CHECKBOX "Show progress bar" ID XW_PREFS_PROGRESSBAR_CHECKBOX_ID \
|
|
AT (LEFTCOL PREVBOTTOM+3 AUTO AUTO) NONUSABLE
|
|
CHECKBOX "Larger board" ID XW_PREFS_SHOWGRID_CHECKBOX_ID \
|
|
AT (LEFTCOL PREVBOTTOM+3 AUTO AUTO) NONUSABLE
|
|
CHECKBOX "Enable arrow cursor" ID XW_PREFS_SHOWARROW_CHECKBOX_ID \
|
|
AT (LEFTCOL PREVBOTTOM+3 AUTO AUTO) NONUSABLE
|
|
CHECKBOX "Explain robot scores" ID XW_PREFS_ROBOTSCORE_CHECKBOX_ID \
|
|
AT (LEFTCOL PREVBOTTOM+3 AUTO AUTO) NONUSABLE
|
|
|
|
/* single-game prefs */
|
|
CHECKBOX "Smart robot" ID XW_PREFS_ROBOTSMART_CHECKBOX_ID \
|
|
AT (LEFTCOL PREFS_TOP AUTO AUTO) NONUSABLE
|
|
#ifdef XWFEATURE_SEARCHLIMIT
|
|
CHECKBOX "Disallow hints" ID XW_PREFS_NOHINTS_CHECKBOX_ID \
|
|
AT (LEFTCOL PREVBOTTOM+3 AUTO AUTO) NONUSABLE
|
|
CHECKBOX "Local hints" ID XW_PREFS_HINTRECT_CHECKBOX_ID \
|
|
AT (PREVRIGHT+3 PREVTOP AUTO AUTO) NONUSABLE
|
|
#else
|
|
CHECKBOX "Disallow hints" ID XW_PREFS_NOHINTS_CHECKBOX_ID \
|
|
AT (PREVRIGHT+3 PREVTOP AUTO AUTO) NONUSABLE
|
|
#endif
|
|
|
|
LABEL "Phonies:" XW_PREFS_PHONIES_LABEL_ID AT (LEFTCOL PREVBOTTOM+3)
|
|
POPUPTRIGGER "" ID XW_PREFS_PHONIES_TRIGGER_ID
|
|
AT (PREVRIGHT+5 PREVTOP 72 12) LEFTANCHOR
|
|
|
|
LABEL "Board size: " XW_PREFS_BDSIZE_LABEL_ID
|
|
AT (LEFTCOL PREVBOTTOM+2)
|
|
SELECTORTRIGGER "" XW_PREFS_BDSIZE_SELECTOR_ID \
|
|
AT (PREVRIGHT PREVTOP AUTO AUTO) USABLE LEFTANCHOR
|
|
LIST "Ignore" "Warn" "Disallow" ID XW_PREFS_PHONIES_LIST_ID
|
|
AT (PREVLEFT PREVTOP 72 12) NONUSABLE VISIBLEITEMS 3
|
|
POPUPLIST XW_PREFS_PHONIES_TRIGGER_ID XW_PREFS_PHONIES_LIST_ID
|
|
|
|
LIST "15x15" "13x13" "11x11" \
|
|
XW_PREFS_BDSIZE_LIST_ID AT (PREVLEFT PREVTOP 30 1) \
|
|
NONUSABLE VISIBLEITEMS NUM_BOARD_SIZES
|
|
|
|
CHECKBOX "Enable timer (minutes:)" ID XW_PREFS_TIMERON_CHECKBOX_ID \
|
|
AT (LEFTCOL TIMER_TOP AUTO AUTO) NONUSABLE
|
|
FIELD XW_PREFS_TIMER_FIELD_ID PREVRIGHT+5 PREVTOP 15 AUTO UNDERLINED \
|
|
EDITABLE SINGLELINE NUMERIC MAXCHARS 3
|
|
|
|
#ifdef FEATURE_TRAY_EDIT
|
|
CHECKBOX "Pick tiles face-up" ID XW_PREFS_PICKTILES_CHECKBOX_ID \
|
|
AT (LEFTCOL PREVBOTTOM AUTO AUTO) NONUSABLE
|
|
#endif
|
|
|
|
/* buttons at the bottom */
|
|
BUTTON "Cancel" XW_PREFS_CANCEL_BUTTON_ID 42 BUTTON_TOP AUTO AUTO
|
|
BUTTON "Ok" XW_PREFS_OK_BUTTON_ID PREVRIGHT+10 PREVTOP AUTO AUTO
|
|
END
|
|
|
|
#define LEFT_EDGE 10
|
|
FORM ID XW_DICTINFO_FORM AT (2 111 156 47)
|
|
USABLE MODAL DEFAULTBTNID XW_DICTINFO_CANCEL_BUTTON_ID
|
|
BEGIN
|
|
TITLE "Dictionaries"
|
|
|
|
LABEL "Dict:" AUTOID AT (LEFT_EDGE 15)
|
|
POPUPTRIGGER "" ID XW_DICTINFO_TRIGGER_ID
|
|
AT (PREVRIGHT+5 PREVTOP 72 12) LEFTANCHOR
|
|
LIST "" ID XW_DICTINFO_LIST_ID AT (PREVLEFT PREVTOP 72 1)
|
|
NONUSABLE VISIBLEITEMS 4
|
|
POPUPLIST XW_DICTINFO_TRIGGER_ID XW_DICTINFO_LIST_ID
|
|
|
|
BUTTON "Ok" XW_DICTINFO_DONE_BUTTON_ID 25 31 AUTO AUTO
|
|
BUTTON "Beam" XW_DICTINFO_BEAM_BUTTON_ID 22 PREVTOP AUTO AUTO
|
|
BUTTON "Cancel" XW_DICTINFO_CANCEL_BUTTON_ID PREVRIGHT+20 PREVTOP
|
|
AUTO AUTO
|
|
END
|
|
|
|
FORM ID XW_ASK_FORM_ID AT (2 70 156 88)
|
|
USABLE MODAL SAVEBEHIND DEFAULTBTNID XW_ASK_NO_BUTTON_ID
|
|
MENUID XW_ASK_MENU_ID
|
|
BEGIN
|
|
TITLE "Query"
|
|
|
|
/* This has to be non-editable because the field is set via a ptr */
|
|
FIELD XW_ASK_TXT_FIELD_ID LEFT_EDGE-5 16 135 52 \
|
|
NONEDITABLE MULTIPLELINES
|
|
|
|
SCROLLBAR ID XW_ASK_SCROLLBAR_ID
|
|
AT ( PREVRIGHT+2 PREVTOP RECOMMENDED_SBAR_WIDTH
|
|
PREVBOTTOM - PREVTOP) USABLE
|
|
|
|
BUTTON "Yes" XW_ASK_YES_BUTTON_ID RIGHT@(156/2)-10 PREVBOTTOM+5 AUTO AUTO
|
|
BUTTON "No" XW_ASK_NO_BUTTON_ID 156/2+10 PREVTOP AUTO AUTO
|
|
END
|
|
|
|
FORM ID XW_PASSWORD_DIALOG_ID AT ( 2 88 156 70 )
|
|
MODAL SAVEBEHIND DEFAULTBTNID XW_PASSWORD_CANCEL_BUTTON
|
|
BEGIN
|
|
TITLE "Password"
|
|
|
|
LABEL "Enter password for:" XW_PASSWORD_NAME_LABEL 10 18 FONT 1 NONUSABLE
|
|
LABEL "Enter new password for:" XW_PASSWORD_NEWNAME_LABEL 10 18 FONT 1
|
|
NONUSABLE
|
|
FIELD XW_PASSWORD_NAME_FIELD AT (PREVLEFT PREVBOTTOM+3 90 12) NONEDITABLE
|
|
SINGLELINE MAXCHARS MAX_PLAYERNAME_LENGTH
|
|
FIELD XW_PASSWORD_PASS_FIELD \
|
|
AT (PREVRIGHT+10 PREVTOP MAX_PASSWORD_LENGTH*6 12) \
|
|
EDITABLE SINGLELINE UNDERLINED MAXCHARS MAX_PASSWORD_LENGTH
|
|
GRAFFITISTATEINDICATOR 2 PREVBOTTOM+8
|
|
BUTTON "Ok" XW_PASSWORD_OK_BUTTON 45 PREVTOP AUTO AUTO
|
|
BUTTON "Cancel" XW_PASSWORD_CANCEL_BUTTON PREVRIGHT+10 PREVTOP AUTO AUTO
|
|
END
|
|
|
|
#define BLANK_PICK_TOP 15
|
|
|
|
FORM ID XW_BLANK_DIALOG_ID AT ( 2 74 156 83 ) USABLE
|
|
MODAL SAVEBEHIND
|
|
#ifdef FEATURE_TRAY_EDIT
|
|
DEFAULTBTNID XW_BLANK_PICK_BUTTON_ID
|
|
#endif
|
|
BEGIN
|
|
TITLE "Tile picker"
|
|
|
|
FIELD XW_BLANK_LABEL_FIELD_ID AT (10 BLANK_PICK_TOP 110 39)
|
|
NONEDITABLE MULTIPLELINES
|
|
|
|
LIST "" ID XW_BLANK_LIST_ID AT (PREVRIGHT+2 BLANK_PICK_TOP 28 72)
|
|
USABLE VISIBLEITEMS 6
|
|
|
|
BUTTON "Ok" XW_BLANK_OK_BUTTON_ID RIGHT@PREVLEFT-8 65 AUTO AUTO
|
|
|
|
#ifdef FEATURE_TRAY_EDIT
|
|
BUTTON "Pick all!" XW_BLANK_PICK_BUTTON_ID 5 65 AUTO AUTO
|
|
BUTTON "Del" XW_BLANK_BACKUP_BUTTON_ID PREVRIGHT+5 PREVTOP 22 AUTO
|
|
#endif
|
|
END
|
|
|
|
#ifdef XWFEATURE_SEARCHLIMIT
|
|
# define NTILES_TOP 17
|
|
# define NTILES_BUTTON_TOP 60
|
|
FORM ID XW_HINTCONFIG_FORM_ID AT ( 2 75 156 82 ) USABLE MODAL SAVEBEHIND
|
|
BEGIN
|
|
TITLE "Hint parameters"
|
|
|
|
LABEL "At least this many tiles:" AUTOID 10 NTILES_TOP FONT 1 USABLE
|
|
SELECTORTRIGGER "" XW_HINTCONFIG_MINSELECTOR_ID \
|
|
AT (PREVRIGHT+3 NTILES_TOP AUTO AUTO) USABLE LEFTANCHOR
|
|
LIST "1" "2" "3" "4" "5" "6" "7" ID XW_HINTCONFIG_MINLIST_ID
|
|
AT (PREVRIGHT PREVTOP AUTO AUTO) VISIBLEITEMS 7 NONUSABLE
|
|
|
|
LABEL "No more than this many:" AUTOID 10 PREVTOP+15 FONT 1 USABLE
|
|
SELECTORTRIGGER "" XW_HINTCONFIG_MAXSELECTOR_ID \
|
|
AT (PREVRIGHT+3 PREVTOP AUTO AUTO) USABLE LEFTANCHOR
|
|
LIST "1" "2" "3" "4" "5" "6" "7" ID XW_HINTCONFIG_MAXLIST_ID
|
|
AT (PREVRIGHT PREVTOP AUTO AUTO) VISIBLEITEMS 7 NONUSABLE
|
|
|
|
BUTTON "Ok" XW_HINTCONFIG_OK_ID RIGHT@156-10 NTILES_BUTTON_TOP AUTO 12
|
|
BUTTON "Cancel" XW_HINTCONFIG_CANCEL_ID RIGHT@PREVLEFT-10 PREVTOP AUTO 12
|
|
END
|
|
#endif
|
|
|
|
#if defined OWNER_HASH || defined NO_REG_REQUIRED
|
|
FORM ID XW_SAVEDGAMES_DIALOG_ID AT ( 2 2 156 156 )
|
|
USABLE MODAL DEFAULTBTNID XW_SAVEDGAMES_DONE_BUTTON
|
|
BEGIN
|
|
TITLE "Saved games"
|
|
|
|
LIST "" ID XW_SAVEDGAMES_LIST_ID AT (2 15 140 60) \
|
|
USABLE ENABLED VISIBLEITEMS 1
|
|
GRAFFITISTATEINDICATOR 2 120
|
|
FIELD XW_SAVEDGAMES_NAME_FIELD AT (PREVRIGHT+10 PREVTOP 108 AUTO)
|
|
EDITABLE SINGLELINE UNDERLINED MAXCHARS MAX_GAMENAME_LENGTH
|
|
|
|
BUTTON "Mod." XW_SAVEDGAMES_USE_BUTTON RIGHT@154 PREVTOP 30 AUTO
|
|
|
|
BUTTON "Dup." XW_SAVEDGAMES_DUPE_BUTTON 2 PREVBOTTOM+5 31 AUTO
|
|
BUTTON "Delete" XW_SAVEDGAMES_DELETE_BUTTON PREVRIGHT+5 PREVTOP 39 AUTO
|
|
BUTTON "Open" XW_SAVEDGAMES_OPEN_BUTTON PREVRIGHT+5 PREVTOP 33 AUTO
|
|
BUTTON "Done" XW_SAVEDGAMES_DONE_BUTTON PREVRIGHT+5 PREVTOP 33 AUTO
|
|
END
|
|
#endif
|
|
|
|
ALERT XW_ERROR_ALERT_ID
|
|
ERROR
|
|
BEGIN
|
|
TITLE "Oops"
|
|
MESSAGE "^1"
|
|
BUTTONS "Ok"
|
|
END
|
|
|
|
#ifdef FOR_GREMLINS
|
|
|
|
FORM ID XW_GREMLIN_WARN_FORM_ID AT ( 2 60 156 98 )
|
|
USABLE MODAL
|
|
BEGIN
|
|
TITLE "Gremlin Oops"
|
|
FIELD XW_GREMLIN_WARN_FIELD_ID AT (2 15 150 75)
|
|
NONEDITABLE MULTIPLELINES
|
|
END
|
|
|
|
#endif
|