Overview
| Comment: | Add some additional checks to JumpTo for Compatible classes only. This fixes three levels, one each in HEARTS1, HEARTS4, and SUPERHRO. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
22d38aadb538a90c793cb0a427f49b0e |
| User & Date: | user on 2023-08-06 19:44:01.408 |
| Other Links: | manifest | tags |
Context
|
2023-08-10
| ||
| 02:50 | Add CancelTriggers and DeferTriggers instructions. check-in: 68320feb4f user: user tags: trunk | |
|
2023-08-06
| ||
| 19:44 | Add some additional checks to JumpTo for Compatible classes only. This fixes three levels, one each in HEARTS1, HEARTS4, and SUPERHRO. check-in: 22d38aadb5 user: user tags: trunk | |
|
2023-08-04
| ||
| 23:03 | Implement ,if ,while ,until instructions (conditions with keeping the value in the stack if it is nonzero) check-in: 41eca04785 user: user tags: trunk | |
Changes
Modified TODO
from [76519b42a4]
to [8c4700a5e2].
| ︙ | ︙ | |||
21 22 23 24 25 26 27 | * Auto scroll option (using Player flag) * Configurable auto scroll option * Manual scroll option * Bookmarks * Message trace menu to enable/disable * Bugs * Figure out why the $SeekerCloser class doesn't seem to work properly | < | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | * Auto scroll option (using Player flag) * Configurable auto scroll option * Manual scroll option * Bookmarks * Message trace menu to enable/disable * Bugs * Figure out why the $SeekerCloser class doesn't seem to work properly * Animation stopping unexpectedly (until a key is pushed) * ObjLF.Volume+ObjRF.Volume+obj.Volume if ObjLF and/or ObjRF doesn't exist? * Display solution comments/timestamp * VCR mode * Command-line switch for batch export levels * SQL * Implement the GROUP column in the CLASSES table |
| ︙ | ︙ |
Modified class.doc
from [792876c921]
to [8def31bf08].
| ︙ | ︙ | |||
3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 | * Moving objects is not allowed during LASTIMAGE processing. * The way that the trigger phase works is different. * In the ARRIVED and DEPARTED messages, Arg1 is always zero. * Diagonal shoving is not possible. === Level table definition === The following blocks are allowed in a level table definition: (<label> <code...>) | > > > | 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 | * Moving objects is not allowed during LASTIMAGE processing. * The way that the trigger phase works is different. * In the ARRIVED and DEPARTED messages, Arg1 is always zero. * Diagonal shoving is not possible. * The JumpTo instruction has an additional effect that rarely matters, having to do with the timing of ARRIVED, DEPARTED, and MOVED messages. === Level table definition === The following blocks are allowed in a level table definition: (<label> <code...>) |
| ︙ | ︙ |
Modified exec.c
from [1c5a8555ba]
to [e4a58f292e].
| ︙ | ︙ | |||
1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 |
static int jump_to(Uint32 from,Uint32 n,Uint32 x,Uint32 y) {
int xx,yy;
if(n==VOIDLINK) return 0;
xx=objects[n]->x;
yy=objects[n]->y;
if(!move_to(from,n,x,y)) return 0;
send_message(VOIDLINK,n,MSG_JUMPED,NVALUE(xx),NVALUE(yy),OVALUE(from));
return 1;
}
static int defer_move(Uint32 obj,Uint32 dir,Uint8 plus) {
Object*o;
Object*q;
| > > > > | 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 |
static int jump_to(Uint32 from,Uint32 n,Uint32 x,Uint32 y) {
int xx,yy;
if(n==VOIDLINK) return 0;
xx=objects[n]->x;
yy=objects[n]->y;
if(!move_to(from,n,x,y)) return 0;
if(classes[objects[n]->class]->cflags&CF_COMPATIBLE) {
objects[n]->arrived2=objects[n]->departed2=0;
objects[n]->oflags&=~OF_MOVED2;
}
send_message(VOIDLINK,n,MSG_JUMPED,NVALUE(xx),NVALUE(yy),OVALUE(from));
return 1;
}
static int defer_move(Uint32 obj,Uint32 dir,Uint8 plus) {
Object*o;
Object*q;
|
| ︙ | ︙ |