Jump to content

Can a Randomizer of Colosseum/XD be possible with a Shadow Pikachu, for example?


Recommended Posts

If you're asking about if a program specifically to do that exists, than no. There's technically nothing that should be stopping it from being created although I'm not sure there's too much research into modifying the types of things you'd want to for this. There is some memory hacking stuff you can do I believe to change around what is or isn't a shadow Pokemon, but no info on hardmodding that to my knowledge.

tldr, no on the randomizer as far as I'm aware.

Custom textures on the other hand are VERY possible. I'm not sure what process you would need to do to hard mod that (though I feel like its possible with current knowledge), BUT you can tell Dolphin to dump textures and then have it load modified versions of the dumps. You would pretty much need to find whatever object you wanted to modify (ex. find a pikachu ingame so its textures are dumped) and then from there it would be cake to mess with it. This method wouldn't be letting you play with the modifications on your Wii/GC of course obviously.

Perhaps someone more knowledgeable on the topic than me could elaborate more, but for now I'd say texture mods yes, shadow pokemon mods, no.

Link to comment
Share on other sites

I've actually been looking into this myself recently; it's funny you should make a post here around this same time. Colosseum is easily my favorite game, and I've been searching for a way to play though it with a twist.

As far as I can tell, Shadowth117 is correct; there are no randomizers in existence for Colo/XD. What I have been able to find however is a

So the groundwork for editing individual Pokemon is there, but implementation of doing so to every pokemon of every trainer with the game randomly is a large step in another direction. Although it would certainly be easier then a main-series game, as Colo has much less encounters and trainers then the standard game, from what I've read, one cannot simply apply something like the Universal Pokemon Randomizer to these games, as Genius Sonority apparently created the game's data slightly differently then Game Freak.

Again, a randomizer is not impossible, but rather the tools and information known for the Colo/XD series have not been implemented towards that end goal. I personally would be more then happy to lead the development of said randomizer, but unfortunately I don't yet know all the technical know-how for the stuff behind the scenes. If anyone more knowledgeable would be willing to provide the already established data for the series and get me started in the right direction, I would be willing to pursue the creation of a randomizer.

Edited by Incarnate
Link to comment
Share on other sites

  • 2 weeks later...

I'm actually currently finishing up a mod of pokemon colosseum. I've been researching it for about a year now and I've figured out quite a lot about it. I will be posting tutorials on everything in the coming weeks and I believe a randomiser can be made using my findings. I've also figured out a lot about xD as well since most of it is the same. All my tools are ipad apps though because I'm actually an ios developer and so they aren't very easy to distribute but I'm sure some of the other programmers out there can use the information to make easily accessible tools.

In terms of the textures, the textures in game should be easy to change if you have a program to swap their 'endianess' but I wasn't able to find one before I lost interest. However to change the textures based on whether a pokemon is shadow or not is not feasible right now.

I'm hoping my info will inspire more research into colosseum and xD so hopefully someone will figure it out soon.

Link to comment
Share on other sites

I'm actually currently finishing up a mod of pokemon colosseum. I've been researching it for about a year now and I've figured out quite a lot about it. I will be posting tutorials on everything in the coming weeks and I believe a randomiser can be made using my findings. I've also figured out a lot about xD as well since most of it is the same. All my tools are ipad apps though because I'm actually an ios developer and so they aren't very easy to distribute but I'm sure some of the other programmers out there can use the information to make easily accessible tools.

In terms of the textures, the textures in game should be easy to change if you have a program to swap their 'endianess' but I wasn't able to find one before I lost interest. However to change the textures based on whether a pokemon is shadow or not is not feasible right now.

I'm hoping my info will inspire more research into colosseum and xD so hopefully someone will figure it out soon.

Have you figured the compression they're using on the game disc ? That's something I have been struggling with back when I was attempting to reverse it. Though I didn't really dig very deep into the file system.

Then PMD2 came up, and I switched all my attention on that xD

