|
Post by tekcoR on Apr 2, 2010 21:39:09 GMT -5
After reading Cartmics Violet Update following question came to my mind: how can you edit the compressed Pokemon/Trainer graphics in RBY? Like Coolboyman did...
I think the games use some RLE methods...?
CYa
|
|
|
Post by Mateo on Apr 4, 2010 8:41:28 GMT -5
to my knowledge, the way Coolboyman did this was by removing the compression routine and repointing all the graphics to noncompressed versions.
|
|
|
Post by tekcoR on Apr 4, 2010 10:00:54 GMT -5
Ah, okay, he applied his famous ASM knowledge. ;D
Is there any other method? I found a decompression document and a C program. Shouldn't I be able to do it "reverse" and insert the compressed pictures?
CYa
|
|
|
Post by iimarckus on Apr 4, 2010 15:01:58 GMT -5
Compression is a much harder problem than decompression. There is only one way to decompress an image but there can be a million different ways to compress the same image.
|
|
|
Post by tekcoR on Apr 4, 2010 16:04:26 GMT -5
Okay, thx.
Looks like I have to be content with the current state of 1. Gen hacking. :/
*Can be closed*
|
|
|
Post by Tauwasser on Apr 4, 2010 19:14:02 GMT -5
There is only one way to decompress an image but there can be a million different ways to compress the same image. This does not hold for RGBY though, as there is no data reuse within a compressed picture. Picture compression is actually straightforward. Each picture has two layers, one with white and black (may differ) colors and one with the two individual (may differ) colors per Pokémon --on SGB anyways, DMG obviously only has the same shades for all Pokémon. The main compression is RLE and RLE only. It will group bits into two-bit chunks which are then either filled with a data chunk of two bits (that is 11, 01, or 10, but not 00). RLE will fill groups with zeros. The RLE codes themselves are saved using RLE. Basically, it will count set bits in the code for a static base number of groups to fill with zeros and then add an additional (positive) offset to that which follows the code. The only hard part about this is that there are two different methods for obtaining the final image values employed in three different methods of constructing that meta-RAM. So this step would have to be reversed to compute the compression with the most gain, so it's at most three tries Yet some of these methods are used exclusively on certain types of images. For instance, one interpretation algorithm will take XOR of both layers t various points, therefore encoding different sets of colors more efficiently because long runs of zeros can RLE'd with this method. A friend of mine told me that this method is actually better than the GSC method, because many pictures were smaller compressed with this scheme. EDIT: So yeah, there is a best possible compression, that can easily be obtained, because your algorithms will converge to the best in linear time. Something that cannot be said for GSC, where you will have to optimize the hell out of the algorithm and then can only say you're in the top optimized X % there is. Documentation in German can be found here. cYa, Tauwasser
|
|
|
Post by Masterge77 on May 31, 2010 7:47:32 GMT -5
Considering how I know NOTHING of hex editing, It would be nice if there was something like AGIXP that works for RBY
|
|
BeNjaMMiN
Cooltrainer
Jerry Beans Man!
Posts: 109
|
Post by BeNjaMMiN on May 31, 2010 20:23:38 GMT -5
I think AgiXP works with rby
|
|
|
Post by Mateo on May 31, 2010 20:53:46 GMT -5
nope, AgiXP doesn't work with RB, they use different styles of compression. Be nice if it did though!
|
|