Free Hero Mesh

Check-in [ee231f02dd]
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:Start of implementation of the (Trigger) block (currently only syntax is implemented) to control timing/ordering of some events.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: ee231f02dd8043e24c660bd7cf413d102820eed1
User & Date: user on 2024-05-11 06:16:03
Other Links: manifest | tags
Context
2024-05-29
22:13
Make a few corrections to misc/compare/meshhero.doc. "Click to make several moves" had already been implemented, but this file incorrectly claimed that it didn't; the incorrect statement has been removed. No changes to code. Leaf check-in: e00ea7f335 user: user tags: trunk
2024-05-11
06:16
Start of implementation of the (Trigger) block (currently only syntax is implemented) to control timing/ordering of some events. check-in: ee231f02dd user: user tags: trunk
2023-10-31
23:36
Make control and middle button to draw lines from clicked location for helping with alignment. check-in: 382666e88a user: user tags: trunk
Changes

Modified class.c from [04b2a8af6c] to [572afd4230].

2927
2928
2929
2930
2931
2932
2933







2934
2935
2936
2937
2938
2939
2940
          has_xy_input=1;
          nxttok();
          if(tokent!=TF_CLOSE) ParseError("Expected close parenthesis\n");
          break;
        case OP_DENSITY:
          parse_density_block();
          break;







        default:
          ParseError("Invalid top level definition: %s\n",tokenstr);
      }
    } else {
      ParseError("Invalid top level definition\n");
    }
  }







>
>
>
>
>
>
>







2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
          has_xy_input=1;
          nxttok();
          if(tokent!=TF_CLOSE) ParseError("Expected close parenthesis\n");
          break;
        case OP_DENSITY:
          parse_density_block();
          break;
        case OP_TRIGGER:
          nxttok();
          if(tokent!=TF_INT) ParseError("Number expected\n");
          trigmode=tokenv;
          nxttok();
          if(tokent!=TF_CLOSE) ParseError("Expected close parenthesis\n");
          break;
        default:
          ParseError("Invalid top level definition: %s\n",tokenstr);
      }
    } else {
      ParseError("Invalid top level definition\n");
    }
  }

Modified class.doc from [9a7008d58d] to [b9695758a6].

339
340
341
342
343
344
345



346
347
348
349
350
351
352
  of creation; the (Order) block allows you to override this order.

(Synchronize <slot> <length> <speed>)
  Define an animation slot for synchronized animation. The slot number can
  be 0 to 7, the length is the number of images in the sequence, and the
  speed is the number of centiseconds between frames.




(Volume <number>)
  Define the maximum allowed volume for an object to move diagonally
  between two other objects. The default value is 10000.

($<name> <definitions...>)
  Define a class. See the section about class definitions for details.








>
>
>







339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
  of creation; the (Order) block allows you to override this order.

(Synchronize <slot> <length> <speed>)
  Define an animation slot for synchronized animation. The slot number can
  be 0 to 7, the length is the number of images in the sequence, and the
  speed is the number of centiseconds between frames.

(Trigger <number>)
  Not defined yet. (TODO)

(Volume <number>)
  Define the maximum allowed volume for an object to move diagonally
  between two other objects. The default value is 10000.

($<name> <definitions...>)
  Define a class. See the section about class definitions for details.

Modified exec.c from [f9d077868e] to [191a372e4a].

40
41
42
43
44
45
46

47
48
49
50
51
52
53
Value*array_data;
Uint16 ndeadanim;
DeadAnimation*deadanim;
Uint8 no_dead_anim;
Uint32 max_trigger;
Uint8 conn_option;
Sint32 gameover_score;


typedef struct {
  Uint16 msg;
  Uint32 from;
  Value arg1,arg2,arg3;
} MessageVars;








>







40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Value*array_data;
Uint16 ndeadanim;
DeadAnimation*deadanim;
Uint8 no_dead_anim;
Uint32 max_trigger;
Uint8 conn_option;
Sint32 gameover_score;
Uint32 trigmode;

typedef struct {
  Uint16 msg;
  Uint32 from;
  Value arg1,arg2,arg3;
} MessageVars;

Modified heromesh.h from [85047283e3] to [da2e133513].

324
325
326
327
328
329
330

331
332
333
334
335
336
337
extern Value*array_data;
extern Uint16 ndeadanim;
extern DeadAnimation*deadanim;
extern Uint8 no_dead_anim;
extern Uint32 max_trigger;
extern Uint8 conn_option;
extern Sint32 gameover_score;


const unsigned char*value_string_ptr(Value v);
void pfunlink(Uint32 n);
void pflink(Uint32 n);
Uint32 objalloc(Uint16 c);
void objtrash(Uint32 n);
void annihilate(void);







>







324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
extern Value*array_data;
extern Uint16 ndeadanim;
extern DeadAnimation*deadanim;
extern Uint8 no_dead_anim;
extern Uint32 max_trigger;
extern Uint8 conn_option;
extern Sint32 gameover_score;
extern Uint32 trigmode;

const unsigned char*value_string_ptr(Value v);
void pfunlink(Uint32 n);
void pflink(Uint32 n);
Uint32 objalloc(Uint16 c);
void objtrash(Uint32 n);
void annihilate(void);