Jump to content

suloku

Innovator
  • Posts

    742
  • Joined

  • Last visited

  • Days Won

    26

Everything posted by suloku

  1. Thank you, let's see if I get the time to get a propper medal editor, all the info has gathered. I'm worried about event triggering when adding the medals to the save, but it'll probably work out just like kaphotics AR code... ps: how come memory offsets for B2 and W2 are different? Shouldn't they be almost exactly identical?
  2. Ok, finally I got all the info about how pokédex handles forms: * Male/female forms are ignored in pokédex, i.e. there's no pokédex entry for male and female deerling, while there is for every other pokémon without alternate forms. This is how this is handled: - If the first pokémon seen/catched is female, the flag for female (or female *) is set, as it would with any other pokémon. The correspondig form-dex flag is also set. - When user changes the displayed pokédex entry to a different form, the generic displayed flag is set to "male", regardless the male form was actually encountered or not; even for flabebé (which doesn't have a male form) the male displayed flag is set (or shiny male if the selected displayed form is shiny). * Pikachu in ORAS is a special case: form-dex flags for normal pikachu will be set regardless the gender, and the formdex display flag will be set too, but the generic display flags will be used (as it has male and female forms). This normal-pikachu flag for form-dex is unset if the only pikachu unlocked is cosplay pikachu (but the encountered female and displayed female flags are set for cosplay pikachu). * In a similar situation as picachu, encountering/capturing a mega pokemon (including groudon and kyogre) unlocks the corresponding flag in form-dex for the non-mega form. * Pokémon with battle-only forms (castform/cherrim/darmanitan/meloetta/aegislash) unlock both forms in pokédex even if the other form has not been seen when encountered in battle, traded or withdrawn from bank. Xerneas, even though also has a battle-only form, does only unlock "relaxed form" in pokédex when traded or received from bank (I checked both, encountering in battle does obviously unlock it, since xerneas will be in that form in battle). * Any other pokémon with forms only get their current form added to form-dex when traded or withdrawn from bank. * Pokémon with forms that can't be stored in pc boxes (shaymin sky form, black and white kyurem, furfrown hairstyles, mega forms, primal froms and xerneas active form) can only be added to form-dex by triggering the transformation in-game. I guess this is all regarding form dex. On another topic, is there any info about the two unknown u32 values that appear in http://projectpokemon.org/wiki/Pok%C3%A9mon_XY_Save_File_Structure? 0x1AA40 - u32 ??? 0? 0x1AA44 - Spinda Spot Pattern (First EC encountered) 0x1AA48 - u32 ??? 0x1AA4C - 0x54 Bitflags - Obtained specimen from Previous Console Era (pre Kalos Game Origin, 1-649) By the way, in my save spinda patter is at 1AA48, not 1AA44, is the info wrong? There's also a similar unknown u32 for ORAS. I'm just curious.
  3. Nice finding with the medals. Are you sure there's no way in any of pokéstock tools to edit the medals? Maybe it is untranslated stuff. Anyway, I don't know anything about dlc or online content for gens prior to VI since I stopped playing at III and played them last year. If you provide me a savegame before and after using the cheat code, with information about those medals, what they are for and how to see the medal collection in-game I'll try to look where are they stored. They are probably bitflags, so an editor could be possible (I would need the medal names and such though). EDIT: I was checking bulbapedia, how many hint medals are there? Is hint medal a medal or an object? eDIT 2: I've looked a little in the forums: http://projectpokemon.org/forums/showthread.php?24541-B2-W2-AR-Codes&p=164781&viewfull=1#post164781 EDIT 3: I've looked at the pockestock thread, seems like medal editing didn't made it into pockestock, but maybe it's just me not knowing japanesse? EDIT 4: Medal data location is already known: 25300 25797 2579A 25F88 Medal data I would just need to see how they are stored, probably something like flag and date... but I think using kaphotics AR code is better since it seems to make the game put all the data for the medals, unless if manually editing the medal data triggers the same in-game events.
  4. OK, here's my current form-dex map: form-dex is composed of 4 sub-dexes, each 0x18 for Pokémon XY and 0x26 for Pokémon ORAS * Alternate forms encountered: 1 bit is set for each form unlocked, mega evolutions have two forms (non-mega and mega) * Shiny alternate form encountered: 1 bit is set for each form unlocked * Displayed form: * Displayed shiny form: if a bit is set here, it should be unset in "displayed form" note: for a form to be displayed, the corresponding form encountered bit must be set. note 2: any mega pokémon needs the non-mega bit set as it would be impossible to encounter a mega-evolved pokémon without seeing the non-mega evolved form. Unknown (28) Deoxys (4) Shaymin (2) Giratina (2) Rotom (6) Shellos (2) Gastrodon (2) Burmy (3) Wormadan (3) Castform (4) Cherrim (2) Deerling (4) Sawsbuck (4) Meloetta (2) Darmanitan (2) Basculin (2) Kyurem (3) Keldeo (2) Thundurus (2) Tornadus (2) Landorus (2) Vivillion (20) Flabebé (5) Floette (6) Florges (5) Pumkaboo (4) Gourgeist (4) Aegislash (2) Xerneas (2) Venusaur (2) --> X/Y Mega pokémon Charizard (3) Blastoise (2) Alakazam (2) Gengar (2) Kangaskhan (2) Pinsir (2) Gyarados (2) Aerodactyl (2) Mewtwo (3) Ampharos (2) Scizor (2) Heracross (2) Houndoom (2) Tyranitar (2) Blaziken (2) Mawile (2) Aggron (2) Medicham (2) Manectric (2) Banette (2) Absol (2) Latias (2) Latios (2) Garchomp (2) Lucario (2) Abomasnow (2) Pikachu (regardless the gender) --> Start of OR/AS forms 5 unknown bits --> (unused cosplay pikachu formes probably?) Cosplay Pikachu (no costume) Hoopa (2) Beedrill (2) <-- OR/AS Mega pokemon Pidgeot (2) Slowbro (2) Steelix (2) Sceptile (2) Swampert (2) Sableye (2) Sharpedo (2) Camerupt (2) Altaria (2) Glalie (2) Salamence (2) Metagross (2) Rayquaza (2) Lopunny (2) Gallade (2) Audino (2) Diancie (2) Kyogre (2) Groudon (2) Arceus (18) Genesect (5) Furfrow (10) 1 unused bit 4 unused bytes (32 bits) As you can see, it seems like 5 bits were intended to be used for cosplay pikachu, but they decided to not use them (I've tried setting them manually, but they won't appear in the pokedex). I don't think they are used for something else and their location is very suspicious: there are 5 cosplay pikachu costumes, and these 5 bits are exactly between the normal pikachu bit and the no-costume cosplay pikachu bit. Also, after diancie I have 4 unmapeed bits which I don't know what they are for yet. I know they must be used for something, since my ORAS savegame (never used pkhex with that savegame) has one of these 4 bits set, but unless I'm missing some forms I'm unaware off, I don't know what that might be. Any clues? I've been using bulbapedia for the forms list, but maybe they are missing some forms? EDIT: forgot to mention forms follow the same index as in pokémon structures. For mega evolutions, first comes the normal form, then the mega form. I don't know why they added this extra flag, I haven't checked how the other pokédex entries are handled at all. I need to check if this "normal form" flag is set when encountered or when owned. By the way, I though that if I set those bits I'm missing to the displayed shiny flags I'll be able to know what pokémon are those for. EDIT2: I've just realized primal groudon and primal kyogre aren't listed as mega pokémon, they're probably that 4 bits I'm missing. EDIT3: I was right, the structure is now complete. Now what's left is to check how form-dex and normal dex are flagged toguether. I've updated the beggining of the post. EDIT4: from what I can see, the generic male/female/shiny male/shiny female/ are normally set, but ignored when displaying the pokédex (there's no male/fema entries for deerling or wormadan evolutionary lines, only formes). I still need to see how the generic displayed flag behaves when selecting a different form.
  5. That was some refactoring there. Thanks for the pokedex autofill toogle, it will probable be very useful for savegame purists since I think receiving the pokemon from daycare may also work like a trade (I'll check later for curosity) since this is known to also fill the missing pokedex entries that pokémon should have. I'm finishing mapping mega evolutions and ORAs exclusive forms. I was puzzled for a while until I found out latios/latias can be mega evolved in X/Y, I was missing some flags until I realized that they were for latios/latias and its mega form.
  6. Hi, I've been researching how the form flags work, in fact I've already mapped the flags for forms that can be stored in the pc boxes; I still need to map the formes that can't be deposited (mega evolutions will be a pain, but well, I'll eventually get them). Fortunately it would seem gamefreak just adds new data instead of rebuilding the strucuture, which will reduce the needed research. Some things I noticed with latest PKHex commit: - All genderless pokémon are set to shiny form instead of normal form (both encountered and displayed). - Cosplay pikachu is registered in pokédex as normal female pikachu --> this might be correct, I need to test, because I think for pokemon with forms the games ignores the standard flags and - Dexnav (encounter) level should be set to 1 if the pokemon was not previously owned. Also, for pokémon with formes, I guess the displayed flags are different than how its currently handled. I haven't looked at how these flags work yet. For research purposes, a pkhex build that does not modify pokedex data would be very handy, since I can use official pokémon bank to update the pokédex and and hex comparing would be a lot more easier since pokemon bank modifies very few data. Will commenting all setPokedex() calls achieve this? Also, @Kaphotics, is there interest in adding all displayed form possibilities? Arceus has 18...and I need to check if there's 18 more for shiny version. As you can see I'm very interested in getting this right, but I don't have the skills to add it myself to pkhex. UPDATE: I'm getting how this works, seems like pokémon with forms have a full pokédex for themselves, and this might be what the game actually looks at even though the normal entries (male/female/shiny male/shiny female) are also set the first time a pokemon with forms is got. Pokémon with mega evolution seem to have 2 flags: 1 for the pokemon itself (regardless of shininess/gender) and one for the mega evolution. I still need to accurately define the offsets, but it seems the forms pokedex goes like this for XY (ORAS is just has more data for additional forms): * Alternate forms (0x18): 1 bit is set for each form unlocked, mega evolutions have two forms for some reason (normal and mega) * Shiny alternate forms (0x18): 1 bit is set for each form unlocked * Displayed form (0x18): 1 bit is set for the selected display form. I need to see how this is handled regarding the male/female/shiny male/shiny female displayed flags. * Displayed shiny form (0x18): UPDATE2: There's actually 4 form dexes (encountered form, encountered shiny form, displayed flag for normal forms, displayed flag for shiny forms), each 0x18; for ORAS each is 0x26 For cosplay pikachu, seems like pokédex only has 2 forms: cosplay form (black tail) and normal female pikachu (yellow tail).
  7. There's a known problem with pokédex in latest stable public release. It is already fixed for next release. With latest stable I get several pokédex entries as being shiny, bu tit is just the "displayed form" that is wrongly set, the actual pokédex entries are fine (if you try to change the displayed form, you'll see you don't have any shiny and that you can't select that form anymore). EDIT: On second thought, probably pkhex has trouble with the "display" flags for pokémon with forms, such as floette, since it doesn't use the standard "male/female/shiny male/shiny female" approach. I guess I'll research that too.
  8. Seems like it might be possible: My current computer isn't fast enough to run pokemon colosseum, but I may give a try later, I really hope it is possible to emulate gamecube-ereader connection.
  9. Seems I'm late, here's my spanish save: https://www.dropbox.com/s/hj5zgl11crzw0xu/01-GC6P-pokemon_colosseum_hoho.gci?dl=0 probably gamefaqs doesn't allow hotlinking. Since you said the game let's you save before battling the trainer with the shadow pokemon, would it be too much to ask for a save before each of this e-reader shadow pokemon battles? This way one can edit the save to change TID, SID, etc. so they are generated in-game under the desired trainer. I'd prefer that over editing the pokémon to change OT data. I may try the emulated gba connection, how does this exactly work? Does the e-reader even start in gba or you need to connect with SELECT+START? Where I'm trying to get is if we only need a savegame with the desired e-card read and the e-reader rom, it will probably work.
  10. This save is mine: http://db.gamefaqs.com/console/gamecube/save/pokemon_colosseum_eu_a.gci 100% completed and legit, spanish language. You can't play story mode in any other language outside the one it was started on, but you can use colosseum save editor to change the save's language setting, which I guess would allow you to set colosseum to other languages. By the way, great research. Can you save between the card is read and the battle is started? Or can you repeat those battles without scanning the cards? I should try this with dolphin, the recent changes to GBA connectivity allow to receive jirachi and transfer pokemon, maybe it will work with e-reader too. ps: the other Eur save at gamefaqs is just a converted USA savegame, it won't correctly work with PAL colosseum.
  11. I've been trying to figure out how the game determines if the "trainer" has already received the Pokémon, but I can't seem to sort it out. I.e: glalie/steelix have a u32 with the following content: 0x01000100 (direct hex view). This sets the first byte of pokemon link block (ID 0x30) to 0x02. Setting this byte to 0x00 allows to receive glalie/steelix once more. I've tried setting that u32 to some random values and the modified byte in the savegame seems to change locations and values, but I can't find a pattern. Setting glalie's value to 0xFFFFFFFF makes it so pokemon link does not import anything. I though this was something like u16 ID, u16 slot but as I said, I can't find any pattern. Since nintendo doesn't seem to care much about this kind of distribution, it's not that important, but I'd like to know how it works since it has me puzzled. Any help would be appreciated. Also, if someone knows how to contact SciresM, I would like to ask him for his WC6 editor, to fix the gender values and to use the source to make a pokemon link editor since most of the structure is shared.
  12. IMPORTANT NOTE: the savegames in the 3DS sd card are ENCRYPTED. To make any modifications you need the unencrypted savegame (or use the 3DS version of the editor). To do either, you need to run HOMEBREW on your 3DS. As of February 13th 2017 the recomended method is SoundHax to run homebrew and JKSavemanager to get the unencrypted savegames, you will find plenty tutorials on youtube/other specialized forums that focus on homebrew. If you are on firmware 11.2 or below you may be interested in reading about installing a Custom Firmware (CFW) or arm9 Loader Hax (a9lh) before updating to 11.3 (again, there are plenty tutorials out there). For your own sake, please make sure you are following an update tutorial like https://3ds.guide/ Links: UPDATES: This editor allows to modify current orbs (the that can be used to buy), refill clouds, items, upgrade levels and unlock the special gen IV extensions that can only be unlocked inserting the gen IV cartridges on the 3DS. Also allows to modify the "current orb count for reward", which is the value that stores how many orbs were gathered since the last reward was received: Retrieval Extension: Obtain a total of 200 Dream Orbs Eureka Extension A (Tornadus): Obtain a total of 400 Dream Orbs Dowsing Extension: Obtain a total of 700 Dream Orbs, catch Tornadus Eureka Extension B (Thundurus): Obtain a total of 1500 Dream Orbs, catch Tornadus Eureka Extension G (Landorus): Obtain a total of 3000 Dream Orbs, catch Thundurus Press the "Give next reward" button to set it to a value that will trigger the next story event. Note: you may have to enter and exit the search screen each time to receive the all the rewards, since only one is given at a time. After the player catches Tornadus, Thundurs or Landorus, the "current orb count for reward" is reset to 0. This means that currently, to unlock all game content, one has to do the following: Set "current orb count for reward" to at least 400 Enter the game, Retrieval and Eureka A extensions are received Catch Tornadus, "current orb count for reward" is reset to 0. Set "current orb count for reward" to at least 1500 Enter the game, Dowsing and Eureka B extensions are received Catch Thundurus, "current orb count for reward" is reset to 0. Set "current orb count for reward" to at least 3000 Enter the game, Eureka G extensions is received After catching Landorus, the credits will roll and all left game content will be unlocked (simulator A, B and G will be received and gen IV extensions, if unlocked, will be available). It also allows to unlock the geneartion IV extensions, which can normally only be unlocked by inserting a gen IV DS cartridge in the 3DS console, and to re-catch those legendaries so they can be transfered to another Black2/White2 cartridge. Todo list: Check whether or not pokemon are randomly generated when transfered to Black2/White2 --> checked, pokémon are randomly generated in BW2, independently of Dream Radar transfered data. Find power up data --> found Find in-game item data --> found Find current orb color data (dream pokemon change depending on it) --> found where it might be, but since it looks more complicated than I thought and you can just play once, get a single orb and get that color I won't look more into it. Find highscore data (probably will only be editable in PC save editor) --> found Maybe: find transferable items/pokemon (editable in PC save editor depending on how they are stored) Maybe: find tornadus/thundurs/landorus catched flags to be able to re-catch (might be game-breaking) --> probably found, needs further testing (game breaks if all flags enabled in a new savefile). Also found highscore data/game finished flag in the proces
  13. OT gender is also checked, see if that's it.
  14. The regi dolls wondercard was made by morfeo, the codes work for ruby, shaphire and emerald: http://pokemon-stats.com/foros/viewtopic.php?f=3&t=35198&sid=0e6b414805494776a6adce7fc0ac32fa There's also one for a custom berry. Wouldn't it be possible to use the codes in each version and extract the wondercard? Then see how it works and edit it to give other decorations, no need to do the scripts from scratch. Or is there a reason why this wouldn't work?
  15. I'm not talking about egg data, but pokemon data: 0xD1-0xD6 as referenced here http://projectpokemon.org/wiki/Pokemon_X/Y_3DS_Structure This data is updated each time the egg is traded, in fact is the only data modified (checksum aside). Even if the egg returns to OT the data is updated when trading. What I don't know is if that data is converted into "hatch location" and "hatch date" when the egg hatches --> I will check later I guess a "pokémon center" is the best generic location for that. On a side note, the bank essentially trades the pokemon from the bank to the receiving cartridge, it uses the same logic as trading. I too think this should be configurable, but I also think it should be enabled by default even though An intermediate solution might be prompting the user the first time a foreign pokémon (handler 0x00 but OT is different or handle 0x01) is imported and keep the setting to whatever he chooses; and also have a configuration toogle in the menu bar. This would skip the need for a config file to store the setting, but maybe it can be made too as a way to "not prompt anymore". EDIT: @Kaphotics, I was checking latest commit: HT_Feeling = Util.rand.Next(0, 9); That's only for bank "trade", normal link trade can have more feeling values; I think it went up to 20 from the 24 different memories, but I'm not sure right now, I need to check more. EDIT2: also, TradeHT() should have: HT_Name = SAV_Trainer; HT_Gender = SAV_GENDER; I haven't seen that anywhere. EDIT3: @Kaphotics, I can confirm that link trade uses at least 20 different feeling values, I haven't seen any of the last four except on catched pokemon, but to trully confirm a substantially bigger amount of traded pokemon should be checked. I don't think leaving out 4 possible memoeries we aren't even sure can be set when trading will hurt since there's 20 more. HT_Feeling = Util.rand.Next(0, 19);
  16. @BlackShark yes, I reached that conclusion too. I don't think it is worth to keep working on this; importing the whole forest is something PockeStock can't do and is in some way more convenient, but aside from that, everything can be done there and the existing translation is enough. If all that is available in pockestock, it would be better to work on a transaltion rather than researching the data again and recoding the tool. Please let me know if there's some lost content not obtainable trough pokestock. Here's a link I found with supposedly latest version and translations: https://www.dropbox.com/s/c15sz90im499fns/PokeStock2_ver3_7.rar?dl=0
  17. OK, I was about to re-invent the wheel. Pokestock can do everything, and I've found a link with all dream event pokemon, including arceus. It can do many more things. I already had decrypted the forest file, but there's really no need now. I don't know why dream pokemon contribution uses .pkm files if it is way better to use pokecgear and import the phl files it uses (it can import/export a forest area). I'll re-do all dream pokemon in phl files and make a thread in the contribution forum for preservation. It would seem my work was pointless but well, I'm glad this led me to know about pockestock and I also used the code for this for the genVI pokemon link injection tool, so my work wasn't wasted at all. ps: I'm still curious about how they fit pokedex number, gender and move in 4 bytes, I guess gender is some bit in the pokedex number but well.
  18. Notice: Pkhex now supports Pokémon Link injection/extracion/viewing, you can find pokémon link events in the Gen 6 event archive: https://projectpokemon.org/forums/forums/topic/39398-gen-vi-event-contribution-thread-2016/ 16 march 2016: updated file to include latest pokemon link events. Pokemon Link data structure: http://projectpokemon.org/wiki/6th_Generation_Pokemon_Link_Map https://github.com/suloku/G6_pl_tool XYORAS Pokemon Link Tool_0.1 - 16march2016.zip
  19. I've seen this commit: https://github.com/kwsch/PKHeX/commit/b07359f8ddfdc8015a0b8f39df51d59da4ffa1bb There's a couple things wrong: 1.- To know if it is the original trainer, the game checks the following: TID, SID, Name, Gender 2.- I would suggest using HT_TextVar = 0; ("Somewhere") This is what pokemon bank uses, setting it to pokemon center is not accurate since location is set to that of the player's when the pokemon is received, not necessarily a Pokemon Center. 3.- Eggs do have memory data set when trading: A newly generated egg has these values set to 0x00 while in OT savegame: 0xD4-0xD6 Date Met 0xDA-0xDB Met At Location Whenever the egg is traded, the values are updated. Met at location is set to 0x3275 (this is direct hex view from pk6 file, you should probably use 0x7532), which corresponds to "a Link Trade (Egg)". Date met is set to console's date (0xD4 is year (0x00-> year 2000, 0x0F-->year 2015, etc), 0xD5 is month (0x01-0C (1-12)), 0xD6 day (0x01-0x1F (1-31)). This happens always that the egg is traded, regardless if receiver is OT or notOT. Also (obviously) checksum is updated. What I don't know is if date met and met at location is updated when it hatches, but regardless, an egg with those set as 0x00 in a save from a different trainer is "illegal" (not that nintendo checks it though...) 4.- This is the logic that determines if memories have to be updated in pokemon bank. OK, here's what official bank does when a pokemon is transfered from bank to savegame: - Is savegame trainer the OT? - if it is, notOT handler is set to 0x00 - if it is not the original trainer, the following check is made: is the notOT handler already 0x01? - if it is 0x00, it is set to 0x01 and all notOT data is reset, adding a new geolocation. - if it is 0x01, the following check is made: is notOT name the same as the receiving trainer? - if notOT name is blank (all 0x00) or if the names differ, all notOT data is set, including adding a new geolocation data (that can lead to repeated geolocation data). - if it is the same name, notOT handler is set to 0x01. There are no TID, SID or regional checks in place, only trainer name. As you can see, the last check is only trainer name, but I think nintendo did to simplify with the following logic: users will only use bank with their own games, and even if they use a friend's cartridge, the trainer name will most likely be different. There is no bad outcome to this behavior unless the pokemon has been fed items to purposedly decreades friendship value and the receiver trainer expected it to return to base friendship.
  20. Many, many thanks kaphotics, that was really useful information. With that information editing forest contents should be easy, it is probably not that complicated to beggin with since I think it holds up to 80 pokemon, so 26 bytes of data for each entry. I guess I'll make a full editor, but not now, I want to finish other things now and the most relevan event pokemon are already preserved.
  21. Maybe it's because it only works with Black/White 2? Anyway, I've uploaded a tool to dump/inject intralink forest data. I've included @marc_max savegame's link forest data, which holds dream world's Arceus as the most notable pokémon I think he may have all the other event dream pokemon in there, but I haven't checked. ps: next comes gen VI pokemon link dumper/injector (celebi/johoto starters and glalie/steelix).
  22. I've downloaded PokECGear, and it seems to be able to load either B/W or B/W2 savegames, but it does not load any pokemon from the entralink forest. The data seems to be encritped in some way, since even an empty forest data has all its bytes set. Is there any documentation about the save structure? The tools you listed access and edit many data that is not documented in projectpokemon's wiki.
  23. I've discovered a whole new way to contribute Dream pokemon: just get them from the forest. http://projectpokemon.org/forums/showthread.php?47484-Pok%E9mon-Black-amp-White-Entralink-Forest-location-discovered-gt-dream-pokemon-wondercard-like!&p=209045#post209045 I think I have a savefile with all event dream pokemon + many other standard ones; I'll need to check though since the save is not mine. Arceus and lucario are there though. EDIT: Well, my "I've discovered" statement comes some years late, as pockestock editor can do what I was doing, and dream even pokemon from the forest are already available elsewere.
  24. EDIT: this has been replaced with the following, more complete tool: https://projectpokemon.org/forums/showthread.php?48943-GEN-5-Generation-5-save-tool-entralink-medals-join-avenue-and-others-not-in-pokegen https://github.com/suloku/BW_efd_tool Original post: BW Entralink Forest tool 0.1.zip
  25. Hi, I've been researching how the savefile for pokemon dream radar works: http://projectpokemon.org/wiki/Pok%C3%A9mon_Dream_Radar_Save_File_Structure I just thought I'd make a thread in case anyone is interested in the info, any help will be much appreciated. Also, I've coded a windows save editor and a 3ds homebrew editor, I'll make a thread when I get satisfied with them, for now they're on my github (http://github.com/suloku/), 3ds version is currently more updated and with more features.
      • 1
      • Like
×
×
  • Create New...