Free Hero Mesh

Check-in [a747e28795]
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 sleeping during autotest if the .progress resource is set to a negative number.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: a747e2879556290be428bbaa090bc7bd32d58127
User & Date: user on 2021-03-19 06:09:32
Other Links: manifest | tags
Context
2021-03-20
02:26
Implement death animations check-in: 152aca780c user: user tags: trunk
2021-03-19
06:09
Implement sleeping during autotest if the .progress resource is set to a negative number. check-in: a747e28795 user: user tags: trunk
2021-03-18
21:20
For key dispatch, return the Arg2 value if no block is found. check-in: decc02f01b user: user tags: trunk
Changes

Modified config.doc from [1678db96f2] to [b2bd2a8076].

53
54
55
56
57
58
59
60
61

62
63
64
65
66
67
68

.palette
  If defined, the file name of the palette to use (if not set, then the
  internal palette is used instead). The file format is hex rrggbb format
  separated by any kind of whitespaces.

.progress
  If nonzero, how many steps between dots in the progress report for the
  auto testing most.


.screenFlags
  SDL flags: d = double buffer, f = full screen, h = use hardware surface,
  n = no window frame, p = hardware palette, r = allow the window to be
  resized, y = asynchronous blit, z = no parachute. Some flags might not
  work if the window manager does not support them.








|
|
>







53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69

.palette
  If defined, the file name of the palette to use (if not set, then the
  internal palette is used instead). The file format is hex rrggbb format
  separated by any kind of whitespaces.

.progress
  If positive, how many steps between dots in the progress report for the
  auto testing most. If negative, number of milliseconds to sleep before
  each level is executed.

.screenFlags
  SDL flags: d = double buffer, f = full screen, h = use hardware surface,
  n = no window frame, p = hardware palette, r = allow the window to be
  resized, y = asynchronous blit, z = no parachute. Some flags might not
  work if the window manager does not support them.

Modified game.c from [bc87d2bc32] to [bcf987b98f].

847
848
849
850
851
852
853

854
855
856
857
858
859
860
  if(main_options['t']) pro=0;
  optionquery[1]=Q_level;
  t=xrm_get_resource(resourcedb,optionquery,optionquery,2);
  if(n=lvl=t?strtol(t,0,10):0) goto start;
  for(n=1;n<=level_nindex;n++) {
    if(lvl) break;
    start:

    if(main_options['t']) printf("*** Level %d\n",n); else printf("Level %d",n);
    if(t=load_level(-n)) {
      printf(": Error during loading: %s\n",t);
      rc=1; continue;
    }
    load_replay();
    if(!replay_count) {







>







847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
  if(main_options['t']) pro=0;
  optionquery[1]=Q_level;
  t=xrm_get_resource(resourcedb,optionquery,optionquery,2);
  if(n=lvl=t?strtol(t,0,10):0) goto start;
  for(n=1;n<=level_nindex;n++) {
    if(lvl) break;
    start:
    if(pro<0) sqlite3_sleep(-pro);
    if(main_options['t']) printf("*** Level %d\n",n); else printf("Level %d",n);
    if(t=load_level(-n)) {
      printf(": Error during loading: %s\n",t);
      rc=1; continue;
    }
    load_replay();
    if(!replay_count) {
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
      rc=1; continue;
    }
    for(i=0;i<replay_count;i++) {
      if(gameover) {
        printf(": Premature termination on move %d\n",i);
        rc=1; goto cont;
      }
      if(pro && !(i%pro)) putchar('.');
      if(t=execute_turn(replay_list[i])) {
        printf(": Error on move %d: %s\n",i+1,t);
        rc=1; goto cont;
      }
      if(gameover==-1) {
        printf(": Game loss on move %d\n",i+1);
        rc=1; goto cont;







|







871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
      rc=1; continue;
    }
    for(i=0;i<replay_count;i++) {
      if(gameover) {
        printf(": Premature termination on move %d\n",i);
        rc=1; goto cont;
      }
      if(pro>0 && !(i%pro)) putchar('.');
      if(t=execute_turn(replay_list[i])) {
        printf(": Error on move %d: %s\n",i+1,t);
        rc=1; goto cont;
      }
      if(gameover==-1) {
        printf(": Game loss on move %d\n",i+1);
        rc=1; goto cont;