Free Hero Mesh

Check-in [1a2fee8a44]
Login
This is a mirror of the main repository for Free Hero Mesh. New tickets and changes will not be accepted at this mirror.
Overview
Comment:Implement a key binding command to record the solution even if auto recording solutions is not enabled.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 1a2fee8a44d892eea85c755ed1d5c546244e3647
User & Date: user on 2021-05-23 02:22:04
Other Links: manifest | tags
Context
2021-05-23
20:24
Implement the "portable app" mode. check-in: 3d7617dc1f user: user tags: trunk
02:22
Implement a key binding command to record the solution even if auto recording solutions is not enabled. check-in: 1a2fee8a44 user: user tags: trunk
2021-05-22
23:10
Fix documentation of CLASS_DATA function check-in: ad65a30a4b user: user tags: trunk
Changes

Modified bindings.doc from [5b9a298076] to [85737cf87e].

68
69
70
71
72
73
74



75
76
77
78
79
80
81
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84







+
+
+








'^I'
  Toggle the inventory/move-list display.

'^M'
  Set the replay mark position.

'^S'
  If the level is in a won state, record the solution.

'^T'
  Display the level title popup.

'^d' <location>
  Display the pop-up help text of the object at the location.

'^g'

Modified default.heromeshrc from [1fdde48f53] to [71d4d49167].

104
105
106
107
108
109
110

111
112
113
114
115
116
117
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118







+







?.gameKey.alt.T: 'TAB
?.gameKey.alt.Z: 'CTRL

! Game key bindings
?.gameKey.ctrl.E: ^E
?.gameKey.ctrl.I: select 'mi',:import_move_list;
?.gameKey.ctrl.Q: ^Q
?.gameKey.ctrl.S: ^S
?.gameKey.ctrl.T: ^T
?.gameKey.ctrl.X: select 'mx',:export_move_list;
?.gameClick.right: ^o
?.gameClick.middle: ^d
?.gameKey.kp_enter: =0
?.gameKey.escape: =0
?.gameKey.f1: +1

Modified game.c from [82e0e69943] to [775aabf4a7].

28
29
30
31
32
33
34


35
36
37
38
39
40
41
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43







+
+







static Uint8*inputs;
static int inputs_size,inputs_count;
static Uint8 side_mode=255;
static Uint8 should_record_solution;
static Uint8 replay_speed;
static Uint8 replay_time;

static void record_solution(void);

static void setup_game(void) {
  const char*v;
  optionquery[1]=Q_showInventory;
  v=xrm_get_resource(resourcedb,optionquery,optionquery,2)?:"";
  side_mode=boolxrm(v,1);
  optionquery[1]=Q_replaySpeed;
  v=xrm_get_resource(resourcedb,optionquery,optionquery,2)?:"";
724
725
726
727
728
729
730



731
732
733
734
735
736
737
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742







+
+
+







      side_mode^=1;
      return prev;
    case '^M': // Mark replay position
      replay_mark=replay_pos+inputs_count;
      return prev;
    case '^Q': // Quit
      return -1;
    case '^S': // Save solution
      if(gameover==1) record_solution();
      return 1;
    case '^T': // Show title
      modal_draw_popup(level_title);
      return prev;
    case '^d': // Describe object
      describe_at(number-65);
      return prev;
    case '^g': // Display global variables