Overview
| Comment: | Cause visual animations of an object to reset the first time each turn that object sets a logical animation |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
f263eed6d9d02deab1685d6073af866a |
| User & Date: | user on 2020-12-20 01:22:56.851 |
| Other Links: | manifest | tags |
Context
|
2020-12-20
| ||
| 07:39 | Add checks for OF_DESTROYED and OF_VISUALONLY flags of an object that is trying to move, at the necessary times check-in: 040a277835 user: user tags: trunk | |
| 01:22 | Cause visual animations of an object to reset the first time each turn that object sets a logical animation check-in: f263eed6d9 user: user tags: trunk | |
|
2020-12-19
| ||
| 22:31 | Add a message that game cannot continue with no objects check-in: f1435f4c66 user: user tags: trunk | |
Changes
Modified exec.c
from [d24ac241a4]
to [3b5e9774eb].
| ︙ | ︙ | |||
224 225 226 227 228 229 230 231 232 233 234 235 236 237 |
static void animate(Uint32 n,Uint32 f,Uint32 a0,Uint32 a1,Uint32 t) {
Animation*an=objects[n]->anim;
objects[n]->image=a0;
f&=0x0B;
if(!an) an=objects[n]->anim=animalloc();
if(an->status&ANISTAT_SYNCHRONIZED) an->status=0;
if(an->count==max_animation) f=ANI_STOP;
if(f&(ANI_ONCE|ANI_LOOP)) {
switch(an->status) {
case 0:
an->vtime=an->lstep=an->vstep=0;
an->vimage=a0;
break;
case ANISTAT_LOGICAL:
| > | 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 |
static void animate(Uint32 n,Uint32 f,Uint32 a0,Uint32 a1,Uint32 t) {
Animation*an=objects[n]->anim;
objects[n]->image=a0;
f&=0x0B;
if(!an) an=objects[n]->anim=animalloc();
if(an->status&ANISTAT_SYNCHRONIZED) an->status=0;
if(an->count==max_animation) f=ANI_STOP;
if(!an->count && (an->status&ANISTAT_VISUAL)) an->status=0;
if(f&(ANI_ONCE|ANI_LOOP)) {
switch(an->status) {
case 0:
an->vtime=an->lstep=an->vstep=0;
an->vimage=a0;
break;
case ANISTAT_LOGICAL:
|
| ︙ | ︙ |