Ok here's the ZScript code again:
ffc script npc_test1
{
void run()
{
npc CurNPC;
while (true)
{
int NPC_Cnt = Screen->NumNPCs();
int i;
if ( NPC_Cnt > 0 )
{
for (i=0; i < NPC_Cnt; i++)
{
CurNPC = Screen->LoadNPC(i);
CurNPC->X++;
if ( CurNPC->X > 256 ) { CurNPC->X = 0; }
CurNPC->Y = 128;
}
}
Waitframe();
}
}
}
Ok here's the ZASM code:
npc_test1
SETV d2,0
SETR d3,REFFFC
PUSHR d3
PUSHR d2
PUSHR d2
PUSHR d2
SETR d4,SP
SETR d6,d4
ADDV d6,3
SETV d2,0
STOREI d2,d6
SETV d2,0
SETV d2,0.0001
COMPAREV d2,0
GOTOTRUE 178
PUSHR d4
SETV d2,22
PUSHR d2
SETR d2,gd0
PUSHR d2
GOTO 187
POP d4
SETR d6,d4
ADDV d6,2
STOREI d2,d6
SETR d6,d4
ADDV d6,1
SETV d2,0
STOREI d2,d6
SETR d6,d4
ADDV d6,2
LOADI d2,d6
PUSHR d2
SETV d2,0
POP d3
COMPARER d3,d2
GOTOMORE 40
SETV d2,0
GOTO 44
GOTOFALSE 43
SETV d2,0
GOTO 44
SETV d2,0.0001
SETV d3,0
COMPAREV d2,0
GOTOTRUE 171
SETV d2,0
SETR d6,d4
ADDV d6,1
STOREI d2,d6
SETV d2,0
SETR d6,d4
ADDV d6,1
LOADI d2,d6
PUSHR d2
SETR d6,d4
ADDV d6,2
LOADI d2,d6
POP d3
COMPARER d3,d2
GOTOLESS 64
SETV d2,0
GOTO 68
GOTOFALSE 67
SETV d2,0
GOTO 68
SETV d2,0.0001
SETV d3,0
COMPAREV d2,0
GOTOTRUE 170
PUSHR d4
SETV d2,81
PUSHR d2
SETR d2,gd0
PUSHR d2
SETR d6,d4
ADDV d6,1
LOADI d2,d6
PUSHR d2
GOTO 192
POP d4
SETR d6,d4
ADDV d6,3
STOREI d2,d6
PUSHR d4
SETV d2,93
PUSHR d2
SETR d6,d4
ADDV d6,3
LOADI d2,d6
PUSHR d2
GOTO 197
POP d4
PUSHR d2
ADDV d2,1
PUSHR d4
SETV d3,107
PUSHR d3
PUSHR d2
SETR d6,d4
ADDV d6,3
LOADI d2,d6
POP d3
PUSHR d2
PUSHR d3
GOTO 202
POP d4
POP d2
PUSHR d4
SETV d2,117
PUSHR d2
SETR d6,d4
ADDV d6,3
LOADI d2,d6
PUSHR d2
GOTO 197
POP d4
PUSHR d2
SETV d2,256
POP d3
COMPARER d3,d2
GOTOMORE 125
SETV d2,0
GOTO 129
GOTOFALSE 128
SETV d2,0
GOTO 129
SETV d2,0.0001
SETV d3,0
COMPAREV d2,0
GOTOTRUE 145
SETV d2,0
PUSHR d4
SETV d3,144
PUSHR d3
PUSHR d2
SETR d6,d4
ADDV d6,3
LOADI d2,d6
POP d3
PUSHR d2
PUSHR d3
GOTO 202
POP d4
SETV d2,0
SETV d2,128
PUSHR d4
SETV d3,158
PUSHR d3
PUSHR d2
SETR d6,d4
ADDV d6,3
LOADI d2,d6
POP d3
PUSHR d2
PUSHR d3
GOTO 208
POP d4
SETV d3,0
SETR d6,d4
ADDV d6,1
LOADI d2,d6
PUSHR d2
ADDV d2,1
SETR d6,d4
ADDV d6,1
STOREI d2,d6
POP d2
GOTO 51
SETV d3,0
SETV d2,0
PUSHR d4
SETV d2,176
PUSHR d2
GOTO 184
POP d4
GOTO 12
SETV d2,0
SETV d3,0
POP d3
POP d3
POP d3
QUIT
WAITFRAME
POP d3
GOTOR d3
POP d3
SETR d5,d3
SETR d2,NPCCOUNT
POP d3
GOTOR d3
POP d2
POP d5
SUBV d2,1
POP d3
GOTOR d3
POP d3
SETR REFNPC,d3
SETR d2,NPCX
POP d3
GOTOR d3
POP d2
POP d3
SETR REFNPC,d3
SETR NPCX,d2
POP d3
GOTOR d3
POP d2
POP d3
SETR REFNPC,d3
SETR NPCY,d2
POP d3
GOTOR d3