int ui_message_window_close(message_window_e mwin) { switch (mwin) { case msg_win_monitor: /* This function should only be called from the console (i.e. monitor-internal). External functions should close by calling ui_message_window_close_request(). */ msgwin_monitor_close(); break; case msg_win_license: case msg_win_warranty: case msg_win_contrib: if (MsgWindows[mwin].tw != NULL) { textwin_close(MsgWindows[mwin].tw); MsgWindows[mwin].Flags &= ~MSGWIN_FLAG_OPEN; } break; case msg_win_log: if (MsgWindows[mwin].win != NULL) { Wimp_CloseWindow((int*)(MsgWindows[mwin].win)); MsgWindows[mwin].Flags &= ~MSGWIN_FLAG_OPEN; } break; default: return -1; } return 0; }
static int msgwin_close_generic(message_window_e mwin, int *block) { if (block[WindowB_Handle] == MsgWindows[mwin].win->Handle) { textwin_close(MsgWindows[mwin].tw); MsgWindows[mwin].Flags = 0; return 1; } return 0; }
// WC : ウィンドウのクローズ (T.Yui) DRS cmd:29 int isfcmd_2a(SCR_OPE *op) { BYTE num; if (scr_getbyte(op, &num) != SUCCESS) { return(GAMEEV_WRONGLENG); } TRACEOUT(("cmd 2a")); textwin_close(num); textwin_cmdclose(num); // ドーターメーカーだとコマンドも閉じるらしい… return(GAMEEV_SUCCESS); }