Jump to content

Bond697

Former Staff
  • Posts

    1358
  • Joined

  • Last visited

Everything posted by Bond697

  1. it's not fucked up. gamefreak uses different hardcoded check values for trainer names, wild pokemon names, starter pokemon names, hatched egg names, name rater names, probably gift pokemon names, and likely others. each one requires working backward from the hardcoded value of "5" in ram through each time it gets copied(the starter pokemon value does this like 5 or 6 times, it's beyond annoying) from somewhere else back to the original "mov rX, 0x5" instruction, then finding the overlay file in the rom(there are 350 of these to go through, at least i have a way to automate a search now thanks to codr) and changing the instruction to "mov rX, 0xA" in hex, then making sure the overlay decompresed and recompressed properly, then passing it along to the translation team to add in. it's annoying and will happen, but not until i feel like it. soon though.
  2. the code works perfectly in white 2. absolutely perfectly. in fact, if you use the "extract pokemon from code" feature in pokegen, you'll see it makes a perfect copy of the pkm. there's really nothing wrong with the code. and since it's made to work on either game, there should be no problem. it's a simple data write code, nothing complex that might break on a real AR. try turning off all other codes, just in case. e: codr just pointed out to me that you're saying "pokemon black version". this code is for b2w2. redo it with the game set properly.
  3. black2 52019198 42112001 1201919C 0000D100 94000130 FFFA0000 1201919C 000046C0 D2000000 00000000 white2 520191B4 42112001 120191B8 0000D100 94000130 FFFA0000 120191B8 000046C0 D2000000 00000000 this is that "reset all events on a map if you hold a+sel as you enter" code. that should do.
  4. you can't keep walking in and out to hav it regenerate, just so you know. you have to actually collect the item to get it to do it again. someone else said theyve gotten like 100 pokemon this way.
  5. you were wrong the first time. it was working, but you got a dowsing machine slot or something, so it didn't look like anything was appearing in the hollow. i'm putting the old code back.
  6. fixed. every once in awhile you'll get an empty hollow due to the way the hollow slots work or something, i think. i've been running in and out and i got different things the last 20 times.
  7. hidden hollow pokes/items always regenerate 100% of the time every step you take: white- 52181EC4 FC40F683 12181EA6 000046C0 12181ECA 000046C0 D2000000 00000000 black- 52181EA4 FC50F683 12181E86 000046C0 12181EAA 000046C0 D2000000 00000000 all 20 generate at once, i checked. so this handles everything.
  8. pokesav > pokegen fix it codr! you should listen to gbatemp, i heard they're all great hackers and programmers.
  9. so extract the files from 0/0/3, append text to the end of the right file with whatever you need for the proper formatting, make a new narc(i can do this with nnsarc if you want), and repack the rom with dsbuff. then point that script command to the new lines at the end. not seeing the issue. e: forget that, why can't you just add to the end of a given file with pptxt then point the script straight there? i just tried adding some lines of text and it seemed to work ok.
  10. yeah, no problem. i don't mind making stuff if people ask for interesting things.
  11. white 12021310 00002000 D2000000 00000000 black 120212F4 00002000 D2000000 00000000
  12. you don't need to recompress it. just put it back in. MIi_UncompressBackwards() just won't do anything when it goes to decompress the arm9 on booting. it should work. e: btw, i just did the disassembly. this is a lookup table of trainer ids and music that is accessed by the subroutine at 2029E38. the function takes the id of the trainer and uses that to look up what music matches that. interesting little routine. e2: here you go: http://pastebin.com/7XHzR3ys RAM_ARM9:02029E38 ; =============== S U B R O U T I N E ======================================= RAM_ARM9:02029E38 RAM_ARM9:02029E38 RAM_ARM9:02029E38 ; u16 __fastcall getNPCBattleMusic__(u16 npcID) RAM_ARM9:02029E38 getNPCBattleMusic__ RAM_ARM9:02029E38 18 B4 PUSH {R3,R4} RAM_ARM9:02029E3A 0A 4A LDR R2, =word_20A75C8 ; LUT pointer RAM_ARM9:02029E3C 00 24 MOVS R4, #0 ; int i = 0 RAM_ARM9:02029E3E 11 88 LDRH R1, [R2] ; load first LUT entry, see if we even need to loop RAM_ARM9:02029E40 69 29 CMP R1, #0x69 ; 'i' ; this should pretty much never be equal RAM_ARM9:02029E42 0C D0 BEQ loc_2029E5E RAM_ARM9:02029E44 RAM_ARM9:02029E44 loc_2029E44 ; CODE XREF: getNPCBattleMusic__+24j RAM_ARM9:02029E44 A3 00 LSLS R3, R4, #2 ; each entry is 4 bytes (u16 npcID and u16 songVal), so loop counter *4 to hit each entry in a row RAM_ARM9:02029E46 D1 5A LDRH R1, [R2,R3] ; LUT_base + loop_counter * 4 to run through each entry, fetching the npcID to test against the passed arg RAM_ARM9:02029E48 88 42 CMP R0, R1 ; npcID == LUTnpcID RAM_ARM9:02029E4A 03 D1 BNE loc_2029E54 ; if not, jump past the return statement RAM_ARM9:02029E4C 06 48 LDR R0, =0x20A75CA ; if they are equal, LUT_base + 2(to align for the songVal) RAM_ARM9:02029E4E C0 5A LDRH R0, [R0,R3] ; (LUT_base + 2) + (loop_counter * 4) to adjust for alignment + 2nd half of each entry- return songVal RAM_ARM9:02029E50 18 BC POP {R3,R4} RAM_ARM9:02029E52 70 47 BX LR RAM_ARM9:02029E54 ; --------------------------------------------------------------------------- RAM_ARM9:02029E54 RAM_ARM9:02029E54 loc_2029E54 ; CODE XREF: getNPCBattleMusic__+12j RAM_ARM9:02029E54 64 1C ADDS R4, R4, #1 ; i++ if the npcID didn't pan out on the previous run RAM_ARM9:02029E56 A1 00 LSLS R1, R4, #2 ; loop_counter * 4 for alignment RAM_ARM9:02029E58 51 5A LDRH R1, [R2,R1] ; (loop_counter * 4) + LUT_base, jump into LUT to next entry RAM_ARM9:02029E5A 69 29 CMP R1, #0x69 ; 'i' ; is the npcID the max? RAM_ARM9:02029E5C F2 D1 BNE loc_2029E44 ; if not, run the loop again and jump into the LUT at the next entry RAM_ARM9:02029E5E RAM_ARM9:02029E5E loc_2029E5E ; CODE XREF: getNPCBattleMusic__+Aj RAM_ARM9:02029E5E 03 48 LDR R0, =0x45A ; if it is the max value, return the default battle music RAM_ARM9:02029E60 18 BC POP {R3,R4} RAM_ARM9:02029E62 70 47 BX LR RAM_ARM9:02029E62 ; End of function getNPCBattleMusic__ RAM_ARM9:02029E62 RAM_ARM9:02029E62 ; --------------------------------------------------------------------------- RAM_ARM9:02029E64 C8 75 0A 02 off_2029E64 DCD word_20A75C8 ; DATA XREF: getNPCBattleMusic__+2r RAM_ARM9:02029E68 CA 75 0A 02 dword_2029E68 DCD 0x20A75CA ; DATA XREF: getNPCBattleMusic__+14r RAM_ARM9:02029E6C 5A 04 00 00 dword_2029E6C DCD 0x45A ; DATA XREF: getNPCBattleMusic__:loc_2029E5Er
  13. try the code that resets entire maps. it's in the gbatemp cheat database.
  14. no.. i just checked. it's 512kb and opens perfectly in pokegen. x86/x64 or os makes no difference. and yeah, any games that don't work, post about it on the neoflash forums and they will fix it. i don't know what you guys are doing, but i've now done my white and heart gold and they're both fine.
  15. gen 5 has a setting to prevent shininiess, allow shininess, or set shininess. some of the more recent cards have no shiny prevention on them.
  16. don't use the stuff on the cd, use this: http://www.neoflash.com/forum/index.php/topic,7346 you don't need 2 programs for anything.
  17. we don't need to help cheating on wifi any more. http://projectpokemon.org/forums/announcement.php?f=83 any such code posted is getting deleted. if you want to make it, do it yourself. i did last night, it took 5 minutes.
  18. i will delete any such code that gets posted. don't.
  19. you just want 120178BE 000020XX 020178C0 46C046C0 D2000000 00000000 there are slicker ways to do it, but this gets the job done for now.
  20. the max iv code you posted isnt writing data. it's an assembly "hack". they're thumb instructions, 201F is "mov r0, 31". i don't really want to do an iv code, but here's a wild nature mod code: select to set the nature, start to make it random again: 94000130 FFFB0000 120178BE 000020XX 020178C0 46C046C0 D2000000 00000000 94000130 FFF70000 120178BE 00002019 020178C0 FF14F7ED D2000000 00000000 0-0x19 as needed. there are better ways to do it so you can keep changing the nature, but that will work for now. good enough for 5 minutes.
  21. there's no pid/iv relationship in gen 5. it doesn't matter.
×
×
  • Create New...