|
##Ясно. Имелось ввиду http://www.rumaxclub.ru/forum_2/lv_3/post_5805.htm Вот там как раз и баг описан, что я исправил и предложение это я попробовал. Не понравилось, поэтому пока убрал. Сделал только по средней кнопке мышки - при атаке башня крутится, а при движении весь юнит разворачивается. А следить за башней всё время выглядит не очень из-за дискретного по 45 градусов поворота. Вот если бы по градусам вращалась башня, было бы хорошо. В любом случае фикс делает поворот лучше и не влияет на производительность.
##Великолепно, это баг. Где-то произошло наложение имён, а скорее всего я просто забыл что что значит - номер отдельно, другой параметр - id записи. Ну это ты уже сам такие баги правь. Я настолько глубоко влезать не стану, а то ты точно все изменения откатишь :)
##А вообще я даже не замечал насколько древний тут блок VFS, обязательно его обновлю. ##Можно bochs и из sdisdl и vfs выкинуть, чтоб пока не мешался. Выкинул. Вот как раз такие вещи прекрасно позволяет реализовать SVN. Внешние к проекту библиотеки объявляются как external и фиксируются на какой-то версии. Если возникает необходимость - просто меняется версия в свойствах, и проект начинает компилиться с новой версией. При этом все файлы лежат в одном месте и не нужно копировать их туда-сюда.
##А зачем поиск по файлам? Переключил в папку с проектом, выделил три нужных директории, поиск. Что может быть проще? Хех. Во впервых не всегда в папке с проектом есть только файлы, которые в проект включены. Пример с этим bochs - он вроде бы есть, а из проекта я его выкинул. Кроме того, поиск внутри файлов средствами IDE намного удобнее. Теже регулярные выражения, подстроки, учёт кейса. Да и сам список удобный (в других средах есть лучше, но и так нормально). И результаты поиска можно заменять новым, а можно новый список создавать а к старому возвращаться. И самое главное, поиск делается комбинацией, вводимой на автомате: Ctrl+F+Tab,Enter. При этом если искомое выражение было под курсором, то оно сразу готово к поиску. Если нет, то ввести его тоже не сложно обычно. Поиском я пользуюсь очень часто и работать без него крайне неудобно. Всё таки поиск средствами файлового менеджера это полезная возможность, но это так, фича - довесок. А поиск средствами IDE - рабочий инструмент.
##Из объективного, не нравится мне список по тому, что он привязывает все юниты к их директориям, и включает в себя то, что нигде не используется в данном файле. Так, не понял. Ещё раз. Все uses расписываются один раз - в файле проекта. И список этих uses содержит те файлы, которые в проекте явно используются. Лишних файлов тут быть не должно. Модули же могут использовать дополнительные файлы, например системные или свои библиотеки. Но это должны быть именно библиотеки и они не должны меняться в самом проекте. То есть правило простое - меняет проект файлы - это его файлы, не меняет - выбрасываем их проекта и подключаем uses в модулях. В самих модулях пишутся короткие перечисления имён подключаемых файлов - нет нужны писать длинные, так как они и так указаны один раз в проекте. На счёт перекладывания файлов по папкам. Ну за это время я не налюдал, чтобы ты файлы перетасовывал :) Кроме того, они один раз в проекте указаны - поменять путь можно или руками путь скорректировав, либо в IDE диалогом выбрать файл. Короче простая операция, выполняемая очень редко. Не понимаю, какие затруднения может вызвать. Ну и ещё раз - в самом проекте, где все файлы проекта перечислены по хорошему кода быть не должно, поэтому список этот глаз не должен мозолить ну никак :)
##В данном случае надо сделать fb_size, и привести массив к нулю. Сохранёнка правдо сломается, так что на потом. Ой, не люблю я нулбейзд массивы. Мне этим как раз дельфи нравится, что массивы можно индексировать с любого числа. Прияно, когда такие простые вещи кастомизируются. Но идею понял. Впредь буду именно так и делать.
####А mg_game.reslvl чем не угодил? Это resources Level. ####В чём отличие от plrpas, resmap, stgold и humplr, которые там рядышком? ##Те - более или менее привычные сокращения, а что поновее пусть лучше изначально будет по-понятнее. ##start_resources, start_res_level, что-то в этом роде. Не вопрос. Мне так тоже намного больше нравится.
##Не стоит стесняться выводить в константы по первому чёткому пониманию их смысла. Ок. Вот только я не всегда понимаю, куда лучше константы запихивать. Может в файл, который переменные содержит? Или всё таки определение структур?
####тотальный копипаст ##Не совсем понятно о чём речь, если речь не о вещах, подобных входам-выходам из меню. Хм.. ну вот навскидку из открытого сейчас файла: MG_UPGRLAB:begin putsprtn8(@sdiscrp,grap[GRP_ICOS],xn+160,yn+70+28*0,16,16,20,0); putsprtn8(@sdiscrp,grap[GRP_ICOS],xn+160,yn+70+28*1,16,16,10,0); putsprtn8(@sdiscrp,grap[GRP_ICOS],xn+160,yn+70+28*2,16,16,24,0); putsprtn8(@sdiscrp,grap[GRP_ICOS],xn+160,yn+70+28*3,16,16,16,0); putsprtn8(@sdiscrp,grap[GRP_ICOS],xn+160,yn+70+28*4,16,16,00,0); putsprtn8(@sdiscrp,grap[GRP_ICOS],xn+160,yn+70+28*5,16,16,06,0); putsprtn8(@sdiscrp,grap[GRP_ICOS],xn+160,yn+70+28*6,16,16,18,0); putsprtn8(@sdiscrp,grap[GRP_ICOS],xn+160,yn+70+28*7,16,16,14,0); end; Или вот ещё типичный пример: drrect8(@sdiscrp,xn ,yn ,xn+os,yn ,cl1); drrect8(@sdiscrp,xn ,yn ,xn+os,yn ,cl1); drrect8(@sdiscrp,xn+1,yn+1,xn+os,yn+1 ,cl2); drrect8(@sdiscrp,xn+2,yn+2,xn+os,yn+2 ,cl1); drrect8(@sdiscrp,xn ,yn ,xn ,yn+os,cl1); drrect8(@sdiscrp,xn+1,yn+1,xn+1 ,yn+os,cl2); drrect8(@sdiscrp,xn+2,yn+2,xn+2 ,yn+os,cl1);
drrect8(@sdiscrp,xn+os*4 ,yn ,xn+os*4-os,yn ,cl1); drrect8(@sdiscrp,xn+os*4-1,yn+1,xn+os*4-os,yn+1,cl2); drrect8(@sdiscrp,xn+os*4-2,yn+2,xn+os*4-os,yn+2,cl1);
drrect8(@sdiscrp,xn+os*4 ,yn ,xn+os*4 ,yn+os,cl1); drrect8(@sdiscrp,xn+os*4-1,yn+1,xn+os*4-1,yn+os,cl2); drrect8(@sdiscrp,xn+os*4-2,yn+2,xn+os*4-2,yn+os,cl1);
drrect8(@sdiscrp,xn ,yn+os*4 ,xn+os,yn+os*4 ,cl1); drrect8(@sdiscrp,xn+1,yn+os*4-1,xn+os,yn+os*4-1,cl2); drrect8(@sdiscrp,xn+2,yn+os*4-2,xn+os,yn+os*4-2,cl1);
drrect8(@sdiscrp,xn ,yn+os*4 ,xn ,yn+os*4-os,cl1); drrect8(@sdiscrp,xn+1,yn+os*4-1,xn+1,yn+os*4-os,cl2); drrect8(@sdiscrp,xn+2,yn+os*4-2,xn+2,yn+os*4-os,cl1);
drrect8(@sdiscrp,xn+os*4 ,yn+os*4 ,xn+os*4-os,yn+os*4 ,cl1); drrect8(@sdiscrp,xn+os*4-1,yn+os*4-1,xn+os*4-os,yn+os*4-1,cl2); drrect8(@sdiscrp,xn+os*4-2,yn+os*4-2,xn+os*4-os,yn+os*4-2,cl1);
drrect8(@sdiscrp,xn+os*4 ,yn+os*4 ,xn+os*4 ,yn+os*4-os,cl1); drrect8(@sdiscrp,xn+os*4-1,yn+os*4-1,xn+os*4-1,yn+os*4-os,cl2); drrect8(@sdiscrp,xn+os*4-2,yn+os*4-2,xn+os*4-2,yn+os*4-os,cl1); Неплохо так? А ведь делается простейшая библиотечная вещь.
##Ну, хотя-бы целостность. ##} ##else{ ##в одном месте, ##}else ##{ ##в другом, а в третьем вообще ## } ## else ##{ ##смысла уже не имеет. Ok. Обращу внимание на выделение частей и блоки else begin end.
|
|