home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer 2.12 / 1997-01_Disc_2.12.iso / rexblade / vc.h < prev    next >
C/C++ Source or Header  |  1996-09-30  |  3KB  |  116 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. // VC.H                                                                    //
  3. //                                                                         //
  4. // Rex Blade(tm) Virtual Computer                                          //
  5. // Copyright (c) 1996 Xtreme Games                                         //
  6. // All rights reserved.                                                    //
  7. /////////////////////////////////////////////////////////////////////////////
  8.  
  9. // DEFINES //////////////////////////////////////////////////////////////////
  10.  
  11. // Sound IDs
  12. #define FIRE1_SND       0
  13. #define FIRE2_SND       1
  14. #define FIRE3_SND       2
  15. #define HIT1_SND        3
  16. #define HIT2_SND        4
  17. #define EXPLODE1_SND    5
  18. #define EXPLODE2_SND    6
  19. #define GOAL1_SND       7
  20. #define MENUSEL_SND     8
  21. #define ENCODING_SND    9
  22. #define DIGITIZING_SND 10
  23. #define TELEPORT_SND   11
  24. #define SOUND_MAX      12
  25.  
  26. // Midi IDs
  27. #define METEOR_MUZ   0
  28. #define QUEST_MUZ    1
  29. #define MIDI_MAX     2
  30.  
  31. // RPC
  32. #define REX_RPC_COMM_TELEPORT_RESET 0
  33. #define REX_RPC_COMM_TELEPORT_ENTER 1
  34. #define REX_RPC_COMM_TELEPORT_LEVEL 2
  35.  
  36. #define REX_RPC_RESULT_ERROR        0
  37. #define REX_RPC_RESULT_YES          1
  38. #define REX_RPC_RESULT_NO           2
  39.  
  40. // Teleport
  41. #define REX_COMM_TELEPORT_ENTER     1
  42. #define REX_COMM_TELEPORT_LEVEL     2
  43.  
  44. // STRUCTURES ///////////////////////////////////////////////////////////////
  45.  
  46. // Virtual Computer Interface
  47. typedef struct rex_vc_context_typ
  48. {
  49.   int  command;
  50.   int  iparms[8];
  51.   char world_name[80];
  52.   char level_name[80];
  53.   char log_file[80];
  54.   char qa_file[80];
  55.   char pass_file[80];
  56.   char program_file[80];
  57.   char splash_file[80];
  58.   char com_file_pcx[80];
  59.   void *extra;
  60. } rex_vc_context_obj, *rex_vc_context_obj_ptr;
  61.  
  62. // Remote Procedure Control Interface
  63. typedef struct rex_rpc_typ
  64. {
  65.   int   command;
  66.   int   iparms[8];
  67.   float fparms[8];
  68.   char  text[256];
  69.   void  *extra;
  70. } rex_rpc_obj, *rex_rpc_obj_ptr;
  71.  
  72. // GLOBALS //////////////////////////////////////////////////////////////////
  73.  
  74. // Sound & midi
  75. extern char *sound_files[SOUND_MAX];
  76. extern char *midi_files[MIDI_MAX];
  77.  
  78. // Double buffer
  79. extern unsigned char *rex_vc_dblbuf;
  80.  
  81. // Digital
  82. extern int (*Rex_VC_Play_Dig_File)(char *filename, int volume, int rate);
  83. extern int (*Rex_VC_Play_Dig)(int sound_name, int volume, int rate);
  84. extern int (*Rex_VC_Stop_Dig)(int sound_id);
  85. extern int (*Rex_VC_Status_Dig)(int sound_id);
  86.  
  87. // Midi
  88. extern int (*Rex_VC_Play_Mid)(int midi_name, int volume);
  89. extern int (*Rex_VC_Stop_Mid)(int midi_id);
  90. extern int (*Rex_VC_Status_Mid)(int midi_id);
  91.  
  92. // Joystick
  93. extern int (*Rex_VC_Joystick)(int *dx, int *dy, int *buttons);
  94.  
  95. // Remote Procedure Control Interface
  96. extern int (*Rex_VC_RPC_Interface)(rex_rpc_obj_ptr request);
  97.  
  98. // Virtual Computer Interface
  99. extern int (*Rex_VC_Run)(rex_vc_context_obj_ptr info);
  100.  
  101. // PROTOTYPES ///////////////////////////////////////////////////////////////
  102.  
  103. void waitvr();
  104.  
  105. // VC
  106. void VC_GetInput();
  107. void VC_TaskListsInit();
  108. void VC_TaskListsClearAll();
  109. void VC_TaskListsClear();
  110. void VC_TaskListsProcess();
  111.  
  112. // Games
  113. void Run_Meteor();
  114. void Run_Quest();
  115. void Run_Astro();
  116. void Run_OutPost9();