As for the textures, I've dealt with several image formats in the past, so I might be able to see if I can't do something about it. Also, a good tool to work with several texture formats IMO is Tileggd. You can change endianess and the pixel format, work with palettes, change the offset to begin reading the image at, and etc.. It should work with a lot of formats.

Moreover, if you've got some nice info on Pokemon XD/Colosseum, you might want to ask Alpha to get access to the wiki and write that over there ? I could probably even give you a hand on the wiki, since I'm an editor. And I'm about to make another info dump for PMD anyways.

Link to comment
Share on other sites

Yeah after combing through forums for a few months I stumbled across a method for decompressing them and it was pretty easy from there. I'm currently in the process of recording some tuts will post links when they're up.

As far as documentation goes I've never added to wikis before but will see what I can do. Your help would be greatly appreciated. Thanks.

Also in response to Dio's question. I've edited all the trainer teams (including shadow pokemon), all the TMs, added some moves from gens 4-6 (like scald and dracometeor), edited some pokemon stats, level up moves and abilities (like giving the blaziken line access to speed boost and huge power on azumarill), edited the starting moves of espeon and umbreon. In general I made the game more challenging. Colo was one of the hardest pokemon games as far as they go but was still easy enough if you knew what you were doing. My version has trainers with more competitive teams and I threw in all my favourite pokemon as shadow pokemon so it's a lot of fun. Oh, and I also changed every occurrence of the word 'Snag' to 'Swag' just for the banter =D.

Link to comment
Share on other sites

I'm really happy to hear someone is working on the game and taking it to the next level. Is there anyway someone like myself could get involved to help with any kind of testing for you StarsMmd? I'd be more then willing to help you in any way I can.

Link to comment
Share on other sites

Yeah after combing through forums for a few months I stumbled across a method for decompressing them and it was pretty easy from there. I'm currently in the process of recording some tuts will post links when they're up.

As far as documentation goes I've never added to wikis before but will see what I can do. Your help would be greatly appreciated. Thanks.

Also in response to Dio's question. I've edited all the trainer teams (including shadow pokemon), all the TMs, added some moves from gens 4-6 (like scald and dracometeor), edited some pokemon stats, level up moves and abilities (like giving the blaziken line access to speed boost and huge power on azumarill), edited the starting moves of espeon and umbreon. In general I made the game more challenging. Colo was one of the hardest pokemon games as far as they go but was still easy enough if you knew what you were doing. My version has trainers with more competitive teams and I threw in all my favourite pokemon as shadow pokemon so it's a lot of fun. Oh, and I also changed every occurrence of the word 'Snag' to 'Swag' just for the banter =D.

Sounds good ! And just PM me whenever you want to do this/need help. :)

Link to comment
Share on other sites

  • 2 weeks later...
I'm really happy to hear someone is working on the game and taking it to the next level. Is there anyway someone like myself could get involved to help with any kind of testing for you StarsMmd? I'd be more then willing to help you in any way I can.

Sorry for the delay. i've finally finished writing up eveyrthing i know about hacking colosseum and xD. I didn't realise quite how much stuff there was to say. I even ended up discovering like 30% more about them while documenting it. I'll be posting a few threads on the forum now so if you read through them and use the information to start researching stuff then that would be great. Also a lot of the stuff is theoretically correct but. Hasn't been tested yet so if research isn't your thing then testing would also be extremely useful.

[EDIT] The tutorials have been posted - -hacking-tutorial-part-1-File-decompression-recompression'>http://projectpokemon.org/forums/showthread.php?46250-Stars-Pokemon-colosseum-and-xD-hacking-tutorial-part-1-File-decompression-recompression

Edited by StarsMmd
Link to comment
Share on other sites

Have you figured the compression they're using on the game disc ? That's something I have been struggling with back when I was attempting to reverse it. Though I didn't really dig very deep into the file system.

Then PMD2 came up, and I switched all my attention on that xD

As for the textures, I've dealt with several image formats in the past, so I might be able to see if I can't do something about it. Also, a good tool to work with several texture formats IMO is Tileggd. You can change endianess and the pixel format, work with palettes, change the offset to begin reading the image at, and etc.. It should work with a lot of formats.

