Subversion Repositories Games.Descent

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * Portions of this file are copyright Rebirth contributors and licensed as
  3.  * described in COPYING.txt.
  4.  * Portions of this file are copyright Parallax Software and licensed
  5.  * according to the Parallax license below.
  6.  * See COPYING.txt for license details.
  7.  
  8. THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
  9. SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
  10. END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
  11. ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
  12. IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
  13. SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
  14. FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
  15. CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
  16. AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
  17. COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
  18. */
  19.  
  20. /*
  21.  *
  22.  * Functions for showing help.
  23.  *
  24.  */
  25.  
  26.  
  27. #include "inferno.h"
  28. #include "editor.h"
  29. #include "kdefs.h"
  30.  
  31. #include "ui.h"
  32.  
  33. constexpr char MainHelpText[] = "\nMED General Functions\n\n" \
  34. "SPACEBAR         Full Redraw\n" \
  35. "BACKSPACE        Drop into debugger\n\n" \
  36. "A                Attach a segment\n" \
  37. "D                Delete current segment\n\n" \
  38. "F                Toggle to game\n" \
  39. "G or S           Go to game (Toggle screen)\n\n" \
  40. "ALT-C            Create new mine\n" \
  41. "ALT-S            Save mine\n" \
  42. "ALT-L            Load mine\n"\
  43. "ESC              Exit editor\n"\
  44. "ALT-Q/CTRL-Q/SHIFT-Q also Exit editor\n";
  45.  
  46. constexpr char SegmentHelpText[] = "MED Segment Functions\n\n" \
  47. "ALT-B            Create Bridge from current to marked segment\n" \
  48. "ALT-E            Exchange current and marked segments\n" \
  49. "ALT-J            Create Joint between current and marked segments\n" \
  50. "ALT-SHIFT-J      Create Joint on current side and adjacent segments\n" \
  51. "ALT-CTRL-J       Create Joint on current segment and adjacent segments\n" \
  52. "ALT-CTRL-SHIFT-J Create Joints on all adjacent segments\n" \
  53. "ALT-M            Mark current segment and side\n" \
  54. "ALT-N            Create default segment for New_segment\n" \
  55. "CTRL-A           Toggle - Draw all segments/Draw connected segments\n" \
  56. "CTRL-C           Clear selected list\n" \
  57. "CTRL-D           Toggle display of coordinate axes\n" \
  58. "CTRL-S           Advance to segment through Curside\n" \
  59. "ALT-T            Assign Texture to current side\n" \
  60. "CTRL-P           Propogate Textures\n" \
  61. "CTRL-SHIFT-P     Propogate Textures on Selected segments\n" \
  62. "CTRL-SHIFT-S     Advance to segment opposite Curside\n" \
  63. "CTRL-F           Select next side\n" \
  64. "CTRL-SHIFT-F     Select previous side\n";
  65.  
  66. constexpr char KeyPadHelpText[] = "MED KeyPad Functions\n\n" \
  67.  
  68. "SHIFT-KEYPAD FUNCTIONS (Change direction vector of segment)\n" \
  69. "----------------------\n" \
  70. "(7)                  8 Decrease Pitch   (9)\n" \
  71. " 4 Decrease Heading (5)                  6 Increase Heading\n" \
  72. " 1 Decrease Bank     2 Increase Pitch    3 Increase Bank\n\n" \
  73.  
  74. "CTRL-KEYPAD FUNCTIONS (Change size/shape of segment)\n" \
  75. "---------------------\n" \
  76. "(7)                  8 Increase Length   9 Increase Height\n" \
  77. " 4 Decrease Width   (5)                  6 Increase Width\n" \
  78. "(1)                  2 Decrease Length   3 Decrease Height\n"\
  79. "\nIn addition, CTRL-SHIFT-KEYPAD Changes size at x5 rate as above\n";
  80.  
  81.  
  82. constexpr char ViewHelpText[] = "MED View Changing Functions\n\n" \
  83. "ALT-V            Change to orthogonal view (1,2,3)\n" \
  84. "CTRL-V           Toggle view to current segment\n" \
  85. "MINUS (-)        Zoom in\n" \
  86. "EQUAL (=)        Zoom out\n" \
  87. "SHIFT-MINUS      Decrease viewer distance\n" \
  88. "SHIFT-EQUAL      Increase viewer distance\n" \
  89. "\n* Holding the Ctrl key and moving the mouse will change\n" \
  90. "the viewer's orientation in the main window.";
  91.  
  92. //"CTRL-MINUS       Decreases drawing depth\n"
  93. //"CTRL-EQUAL       Increases drawing depth\n"
  94.  
  95. constexpr char GameHelpText[] = "MED Game Screen Functions\n\n" \
  96. "KEYPAD FUNCTIONS (Moves in game screen)\n" \
  97. "----------------\n" \
  98. "(7)                  8 Move Forward     (9)\n" \
  99. " 4 Decrease Heading  5 Complete Stop     6 Increase Heading\n" \
  100. " 1 Decrease Bank     2 Move Backward     3 Increase Bank\n\n" \
  101. "[                Decreases Pitch\n" \
  102. "]                Increases Pitch\n" \
  103. "C                Set Player from Current segment\n" \
  104. "L                Toggle Lock Step\n" \
  105. "O                Toggle Outline Mode\n" \
  106. "SHIFT-C          Set PLayer from Current segment-1\n" \
  107. "SHIFT-L          Toggle Lighting effect\n" \
  108. "NUMLOCK          Reset orientation\n" \
  109. "PAD DIVIDE (/)   Game Zoom out\n" \
  110. "PAD MULTIPLY (*) Game Zoom In\n";
  111.  
  112. constexpr char CurveHelpText[] = "MED Curve Generation Functions\n\n" \
  113. "ALT-F10          Generate curve\n" \
  114. "F8               Delete curve\n" \
  115. "F11              'Set' curve\n" \
  116. "F9               Decrease r1 vector\n" \
  117. "SHIFT-F9         Increase r1 vector\n" \
  118. "F10              Decrease r4 vector\n" \
  119. "SHIFT-F10        Increase r4 vector\n";
  120.  
  121. constexpr char MacrosHelpText[] = "MED Macros Functions\n\n" \
  122. "CTRL-INSERT      Play fast\n" \
  123. "CTRL-DELETE      Play normal\n" \
  124. "CTRL-HOME        Record all\n" \
  125. "CTRL-END         Record keys\n" \
  126. "CTRL-PAGEUP      Save Macro\n" \
  127. "CTRL-PAGEDOWN    Load Macro\n";
  128.  
  129. int DoHelp()
  130. {
  131.         int help_key = 2;
  132.     int more_key = 2;
  133.     while (help_key > 1)
  134.         {
  135.         help_key = ui_messagebox( -2, -2, 5, MainHelpText, "Ok", "Segment", "Keypad", "View", "More");
  136.                 if (help_key == 2)
  137.                         ui_messagebox( -2, -2, 1, SegmentHelpText, "Ok" );
  138.                 if (help_key == 3)
  139.                         ui_messagebox( -2, -2, 1, KeyPadHelpText, "Ok" );
  140.                 if (help_key == 4)
  141.                         ui_messagebox( -2, -2, 1, ViewHelpText, "Ok" );
  142.         if (help_key == 5) {
  143.             more_key = ui_messagebox( -2, -2, 4, MainHelpText, "Back", "Curve", "Macro", "Game");
  144.                 if (more_key == 2)
  145.                     ui_messagebox( -2, -2, 1, CurveHelpText, "Ok" );
  146.                 if (help_key == 3)
  147.                     ui_messagebox( -2, -2, 1, MacrosHelpText, "Ok" );
  148.                 if (help_key == 4)
  149.                     ui_messagebox( -2, -2, 1, GameHelpText, "Ok" );
  150.         }
  151.         }
  152.         return 1;
  153. }
  154.