Files
Sprinter-SDCC/docs/size_baseline.tsv
T
snark13 eb9ca0179d libbgi: авто-анимация спрайтов — кадровая + tween (tests/spranim все PASS)
Реализация §9г по требованиям пользователя:
- sprite_anim(first,last,speed,mode): ANIM_LOOP / ANIM_PINGPONG /
  ANIM_ONCE (one-shot замирает на last), | ANIM_HORIZ для
  горизонтальных лент.  Смена кадра в тике = ±an_step к оси ленты —
  без умножений (осевое смещение first считается в setup циклом).
- sprite_moveto(tx,ty,max_step,interval): Брезенхэм порциями
  ≤max_step вдоль большей оси (меньшая — err-аккумулятором,
  нелинейные шаги Y сами собой), деления нет.
- Одновременность кадровой и tween — независимые поля/биты.
- Статус: sprite_anim_status() — битовое поле SPR_ANIM_ON/DONE +
  SPR_MOVE_ON/DONE; sprite_anim_frame() — текущий индекс кадра;
  sprite_moving().
- Стопы: sprite_anim_stop(frame | -1 = текущий);
  sprite_move_stop(0 = замереть / 1 = прыжок в цель + DONE).
- Тикер _sprite_tick — проход 0 sprite_update через funcptr
  _spr_tick_fn (DCE: без sprite_anim/moveto код не линкуется,
  цена — один if на кадр; +40 Б программе с движком, sprite_t +18 Б).

tests/spranim (MAME dev, все PASS): LOOP/PINGPONG (разворот на границе
без удвоения краёв)/ONCE+DONE; пример (0,0)→(100,50), шаг 5,
интервал 4 → ровно 80 кадров, Y идёт 3/2/3/2; стопы обоих видов.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 16:14:31 +03:00

818 B

1# Эталон размеров _CODE (байт); обновление: python3 toolchain/size_check.py --update
2accfill3772
3argv3431
4assrtest3847
5atlas9193
6attrprob4087
7balls6249
8banked1056
9bankedbg1067
10banklocl4683
11banktest3767
12bgi_img7057
13bgitest3737
14bios_text4461
15blitperf5860
16blitw4939
17cat913
18cblstream6217
19cbltest6366
20cblwav6434
21conio4605
22conio23929
23dec_test860
24errno5966
25fbench8085
26fdmax6023
27filetest10547
28gets509
29gfx_dbuf5032
30gfx_demo4103
31gfxbanks6044
32hello4167
33hello24244
34irqtest5850
35ls4835
36malloc4461
37mdview18878
38mdview227031
39mem_test4555
40mouse4382
41openenv6124
42ptime5744
43rt_test4892
44seek4188
45simple955
46solidt11531
47spranim8752
48spriteclip4119
49sprites6791
50stattest7549
51stdlib6643
52stest23644
53strtest1340
54text_palette5024
55timedir5454
56w0page8831
57winrest4459