![]() |
Questions about various things.
Hi pokecommunity my name is silver112, I have questions about various things that you guys and girls can hopefully help me out with.
The backstory on me: As a kid the first video game I can remember playing is sonic the hedgehog 2 and I've been a fan of video games ever since. I always wanted to make a video game, I just never had the skills or an idea of were to start. So last year I thought about all the video games I loved/admired, and out of all of them only 2 of them had a strong modding/hacking community. The main feature of my hack will be dialogue choices and I will implement them with JPAN's engine. I've been studying how to hack since November, and I've been in the prep stages of my hack since. This post is one of the last things I have to do in my prepping stage. Alright now on to the questions. 1. Is it possible to have a phone like the one in 2nd gen? Like a port of pokenav for fire red? I basically need an item that npcs use to call the hero/heroine. 2. Is there a perfect follow me ASM routine available for fire red? I know that GoGoJJTech and touched have made a follow me routine for Pokémon Platinum Red & Blue hack, but it doesn't work over warps. 3. How do I make wild Double Battles? I know that Jambo51 made ASM code for this, but never released it for the public. But I think he did incorporate it in his 649 Pokémon patch, is it possible to extract the code from that patch? 4. Is it possible to make an in game clock that calculates: One in-game-hour to two real time minutes (Similar to fallout new vegas). 5. Is there a Day & Night system that is stable? I know the DNS made by prime-dialga is the most popular, but I don't see alot of people talk about it or implement it in their hacks. Also Jambo51 made ASM code for a DNS, would it be better to use that? 6. How much space is used when extending maps? For example what if I extended the map dimensions of palette town to 80x80, were does that data go? 7. Is Pokemon Fire Red completely reversed engineered? 8. How do I control IVs of wild Pokemon? 9. Is it good to use 2 ROM bases at the same time? The two I plan to use are; JPAN's Engine and MrDollSteaks Decap and Attack Rombase. 10. Is there a way to count the number of steps the player makes (Time-Based Events/Sense of time)? 11. Is there a limit to how many sprites can be on screen at the same time? 12. Does Jambo51's egg level hack (from the Quick Research & Development Thread) fix the stat problem with eggs? To my understanding in vanilla fire red there was a stat problem with level one eggs and thats why their levels start at 5. Bulbapedia calls the egg levels in vanilla an oddity. 13. Is there ASM code that can allow a Pokemon to use two abilities at the same time? 14. Is there a way to extend the character limit for item names and location names? 15. Is there ASM code that can increase the number of moves a Pokemon can learn? Lets say 6? 16. How do I control the items held by wild Pokemon? 17. How do I implement the Option presets hack posted by Navenatox (from the Quick Research & Development Thread). The syntax for changing the presets are this: Write "XX 20" at offset 0x5496C, where XX = [text speed] + [frame] * 8 Text speed: 0 = slow, 1 = mid, 2 = fast Frame: 0 = type 1, 1 = type 2, etc. Since I want text speed to be fast, and frame type 1, xx should equal 10 (which is 16 in hexadecimal). But when I to overwrite 08 40 with 10 20, at 0x5496C, and boot up the game the presets are wrong. 18. How do I implement the tall grass fix posted by knizz (from Research & Development). I'm just having trouble understanding knizz's directions below. HOW TO FIX IT Start overwriting at 08059f34 with 00 21 00 06 00 0e 02 28 01 d0 d1 28 01 d1 01 20 00 e0 00 20 00 21 70 47 03 28 f5 e7 eh 08059f34 0x2100 eh 08059f48 0x2100 eh 08059f4a 0x4770 eh 08059f4c 0x2803 eh 08059f4e 0xE7F5 |
1) You can use ASM (preferably C) to do hacks like this. They're not for the faint of heart.
2) Mine is the only one that exists. 3) You just need to set one bit before a battle. Should be a small ASM routine. No need to RE his patch. 4) I don't think anyone has done this. Adding a multiplier to the time shouldn't be insanely difficult. 5) There were plans for a better DNS system by shinyquagsire but I don't think anything came of it 6) Map data uses 2 bytes per tile. So 80x80x2 bytes for that map. This doesn't count other data (events, headers, etc.). You repoint the data to free space if you expand it. 7) No, not even close. knizz did some substantial work on this front with his IDB. 8) More ASM. 9) As long as they don't clash with the bytes they change, it should be fine. I'm sure MrDollSteak tells you how to apply JPAN's patch in his thread. 10) IIRC there is a variable that you can access steps from. 11) If you're referring to Overworlds, then you can only have 16. If you mean sprites (OAMs) then the answer is 127. 12) Don't know anything about this. 13) No. Abilities are all hardcoded checks scattered across the code and you'd have to modfiy all of them to work with 2 abilities. 14) The item structure contains the name, rather than a pointer. It's literally impossible to change that structure. Even if you did displaying these would be difficult. 15) Again with the structures. This time there are 2 (one for battle, on for out of battle) 16) ASM again. Doesn't FBI have stuff for controlling wild pokemon encounters? 17) Use a hex editor and write those bytes there. You have to calculate the value of that XX though. 18) Use a hex editor again. Write those bytes there. "eh" means "edit halfword" and means you change the half word at that address to the new value. Keep in mind that this is little endian, so "eh 08059f34 0x2100" means write "00 21 to 0x059f34" |
Thank you very much Touched, you helped me out alot.
|
3) But you'd need more than just that bit to make it possible for two different pokes to appear, I think.
6) Stop worrying about it. 9) Use JPAN's hack applier. 10) There are some vars, but iirc none of them are usable because they reset every few steps. JPAN might have added a proper pedometer though. 12) The stat problem doesn't exist in FR. 14) I think FBI was making a hack so the structure contains a pointer to a possibly longer name. Not sure if he ever finished it, ask him. 15) This would take you a few years to accomplish. 16) Can be changed with any Pokémon editor, no ASM involved here. (come on Touched) 17) Touched: he has already calculated it. Silver112: what you did looks fine, try deleting your sav file and try again. 18) You can just write those bytes to that offset and ignore the eh part. |
I want to thank both Touched and daniilS for helping me out with my questions, you guys are awesome. But I do have some more questions that I hope the members of pokecommunity can help me with.
Double Wild Battles: Through further research (one google search) I found a github page with the 649-Patch jambo51 made, and found that its being maintain by mrdollsteak, and thekaratekid552. And on one of the github pages they posted the wild double battle ASM jambo51 made. I already know how to convert ASM to hex, I just need to know were to put the data and how to activate it. ASM Code - https://github.com/649-Patch/649-Patch/commit/b93f3efbb6e3734f1980ee447cf1ba229783a623 *Wild Double Battle Thread - http://www.pokecommunity.com/showthread.php?t=253371&page=2 *Jambo51's youtube channel - https://www.youtube.com/watch?v=hA0T2C7IGJk Advance Map Repointing: Now I understand that when you increase the dimensions of a map, advance map will bring up a window so that you can repoint the data. Option Presets: I deleted the sav file and it still didn't work. Tall grass fix: Both Touched and daniilS are giving me different instructions on how to implement this hack. What I think I will do is use the Hex Helper program made by joexv, apply the fix on a vanilla fire red ROM, and then examine the data at the offsets knizz posted. Now some other questions. 19. Is it possible to control pokerus? 20. How do I insert a New HP Box? I haven't seen any tutorials on this, the only thing that comes close is the patch made by LeiAlcantara025 in the "Ultimate Resource/Patches" thread. 21. What is the general opinion of JPAN's engine? Since it was made back in 2009, do people still think highly of it? 22. How important are palette numbers? Specifically when creating new overworld palettes. |
Looking through JPAN's manual I found a special that can set pokerus and remove it. Special 0x12 is the one, I'll definitely be using this in my hack.
On another note I still need help with the "wild double battles" and "HP Boxes" from my previous post. If anyone can help I would greatly appreciate it. |
Yesterday I researched the FireRed 649 patch that is maintained on github. The reason being is that I want to have wild double battles in my hack and this patch has the routines for them. So this post is to share the data I found.
These are the steps I took: 1. Convert the Double Wild Battle ASM files to hexadecimal. 2. Patch vanilla rom with github 649 patch. 3. Find the hex strings (from the asm files) in the 649 patched ROM. 4. Write down the offsets where you find the hex strings. 5. Look/Find for those offsets in Little Endian, in the 649 patched ROM. 6. Find what data is placed in that area of the ROM. ========================================== 7625C4 - DoubleWildBallThrowFix LE+1: C5 25 76 08 Offsets where this pointer is found: 74C118 74C144 74C170 74C19C 74C1C8 74C1F4 74C220 74C24C 74C278 74C2A4 74C2D0 74C2FC Data Area: 74C0C8 - ItemData 3DB028 - ItemData (Vanilla) ========================================== 7624AC - DoubleWildFanfareFix LE+1: AD 24 76 08 Offsets where this pointer is found: 21D94 Data Area:? ========================================== 7585E8 - DoubleWildFleeing LE+1: E9 85 75 08 Offsets where this pointer is found: 1683C Data Area:? ========================================== 76269C - DoubleWildPokedexUpdateFix LE+1: 9D 26 76 08 Offsets where this pointer is found: 2D9E0 Data Area:? ========================================== 7626D8 - DoubleWildPokedexUpdateFix2 LE+1: D9 26 76 08 Offsets where this pointer is found: 2D9AC Data Area:? ========================================== 76B6D8 - DoubleWildSimplifyCalculation LE+1: D9 B6 76 08 Offsets where this pointer is found: 7586C0 Data Area: 754BFC - AttackAnimationTable ========================================== 762640 - DoubleWildWhichToCatchFix LE+1: 41 26 76 08 Offsets where this pointer is found: 2D450 Data Area:? ========================================== 762674 - DoubleWildWhichWasCaughtFix LE+1: 75 26 76 08 *4 bytes in the raw ASM routine CE 3B 02 02, have been changed to D0 3B 02 02. Offsets where this pointer is found: D7A28 Data Area:? ========================================== According to the first post in the link below, karatekid552 planned to release these routines as a resource for everyone. http://pokemonhackersonline.com/showthread.php?t=14505-649-Patch&page=5 Also looking at this video from jambo51, these routines completely fix wild double battles. https://www.youtube.com/watch?v=hA0T2C7IGJk If anyone can help me insert these routines into a vanilla ROM, please reply to this thread. |
| All times are GMT -8. The time now is 2:24 AM. |
![]()
© 2002 - 2018 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2016 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.
Acknowledgements
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2023.