Jump to content

StarsMmd

Innovator
  • Posts

    710
  • Joined

  • Days Won

    3

Posts posted by StarsMmd

  1. 5 hours ago, RedZone said:

    Bingo, it looks like it worked. Thank you Stars! 

    By the way, one other issue I am having trouble with is copying my save file on Dolphin emulator to the PokeXG on the console(I am using Nintendont and have XG on Wii). I did enable "MemCopy Enabler" as well as "Make Game Save Copyable" and exported a .gci save file on Dolphin, however, after copying the .gci to the console, PokeXG prompts the message: "The Memory Card in Slot A does not contain Story Mode saved data to continue from." If you or anyone here has successfully transferred their Dolphin save to Console memory card, please let me know if it's possible. Much appreciated.  

    I believe the issue is that the wii doesn't use .gci saves. You have to convert it from .gci to the proper form. I normally follow this tutorial: Convert Dolphin saves for Wii

  2. On 7 January 2017 at 1:40 PM, KFCutman said:

    And one more thing (sorry to be a nuisance), but is there a list of Shadow Pokemon and Pokespot Pokemon available that's been compiled yet?

     

    Pokespot Pokemon intrigue me the most, I've seen playthroughs where people get legends like Raikou from them.

    also omg shiny metang is cool

    Don't worry it's no trouble at all. Feel free to ask as much as you like. I had a lot of deadlines this past week so I must apologise for the late response. Here is the current list: XG Obtainable Pokemon List.txt (Spoilers of course)

  3. On 7 January 2017 at 7:02 PM, 4Ply said:

    Is there anyway to apply the physical and special spit to Pokemon Colosseum?

    As of right now I don't think there is a way. I know how to do it but I haven't done it yet because I'm mainly focusing on "XD" for now. 

    It would take a fair bit of time and the game would need rebalancing afterwards too. For example, imagine a really strong end game trainer with a choice band metagross that uses hyperbeam. Before the split it does devastating damage. After the split it's a really bad set.

    If there is enough demand for this regardless of the balancing then I will spend some time on it sooner but I'm planning to do it eventually either way though.

  4. On 8 January 2017 at 8:56 PM, Mkatz1 said:

    Is there anyway to randomize just the Pokemon, not the moves?

     

    The randomiser tool can randomise just the pokemon if you please. Alternatively if you wanted to use patches that I've prerandomised (e.g. if you don't have access to a mac since the randomiser tool is only for OSX) then you can find some in This thread.

    On 12 January 2017 at 11:36 PM, JBeens said:

    can you explain how to reimport the Start.dol and common.fsys files into the colosseum.iso? 

    In the same thread as I linked above there is a link to a youtube video explaining the whole process.

  5. On 13 January 2017 at 6:55 AM, RedZone said:

    Hey there. First of all, major props to StarsMmd. Your project has made one of my childhood games more memorable than ever. As a fellow X D fan, I thank you for your hard work.

    Adding to Aurorans' question, are there Action Replay codes for the new Shadow moves you have made(i.e. Gengar's Shadow Soul). I've been experimenting with GC Forever site codes here and there. There's a section for moves that can substitute the Move Tutor's moves, so I tinkered around to substitute Shadow moves in (i.e. 016B - Shadow Fire 016C - Shadow Bolt 016D). I wondering if there are similar codes for Shadow Soul, Creep, Star, etc. Just very curious on how you pulled it off to look so crisp.

    Anyways, keep up the awesome work!

    Gengar's Shdw Soul.png

    Shadow Move Tutor.png

    Shdw Houndour using Shdw Fire.png

    I appreciate the kinds words :)

    All the new shadow moves replace the slots of old ones. So you should be able to use the same shadow move AR codes as you've been doing by the looks of the images. The shadow moves IDs range from 0x164 - 0x176 I believe so the ones you are looking for should be one of those.

  6. 20 hours ago, DeoxysInSpace said:

    The .iso is 1.35 GB and the .ups is 228 KB.

     

    I'll try again in the meantime. Also, here's what I did, I clicked on apply patch to existing file in Tsukuyomi, I browsed for the ups file patch to apply, then browsed for target file to apply patch to, and clicked apply patch. 

    I just tried it myself and got the same problem actually. I'll start again and upload a new patch sorry about that. :)

     

    Edit: nevermind it just took a bit longer than I expected but it worked.

    I don't know if it's my patching software but the patches I make don't work well with tsukuyomi. So I'd try NUPS again and just wait patiently. Your computer might just be running a bit slowly.

  7. On 1 October 2016 at 11:33 AM, Made_s said:

    DO you know how to change the file sizes in the iso so you can add bigger files ?

    yeah there's a file called something like game.toc which specifies the filenames, offsets and filesizes of all the files in the iso. .toc is a well documented format you can easily find the spec online but if not I can explain it to you. It would be trivial to write some code to manipulate the filesizes. I think as long as the .toc file matches it should be fine.

    On 19 September 2016 at 9:15 PM, Made_s said:

    (My guess is that these are particles that are present on the model since I found this in Articuno's file, which probably has some kind of ice particles on it. Do you know whether it does?)

     

    Yeah articuno has some icy sparkles around it.

    On 2 October 2016 at 8:49 PM, blackbeard2 said:

    Is the Battle Revolution model/animation format the same? Would importing models (of the gen 4 Pokemon) from there be possible?

    From what I saw inspecting the binary data by eye the two formats are very different. If you look at bulbasaur from X D and bulbasaur from PBR the data doesn't share any similarities as far as I could tell. Importing them to Colo/XD would be a case of converting from one format to the other.

    On 2 October 2016 at 9:07 PM, Made_s said:

    I'm not sure, I know how most of the xD format works now but I'd have to look into the Battle revolution format to find out how similar they are, I know they don't have the same structure but if they're not too different I could probably import models from there with a bit of data shifting.(PBR might also use shaders for textures/surfaces which might make the imported models look very different in that aspect)

    The biggest problem is the animation data, I still don't know how it works in xD.

    Then there are particles contained in model files. I could just leave them out but models like Charizard would probably look weird.

    It's very possible to do it, but there are things that need to be done/found out first.

    Someone made a program that converts PBR models to .obj a while back. I managed to track down the code. I could send it to you if you're interested.

    On 17 October 2016 at 7:55 PM, shinypikachu23 said:

    And another thing that kinda just popped up on my game.

    Recently I've been using this save-checker my friend recommended to me (he was using it himself to raise all his XG mons perfectly with perfect IVs and EVs), and during this second playthrough I figured why not do that myself. So I've been doing it, and all of a sudden, my Ludicolo's turned into...I think it's a Bad Egg. I can't use her in battle, she doesn't gain experience from Exp. Share, and I can't get rid of Surf. I thought it was an issue with the wrong layouts for EVs, but they're still all right. It had an "egg" indication checked, but I unchecked it and put the file back in. Still Bad Egg. To anyone who would know and still reads this, how would I fix such a thing? I don't want to break the game with this, I just wanted an easier time...

    Sorry man, not sure how to help with that. You must have accidentally ticked something illegal in the save editor. You could maybe try catching a wild pokemon and using the editor to change it's stats in order to recreate the ludicolo?

  8. On 3 August 2016 at 3:07 PM, Justice-chaos said:

    Hey, I seem to be having a problem patching this game. I am using NUPS as stated but when I try to patch it, it says " error opening file (where I put the file)/pokemon xD. Iso. Think you can help?

    That error usually means that the ISO you're using is different to the one I used. They have to be identical. I used the first one I could find on google. Make sure it's the NTSC (US) version and that it hasn't been scrubbed or anything. 

    On 20 December 2016 at 7:58 PM, smashking said:

     

    THIS IS SO GREAT THANK YOU. I love your work, and I literally made an account just to thank you!

    Is the code you used to make this open source?

    Or is the game patch itself open source? 

    I'd love a resource I could use to read through how you made this so that I could contribute and learn more about gamecube hacking. 

     

    Thanks again either way. Cheers! 

     

    Thank you for the support! There are some tutorials on these forums on how to begin hacking Colo/XD. They're all hex editing but would recommend taking a look if you've done this kind of stuff before. I also have the programs I wrote to automate all of this stuff available but it's all written in the swift programming langauge which isn't too commonly used but I can hook you up if you'd like to give it a look. :)

  9. I've just finished this hack, and it was pretty darn good, great job.

    I want to do a new playthrough, with "improvements" of my own, so i want to ask you 2 questions:

    1. How do you edit the abilities/base stats of a Pokemon?

    2. Any way to edit the Shadow Pokemon you can get?

    Here's my tutorial: -hacking-tutorial-part-1-File-decompression-recompression'>Pokemon colo/xd hacking tutorial

    However, it's rather long tedious. I am currently working on hack tools though. Should be a few weeks.

  10. At the behest of @greenDarkness I have created a patch for Pokemon :XD:: Gale of Darkness which splits the moves between physical and special as in gen 4. Everything else has been left unchanged as much as possible. Shadow moves will keep the same category as in the original and regular moves are based on their categories in the later games.

    Apply the patch to a clean ISO of Pokemon :XD:: Gale of Darkness. If tsukuyomi doesn't work, try NUPS.

    Enjoy!

    :XD:_phys_spec_split.ups

    • Like 2
  11. Does this mean we can change the rental Pokémon to something that doesn't suck?

    I haven't played much battle revolution myself but I doubt the rental pokemon are affected by save data. I took a look at the game files a few months ago and I made a start on researching the actual game data which probably includes rental pokemon somewhere. It's all straightforward enough to edit but it's just been a low priority for me since I'm focusing on :XD::GoD hacking for now.

  12. Thank you! Something I've noticed... Pokemon :XD: Values in CE(from what I've seen) are always 0x10000 addresses off. I finished it as well. I'll call it a BETA for right now because it still has a kink or two. For instance, the graphic part of the pokemon is not always changed. Thank you for all the help though!

    The values I gave you are for the emulated RAM for the gamecube whereas cheat engine looks at the RAM for Dolphin itself so I'd assume the first 0x10000 are memory addresses for dolphin's processes. It's a good value to know to make it easy to translate between the two. Can't wait to see the results :)

  13. So I've got savefile I was researching decrypted by StarsMmd, and here's what I've got already.

     

    [b][size=4]000391-39B[/size][/b] - First savefile slot's name.[b][size=4]0003B1-3BC[/size][/b] - Whatever was set as birth date in MM/DD format. The middle bytes (3B5-3B8) are empty, for some reason.[b][size=4]0003C9-3E2[/size][/b] - Ditto, but for self-introduction

     

    Interestingly enough, HxD reads all of this fine (ie. it doesn't display as random characters).

    Now, here are values for Pokemon.

    First comes... Bulbasaur! Box 1, row 1, column 1.

     

    [b][size=4]000980-981[/size][/b] - Pokémon's index number.[size=4][b]000982-983[/size][/b] - Held item's index number.[size=4][b]000986-987[/size][/b] - OT's number.[size=4][b]0009A0-9AD[/size][/b] - OT's name, in whatever hexadecimal replacement system game uses (HxD displays random characters); in this case it's 6 letters long. I don't remember what was the limit on player's name in Generation IV.[size=4][b]0009C0-9C7[/size][/b] - Moveset.[size=4][b]0009C8-9CB[/size][/b] - Moves' PP.[size=4][b]0009E0-9F3[/size][/b] - Nickname, the same system as OT's name. Note that BULBASAUR is 9 letters, so terminator byte appears early. There's a whooping 12 of 00 bytes after the FFFF bytes which end the nickname. I am not sure what they all do, since nickname at best is going to be 2 bytes longer...

     

    Now here's where it gets a bit problematic.

    NaiMRr7.png

    (The red 20s are my custom edits/markings to remind me where are the Pokemon's numbers)

    This is Charizard's moveset. Fire Blast, Air Slash, Dragon Pulse and Blast Burn... With the PP. The problem's that the ID for species and item is stored much later. Like, very close to next Pokemon's Squirtle. (Yes they all apparently hold Focus Sash/0113; except for Blastoise with Leftovers/00EA). Similar thing happens with Charmander (007E 0035 0053 00F6) but not Charmeleon (01A8 0151 01A5 009D).

    This quirk seems to repeat for Ivysaur (014B 004B 0016 0026)--but not Bulbasaur or Venusaur (004C 00BC 0159 00CA and 004C 00BC 019C 0152)-- and Blastoise (0038 003A 01AE 0134)--but not Squirtle or Wartortle (0038 003A 014A 0039 and 0191 0082 0118 002C). This seems to cause the distance between two bytes deciding what species is in the specified place to vary (while Tux's information says all Pokemon are 140 bytes long).

    Also, I haven't checked too many Pokémon in detail, but it seems that PBR recognizes Deoxys' Forme (and probably other Pokémon with more than one form) by something else than index number (if I've been reading the data correctly, all of them are using 0182, which is 386 in hexadecimal and therefore regular Forme's index number).

    For some of the things, I might need to learn how to decrypt and encrypt savefile, so I can change things and see what I've just did (

    ), since I don't think I'll be able to find certain things otherwise (eg. Poké Ball type or Trainer Memo data, if it stores these at all).

    Do we have any kind of online chat for this kind of thing? Or should I just post here, hoping that someone helps me with this? (Cause as you can see in the spoiler part above, there are some curveballs that I can't explain.)

    It's good to see you've made some progress! I don't know if you're doing this already but I have some advice from trying to reverse engineer pokemon :XD: data. What I'd do in your situation is to copy the save data, delete the first 0x980 bytes ( I think that's what you said was the start of the pokemon data) and then change the bytes per row in HxD to 140. By doing this, each row in HxD will represent one pokemon's data. That will make it a lot easier to compare and contrast between them. It would also make it check if the 2 bytes issue is happening and how often it happens.

    Also, I'd still recommend posting on the forums because it's a good way to archive the information for anyone who may stumble across it in the future. It also means other people can jump in and help. I got a lot of great help from so many people with so many different skillsets.

  14. I think I've found something that can help. So at RAM offset 0x804eb910 the game stores the id of the trainer you are currently battling. This value is set just before the battle starts and is reset to 0 straight after the battle ends. However, the code I got the offset from calculates the offset rather than using a predetermined offset. From the few tests I've done it always calculates the same offset but it's not 100% confirmed so you'll need to double check that it's the same offset for you. It looks promising though.

    Let me know how it goes!

  15. I'll get on to that in a little while. Something to ask though, considering you have a symbol map for the game... Is there a way to check if a Pokemon battle is underway? I have a part of my code that allows pokemon to only be randomly generated an X number of times so a battle can end. But, I want to reset that number to 0 the very second a pokemon battle ends or begins. If you have an address or reference of some kind, I would like to use it.

    EDIT: I found the Glitch fix address and included it in the trainer. Gamecube stores values differently than a normal computer. A value stored as 0x38600000 is stored as 0x00006038 in a computer's memory. CE was reporting back what it would typically be in a computer, so I searched the value 0x00006038 instead and I found the address. In CE, the address is 0x8013416C

    Unfortunately I haven't found a function like that yet. Glad you found the address though and yeah gamecube is in big endian didn't realise cheat engine was searching in little endian but it's good information for future reference.

×
×
  • Create New...