• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Tool: The Official DayAndNight-Thread

Status
Not open for further replies.

cooley

///Keepin' it simple
1,148
Posts
17
Years
Off-topic: By what I've heard, you can by making a script. Or just edit the normal one.

On-Topic: I am looking for any updates here, this will help me... Or else I'll have to make 2 new Tilesets for my evil Universe.
If it were that easy, I wouldn't be asking this question..:P

As for your second Question, what do you mean by it?
 

Heart's Soul

Hey, look, I was gone.
2,535
Posts
16
Years
  • Age 28
  • Seen Aug 20, 2020
I didn't ask a question... Er... Why? I will just look at every post here until a version forFRLG comes out, because there are more FR hackers than R/E.
 

ZodiacDaGreat

Working on a Mobile System
429
Posts
17
Years
cooley said:
Off-Topic: is there a way to activate Ruby's national dex?
You'll have to decrypt the game shark code to giving the national dex to get where the gameshark code writes to. Then use writebytetooffset to write the value given in the cheat to the pointer - which is also given by the cheat once its decrypted.

There are 3 gameshark codes to it. Hope that helps. BTW, are you planing to hack Ruby? ;)

@MX - all those stuff you're planning for us are cool. Can't wait ;)
 
712
Posts
16
Years
  • Age 31
  • Seen Apr 8, 2024
Also, is just a different effect for the same condition, like:
if(time>7)
{
wild_poke1=hoot-hoot
}

instead of:

if(time>7)
{
pallete=blue+10
}

OF COURSE IT ISN'T THAT SIMPLE. Just to undestand.

whe? is this tool made from java?
it would be a great help if someone teach me how to hexedit using java..

btw, im a java programmer..
 
Last edited:

Surf

...
1,196
Posts
15
Years
  • Age 29
  • Rust
  • Seen Jul 31, 2011
Also, is just a different effect for the same condition, like:
if(time>7)
{
wild_poke1=hoot-hoot
}

instead of:

if(time>7)
{
pallete=blue+10
}

OF COURSE IT ISN'T THAT SIMPLE. Just to undestand.

Your right i'm just going to shut up now
 

Mastermind_X

ASM-Hacker
92
Posts
17
Years
Annotation: No, I don't use java for this tool. The hack itself is based on pure assemblers (feel 100% efficiency, which none of the compilers can offer) and the tool itself is written in good old VB6. ^^

In addition to that: Sorry for the delay, I have to work for the university some hours per day...
 

X-aveon

IS BACK!!!!!!!!!!!!!!!!!!!
233
Posts
16
Years
  • Seen Jun 25, 2012
Annotation: No, I don't use java for this tool. The hack itself is based on pure assemblers (feel 100% efficiency, which none of the compilers can offer) and the tool itself is written in good old VB6. ^^

In addition to that: Sorry for the delay, I have to work for the university some hours per day...


its okay. if not for you, we wouldn't even have the possibility for this option! i'm sure we can wait longer.
 

jj_olli

It's coming...
141
Posts
17
Years
We can wait as long as the tool will give us what we wanted for so long, but please answer my question :(
Will there be morning, too?
 

Mastermind_X

ASM-Hacker
92
Posts
17
Years
Awesom MM_X, I have to day that I really like this.
But what's about Morning Time, are you going to implement morning too?

Werd ich machen, sobald ich Zeit dazu hab. Die erste Version wird nur Tag und Nacht haben. =P

Translation:
The first version will only have "day" and "night" - so nothing about "morning", "afternoon" and so on...
In order to be honest: One of the older D/N-S versions "faded" from day to night (screen transition) and vice-versa. But there were some compatibility problems so I decided to remove that again.
We'll see...
 

poddish

Spirit Of Radio
233
Posts
15
Years
You'll have to decrypt the game shark code to giving the national dex to get where the gameshark code writes to. Then use writebytetooffset to write the value given in the cheat to the pointer - which is also given by the cheat once its decrypted.

There are 3 gameshark codes to it. Hope that helps. BTW, are you planing to hack Ruby? ;)

@MX - all those stuff you're planning for us are cool. Can't wait ;)

I played light platinum and you can get the nd in it and it's a hack of ruby, and if it was that easy (at least to experienced hackers) don't you think more people would have done that, and someone would have made a tut on how to.
Or you could dig through fr/lg's code to figure out what flag is set to r/s to activate it when you trade between them.

Anyway, for a fr/lg version of this d/n tool, you could make it based off certain flags, or how many pokemon are in your pokedex. Or whenever
you beat the pokemon league again. That way, unlike my other ideas, you can change the time even after you set all the d/n flags/ complete your dex although you will have to wait until late in the game to use it, and if you want to change the time, you will have to train until you're strong enough to beat the stronger pkmn league, after the first time. Or you could make a bed in certain maps that allow you to change the time, but then you will have to release the flags that you used to change the time so we can use it.
 
Last edited:

ZodiacDaGreat

