-
VBI спасибо за игру!
Enhanced палитра отличная.
Поиграл на железе в перезалитую версию.. баг с бонусом похоже всетки остался. Появляется в определенном месте и там остается.. при этом он не видим и бесконечен ) в общем снял видео.. отправил тебе на почту.
-
тоже чтоли дёрнуть её на Спринтера?
-
-
Исходники доступны на prods.tslabs.info для всех желающих.
-
Hacker VBI, а почему решил использовать ужасм в качестве компилятора для асмового кода, а не родной сдццшный? тем более можно было бы завернуть весь код в библиотеку и по факту собирались бы только те процедуры. которые хотя бы раз использовались. а так может набраться прилично кода, который собрался, но не вызывается, а место занимает.
-
Sayman, твой вопрос связан с удобством.
Но ты не знаешь одной вещи.
Время компиляции
150кб С кода компилится 49 секунд. 4 ядра, 9450 интел проц.
Это время не стоит тратить на поход на кухню, это время ты обычно ждёшь.
Потому что - меньше 5 минут, что-бы что-то сделать; и больше привычных пары секунд компиляции асм кода и секунды сборки, которые - вот они, сразу всё, тестируй.
ожидание демотивирует -охота видеть результат и править. а ты ждёшь.
отсюда, как видно в моём сумбурном изложении, я и пришёл к кернелю для вызывающих асм функций С кода. смешно было осознать что о кернеле я читал ещё в бумажных спектрумовских изданиях как супер методологии :)
увы, не все статьи на форуме я успел выложить до релиза.
оригинальная игра была разбита именно по этой причине на десяток блоков, которые потом линковались. причина - время выполнения.
я же всё сразу свёл в один файл. возможно, это было не лучшее решение. возможно.
я был не знаком с С :)
если будет желание - могу рассказать об основах организации игрового процесса в коде
-
Hacker VBI ответил деликатно: вам надо - вы и делайте :-)
Если на SDCC делать библиотеку с возможностью смарт-линковки (чтобы в целевой бинарь попадали только те функции, которые хотя бы раз использовались), то нужно каждую функцию оформлять в виде отдельного файла. Или же использовать мою резалку исходников smartlib.
При работе на SDCC оправдано функции для повторного использования (системные, графика, звук) выделять в библиотеки со смарт-линковкой, прикладную логику подразделять на небольшие модули по смыслу (с как можно более минимальными связями между модулями), и маленький основной блок, который использует все остальные. Это чтобы получить преимущество от раздельной компиляции, хотя бы экономя время сборки (чтобы перекомпилировался только изменённый модуль и основной блок, остальной код бы брался из собранных ранее .rel и .lib).
Хотя конечно люди спешат и кодят как попало.
-
Oleg N. Cher, не надо вводить людей в заблуждение. можно сводить нужные функции и процедуры в один файл и собрать одну отдельную либу. нужные процедуры будут подключаться без проблем. такое работает и в старом хайтехе и тут. вопрос разделения это вопрос удобства. я когда под спринтера ковырял сдцц, я себе так и делал отдельную либу. проблем не замечал.
-
Вложений: 1
Sayman, а ты сам попробуй. И отпишись. Можно сводить в один файл. Но смарт-линковки не будет.
- - - Добавлено - - -
Насчёт хайтека не знаю. Я про SDCC. Это касается всех версий SDCC, включая самые последние сборки.
- - - Добавлено - - -
Так мы точно узнаем кто вводит людей в заблуждение.
- - - Добавлено - - -
Вложение 59058
P.S. Во избежание терминологических споров уточняю: под смарт-линковкой я понимаю включение в целевой бинарник только использованных функций.
-
Oleg N. Cher, сильно флудить тут нет желания, но могу сказать следующее:
1. я с вами соглашусь и признаю свой косяк - разбираться (по новой ставить сдцц и вспоминать как я там и что делал в начале года желания нет) сейчас, как там и что не стану, поверю вашему посту)))
2. в данном конкретном случае употребление полностью всего колхоза процедур и функций собранных ужасмом вполне оправдано. Пройдясь диагонально по исходниками коротко прикинул. что вероятней всего, всё что там написано и собрано, всё в итоге хотя бы раз да вызывается.
3. а что если мы взглянем на тот же эво сдк? берём пустой проект, кидаем туда простую печать на граф.экране эвы надписи типа "хай чуваки!" и собираем. Опа, 6кб как не бывало. 6 килобайт, Карл! В пустом проекте! А вы говорите, "вам надо - вы и делайте ". при этом проект в памяти сожрал сразу 160кб. прикольно, чё.
вообще, там в папке _temp_ столько бинарей собралось, жесть. 66кб и это всё пакуется в mlz и потом собирается в 1 бинарь. если использовать библиотеку, то такого гемора не было бы.