Moreover, if you've got some nice info on Pokemon XD/Colosseum, you might want to ask Alpha to get access to the wiki and write that over there ? I could probably even give you a hand on the wiki, since I'm an editor. And I'm about to make another info dump for PMD anyways.

So I've been running some files which I suspected to be textures through TiledGGD and I've got this far:

colosseum textures.rar

I've dumped textures from the game using dolphin previously so I knew the kinds of things I was looking for and from the file names I had a pretty good idea where things would be.

As you can see in the attached image, you can kind of see the textures (an egg, charizard's party sprites in regular and shiny and pikachu). I've also found many other textures from the game but I can't seem to get any of them to display properly.

Does anyone have any tips?

colosseum textures.rar

Link to comment
Share on other sites

Its hard to tell without seeing the actual raw data. :/

What are the names of those files in the pictures ? Just so I can take a look on my side ?

Have you tried shifting the image in tileggd by a few bytes ? (look in the image menu for "skip size" and change them all to "byte") Since you're using a multiple bytes per pixel image format to display those, its possible bytes from each pixels aren't properly aligned, thanks to a header or non image data put before the image.

Its also possible some of those images are using compression, or use a color palette. The pikachu image doesn't look like its compressed though.

Link to comment
Share on other sites

If you decompress the pokeface.fsys you'll find all the faces. Charizard is number 6. All the title screen textures, including the pikachu, are in title.fsys. I tried just about every combination of options. I'm pretty sure I shifted to the right start which i believe is 0x80.

On the bright side, I just managed to implement the physical/special split in xD! I've also found the weakness/resistance type table. So lots of progress.

Edited by StarsMmd
Link to comment
Share on other sites

I took a look, and so far, it appears the images in the poke_face.sys file uses indexed colors.

For example, here's Poochyena, "face286.fdat", and Bulbasaur, "face001.fdat". They're both 8 bits per pixels, tiled (8x4), indexed. Poochyena's is ~48x88, and Bulbasaur's is ~88x128.

face001_and_face286_small.png

The offset of the palette is the value usually at offset 0x48 in the header. It appears to be a 512 colors palette, or maybe two 256 colors palettes, possibly one for regular and one for the shiny portrait I'd guess.

Its 2 bytes per color, RGB, and apparently stored in little endian.

face001_and_face286_small.png.4d59793c01

Link to comment
Share on other sites

It comes with spending nights hitting your head on your desk trying to figure out how the pixels are arranged XP

But yeah, I think what was the most problematic with these images was figuring that the tiles were not square.. That's such a weird idea its no wonder it was hard to figure out :/

I'd be careful with using the ??? type as fairy type though. There's no telling what the game does with that type, well besides being used for Curse.

And, you can't specify whether its indexed or not. Its assumed automatically for 8 bits images and lower. Which is kind of a weird way of doing it.. Especially since 16 bits indexed images do exist. But, I haven't found any other raw image viewer that works just as well..

And searching on the web for another one is hard, thanks to the RAW image format used in some digital cameras... :/

Link to comment
Share on other sites

I used all the same settings you specified and I keep getting garbage ?. I don't know what I'm missing.

Yeah, I know the ??? Type is a bit dodgy but I'm willing to take the risk. I know a big problem with is that it is neither physical nor special but I can easily change that. Plus with my physical special split implementation that doesn't even matter since it's based on the move rather than the type. I'm happy with just changing curse to ghost type as I don't think the type affects the move itself. It just affects what is displayed to the player afaik.

I know that struggle is based on ??? Type which makes it always neutral but in XDs ASM I found a function that changes the type of a move like changing weather ball depending on the weather and changing hiddenpower, etc. So I'm going to make it stay as normal type. The game actually has a list of moves that should still hit ghost types (including he shadow moves which are set to normal type but have a different effectiveness calculation, sketch, mimic and struggle). The only downside is struggle will now be not very effective on rock and steel types which I'm willing to accept since its a rare move anyway. A few other moves use the ??? Type like future sight and beat up but they can receive similar treatment.

I can't think of anywhere else that the ??? Type is used so it should probably work out.

[Edit:] after looking again, it turns out shadow moves are also set to ? Type. This could mean that they go through the regular effectiveness check before checking if the target is a shadow pokemon or not. There are two possible outcomes:

1. The shadow pokemon check overrides everything else and so setting them to any type has no effect.

2. The shadow pokemon check multiplies after the regular type check which would force a new mechanic where moves like shadow fire would be set to fire type and be 4x effective on regular grass pokemon while neutral on shadow grass pokemon. This may be a necessary compromise for the fairy type.

I'll have to test it to know.


Okay, just checked and it seems to be case 1. Shouldn't have any problems.

Edited by StarsMmd
Link to comment
Share on other sites

I used all the same settings you specified and I keep getting garbage ?. I don't know what I'm missing.

What kind of garbage?

Did you set the palette offset to the offset indicated in the header ? Have you set the palette's format to 2 bytes per color ?

Did you change the tiling of the image to 8x4 ? Did you set the image mode to tiled ?

Did you use the arrow keys to resize the image correctly ?

Yeah, I know the ??? Type is a bit dodgy but I'm willing to take the risk. I know a big problem with is that it is neither physical nor special but I can easily change that. Plus with my physical special split implementation that doesn't even matter since it's based on the move rather than the type. I'm happy with just changing curse to ghost type as I don't think the type affects the move itself. It just affects what is displayed to the player afaik.

I know that struggle is based on ??? Type which makes it always neutral but in XDs ASM I found a function that changes the type of a move like changing weather ball depending on the weather and changing hiddenpower, etc. So I'm going to make it stay as normal type. The game actually has a list of moves that should still hit ghost types (including he shadow moves which are set to normal type but have a different effectiveness calculation, sketch, mimic and struggle). The only downside is struggle will now be not very effective on rock and steel types which I'm willing to accept since its a rare move anyway. A few other moves use the ??? Type like future sight and beat up but they can receive similar treatment.

I can't think of anywhere else that the ??? Type is used so it should probably work out.

[Edit:] after looking again, it turns out shadow moves are also set to ? Type. This could mean that they go through the regular effectiveness check before checking if the target is a shadow pokemon or not. There are two possible outcomes:

1. The shadow pokemon check overrides everything else and so setting them to any type has no effect.

2. The shadow pokemon check multiplies after the regular type check which would force a new mechanic where moves like shadow fire would be set to fire type and be 4x effective on regular grass pokemon while neutral on shadow grass pokemon. This may be a necessary compromise for the fairy type.

I'll have to test it to know.

Yeah, shadow moves are handled oddly. Back when I was editing moves and etc directly in memory, I noticed shadow moves wouldn't work on non-shadow pokemon. So there is most likely something bypassing regular typing checks. Since all ??? moves are different about how they calculate damages, its possible it has a special role.

And, its pretty rare to find someone that can handle ASM ! Are you using IDA or just a regular disassembler / hex editor ? Does Pokemon xD still have symbols left in its binaries ?

Also, just by curiosity, how did you proceed to find the type effectiveness table ? I've been struggling for a while to find it for Pokemon Mystery Dungeon, and I'd assume my method isn't very good !

Also, I don't know if it can be of any use to you, but I found the old notes I wrote on how the game works in memory at runtime. It contains mainly memory locations and data structures, along with observations on how the game deals with several things :

https://www.dropbox.com/s/qx8zah411t6dbvt/PPDX_MemoryDataStructureInfo.txt?dl=0

Link to comment
Share on other sites

What kind of garbage?

Did you set the palette offset to the offset indicated in the header ? Have you set the palette's format to 2 bytes per color ?

Did you change the tiling of the image to 8x4 ? Did you set the image mode to tiled ?

Did you use the arrow keys to resize the image correctly ?

Yeah, shadow moves are handled oddly. Back when I was editing moves and etc directly in memory, I noticed shadow moves wouldn't work on non-shadow pokemon. So there is most likely something bypassing regular typing checks. Since all ??? moves are different about how they calculate damages, its possible it has a special role.

And, its pretty rare to find someone that can handle ASM ! Are you using IDA or just a regular disassembler / hex editor ? Does Pokemon xD still have symbols left in its binaries ?

Also, just by curiosity, how did you proceed to find the type effectiveness table ? I've been struggling for a while to find it for Pokemon Mystery Dungeon, and I'd assume my method isn't very good !

Also, I don't know if it can be of any use to you, but I found the old notes I wrote on how the game works in memory at runtime. It contains mainly memory locations and data structures, along with observations on how the game deals with several things :

https://www.dropbox.com/s/qx8zah411t6dbvt/PPDX_MemoryDataStructureInfo.txt?dl=0

I'm pretty sure I set everything correctly. I even tried it with bulbasaur and poochyena like in your images and cross-checked the settings but I kept getting random pixels. I'll give it another go though.

Oh man, I wish I'd had your notes before I started. You figured out quite a lot before I did. All I had was HxD so it took me ages. I've been trying to find some memory offsets to help poke around so this will definitely come in handy, thanks.

I've understood the concept behind ASM for a while but never really tried it myself but I was looking around smashboards since melee hacking has a bit of a headstart on pokemon colo/xd. I found a tutorial on hacking using Dolphin's debug mode and its been very useful. I'm mainly going by programming experience, common sense and the strategic placement of breakpoints in the debugger. I'm still a bit of a noob so I'm not 100% sure I'm correct but I don't believe xD has symbols (if that means what I think it means). On dolphin the debugger just names the function by their memory addresses.

At first I assumed the effectiveness table would work like it does in the gen III gba games but I was wrong so I checked some gen V threads and turns out its actually very similar to gen V, i.e. every type combination is listed. From your notes, it looks like you noticed that the game refers to each string using a unique ID number. I found the ID for "NORMAL" and searched for the ID number in HxD and this led me straight to the type table. Not sure if mystery dungeon has a similar system, but being able to search for strings is extremely convenient since they can lead you directly to what you're looking for.

Here's a picture:

types.rar

The effectiveness values in xD are 0x3F,0x41,0x42 and 0x43 (don't know why they chose those particular numbers) but in black & white 2 they're apparently 0x0,0x2,0x4 and 0x8 with 4 being neutral, 2 (4 x 0.5) is 0.5x damage, etc.

Good luck ;)

oh and I never had any trouble using shadow moves on regular pokemon, strange... Also when I edited the function that changes a move's type so that all moves retain their original typing, future sight still did neutral damage, regardless of what type I changed it to (I assume due to the move's effect itself). It seems it only changes to ? type so it doesn't gain STAB.

