-
Posts
217 -
Joined
-
Last visited
-
Days Won
7
Drayano last won the day on June 18
Drayano had the most liked content!
Reputation
44 ExcellentRecent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
TurtleTNick started following Drayano
-
Alpha Inertia started following Drayano
-
BlueMyth110 started following Drayano
-
Bobbylink00 started following Drayano
-
[PtHGSS] Unlimited TM's Tutorial
Drayano replied to TheShadyRelapse's topic in ROM - NDS Guides and Other Resources
Thank you very much for posting this! I've been after this knowledge for ages but I had no idea how to figure this out. Thank you again, this is a simple change but such a good quality of life improvement to the games. edit: Ah, sorry, I don't think I can actually use this in my hacks. It looks like while it does make the TMs infinite, it makes everything else infinite too. So you can use Rare Candies infinitely, give/take items from Pokémon to duplicate held items etc. It's very abusable. But this is still good for a personal playthrough on vanilla Platinum/HG/SS so it's still great that you've shared this! Is there any reason you chose to replace 49 with BD specifically, by the way? I tried some other bytes in place of BD to see what would happen and I got the infinite item effect with a few others like FF. This was all tested on Platinum, by the way.- 9 replies
-
- 2
-
- heartgold
- soulsilver
- (and 6 more)
-
Latest Version: v1.3.0 (2019-04-16) An enhancement hack of Pokémon Platinum. Summary Pokémon Renegade Platinum is an enhancement hack of Pokémon Platinum Version, similar to my other hacks such as Sacred Gold & Storm Silver and Blaze Black & Volt White. In a nutshell, this hack generally keeps the same story flow as the original Pokémon Platinum but adds in a significant number of gameplay differences, including but not limited to access to all 493 Pokémon in the game, revamped Trainers including tougher boss fights, lots of (optional) changes to weaker Pokémon to make them easier to use, the removal of trade only evolutions and a number of other quality of life changes. The specifics of what parts have been changed are explained in the paragraphs below. Features All 493 Pokémon Available All Pokémon that were originally in Platinum, from Bulbasaur to Arceus, are available to obtain within the game. The wild Pokémon for every single area have been modified extensively, now including species not ordinarily found in the Sinnoh region. It's possible to catch or obtain the majority of Pokémon before facing the Elite Four for the first time, meaning you can construct almost any team you want. In the cases where a Pokémon being in the wild would not be thematically appropriate - for example, starter Pokémon or legendaries - new events have been added to the game to make obtaining these Pokémon feel as unique as they normally would. The details for where to get each Pokémon can be found between the wild Pokémon and special events documents. Additionally, the correct locations for wild Pokémon are also shown in the Pokédex. (Big thanks to Mikelan98 for that feature!) Revamped Trainer Battles The Pokémon rosters of every Trainer in the game has been edited, now including Pokémon from the National Dex. Trainer levels have also been modified to fit the new level curve, which is now higher than before due to bigger Pokémon rosters and greater use of evolved Pokémon awarding larger amounts of EXP. Trainers can now expect their Pokémon to reach the 70s by the Elite Four, instead of the 50s that was the case in the original Platinum. Additionally, all Trainers use the AI that is normally only used by boss Trainers such as the Elite Four. The details for what each Trainer has can be seen in the Trainer Pokemon document. Please note that this feature is purely for the normal Trainer battles in the game; the Battle Frontier has not been changed. Harder Boss Battles Important battles such as the rival, Gym Leaders, Galactic Admins or the Elite Four have had their difficulty increased further than normal Trainers. Gym Leaders and Elite Four members now always use 6 Pokémon instead of the 3-5 from before, and all of these battles have them using high IV Pokémon with custom movesets, held items, and sometimes ideal natures. The first round Elite Four and the Champion also have the unique property of randomly picking from four teams to battle you with, making it impossible to know in advance what their lead Pokémon will be. They shouldn't be literally impossible to beat, but are definitely a much greater challenge than the original version. You can expect some of your Pokémon to faint in battle unless you bring some strategies of your own to the table. However, they do retain their aesthetics from the original, including their type focuses and signature Pokémon. Their signature Pokémon are also now equipped with a Poké Ball seal for some extra flair! The details for all of these battles can be seen in the Trainer Pokémon file in the documentation. Pokémon Modifications The Fairy-type from the Gen 6 games and later has been added in Renegade Platinum, replacing what was previously the ??? type. All Pokémon have had their typing, base stats and wild held items updated to match what they are as of Ultra Sun and Ultra Moon, meaning you can now use Pokémon such as Clefairy and Ralts with their Fairy-type as in the later games. Pelipper and Torkoal also gain their new Drizzle and Drought abilities from Gen 7, and a lot of Pokémon gain their Hidden Ability from Gen 5 and later as a secondary standard ability in this hack. All Pokémon have also had their level up move sets completely revamped. Pokémon will now learn their normal level up moves but now also learn other moves that enable them to be the best they can be, including TM moves, Egg moves and moves they only have access to in previous or later generations, up to and including Let's Go, Pikachu! and Let's Go, Eevee! Some Pokémon also get the chance to learn entirely new moves that they never could before, such as Megahorn for Pinsir and Earth Power for Typhlosion. The levels at which they learn the moves have been structured so that you can reliably access them just by naturally playing the game (i.e. you won't get moves at extremely high levels). Some Pokémon have also had their TM/HM compatibility modified, in some cases adding in moves that they could ordinarily only learn in later generations (such as Drain Punch for Toxicroak), and other cases granting them access to entirely moves by TM (e.g. Drain Punch for Dusknoir). Additionally, several TMs have been replaced with new moves, including Scald, Wild Charge, Bug Buzz, Hyper Voice, Dazzling Gleam and Hurricane. Pokémon TM compatibility has been adjusted to match their compatibility in later generations, or in the case of the newcomers Bug Buzz and Hurricane, my best generous guess has been made as to what might be able to learn them. There's also been much greater compatibility added for Fly, meaning you don't necessarily almost always need a Flying-type Pokémon to get anywhere conveniently. In addition to this, there are also a number of custom changes to make certain Pokémon unique and/or easier to use. Many Pokémon who are a bit weaker have received buffs to their base stats, meaning previously weak Pokémon like Butterfree and Ledian can now actually put up a fighting chance. Some Pokémon with decent stats in bad areas have had their stats reshuffled, such as Glaceon who is now faster but less defensive. Some Pokémon have also been given new types to play with, such as the now Bug and Dragon-type Flygon, or the Ghost and Fairy-type Mismagius. Some Pokémon also gain new abilities that they can't ordinarily get, such as Weavile gaining the Technician ability. If you don't like the sort of changes that are listed in that last paragraph, there is an additional patch you can use called "ClassicVersion.xdelta" which will erase these changes from the game, leaving them the same as they would be as of Ultra Sun and Ultra Moon. The details for these modifications can be found in the Pokemon Changes and Type Changes files in the documentation. Quality of Life Changes A number of quality of life changes have been made to the game. All Pokémon names are now decapitalised everywhere outside of standard NPC dialogue. This means in battle, the Pokémon status screen etcetera, all names show up as they would in Gen V and later. Pokémon natures are now displayed in the stat screen with their stat boost and reduction shown next to them (as stat highlights were not a thing in Platinum). For example, where it previously said "Brave nature.", you should now see "Brave (+Atk, -Spe)". All Pokémon have their egg cycles reduced to 0, meaning they hatch very quickly. The Poké Radar is now given to you near the beginning of the game. The Bicycle is actually given to you at the start of the game. The Pokétch, still given to you near the start, now includes all 25 Pokétch apps right off the bat. Additionally, the three coupon miniquest has been removed. The Move Relearner and the Move Tutors that previously required Heart Scales and Shards respectively no longer require payment for their services; you can just talk to them and they'll do their job for free. Additionally, all three Move Tutors now sit in the same house on the southern part of Route 212. The Move Deleter is now available as early as Oreburgh City, meaning you no longer need to wait until Canalave City to delete any HMs. When fishing with a rod, an encounter is now guaranteed, as opposed to previously where it was possible to 'not get a bite'. Honey trees have also been given a total overhaul and now give you a Pokémon instantly instead of you having to wait for several hours. The encounters for honey trees are different from before as they are now script driven - you can view what is on each tree in the Wild Pokémon document. TMs are now effectively infinite; picking up or obtaining a TM will reward you with 99 copies of that TM, and these can also be refreshed by talking to a new NPC at the Pokémon League. These TMs cannot be bought at any stores and also cannot be sold. Most TM locations have been reshuffled and can be seen in the Item Locations document. You will only find TMs from either picking them up off the ground or receiving them from NPCs. (It unfortunately proved impossible to make the TMs actually infinite, hence this method instead). The need to use HMs has been removed where possible. Surf, Waterfall and Rock Climb are still necessary, but Cut trees, Strength rocks (with one exception in the Distortion World), Rock Smash rocks and foggy weather have been completely removed from the game, meaning your Pokémon no longer need to learn these moves to progress. Where roadblocks are necessary, NPCs have replaced them and will disappear when necessary. This does mean there are now some cases where you can access areas much earlier than you were previously able to do. Additionally, any darkness on the map has also been removed, meaning Flash is also no longer ever necessary. The Pokémon sprites are those normally used in Heart Gold and Soul Silver, which for the most part look better than the Platinum equivalents. There are a couple exceptions to this where I've left the front sprite as the Platinum one for Pokémon such as Blastoise, Vaporeon, Jolteon, Tyranitar and Togekiss. Additionally, the mini sprites used in the Pokémon menu and the Boxes are now the Gen 6 icons (albeit some with some slightly off colours), with thanks to MeroMero for distributing a premade file containing them. Most of these changes are not documented anywhere, but you may notice them as you play through the game. Increased Shiny Rate By default, Renegade Platinum features a new shiny rate of 1/512, meaning while shiny Pokémon are still reasonably rare, it's significantly more likely that you'll come across one while playing the game. This shiny rate does not affect the Poké Radar's ability to generate shiny patches of grass, but does otherwise affect every other method of Pokémon encounter (eggs, gifts, wild etc). If this feature is undesirable, there are additional patches included in the download that can make the shiny rate 1/4096 (equal to Gen 6 and above) or 1/8192 (equal to Platinum's normal rate) instead. Increased Gameplay Speed The download includes a "SpeedUpPatch" which can be applied to Renegade Platinum which adds a few things to speed up the normally sluggish gameplay in Platinum. It does three things: all text will appear instantly, HP and EXP bars will no longer animate between positions and the 30 FPS cap of the game has been removed, allowing it to run up to a maximum of 60 FPS depending on the hardware capability. These changes together mean battles can go significantly faster. Please note that these speed up features are not included in the base Renegade Platinum and need to be applied via one of the additional patches supplied in the download. New Events and NPCs A number of small events have been added to the game, including an additional event with Team Galactic, small events to obtain starters and legendaries, more in-depth events to get mythical Pokémon such as Mew, Celebi and Arceus and more. Some new events have also been added that change the story flow slightly. For example, upon arriving at Eterna City, you will find that Gardenia isn't present at her gym. The player is instead required to make a short detour to Route 216 - which was previously inaccessible until gaining six badges - giving them the chance to pick up some Ice-type Pokémon much earlier than before. Another example is that the player now visits Pal Park between going to Celestic Town and Canalave City. You also now battle Lucas or Dawn a few times as you go about your adventure! In addition, there are also some battles with each of the stat trainers (Cheryl, Mira etc), related to their individual events. There are lots of small events that allow you to obtain Pokémon. For example, you can get an Eevee early in the game that is being taken care of by the player's mother. You can get a Lapras from an old lady in Pastoria City who has a small story to tell, and you can get a Beldum by talking to Steven, who is now taking up residence in Oreburgh City. And much more! There are also a number of additional NPCs that will do things such as sell you evolution items, give you items unique to certain Pokémon such as the Stick, and a whole new training NPC in Solaceon Town's Pokémon Daycare who will help you train your Pokémon in levels or EVs, making any necessary grinding a lot faster. The details for some of these modifications can be found in the NPC Changes and Special Events files in the documentation. Evolution Modifications Pokémon that previously had to be traded to evolve can now evolve within the game itself. Those that evolve by trade and did not require an item now simply evolve at Level 36. Those that did require an item can now evolve by having the item used on them, similar to an evolution stone. Additionally, a number of Pokémon have had their evolution levels lowered to make them easier to use. For example, Omanyte and Kabuto, who previously wouldn't evolve until a high level 40, now evolve at a much easier Level 30, allowing them to keep up with the other Pokémon in your teams. Finally, some evolution methods were changed to be less restrictive. Pokémon who could evolve from happiness at specific times of the day now just need to be happy, and Eevee, who previously required happiness and location evolutions, now uses standard evolutionary stones for all of its evolutions. The details for these modifications can be found in the Evolution Changes file in the documentation. Move Modifications A number of useless or rarely seen moves have been replaced with moves from later generations. Examples include Draining Kiss, Scald, Icicle Crash, Drill Run, Moonblast, Dazzling Gleam, Disarming Voice, Bulldoze, Play Rough, Hurricane and Wild Charge. New moves borrow animations from other moves that are similar (e.g. Drill Run uses Horn Drill's animation), or have animations that are slightly modified from a different move (e.g. Moonblast uses Mist Ball with a moon background). These new moves can be learnt by level up or in some cases, TM. In addition to this, a number of moves have had their stats adjusted slightly. For example, Shadow Punch and Shadow Claw are now a much stronger 80 base power. HMs in particular have been boosted to make them more attractive as battling moves, such as Fly now having 100% accuracy and Rock Climb being a Rock-type move. The details for these modifications can be found in the Move Changes file in the documentation. Item Modifications The locations of many items in the game have been shuffled around, allowing the player better access to them throughout the game. For example, the various evolution items are now found much earlier in the game, and can also be purchased from either the Veilstone Department Store, the Veilstone Game Corner or from an NPC in Snowpoint City. Locations for most items are shown in the Item Changes document. You'll be able to find items such as the EXP Share and the Soothe Bell much earlier than previously. TMs are now effectively infinite, as explained in the quality of life changes. Poké Balls, Great Balls and Ultra Balls have also been made cheaper to assist the player in what will likely end up being a greater amount of Pokémon caught than normal. A few previously unused items are now used or replaced with new Key Items as well, relevant to new events within the game. Additionally, the previously event only Key Items such as the Secret Key, Member's Card, Gracidea and Azure Flute can now be obtained and their relevant events unlocked within the normal gameplay. The details for these modifications can be found in the Item Changes file in the documentation. Trade Modifications The in-game trades found in Platinum have been adjusted to give you new Pokémon that are otherwise hard to find at the stage of the game the trade is at. For example, you can now trade for a Spheal in Oreburgh City. In addition to this, the obedience check that makes traded Pokémon not listen to you has been disabled, meaning you can use these traded Pokémon with no worries. The details for these modifications can be found in the Trade Changes file in the documentation. Documentation As you may have seen at the end of each section, there is documentation available in the form of text files for mostly every change that has been made in the game. The files are included in the download for the hack, but can also be viewed online at this link: https://pastebin.com/u/RenegadePlatinum. Screenshots Please open the spoiler below to see a number of screenshots of gameplay from Renegade Platinum. Tools Used BTX Editor: Made by KazoWAR, this tool was helpful for getting some new overworlds into the game, such as Steven, a few of the legendaries and more. crystaltile2: An invaluable tool for importing/exporting/locating particular files from NARCs, as well as being very helpful when implementing the Fairy-type. Hex Workshop: Helpful for those times where I needed to do things via hex editing. JackHack Tools: A number of tools from his site were used, including a Pokémon Editor, Attack Editor and Trade Editor. kiwiDS: Helpful for some cases where I needed to get the individual files for a NARC. Lua Scripts: A Lua script by Kaphotics that displayed the X/Y coordinate of the player on the map, allowing me to position overworlds correctly. PKHeX: While not used for actual development, it came in useful a few times to figure out how things worked. PokeDSPic Platinum: Used in a few cases where sprites had to be modified from their standard HG/SS versions. PPRE: Used primarily for scripting and placing overworlds on the map, as well as some text editing. Both 0.14b and 0.12 were used to get around the issues related to freezes caused when saving the script in 0.14b. SDSME: Used for editing text that wasn't tied to a map, as well as configuring the "weather" for places like Twinleaf Town and Wayward Cave. Tinke: Extremely helpful for some graphical changes, including the Steven trainer sprite and adding the Renegade Platinum logo to the title screen. I also used some tools that I made on my own to deal with the wild encounters and level up moves, as the existing tools had usability issues or bugs preventing me from doing what I wanted. These two tools aren't currently publicly available but I can hand them over on request, they're just a bit shoddy! Credits Alpha, SCV: The creators of PPRE, which was incredibly useful. JackHack96: I used a number of his tools when building the hack. JimB16: For his Platinum disassembly on GitHub. While it wasn't used to actually develop with, it came in useful quite a few times to locate certain bits of data (including the solution for dealing with the traded Pokémon obedience issue). Kaphotics: A very talented hacker in the data mining sense, Kaphotics' wealth of NDS knowledge helped me to avoid one or two potential issues as I was building the game; his advice was incredibly helpful. The Lua scripts for the player's position and the Instant Text code that is implemented into the "SpeedUpPatch" were both made by him, too. KazoWAR: For his BTX editor tool as well as his YouTube tutorial on adding Trainer sprites to Pt/HG/SS via Tinke. Markitus95: The creator of SDSME, which was also useful. MeroMero: Another extremely talented NDS hacker, MeroMero posted a lot of tutorials on Project Pokémon that were directly relevant to things I wanted to do, such as changing the shiny rate or finding out how to adjust the position of Pokémon sprites in battle. His tutorial for adding Fairy-type to HG/SS was also what I adapted to get it working in Platinum. Finally, the Gen 6 mini Pokémon icons were also completely thanks to him (as seen here: https://projectpokemon.org/home/forums/topic/36081-gen-6-pokémon-icons-for-gen-4-and-5/). mikelan98: An extremely talented NDS hacker, he produced lots of helpful tutorials for NDS hacking, and it was also him who provided files allowing me to show Pokémon locations in the Pokédex and for the Fairy-type icon to display correctly in the Pokédex. Both of these would have been impossible without him! sylphate: A talented graphics artist who made the logo for Renegade Platinum. He's also the artist for the logo for my Rising Ruby and Sinking Sapphire hacks! I'd also like to thank my fanbase in general, who are always very encouraging and excitable. It wouldn't be half as fun to make these without you guys around! Known Bugs Open the spoiler if you want to see any known bugs for the game. All known bugs are inconsequential and shouldn't cause any real problems when playing, but a lot are rather difficult to fix. Download The download for Renegade Platinum's patches can be found at my Google Drive at this link: https://t.co/pljSVD0yyG. The RenegadePlatinumV130.zip contains a few things. There's documentation text files, a patch to change a Platinum ROM into a Renegade Platinum ROM, and then some additional patches which can be applied to a Renegade Platinum ROM which can give you the classic version (less Pokémon changes), increase speed and/or change the shiny rate. It also includes a recommended patcher called Delta Patcher Lite (which may only be usable on Windows - Mac users can try MultiPatch), a changelog for the game and some instructions on how to patch. There's also Readme files in each patch folder to further explain what each of the different files do and what you need to do to get it working correctly. If you get into any problems, make sure you've read the Readme files first. Generally, you will need to get a Platinum ROM (which you'll have to obtain by yourself), then use the correct patch for that as there's a v1 and a v1.1 of Platinum. After that, you can then apply additional patches to it with Delta Patcher Lite, but you may need to uncheck the "checksum validation" when using additional patches to be able to apply more than two of them to your game. The changelog and the documents are also available at that link if you wish to see them online. Contact If you wish to contact me for any reason, the fastest way is to shoot me a message on my Twitter: @Drayano60.
-
This is a very basic tutorial on how to add a new overworld to any map and add a connecting script to it. This is being made upon a request from somebody but I'm hoping it might help anyone else who's not sure where to start. Please note that I'm using PPRE for this tutorial. While I do appreciate that SDSME is generally more reliable, I can't seem to get it to work for Platinum. Every time I save an area's script, it just deletes the whole thing! PPRE is buggy but it's possible to get around the problems. This tutorial is primarily focused on Platinum but the content here should apply to HG/SS as well, although SDSME might actually work for those. Anyway, let's begin. 0. The Tools To do this you'll need a few things... * Your DS game and DeSmuME to run it on. * Project Pokémon's ROM Editor aka PPRE. This tutorial uses the 0.14 version. * The LUA51.dll file that allows your DeSmuME to use Lua scripts. A quick Google search should help you with this - it might be Lua51.dll or Lua5.1.dll - and the x86 DeSmuME and x64 DeSmuME will require different versions. You might need to try a few combinations to get it to work. * The Lua script for showing the player's position in Platinum. The code can be found at this pastebin (with thanks to Kaphotics for the frame) or below. I've also included the HG/SS position script below. Platinum --- while true do gui.text(0,0, string.format("X: %d, Y: %d", memory.readword(0x021C5CCE,2), memory.readword(0x021C5CEE,2))) emu.frameadvance() end HG/SS --- while true do gui.text(0,0, string.format("X: %d, Y: %d", memory.readword(0x021DA6DE,2), memory.readword(0x021DA6FE,2))) emu.frameadvance() end Simply make a new text file, paste this in and save it as <name-of-your-choice>.lua and you're good to go. 1. Find the location you want to edit. In the Maps tab in PPRE, you'll be able to select from each of the maps in the game. They're generally listed as their location with a suffix depending on whether it's inside a house etctera. The easiest way to find a specific location is to check the Text tab for a map and see if you can find text strings that match what you see in that location in-game. For example, we'll use this house in Floaroma Town as an example for this tutorial... So to find this, first we'll speak to somebody on the map to see a text string... Then find the matching map in PPRE by looking at the text tab. text_0 here matches what this guy says, so this is the map we want. 2. Add the overworld. Now that we're on the map we want in PPRE, head over to the Events tab, and click on the Overworlds secondary tab below. We'll see two 'pages', each one representing one of the overworlds in the map. Each overworld has a number of parameters, as you can see. You can ignore a lot of them, but: * ID = the identifier for the overworld. This always matches its page number in PPRE. Used for scripts that add/remove overworlds dynamically, change their location and more. * Sprite = The index for the sprite that the overworld takes on. This pg_0 refers to the woman (we can tell by the X/Y coords) so the sprite 16 is the generic woman sprite. * Movement = The index for the movement type the overworld takes on. Admittedly I'm not that familiar with this one - you can leave it at 0 for any still overworlds though. * Flag = The game has 'flags' that can be set via scripts. The number in this one represents a flag. If the respective flag is set, the overworld will _not_ appear. * Script = The index for the script. In the scripts tab you'll see pages listed as scr_1, scr_2 etcetera. Generally the index will match the script number, e.g. on this example the woman uses scr_2. You may see excessively large numbers for some things like item Pokéballs and normal trainers - in this case the overworlds use something called a level script which isn't shown in the scripts tab. * Number below script = The direction the overworld faces by default. 0 = looks up, 1 = looks down, 2 = looks left, 3 = looks right. * Line of sight = This only applies to generic trainers who will spot you and have the ! above them. The number is how many squares away they can spot you from. * Numbers two and one row above X-coordinate = Seems to control how far an NPC can move when they don't have a Movement index that keeps them still. I'm not sure on the details. * X-coordinate = The X-coordinate on the map that this overworld starts at. * Y-coordinate = The Y-coordinate on the map that this overworld starts at. * Z-coordinate = The Z-coordinate on the map that this overworld starts at. I've yet to see this used, though. On the top left of this sub-window, you'll see a little box that currently has a 2 in it. That determines how many overworlds are on the map. Just move it up to 3 to add a new pg_2! Let's try to get a new overworld to show up here. Of course, how do we know what co-ordinates these are? This is where the Lua script comes in. By activating this, the X/Y coordinate numbers where the player is standing will be drawn on the bottom screen. To activate it, in DeSmuME, go to Tools -> Lua Scripting -> New Lua Script Window. Hit Browse, select the saved .lua file that you should have done in the tools section above, and then the coordinates should pop up (assuming you've got the .dll file stuff working), e.g. In this case, the LUA script says this position is (x: 2, y: 3), so these are the parameters we'll use. For the parameters we need to change... ID = This overworld is pg_2, to set this to 2. Sprite = Let's make this Gardenia. I can tell you that Gardenia's sprite index is 127, so let's set it to that. I don't have a complete list of Platinum overworlds but a lot are the same as HG/SS, which has a list that can be found here. The number below Script = Let's set this to 1 so she looks down. X-coordinate = 2 Y-coordinate = 3 So it should look like this. You then need to back out of the Maps screen and Write ROM on PPRE. Just input a name for your ROM, hit write, and that'll save a new ROM with the changes you've just made. Then enter the area we just edited, and... There she is! However, she just doesn't respond to the player at all. That's where the script bit comes in. 3. Adding a script to your new overworld. This time we want to look at the Script tab in PPRE. We can see there's tabs for scr_1 and scr_2 here. We can also see from the overworld tab that scr_1 links to the man and scr_2 to the woman, as their overworld entries have their script indices set to those scripts respectively. scr_1 here is an example of a basic message script. Let's break it down... Fanfare 1500 = The little sound that plays when you speak to an NPC. Lockall = Locks all overworlds in place in the room. A standard when a script is active. Faceplayer = Makes the overworld using the script face towards the player. Message 0 = Displays a message with index 0. The index matches how it appears in the Text tab, i.e. Message 0 refers to text_0. WaitButton = This holds the message in place on the screen after it finishes until the player presses a button. CloseMsgOnKeyPress = This closes the message box when the player presses a button. In this case the same button will take the message off and close the box. Releaseall = Allows all overworlds to walk again. End = Signifies the end of a script. Doesn't strictly do anything but essential for the game to parse the scripts correctly. Let's make Gardenia say something! We'll need to add a new script, so hit the Add Script button to produce a scr_3 tab. In this case we can just copy and paste the entire script from scr_1 into scr_3. However, we'll want her to say something unique, so let's change the Message 0 to Message 2. You'll then have this: Good. Next thing we'll need to actually have a msg_2! Go to the text tab in PPRE and simply add a new line to the text box. You'll notice that there's a couple other characters involved in these text strings. They're just simple controls for how to format the text. Pokémon message boxes (at least in the DS games) show two lines at a time and can only show so many characters. The message DO NOT line break automatically - it's up to the programmer to split it correctly. Adding \n will add a line break, so text goes down from the first line to the second line. Adding \x25BD will add another line break that allows the text to go down from a second line to a third, or to a fourth etcetera. It allows the text to keep being fed through after a key press. Adding \r will refresh the box and start from the top again. You can look at the text in the game to see examples of how best to use these. In this case we're just going to have a \n so the message splits onto two lines. Lastly, go to the Events tab again, the overworlds tab inside this, and to pg_2, where our Gardenia overworld sprite information is. As we've written script 3, change the line labelled script to 3. And that's it! Write your ROM, re-enter the map and Gardenia should be talking to you. That's basically the process of adding new stuff in a nutshell. Obviously the scripts can get a bit more complicated than that (branching statements, making trainer battles, adding movements, having them give you items but only once, setting variables based off your gender, or your picked starter, or...) but this stuff can all be figured out just by inspecting the other maps in the game and finding similar scripts to what you want to do. I may try to make this tutorial more inclusive in the future - this is just more to get people off the ground. That said, I'm happy to field questions about Gen 4 scripting as best as I can manage. 4. A Warning about PPRE There's a big problem with PPRE 0.14 where it can corrupt scripts that have movements in them, e.g. when you talk to an NPC and they go ! or whatever, which will cause the game to freeze when it tries to do the movement. You won't have this issue in this tutorial but it's very likely to come up in any extended ROM hack. This bug occurs because PPRE 0.14 will save the script with the incorrect number of bytes. There's two ways to get around this: 1. Add in a new line to a script to bring the amount of bytes up to the correct total. My personal favourite is to just throw in: Setvarhero 0 on any random line. This normally functions as a way to show the player's name in speech, but it doesn't really do anything otherwise. However, in hex this translates into 3 bytes. The issue with PPRE 0.14 is that it ends up saving the script with an odd number of bytes, so throwing this in will make it even again and it should work. You may need to take the extra line in and out as you build up your script though. Also please note that the above is for Platinum. For HG/SS, PPRE uses a slightly different casing which you'll need to use instead (note the capital H)... SetvarHero 0 2. Open the same map but with PPRE 0.12 and save it again. You'll maintain the exact script that you wrote but PPRE 0.12 will save the script correctly and then it'll run. You may have to continuously do this as you build up your script. I'd still recommend using PPRE 0.14 to write the script as the interface is much nicer and more commands have been 'un-hexified'. You can get PPRE 0.12 from the download link on Oxnite's post here: https://projectpokemon.org/home/forums/topic/7881-ppre-download-location/
-
unanswered Unlimited use TMs in Gen 4 games
Drayano replied to wertrew's topic in ROM - NDS Discussion & Help
This is a feature I'm incredibly interested in but I haven't had any luck in finding out how to do it. @MeroMero has achieved reusable TMs in HG/SS as part of his Mind Crystal hack (https://projectpokemon.org/home/forums/topic/36971-pokémon-mindcrystal/) and has included the modified assembly routine source for the reusable TMs in his 3.0 download here (https://projectpokemon.org/home/forums/topic/36971-pokémon-mindcrystal/?page=2&tab=comments#comment-215019). The ReusableTMs.s file contains this: xrpl_02078452: NOP SUB R1, R1, R5 CMP R7, #0x148 BCC .NotTMHM CMP R7, #0x1AC BXCC LR .NotTMHM: STRH R1, [R0, #2] BX LR xrpl_02078562: NOP CMP R2, #0x148 BCC .NotTMHM2 CMP R2, #0x1AC MOVCC R0, #1 BCC .Return .NotTMHM2: LDRH R0, [R0, #2] .Return: LDMFD SP!, {R3, LR} BX LR xrpl_02257852_ov_03: NOP CMP R0, #1 BLS .Return2 ADD R1, R5, #0x284 LDRH R1, [R1] CMP R1, #0x148 BCC .Return2 CMP R1, #0x1AC MOVCC R0, #1 .Return2: MOV R1, #0x288 BX LR Which I assume uses offsets for the French SS as that's the base Mind Crystal uses...? Anyway, I'm unfamiliar with ASM hacking so I don't know how to get any further than this. I can sidestep the issue by just giving the player x999 of each TM when they receive it if need be but it definitely isn't as tidy. I'd be more interested in how to do it on Platinum myself but any knowledge is useful. If anyone knows how to get further with this it'd be much appreciated. -
Drayano earned a Medal ROM Hacker
-
Version 3.1
315593 downloads
Pokémon Blaze Black and Pokémon Volt White are edits of the regular Pokémon Black and White versions which self-contain all 649 Pokémon, allowing a player a large amount of variety. In addition, BB/VW also have edited trainers, an increased difficulty level, improvements to many Pokémon and more. They are the spiritual successor of my two other hacks, Pokémon Fire Red Omega and Pokémon Spirit Gold. Blaze Black and Volt White were also - with one minor exception - the first of their kind to be made. I should mention that with the exception of things normally different between Black and White such as Black City, White Forest, the legendary focus and the appearance of Opelucid City, the two games are identical. Thread -
Version 1.1
369200 downloads
Summary Pokémon Blaze Black 2 & Pokémon Volt White 2 are essentially the sequels to my Black & White hacks known as Blaze Black and Volt White. The usual rules with my hacks apply; the main feature is that all 649 Pokémon are available for capture somewhere in the game, and the trainers have all had their rosters changed in order to maintain a much harder challenge than the original game, as well as having an increased variety of opponents to fight. There's also a large amount of alternative features these hacks offer, which range from differences to the Pokémon themselves to the presence of a couple new TMs. If I'm not mistaken, these are also the first Black 2 and White 2 hacks on offer. Additionally, the two versions only differ in terms of their aesthetic differences, such as the appearance of Opelucid City, the title screen, etcetera. So basically, just pick whichever colour takes your fancy! Thread -
The difficulty's been tuned up on Gym Leaders etc but I don't think it's as tough as Dio's. The levels are lower and I don't overwhelm people early as much, nor have I made Ace Trainers into huge beasts or anything. I haven't actually played his hacks though!
-
tool ROM Hacking Tool and Resource Collection
Drayano replied to Drayano's topic in ROM - NDS Research and Development
Excellent, thanks. Added them to the first post. -
tool ROM Hacking Tool and Resource Collection
Drayano replied to Drayano's topic in ROM - NDS Research and Development
Yeah, absolutely. Just pop them in here and I'll add them into the first post when I get a chance. -
tool ROM Hacking Tool and Resource Collection
Drayano replied to Drayano's topic in ROM - NDS Research and Development
Ah, wasn't aware. Added a note in, thanks. -
tool ROM Hacking Tool and Resource Collection
Drayano replied to Drayano's topic in ROM - NDS Research and Development
Haha, sorry, I keep forgetting MD hacking is even a thing! By all means put them on there when they're ready Thanks for the sticky. -
I've been digging through some of my old files and found a bunch of tools and resources I used on my hacks, some of which the links seem to have been lost since. I thought I'd compile a list of some of the tools I've used in the past as well as a couple others that I thought might be useful. If a developer has his/her tool listed here and doesn't want it to be, let me know and I'll take it off. The titles of the tools/resources act as the download links. I've tried to add the authors of the tools wherever possible but I don't know all of them. I'm also happy to add any suggestions to the list. I did not make any of these tools. (Besides some additions to a text file, at least...) 2016-10-22: Some tools supplied by Hiro TDK have been added. There are general DS tools in bond's thread that may also be of use. Generation IV NOTE: The recommended Gen IV hacking tools have changed considerably since this thread was made. PPRE has been superseded by DSPRE which is significantly better and less buggy. It is highly, highly recommended to use DSPRE instead of PPRE!! DSPRE can be found here. You may also want to consider the much newer Pokéditor (found here) over the other tools below for editing things like Pokémon stats, moves, etc. --- Project Pokémon ROM Editor (PPRE) Authors: SCV, Alpha and more (?) Thread: https://projectpokemon.org/forums/showthread.php?303-PPRE-Project-Pokemon-s-ROM-Editor PPRE is the quintessential hacking tool for Gen 4, allowing you to edit Pokémon, trainers, scripts, overworlds, wild Pokémon and more. However there are some issues with script compilation, particularly with movement commands that cause freezing ingame in HGSS. In these cases you may be able to simply save the map again in an older version of PPRE to compile the script correctly. Known bugs in PPRE include the aforementioned script issues, not maintaining the PokéBall seal or ability (HG/SS only) values, messing up learnsets when saving a Pokémon with a full 20 level up moves, and incorrectly saving some of the fishing spots in Platinum and HG/SS. It's unfortunately not really in development anymore, so those bugs will probably never be fixed, but you can skirt around them. Ignoring those things it's really, really good and pretty much necessary for any Gen IV hack. PokéDSPic Authors: ??? PokeDSPic is a tool that allows you to look at graphical assets such as Pokémon sprites and export and import PNGs to modify them. I'm not really sure where this tool came from but I know I used it to modify some sprites in HG/SS. There are two versions included in the download - one is for Diamond and Pearl only, and the other for PtHGSS only. With that said, the DP one is needed for some graphics in HG/SS such as trainer backsprites. (Thanks, Hiro!) PokéTex Authors: ??? I quite honestly can't remember what this tool is for but I think PokéTex is a useful tool when dealing with overworld sprites in the Gen 4 games. PtHGSS Lua Scripts Authors: Kaphotics This zip file contains two LUA scripts written by Kaphotics that will tell you the XY co-ordinates of your player character on the map they are on. One is for Platinum, the other for HG/SS. You can load LUA scripts by going to Tools > Lua Scripting > New LUA Script Window in DeSmuME. The co-ordinates will appear as an overlay at the top left corner of the bottom screen. Overworld Sprite IDs Authors: ???, Drayano This is a list of overworld sprites in HG/SS with the decimal numbers that correlate to their identifiers, i.e. set an overworld to have the matching sprite ID in PPRE and it'll show up as that. The original list only had up to the Mew sprite but I extended it when dealing with HG/SS itself. Some of this list may also apply to Platinum but I'm not sure. HG/SS US Texts Excel Workbook Authors: HiroTDK This is a searchable workbook of all text files in HeartGold and SoulSilver. The search results in Excel point to file and line numbers so that you can easily locate them in SDSME. I have a workbook transcribed for each language, but I haven't run the organization scripts on the other languages yet because my laptop is currently out of commission. EDIT: Tools merged from other posts - Evolution Editor For D/P Nitro ROM Explorer Narc File Replacer NDSeditor Rom Explorer Pokemon Data Editor for D/P Tahaxan Rom Explorer Wild Pokemon Editor for D/P/P Pokemon Trainer Editor for D/P/P Pokemon Sprite Inserter/Extractor Tile Molester DSBuff DSLazy NDSheader NDSTop thenewpoketext ndssndext Generation V Black/White Wild Editor (BWWE) Authors: ??? (KazoWAR?) Thread: N/A A wild Pokémon editor for BW and B2W2. Allows editing of wild Pokémon in any map with toggles for seasons and Pokémon formes. The original thread seems to be lost. Black/White Trainer Editor (BWTE) Authors: KazoWAR, Kaphotics Thread: https://projectpokemon.org/forums/showthread.php?13273-B-W-Trainer-Editor Trainer editors for BW and B2W2, though they are separate files. KazoWAR made the BW tool which was later extended by Kaphotics to support B2W2. Allows editing of any trainer's Pokémon, items held, Pokémon formes used etcetera. A 1000 slot version is also supplied for developers who append further trainer files onto the NARC than what is originally in the game. Black/White Sprite Editor (BWSE) Authors: KazoWAR A sprite editor for BW and B2W2. Allows editing of Pokémon and trainer sprites. Do note that it likely will not preserve animations. Black/White Overworld Editor (BWOE) Authors: KazoWAR An overworld editor for BW and B2W2. Allows editing of overworld appearances. Black/White Mugshot Editor (BWME) Authors: KazoWAR A mugshot editor for BW and B2W2. Allows editing of mugshots such as those that appear when you battle Gym Leaders or the Elite Four. Project Pokemon Text (PPTXT) Authors: SCV Thread: https://projectpokemon.org/forums/showthread.php?11582-PPTXT-Text-editing-tool A text editing tool for BW and B2W2. Allows you to edit text in-line as well as dump entire scripts. OxATTACK Authors: Oxnite Thread: https://projectpokemon.org/forums/showthread.php?17553-OxNITE-s-Pok%E9mon-Black-amp-White-Tools An attack editing tool for BW and B2W2. I haven't personally used it but it looks clean and feature complete. Pokémon ROM Changer (BW) Authors: ???, Andibad Thread: https://projectpokemon.org/forums/showthread.php?17426-Pokemon-ROM-Changer An all around tool for Black and White, allowing editing of species, moves, encounter slots and evolutions. Be warned that Pokémon ROM Changer works on absolute offsets, so any sort of extensions whatsoever will stop the program from working if the offsets it's targeting are shifted. May be best used on a fresh ROM to edit what you want, then transplanting the NARCs to your overall project. Unsure who the original developer was but Andibad provided the translation for English users. Pokémon ROM Changer (B2W2) Authors: ???, Kaphotics Thread: https://projectpokemon.org/forums/showthread.php?17426-Pokemon-ROM-Changer Same as above, but for B2W2. Versions for my Blaze Black 2 and Volt White 2 hacks are also available in the thread. Unsure who originally made it but Kaphotics provided the English translation. B2W2 Lua Scripts Authors: Kaphotics A number of LUA scripts for Black 2 and White 2. I don't remember the contents exactly but it does include a LUA to show your character's X/Y position on the map. Twistedfatal's Pokemon BW2 Toolbox http://i.imgur.com/QHtxuAC.pngCross Generational (IV and V) Tools Spiky's DS Map Editor (SDSME) Authors: Spiky-Eared Pichu aka Markitus95 GitHub: https://github.com/MarcRiera/SDSME Thread: https://projectpokemon.org/forums/showthread.php?26374-SDSME-Spiky-s-DS-Map-Editor SDSME is a map editing tool for DPPtHGSSBWB2W2 as well as an alternative to PPRE for some things such as trainer Pokémon and wild data. Unlike PPRE the wild Pokémon areas aren't named directly and you must cross reference IDs with the maps listed on the main screen to find the correct area. Trainers are listed normally, however. I can't comment much on SDSME as I haven't used it and I definitely haven't tried the map editing parts. Tips should be available in any threads about it, though development of SDSME has since been discontinued. ANDT Authors: Andibad GitHub: https://github.com/andibadra/ANDT Thread: https://projectpokemon.org/forums/showthread.php?26663-Andi-Pok%E9mon-Hack-Tools ANDT is a tool by Andibad composed of a few different features, some of which work on both Gen 4 and 5. According to the description it is deprecated but I wasn't able to find a more recent version. ANDT has the ability to modify movesets, evolutions and experience tables on Gen 4 and 5, wild encounters on DPPt and Hidden Hollow encounters on B2W2. As far as I know this is the only Hidden Hollow editing tool out there, so I would recommend this tool just for that. I've not personally used it but I believe I've used a standalone version of the hollow tool before (which no longer exists) and it worked great. crystaltile2 Authors: ??? crystaltile2 is an all-purpose DS editing tool. I admittedly don't really know the extent of what it's capable of but it has a very convenient way of importing and exporting NARC files into the ROM by clicking the little DS looking icon near the top. There are other ways to pull NARCs in and out but this is one of the most convenient. It was made by Chinese developers, hence why a large amount of the tool isn't written in English. G3DCVTR Author: ??? This converts 3D files for NDS games. It's command line only. Nitro SDK Plugins for 3DS Max 2010 Authors: Nintendo These allow you to export 3D models from 3DS Max 2010 for use in NDS games. These aren't allowed to be posted here, so you'll have to search or ask around to find them. BTX Editor Author: Kazowar Thread: https://projectpokemon.org/forums/showthread.php?9873-BTX-overworld-editor This allows you to export and import sprite sheets from the texture files in the game, most notably, overworld sprites. It's not a great program, and it bugs out and doesn't work with specific files, but it mostly works and is much less demanding than PokeTex. NARCTool Authors: natrium42, modified by unknown This tool allows you to decompress and compress NARC files to and from folders. Since Tinke can easily decompress and extract NARCs as folders, it's only real use is rebuilding NARCs from folders. Tinke Authors: pleonex and various contributors Thread: http://gbatemp.net/topic/303529-tinke-072/ This is an all purpose tool for NDS hacking. You can look at the file structure and import and export files and NARCs. It has a very basic hex editor. You can view, import, and export images, models, textures, et cetera. There's so much more this can do too. This is a very powerful tool for the graphical side of NDS ROM hacking. Mario Kart DS Course Modifier - EDIT - Link Broken Authors: Gericom Thread: https://gbatemp.net/threads/mkds-course-modifier.299444/ This is another NDS hacking tool like Tinke, that's pretty powerful and has a lot of features. This one is specialized for editing Mario Kart DS, but it has some useful functions for us. It's really good at editing single frame textures, but not animations. There's a function for splitting and rejoining texture files and models. It's very specific, but I used it to pull the protagonists sprites from the Magnet Train animation. It also has a decent converter for graphic files. The Console Tool Authors: lowlines Thread: http://www.romhacking.net/forum/index.php/topic,8407.0.html This is a powerful ROM hacking tool that can be used for many systems. I really only use it for occasionally editing palette files though. It supposedly has a pretty powerful 3D Model viewer, but for some reason, I've never been able to access it. Generation VI PK3DS Authors: Kaphotics, SciresM GitHub: https://github.com/kwsch/pk3DS Thread: https://projectpokemon.org/forums/showthread.php?44950-pk3DS-XY-ORAS-ROM-Editor-amp-Randomizer Pretty much the only thing you need to make a Gen 6 hack, PK3DS is an all-purpose tool developed by Kaphotics (with some input from SciresM such as the wild editing tool) that lets you modify pretty much anything that's currently possible. Wild Pokémon, trainer Pokémon, some graphical assets, moves, items, marts etc. Scripting isn't offered because Gen 6 scripting isn't possible, but you can do pretty much anything else. The download link there is the latest master release on PK3DS, so it includes static encounter editing and other features not in the release version on Kaphotics' thread for the tool. Be warned that some parts may be unstable. Though in my experience it's all been pretty awesome. PK3DS is also still in development, though for Gen 6 it is pretty much complete. Ohana3DS Authors: gdkchan, Reisyukaku Thread: https://projectpokemon.org/forums/showthread.php?44168-Ohana3DS-(BCH-Tool) Ohana3DS is a BCH editing tool that allows you to modify models within the Gen 6 games. A lot of helpful information is provided in the linked thread. The download link offered here is the latest release of the old Ohana3DS, but a new version written in C# is currently in development. EDIT: The mirror links above will take you to the file's new home in the Downloads section.
-
Whoops, sorry, not sure why that link broke. Should be fixed now.
-
I've updated the files with v2.1, fixing the Liepard bug and adding some of the suggested moves as well as some files where stuff illegal in the normal games has been taken out. Thanks for the feedback! That bit with the Haunter is because of how the DexNav works if you stuff too many Pokémon in one area, they seem to actually get placed off the side of the screen instead of not entirely so you do get these occasional things where you can see something sticking out. I think something similar might happen in the Cave of Origin too. Ah I could have included this but I only saw it after I just made an update, sorry! Next time probably. Glad you're enjoying it.
-
Haha yeah, I've had a couple people report this Liepard bug now, sorry about that. I did all my testing on the Ruby version this time so I missed cases like this Glad to hear you're enjoying it though. Yeah those all sound like good suggestions. I must have forgotten to give Gardevoir Hyper Voice, whoops. P.S: Thanks for giving the trainer ID, makes it significantly quicker to track down!