09-14-2008, 08:30 AM
All your sheets have an offset they shouldn't have.
Eg: monster #1 should look like this:
You can use this plugin for Tahaxan (save as DRAGONQUEST4.xml), but since Tahaxan doesn't support 8bit multipalettes, not all monsters can be ripped correctly with it.
Eg: monster #1 should look like this:
You can use this plugin for Tahaxan (save as DRAGONQUEST4.xml), but since Tahaxan doesn't support 8bit multipalettes, not all monsters can be ripped correctly with it.
Code:
<?xml version="1.0" encoding="UTF-8" ?>
<game>
<info>
<title>Dragon Quest IV</title>
</info>
<formats>
<format pattern="\.tex\.lz$">
<file_type>TEXture File</file_type>
<type tiled="false">Picture</type>
<compressed>True</compressed>
<data>
<format>Lua</format>
<loader>
<![CDATA[
-- currently only TextureObject is supported
if(buffer:sub(0x00,0x0D) == "TextureObject") then
palOffset = string.byte(buffer:sub(0x3D)) + 16^2 * string.byte(buffer:sub(0x3E)) + 16^4 * string.byte(buffer:sub(0x3F)) + 16^6 * string.byte(buffer:sub(0x40));
--palSize = string.byte(buffer:sub(0x39)) + 16^2 * string.byte(buffer:sub(0x3A)) + 16^4 * string.byte(buffer:sub(0x3B)) + 16^6 * string.byte(buffer:sub(0x3C));
palSize = buffer:len() - palOffset;
palType = string.byte(buffer:sub(0x21));
if(palType == 4 or palType == 1) then
palType = PALETTE_8Bits;
elseif(palType == 3) then
palType = PALETTE_4Bits;
else
invalid = "Unsupported Palette Type: " .. palType/256;
palType = 0;
end
picOffset = string.byte(buffer:sub(0x35)) + 16^2 * string.byte(buffer:sub(0x36)) + 16^4 * string.byte(buffer:sub(0x37)) + 16^6 * string.byte(buffer:sub(0x38));
picSize = string.byte(buffer:sub(0x31)) + 16^2 * string.byte(buffer:sub(0x32)) + 16^4 * string.byte(buffer:sub(0x33)) + 16^6 * string.byte(buffer:sub(0x34));
--picSize = 0;
if (picSize == 256*192) then
imgWidth = 256;
imgHeight = 192;
elseif (picSize == 64*96) then
imgWidth = 64;
imgHeight = picSize / 64;
elseif (picSize == 256*128) then
imgWidth = 256;
imgHeight = 128;
elseif (picSize > 256*256) then
imgWidth = 512;
if((picSize / 512) % 1 ~= 0) then
imgWidth = 0;
imgHeight = 0;
else
imgHeight = picSize / 512;
end
end
else
invalid = "Unsupported Texture type '"..buffer:sub(0x01,0x0F).."'.";
end
]]>
</loader>
<saver>
</saver>
</data>
</format>
</formats>
</game>