[EDIT] : So it turns out I was using the textures from colosseum and only just clocked that you might have been using the xD ones. Just switched to the xD ones and it worked perfectly. This is awesome.

types.rar

Edited by StarsMmd
Link to comment
Share on other sites

Oh man, I wish I'd had your notes before I started. You figured out quite a lot before I did. All I had was HxD so it took me ages. I've been trying to find some memory offsets to help poke around so this will definitely come in handy, thanks.

HxD is great ! Though if you're craving for something with a lot of features you might want to give this one a try ! : http://www.hexedit.com/

Its free and its full of awesome features, like auto-parsing based on XML templates ! I use it all the time ! One of the best thing is being able to toggle the display mode to "rainbow" so it colors bytes based on their values ! It makes spotting patterns a breeze ! xD

And the integrated "calculator" is incredibly handy! (You can click on @cursor and the calculator will read and apply endianess on the highlighted value! And you can click go to jump at that address or just make calculations with the value, or even convert to decimal ! xD )

The learning curve is a little steep at first, but the tips of the day and the help are very helpful most of the time ! (And the source code is available on codeplex too !)

And, speaking of all this, I actually made a thread around here a year ago, where I posted a cheat engine based "trainer". Its a lua script that when opened in cheat engine allows you to automatically find the player's party and etc.. And you can view most pokemon's stats with it too. -Gale-of-Darkness-Psy_commando-s-utility-and-research-notes'>http://projectpokemon.org/forums/showthread.php?40367-Pokemon-xD-Gale-of-Darkness-Psy_commando-s-utility-and-research-notes ( Please don't mind my replies in that thread too much, I was in a really bad mood at the time ^^; )

And speaking of that, cheat engine works wonder for finding things in games run on Dolphin ! Its internal debugger, and memory search feature are quite handy. That how I managed to find most of the stuff in my notes, along with Dolphin's own debugger !

I've understood the concept behind ASM for a while but never really tried it myself but I was looking around smashboards since melee hacking has a bit of a headstart on pokemon colo/xd. I found a tutorial on hacking using Dolphin's debug mode and its been very useful. I'm mainly going by programming experience, common sense and the strategic placement of breakpoints in the debugger. I'm still a bit of a noob so I'm not 100% sure I'm correct but I don't believe xD has symbols (if that means what I think it means). On dolphin the debugger just names the function by their memory addresses.

At first I assumed the effectiveness table would work like it does in the gen III gba games but I was wrong so I checked some gen V threads and turns out its actually very similar to gen V, i.e. every type combination is listed. From your notes, it looks like you noticed that the game refers to each string using a unique ID number. I found the ID for "NORMAL" and searched for the ID number in HxD and this led me straight to the type table. Not sure if mystery dungeon has a similar system, but being able to search for strings is extremely convenient since they can lead you directly to what you're looking for.

Here's a picture:

[ATTACH]12325[/ATTACH]

The effectiveness values in xD are 0x3F,0x41,0x42 and 0x43 (don't know why they chose those particular numbers) but in black & white 2 they're apparently 0x0,0x2,0x4 and 0x8 with 4 being neutral, 2 (4 x 0.5) is 0.5x damage, etc.

Good luck ;)

