#define IDM_WINDOW_FONT_6 216
#define IDM_WINDOW_FONT_7 217
+#define IDM_WINDOW_POS_0 220
+#define IDM_WINDOW_POS_1 221
+#define IDM_WINDOW_POS_2 222
+#define IDM_WINDOW_POS_3 223
+#define IDM_WINDOW_POS_4 224
+#define IDM_WINDOW_POS_5 225
+#define IDM_WINDOW_POS_6 226
+#define IDM_WINDOW_POS_7 227
+
#define IDM_WINDOW_BIZ_0 230
#define IDM_WINDOW_BIZ_1 231
#define IDM_WINDOW_BIZ_2 232
LOGFONT lf;
#endif
+ bool posfix;
+
/* bg */
#if 0
char *bgfile;
/*
* Directory names
*/
-static cptr ANGBAND_DIR_XTRA_FONT;
static cptr ANGBAND_DIR_XTRA_GRAF;
static cptr ANGBAND_DIR_XTRA_SOUND;
-static cptr ANGBAND_DIR_XTRA_MUSIC;
static cptr ANGBAND_DIR_XTRA_HELP;
+#ifndef JP
+static cptr ANGBAND_DIR_XTRA_FONT;
+#endif
+#ifdef USE_MUSIC
+static cptr ANGBAND_DIR_XTRA_MUSIC;
+#endif
/*
#endif
/* bg */
-static void delete_bg()
+static void delete_bg(void)
{
if (hBG != NULL)
{
}
}
-static int init_bg()
+static int init_bg(void)
{
char * bmfile = bg_bitmap_file;
int i, j;
delete_bg();
-
+
wnddc = GetDC(hwnd);
dcimage = CreateCompatibleDC(wnddc);
dcbg = CreateCompatibleDC(wnddc);
-
+
bmimage = LoadImage(NULL, "bg.bmp", LR_LOADFROMFILE, 0, 0, 0);
if (!bmimage) quit("bg.bmp¤¬Æɤߤ³¤á¤Ê¤¤¡ª");
bmimage_old = SelectObject(dcimage, bmimage);
-
+
CreateCompatibleBitmap();
ReleaseDC(hwnd, wnddc);
DeleteDC(hdcSrc);
}
+#if 0
/*
* Hack -- given a pathname, point at the filename
*/
/* Return file name */
return (p+1);
}
+#endif
/*
if (td->cols < 1) td->cols = 1;
if (td->rows < 1) td->rows = 1;
-#if 0
- /* Paranoia */
- if (td->cols > 80) td->cols = 80;
- if (td->rows > 24) td->rows = 24;
-#endif
-
/* Window sizes */
wid = td->cols * td->tile_wid + td->size_ow1 + td->size_ow2;
hgt = td->rows * td->tile_hgt + td->size_oh1 + td->size_oh2;
/* Window position (y) */
wsprintf(buf, "%d", rc.top);
WritePrivateProfileString(sec_name, "PositionY", buf, ini_file);
+
+ /* Window Z position */
+ strcpy(buf, td->posfix ? "1" : "0");
+ WritePrivateProfileString(sec_name, "PositionFix", buf, ini_file);
}
/* Window position */
td->pos_x = GetPrivateProfileInt(sec_name, "PositionX", td->pos_x, ini_file);
td->pos_y = GetPrivateProfileInt(sec_name, "PositionY", td->pos_y, ini_file);
+
+ /* Window Z position */
+ td->posfix = GetPrivateProfileInt(sec_name, "PositionFix", td->posfix, ini_file);
}
}
/* Access the bitmap file */
- path_build(buf, 1024, ANGBAND_DIR_XTRA_GRAF, name);
+ path_build(buf, sizeof(buf), ANGBAND_DIR_XTRA_GRAF, name);
/* Load the bitmap or quit */
if (!ReadDIB(data[0].w, buf, &infGraph))
if (arg_graphics == GRAPHICS_ADAM_BOLT)
{
/* Access the mask file */
- path_build(buf, 1024, ANGBAND_DIR_XTRA_GRAF, "mask.bmp");
+ path_build(buf, sizeof(buf), ANGBAND_DIR_XTRA_GRAF, "mask.bmp");
/* Load the bitmap or quit */
if (!ReadDIB(data[0].w, buf, &infMask))
sprintf(wav, "%s.wav", angband_sound_name[i]);
/* Access the sound */
- path_build(buf, 1024, ANGBAND_DIR_XTRA_SOUND, wav);
+ path_build(buf, sizeof(buf), ANGBAND_DIR_XTRA_SOUND, wav);
/* Save the sound filename, if it exists */
if (check_file(buf)) sound_file[i] = string_make(buf);
/* Resize the window */
SetWindowPos(td->w, 0, 0, 0,
- td->size_wid, td->size_hgt,
- SWP_NOMOVE | SWP_NOZORDER);
+ td->size_wid, td->size_hgt,
+ SWP_NOMOVE | SWP_NOZORDER);
/* Redraw later */
InvalidateRect(td->w, NULL, TRUE);
if (!td->font_id) return (1);
#else
td->font_id = CreateFont(hgt, wid, 0, 0, FW_DONTCARE, 0, 0, 0,
- ANSI_CHARSET, OUT_DEFAULT_PRECIS,
- CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
- FIXED_PITCH | FF_DONTCARE, base);
+ ANSI_CHARSET, OUT_DEFAULT_PRECIS,
+ CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
+ FIXED_PITCH | FF_DONTCARE, base);
#endif
if (term_force_font(td, tmp))
{
/* Access the standard font file */
- path_build(tmp, 1024, ANGBAND_DIR_XTRA_FONT, "8X13.FON");
+ path_build(tmp, sizeof(tmp), ANGBAND_DIR_XTRA_FONT, "8X13.FON");
/* Force the use of that font */
(void)term_force_font(td, tmp);
}
-
+/*
+ * Allow the user to lock this window.
+ */
+static void term_window_pos(term_data *td, HWND hWnd)
+{
+ SetWindowPos(td->w, hWnd, 0, 0, 0, 0,
+ SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
+}
static void windows_map(void);
term_data *td = &data[i];
/* Update resized windows */
- if ((td->cols != td->t.wid) || (td->rows != td->t.hgt))
+ if ((td->cols != (uint)td->t.wid) || (td->rows != (uint)td->t.hgt))
{
/* Activate */
Term_activate(&td->t);
rc.top = y * tile_hgt + td->size_oh1;
rc.bottom = rc.top + tile_hgt;
-#ifdef JP
- if (x + 1 < Term->wid &&
- ((use_bigtile && Term->old->a[y][x+1] == 255)
- || (iskanji(Term->old->c[y][x]) && !(Term->old->a[y][x] & 0x80))))
-#else
- if (use_bigtile && x + 1 < Term->wid && Term->old->a[y][x+1] == 255)
-#endif
- rc.right += tile_wid;
+ /* Cursor is done as a yellow "box" */
+ hdc = GetDC(td->w);
+ FrameRect(hdc, &rc, hbrYellow);
+ ReleaseDC(td->w, hdc);
+
+ /* Success */
+ return 0;
+}
+
+
+/*
+ * Low level graphics (Assumes valid input).
+ *
+ * Draw a "big cursor" at (x,y), using a "yellow box".
+ */
+static errr Term_bigcurs_win(int x, int y)
+{
+ term_data *td = (term_data*)(Term->data);
+
+ RECT rc;
+ HDC hdc;
+
+ int tile_wid, tile_hgt;
+
+ if (td->map_active)
+ {
+ /* Normal cursor in map window */
+ Term_curs_win(x, y);
+ return 0;
+ }
+ else
+ {
+ tile_wid = td->tile_wid;
+ tile_hgt = td->tile_hgt;
+ }
+
+ /* Frame the grid */
+ rc.left = x * tile_wid + td->size_ow1;
+ rc.right = rc.left + 2 * tile_wid;
+ rc.top = y * tile_hgt + td->size_oh1;
+ rc.bottom = rc.top + tile_hgt;
/* Cursor is done as a yellow "box" */
hdc = GetDC(td->w);
for (i = 0; i < n; i++)
{
#ifdef JP
- if ( iskanji(*(s+i)) ) /* £²¥Ð¥¤¥Èʸ»ú */
+ if (use_bigtile && *(s+i)=="¢£"[0] && *(s+i+1)=="¢£"[1])
+ {
+ rc.right += td->font_wid;
+
+ oldBrush = SelectObject(hdc, myBrush);
+ oldPen = SelectObject(hdc, GetStockObject(NULL_PEN) );
+
+ /* Dump the wall */
+ Rectangle(hdc, rc.left, rc.top, rc.right+1, rc.bottom+1);
+
+ SelectObject(hdc, oldBrush);
+ SelectObject(hdc, oldPen);
+ rc.right -= td->font_wid;
+
+ /* Advance */
+ i++;
+ rc.left += 2 * td->tile_wid;
+ rc.right += 2 * td->tile_wid;
+ }
+ else if ( iskanji(*(s+i)) ) /* £²¥Ð¥¤¥Èʸ»ú */
{
rc.right += td->font_wid;
/* Dump the text */
ExtTextOut(hdc, rc.left, rc.top, ETO_CLIPPED, &rc,
- s+i, 2, NULL);
+ s+i, 2, NULL);
+ rc.right -= td->font_wid;
/* Advance */
i++;
} else {
/* Dump the text */
ExtTextOut(hdc, rc.left, rc.top, ETO_CLIPPED, &rc,
- s+i, 1, NULL);
+ s+i, 1, NULL);
/* Advance */
rc.left += td->tile_wid;
#else
/* Dump the text */
ExtTextOut(hdc, rc.left, rc.top, 0, &rc,
- s+i, 1, NULL);
+ s+i, 1, NULL);
/* Advance */
rc.left += td->tile_wid;
{
/* Dump the text */
ExtTextOut(hdc, rc.left, rc.top, ETO_OPAQUE | ETO_CLIPPED, &rc,
- s, n, NULL);
+ s, n, NULL);
}
/* Release DC */
}
-#ifdef USE_TRANSPARENCY
-extern void map_info(int y, int x, byte *ap, char *cp, byte *tap, char *tcp);
-#else /* USE_TRANSPARENCY */
-extern void map_info(int y, int x, byte *ap, char *cp);
-#endif /* USE_TRANSPARENCY */
-
-
static void windows_map(void)
{
term_data *td = &data[0];
t->user_hook = Term_user_win;
t->xtra_hook = Term_xtra_win;
t->curs_hook = Term_curs_win;
+ t->bigcurs_hook = Term_bigcurs_win;
t->wipe_hook = Term_wipe_win;
t->text_hook = Term_text_win;
t->pict_hook = Term_pict_win;
td->size_oh2 = 2;
td->pos_x = 7 * 30;
td->pos_y = 7 * 20;
+ td->posfix = FALSE;
#ifdef JP
td->bizarre = TRUE;
td->size_oh2 = 1;
td->pos_x = (7 - i) * 30;
td->pos_y = (7 - i) * 20;
+ td->posfix = FALSE;
#ifdef JP
td->bizarre = TRUE;
#endif
/* Main window (need these before term_getsize gets called) */
td = &data[0];
td->dwStyle = (WS_OVERLAPPED | WS_THICKFRAME | WS_SYSMENU |
- WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_CAPTION |
- WS_VISIBLE);
+ WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_CAPTION |
+ WS_VISIBLE);
td->dwExStyle = 0;
td->visible = TRUE;
#ifdef JP
strncpy(td->lf.lfFaceName, td->font_want, LF_FACESIZE);
- td->lf.lfHeight = td->tile_hgt;
- td->lf.lfWidth = td->tile_wid;
td->lf.lfCharSet = SHIFTJIS_CHARSET;
td->lf.lfPitchAndFamily = FIXED_PITCH | FF_DONTCARE;
/* Activate the chosen font */
td->tile_hgt = td->font_hgt;
#else
/* Access the standard font file */
- path_build(buf, 1024, ANGBAND_DIR_XTRA_FONT, td->font_want);
+ path_build(buf, sizeof(buf), ANGBAND_DIR_XTRA_FONT, td->font_want);
/* Activate the chosen font */
if (term_force_font(td, buf))
{
/* Access the standard font file */
- path_build(buf, 1024, ANGBAND_DIR_XTRA_FONT, "8X13.FON");
+ path_build(buf, sizeof(buf), ANGBAND_DIR_XTRA_FONT, "8X13.FON");
/* Force the use of that font */
(void)term_force_font(td, buf);
my_td = td;
td->w = CreateWindowEx(td->dwExStyle, AngList,
- td->s, td->dwStyle,
- td->pos_x, td->pos_y,
- td->size_wid, td->size_hgt,
- HWND_DESKTOP, NULL, hInstance, NULL);
+ td->s, td->dwStyle,
+ td->pos_x, td->pos_y,
+ td->size_wid, td->size_hgt,
+ HWND_DESKTOP, NULL, hInstance, NULL);
my_td = NULL;
#ifdef JP
if (!td->w) quit("¥µ¥Ö¥¦¥£¥ó¥É¥¦¤ËºîÀ®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿");
{
/* Activate the window */
SetActiveWindow(td->w);
+ }
- /* Bring window to top */
- SetWindowPos(td->w, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
+ if (data[i].posfix)
+ {
+ term_window_pos(&data[i], HWND_TOPMOST);
+ }
+ else
+ {
+ term_window_pos(&data[i], td->w);
}
}
/* Main window */
my_td = td;
td->w = CreateWindowEx(td->dwExStyle, AppName,
- td->s, td->dwStyle,
- td->pos_x, td->pos_y,
- td->size_wid, td->size_hgt,
- HWND_DESKTOP, NULL, hInstance, NULL);
+ td->s, td->dwStyle,
+ td->pos_x, td->pos_y,
+ td->size_wid, td->size_hgt,
+ HWND_DESKTOP, NULL, hInstance, NULL);
my_td = NULL;
#ifdef JP
if (!td->w) quit("¥á¥¤¥ó¥¦¥£¥ó¥É¥¦¤ÎºîÀ®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿");
/* Menu "File", Disable all */
EnableMenuItem(hm, IDM_FILE_NEW,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
EnableMenuItem(hm, IDM_FILE_OPEN,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
EnableMenuItem(hm, IDM_FILE_SAVE,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
EnableMenuItem(hm, IDM_FILE_EXIT,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
EnableMenuItem(hm, IDM_FILE_SCORE,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
/* No character available */
{
/* Menu "File", Item "Save" */
EnableMenuItem(hm, IDM_FILE_SAVE,
- MF_BYCOMMAND | MF_ENABLED);
+ MF_BYCOMMAND | MF_ENABLED);
}
/* Menu "File", Item "Exit" */
EnableMenuItem(hm, IDM_FILE_EXIT,
- MF_BYCOMMAND | MF_ENABLED);
+ MF_BYCOMMAND | MF_ENABLED);
EnableMenuItem(hm, IDM_FILE_SCORE,
- MF_BYCOMMAND | MF_ENABLED);
+ MF_BYCOMMAND | MF_ENABLED);
/* Menu "Window::Visibility" */
for (i = 0; i < MAX_TERM_DATA; i++)
{
EnableMenuItem(hm, IDM_WINDOW_VIS_0 + i,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
CheckMenuItem(hm, IDM_WINDOW_VIS_0 + i,
- (data[i].visible ? MF_CHECKED : MF_UNCHECKED));
+ (data[i].visible ? MF_CHECKED : MF_UNCHECKED));
EnableMenuItem(hm, IDM_WINDOW_VIS_0 + i,
- MF_BYCOMMAND | MF_ENABLED);
+ MF_BYCOMMAND | MF_ENABLED);
}
/* Menu "Window::Font" */
for (i = 0; i < MAX_TERM_DATA; i++)
{
EnableMenuItem(hm, IDM_WINDOW_FONT_0 + i,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
if (data[i].visible)
{
EnableMenuItem(hm, IDM_WINDOW_FONT_0 + i,
- MF_BYCOMMAND | MF_ENABLED);
+ MF_BYCOMMAND | MF_ENABLED);
+ }
+ }
+
+ /* Menu "Window::Window Position Fix" */
+ for (i = 0; i < MAX_TERM_DATA; i++)
+ {
+ EnableMenuItem(hm, IDM_WINDOW_POS_0 + i,
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+
+ CheckMenuItem(hm, IDM_WINDOW_POS_0 + i,
+ (data[i].posfix ? MF_CHECKED : MF_UNCHECKED));
+
+ if (data[i].visible)
+ {
+ EnableMenuItem(hm, IDM_WINDOW_POS_0 + i,
+ MF_BYCOMMAND | MF_ENABLED);
}
}
for (i = 0; i < MAX_TERM_DATA; i++)
{
EnableMenuItem(hm, IDM_WINDOW_BIZ_0 + i,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
CheckMenuItem(hm, IDM_WINDOW_BIZ_0 + i,
- (data[i].bizarre ? MF_CHECKED : MF_UNCHECKED));
+ (data[i].bizarre ? MF_CHECKED : MF_UNCHECKED));
if (data[i].visible)
{
EnableMenuItem(hm, IDM_WINDOW_BIZ_0 + i,
- MF_BYCOMMAND | MF_ENABLED);
+ MF_BYCOMMAND | MF_ENABLED);
}
}
for (i = 0; i < MAX_TERM_DATA; i++)
{
EnableMenuItem(hm, IDM_WINDOW_I_WID_0 + i,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
if (data[i].visible)
{
EnableMenuItem(hm, IDM_WINDOW_I_WID_0 + i,
- MF_BYCOMMAND | MF_ENABLED);
+ MF_BYCOMMAND | MF_ENABLED);
}
}
for (i = 0; i < MAX_TERM_DATA; i++)
{
EnableMenuItem(hm, IDM_WINDOW_D_WID_0 + i,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
if (data[i].visible)
{
EnableMenuItem(hm, IDM_WINDOW_D_WID_0 + i,
- MF_BYCOMMAND | MF_ENABLED);
+ MF_BYCOMMAND | MF_ENABLED);
}
}
for (i = 0; i < MAX_TERM_DATA; i++)
{
EnableMenuItem(hm, IDM_WINDOW_I_HGT_0 + i,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
if (data[i].visible)
{
EnableMenuItem(hm, IDM_WINDOW_I_HGT_0 + i,
- MF_BYCOMMAND | MF_ENABLED);
+ MF_BYCOMMAND | MF_ENABLED);
}
}
for (i = 0; i < MAX_TERM_DATA; i++)
{
EnableMenuItem(hm, IDM_WINDOW_D_HGT_0 + i,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
if (data[i].visible)
{
EnableMenuItem(hm, IDM_WINDOW_D_HGT_0 + i,
- MF_BYCOMMAND | MF_ENABLED);
+ MF_BYCOMMAND | MF_ENABLED);
}
}
/* Menu "Options", disable all */
EnableMenuItem(hm, IDM_OPTIONS_NO_GRAPHICS,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
EnableMenuItem(hm, IDM_OPTIONS_OLD_GRAPHICS,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
EnableMenuItem(hm, IDM_OPTIONS_NEW_GRAPHICS,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
EnableMenuItem(hm, IDM_OPTIONS_BIGTILE,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
EnableMenuItem(hm, IDM_OPTIONS_SOUND,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
#ifndef JP
EnableMenuItem(hm, IDM_OPTIONS_SAVER,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
#endif
/* Menu "Options", Item "Map" */
EnableMenuItem(GetMenu(data[0].w), IDM_OPTIONS_MAP, MF_BYCOMMAND | MF_ENABLED);
else
EnableMenuItem(GetMenu(data[0].w), IDM_OPTIONS_MAP,
- MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
+ MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
/* Menu "Options", update all */
CheckMenuItem(hm, IDM_OPTIONS_NO_GRAPHICS,
- (arg_graphics == GRAPHICS_NONE ? MF_CHECKED : MF_UNCHECKED));
+ (arg_graphics == GRAPHICS_NONE ? MF_CHECKED : MF_UNCHECKED));
CheckMenuItem(hm, IDM_OPTIONS_OLD_GRAPHICS,
- (arg_graphics == GRAPHICS_ORIGINAL ? MF_CHECKED : MF_UNCHECKED));
+ (arg_graphics == GRAPHICS_ORIGINAL ? MF_CHECKED : MF_UNCHECKED));
CheckMenuItem(hm, IDM_OPTIONS_NEW_GRAPHICS,
- (arg_graphics == GRAPHICS_ADAM_BOLT ? MF_CHECKED : MF_UNCHECKED));
+ (arg_graphics == GRAPHICS_ADAM_BOLT ? MF_CHECKED : MF_UNCHECKED));
CheckMenuItem(hm, IDM_OPTIONS_BIGTILE,
- (arg_bigtile ? MF_CHECKED : MF_UNCHECKED));
+ (arg_bigtile ? MF_CHECKED : MF_UNCHECKED));
CheckMenuItem(hm, IDM_OPTIONS_SOUND,
- (arg_sound ? MF_CHECKED : MF_UNCHECKED));
+ (arg_sound ? MF_CHECKED : MF_UNCHECKED));
CheckMenuItem(hm, IDM_OPTIONS_BG,
- (use_bg ? MF_CHECKED : MF_UNCHECKED));
+ (use_bg ? MF_CHECKED : MF_UNCHECKED));
#ifndef JP
CheckMenuItem(hm, IDM_OPTIONS_SAVER,
- (hwndSaver ? MF_CHECKED : MF_UNCHECKED));
+ (hwndSaver ? MF_CHECKED : MF_UNCHECKED));
#endif
#ifdef USE_GRAPHICS
#ifdef USE_SAVER
/* Menu "Options", Item "ScreenSaver" */
EnableMenuItem(hm, IDM_OPTIONS_SAVER,
- MF_BYCOMMAND | MF_ENABLED);
+ MF_BYCOMMAND | MF_ENABLED);
#endif /* USE_SAVER */
}
if (!can_save)
{
#ifdef JP
- plog("º£¤Ï½ªÎ»¤Ç¤¤Þ¤»¤ó¡£");
+ plog("º£¤Ï½ªÎ»¤Ç¤¤Þ¤»¤ó¡£");
#else
plog("You may not do that right now.");
#endif
/* Save the game */
#ifdef ZANGBAND
- do_cmd_save_game(FALSE);
+ /* do_cmd_save_game(FALSE); */
#else /* ZANGBAND */
- do_cmd_save_game();
+ /* do_cmd_save_game(); */
#endif /* ZANGBAND */
+ Term_key_push(SPECIAL_KEY_QUIT);
+ break;
}
quit(NULL);
break;
char buf[1024];
/* Build the filename */
- path_build(buf, 1024, ANGBAND_DIR_APEX, "scores.raw");
+ path_build(buf, sizeof(buf), ANGBAND_DIR_APEX, "scores.raw");
/* Open the binary high score file, for reading */
highscore_fd = fd_open(buf, O_RDONLY);
else
{
td->visible = FALSE;
+ td->posfix = FALSE;
ShowWindow(td->w, SW_HIDE);
}
break;
}
+ /* Window Z Position */
+ case IDM_WINDOW_POS_1:
+ case IDM_WINDOW_POS_2:
+ case IDM_WINDOW_POS_3:
+ case IDM_WINDOW_POS_4:
+ case IDM_WINDOW_POS_5:
+ case IDM_WINDOW_POS_6:
+ case IDM_WINDOW_POS_7:
+ {
+ i = wCmd - IDM_WINDOW_POS_0;
+
+ if ((i < 0) || (i >= MAX_TERM_DATA)) break;
+
+ td = &data[i];
+
+ if (!td->posfix && td->visible)
+ {
+ td->posfix = TRUE;
+ term_window_pos(td, HWND_TOPMOST);
+ }
+ else
+ {
+ td->posfix = FALSE;
+ term_window_pos(td, data[0].w);
+ }
+
+ break;
+ }
+
/* Bizarre Display */
case IDM_WINDOW_BIZ_0:
case IDM_WINDOW_BIZ_1:
if (GetSaveFileName(&ofn))
{
- extern void do_cmd_save_screen_html_aux(char *filename, int message);
do_cmd_save_screen_html_aux(buf, 0);
}
break;
{
/* Create a screen scaver window */
hwndSaver = CreateWindowEx(WS_EX_TOPMOST, "WindowsScreenSaverClass",
- "Angband Screensaver",
- WS_POPUP | WS_MAXIMIZE | WS_VISIBLE,
- 0, 0, GetSystemMetrics(SM_CXSCREEN),
- GetSystemMetrics(SM_CYSCREEN),
- NULL, NULL, hInstance, NULL);
+ "Angband Screensaver",
+ WS_POPUP | WS_MAXIMIZE | WS_VISIBLE,
+ 0, 0, GetSystemMetrics(SM_CXSCREEN),
+ GetSystemMetrics(SM_CYSCREEN),
+ NULL, NULL, hInstance, NULL);
if (hwndSaver)
{
{
#ifdef HTML_HELP
char tmp[1024];
- path_build(tmp, 1024, ANGBAND_DIR_XTRA_HELP, "zangband.chm");
+ path_build(tmp, sizeof(tmp), ANGBAND_DIR_XTRA_HELP, "zangband.chm");
if (check_file(tmp))
{
HtmlHelp(data[0].w, tmp, HH_DISPLAY_TOPIC, 0);
#else /* HTML_HELP */
char buf[1024];
char tmp[1024];
- path_build(tmp, 1024, ANGBAND_DIR_XTRA_HELP, "zangband.hlp");
+ path_build(tmp, sizeof(tmp), ANGBAND_DIR_XTRA_HELP, "zangband.hlp");
if (check_file(tmp))
{
sprintf(buf, "winhelp.exe %s", tmp);
#ifdef __MWERKS__
LRESULT FAR PASCAL AngbandWndProc(HWND hWnd, UINT uMsg,
- WPARAM wParam, LPARAM lParam);
+ WPARAM wParam, LPARAM lParam);
LRESULT FAR PASCAL AngbandWndProc(HWND hWnd, UINT uMsg,
- WPARAM wParam, LPARAM lParam)
+ WPARAM wParam, LPARAM lParam)
#else /* __MWERKS__ */
LRESULT FAR PASCAL AngbandWndProc(HWND hWnd, UINT uMsg,
- WPARAM wParam, LPARAM lParam)
+ WPARAM wParam, LPARAM lParam)
#endif /* __MWERKS__ */
{
PAINTSTRUCT ps;
{
if (!can_save)
{
+#ifdef JP
+ plog("º£¤Ï½ªÎ»¤Ç¤¤Þ¤»¤ó¡£");
+#else
plog("You may not do that right now.");
+#endif
return 0;
}
/* Save the game */
#ifdef ZANGBAND
- do_cmd_save_game(FALSE);
+ /* do_cmd_save_game(FALSE); */
#else /* ZANGBAND */
- do_cmd_save_game();
+ /* do_cmd_save_game(); */
#endif /* ZANGBAND */
+ Term_key_push(252);
+ return 0;
}
quit(NULL);
return 0;
/* Do something to sub-windows */
for (i = 1; i < MAX_TERM_DATA; i++)
{
- SetWindowPos(data[i].w, hWnd, 0, 0, 0, 0,
- SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
+ if (!data[i].posfix) term_window_pos(&data[i], hWnd);
}
/* Focus on main window */
break;
}
+
+ case WM_ACTIVATEAPP:
+ {
+ for (i = 1; i < MAX_TERM_DATA; i++)
+ {
+ if(data[i].visible)
+ {
+ if (wParam == TRUE)
+ {
+ ShowWindow(data[i].w, SW_SHOW);
+ }
+ else
+ {
+ ShowWindow(data[i].w, SW_HIDE);
+ }
+ }
+ }
+ }
}
return DefWindowProc(hWnd, uMsg, wParam, lParam);
#ifdef __MWERKS__
LRESULT FAR PASCAL AngbandListProc(HWND hWnd, UINT uMsg,
- WPARAM wParam, LPARAM lParam);
+ WPARAM wParam, LPARAM lParam);
LRESULT FAR PASCAL AngbandListProc(HWND hWnd, UINT uMsg,
- WPARAM wParam, LPARAM lParam)
+ WPARAM wParam, LPARAM lParam)
#else /* __MWERKS__ */
LRESULT FAR PASCAL AngbandListProc(HWND hWnd, UINT uMsg,
- WPARAM wParam, LPARAM lParam)
+ WPARAM wParam, LPARAM lParam)
#endif /* __MWERKS__ */
{
term_data *td;
#ifdef __MWERKS__
LRESULT FAR PASCAL AngbandSaverProc(HWND hWnd, UINT uMsg,
- WPARAM wParam, LPARAM lParam);
+ WPARAM wParam, LPARAM lParam);
LRESULT FAR PASCAL AngbandSaverProc(HWND hWnd, UINT uMsg,
- WPARAM wParam, LPARAM lParam)
+ WPARAM wParam, LPARAM lParam)
#else /* __MWERKS__ */
LRESULT FAR PASCAL AngbandSaverProc(HWND hWnd, UINT uMsg,
- WPARAM wParam, LPARAM lParam)
+ WPARAM wParam, LPARAM lParam)
#endif /* __MWERKS__ */
{
static int iMouse = 0;
{
#ifdef JP
MessageBox(NULL, str, "·Ù¹ð¡ª",
- MB_ICONEXCLAMATION | MB_OK);
+ MB_ICONEXCLAMATION | MB_OK);
#else
MessageBox(NULL, str, "Warning",
- MB_ICONEXCLAMATION | MB_OK);
+ MB_ICONEXCLAMATION | MB_OK);
#endif
}
{
#ifdef JP
MessageBox(NULL, str, "¥¨¥é¡¼¡ª",
- MB_ICONEXCLAMATION | MB_OK | MB_ICONSTOP);
+ MB_ICONEXCLAMATION | MB_OK | MB_ICONSTOP);
#else
MessageBox(NULL, str, "Error",
- MB_ICONEXCLAMATION | MB_OK | MB_ICONSTOP);
+ MB_ICONEXCLAMATION | MB_OK | MB_ICONSTOP);
#endif
}
{
#ifdef JP
MessageBox(data[0].w, str, "·Ù¹ð¡ª",
- MB_ICONEXCLAMATION | MB_OK);
+ MB_ICONEXCLAMATION | MB_OK);
#else
MessageBox(data[0].w, str, "Warning",
- MB_ICONEXCLAMATION | MB_OK);
+ MB_ICONEXCLAMATION | MB_OK);
#endif
}
{
#ifdef JP
MessageBox(data[0].w, str, "¥¨¥é¡¼¡ª",
- MB_ICONEXCLAMATION | MB_OK | MB_ICONSTOP);
+ MB_ICONEXCLAMATION | MB_OK | MB_ICONSTOP);
#else
MessageBox(data[0].w, str, "Error",
- MB_ICONEXCLAMATION | MB_OK | MB_ICONSTOP);
+ MB_ICONEXCLAMATION | MB_OK | MB_ICONSTOP);
#endif
}
/* Build the filename */
#ifdef JP
- path_build(path, 1024, ANGBAND_DIR_FILE, "news_j.txt");
+ path_build(path, sizeof(path), ANGBAND_DIR_FILE, "news_j.txt");
#else
- path_build(path, 1024, ANGBAND_DIR_FILE, "news.txt");
+ path_build(path, sizeof(path), ANGBAND_DIR_FILE, "news.txt");
#endif
#ifndef JP
/* Build the "font" path */
- path_build(path, 1024, ANGBAND_DIR_XTRA, "font");
+ path_build(path, sizeof(path), ANGBAND_DIR_XTRA, "font");
/* Allocate the path */
ANGBAND_DIR_XTRA_FONT = string_make(path);
validate_dir(ANGBAND_DIR_XTRA_FONT, TRUE);
/* Build the filename */
- path_build(path, 1024, ANGBAND_DIR_XTRA_FONT, "8X13.FON");
+ path_build(path, sizeof(path), ANGBAND_DIR_XTRA_FONT, "8X13.FON");
/* Hack -- Validate the basic font */
validate_file(path);
#ifdef USE_GRAPHICS
/* Build the "graf" path */
- path_build(path, 1024, ANGBAND_DIR_XTRA, "graf");
+ path_build(path, sizeof(path), ANGBAND_DIR_XTRA, "graf");
/* Allocate the path */
ANGBAND_DIR_XTRA_GRAF = string_make(path);
#ifdef USE_SOUND
/* Build the "sound" path */
- path_build(path, 1024, ANGBAND_DIR_XTRA, "sound");
+ path_build(path, sizeof(path), ANGBAND_DIR_XTRA, "sound");
/* Allocate the path */
ANGBAND_DIR_XTRA_SOUND = string_make(path);
#ifdef USE_MUSIC
/* Build the "music" path */
- path_build(path, 1024, ANGBAND_DIR_XTRA, "music");
+ path_build(path, sizeof(path), ANGBAND_DIR_XTRA, "music");
/* Allocate the path */
ANGBAND_DIR_XTRA_MUSIC = string_make(path);
#endif /* USE_MUSIC */
/* Build the "help" path */
- path_build(path, 1024, ANGBAND_DIR_XTRA, "help");
+ path_build(path, sizeof(path), ANGBAND_DIR_XTRA, "help");
/* Allocate the path */
ANGBAND_DIR_XTRA_HELP = string_make(path);
int FAR PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrevInst,
- LPSTR lpCmdLine, int nCmdShow)
+ LPSTR lpCmdLine, int nCmdShow)
{
int i;
switch(lpCmdLine[1])
{
case 'p':
+ case 'P':
{
if (!lpCmdLine[2]) break;
chuukei_server = TRUE;
}
case 'c':
+ case 'C':
{
if (!lpCmdLine[2]) break;
chuukei_client = TRUE;