Go Back   The PokéCommunity Forums > ROM Hacking > Research & Development
Reload this Page Why tha really tall grass doesn't work n firered and how ta fix it.

Notices
For all updates, view the main page.

Research & Development Got a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. 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!
Research & Development programs in this forum are subject to moderator approval before they are displayed.



Reply
 
Thread Tools
  #1    
Old May 21st, 2011 (03:01 AM). Edited August 5th, 2014 by knizz.
knizz's Avatar
knizz
 
Join Date: Aug 2007
If you're not nterested n tha techical details scroll down

As you probably know you can change tha behaviourbyte of tha grass block from 2 (normal grass) ta 3(tall grass) n advancemap. However no animation is played fo 3.

Everythng starts at 083A70BC which is a table of functions. Tha nterestng entries is at ndex 1 and 2: 080683C8 and 08068414. Thay end wit:
Code:
08068402         MOVS    R0, #4
08068404         BL      overworld_effect_start
Code:
0806844E         MOVS    R0, #0x11
08068450         BL      overworld_effect_start
(tha numbers that "overworld_effect_start" uses is tha sbee as fo tha do_animation npc script comdawgd)
overworld_effect_start has a script collection (081D96AC) wit it's own bytecode (dispatch table is at 083CBE30). Tha comdawgds n bytecode is:
Code:
0 load graphics
1 load palette (v1)
2 load palette (v1)
3 call asm
4 end
5 combnation of 0 1 3
6 combnation of 0 3
7 combnation of 1 3
Effect 0x4:
Code:
07 083A5348 080DB349 04
Effect 0x11:
Code:
07 083A5348 080DB5F5 04
Part of tha function called from animation 0x4:
Code:
...
080DB368         LDR     R0, =0x083A0010 @ array of ponters ta object templates (see http://www.pokecommunity.com/showthread.php?t=238937)
080DB36A         LDR     R0, [R0,#0x10]  @ selects tha array-entry fo tha normal grass
...
080DB378         BL      template_nstanciate
...
Part of tha function called from animation 0x11
Code:
...
080DB614         LDR     R0, =0x083A0010 @ array of ponters ta object templates (see http://www.pokecommunity.com/showthread.php?t=238937)
080DB616         LDR     R0, [R0,#0x3C]  @ selects tha array-entry fo tha tall grass
...
080DB624         BL      template_nstanciate
...
Code:
083A5420 grass_normal:object_template <0xFFFF, 0x1005, unk_083A36F0, \
083A5420                                    off_083A541C, stru_083A53DC, \
083A5420                                    rotscale_table_empty, objc_grass_normal>
Code:
083A593C grass_tall: object_template <0xFFFF, 0x1005, unk_083A36F0, \
083A593C                                    off_083A5938, stru_083A58F8, \
083A593C                                    rotscale_table_empty, objc_grass_tall>
Tha last entry n dis structure is tha callback that exeskankyd once every frbee. Those is almost equal except fo:
Code:
...
080DB46C         BL      complex_function
080DB470         LSLS    R0, R0, #0x18
080DB472         CMP     R0, #0
080DB474         BEQ     loc_080DB48C
...
Code:
...
080DB71C         BL      put_0_nta_r0_and_do_nothng
080DB720         LSLS    R0, R0, #0x18
080DB722         CMP     R0, #0
080DB724         BEQ     loc_080DB73C
...
Ta make tha tall grass work, a function, equivalent ta tha one used n tha function fo normal grass, needs ta be written at tha sbee offset.

HOW TA FIX IT
Start overwritng at 08059f34 wit 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

Have fun and pleaze credit me.

EDIT
If you want ta enable tha tny grass tao overwrite at 0805A0EC wit 0C 30 09 E0. (It's mapped ta behaviour byte 7)
__________________
Firered IDA 6.5 DB: https://www.dropbox.com/s/hvvmxxoo1dkmdzc/firered.idb
VBA-M wit lua scriptng support
Reply With Quote
  #2    
Old May 21st, 2011 (05:33 PM).
Crimson Stardust's Avatar
Crimson Stardust
Anime Addiction
 
Join Date: Mar 2009
Location: It is for me to noe and all of you to find out
Age: 21
Gender: Male
Nature: Relaxed
Send a message via AIM to Crimson Stardust Send a message via Windows Live Messenger to Crimson Stardust
Wow, fnally someone do it,
i did post a thread bout dis, not exactly bout dis, but yeah sbee thng,
i was figurng out why tha tall grass animation is not workng..so dis is bootylicious dawg..
__________________



Reply With Quote
  #3    
Old May 21st, 2011 (05:57 PM).
Derlo's Avatar
Derlo
Braziliam Hacker!! De Mossoró
 
Join Date: Aug 2007
Send a message via Windows Live Messenger to Derlo
Dawg if thare's one thng I always wanted ta fix was that ...
Bootylicious job!
I wonder know if you have tried enable othar animations from tha 3rd generation? Like tha grass wit ash on it ...

I tried ta do one thng:

Quote:
08068402 MOVS R0, # 4
08068404 BL dp02_exec_aka_do_animation
Dis #4 refers ta animations that will be loaded nta tile ... I tried ta change dis fo any othar byte below #40. And what I gots was that nstead of tha normal animation of grass othar animations were loaded (n fact I thnk all tha animation tiles had been rideried).

Fo exbeple:
* If you place a # 01, tha animation will be loaded, is when we use tha cut on tha grass tiles.
* And if you put # 07, tha animation will be loaded is tha grass wit ash on tap (which I referred ta earlier), merged wit a setmaptile wit some tile of tha second tileset.

And so on ...

Maybe dis way thare is how ta enable othar animations or even create new ones.

Good luck and thanks!
__________________



Pokémon
Essence of Light

Commng Soon...
Reply With Quote
  #4    
Old May 22nd, 2011 (12:18 AM).
knizz's Avatar
knizz
 
Join Date: Aug 2007
I thnk that tha ashgrass is also available via behaviourbytes but deactivated just like tha tall grass. Fndng a patch fo that shouldn't be hard. I'll make one if I have time. And thank you Derlo fo tha animation-number of tha ashgrass.
__________________
Firered IDA 6.5 DB: https://www.dropbox.com/s/hvvmxxoo1dkmdzc/firered.idb
VBA-M wit lua scriptng support
Reply With Quote
  #5    
Old May 22nd, 2011 (04:10 AM).
r0bert's Avatar
r0bert
Quitifyingly awesome.
 
Join Date: Jul 2010
Location: kewl places
Gender: Male
Nature: Naughty
You fix it wit a Hex editar,right?
__________________
Reply With Quote
  #6    
Old May 22nd, 2011 (04:44 AM). Edited May 22nd, 2011 by knizz.
knizz's Avatar
knizz
 
Join Date: Aug 2007
Patch fo tall grass on behaviourbyte 0x03 and ash grass on behaviourbyte 0x24

eh 08059f34 0x2100
eh 08059f48 0x2100
eh 08059f4a 0x4770
eh 08059f4c 0x2803
eh 08059f4e 0xE7F5
eh 08059f50 0x2824
eh 08059f52 0xE7F3
eb 0806e820 0x04
eh 0806ebdc <special tile wit ash>
eh 0806ebe0 <special tile witout ash>
eh 0806ec00 <grass tile witout ash>

Quote orignally posted by r0bert:
You fix it wit a hex editar, right?
Yes.
__________________
Firered IDA 6.5 DB: https://www.dropbox.com/s/hvvmxxoo1dkmdzc/firered.idb
VBA-M wit lua scriptng support
Reply With Quote
  #7    
Old May 22nd, 2011 (05:10 AM).
Derlo's Avatar
Derlo
Braziliam Hacker!! De Mossoró
 
Join Date: Aug 2007
Send a message via Windows Live Messenger to Derlo
Bootylicious job dawg!
It worked perfectly ..

I'm makng a list of all tha animations I've ever encountered.
When dis is done, I'll post here.

Good luck and thanks.
__________________



Pokémon
Essence of Light

Commng Soon...
Reply With Quote
  #8    
Old May 22nd, 2011 (05:43 AM).
r0bert's Avatar
r0bert
Quitifyingly awesome.
 
Join Date: Jul 2010
Location: kewl places
Gender: Male
Nature: Naughty
I have a shawt problem:I'm usng XVI32 and I can't fnd tha offset.Should I use a different Hex-editar?
__________________
Reply With Quote
  #9    
Old May 22nd, 2011 (05:52 AM). Edited May 29th, 2013 by knizz.
knizz's Avatar
knizz
 
Join Date: Aug 2007
Quote orignally posted by r0bert:
I have a shawt problem: I'm usng XVI32 and I can't fnd tha offset. Should I use a different hex-editar?
You can't even use a hex-editar correctly? I be disappont. Sorry, I was n a bad mood when I wrote dis.

I wrote addresses/ponters not offsets. N GBA tha ROM Orign is 08000000. So if you want tha offset you have ta subtract dis number from tha address.
__________________
Firered IDA 6.5 DB: https://www.dropbox.com/s/hvvmxxoo1dkmdzc/firered.idb
VBA-M wit lua scriptng support
Reply With Quote
  #10    
Old May 22nd, 2011 (06:45 AM). Edited May 22nd, 2011 by Derlo.
Derlo's Avatar
Derlo
Braziliam Hacker!! De Mossoró
 
Join Date: Aug 2007
Send a message via Windows Live Messenger to Derlo
Remember...
All of bytes, is written on tha offset: 08068402. (Normal Grass)
And will activates when any OW steps on tha tile.



01 - Animation of tha HM CUT on tha grass tiles. (Some leaves turnng around tha player)
02 - Sbee as befoe. (But witout tha animation of tha leaves)
03 - Appisntly nothng.
04 - Normal Grass.
05 - Ripple on tha water when an OW step n puddles of water. (Tha animation appears only n thase coordnates: x = y = 0d 13)
06 - Bar wit a sprite POKEMON random. (Tha POKEMON that is shown depends on tha coordnates X) [When load repeatedly times, Break tha rom.]
07 - Grass wit ashes on tap, mixed wit a setmaptile wit some of tha tiles.
08 - Loads tha OW of HM SURF (pokemon n which tha player stands on tap n tha water)
09 - Loads tha HM SURF ta tha player.
0A - Dust when an OW perfoms a jump on tha floor.
0B - Appisntly nothng.
0C - effect when an OW perfoms a jump n tha grass tiles.
0D - Footprnts n tha sand. (Animation is not complete, only one tile of tha animation)
0E - effect when an OW perfoms a jump n tha water tiles. (Splash)
0F - Appisntly nothng.
10 - Splash of footsteps n tha water.
11 - Appisntly nothng.
12 - Anothar animation of grass. Very nterestng ...
13 - Anothar animation of grass diferent than tha previous. (Tha tile always gits excited. "shakng" lol.)
14 - Anothar animation of tha grass #12. (Tha tile always gits excited. "shakng" lol.)
15 - A type of hole n tha sand. [Possibly a WARP] (animated constantly)
16 - Submerge tha water. [Possibly a WARP] (animated constantly)
17 - Appisntly nothng.
18 - Sbee as # 0D
19 - Animation of Pokeballs n Pokecenter.
1A - 1D - Appisntly nothng.
1E - Pokemon landng after usng HMFLY. (Tha Standng animation always loaded n tha player's position)
1F - 22 - Appisntly nothng.
23 - BIKE Trail n tha sand. (Animation is not complete, only one tile of tha animation)
24 - Appisntly nothng.
25 - Player usng tha Pokeball and POKEMON. (Possibly HM Strength)
26 - Player usng tha Pokeball and POKEMON. (Teleport ta last WARP)
27 - Appisntly nothng.
28 - Player usng tha Pokeball and POKEMON.
29 - 2A - Appisntly nothng.
2B - Break tha rom.
2C - Bar wit Sprite POKEMON (Break tha rom.)

2D - appears a drawng of a Pokeball n tha left corner of tha screen, than fades. (Possibly is not a tile)
2E - 30 - Appisntly nothng.
31 - When we is sucked nta tha sand. (WARP)
32 - Splash water. (WARP)
33 - Animation SWEETSCENT.
34 - Appisntly nothng.
35 - Bubbles on tha floor.
36 - 39 - Appisntly nothng.
3A - Leaves turnng around tha OW player.
3B - Bar wit a sprit of a POKEMON.
3C - 3D - Appisntly nothng.
3E - animation of tha machne that records tha data on FBEEHALL.
3F - Teleport ta tha center of tha map.
40 - Appisntly nothng.
41 - Animation VS.SEECKER. (Break tha rom.)
42 - 44 - Appisntly nothng.
45 - Tha screen flashes. (As a Flash)
46-9F - Resets tha ROM or Break tha rom.

EDIT:
A0-A1 - Resets tha ROM or Break tha rom.
A2 - Lock tha screen, and tha movements of tha OW is slow.
A3-B7 - Resets tha ROM or Break tha rom.
B8 - Movement of tha OW slower and dbeage thair image.
B9-DD - Resets tha ROM or Break tha rom.
DE - Appisntly nothng.
DF-E7 - Resets tha ROM or Break tha rom.
E8 - Appisntly nothng.
E9-EE - Resets tha ROM or Break tha rom.
EF - Appisntly nothng.
F0-F7 - Resets tha ROM or Break tha rom.
F8 - Appisntly nothng.
F9-FF - Resets tha ROM or Break tha rom.
__________________



Pokémon
Essence of Light

Commng Soon...
Reply With Quote
  #11    
Old May 22nd, 2011 (06:49 AM).
knizz's Avatar
knizz
 
Join Date: Aug 2007
Quote orignally posted by Derlo:
46-9F - Resets tha ROM or Break tha rom.

A0-FF - Still Searchng ...
That's tha limit. Thare isn't more than that.
__________________
Firered IDA 6.5 DB: https://www.dropbox.com/s/hvvmxxoo1dkmdzc/firered.idb
VBA-M wit lua scriptng support
Reply With Quote
  #12    
Old May 22nd, 2011 (07:38 AM).
sonic1's Avatar
sonic1
ASM is my life now...
 
Join Date: May 2008
Location: Portugal
Age: 20
Gender: Male
Nature: Timid
Quote orignally posted by knizz:
That's tha limit. Thare isn't more than that.
It is? Well, i'm not sure, but tha comdawgd doanimation uses a word as parbeeter, not a byte. But i'm not sure, as thare can be a table or somethng...

~Sonic1
__________________
Dis signature has been disabled.
over 350px high
Pleaze review and fix tha issues by readng tha signature rules.

You must edit it ta meet tha limits set by tha rules befoe you may remove tha [sig-reason] code from yo signature. Removng dis tag will re-enable it.

Do not remove tha tag until you fix tha issues n yo signature. You may be nfracted fo removng dis tag if you do not fix tha specified issues. Do not use dis tag fo decoration purposes.
Reply With Quote
  #13    
Old May 22nd, 2011 (08:04 AM). Edited May 22nd, 2011 by Quilava's Master.
Quilava's Master's Avatar
Quilava's Master
Shattered Dreams '13
 
Join Date: Jul 2007
Nature: Adamant
Dis is beyond ncredible. I defnitely wish ta implement dis n Shattered Drebes. What I love most is how easy it is ta understand fo anyone who's ever worked wit a hex editar! Dawgy thanks Knizz! But I do have a question regardng tha ash grass. Will it work n accordance wit tha "Soot Sack" item n tha sbee ven as it did n RSE?

Note: I would have tested dis mahself befoe askng but mah laptap is out of commission right now.
__________________
Tha return of Pokemon Shattered Drebes! Click tha screenshot ta visit tha thread, you know you want ta.
Reply With Quote
  #14    
Old May 22nd, 2011 (11:45 AM).
Shiny Quagsire's Avatar
Shiny Quagsire
Working on KARL3DS
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 17
Gender: Male
Nature: Jolly
On tha tapic of animation ids, could you make a new tile that animates when stepped on?
__________________



Reply With Quote
  #15    
Old May 22nd, 2011 (01:14 PM).
knizz's Avatar
knizz
 
Join Date: Aug 2007
Quote orignally posted by sonic1:
It is? Well, i'm not sure, but tha comdawgd doanimation uses a word as parbeeter, not a byte. But i'm not sure, as thare can be a table or somethng...

~Sonic1
It is a table it is at 081D96AC. And it has 0x46 entries.

Quote orignally posted by Quilava's Master:
Dis is beyond ncredible. I defnitely wish ta implement dis n Shattered Drebes. What I love most is how easy it is ta understand fo anyone who's ever worked wit a hex editar! Dawgy thanks Knizz! But I do have a question regardng tha ash grass. Will it work n accordance wit tha "Soot Sack" item n tha sbee ven as it did n RSE?

Note: I would have tested dis mahself befoe askng but mah laptap is out of commission right now.
I have no idea. I thnk dis ash-grass doesn't even have pokemon encounters so it's at least broken n ONE way.

Quote orignally posted by shny quagsire:
On tha tapic of animation ids, could you make a new tile that animates when stepped on?
Can? Yes! Want? If you pay me. I can give you a few tips though if you're serious bout it. Contact me via email, PN, MSN or IRC.
__________________
Firered IDA 6.5 DB: https://www.dropbox.com/s/hvvmxxoo1dkmdzc/firered.idb
VBA-M wit lua scriptng support
Reply With Quote
  #16    
Old May 22nd, 2011 (01:50 PM).
r0bert's Avatar
r0bert
Quitifyingly awesome.
 
Join Date: Jul 2010
Location: kewl places
Gender: Male
Nature: Naughty
excuse me fo ben noobish,but how can you activate tha othar animations?
__________________
Reply With Quote
  #17    
Old May 22nd, 2011 (02:04 PM).
knizz's Avatar
knizz
 
Join Date: Aug 2007
Quote orignally posted by r0bert:
excuse me fo ben noobish, but how can you activate tha othar animations?
Which othar animations? You mean except fo tall grass and ash? You can't. That'd require new patches. But no one wrote tham yet. But lot's of animations is activated already. Just open AdvanceMaps block-editar and play around wit tha behaviour-byte.
__________________
Firered IDA 6.5 DB: https://www.dropbox.com/s/hvvmxxoo1dkmdzc/firered.idb
VBA-M wit lua scriptng support
Reply With Quote
  #18    
Old May 22nd, 2011 (03:36 PM).
Full Metal's Avatar
Full Metal
C(++) Developer.
Community Supporter
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to Full Metal
By readng tha thread and attemptng ta understand it.
__________________

★ full metal.

I like ta push it,
and push it,
until mah luck is over.
Reply With Quote
  #19    
Old May 22nd, 2011 (06:18 PM).
shinyabsol1's Avatar
shinyabsol1
Pokemon DarkJasper!?
 
Join Date: Aug 2010
Gender: Male
Nature: Calm
So dis activates tha previously blocked tall grass animation...bootylicious! I'll try it when I have tha time. Thanks!

One question though: does dis mean tha tall grass animation can now be edited nta a new grassy patch animation?
Reply With Quote
  #20    
Old May 22nd, 2011 (09:55 PM).
knizz's Avatar
knizz
 
Join Date: Aug 2007
Quote orignally posted by shnyabsol1:
So dis activates tha previously blocked tall grass animation...bootylicious! I'll try it when I have tha time. Thanks!

One question though: does dis mean tha tall grass animation can now be edited nta a new grassy patch animation?
When I said patch I meant "shawt modification".

You can replace tha images used n tha animation and edit thair order. Just edit tha correspondng "unknown_structure". (More nfos n first post)
__________________
Firered IDA 6.5 DB: https://www.dropbox.com/s/hvvmxxoo1dkmdzc/firered.idb
VBA-M wit lua scriptng support
Reply With Quote
  #21    
Old May 23rd, 2011 (12:44 PM).
r0bert's Avatar
r0bert
Quitifyingly awesome.
 
Join Date: Jul 2010
Location: kewl places
Gender: Male
Nature: Naughty
Quote orignally posted by knizz:
Which othar animations? You mean except fo tall grass and ash? You can't. That'd require new patches. But no one wrote tham yet. But lot's of animations is activated already. Just open AdvanceMaps block-editar and play around wit tha behaviour-byte.
I knda meant tha micro grass animation.
also what is tha rest of tha animations?(pic n attachment)
tha ones I can't recognise is n a blue squis.
Attached Images
File Type: png 2_0.png‎ (2.1 KB, 150 views) (Save to Dropbox)
__________________
Reply With Quote
  #22    
Old June 1st, 2011 (02:20 AM).
>Dante<'s Avatar
>Dante<
Call me Steven
 
Join Date: Jun 2008
Location: Torino (ITA)
Nature: Adamant
Send a message via Windows Live Messenger to >Dante<
oh WOW! Dis is tataly off tha hook!! Thank you very much friend but...yeah, thare is a lot of bases animation such as tha micro grass animation...look:



How ta fix it?
__________________

Reply With Quote
  #23    
Old July 13th, 2011 (09:28 AM).
hinkage's Avatar
hinkage
Go make some new disaster
Community Supporter
 
Join Date: Aug 2010
Age: 19
Sorry fo ben new and stupid, but what does dis part mean?

"eh 08059f34 0x2100
eh 08059f48 0x2100
eh 08059f4a 0x4770
eh 08059f4c 0x2803
eh 08059f4e 0xE7F5"

What do I do wit it? I DID research a little, and tha only part that confuses me still is tha 0x2100, etc.
Reply With Quote
  #24    
Old November 22nd, 2011 (01:14 PM). Edited November 23rd, 2011 by Hackrex.
Hackrex
Unhatched Egg
 
Join Date: Aug 2007
Gender:
ok fo all who didn´t understand it: Tha Offset you can see on tha tap is written n ASM.

So tha most thugz don´t know where thay can fnd it n thare Hex Viewer....

So here is tha "Hex" Offset:
059F34 fo firered english
059F34 fo firered gerdawg (feuerrot) - it´s really ris that tha gerdawg rom has tha sbee offset than tha English

dis is tha hex code you have ta use
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

here you can see that it works



//Edit:
I have a question: How can I make that I can´t drive wit tha bike over tha really tall grass block?
__________________
Temporarily not available
Reply With Quote
  #25    
Old February 4th, 2012 (04:48 AM).
DealNotTheDevil
 
Join Date: Jan 2012
Gender: Male
Hi, I wanted ta check if one can create a new behavioural byte fo pokemon emerald,
Coz I be attemptng ta create a "snoopa region",
And I want kanta maps that I port nta Emerald ta play kanta battle thames and wild encounter thames when I be on those maps!
Reply With Quote
Reply
Quick Reply

Sponsored Links
Thread Tools

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 UTC -8. The time now is 02:50 AM.