Free Hero Mesh

Check-in [730d600d55]
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:Disallow inserting/deleting moves during the solution replay
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 730d600d55fe817a22f9c2e5b7ba1c15bd25113b
User & Date: user on 2021-10-24 07:41:39
Other Links: manifest | tags
Context
2021-10-28
02:37
Implement ^x and also some , and = variants of a few instructions. check-in: 0d3bc1253d user: user tags: trunk
2021-10-24
07:41
Disallow inserting/deleting moves during the solution replay check-in: 730d600d55 user: user tags: trunk
2021-10-23
05:43
Implement move list deletion/insertion mode. check-in: d950a4244a user: user tags: trunk
Changes

Modified game.c from [75a646347e] to [f49e5e6f35].

731
732
733
734
735
736
737




738
739
740
741
742
743

744
745
746
747
748
749
750
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755







+
+
+
+






+







      goto restart;
    case '^>': // Replay to mark
      inputs_count=0;
      number=replay_mark-replay_pos;
      goto replay;
    case '^-': // Delete move
      inputs_count=0;
      if(solution_replay) {
        screen_message("You cannot delete moves during the solution replay");
        return -3;
      }
      if(replay_pos==replay_count) return 0;
      memmove(replay_list+replay_pos,replay_list+replay_pos+1,replay_count-replay_pos-1);
      replay_count--;
      if(replay_mark>replay_pos) replay_mark--;
      return 0;
    case '^+': // Insert moves
      if(solution_replay) return 0;
      inputs_count=0;
      inserting^=1;
      return 0;
    case '^E': // Edit
      return main_options['r']?1:-2;
    case '^I': // Toggle inventory display
      side_mode^=1;
772
773
774
775
776
777
778

779
780
781
782
783
784
785
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791







+







    case '^o': // List objects
      list_objects_at(number-65,playfield,"");
      return prev;
    case '^p': // Slow replay
      replay_time=replay_time?0:1;
      return 0;
    case '^s': // Toggle solution replay
      inserting=0;
      if(replay_count) save_replay();
      solution_replay^=1;
      if(replay_count) replay_count=0,begin_level(level_id); else load_replay();
      return 1;
    case 'go': // Select level
      begin_level(number);
      return 1;