Users browsing this thread: 1 Guest(s)
Day/Night cycles in FF6
06-03-2015, 07:37 PM
dn: The Day/Night status is written as a temporary value at $1A in the RAM. It could be stored anywhere in the RAM I guess (with STA), what's the use case you had in mind?
seibaby: Yes, it can sync with Lockirby2's event editing.
You need an "initialization event" to set the correct tint when entering a location, something like this (untested):
<exit> should be replace with a 3 byte pointer to the last line with the FE command.
b0 01 50 9b 52 9b b1 is the line to tint one step from Lockirby2's doc.
If you have Lockirby2's doc you should be able to replace any c0 checks to the event bits with 66 checks to the game timer.
The 99:59 bug is a problem, I was hoping to load the game time uncapped, it must be counting somewhere, I mean the Opera scene works past 99:59 right? Timers are still running. I'll see if I can figure this out.
Affecting encounters is interesting, requires more ASM hacking for random encounters (I think C0/C176 determines random encounters on world map). For event encounters you should be able to use the Event Command 66 before starting the encounter.
seibaby: Yes, it can sync with Lockirby2's event editing.
You need an "initialization event" to set the correct tint when entering a location, something like this (untested):
Code:
66 01 <exit>
66 bc <exit>
b0 01 50 9b 52 9b b1
66 12 <exit>
66 ab <exit>
b0 01 50 9b 52 9b b1
66 23 <exit>
66 9a <exit>
b0 01 50 9b 52 9b b1
66 34 <exit>
66 89 <exit>
b0 01 50 9b 52 9b b1
66 56 <exit>
66 78 <exit>
b0 01 50 9b 52 9b b1
fe
b0 01 50 9b 52 9b b1 is the line to tint one step from Lockirby2's doc.
If you have Lockirby2's doc you should be able to replace any c0 checks to the event bits with 66 checks to the game timer.
The 99:59 bug is a problem, I was hoping to load the game time uncapped, it must be counting somewhere, I mean the Opera scene works past 99:59 right? Timers are still running. I'll see if I can figure this out.
Affecting encounters is interesting, requires more ASM hacking for random encounters (I think C0/C176 determines random encounters on world map). For event encounters you should be able to use the Event Command 66 before starting the encounter.
For the record, I made a similar thing forgetting completely about m06 code. I came here to check the tint value in Lockirby event lol. My approach is the exact same, except it use a custom timer that is only active on world map hence not being affected by time spent in town or the 99:59 bug (if I understand what m06 did). I also tint from #$08 to #$0F value of $22 and vice-versa. I should have looked at this thread before as m06 code while being different functioning seems cleaner.
I was thinking making a tint similar to the event one (color $9B) for overworld since I'm not sure it result only in a different brightness level like $22 value. Both are similar I guess but the nighttime on the boat on the Leo / Terra scene has a small tint of blue, which is nicer. I'll aim for this.
Here is a basic transition. It's easy to add a day / night period between transitions and set tint values where entering in town would result in night time or day time (no progressive tint in town but a custom event command that does the tint based on overworld tint. You place the command in entrance event of town maps).
I was thinking making a tint similar to the event one (color $9B) for overworld since I'm not sure it result only in a different brightness level like $22 value. Both are similar I guess but the nighttime on the boat on the Leo / Terra scene has a small tint of blue, which is nicer. I'll aim for this.
Here is a basic transition. It's easy to add a day / night period between transitions and set tint values where entering in town would result in night time or day time (no progressive tint in town but a custom event command that does the tint based on overworld tint. You place the command in entrance event of town maps).
01-05-2020, 06:25 AM
I threw together a sloppy edit of my patch so that it will loop back to 0 after hour 255. I only tested to make sure it loops properly, I didn't test if it has any unintended side effects elsewhere. Regardless, it should work for what you need. Hopefully.
« Next Oldest | Next Newest »
Users browsing this thread: 1 Guest(s)