Engineer Опубликовано 15 декабря, 2003 #51 Поделиться Опубликовано 15 декабря, 2003 2 Sturm LS: Ну когда у тебя вместо экземпляра класса создавался его предок и не работали все переопределенные и новые свойства - это ещё понятно было в чём дело. Надо было бы просто разобраться почему так происходит, и заставить создаваться именно экземпляр самого класса. А вот с функцией не должно быть никаких проблем! Просто при генерации dll или в исходниках делаешь ей имя совместимое с Дельфовым синтаксисом, проверяешь что вышло tdump.exe (он где-то в Delphi\Bin лежит) и делаешь заголовок экспортного файла. Ты, как я понимаю, так и поступил. Типы данных к указателям для вызова функций небось тоже не забыл привести? Четр его знает что делается .... Где ошибка не пойму - пришлёшь примерчик может быть? Свой исходник, dll-ку и Delphi-йский заголовок. Я хоть и пробовал всего разок - другой пару библиотечек коммерческих на Дельфи перетянуть, но может хоть угляжу что свежим глазом. Ссылка на комментарий
Sturm LS Опубликовано 15 декабря, 2003 Автор #52 Поделиться Опубликовано 15 декабря, 2003 2 Engineer: Все выслал. Ссылка на комментарий
Sturm LS Опубликовано 23 декабря, 2003 Автор #53 Поделиться Опубликовано 23 декабря, 2003 Ну вот, вроде наваял я библиотечку позволяющую из Delphi пользоваться моими компонентами. Правда, реализованно это довольно геморно - передача параметров через буфер обмена, но работает. В архиве лежат: BifDll.dll - сама библиотечка BIFDLL.PAS, BIFDLL.H - определения функций (для Delphi и C++ соответственно) Readme.txt - текст с описанием комманд и параметров (передаваемых через буфер обмена) Каталог Demo содержит пример работы из Delphi. часть первая Bifdll.part1.rar Ссылка на комментарий
Sturm LS Опубликовано 23 декабря, 2003 Автор #54 Поделиться Опубликовано 23 декабря, 2003 Старался чтобы было все понятно, но, конечно, отвечу на любые вопросы, и постараюсь помочь. часть вторая Bifdll.part2.rar Ссылка на комментарий
Engineer Опубликовано 23 декабря, 2003 #55 Поделиться Опубликовано 23 декабря, 2003 2 Sturm LS: Спасибо. Будем посмотреть. Ссылка на комментарий
AVRELIAN Опубликовано 29 декабря, 2003 #56 Поделиться Опубликовано 29 декабря, 2003 Уважаемые господа, может все кроме меня уже давно в курсе, но считаю своим долгом сообщить, что на Орге с 27 сентября лежит несколько прекрасных утилиток, которые легко перегоняют *.tga в *.lbm, *.lbm в *.bif, а *.bif в *.buf. Пользоваться ими не слишком удобно, зато результат 100% (доступными ранее средствами мне никогда не удавалось достичь полного соответствия палитры *.bmp и палитры *.bif). Приметы: CA_BIF_BUF_Utils.zip 27-Sep-2003 09:52 192k С уважением, Ссылка на комментарий
Engineer Опубликовано 29 декабря, 2003 #57 Поделиться Опубликовано 29 декабря, 2003 Пользоваться ими не слишком удобно, зато результат 100% (доступными ранее средствами мне никогда не удавалось достичьполного соответствия палитры *.bmp и палитры *.bif). Странно. Вроде у нас выложены уже три инструмента и все работают лучше чем орг-овские? Ты точно уверен, что редакторы SturmLS и GWS допускают ошибки? У меня не встречалось. И вдобавок удобно. Найдешь ошибку - пиши сразу автору, что да как. Ссылка на комментарий
Engineer Опубликовано 29 января, 2004 #58 Поделиться Опубликовано 29 января, 2004 (изменено) Sturm LS Что то у меня MedKonstruktor3 глючит - не грузит правильно палитру из файла. Не мог бы ты сделать отдельное окно с просмотром/загрузкой/реджактированием палитры, а том числе для каждого цвета отдельно. Ипроверить ещё раз как именно она сохраняется в Bif файлах? А то что-то у меня глюки идут с палитрами - не могу добиться загрузки её в точности вместе с файлом. С компонентом поразбирался - большое спасибо. Правда пока в редактор ещё не подключил его. Ещё буду, наверное, доделывать после выпуска мода. AVRELIAN может все кроме меня уже давно в курсе, но считаю своим долгом сообщить, что на Орге с 27 сентября лежит несколько прекрасных утилиток, которые легко перегоняют *.tga в *.lbm, *.lbm в *.bif, а *.bif в *.buf. Дай, пожалуйста ссылку поточнее - я их не нашел. Изменено 29 января, 2004 пользователем Engineer Ссылка на комментарий
Sturm LS Опубликовано 29 января, 2004 Автор #59 Поделиться Опубликовано 29 января, 2004 2 Engineer: Engineer: Что то у меня MedKonstruktor3 глючит - не грузит правильно палитру из файла. Чуть по подробней опиши проблему (что делаешь, что происходит, что должно было произойти), если не сложно. Engineer: Не мог бы ты сделать отдельное окно с просмотром/загрузкой/редактированием палитры, а том числе для каждого цвета отдельно. Конечно, сделаю, но опять же поподробнее (что значит - в том числе для каждого цвета отдельно). Engineer: И проверить ещё раз как именно она сохраняется в Bif файлах? А то что-то у меня глюки идут с палитрами - не могу добиться загрузки её в точности вместе с файлом. Опять же, чуть по подробней опиши проблему. Engineer: С компонентом поразбирался - большое спасибо. Правда пока в редактор ещё не подключил его. Ещё буду, наверное, доделывать после выпуска мода. Всегда пожалуйста, правда не совсем удачная реализация, но это максимум что мне удалось сделать, не переписывая компонент на Object Pascal. Engineer: Дай, пожалуйста ссылку поточнее - я их не нашел. Я их слил, если надо могу послать по e-mail. Но мне они показались не удобными и не без проблемными. Ссылка на комментарий
Engineer Опубликовано 29 января, 2004 #60 Поделиться Опубликовано 29 января, 2004 Sturm LS Я их слил, если надо могу послать по e-mail. Но мне они показались не удобными и не без проблемными. Ага, нашел - действительно паршивые и врут с палитрой ещё похлеще... Чуть по подробней опиши проблему (что делаешь, что происходит, что должно было произойти), если не сложно. Опять же, чуть по подробней опиши проблему. Проблема простая. Я смотрю на новый битмап для заливки в BIF файл с полностью другой палитрой. Палитра не стандартная. При импорте BMP картинки с новой палитрой в существующий BIF файл - картинка сильно искажается. Цвета смазываются или пропадают. Операция "Загрузить палитру из файла" не помогает. Т.е. если палитра хорошая, - правильная то всё идёт как надо, я если нет - получаем искажение цветов! Т.е. надо так грузить палитру и картинку, чтобы обеспечить точное соответствие каждого пиксела номеру цвета в палитре! Почему сбивается не знаю - это только на некоторых палитрах. Прилагаю пример: старая и новая (плохая?) палитра для файла заставки игры. Попробовал изменить цвета в палитре стандартной - хорошей картинки, и .. .что Вы думаете - получил дикие искажения, как буднто конструктор вообще не грухит палитру из BMP в Bif. Приходится брать BIF с уже подходящей палитрой и в сделаную с него BMP всё копировать фотошопом, а потом в него же грузить конструктором - дико не удобно. Конечно, сделаю, но опять же поподробнее (что значит - в том числе для каждого цвета отдельно). Если бы было окно отображением палитры, возможностью её полностью сохранить/загрузить в файл, возможностью изменить любой цвет в палитре (это кажется вообще стандартный диалог), Возможностью переместить цвет в палитре и, и ... ну надо подумать. может грузить палитру из файла в этом же окне? Короче, нужна полноценная работа с палитрой - выбор цвета и рисование - хотя бы только карандаш этим цветом. Для начала хватило бы. PaletteFiles.zip Ссылка на комментарий
Sturm LS Опубликовано 29 января, 2004 Автор #61 Поделиться Опубликовано 29 января, 2004 Хотелось бы, увидеть сам BMP-файл, если можно. Если не лезет на форум, то по e-mail, если не сложно. Ссылка на комментарий
Engineer Опубликовано 29 января, 2004 #62 Поделиться Опубликовано 29 января, 2004 Sturm LS Хотелось бы, увидеть сам BMP-файл, если можно.Если не лезет на форум, то по e-mail, если не сложно. Отправил - это Jpeg для новой заставки мода. Размер = 1 мег с хвостом. Выслал на мейл: michael@ews.spb.ru - правильно??? Вот что было: Мне прислали новую графику для мода, я начал её устанавливать. Файл заставки был только в формате TGA или JPG. Я его конвертнул из Jpg в BMP и поставил индексированые цвета из стандартной палитры windows, - потом грузил конструктором3 в оригинальный файл: Medieval - Total War\frontend_files\Load Screen.BIF ... и ... ничего не выходит. Цвета сбиваются. Пробовал обрезать палитру, даже удалось загрузить её, но тогда она не сохраняется. Сделал тогда BMP образ исходного файла Medieval - Total War\frontend_files\Load Screen.BIF - открыл фотошопом, вставил туда новый BMP, сохранил. Потом добавил твоим конструктором этот файл в BIF, - всё заработало, хотя цвета не такие яркие как хотелось, -их в оригинальном BIF-е просто нет подходячщих. Третий эксперимент - взял BMP образ оригинального BIFа, поправил фотошопом палитру (изменил пяток цветов на более яркие), загрузил обратно - все цвета искажены! Ну откуда такая хрень? Он что, какой то цвет считает прозрачным и нормализует фон на него? Или ещё какая гадость. Короче, без редактора палитры - никак. Ни посмотреть её ни изменить. Ну хоть как у RSW - было сделано, хоть простенькую? И парочку тулсов рисовальных, а? Ссылка на комментарий
Sturm LS Опубликовано 29 января, 2004 Автор #63 Поделиться Опубликовано 29 января, 2004 2 Engineer: Engineer Отправил - это Jpeg для новой заставки мода. Размер = 1 мег с хвостом. Выслал на мейл: michael@ews.spb.ru - правильно??? Все правильно, получил. Engineer Вот что было: Мне прислали новую графику для мода, я начал её устанавливать. Файл заставки был только в формате TGA или JPG. Посмотрел я это дело, так и есть - ни одна из моих "надежд" не оправдалась. Полез я в исходники, стал разбираться, и вспомнил не очень приятную вещь - в палитре Bif-файла цвет описывается 2 байтами (три байта RGB "пакуются" в два очень "злым" алгоритмом - отсечением определенных бит каждого байта). На практике это означает, что перевести в палитру Bif-файла можно не каждый цвет RGB (т.е. превести можно любой - с усечением). Engineer Короче, без редактора палитры - никак. Ни посмотреть её ни изменить. Ну хоть как у RSW - было сделано, хоть простенькую? И парочку тулсов рисовальных, а? Будем думать. Ссылка на комментарий
ЛЮБИТЕЛЬ Опубликовано 29 января, 2004 #64 Поделиться Опубликовано 29 января, 2004 Не далее как сегодня делал новое здание - вербовщик , чтоб швейцарцев нанимать Взял из Сегуна картинку с португальским торговым пунктом , вырезал , залил нулевкой , хотел в пустой Bif воткнуть - фиг-вам - называется , то все черное , то разноцветная смесь , час бился , потом плюнул , взял картинку из Сегуна и тупо в Bif-редакторе карандашиком по клеточкам нулевку расписал Вроде получилось Ссылка на комментарий
Chernish Опубликовано 29 января, 2004 #65 Поделиться Опубликовано 29 января, 2004 ЛЮБИТЕЛЬ выложил бы ты это здание как положено: ревьюшка, Инфо-пик, coloured, names-descriptions, строка из файла зданий... мы бы посмотрели в действии что такое - нанимать посредством панели тренировки? По русски - тренировать наемников что ли? или у него большой плюс к привлечению - это вроде супер-Inn? Ссылка на комментарий
Engineer Опубликовано 29 января, 2004 #66 Поделиться Опубликовано 29 января, 2004 (изменено) Sturm LS Полез я в исходники, стал разбираться, и вспомнил не очень приятную вещь - в палитре Bif-файла цвет описывается 2 байтами (три байта RGB "пакуются" в два очень "злым" алгоритмом - отсечением определенных бит каждого байта). На практике это означает, что перевести в палитру Bif-файла можно не каждый цвет RGB (т.е. превести можно любой - с усечением). Будем думать. Да я вот думал. Ну у BIF-а ладно - с него спроса нет, тогда и карты графические на 16 цветов - это уже супер! Так что с ним ясно. Но отрезать биты?! Если известно какой цвет и как именно кодируется в BIFе, то можно взять цвет RGB, сгенерить наиболее близкий по цвету в кодировке BIFа и вписать эти два новых байта. Не обрезая, а пересчитывая! Боюсь, правда это маетная работа. Не сам алгоритм, конечно, а поиск информации про столь древний формат. ++Можно даже ещё проще. Заранее сделать для всех BIF-ов дефолтную 256-цветную палитру. Т.е. не пересчитывать и не искать похожий цвет в текущей палитре при импрте файла, а сразу грузить новую палитру, приводить её цвета в соответствии с заранее известной стандартной и устанавливать стандартную. Так проще. Можно ещё сделать список защищенных цветов - цветов, которые нельза перегружать новыми. Это нужно в ряде файлов, чтобы сохранить нулевой цвет-цвет фона, например, и т.п. Изменено 29 января, 2004 пользователем Engineer Ссылка на комментарий
ЛЮБИТЕЛЬ Опубликовано 29 января, 2004 #67 Поделиться Опубликовано 29 января, 2004 ЛЮБИТЕЛЬ выложил бы ты это здание как положено: ревьюшка, Инфо-пик, coloured, names-descriptions, строка из файла зданий... мы бы посмотрели в действии что такое - нанимать посредством панели тренировки? По русски - тренировать наемников что ли? или у него большой плюс к привлечению - это вроде супер-Inn? Он просто из INN сделан - это пока атавизм , наверное отрублю Выложу.. вместе с модом , через ~ месяц Ссылка на комментарий
Sturm LS Опубликовано 30 января, 2004 Автор #68 Поделиться Опубликовано 30 января, 2004 2 Engineer: Engineer Да я вот думал. Ну у BIF-а ладно - с него спроса нет, тогда и карты графические на 16 цветов - это уже супер! Так что с ним ясно. Но отрезать биты?! Если известно какой цвет и как именно кодируется в BIFе, то можно взять цвет RGB, сгенерить наиболее близкий по цвету в кодировке BIFа и вписать эти два новых байта. Не обрезая, а пересчитывая! Боюсь, правда это маетная работа. Не сам алгоритм, конечно, а поиск информации про столь древний формат. Алгоритм урезания очень прост - инорируются три младших бита каждого байта в массиве RGB. Т.е. цвет R:121(0111 1001) G:51(0011 0011) B:240(1111 0000) и цвет R:127(0111 1111) G:48(0011 0000) B:247(1111 0111) после преображование в BIF-палитру и обратно станут цветом R:120(0111 1000) G:48(0011 0000) B:248(1111 0000), что иногда приводит к неприятным преобразованиям. Таким образом диапазон интенсивности цветовых составляющих (R, G и с 0-255 сужается всего до 32-х значении (0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216, 224, 232, 240, 248), и вместо 16 777 216 цветов мы имеем только 65 536 цветов. И бороться с этим невозможно. Engineer ++Можно даже ещё проще. Заранее сделать для всех BIF-ов дефолтную 256-цветную палитру. Т.е. не пересчитывать и не искать похожий цвет в текущей палитре при импрте файла, а сразу грузить новую палитру, приводить её цвета в соответствии с заранее известной стандартной и устанавливать стандартную. Так проще. Можно ещё сделать список защищенных цветов - цветов, которые нельза перегружать новыми. Это нужно в ряде файлов, чтобы сохранить нулевой цвет-цвет фона, например, и т.п. Делать универсальную палитру нереально, надо из 65 536 цветов выбрать 256 которые будут везде (В некоторых картинках нет светлых цветов, а в некоторых только светлые). Я сейчас над всем этим крепко думаю, придумаю как это лучше сделать - сделаю. Ссылка на комментарий
Engineer Опубликовано 30 января, 2004 #69 Поделиться Опубликовано 30 января, 2004 Sturm LS Алгоритм урезания очень прост -<...>Здорово. Спасибо, и и не подозревал что всё так тупо и просто. Теперь хотя бы ясно какие палитры он делает неправильными! Делать универсальную палитру нереально, надо из 65 536 цветов выбрать 256 которые будут везде (В некоторых картинках нет светлых цветов, а в некоторых только светлые). Я имел ввиду не точное совпадение, а приближенное. Ведь тот же Фотошоп как то умеет при вставке изображения приближать его новой палитрой достаточно близко. Если сделать универсальную палитру достаточно разнообразной, то и приближение будет срабатывать более или менее близко. Останется только найти алгоритм поиска наиболее близкого цвета к заданому, что вполне возможно. Разве не так? Ссылка на комментарий
Sturm LS Опубликовано 30 января, 2004 Автор #70 Поделиться Опубликовано 30 января, 2004 2 Engineer: Держите файл в rar'е в четырех частях. Часть первая: Load_Screen.part1.rar Ссылка на комментарий
Sturm LS Опубликовано 30 января, 2004 Автор #71 Поделиться Опубликовано 30 января, 2004 Часть вторая: Load_Screen.part2.rar Ссылка на комментарий
Sturm LS Опубликовано 30 января, 2004 Автор #72 Поделиться Опубликовано 30 января, 2004 Часть третья: Load_Screen.part3.rar Ссылка на комментарий
Sturm LS Опубликовано 30 января, 2004 Автор #73 Поделиться Опубликовано 30 января, 2004 Часть четвертая, последняя: Объяснения в понедельник, сейчас некогда. Load_Screen.part4.rar Ссылка на комментарий
Engineer Опубликовано 30 января, 2004 #74 Поделиться Опубликовано 30 января, 2004 Sturm LS Часть четвертая, последняя: Объяснения в понедельник, сейчас некогда. Спасибо! Родина Вас не забудет! Ссылка на комментарий
Sturm LS Опубликовано 2 февраля, 2004 Автор #75 Поделиться Опубликовано 2 февраля, 2004 2 Engineer: 2 ALL: Благодаря Engineer'у обнаруженна серьезная ошибка в работе MedivalConstractionKit с палитрой. Ошибка исправленна в новой версии программы, и как только будут добавленны новые возможности работы с палитрой и рисования - она будет выложенна в инструментарии вместо старой. К сожалению, в связи с рядом обстоятельств, спрогнозировать когда это произойдет - нет никакой возможности. 2 Engineer: Как оказалось, при упаковке цвета, байты массива RGB накладывались с не обрезнными тремя младшими байтами, в результате, при работе с палитрой полученной не из Bif-файла, могли возникнуть (и возникали) серьезные искажения цветов. Ссылка на комментарий
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти