Elf's Quests Toolkit - Версия для печати +- Город Джунов (https://www.gipat.ru/forum) +-- Форум Обсуждение Проклятых Земель (https://www.gipat.ru/forum/forum-19.html) +--- Форум MODный форум (https://www.gipat.ru/forum/forum-9.html) +--- Темы: Elf's Quests Toolkit (/thread-2019.html) |
Elf's Quests Toolkit - ELF - 06.05.2004 Я тут продолжаю обучаться C++. Написал лёгенькую прогу, которая заменяет одну последовательность символов на другую. Заодно решил к ней написать альтервнативный пакет по редактированию MQ файлов. Теперь собственно о пакете: В минус для знающих и в плюс для незнающих, но всё-таки - я полностью переделал устройство файлов. Весь упор в этом пакете сделал на создание новых квестов с УНИКАЛЬНЫМИ названиями (Например: z3-ELFQuest501.mq)... Остальное Вы увидите, как говорится, на месте. Эх, эх. Как всегда RAR мне нельзя прикреплять... Потому этот бедный RAR я запаковал в ZIP (кстати размер на том уменьшился на 11Кб). Так что не пугайтесь, если увидите архив в архиве... Elf's Quests Toolkit - heller - 06.05.2004 Чего-то много она весит... ты ее в release конфигурации компилировал? Elf's Quests Toolkit - ELF - 06.05.2004 В том то всё и дело, что весит она много. Компилировал я её в DEBUG конфигурации, хотел ещё указать Visual C++, чтобы он как можно сильнее её сжал, но при таком раскладе компилятор написал что-то типа "параметры не подходят" - видимо при указании наименьшего размера он делает какие-то несовместимые параметры (хотя кто его знает). Также у меня возник вопрос, каким компилятором получить максимально маленькую прогу? Кстати, какие мнения по поводу альтервнативного пакета? Elf's Quests Toolkit - Talarasha - 06.05.2004 2ELF: Цитата:Также у меня возник вопрос, каким компилятором получить максимально маленькую прогу?gcc :lol: ! Elf's Quests Toolkit - ELF - 06.05.2004 gcc? What is this? (Чё за це?) Elf's Quests Toolkit - Jet - 06.05.2004 ELF,06 Май 2004, 12:50 Написал:Также у меня возник вопрос, каким компилятором получить максимально маленькую прогу? Вот здесь интересная статейка по этому поводу. Elf's Quests Toolkit - ELF - 06.05.2004 Хм, статейка действительно интересная: значит залог в размере лежит в отключении RTL, таки в отказе от стандартных библиотек... Но обычно делаются проги ну хотябы на Кб так 30, а у меня вон аж какая - 320 КБ!!! У меня ещё маловато опыта для того, чтобы так просто отказаться от библиотек... В исходнике, который я выложил видно, что я подключит целых две библиотеки - iostream и fstream - думаю, что они то и задали гигантские размеры. :unsure: Вообще изначально я хотел прогу написать на C, но у меня возникли проблемы с указателями (хотя у меня и в написанной проге такие проблемы были), может сегодня поразбираюсь - может даже прогу перепишу под C, но пока ничего не обещаю... И кстати, какие мнения по поводу Альтервнативы MQ Toolkit'у? Elf's Quests Toolkit - Talarasha - 06.05.2004 GCC this is GNU C++ COMPILATOR, and... Так, ладно, "флудить" не будем в русском форуме... GNU - лицензия под которой проходят многие *nix программы. Будь уверен, с помощью gcc ты добьешся минимального размера твоей проги =)))... P.S. - Чисто теоретически, за данные советы я ответственности не несу. Elf's Quests Toolkit - ELF - 06.05.2004 К сожалению мне прога нужна под Виндовоз, а не под Уникса... Итак, переписал прогу на язык C, её размер подуменьшился, хотя всё ещё большой, но зато теперь пакет стал весить примерно как MQ Toolkit... Итак, вот особенность моего пакета: 1.Полностью изменена структура файлов, теперь: "01-Start.txt" (раньше был "Briefing <ИмяКвеста>_1") отвечает за вступительный диалог; "02-Cancel.txt" (раньше был "Briefing <ИмяКвеста>_2") отвечает за текст при отказе от миссии; "03-Done.txt" (раньше был "Briefing <ИмяКвеста>_3") отвечает за текст при успешном выполнении миссии; "04-Quest.txt" (Раньше был "Quest <ИмяКвеста>") отвечает за текст выдаваемых заданий; "05-Map.txt" (Раньше был "<ИмяКвеста>Map.txt") отвечает за подготовку зоны для квеста; "06-Quest.ini" (Раньше был "<ИмяКвеста>Quest.ini") отвечает за настройки самого квеста. 2.Теперь можно быстро менять имена квестам с помощью батника "Build_Quest.bat", вот пример: Код: Build_Quest.bat z3q2-GiantToad z3-Lagushka Код: Build_All.bat Просто скопировать папку старого и указать ей новое имя. 5.По мнению автора пакета, новая структура пакета должна сделать работу с квестами более наглядной. Пока всё, каковы мнения?? Elf's Quests Toolkit - Manyak - 10.05.2004 Elf, лови свою прогу - 16 кб (в архиве - чуть меньше 2 кб). Если ты используешь MS Visual C++ 6.0, то тебе надо сделать следующее: Во-первых, меню Build->Set active configuration...->Win32 Realase; Во-вторых, меню Project->Settings далее выбираешь Settings for: Win32 Realase, после этого переходишь на вкладку C/C++ в графе Category выбираешь пункт Code Generation после этого появится графа Use run-time library: в ней выбери пункт Multithreaded DLL. После сборки размер исполняемого файла очень ощутимо уменьшится за счет использования внешних динамических библиотек, но здесь есть свои грабли: не на каждом компьютере может оказаться нужная библиотека, если она, конечно же, не является системной. P.S.: для "новичка" (а действительно ли новичка?) программа написана очень круто, хотя большинство твоих циклов можно было бы заменить библиотечными функциями, но в общем - твердая 5 . У меня есть знакомые, которые уже пол года пишут на С++, но до сих пор боятся пользоваться указателями и не используют такой удобнейший оператор, как ++ и --, не говоря уже о +=, -= и т.д. Elf's Quests Toolkit - ELF - 10.05.2004 Огромное тебе спасибо, Manyak!!! Ты прямо таки мне всё рассказал, спасибо, что нашёл время на изучение исходника и доработал его! На счёт обучения C++, я действительно новичок в плане написания прог на C и C++ (хотя уже много лет писал на Basic, Pascal, но не на Delphi). Скорее всего дело в литературе, которую используешь (тут огромнейшее спасибо ещё раз Jet'у). Постараюсь сегодня же всё обновить и выпустить версию 1.1, а вообще, если мне кто-то поможет в разборке формата RES (буквально пару полей узнать), то я смогу скорее всего сделать MQ Editor (после чего надобность в пакете исчезнет). Кстати, насчёт циклов, теперь, когда я вернулся к C, я решил использовать для перевода параметров в переменные обычную функцию sscanf(), после чего в циклах надобность отпадает... И ещё, я тут сайт один прикольный нарыл, там есть этакий словарик функций C. Очень удобно закачать весь их сайт, и использовать этот словарик: www.codenet.ru Ждите обновления... ================================================ Добавлено 10.05.2004 в 17:47 ------------------------------------- Итак, сделал версию v1.1, прога Replacer оптимизирована по совету Manyak'а (за что ему спасибо). Теперь о будущем редакторе, вот интересующие меня моменты в RES файлах: 1.Что прописано в RES архиве по адресу 0x0000000Ch? (после адреса списка); 2.По адресу 0x00000008h находится указатель на список имён, а там первое поле обычно имеет значение 0xFFFFFFFFh, но иногда оно имеет нормальное значение, за что оно отвечает? И вот новый исходник Replacer'а (кому интересно): |