コード例 #1
0
ファイル: command.c プロジェクト: AlleyCat1976/Meridian59_103
/*
 * CommandShowGChannel: "gchannel" command
 */
void CommandShowGChannel(char *args)
{
   ShowGChannelDlg();
}
コード例 #2
0
ファイル: dm.c プロジェクト: Tatsujinichi/Meridian59
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;
}