47a4b084c4
Эта сессия (меню + текст в служебных полосах):
* Меню: рамка выделения считается от силуэта текста (SEL_PAD сверху и
снизу), а не «на глаз»; все экраны центрируются в игровых 200 строках
(UI_CENTER_TOP/UI_CENTER_FIELD) и в них помещаются; Enter и Space —
равноправные клавиши действия (ui_action_down).
* Settings: убраны SHOW SPRINTER SCREEN и BACK, добавлены DEBUG BAR и
ABOUT. About показывает тот же текст, что стартовый Sprinter screen,
минус строка про клавиши — общий about_text(), чтобы экраны не
разъехались. CONTROLS собирается таблицей и центрируется по
фактическому числу строк.
* GAME PAUSED переехала в нижнюю статус-строку, как в оригинале
(SDLPoP rect_bottom_text = {193,70,202,250}): это состояние программы,
а не пункт меню. POP_HP_Y вынесен в pop_cdraw.h — полосу делят два
модуля.
* pop_status.c (банк 9) — текст в обеих служебных полосах. Нижняя:
порт display_text_bottom + таймера (QUICKSAVE/QUICKLOAD/SOUND ON/OFF,
24 тика). Верхняя отладочная переведена с палочек на текст
«Level ##, Room ##, Speed: …, Sound: …, Immortal #» малым шрифтом, с
своим форматированием чисел (без printf и без деления).
Заявка сообщения — запись одного байта pop_status_msg: резидент W1/W2
не растёт, весь рендер в банке. Бюджет после правок не изменился
(_CODE 23981, куча 267 Б).
* Цена вывода: блит глифа ~4,6 тыс. тактов независимо от размера, поэтому
всё change-driven, отладочная строка перерисовывается ПО ПОЛЯМ, пробелы
не блитятся вовсе, а вход в комнату заливает только игровое поле
(pop_screen_fill_field) — борта от комнаты к комнате не меняются.
* Интро: в PV-сцене зазвучали пропавшие эффекты оригинала — закрытие
ворот (4) и открытие двери покоев (51), из которой входит Джафар.
* docs/status_line_text.md — полная инвентаризация ВСЕХ текстов SDLPoP в
статус-строке: геометрия, семантика text_time_total как идентификатора
сообщения, мигание, рестарт по истечении 36/288.
Вместе с этим выкладывается накопленная работа по оболочке полной игры:
автомат состояний (pop_app), title, intro/PV и cutscene, attract-demo,
Hall of Fame, глобальный таймер, настройки и POP.CFG, модуль палитр и
fade, звуковой набор, host-тесты на новые швы.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 line
16 KiB
Plaintext
1 line
16 KiB
Plaintext
÷=bba�≠a~}|z{}=�~|yxy{~≠ム}zwwy|ヤ�-ywx|ヤс}zy{}<т�|yy|==�}{{}b~|zxxz}}|zwutux|~~}}|{z{~ョ㊥р|zz|b~ywtsrsw{~|||zyz}≦㊤}{zyyz~h援メ~~≧旧怨×yutv|=|vrqonorx}{spsvwz}e�zvx|}e�xsswy|х�zusv{�緒灸}yz}х滑�{ussstuwxxurnmnmmnqvz}~{yyxvvx|ш庶括�}}�蒼処xtrty�究~tlhioyj拷кtomqy�綜〝wnjjp{�決ホqjgkt煙怨wpknv�恰yqlnu~�拷лsmmr|㍼錐�vpnr|�豪�ulgiq|фミxod_akxラ恰】rnqz��剥иrrx°蒼私zogekv轄鰍xogdis拠昼』okmu拠柏㍻wpnryレ草�umjls{h恰~ulghox㈹壕~tmlqzi嵩私{tqsyч濠」mggmv}i割{qkjpyリ書戟vnkox∞件激wmhir}㍾渚�mfgmx�駐香sgcgq健柏�jejtn利阜qiiq{�錘潟xmglwk視�xlb`ix�恰�sg`bn雌順�tjeit�枕xvurqy∑剿祉ulow}h漠楯nhhhhp|�桃|g\cott{懸搶~oecix÷鋸刪skjihlw�♂壕|~{vv~且�{≧йtv㊦】tpwgн~цqfjxц演�yqlgis��拷|pkr~п~zspruyyvvyywvvwvw��}~}wsv㊥ュ炎�y}bュz}㍼高{{|ysquvts|уzppuwqjlw�レ糸ztvzzwy���~{т{}�渚濠иppw~|wsvyvtuyysruzxohlyух恰{tsvvpms���wsywt{ф~x{c>葛{ehsy|ワ亦�upjip署��xmo{㊥{|xnny�滑球vf^amy⊿ヲヲ摩ri`Z_q�嵐隙{pkr沿�|||}∴諮劫}ukb^br�對�necflt|ヨ怨|qhejs|у】sppryロ衰』rkkv�紙ュ�{|�♀酔qlmpwヱ柾tkeck{漉阜Vf\at�虫潟yj`cmw¥悛峻\V`p%「ヲ凭jdhkmv拳恚|z{seey走�}{o^Xh�囑撫|bU_w椛樗悼{pmkhgo{�】slkv�吹vrqkb^dqン「ァ汢qb_huh�巨争zppv~�ブebn焔級�z~ycQZ|洒、賦qimz�禦嚥tebk{鰹潟cwmfgoz�究}rhfp{モ~}~{x|ョ�zuppy�枕�{qfcm}叶粕遵xhVQ^u燕掩炎зoqz>×ytlegw持刔rmssh]b擣ヲ蝿~seam∵攝YoaVXl示ュ」秩o[MPl筏オ汞yrbL@Ot舒アァ鍍VGQm�劈嚮vaTS`t�囑�WTao~即ュ斈ikuqiq辞ッ凭ttqf`kヵ符smlgXQ`濫suzq_Wf¥壕徐度\Xi|�岑、指nprrz畝ヲ�zsj^^t劉・旨ri\R]{丐買uhXLTo時�恤�SQh�・ォッヲ吃T[n寺。�e\fnnnz轄|f_gpqpx�㏄mu≦ユ牛�u��~sr滑�炎tq|�ystrdTVo艶�xwjUQg�剥割sZQf唖�附急fVdz。沾嚠lZay拠装落wcaozzx去ピmt{yst}㊨�ь劇plqx{}ь氏rjoutqw�楽hciot~造」掃nkllr�ゥ�頚ne]\m而ゥ怖meXKKe苅搆�vaOSp剣渚薄�^guyu}分ゥ靭rtl_`y里羅≠sYKYy署㏍ペ`PWr艶月葡}hev縁兼、ォ桷w|掩yuヲ淳rw}laj�pqz|m\[m{zrr~�men{|us}去лk榎qtk恰券塘uu♀究虚腐ocgqtruレノ^]flotヴ芙wqsrnp~服売||ypio℃�uy{sik~聡【�toz刻『|�tx遠�xル�r}給y月ピpvwpkq�vlnohagy穀閲vundh{櫨「曹zpc[cy帳椏�ePIUn�ヲュャ凛[OYm~�辧翼ladpx}⊥囃ブnhaZ]m葛�|scY`t禦「、「翼ngn兼粕帥pdeoz~c|k]]iuz{券死w}�ypsm劫�忠{syц�~�nhp′喝��hgr{xrvш~lhs~{lfpzwjdo||k_g{ホqw㈹~moq朽%。怏懸�ヰ」、塔ы疫ks遠㎎kpn]MObuvliu}ta]j|『ovメsktщ「x㍼宴塩囃�拒剛ы翠}zjёov≠yrx�qddpy{zp落|qtywomw�rdcovsou∴rnxモysz��事争��nku~wrv~ysy�剛c~tpu~{v{х~rnt||yy}-rlr|фф葛�∞窮zxyvrpty~}}||zz{}ュп}zz}~}�xwy|xpmt}メ~♂所~ssz|yz~{rjkpttuy~{yvtsw~��т}~�乱�~~yrpv�uqsutpow≦zuuxyxvx�×||�}��ヨ掩�燈順ф渇�x|}yqljmqsrpppmga][^dinrw}≠|zz}~}}��=㍾緒著擒沮剽�柱㊤�xttvunhdee`[VYbjmmmoqnf_^fs~ュ��wpot~㈲穀辨恍��鋳詩諸又所㊤�yx||xtszviabhnmjehq{yohgknnigiotw|>�}�誌資理「�尨圉泅相㊤yssx}~ztmhfghec``chovzxsoosxxtpkknv~ユ�~~~|xutx�痘�至�ム}{{♀漠乱怨�』qpt|≠aャ】spokc\Y^gqvuqqy�йqprtsrrxヰ劈尨悼|phhnv}ヨ杉。「寳�sh`bn|����ypjhhgdbelsyユ��zl`[^hz嫌對誌葺早peemwх兼蘭注�tifhlqsu{�亦宴|vla_ht~g叙剿急nd_blw∞延|vwr恙閣aSORZes�ヨ誌隙ymdadm{漁」ィォォ・�wlgimomknw�撼槙zoiiigddhox′丕。�zmeceijhhmu虚尹槍ui`[Y[ahnt~�去漫「嚶vsv|ヮ�鋼pnrz�酎拷�цペrooljhhjq{}|�unmortqjedkt{°万尓脂с】offmw{wsu$棕恆�|tnnsyxqhekx∮劔泊号zngfgfcabjuyz|ю��nglstqtz|{~�演女尹卵�uoiiuы鰍|ywuuvz�戟uqrstwz|~zsot}bヨ穀桃rlosqmjhfglt{�又劫×}ymc^ZWZdsヤ許�「椁涛又劇rg^WST_q∵ェカシサキョ�閣d]XRKGLYgopsz�至�~wokijknrw|}|}}|zy|ь繭惧囮�脂㊤�tnlotyzvrswyvsx}}}�喝}yyytleaafr~с<��援�ボpd[X\cijlpu|э劵ャョァ剏㊤】qhdcfkpw�炎国封遵|yz}|sf``aaeoy}yussx♀書駐醇|vuyメ~}~|unlnu|㍼窓рту㊤-wsswywros|�合ywvtsx�ホssz~wpnpqqrw~��urstsqrtwyzyxzm粕至�}tt}剣鮪м}azngfjoruy�給鎗剏wd_fqvrkghp}叶戟vomptx{~i丁雷{okq{㈹球}uopv{~~~>ミ|�履枕ポxvtqlgefjpwуyrnlnrtvy||yusv{ч括�ムzussuxy}≦㊦ミ{{�灯衰�メc】smhddhov|eош庶�{yyxwy{{xsoou�tqw}|ukegoy~ル苧囑鯨sos喧剩汲|yz�xpifinrsrv}�署視件撃sga`ciry~÷|xxz{xsposy}�燈衷轟奄wja\]agox�=�崇初о}{|∞�|xwywsnmr~椛綜給渇〟wneaaeoz~yuw|<yrmklptvx|ル答椦矧ミzvssvzц�{vsruwwxz|}||}}vnkmrvy}ュ��~|zxuqkefqp�惧尹阜tpoliec`bkw≧мvstx∞活т㈹荘号|}�|wsru|ョ�xttuvwxyxwxy}�{usuy|yrljq|�至�~~}{yy{}~≦焔給�|xuuxzxtppt{c|vsuz}}|{|{yxxyywtqquz|}|~>�㊨渇炎活�ム~}|~a|{{zwspqtxz{}≠~~~}zxxyzzyy{~==ャメ~zwuuvxyyyy{}~{yy}g渇кursvz}~{yy|d×}ヤ�|z}>т�~{yyz{{{{|||{zywvwwvspnosyョ葛括メ~}~<a~~ч血穴㏍{yxvurpnnooooqsvy{||||}~=÷ョ葛括�~|zyywuttvxz|~≠a}|{zyyyzzzz{{{||}~~}}|}~<�㊦℡|yxwwxxwvuuvxz{{{yvuvwy}≠a÷c��с�~~~ba~}||{{{{{||{zywvuuvwxyxwvvvwxyz{|~cтт���cメ}{z{{}~~|zwwxz{|}}||zzyyxwvvvvwwxxyyz}~~~==ャттメ=÷~}|zzz{||}}||{zzzyyyz{{{|}~~~~}||||||||| |