The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > Fan Games > Binary ROM Hacking > Binary Hack Research & Development
Reload this Page Code ASM Resource Thread

Notices
For all updates, view the main page.

Binary Hack Research & Development Got a well-founded knack with your binary Pokémon hacks? Love reverse-engineering them? For the traditional Pokémon ROM hacker, this is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!

Ad Content
Reply
 
Thread Tools
  #476   Link to this post, but load the entire thread.  
Old February 25th, 2015 (7:47 AM).
HungLikeATauros HungLikeATauros is offline
Banned
 
Join Date: Feb 2015
Gender: Male
Posts: 46
Quote:
Originally Posted by FBI agent View Post
You need the random number routine and the shiny generator routine I made. The three of them work in conjunction to make this effect happen. I know it works, because my test ROM is only shinies :x
That's the thing though, I have those inserted.

I compiled the RNG code and put it at 74B7A4.

Then I compile this shiny generator code and put it at 74B7E4:
Spoiler:
.text
.align 2
.thumb
.thumb_func

main:
ldr r0, =(0x20370BC) @0x8002 is shiny flag
ldrb r0, [r0]
cmp r0, #0xFF
bne noCrash
push {r4-r7}
ldr r0, =(0x20370BC) @set back to 0x0 because users tend to be retarded
mov r1, #0x0
strb r1, [r0]
bl generatePID
mov r4, r0
@c = A xor B; 0<= C <8; use random to determine C
ldr r0, =(0x20370B8)
mov r1, #0x8
strb r1, [r0]
ldr r4, =(0x874B7A4 +1)
bl linker
mov r3, r0
@(TID xor SID)
ldr r0, =(0x300500C)
ldr r0, [r0]
mov r1, #0xA
add r1, r1, [email protected]
ldrh r1,[r1]
mov r2, #0xC
add r0, r0, r2 @SID
ldrh r0, [r0]
eor r0, r0, r1 @(TID XOR SID) = A
eor r3, r3, r0 @(C XOR A) = B
@B = (PID[half-word] xor PID2[half-word])
lsl r4, r4, #0x10
lsr r4, r4, #0x10
eor r3, r3, r4 @(PID[half-word] XOR B) = PID2
@concatinate r4 + r3
lsl r3, #0x10
orr r3,r3, r4 @PID for shiny
pop {r4-r7}
str r3, [SP, #0x14]
b end


noCrash:
bl generatePID
mov r4, r0
b old

generatePID:
push {r4, lr}
ldr r4, =(0x8044EC8 +1)
bl linker
mov r4, r0
ldr r3, =(0x8044EC8 +1)
bl linkerThree
lsl r4, r4, #0x10
lsr r4, r4, #0x10
lsl r0, r0, #0x10
orr r4, r0
mov r0, r4
pop {r4, pc}

old:
str r4, [SP, #0x14]

end:
ldr r0, =(0x803DB14 +1)
bx r0

linker:
bx r4

linkerThree:
bx r3

.align 2


I then change the bytes at 3DB00 to 00 48 00 47 E5 B7 74 and at 3DAF6 to 00 00 02 E0

Then I compile this shiny charm code and put it at 9F83A4:
Spoiler:
.text
.align 2
.thumb
.thumb_func


main:
push {r0-r3}
mov r0, #0xFF
add r0, #0x18
mov r1, #0x1
ldr r2, =(0x8099F40 +1)
bl linker
cmp r0, #0x0
beq normal
mov r0, #0x1
b calcChance

normal:
mov r0, #0x20
lsl r0, r0, #0x7 @1/4096 chance normally

calcChance:
ldr r1, =(0x20370B8)
strh r0, [r1]
ldr r2, .random
bl linker
cmp r0, #0xFF
bne end
ldr r1, =(0x20370BC)
strh r0, [r1]
ldr r1, =(0x20370B8)
mov r0, #0x0
strh r0, [r1]

end:
pop {r0-r3}
sub SP, SP, #0x20
mov r7, r0
ldr r4, [SP, #0x40]
ldr r4, [SP, #0x48]
mov r5, #0xE
ldr r6, =(0x803DAD8 +1)
bx r6

linker:
bx r2


.align 2

.random:
.word 0x874B7A4 +1


And I change the bytes at 3DACE 00 00 00 4F 38 47 A5 83 9F 08


Anything stupid that I'm doing that's jumping out at you? I know I'm compiling them correctly...
Reply With Quote
  #477   Link to this post, but load the entire thread.  
Old February 25th, 2015 (8:32 AM).
Blah's Avatar
Blah Blah is offline
Free supporter
 
Join Date: Jan 2013
Location: Unknown Island
Gender: Male
Posts: 1,924
Quote:
Originally Posted by HungLikeATauros View Post
That's the thing though, I have those inserted.

I compiled the RNG code and put it at 74B7A4.

Then I compile this shiny generator code and put it at 74B7E4:
Spoiler:
.text
.align 2
.thumb
.thumb_func

main:
ldr r0, =(0x20370BC) @0x8002 is shiny flag
ldrb r0, [r0]
cmp r0, #0xFF
bne noCrash
push {r4-r7}
ldr r0, =(0x20370BC) @set back to 0x0 because users tend to be retarded
mov r1, #0x0
strb r1, [r0]
bl generatePID
mov r4, r0
@c = A xor B; 0<= C <8; use random to determine C
ldr r0, =(0x20370B8)
mov r1, #0x8
strb r1, [r0]
ldr r4, =(0x874B7A4 +1)
bl linker
mov r3, r0
@(TID xor SID)
ldr r0, =(0x300500C)
ldr r0, [r0]
mov r1, #0xA
add r1, r1, [email protected]
ldrh r1,[r1]
mov r2, #0xC
add r0, r0, r2 @SID
ldrh r0, [r0]
eor r0, r0, r1 @(TID XOR SID) = A
eor r3, r3, r0 @(C XOR A) = B
@B = (PID[half-word] xor PID2[half-word])
lsl r4, r4, #0x10
lsr r4, r4, #0x10
eor r3, r3, r4 @(PID[half-word] XOR B) = PID2
@concatinate r4 + r3
lsl r3, #0x10
orr r3,r3, r4 @PID for shiny
pop {r4-r7}
str r3, [SP, #0x14]
b end


noCrash:
bl generatePID
mov r4, r0
b old

generatePID:
push {r4, lr}
ldr r4, =(0x8044EC8 +1)
bl linker
mov r4, r0
ldr r3, =(0x8044EC8 +1)
bl linkerThree
lsl r4, r4, #0x10
lsr r4, r4, #0x10
lsl r0, r0, #0x10
orr r4, r0
mov r0, r4
pop {r4, pc}

old:
str r4, [SP, #0x14]

end:
ldr r0, =(0x803DB14 +1)
bx r0

linker:
bx r4

linkerThree:
bx r3

.align 2


I then change the bytes at 3DB00 to 00 48 00 47 E5 B7 74 and at 3DAF6 to 00 00 02 E0

Then I compile this shiny charm code and put it at 9F83A4:
Spoiler:
.text
.align 2
.thumb
.thumb_func


main:
push {r0-r3}
mov r0, #0xFF
add r0, #0x18
mov r1, #0x1
ldr r2, =(0x8099F40 +1)
bl linker
cmp r0, #0x0
beq normal
mov r0, #0x1
b calcChance

normal:
mov r0, #0x20
lsl r0, r0, #0x7 @1/4096 chance normally

calcChance:
ldr r1, =(0x20370B8)
strh r0, [r1]
ldr r2, .random
bl linker
cmp r0, #0xFF
bne end
ldr r1, =(0x20370BC)
strh r0, [r1]
ldr r1, =(0x20370B8)
mov r0, #0x0
strh r0, [r1]

end:
pop {r0-r3}
sub SP, SP, #0x20
mov r7, r0
ldr r4, [SP, #0x40]
ldr r4, [SP, #0x48]
mov r5, #0xE
ldr r6, =(0x803DAD8 +1)
bx r6

linker:
bx r2


.align 2

.random:
.word 0x874B7A4 +1


And I change the bytes at 3DACE 00 00 00 4F 38 47 A5 83 9F 08


Anything stupid that I'm doing that's jumping out at you? I know I'm compiling them correctly...
Try setting 0x8002 to 0xFF. See if it turns shiny. Lets continue this discussion in the ASM help thread or something. We're kind of de-railing on this thread's purpose. At any rate, this is a problem with something in your ROM/execution rather than the routines. I have this routine setup in my ROM, and I've used similar for chain fishing which as worked fine.
__________________
...
Reply With Quote
  #478   Link to this post, but load the entire thread.  
Old February 27th, 2015 (2:16 PM).
Teh Blazer's Avatar
Teh Blazer Teh Blazer is offline
Divider of Zero
 
Join Date: Feb 2009
Location: 'MERICA
Age: 27
Gender: Male
Nature: Relaxed
Posts: 776
Does the party stat checker just check the stats of pokemon or can it actually alter them? Because I think something that can change the base stats of a pokemon (like add or subtract from the original value) would be pretty neat. :P
__________________
Being a hero is overrated anyways
Reply With Quote
  #479   Link to this post, but load the entire thread.  
Old February 28th, 2015 (1:45 AM).
Percy's Avatar
Percy Percy is offline
 
Join Date: Sep 2014
Location: Asia
Gender: Male
Nature: Quiet
Posts: 3,045
I can't get the Change OW thing to work. It always crashes after the intro. Btw, I tried it out several times.
__________________
i don't want to have a signature
Reply With Quote
  #480   Link to this post, but load the entire thread.  
Old March 1st, 2015 (6:06 AM).
leyn09's Avatar
leyn09 leyn09 is offline
Truant Trainer
 
Join Date: May 2011
Location: Philippines
Gender: Male
Nature: Careful
Posts: 84
Quote:
Originally Posted by FBI agent View Post
You would use the party checker routine to check if Mewtwo is holding the item. Then, depending on the return you would call silent evolution. It's just simply combining two routines I've already done.


Thanks.

Get Pokemon Type



Recently, someone commented on the limitations of my special 0x12b edit. Honestly speaking it is very limited, and only really has a use for checking if you have a certain type of Pokemon. If you had multiple pokemon of the same type it would only return the first one..ect.ect. Well I decided to customize it a little more. It's less powerful now, but more useful (hopefully). All it does is return the type of a Pokemon in a certain slot.

How to insert:

Compile and insert into free space the following routine:
Spoiler:

Code:
.text
.align 2
.thumb
.thumb_func

main: 
	push {r0-r2, lr}
	ldr r1, =(0x20370B8) @var 0x8000 is slot (0x0 to 0x5)
	ldrb r1, [r1]
	mov r0, #0x64
	mul r1, r1, r0 @slot to check
	ldr r0, =(0x2024284)	
	add r0, r0, r1
	mov r1, #0xB
	ldr r2, =(0x803FBE8 +1)
	bl linker
	lsl r0, r0, #0x10
	lsr r0, r0, #0x10
	lsl r1, r0, #0x3
	sub r1, r1, r0
	lsl r1, r1, #0x2
	ldr r2, =(0x8254784)
	add r1, r1, r2
	ldrb r0, [r1, #0x6]
	ldr r1, =(0x20370B8)
	strb r0, [r1]
	pop {r0-r2, pc}

linker:
	bx r2	
	

.align 2
Sorry, too lazy to fetch compiled version :D


Usage:
setvar 0x8000 0x[pokemon slot from 0 to 5]
callasm 0x[routine +1]

It will store the Pokemon's type in variable 0x8000 in the form of an integer. The values in decimal follow this table (it will be stored in hex of course):
Code:
0x0 - Normal
0x1 - Fighting	
0x2 - Flying
0x3 - Poison
0x4 - Ground
0x5 - Rock
0x6 - Bug
0x7 - Ghost
0x8 - Steel
0x9 - ???
0xA - Fire
0xB - Water
0xC - Grass
0xD - Electric
0xE - Psychic
0xF - Ice
0x10 - Dragon
0x11 - Dark
I have a question regarding this routine. If the pokemon has two types, how or what will the game store it to 0x8000? I'm sorry, I'm new to this asm thing. :(
Reply With Quote
  #481   Link to this post, but load the entire thread.  
Old March 2nd, 2015 (8:00 AM).
Blah's Avatar
Blah Blah is offline
Free supporter
 
Join Date: Jan 2013
Location: Unknown Island
Gender: Male
Posts: 1,924
Quote:
Originally Posted by Teh Blazer View Post
Does the party stat checker just check the stats of pokemon or can it actually alter them? Because I think something that can change the base stats of a pokemon (like add or subtract from the original value) would be pretty neat. :P
It just retrieves. There's a function in the game already at 0804037C which does what you want.

Quote:
Originally Posted by Percy View Post
I can't get the Change OW thing to work. It always crashes after the intro. Btw, I tried it out several times.
I'll do some more testing regarding this routine. I don't get the crashing on my end though, I think I may have forgotten about something in my post.

Quote:
Originally Posted by leyn09 View Post
I have a question regarding this routine. If the pokemon has two types, how or what will the game store it to 0x8000? I'm sorry, I'm new to this asm thing. :(
This one looks like it just returns the first type, which is actually kinda bad. I've edited it below to give the first type in 0x8000 and the second one in 0x8001. If the Pokemon is single typed, the value in 0x8001 will match 0x8000.

Spoiler:

Code:
.text
.align 2
.thumb
.thumb_func

main: 
	push {r0-r2, lr}
	ldr r1, =(0x20370B8) @var 0x8000 is slot (0x0 to 0x5)
	ldrb r1, [r1]
	mov r0, #0x64
	mul r1, r1, r0 @slot to check
	ldr r0, =(0x2024284)	
	add r0, r0, r1
	mov r1, #0xB
	ldr r2, =(0x803FBE8 +1)
	bl linker
	lsl r0, r0, #0x10
	lsr r0, r0, #0x10
	lsl r1, r0, #0x3
	sub r1, r1, r0
	lsl r1, r1, #0x2
	ldr r2, =(0x8254784)
	add r1, r1, r2
	ldrb r0, [r1, #0x6]
	ldr r2, =(0x20370B8) @Type 1 in 0x8000
	strb r0, [r2]
	ldrb r0, [r1, #0x7]
	strb r0, [r2, #0x2] @Type 2 in 0x8001
	pop {r0-r2, pc}

linker:
	bx r2	
	

.align 2



TM deletion fix (another one):
This one is for if you try and teach a Pokemon with less than 4 moves a TM. Apparently it does the deletion else where. To fix this insert the following byte changes:
@ 0x124EAC: 00 00 00 00
__________________
...
Reply With Quote
  #482   Link to this post, but load the entire thread.  
Old March 2nd, 2015 (10:12 PM).
kearnseyboy6 kearnseyboy6 is offline
Aussie's Toughest Mudder
 
Join Date: Dec 2008
Posts: 300
Since TM's are re usable with this hack, is there a way to not reset the PP back to maximum? Otherwise this makes PP easy to restore in game.
__________________
HOLIDAYING CURRENTLY!!
Reply With Quote
  #483   Link to this post, but load the entire thread.  
Old March 7th, 2015 (3:48 AM).
BLAx501!'s Avatar
BLAx501! BLAx501! is offline
Pokemon Flux
 
Join Date: Oct 2013
Location: Madrid, Spain
Gender: Male
Nature: Gentle
Posts: 80
I don't know if you have got anything new with the routine I suggested you about keeping the previous track along different maps that have associated different tracks, but I have a new suggestion ;)

I was wondering if it is possible to have two working textboxes. Like for a dialogue or something ;)
Reply With Quote
  #484   Link to this post, but load the entire thread.  
Old March 11th, 2015 (7:56 PM).
Kenny1's Avatar
Kenny1 Kenny1 is offline
On a break from Rom hacking, to improve other skills.
 
Join Date: Nov 2013
Gender: Male
Posts: 86
Quote:
Originally Posted by Dionen View Post
Fire Red gives you one trainer card with 8 gym badges, but some hacks have more than 8 gyms/travels to different regions. Is it possible to create more than one sets of badges? and maybe changing the trainer card backdrop/tileset with it. playing as a different person, stealing badges, there are many possibilities of events with it. It can be easily done with key-items, but come on, it's not the same thing. Well, just an idea. ^_^
All badges are only in one image, so a swapping routine would deal with that, I suppose. The rest of it can be handled via scripts
This is actually not that difficult to swap the images, idk if anyone's made it for you yet, so let me know, I might just make one more routine.
__________________
I'm no longer active here, I check back every now and then to see what happens, but that's it. I no longer hack either.
Reply With Quote
  #485   Link to this post, but load the entire thread.  
Old March 12th, 2015 (11:58 AM).
Chronosplit's Avatar
Chronosplit Chronosplit is offline
I play for keeps!
 
Join Date: Jan 2011
Gender: Male
Posts: 491
Question: would it be possible to enable the Delete Fainted Pokemon mode throughout the entire game? Not just in trainer battles I mean, wilds too.
__________________
My patch list, feel free to partake.
Reply With Quote
  #486   Link to this post, but load the entire thread.  
Old March 12th, 2015 (1:28 PM).
Joexv's Avatar
Joexv Joexv is offline
ManMadeOfGouda
joexv.github.io
 
Join Date: Oct 2012
Location: Oregon
Age: 25
Gender: Male
Nature: Sassy
Posts: 1,035
Quote:
Originally Posted by Projectwolfie View Post
Question: would it be possible to enable the Delete Fainted Pokemon mode throughout the entire game? Not just in trainer battles I mean, wilds too.
Yea, thats how Fbi agent set it up. Just use the routines hes posted on battle by move and deleting pokemon upon faint. It doesnt only do trainers.(or at least the older versions didnt idk if they were changed)
__________________
New living flesh vessel who dis?
Reply With Quote
  #487   Link to this post, but load the entire thread.  
Old March 12th, 2015 (4:40 PM).
InfiniteZero's Avatar
InfiniteZero InfiniteZero is offline
I never change my Avatar. D=
 
Join Date: Aug 2006
Age: 33
Nature: Brave
Posts: 61
Small request that I haven't seen around:

One of the newer features in Gen VI is the add-on to Pokemon in the Undiscovered Egg Group: All members of this egg group will have 3 31 IVs upon being captured or what have you.

Would be nice to see someone whip this feature up!
Reply With Quote
  #488   Link to this post, but load the entire thread.  
Old March 12th, 2015 (5:33 PM). Edited March 12th, 2015 by Chronosplit.
Chronosplit's Avatar
Chronosplit Chronosplit is offline
I play for keeps!
 
Join Date: Jan 2011
Gender: Male
Posts: 491
Quote:
Originally Posted by joexv View Post
Yea, thats how Fbi agent set it up. Just use the routines hes posted on battle by move and deleting pokemon upon faint. It doesnt only do trainers.(or at least the older versions didnt idk if they were changed)
Thanks for that notion. It's working perfectly.
__________________
My patch list, feel free to partake.
Reply With Quote
  #489   Link to this post, but load the entire thread.  
Old March 13th, 2015 (8:20 PM). Edited March 14th, 2015 by robinjea.
robinjea's Avatar
robinjea robinjea is offline
 
Join Date: Sep 2012
Age: 25
Gender: Male
Nature: Quirky
Posts: 534
Hello guys! :D We can request here, right? I'm here to request something that I'm pretty sure is a work for ASM. A routine that makes all Pokemon automatically regenerate 5HP every other turn in a battle AND a routine for making all Pokemon regenerate 3HP for every step in the overworld. Is that even possible? And if it is, can you make it both in one routine? Anyways, I'm requesting this for Fire Red (BPRE). :D Thank you!

P.S. I love everyone's routine here! Keep it up!
Reply With Quote
  #490   Link to this post, but load the entire thread.  
Old March 14th, 2015 (9:42 AM).
Dionen's Avatar
Dionen Dionen is offline
deprived of sleep
 
Join Date: Jun 2011
Location: Brazil
Gender: Male
Nature: Quirky
Posts: 295
Quote:
Originally Posted by Kenny1 View Post
This is actually not that difficult to swap the images, idk if anyone's made it for you yet, so let me know, I might just make one more routine.
Please do it! If possible, swapping graphics in general, not only badges
__________________
Reply With Quote
  #491   Link to this post, but load the entire thread.  
Old March 14th, 2015 (8:29 PM).
Joexv's Avatar
Joexv Joexv is offline
ManMadeOfGouda
joexv.github.io
 
Join Date: Oct 2012
Location: Oregon
Age: 25
Gender: Male
Nature: Sassy
Posts: 1,035
Well I'm gonna try my request here again, I would like a dynamic wild battle asm script for Emerald please.
Pretty much the same as jpans where you set some variables and it allows you to switch around the wild pokemon.
__________________
New living flesh vessel who dis?
Reply With Quote
  #492   Link to this post, but load the entire thread.  
Old March 17th, 2015 (8:02 AM).
Kenny1's Avatar
Kenny1 Kenny1 is offline
On a break from Rom hacking, to improve other skills.
 
Join Date: Nov 2013
Gender: Male
Posts: 86
Quote:
Originally Posted by Dionen View Post
Please do it! If possible, swapping graphics in general, not only badges
Swapping images isn't normally hard, or the palette's, its just it has to be hooked differently each time.

So you want me to switch the badge images? Or the Trainer case thing?
Or both?

Also, I'm not to active in hacking any more, but I can try this because it is quite easy.
__________________
I'm no longer active here, I check back every now and then to see what happens, but that's it. I no longer hack either.
Reply With Quote
  #493   Link to this post, but load the entire thread.  
Old March 17th, 2015 (5:27 PM).
Dionen's Avatar
Dionen Dionen is offline
deprived of sleep
 
Join Date: Jun 2011
Location: Brazil
Gender: Male
Nature: Quirky
Posts: 295
Quote:
Originally Posted by Kenny1 View Post
Swapping images isn't normally hard, or the palette's, its just it has to be hooked differently each time.
So you want me to switch the badge images? Or the Trainer case thing?
Or both?
Also, I'm not to active in hacking any more, but I can try this because it is quite easy.
Badge images are priority, but both would be awesome!
__________________
Reply With Quote
  #494   Link to this post, but load the entire thread.  
Old March 17th, 2015 (7:59 PM).
PokéMew's Avatar
PokéMew PokéMew is offline
Pokémon Fuchsia
 
Join Date: Sep 2013
Location: Refresh
Gender: Male
Nature: Modest
Posts: 484
One thing I would REALLY love, that I very much need for my hack, would be making the FireRed bicycle go the same speed as your overworld. I would think that ASM could achieve this.

Thanks :)

-PokéMew
Reply With Quote
  #495   Link to this post, but load the entire thread.  
Old March 18th, 2015 (12:07 PM).
Chronosplit's Avatar
Chronosplit Chronosplit is offline
I play for keeps!
 
Join Date: Jan 2011
Gender: Male
Posts: 491
Request, I'm hoping this isn't too much trouble.

The Light Ball Update, how possible is this to port over to Emerald?
__________________
My patch list, feel free to partake.
Reply With Quote
  #496   Link to this post, but load the entire thread.  
Old March 18th, 2015 (5:20 PM).
Blah's Avatar
Blah Blah is offline
Free supporter
 
Join Date: Jan 2013
Location: Unknown Island
Gender: Male
Posts: 1,924
Quote:
Originally Posted by kearnseyboy6 View Post
Since TM's are re usable with this hack, is there a way to not reset the PP back to maximum? Otherwise this makes PP easy to restore in game.
Hmm, this is actually hard because of the nature of how the PP exploit works. We would need to know the PP of the TM Move he had 2 TM moves ago. Picture this:

Have 10/20 Shockwave -> Learn TM Hyperbeam 5/5 (iirc) --> Learn Shockwave 20/20

How do we know to store the initial TM's PP? Also a 50% move losing 5 PP to learn Hyper beam is also a little weird. If you can come up with a solution for this problem, or tell me what GameFreak's solution is, I can help implement. In my eyes you'd store every Pokemon in party's moves learned. To achieve this, you would need 48 bytes of Save-block RAM space, and to update the values when Pokemon are swapped around, moves are learned via lvl/TM/Tutor. I'm curious about GF's solution to this problem.


Quote:
Originally Posted by BLAxTOISE View Post
I don't know if you have got anything new with the routine I suggested you about keeping the previous track along different maps that have associated different tracks, but I have a new suggestion ;)

I was wondering if it is possible to have two working textboxes. Like for a dialogue or something ;)
Sorry, I haven't worked on anything on this thread recently. I've unfortunately been caught by surprise at the workload the community hack off has put on me. Once that's out of the way I'll more clearly solve the music one. As for the textbox one, you can use a showmsg (the one that doesn't close on A-B press) and change it's coordinates (Shinyquagsire found some coordinates in RAM to do this) then open a normal text box. It should hopefully make 2 text boxes on the screen at once.

Quote:
Originally Posted by Kenny1 View Post
This is actually not that difficult to swap the images, idk if anyone's made it for you yet, so let me know, I might just make one more routine.
This is very dependent on what you're swapping. The solution is probably going to be a rewrite using the same skeleton. Also iirc, the badges are OAMs, not tile/bg graphics. You will need to generate/hide/show these extra OAMs on top of the BG overlay depending on the extra badge flags that have been implemented.

Quote:
Originally Posted by InfiniteZero View Post
Small request that I haven't seen around:

One of the newer features in Gen VI is the add-on to Pokemon in the Undiscovered Egg Group: All members of this egg group will have 3 31 IVs upon being captured or what have you.

Would be nice to see someone whip this feature up!
I actually already did this for someone, but haven't released the code it would seem! Let me find it/redo it and then I can post back with a resource.

Quote:
Originally Posted by robin22gongon View Post
Hello guys! :D We can request here, right? I'm here to request something that I'm pretty sure is a work for ASM. A routine that makes all Pokemon automatically regenerate 5HP every other turn in a battle AND a routine for making all Pokemon regenerate 3HP for every step in the overworld. Is that even possible? And if it is, can you make it both in one routine? Anyways, I'm requesting this for Fire Red (BPRE). :D Thank you!

P.S. I love everyone's routine here! Keep it up!
Wow. I'm genuinely happy someone requested this. Believe it or not, this exact routine was my first ever routine. Darthatron held my hand through the process, and it's been years since I've done it. I'd be happy to redo it just for the nostalgia :)

However, I should warn you that fitting it all into one routine is not possible.

Quote:
Originally Posted by PokéMew View Post
One thing I would REALLY love, that I very much need for my hack, would be making the FireRed bicycle go the same speed as your overworld. I would think that ASM could achieve this.

Thanks :)

-PokéMew
If I'm understanding correctly, you want to make the FR Bike the same speed as the walking overworld? Why is that? That would defeat the whole purpose of the bike. I hope you're not requesting this because you wanted an easy way of swapping the player's OW between two sets. If that's the case, you mustn't forget running shoes on/off. While I doubt something that stupid is your motive, I'm very curious what you'd use it for. Perhaps it's something I'm just not seeing.

Quote:
Originally Posted by Projectwolfie View Post
Request, I'm hoping this isn't too much trouble.

The Light Ball Update, how possible is this to port over to Emerald?
As a FR hacker, I have no clue. I do think it's just a matter of pointer changing.



Small update
You may have noticed that I'm not very much frequenting around this thread anymore. It's because I'm busy with the community hack-off. Once that's done, I have a few pretty useful routines which most people will probably appreciate.

Currently I have done, and have yet to release:
- Frontier Battle Routines
- Party/Opponent randomizer
- Automatic level curve/difficulty setting
- Field Moves
- OAM generation/manipulation routines
- Naming routines
- Button detection routines (for mini games!)

My main issue is my lack of motivation to write out explanation posts. I'm a little lazy to write out the specifications needed :x
__________________
...
Reply With Quote
  #497   Link to this post, but load the entire thread.  
Old March 18th, 2015 (5:34 PM).
PokéMew's Avatar
PokéMew PokéMew is offline
Pokémon Fuchsia
 
Join Date: Sep 2013
Location: Refresh
Gender: Male
Nature: Modest
Posts: 484
Quote:
Originally Posted by FBI agent View Post
If I'm understanding correctly, you want to make the FR Bike the same speed as the walking overworld? Why is that? That would defeat the whole purpose of the bike. I hope you're not requesting this because you wanted an easy way of swapping the player's OW between two sets. If that's the case, you mustn't forget running shoes on/off. While I doubt something that stupid is your motive, I'm very curious what you'd use it for. Perhaps it's something I'm just not seeing.
Well, my intent was to use the bike as, well, a key item called the dive suit. Its an item needed to access a certain place in the game (underwater as you may guess). The bicycle has a number of features that the running shoes do not to make things a hell of a ton simpler. For one, it is an actual item, rather than a flag. Also, the bike has its own soundtrack, where as the running shoes simply stick with the current sound track playing. That was one thing I felt this suit must need, a custom track (which I already inserted in sappy.) Now, if these things could be done to the running shoes using ASM (But I'd imagine that making the shoes an actual item and have its own sound track would be awfully complicated) thats another story, but for now I've just decided to use the bicycle as the thing to replace, I didn't find myself using the bike in the games anyways, mainly the shoes. It only has a tiny bit of a speed difference anyway.

That was my motive :)

So, possible?
Reply With Quote
  #498   Link to this post, but load the entire thread.  
Old March 18th, 2015 (11:47 PM).
destinedjagold's Avatar
destinedjagold destinedjagold is offline
You can contact me in PC's discord server...
 
Join Date: May 2007
Age: 32
Gender: Male
Nature: Careful
Posts: 8,579
Quote:
Originally Posted by FBI agent View Post
Hmm, this is actually hard because of the nature of how the PP exploit works. We would need to know the PP of the TM Move he had 2 TM moves ago. Picture this:

Have 10/20 Shockwave -> Learn TM Hyperbeam 5/5 (iirc) --> Learn Shockwave 20/20

How do we know to store the initial TM's PP? Also a 50% move losing 5 PP to learn Hyper beam is also a little weird. If you can come up with a solution for this problem, or tell me what GameFreak's solution is, I can help implement. In my eyes you'd store every Pokemon in party's moves learned. To achieve this, you would need 48 bytes of Save-block RAM space, and to update the values when Pokemon are swapped around, moves are learned via lvl/TM/Tutor. I'm curious about GF's solution to this problem.
Hm... How about a lazy method of doing this?
Like this...

Have 10/20 Shockwave -> Learn TM Hyperbeam 5/5 --> Learn Shockwave 5/20

Simply keep the numerator and only run a check if it's greater than the denominator. If the numerator's greater than the denominator, then make both values equal. :3
__________________

Reply With Quote
  #499   Link to this post, but load the entire thread.  
Old March 19th, 2015 (1:45 AM).
Percy's Avatar
Percy Percy is offline
 
Join Date: Sep 2014
Location: Asia
Gender: Male
Nature: Quiet
Posts: 3,045
Quote:
Originally Posted by FBI agent View Post

Small update
You may have noticed that I'm not very much frequenting around this thread anymore. It's because I'm busy with the community hack-off. Once that's done, I have a few pretty useful routines which most people will probably appreciate.

Currently I have done, and have yet to release:
- Frontier Battle Routines
- Party/Opponent randomizer
- Automatic level curve/difficulty setting
- Field Moves
- OAM generation/manipulation routines
- Naming routines
- Button detection routines (for mini games!)

My main issue is my lack of motivation to write out explanation posts. I'm a little lazy to write out the specifications needed :x
Can you be a more specific with the naming routines? Seems interesting :D
__________________
i don't want to have a signature
Reply With Quote
  #500   Link to this post, but load the entire thread.  
Old March 19th, 2015 (2:47 AM).
Xencleamas's Avatar
Xencleamas Xencleamas is offline
Suddenly lurking in the shadows...
 
Join Date: Feb 2014
Gender: Male
Nature: Adamant
Posts: 456
Can I request to have this thread to have examples of scripts (I mean the scripts which are XSE based)? Since a lot of people ask those here while checking ASMs. I think this should be started in the future posts of new ASMs (well, if you have effort enough to edit every single ASMs posted, then do so).
__________________
Reply With Quote
Reply

Quick Reply

Join the conversation!

Create an account to post a reply in this thread, participate in other discussions, and more!

Create a PokéCommunity Account
Ad Content

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 8:46 AM.