Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Reload this Page [Tool] DNS - Day, Night and Seasons

Notices
For all updates, view the main page.

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.



Reply
 
Thread Tools
  #51    
Old May 16th, 2011 (12:58 PM). Edited May 16th, 2011 by wildbeast.
wildbeast wildbeast is offline
 
Join Date: Nov 2010
Gender: Male
Posts: 3
How do you use the Seasons editor?? I put the offset and it said it had been inserted but they didn't work anywhere. Do I need a script? How does the Seasons Header work aswell??
It's a BRILLIANT tool, the day and night works GREAT but the seasons don't work anywhere.

Thanks

EDIT: I'm using a Fire Red ROM (BPRE)
Reply With Quote
  #52    
Old May 16th, 2011 (01:04 PM).
colcolstyles's Avatar
colcolstyles colcolstyles is offline
Yours truly
Crystal Tier
 
Join Date: May 2008
Location: The Bay Area
Gender: Male
Nature: Lonely
Posts: 1,592
Quote originally posted by Meta Paradox:
Hmm... so will this work?

Code:
#dynamic 0x[FSF Offset]
#org @start
compare 0x[RTC Var] 0x0
if 0x1 goto @sunday
...
#org @sunday
msgbox @sunday2 0x2
end

#org @sunday2
= It's a Sunday.
Yeah, that should work. I don't know if this tool designates a "RTC Var" but if you can find where the data is stored, you can use it with either 'compare' or 'comparefarbytetobyte'.
__________________

Brother of Vrai
Reply With Quote
  #53    
Old May 19th, 2011 (01:46 AM).
Meta Paradox Meta Paradox is offline
Researching FireRed...
 
Join Date: Apr 2011
Gender: Male
Nature: Serious
Posts: 56
Script working, check.
Now if someone can post the RTC Variable, that would be cool. :D
__________________
Meta Paradox On The Web:
http://metaparadox.webs.com/
Reply With Quote
  #54    
Old May 19th, 2011 (08:19 AM).
prime-dialga's Avatar
prime-dialga prime-dialga is offline
pure darkness
 
Join Date: Dec 2009
Gender: Male
Posts: 28
There isn't a RTC variable. You have to create your own with an ASM-script or you have to use comparefarbytetobyte and the RTC offset.

@wildbeast
You have to add some tilesetoffsets in the Boxes under the Seasons. I have made a tutorial how to use the Seasonseditor but it's written in german so it would not help you...
Reply With Quote
  #55    
Old May 19th, 2011 (09:50 AM).
pabioxxx pabioxxx is offline
 
Join Date: Aug 2010
Gender: Male
Posts: 32
Quote originally posted by prime-dialga:
There isn't a RTC variable. You have to create your own with an ASM-script or you have to use comparefarbytetobyte and the RTC offset.
Can you post an example? I don't know how to use comparefarbytetobyte...?

comparefarbytetobyte [pointer] [byte] - ok i know that, but where should I write RTC offset?
Reply With Quote
  #56    
Old May 19th, 2011 (10:09 AM).
prime-dialga's Avatar
prime-dialga prime-dialga is offline
pure darkness
 
Join Date: Dec 2009
Gender: Male
Posts: 28
Code:
[...]
comparefarbytetobyte 0x03005540 0x1
if 0x1 goto @ok
[...]

#org @ok
msgbox @txt 0x6
end

#org @txt = It's the 1st.
you can see the RTC-RAM-offset under the textbox with the RTC-script-offset...
Reply With Quote
  #57    
Old May 19th, 2011 (11:15 AM). Edited May 19th, 2011 by pabioxxx.
pabioxxx pabioxxx is offline
 
Join Date: Aug 2010
Gender: Male
Posts: 32
Quote originally posted by prime-dialga:
Code:
[...]
comparefarbytetobyte 0x03005540 0x1
if 0x1 goto @ok
[...]

#org @ok
msgbox @txt 0x6
end

