Уже долго мучаюсь, но у меня не получается конвертировать текстуру с индексированной палитрой. Что нужно делать с текстурой, если у неё индексированная палитра?
Ничего. Редактировать как и обычно. Здесь фотошоп, а не ромхакинг. В каком виде вытащил из игры, в таком и вставляй. А что ты с ней делаешь между этим - все равно.
Anton, Вот я извлекаю текстуры из TPL, у меня есть файлы _09+2, если попытаться сразу запаковать все текстуры, то запаковщик будет ругаться на эти текстуры. Если в фотошопе у картинки поставить режим Индексированные цвета, то в TPL создаться, но эти текстуры будут отображаться криво, либо вообще не будут отображаться. Вот я и решил спросить, что именно нужно делать с этими изображениями после редактирования.
Вот я и решил спросить, что именно нужно делать с этими изображениями после редактирования.
Вернуть оригинальную палитру. Сперва ее нужно извлечь и сохранить. Потом редактировать, как тебе удобно (хоть в RGB, хоть в CMYK), потом вернуть индексированный цвет и применить к файлу сохраненную ранее палитру.
Image -> Mode -> Indexed Color (вернуть режим индексированного цвета) Image -> Mode -> Color Table (выбрать и загрузить палитру (в фотошопе она называется "цветовая таблица" (Color Table).
Можно еще проще - скопипастить отредактированное изображение в оригинальный файл - цвета изменятся на те, которые проиндексированы в оригинале.
Также следи, чтобы размер отредактированных файлв не сильно превышал размер оригинальных, а лучше чтобы был бы равен или меньше. Так, на всякий...
Я пытался сделать так(не редактировал файл): Режим->Индексированные цвета Палитра - Локальная(Перцепционная) Цвета - 255 Принудительные - Не показывать Снята галочка с Прозрачность
И нажимал ОК, сохранял, пытался вставить в игру и оно всё равно криво отображает.
Разбирайся с фотошопом или с конвертерами в TPL, что еще сказать...
Ну или не напрягайся и попробуй сделать вот так:
ЦитатаAnton ()
Можно еще проще - скопипастить отредактированное изображение в оригинальный файл - цвета изменятся на те, которые проиндексированы в оригинале.
Открой оригинал в фотошопе. Открой рядом отредактированный файл.
1. Склей слои, выдели все в отредактированном файле. 2. контрол+С 3. Перейди на оригинальный файл. 4. контрол+V (если в оригинале индексированный цвет, то слоя нового не будет при "контрол+V" — это значит, что слои склеивать не надо). 5. "Сохранить как...", дай ему имя. 6. Вставляй в игру.
А зачем что-то пытаться сделать, если ты НЕ РЕДАКТИРОВАЛ файл?.. Не надо ничего с оригиналом делать. Тебе надо ОТРЕДАКТИРОВАННЫЙ файл привести к виду оригинала, вот и все.
Дай файлы со своей текстурой посмотреть. Оригинал и отредактированный.
TTEMMA, TexConvD.exe ругается на файл tex#00_09+2.tga. А это просто зеленая стрелочка, к которой никто не прикасался.
D:\Romhacking\TTEMA\Rus_subscr.dat3>TexConvD.exe config.tcs subscr.dat3.tpl error: WriteTplImageBank: attempt to convert an RGB image TEX#00_09+2.TGA to CI format
total alloc: 17394 total freed: 17394 press <enter> to quit
Конфигурационный файл, созданный прогой ConfiGen.exe (от dnd1), выглядит так:
После этого получилось создать TPL с твоей надписью (см. аттач).
Батник:
TexConvD.exe config.tcs subscr.dat3.tpl pause
Проверь в игре. Размер получился 2,75 (против 1,53 оригинала).
Если не получится, будем дальше ковырять. И пришли весь архив, откуда ты выковыривал этот TPL (если он был в архиве .arc или т.п.).
P.S. TGA у тебя перерисован вроде бы правильно. Альфа-канал есть, RGB 8 бит, все нормально.
P.P.S
Я успел уже забыть всю эту кухню с мультитекстурными TPL. Надо освежать память... ) Была еще хорошая подборка утилит C-tools (есть на сайте), но она более не желает устанавливаться и ссылки на сайт разрабов сдохли. Там можно было, если не ошибаюсь, открыть U8 архив, и оно тебе показывало там все файлы, и понимало мультитекстурные TPL. Просто кликаешь на нужную текстуру и заменяешь на свою. В Skyward Sword я там вроде ковырялся с этим. В баннере игры там было две текстуры.
"TPL edit 2.0" с сайта - она понимает мультитекстурные TPL вроде, но не понимает прозрачность (альфа-канал). Так что остается только "TPL Convert (+ Config generator by dnd1 (ReD)" и, возможно, "gxtexconv (IMG-to-TPL)".
TexConvD.exe ругается на файл tex#00_09+2.tga. А это просто зеленая стрелочка, к которой никто не прикасался.
В этом то и дело, он говорит, мол изображение в RGB, а должно быть в Индексированных цветах. TPLx вытаскивает в RGB, хоть текстура и в индексированных цветах. C-Tools у меня имеется, но как раз таки она не поддерживает текстуры с индексированной палитрой.
Цитата
Размер получился 2,75 (против 1,53 оригинала).
На размер вообще пофиг, с поинтерами же работать умею:)
Цитата
И пришли весь архив, откуда ты выковыривал этот TPL
Я могу скинуть, я к нему писал софтину, чтобы извлекать. Архив таков: Поинтеры находятся в исполняемом файле в разбросанном варианте, моя программка делает так, ищет все файлы, который начинаются на header TPL файла(по первым 4 байтам) и извлекает эти куски, данный архив CAPCOM так устроили.
Извращенцы, а не японцы :crazy:
Куда уж Capcom до стандартных архивов GC или Wii, они своего напридумали. Пришлось для этого проекта весь свой софт пилить.
Ох, загвоздка, весь софт то на другом компе, вроде. Так что, скорей всего, днём отпишусь, работает или нет.
Сообщение отредактировал TTEMMA - Среда, 23.07.2014, 23:11
А если не трогать ничего твоей прогой (указатели на эти ТПЛ)? А просто заменить старый ТПЛ новым? (скруббером, если это Wii, или ребилдером пересобрать, если это куб).
После "четыре маски" луче бы двоеточее. Или точко и следующее предложение с заглавной.
А если не трогать ничего твоей прогой (указатели на эти ТПЛ)? А просто заменить старый ТПЛ новым?
Ну а как игра будет знать, откуда начинать читать текстуру? Размеры же файлов в архиве меняются.
Цитата
После "четыре маски" луче бы двоеточее. Или точко и следующее предложение с заглавной.
Учту.
Цитата
внешне все выглядит вроде нормально (открыл оба TPL в TplEdit2.0)
Они в оригинале с прозрачность. В этом то дело. Попробую кое-что завтра, т.к. за другой комп уже не попаду. Попробую его в простую текстуру с прозрачностью конвертнуть.
Ну а как игра будет знать, откуда начинать читать текстуру? Размеры же файлов в архиве меняются.
А ты попробуй. Попытка - не пытка. )
Если это куб, то образ пересобирается, и о том, что должна знать игра, тебя не должно сильно волновать. Если вии - то же самое. Скруббер позволяет заменить меньшие файлы на бОльшие.
Там же структура папок и файлов. Это же не РОМ, где все в один файл запихано.
Прозрачность в твоих TGA есть (альфа-канал), она никуда не делась оттуда. Если она потерялась при вставке в TPL, то надо с другими параметрами перевставить.
К Config Generator там хорошая дока есть от dnd1, ознакомься.
Anton, Ты наверно меня не понял, эти поинтеры, как поинтеры в тексте. К примеру, один поинтер указывает на определённую строку, так и здесь, поинтеры указывают на текстуры. В образе есть файл subscr.dat, в этом файле друг за дружкой идут TPL, поинтеры которых записаны в START.DOL, если какой-то файл стал длиннее, то понятное дело, что поинтер на следующий будет другой, в отличии от оригинала. Эмулятор будет крашится, если поинтеры не поменять на новые(в соответствии с новыми размерами текстур)
Вот из ридми к конфиг-генератору, как готовить индексированный TGA с прозрачностью.
If the texture HAS TRANSPARENCY (meaning, the alpha layer is a white color with some black), then you have to go a slightly longer route. First, go to the Alpha Layer of the file. Second, select the black parts of the file with a Selection tool (whatever you prefer). Third, click the "RGB" layer so that you return to the normal texture and off the Alpha Layer. You should see the parts you selected from the Alpha Layer visible on the texture. Now... it's time to Index! However, compared to the format above, you have to do things a little differently... Uppermost toolbar -> Image -> Mode -> Indexed Color... A small window should open. Make sure the box meets the following requirements: Palette: [Exact] OR [Local (Perceptual)] options chosen Colors: [Set number BELOW 256] if Exact; enter [255] if Local (Perceptual), or if Exact is bigger than 256 Forced: [None] Transparency box is UNCHECKED. Options~ Matte: [None] Dither: [None] Amount: [None]% Preserve Exact Colors box is UNCHECKED. NOTE: All we're messing with here is the top-half of the window. Press OK, as soon as you see your texture meets the requirements. If you've messed with non-transparent textures, you may notice that you need only Colors: 255 instead of Colors: 256. This will be explained. With the texture still having the parts selected, head: Uppermost toolbar -> Image -> Mode -> Color Table You should now see a new window with a bunch of small squares, each containing the individual colors of the texture. IF YOUR TEXTURE WAS EXACT COLORS BELOW 256 COLORS, simply click in one of the uncolored/dotted squares, and enter ff00ff as the # value. NOTE: Alternatively, you can enter R: 255 G: 0 B: 255 in the respective places, if you prefer that. IF YOUR TEXTURE HAD TO BE EDITED WITH Local (Perceptual) AND IS 255 COLORS, simply click the very last unfilled/dotted box in the window (the bottom-most-right box), and fill it with either #: ff00ff or R: 255 G: 0 B: 255 as sampled above.
The "ff00ff" value is a MAGENTA color. It will be needed for transparency, at least in this guide. (It could be any other color if you like, but it's the easiest example as there aren't too many characters with magenta colorations.) Once you've filled in the box in the Color Table, click OK. Now, if it isn't already selected, make ff00ff one of your colors to color with (the two color boxes at the bottom-left of Photoshop)... and, simply color inside the selected areas in the texture with the magenta coloration. Note how the magenta'd parts are coloring in the spaces of the textures that WOULD have been transparent. Now, you can Save the file... and it's time for conversion!
Я все это проделал, однако из полученного TPL (см. вложение) после этих манипуляций TGA обратно уже не выковыриваются (tplx.exe выдает ошибку). Я не пойму, почему tplx.exe из оригинала вытаскивает RGB+альфа, но файл маркирует как имеющий индексированную палитру (*09+2 = CI8, RGB5A3, прозрачность, максимум 256 цветов).
Да, не считая того, что таких файлов с зашитыми TPL несколько.
Цитата
Я все это проделал, однако из полученного TPL (см. вложение) после этих манипуляций TGA обратно уже не выковыриваются (tplx.exe выдает ошибку). Я не пойму, почему tplx.exe из оригинала вытаскивает RGB+альфа, но файл маркирует как имеющий индексированную палитру (*09+2 = CI8, RGB5A3, прозрачность, максимум 256 цветов).
Я так же пытался делать и в игре оно не отображалось, либо отображалось криво, поэтому сюда и обратился.
Добавлено (25.07.2014, 18:17) --------------------------------------------- В RGBA8 выглядит, собственно, как оригинал(*06.tga) Попробую ещё несколько в RGBA8 запаковать, мб, это самый подходящий вариант.
Это уже давно есть, просто сначала надо было с другими текстурами разобраться
Цитата
и как ты ее редактировал?
Извлек картинки из TPL, открыл, отредактировал, сохранил. Создал конфиг с помощью ConfiGen и отредактировал его с помощью блокнота: изменил "image * = *, x, CI4" на "image * = *, *, RGBA8", где * - номер файла И ещё изменил "texture * = *, RGB5A3" на "texture * = *, RGBA8", где * - номер файла Создал новый TPL по конфигу, всё запаковал и вуаля - работает. При распаковке TPL, вместо индексированных текстур появляются обычные(*06.tga)