Working on a Mobile System
429
Posts
17
Years
jj_olli said:
We can wait as long as the tool will give us what we wanted for so long, but please answer my question :(
Will there be morning, too?
Come on pal... The image says it only Day & Night... I suppose MX will put the others in the next release or what ever he's planned.
 
1,104
Posts
16
Years
I played light platinum and you can get the nd in it and it's a hack of ruby, and if it was that easy (at least to experienced hackers) don't you think more people would have done that, and someone would have made a tut on how to.
Or you could dig through fr/lg's code to figure out what flag is set to r/s to activate it when you trade between them.
Actually there's a tutorial on it. It's just not here. You need to look, and not expect it to be dropped into your lap. Here's even a hint, MM_X. Very subtle, I know.
 

ZodiacDaGreat

Working on a Mobile System
429
Posts
17
Years
thethethethe said:
Actually there's a tutorial on it. It's just not here. You need to look, and not expect it to be dropped into your lap. Here's even a hint, MM_X. Very subtle, I know.
Not really a tutorial, but just the code. The post I made before basically contains how you do it... Man, loading should read this really. He discovered it :)
 

Mastermind_X

ASM-Hacker
92
Posts
17
Years
*rolleyes* C'mon guys. Let me solve the national dex problem so that we can return to the topic... =\

Code:
ROM:0809D448 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
ROM:0809D448
ROM:0809D448
ROM:0809D448 check_national_dex
ROM:0809D448                 PUSH    {LR}
ROM:0809D44A                 LDR     R0, =0x3005D90  ; Load DMA-Pointer-Area
ROM:0809D44C                 LDR     R0, [R0]        ; Get the first DMA save pointer
ROM:0809D44E                 LDRB    R0, [R0,#0x1A]  ; load the byte from r0+0x1a
ROM:0809D450                 CMP     R0, #0xDA       ; if it isn't 0xDA => no nationaldex
ROM:0809D452                 BNE     loc_809D484
ROM:0809D454                 LDR     R0, =0x4046
ROM:0809D456                 BL      get_var         ; load value of var 0x4046
ROM:0809D45A                 LSL     R0, R0, #0x10
ROM:0809D45C                 LDR     R1, =0x3020000
ROM:0809D45E                 CMP     R0, R1
ROM:0809D460                 BNE     loc_809D484     ; if it isn't 0x302 => no national dex
ROM:0809D462                 LDR     R0, =0x896
ROM:0809D464                 BL      check_flag      ; get national-dex-flag
ROM:0809D468                 LSL     R0, R0, #0x18
ROM:0809D46A                 CMP     R0, #0
ROM:0809D46C                 BEQ     loc_809D484     ; if it isn't set => no nationaldex
ROM:0809D46E                 MOV     R0, #1          ; if the execution isn't canceled up to
ROM:0809D46E                                           this point the function returns #1
ROM:0809D46E                                           we have the national-dex. =)
ROM:0809D470                 B       loc_809D486
ROM:0809D470 ; ---------------------------------------------------------------------------
ROM:0809D472                 DCB    0
ROM:0809D473                 DCB    0
ROM:0809D474 dword_809D474   DCD 0x3005D90
ROM:0809D478 dword_809D478   DCD 0x4046
ROM:0809D47C dword_809D47C   DCD 0x3020000
ROM:0809D480 dword_809D480   DCD 0x896
ROM:0809D484 ; ---------------------------------------------------------------------------
ROM:0809D484
ROM:0809D484 loc_809D484
ROM:0809D484
ROM:0809D484                 MOV     R0, #0          ; otherwise return 0
ROM:0809D486
ROM:0809D486 loc_809D486
ROM:0809D486                 POP     {R1}
ROM:0809D488                 BX      R1
ROM:0809D488 ; End of function check_national_dex
ROM:0809D488
ROM:0809D488 ; ---------------------------------------------------------------------------

The offsets to the left are the ones of EMER BPED. But the adresses loaded in the function remain the same for all games.
Summary:
The Pointer at 03005D90 in the RAM is 02024AB4. 02024AB4 + 0x1A = 02024ACE. Attention: Due to the DMA the calculated adress will always be something different. The way shown above is the only legitimate way to calculate it.
So => The byte at 02024ACE has to be 0xDA (change it in the memviewer if you want to test it)

The other two conditions are quite obvious:
- var 0x4046 has to be 0x0302
- flag 0x896 has to be SET

So - it's easy at all. b2topic, pls -.-"
 

Mastermind_X

ASM-Hacker
92
Posts
17
Years
~Edited~

As I said - the first offset has to be DMA secure. That means that it changes several times per minute. So you can't just write constantly to 2024ACE. Use the way I described. (I don't know if there is a way to "load a pointer" via pokescript - as far as I remember it isn't)
 
Last edited:

Darthatron

巨大なトロール。
1,152
Posts
18
Years
No. It won't work with your code.
As I said - the first offset has to be DMA secure. That means that it changes several times per minute. So you can't just write constantly to 2024ACE. Use the way I described. (I don't know if there is a way to "load a pointer" via pokescript - as far as I remember it isn't)

There is none as far as I know. I'll read better next time, sorry. :( *deletes post*
 
695
Posts
17
Years
  • Age 31
  • Seen Aug 20, 2017
So a firered and leaf green version is still coming *phew*.
Anyway good job on finding the flag XD.
Although the data was already for long time avaible.
XSE his std file open it with notepad it shows all most needed flags xd.
 
Status
Not open for further replies.
Back
Top