I've got pretty much the same background then xD Well, except I didn't begin with modding smash. And what I meant by symbols is just obfuscated functions and variable names, or maybe even comments.( well I'm not sure if comments could be really called symbols though ) Sometimes those are left in the code, and can be really helpful!

And yeah, common sense helps a lot ! Though, since its a compiler that wrote that assembly code from C or some other language, you can get some pretty illogical things going on xD

And that's a really clever way to cross-reference the type table ! :D I didn't even consider them referring to the string in there ! ^^;

I'll give that a try in mystery dungeon !

And thanks ! :)

oh and I never had any trouble using shadow moves on regular pokemon, strange... Also when I edited the function that changes a move's type so that all moves retain their original typing, future sight still did neutral damage, regardless of what type I changed it to (I assume due to the move's effect itself). It seems it only changes to ? type so it doesn't gain STAB.

There's something you gotta keep in mind with Future Sight though. Its a psychic move, but in the main series game until Gen 5 it would hit any pokemon even dark types neutrally! And it wouldn't get STAB, and etc..

http://bulbapedia.bulbagarden.net/wiki/Future_Sight_%28move%29

So it might affect the results of your tests.

[EDIT] : So it turns out I was using the textures from colosseum and only just clocked that you might have been using the xD ones. Just switched to the xD ones and it worked perfectly. This is awesome.

In retrospect, I guess I should have mentioned I was using files from PXD ^^;

However, there is still a little thing that bothers me with the PXD textures. If you look closely, you'll notice that there are some artifacts on some of the pictures. Like one of Poochyena's ears is garbled, and Bulbasaur has that weird blue blob appearing near its ears.. So I'm guessing there might be a little bit more to this.. Maybe there is a subtlety about how colors are indexed ? :/ The best thing would be finding the exact pixel in the raw data that appears garbled and look at its value.

I'll also try to take a look at other image formats from PXD when I get the chance. Unless they're all the same that is. xD

If you have anything in particular you'd like me to take a look at feel free to mention it !

Link to comment
Share on other sites

Thanks for all the information. It should be a great help.

