mindfreak
Belgium Rom hacker
- 45
- Posts
- 17
- Years
- Seen Nov 1, 2012
Sorry for my horrible English.I'll try to explain everything as good as I can.
You probably know that in the pokémon games with a D/N system the pokemon at night are different from the one at day.
And now that ZodiacDaGreat and Interdpth have created a clock and a D/N system for firered I wondered if something like that would be possible to make.
So I tied to make something like that.
This is what I got so far:
(I used a Fire red rom with the D/N system from Zodiac and Interdpth)
I started to try to make a ASM script that stored the hours to 0x800D
(Unfortunally I can't give you the script because Interdepth asked in his treat to not post it)
(but I don't understand asm either so i can give you a hint ''Hackmew's knowledge secret ID tut'')
After that i searched for the pointer to ''the data of the pokemon in route 1 ''(search for 608E3C08).
and changed it to 4C550003 since I figured that you cant write to ROM ingame.
And at 0x00750000 I made new 'Night pokemon data'
Each pokemon has 4 bytes like this 03 03 13 00
(Keep in mind that you need at least 48 bytes free space 4bytes*12 pokemon)
After that I made (edited the pallete change script from foofatron) two asm scripts.
One to store the 'original day pokemon' from ROM to the RAM at 0300554C
And an other to store 'The night pokemon' from ROM to RAM at 0300554C
Day pokemons
Night pokemons ''same script other offset'' (750000 is the place where I stored the night pokemon data)
Once these were inserted I used this XSE script as a levelscript....
Problems I have found:
Advance map gives an error when you open route 1 cause 4C550003 isn't a pointer
you got to leave the map before the effect takes place.
I think there must be another way of making something like this
I hope you understanded everything .
You probably know that in the pokémon games with a D/N system the pokemon at night are different from the one at day.
And now that ZodiacDaGreat and Interdpth have created a clock and a D/N system for firered I wondered if something like that would be possible to make.
So I tied to make something like that.
This is what I got so far:
(I used a Fire red rom with the D/N system from Zodiac and Interdpth)
I started to try to make a ASM script that stored the hours to 0x800D
(Unfortunally I can't give you the script because Interdepth asked in his treat to not post it)
(but I don't understand asm either so i can give you a hint ''Hackmew's knowledge secret ID tut'')
After that i searched for the pointer to ''the data of the pokemon in route 1 ''(search for 608E3C08).
and changed it to 4C550003 since I figured that you cant write to ROM ingame.
And at 0x00750000 I made new 'Night pokemon data'
Each pokemon has 4 bytes like this 03 03 13 00
Code:
03 Min Lv
03 Max LV
1300 Pokemon hex number
After that I made (edited the pallete change script from foofatron) two asm scripts.
One to store the 'original day pokemon' from ROM to the RAM at 0300554C
And an other to store 'The night pokemon' from ROM to RAM at 0300554C
Day pokemons
Code:
.thumb
push {r0-r2, lr}
ldr r0, .Daypokes
ldr r1, .pokés
mov r2, #0x18
swi 11
pop {r0-r2, pc}
.align 2
.Daypokes:
.word 0x083C8E60
.pokés:
.word 0x0300554C
Code:
.thumb
push {r0-r2, lr}
ldr r0, .Nightpokes
ldr r1, .pokés
mov r2, #0x18
swi 11
pop {r0-r2, pc}
.align 2
.Nightpokes:
.word 0x08750000
.pokés:
.word 0x0300554C
Code:
#Dynamic 0x810000
#define B_< 0x0
#define B_<< 0x0
#define B_= 0x1
#define B_== 0x1
#define B_> 0x2
#define B_>> 0x2
#define B_<= 0x3
#define B_>= 0x4
#define B_!= 0x5
#define B_<> 0x5
'------------------------------------------------------
'Script
'------------------------------------------------------
#org @START
setvar 0x4033 0x1
callasm 0x800001
compare 0x800D 0x4
if B_>= goto @CHECK
goto @night
end
#org @CHECK
compare 0x800D 0x13
if B_>= goto @night
goto @day
#org @night
callasm 0x750031
end
#org @day
callasm 0x750045
end
Advance map gives an error when you open route 1 cause 4C550003 isn't a pointer
you got to leave the map before the effect takes place.
I think there must be another way of making something like this
I hope you understanded everything .