/* * CommandShowGChannel: "gchannel" command */ void CommandShowGChannel(char *args) { ShowGChannelDlg(); }
Bool WINAPI EventUserAction(int action, void *action_data) { int x, y; list_type objects; char buf[MAX_ADMIN]; object_node *obj; ID id; switch (action) { case A_QEDITOR: debug(("A_QEDITOR\n")); if (GetQEditorDlg() || GetGChannelDlg()) break; ShowQEditorDlg(); break; case A_GCHANNEL: debug(("A_GCHANNEL\n")); if (GetQEditorDlg() || GetGChannelDlg()) break; ShowGChannelDlg(); break; case A_LOOKMOUSE: /* user 'looks' on main window */ if (!GetQEditorDlg() && !GetGChannelDlg()) return True; if (!MouseToRoom(&x, &y)) return True; objects = GetObjects3D(x, y, 0, 0, 0); if (objects == NULL) return True; /* Get details of object */ obj = (object_node *) (objects->data); if (!obj) { debug(("clicked, but nothing\n")); return True; } strcpy(buf, LookupNameRsc(obj->name_res)); if (GetGChannelDlg() && (obj->flags & OF_PLAYER)) { debug(("gchannel needs to hear we clicked on '%s' (flags = 0x08X)\n", buf, obj->flags)); SendMessage(GetGChannelDlg(), DMDLGM_CLICKEDUSER, 0, (LPARAM)buf); return False; } if (GetQEditorDlg()) { debug(("qeditor needs to hear we clicked on '%s'\n", buf)); SendMessage(GetQEditorDlg(), DMDLGM_CLICKEDUSER, 0, (LPARAM)buf); return False; } break; case A_LOOKINVENTORY: /* user 'looks' on inventory window */ if (!GetQEditorDlg() /* && !GetGChannelDlg() */) return True; id = (ID)action_data; if (id == INVALID_ID) return True; break; default: return True; } return False; }