As for the symbols, I know that Start.dol in xD has random function names scattered around but I don't know how they correspond to the code. Also you'll find that the maps have scripts which have good headers so it's easy to match the script names to the script data itself.

Btw, does TiledGGD have a way to reimport an image after editing it? can't seem to figure it out.

Link to comment
Share on other sites

Thanks for all the information. It should be a great help.

As for the symbols, I know that Start.dol in xD has random function names scattered around but I don't know how they correspond to the code. Also you'll find that the maps have scripts which have good headers so it's easy to match the script names to the script data itself.

No problems !

Scripts ? That's neat ! That would imply some good modding potential ! :D

I'll try to take a look at those too.

Btw, does TiledGGD have a way to reimport an image after editing it? can't seem to figure it out.

Its just a tile viewer. You'll need to write your own code to do this, since its apparently some format developed in-house.

Well.. I'm saying that, but its possible its actually the standard Nintendo texture format used on the gamecube ? I'm not too familiar with the hardware and official formats used with the gamecube. :/

It looks like a pretty simple format though. The hard part might be figuring how to rebuild a valid header from scratch though..

Link to comment
Share on other sites

I haven't looked into them too much but as far as I can tell they're scripts. They have clear "function-like" names and the respective code isn't asm.

Refer to part II in this thread - '>http://projectpokemon.org/forums/showthread.php?46260-Stars-list-of-things-which-still-need-research-in-Pokemon-Colosseum-and-Pokemon-xD. I think I also attached some images in the second research images rar file.

As for the textures I guess I'll try comparing them with known gamecube formats but I could probably have a go at writing my own code if it comes to it. TiledGGD has revealed a lot about the format already and I may be able to reuse the original file header if the new image is similar enough. I'm still writing my xD hacking tools so that won't be a priority for a while though.

I've just finished writing some code that can automatically look up string IDs which will be very helpful for data-mining. The string IDs pop up in so many different data structures and are by far the easiest way to identify the data.

Link to comment
Share on other sites

In retrospect, I guess I should have mentioned I was using files from PXD ^^;

However, there is still a little thing that bothers me with the PXD textures. If you look closely, you'll notice that there are some artifacts on some of the pictures. Like one of Poochyena's ears is garbled, and Bulbasaur has that weird blue blob appearing near its ears.. So I'm guessing there might be a little bit more to this.. Maybe there is a subtlety about how colors are indexed ? :/ The best thing would be finding the exact pixel in the raw data that appears garbled and look at its value.

I'll also try to take a look at other image formats from PXD when I get the chance. Unless they're all the same that is. xD

If you have anything in particular you'd like me to take a look at feel free to mention it !

Had a look at the textures again and if you include the alpha value in TiledGGD the images are perfect. The garbled pixels you mentioned are actually transparent.

The results:

xd textures with alpha.png

583dd0435ab8d_xdtextureswithalpha.png.cf

Link to comment
Share on other sites

I haven't looked into them too much but as far as I can tell they're scripts. They have clear "function-like" names and the respective code isn't asm.

Refer to part II in this thread - '>http://projectpokemon.org/forums/showthread.php?46260-Stars-list-of-things-which-still-need-research-in-Pokemon-Colosseum-and-Pokemon-xD. I think I also attached some images in the second research images rar file.

As for the textures I guess I'll try comparing them with known gamecube formats but I could probably have a go at writing my own code if it comes to it. TiledGGD has revealed a lot about the format already and I may be able to reuse the original file header if the new image is similar enough. I'm still writing my xD hacking tools so that won't be a priority for a while though.

I've just finished writing some code that can automatically look up string IDs which will be very helpful for data-mining. The string IDs pop up in so many different data structures and are by far the easiest way to identify the data.

Alright.

And great idea !

Had a look at the textures again and if you include the alpha value in TiledGGD the images are perfect. The garbled pixels you mentioned are actually transparent.

The results:

Nice ! :D

I suspected it might have had something to do with transparency, but I couldn't get Tileggd to display it properly. xD

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...