Кто как делает сабж?
У меня для выбора частей таблица: время начала части, время конца части, а для скриптования самого эффекта таблица: время вызова процедуры, адрес процедуры.
Код может быть примерно такой (часто пишу его с нуля, каждый раз получается разный):
ld hl,(timer)
scripttime=$+1
ld bc,0
or a
sbc hl,bc
jr c,NOSCRIPT
scriptaddr=$+1
ld hl,tscript
ld e,(hl)
inc hl
ld d,(hl)
inc hl
ld c,(hl)
inc hl
ld b,(hl)
inc hl
ld (scriptaddr),hl
ld (scripttime),bc
exd
call jphl
NOSCRIPT
...
jphl
jp (hl)
...
tscript
dw reter ;вызывается сразу
dw 192*2,proc
dw 192*4,proc2
...
И процедуры типа:
proc
ld hl,move1
ld (moveaddr),hl
ret
proc2
ld a,2
ld (xspeed),a
ret
---------- Post added at 14:06 ---------- Previous post was at 13:57 ----------
Вместо proc, proc2 обычно говорящие названия, имеющие отношение к внешнему виду эффекта