Комментарии 3
наручный Pip-Boy в Fallout
В контексте статьи в голову сразу приходит ужасный интерфейс первого Fallout (проходил недавно) с неинтуитивными кликами левой/правой кнопкой, постоянным скроллингом инвентаря и т.д.
А в целом написание интерфейса с нуля для тех, кто начинал программировать под DOS или раньше, выглядит не так страшно. Простейшую библиотечку для Turbo C с менюшками и полями ввода в графическом режиме переписывал два раза (сначала с школе, потом на первом курсе - как то не сохранил исходники).
я посмотрел https://habrastorage.org/r/w1560/getpro/habr/upload_files/180/dea/d0d/180dead0decfff87340fabb2e29f1470.png - ваш скриншот, так там глобал стейт(есть же люди, которые изучают, понятно, что на проде возможно по другому, а иначе не было бы изучения правильно ?) ), и гуй привязан к базе данных скорее всего, сюда же добавим, что скорее всего вам придётся написать WindowManager(https://godbolt.org/z/5c8ra9G57 - типо такого, можно улучшить, он как раз масштабируется до оконного менеджера) - это и есть система GUI - если по простому - система которая отслеживает кто чей родитель и ловит клики, а так же умеет рисовать окошки. Здравствуй WindowManager - почему Window ну потомучто это просто рект с кнопками.
с таким темпом можно сразу перейти к обзору того самого эмулятора и не мучать время )
сегодня всё что в 3д будет с шейдерами, то что идёт другим путём по IPC c shared, ни в одной ОС не может быть совместимо в 1 контектс.
гдето тут оставлю на всякий случай тоже картинку,
Скрытый текст
к жожалению придётся изучать эмулятор, там есть один из лучших эмуляторов тоже АзеротКакойто), потомучто лучше покачто нету, в ТЕСО например есть глобал илюминейт через конус-воксель, нафиг никому не нужный, который бьет по ресурсам, кстати, это тоже можно обсудить!), а игра про азерот даёт тебе честную картинку, на момент 2020 года даже - что является офигительным показателем и при этом еще являлся полностью тем самым костыльным легаси.
Но это всё сказки по сравнению с легаси WindowManager ) в пору вспомнить что такое было NEXTSTEP )


Как игровой GUI пишут заново (Ч.2)