Free Hero Mesh

Check-in [0d6a84171e]
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:Make BEGIN_TURN message to receive the saved X/Y coordinates rather than the current coordinates
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 0d6a84171e0c8a2c4a4f0b05b09e8f45532af000
User & Date: user on 2020-12-30 01:04:28
Other Links: manifest | tags
Context
2020-12-31
04:32
Make visual non-continuous animations to stop at the beginning of each turn (maybe this should be changed so that it only applies if the object's OF_BUSY flag was set at the time the animation started?) check-in: cb74a8d881 user: user tags: trunk
2020-12-30
01:04
Make BEGIN_TURN message to receive the saved X/Y coordinates rather than the current coordinates check-in: 0d6a84171e user: user tags: trunk
2020-12-29
08:35
Allow ,Destroyed to be used on nonexistent objects check-in: a1b15b3309 user: user tags: trunk
Changes

Modified exec.c from [5a51fde78e] to [ceec97a522].

1624
1625
1626
1627
1628
1629
1630
1631

1632
1633
1634
1635
1636
1637
1638
1624
1625
1626
1627
1628
1629
1630

1631
1632
1633
1634
1635
1636
1637
1638







-
+







    } else {
      if(a->step[a->lstep].start>a->step[a->lstep].end) --o->image; else ++o->image;
    }
  }
}

const char*execute_turn(int key) {
  Uint8 busy,clock;
  Uint8 busy,clock,x,y;
  Uint32 m,n,turn;
  Object*o;
  Value v;
  int i;
  if(!key) {
    // This is part of initialization; if anything triggered, it must be executed now
    all_flushed=1;
1681
1682
1683
1684
1685
1686
1687
1688




1689
1690
1691
1692
1693
1694
1695
1681
1682
1683
1684
1685
1686
1687

1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698







-
+
+
+
+







  current_key=0;
  if(key_ignored) {
    quiz_obj=NVALUE(0);
    return changed?"Invalid use of IgnoreKey":0;
  }
  move_number++;
  // Beginning phase
  if(!all_flushed) broadcast(m,0,MSG_BEGIN_TURN,m!=VOIDLINK?NVALUE(objects[m]->x):NVALUE(0),m!=VOIDLINK?NVALUE(objects[m]->y):NVALUE(0),v,0);
  if(!all_flushed) {
    if(m==VOIDLINK) x=0,y=0; else x=objects[m]->x,y=objects[m]->y;
    broadcast(m,0,MSG_BEGIN_TURN,NVALUE(x),NVALUE(y),v,0);
  }
  turn=0;
  // Trigger phase
  trig:
  busy=0;
  clock=255;
  for(i=0;i<64*pfheight;i++) {
    n=playfield[i];