home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / pocketbk / games / yam11src / YAM.OPH < prev    next >
Text File  |  1995-07-27  |  11KB  |  287 lines

  1. REM YAM.OPH
  2. REM Copyright (c) 1995 Bermuda Software Publishing
  3. REM Written by Bruno Essmann (bessmann@iiic.ethz.ch)
  4.  
  5. /*
  6. REM Enable this definition for recursive Game_CheckField function
  7. REM (by default the non-recursive variant is taken)
  8. #define CHECK_RECURSIVE
  9. */
  10.  
  11. REM Global Variables
  12. #define TimerHandle            THandle%
  13. #define TimerError             TError%          
  14. #define TimerTime              TTime&           
  15. #define TimerStatus            TStatus%         
  16. #define SystemStatus           SStatus%         
  17. #define PlaybackStatus         PStatus%
  18. #define Preferences            MPrefs%          
  19. #define GamePict               GPict%           
  20. #define GameType               MGame%           
  21. #define GameStatus             MStatus%         
  22. #define ScrX                   MFPosX%          
  23. #define ScrY                   MFPosY%          
  24. #define GameW                  MFX%             
  25. #define GameH                  MFY%             
  26. #define GameMines              MFMines%         
  27. #define NoFree                 MFree%
  28. #define NoFlags                MFlgC%           
  29. #define NoFalseFlags           MFlgW%           
  30. #define MarkX                  MCX%             
  31. #define MarkY                  MCY%             
  32. #define TimeMin                MTMin%           
  33. #define TimeSec                MTSec%           
  34. #define PauseWin               PWId%
  35. #define PauseWinOpen           PWOpen%
  36. #define Minefieldtype          MFType%
  37. #define Minefieldnumber        MFNum%
  38.  
  39. REM Minefield
  40. #define FieldW                 9
  41. #define MarkW                  2
  42. #define MinW                   8
  43. #define MinH                   8
  44. #define MaxW                   30
  45. #define MaxH                   16
  46. #define MaxWH                  480
  47. #define MinMines               10
  48. #define MaxMines               384
  49. #define FieldMined             1
  50. #define FieldFree              2
  51. #define FieldFlagged           3
  52. #define FieldFalseFlagged      4
  53. #define FieldNumbered          5
  54. #define Fieldtype(X,Y)         Minefieldtype(X+Y*MaxW+1)
  55. #define Fieldnumber(X,Y)       Minefieldnumber(X+Y*MaxW+1)
  56. #define SetFieldtype(X,Y,t)    Minefieldtype(X+Y*MaxW+1) = t
  57. #define SetNoMines(X,Y,m)      Minefieldnumber(X+Y*MaxW+1) = m
  58. #define CheckWon()             ((NoFree = 0) OR (NoFlags = GameMines))
  59.  
  60. REM Gametype
  61. #define GameBeginner           1
  62. #define GameAdvanced           2
  63. #define GameExpert             3
  64. #define GameCustom             4
  65.  
  66. REM Gamestatus
  67. #define GameOver               1
  68. #define GameNew                2
  69. #define GamePlay               3
  70. #define GamePaused             4
  71. #define GameInit               5
  72. #define GamePeekGood           6
  73. #define GamePeekNada           7
  74.  
  75. REM Varius game constants
  76. #define MaxTimeMin             60
  77. #define HelpMain               1
  78. #define HelpAbout              9
  79. #define YES                    -1
  80. #define NO                     0
  81. #define GameCheatDelay         ((GameW*GameH)/GameMines)
  82. #define SoundError             1
  83. #define SoundWon               2
  84. #define SoundLost              3
  85. #define SoundVol               0
  86. #define DefSoundErrPitch       500
  87. #define DefSoundErrTime        1
  88. #define DefSoundWonName        "ROM::SYS$AL01.WVE"
  89. #define DefSoundWonTime        55
  90. #define DefSoundLostName       "ROM::SYS$AL03.WVE"
  91. #define DefSoundLostTime       40
  92.  
  93. REM System and key constants
  94. #define NoEvent                -46
  95. #define SysForeground          $0401
  96. #define SysBackground          $0402
  97. #define SysMessage             $0404
  98. #define ShiftKey               $02
  99. #define ControlKey             $04
  100. #define PsionKey               $08
  101. #define ModifierKey            $0E
  102. #define NormalKey              $FF
  103. #define FirstCursorKey         $0100
  104. #define LastCursorKey          $0107
  105. #define MenuKey                $0122
  106. #define HelpKey                $0123
  107. #define SpecialKey             $FF00
  108. #define ShiftDifference        $20  /* Difference 'a'-'A' */
  109. #define Escape                 $1B
  110. #define Enter                  $0D
  111. #define Space                  $20
  112. #define Tab                    $09
  113.  
  114. REM String Constants
  115. #define YAMDirectory           "M:\APP\YAM"
  116. #define YAMIniFile             "M:\APP\YAM\YAM.INI"
  117. #define YAMHelpFile            "M:\APP\YAM\YAM.HLP"
  118. #define DispPicture            "M:\APP\YAM\YAM.PIC"
  119. #define DispStatus             "Status"
  120. #define DispTime               "Time"
  121. #define DispMines              "Mines"
  122. #define DispType               "Type"
  123. #define DispWidth              "Width"
  124. #define DispHeight             "Height"
  125. #define DispBeginner           "Beginner"       
  126. #define DispAdvanced           "Advanced"       
  127. #define DispExpert             "Expert"         
  128. #define DispCustom             "Custom"         
  129. #define DispGameWon            "Game won"
  130. #define DispGameOver           "Game lost"
  131. #define DispGameNew            "New game"
  132. #define DispGamePlay           "Playing..."
  133. #define DispGamePaused         "Paused"
  134. #define DispGameInit           "Init..."
  135. #define DispGameCheat          "Cheating..."
  136. #define DispPauseGame          "GAME"
  137. #define DispPausePause         "PAUSED"
  138. #define PrefHelp               6
  139. #define PrefTitle              "Set preferences"
  140. #define PrefDefName            "Default name"
  141. #define PrefGametype           "Startup gametype", "Beginner,Advanced,Expert,Custom"
  142. #define PrefCtrlInc            "Control increase"
  143. #define PrefBordMark           "Border marks", "On,Off"
  144. #define PrefSoundHelp          7
  145. #define PrefSoundTitle         "Setup sounds"
  146. #define PrefSound              "Sound", "Off,Quiet,Medium,Loud,Very Loud"
  147. #define PrefSoundType          "Type", "Auto,Manual"
  148. #define PrefSoundWon           "Win"
  149. #define PrefSoundLost          "Loose"
  150. #define PrefFileNotFound       "File not found"
  151. #define CustomGameHelp         5
  152. #define CustomGameTitle        "New game custom"
  153. #define CustomGameWidth        "Minefield width"
  154. #define CustomGameHeight       "Minefield height"
  155. #define CustomGameMineMode     "Select mines", "Auto,Manual"
  156. #define CustomGameMines        "Number of mines"
  157. #define HiscoreHelp            4
  158. #define HiscoreTitle           "Hall of Fame"
  159. #define HiscoreBeginner        "Beginner       "
  160. #define HiscoreAdvanced        "Advanced     "
  161. #define HiscoreExpert          "Expert            "
  162. #define HiscoreNewHigh         "New Hiscore"
  163. #define HiscoreName            "Name"
  164. #define DialogCancel           "Cancel"
  165. #define DialogOK               "OK"
  166. #define DialogYes              "Yes"
  167. #define DialogNo               "No"
  168. #define MinesAdjusted          "Mines adjusted to "
  169. #define GameInitDistrib        "Distributing mines"
  170. #define GameInitCalc           "Calculating fields"
  171. #define QueryExit              "Exit YAM", "Do you want to abort the", "current game and leave ?"
  172. #define QueryNewGame           "New game", "Do you want to abort", "the current game ?"
  173. #define ErrNoHelp              "Help not found"
  174. #define ErrTimer               "YAM couldn't setup its timer"
  175. #define ErrPrefLoad            "YAM cannot proceed without prefs file."
  176.  
  177. REM Menu Strings and Hotkeys
  178. #define TNew                   "New"            
  179. #define MNew                   "New game"       
  180. #define HNew                   -%n              
  181. #define KNew                   "n"
  182. #define MBeginner              "Beginner"       
  183. #define HBeginner              %b
  184. #define KBeginner              "b"
  185. #define MAdvanced              "Advanced"
  186. #define HAdvanced              %a
  187. #define KAdvanced              "a"
  188. #define MExpert                "Expert"
  189. #define HExpert                %e
  190. #define KExpert                "e"
  191. #define MCustom                "Custom"
  192. #define HCustom                %c
  193. #define KCustom                "c"
  194. #define TGame                  "Game"
  195. #define MResume                "Resume game"
  196. #define HResume                %p
  197. #define MPause                 "Pause game"
  198. #define HPause                 %p
  199. #define KPause                 "p"
  200. #define MHiscore               "Hall of Fame"
  201. #define HHiscore               %h
  202. #define KHiscore               "h"
  203. #