#org @txt = It's the 1st.
you can see the RTC-RAM-offset under the textbox with the RTC-script-offset...
Ah...Ok, i know everything now...Great thanks, I was think that, posted [pointer] is like pointer in script (@something) :D
Reply With Quote
  #58    
Old May 19th, 2011 (12:20 PM). Edited May 19th, 2011 by wildbeast.
wildbeast wildbeast is offline
 
Join Date: Nov 2010
Gender: Male
Posts: 3
Quote originally posted by prime-dialga:
There isn't a RTC variable. You have to create your own with an ASM-script or you have to use comparefarbytetobyte and the RTC offset.

@wildbeast
You have to add some tilesetoffsets in the Boxes under the Seasons. I have made a tutorial how to use the Seasonseditor but it's written in german so it would not help you...
I got the HEX offset 002D4A94 for the main outdoor tileset from A-Map. When I inserted it into the 'Offset' box and pressed "Write Season changes to ROM" I got this error message: h**p://img4.imageshack.us/img4/4480/dnsediterrormessage.png
(Soz i can't post links :cer_shifty

Am I doing something wrong :cer_confused:?

I have read the tutorial for the season editor but it didn't make much sense to me.....probably because I put it into a translator :\
Reply With Quote
  #59    
Old May 21st, 2011 (01:18 AM).
ipatix's Avatar
ipatix ipatix is offline
Sound Expert
 
Join Date: May 2008
Location: Germany
Gender: Male
Nature: Relaxed
Posts: 135
I think you just have to leave out the '8' from the offset becuase thetool automatically adds 0x8000000.
__________________
Visit my YouTube channel (music hacking and other stuff): http://www.youtube.com/user/theipatix
Reply With Quote
  #60    
Old May 22nd, 2011 (04:46 PM). Edited May 22nd, 2011 by Jambo51.
Jambo51's Avatar
Jambo51 Jambo51 is offline
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Posts: 730
For anyone who is using BPRE, these routines will use the RTC's status byte to get what time of day it is, and evolve Eevee accordingly.

For Espeon:
Code:
.text
.align 2
.thumb
.thumb_func
.global espeonevocheck
main:
 ldr r1, time
 ldrb r1, [r1, #0x0]
 cmp r1, #0x4
 bge no
 cmp r1, #0x1
 blt no
 ldr r1, happinesscheck
 bx r1
no: ldr r0, exit
 bx r0
.align
time: .word 0x0203C000
happinesscheck: .word 0x08043001
exit: .word 0x08043111
Assemble and insert that routine anywhere in the ROM, then change the pointer at 0x42FC8 to point to the new routine, NOT PLUS ONE. The game uses mov pc, r0 to jump to the routine, meaning we do NOT need to add 1 for THUMB mode.

For Umbreon:
Code:
.text
.align 2
.thumb
.thumb_func
.global umbreonevocheck
main:
 ldr r1, time
 ldrb r1, [r1, #0x0]
 cmp r1, #0x4
 bge yes
 cmp r1, #0x1
 blt yes
 ldr r0, exit
 bx r0
yes: ldr r1, happinesscheck
 bx r1
.align
time: .word 0x0203C000
happinesscheck: .word 0x08043001
exit: .word 0x08043111
Assemble and insert that routine anywhere in the ROM, then change the pointer at 0x42FCC to point to the new routine, NOT PLUS ONE.

When assembled, along side the RTC, this will allow Eevee to evolve into Espeon and Umbreon in the proper way in BPRE. Anyone who wants to convert these routines for another version, feel free to do so. Just remember to credit me for the original routines.

For people who don't know how to assemble the routines, I attached the binaries to this post, allowing you to insert them from the binary directly. I offer no help on inserting these routines. You should read HackMew's ASM tutorials for a good beginner's insight into inserting ASM.
Attached Files
File Type: rar Eevolutions.rar‎ (186 Bytes, 77 views) (Save to Dropbox)
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Reply With Quote
  #61    
Old May 23rd, 2011 (03:39 PM).
Shiny Quagsire's Avatar
Shiny Quagsire Shiny Quagsire is offline
STOP HIM SAM, HE'S GONNA TELL US A STORY!!!
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 17
Gender: Male
Nature: Jolly
Posts: 689
Also, to the author of this tool. I highly recommend adding that into the patcher. A D/N System just isn't complete without Espeon and Umbreon. Just be sure to ask Jambo51 first. To Jambo51: Interesting! I'm just curios as to how exactly that works. Maybe just a small explanation.
__________________



Reply With Quote
  #62    
Old May 24th, 2011 (07:02 AM). Edited May 24th, 2011 by Jambo51.
Jambo51's Avatar
Jambo51 Jambo51 is offline
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Posts: 730
Quote originally posted by shiny quagsire:
Also, to the author of this tool. I highly recommend adding that into the patcher. A D/N System just isn't complete without Espeon and Umbreon. Just be sure to ask Jambo51 first. To Jambo51: Interesting! I'm just curios as to how exactly that works. Maybe just a small explanation.
All they do is compare the status byte of the Day and Night system and compare it with values which should be day or night.

I reasoned that status bytes 0, 4 and 5 would be night, while the rest would be day. There are 2 separate ones because the original ROM uses 2 separate ones. If it is the right time of day, the routine branches to the actual happiness evolution check already in the rom at 0x08043000.
If the time is "wrong" it branches to a routine which skips to read the next entry of the Pokémon's evolution data.

While it was designed for Espeon and Umbreon, it will work with any Pokémon in the game.

To port for other versions of BPR, you simply need to find the evolution types table, and replace the branches in my routines with appropriate branches for your version of the ROM.

@Prime - If you want to include it in your tool, feel free. Just credit me for the original routine. That's all I ask. :D

Also, If you wouldn't mind... Could I include a working version of your DAN in my patch i'm making? I'm creating a 649 Pokémon patch, and I have managed to include all the evolution types currently available. The thing is, a lot of them rely on the time, which isn't in a standard FR rom. So without the RTC, the routines will always think it's night time and people will complain that the routines don't work.
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Reply With Quote
  #63    
Old June 6th, 2011 (05:32 AM).
Meta Paradox Meta Paradox is offline
Researching FireRed...
 
Join Date: Apr 2011
Gender: Male
Nature: Serious
Posts: 56
Great going, Jambo51. Your 649 patch is pretty cool and what better way to cool-ify it more than to integrate it with another cool concept, right? :D

In my opinion, prime-dialga's DNS is the best RTC program that all others before it, 'cause this one is easier to use, and it has Seasons (perfect for a BW Demake). The 649 patch plus the DNS in a great hack would be like playing DS in a GBA... minus the touchscreen. XD

Here's to success for the both of you! Cheers!
__________________
Meta Paradox On The Web:
http://metaparadox.webs.com/
Reply With Quote
  #64    
Old June 7th, 2011 (01:28 AM).
Jambo51's Avatar
Jambo51 Jambo51 is offline
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Posts: 730
Quote originally posted by Meta Paradox:
Great going, Jambo51. Your 649 patch is pretty cool and what better way to cool-ify it more than to integrate it with another cool concept, right? :D

In my opinion, prime-dialga's DNS is the best RTC program that all others before it, 'cause this one is easier to use, and it has Seasons (perfect for a BW Demake). The 649 patch plus the DNS in a great hack would be like playing DS in a GBA... minus the touchscreen. XD

Here's to success for the both of you! Cheers!
The RTC/DNS is actually a requirement of the patch, in many ways. A lot of gen 4's evo types rely on the time of day, which is something the standard rom doesn't have. But I refuse to include someone else's work within my patch without the OK to do so. The exception to that, of course, being sprites which I will give credit for.
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Reply With Quote
  #65    
Old June 9th, 2011 (01:16 AM). Edited June 9th, 2011 by Meta Paradox.
Meta Paradox Meta Paradox is offline
Researching FireRed...
 
Join Date: Apr 2011
Gender: Male
Nature: Serious
Posts: 56
Darn, I can't understand anything going on, with all the bytes the tool gives me. Can anyone PLEEEAAASSE post an example of a script that reads the year, month, day, day of the week, etc...

Oh, and how do I read a specific byte in an offset? diegoisawesome tells me to read the byte then buffer the correct day of the week number. The tool that "the time will be written to 0300553C", but it also says that year will be 2 bytes, month will be 1 byte, blah blah blah. Okay, how do I read a SPECIFIC byte?

Please help. :l .................
__________________
Meta Paradox On The Web:
http://metaparadox.webs.com/
Reply With Quote
  #66    
Old June 12th, 2011 (07:26 AM).
Chimchar 9's Avatar
Chimchar 9 Chimchar 9 is offline
(:
Silver Tier
 
Join Date: Jan 2008
Location: England, Southampton.
Age: 21
Gender: Male
Nature: Calm
Posts: 1,621
This tool doesn't work for me. Does anyone know why?
__________________
Pokemon Green Diamond
Status: On Hold.
Reply With Quote
  #67    
Old June 13th, 2011 (02:10 AM).
Meta Paradox Meta Paradox is offline
Researching FireRed...
 
Join Date: Apr 2011
Gender: Male
Nature: Serious
Posts: 56
Quote originally posted by Chimchar 9:
This tool doesn't work for me. Does anyone know why?
Hmm, what OS do you run on your computer? It's either you're on XP without the proper .NET Framework, or I don't know.
__________________
Meta Paradox On The Web:
http://metaparadox.webs.com/
Reply With Quote
  #68    
Old June 13th, 2011 (08:27 AM).
Chimchar 9's Avatar
Chimchar 9 Chimchar 9 is offline
(:
Silver Tier
 
Join Date: Jan 2008
Location: England, Southampton.
Age: 21
Gender: Male
Nature: Calm
Posts: 1,621
Quote originally posted by Meta Paradox:
Hmm, what OS do you run on your computer? It's either you're on XP without the proper .NET Framework, or I don't know.
I can run it on my computer. xD
What I mean is that the environment doesn't look any different when I play the rom. Is their something I'm doing wrong? Because I did insert them.
__________________
Pokemon Green Diamond
Status: On Hold.
Reply With Quote
  #69    
Old June 13th, 2011 (11:36 AM).
prime-dialga's Avatar
prime-dialga prime-dialga is offline
pure darkness
 
Join Date: Dec 2009
Gender: Male
Posts: 28
@Chimchar 9
maybe you haven't inserted the Offsets of the Tileset, where you want to use the Seasons, or the VBA-RTC isn't eneabled...

@Jambo51
I'm working on a better version of this tool with some bugfixes (like Em-2 vs. 2-Trainerbattles) and some new features, if it'll work. Therefore i don't give anyone any permission to add this tool or a patch, created with this tool, in another tool. Please wait until i have released the second version of this tool and the DNS-System.
Reply With Quote
  #70    
Old June 14th, 2011 (01:51 AM).
Jambo51's Avatar
Jambo51 Jambo51 is offline
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Posts: 730
Quote originally posted by prime-dialga:
@Chimchar 9
maybe you haven't inserted the Offsets of the Tileset, where you want to use the Seasons, or the VBA-RTC isn't eneabled...

@Jambo51
I'm working on a better version of this tool with some bugfixes (like Em-2 vs. 2-Trainerbattles) and some new features, if it'll work. Therefore i don't give anyone any permission to add this tool or a patch, created with this tool, in another tool. Please wait until i have released the second version of this tool and the DNS-System.
No problem. :D The only question I ask here is will it still use the same status byte system? Obviously, it helps to know that so I can rewrite the evolution routines if I need to.
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Reply With Quote
  #71    
Old June 16th, 2011 (02:32 AM).
Paupir's Avatar
Paupir Paupir is offline
Dreamer
 
Join Date: May 2011
Location: UK
Gender: Male
Nature: Naughty
Posts: 22
If you're working on a new version, I'd really like to see the ability to swap tilesets between night and day (not all 5 or 6 times, though). I tried to do this myself with some success, but it bugged up the whole system.

Main reason for wanting this is... well, darkening the screen is all fine and well, but if you really want to capture the essence of night, you need lit up windows and lights You really do.

So what I'd really want to see is the ability to switch tilesets at a certain time (similar to the seasons, yeah). What I could then do is apply the RGB effect to all but one colour in the palletes and always use that colour for light (So that it's not dimmed at night). Would really be great and could make for some brilliant story scenes~
__________________
Just starting out ;
Reply With Quote
  #72    
Old June 17th, 2011 (09:37 AM).
Quilava's Master's Avatar
Quilava's Master Quilava's Master is offline
Shattered Dreams '13
 
Join Date: Jul 2007
Nature: Adamant
Posts: 694
I have a slight question. I got the seasons inserted and all that but I can't figure out how to have the game automatically update the tilesets to change in accordance with the seasons. When done manually it works but I'm looking for a way to do it within the game.

Would I have to load a level script that loads the new tileset/pallet? If so what command would I use?
__________________
The return of Pokemon Shattered Dreams! Click the screenshot to visit the thread, you know you want to.
Reply With Quote
  #73    
Old June 17th, 2011 (02:12 PM).
prime-dialga's Avatar
prime-dialga prime-dialga is offline
pure darkness
 
Join Date: Dec 2009
Gender: Male
Posts: 28
@Paupir
sry, i didn't want to add such a feature in a public version.

@Jambo51
I think it will still use the same Statusbytesystem, but probably the offsets of the pointers in the routines will change.

@Quilava's Master
Tools->Season Header Editor
This will help you to edit the Seasonheader and with this, you can change the Tileset.
Reply With Quote
  #74    
Old June 17th, 2011 (07:14 PM).
Quilava's Master's Avatar
Quilava's Master Quilava's Master is offline
Shattered Dreams '13
 
Join Date: Jul 2007
Nature: Adamant
Posts: 694
Quote originally posted by prime-dialga:
@Paupir
sry, i didn't want to add such a feature in a public version.

@Jambo51
I think it will still use the same Statusbytesystem, but probably the offsets of the pointers in the routines will change.

@Quilava's Master
Tools->Season Header Editor
This will help you to edit the Seasonheader and with this, you can change the Tileset.
I've done this but when I change the date on my computer the tileset changes don't take affect in the overworld.
__________________
The return of Pokemon Shattered Dreams! Click the screenshot to visit the thread, you know you want to.
Reply With Quote
  #75    
Old June 17th, 2011 (10:41 PM).
miksy91's Avatar
miksy91 miksy91 is offline
A GB/C Rom Hacker since 2010
 
Join Date: Oct 2008
Location: A small country in the North
Gender: Male
Nature: Relaxed
Posts: 1,302
Quote originally posted by Fireworks:
Something I think would be pretty cool is if you could load up a certain tileset and palette from the ROM, and edit the tiles/palettes for the seasons and DAN. You know, like you could have a tree full of leaves in Summer, and then it loses leaves when it gets to Autumn/Fall, is covered in Snow when it's Winter, and when it gets back to Spring all the leaves are back, with the addition of some cute little pink flowers.
Create a script for the map header to change the tree tiles when the map is entered depending on what season is on.
__________________
My Rom Hack




Learn how to hack GB/C games:

Check my GameBoy/Color hacking videos in Youtube
-The video set uses Pokemon Silver (U) rom for demonstrations
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 11:31 PM.