22 Commits
Author SHA1 Message Date
Medoc e17ccda687 WIP Cus. Res.: Use dynamic variable for resolution 2023-02-27 20:33:10 +01:00
Matthew Fioravante 89beb17b1d Remove SpriteTimer::Update 2020-10-09 14:04:20 -04:00
Matthew Fioravante 40f82fb27b Refactor Window_Message
* Reorganize update sequence
* Add debug logging to debug frame timing issues
* Simplify and streamline
* Add hacks to match RPG_RT open/close timing and intpreter
* Fix waits for printable and non-printable characters.

It appears that RPG_RT animates the message open and close *after*
the main loop. This causes a lot of complications for us, because much
code depends on whether the message window is visible or closing.

To workaround this difference we add close started and close finished
flags and wrap them.
2020-05-19 20:03:20 -04:00
Matthew Fioravante 3949dddeba Add Drawable::SetVisible()
Move visible into Drawable::Flags and check it during the draw loop.
2020-01-24 20:01:42 -05:00
Matthew Fioravante a5f60871a2 Remove extra game_temp includes 2020-01-12 13:50:43 -05:00
Matthew Fioravante c6c57262cc Remove Game_Temp::battle_running 2020-01-12 13:50:43 -05:00
Matthew Fioravante 79bbf40909 Encapsulate message_waiting and visible flags
Remove visible flag and just query the message windowt
2019-12-21 01:16:50 -05:00
Matthew Fioravante f91fe76db2 Drawable::Draw() pass in destination bitmap
Removes dependency on DisplayUI
2019-12-17 16:06:04 -05:00
Matthew Fioravante c9dd155ba7 Refactor Cache::System() again
Make Cache::System() return null and add
Cache::SystemOrBlack().

This would avoid potential flickering in cases where
async system graphic change from nothing to something.

Also, consistent with Cache::System2()
2019-08-15 19:07:07 -04:00
Matthew Fioravante 35fcca59b5 Refactor system2
* Only load system2 in one place - on first 2k3 battle.
* Don't draw anything if there is no system2 graphic (RPG_RT)
2019-08-15 19:07:07 -04:00
Matthew Fioravante b61b456d59 Handle timers and shadows when no system graphic 2019-08-15 19:07:07 -04:00
Matthew Fioravante 78e74efec9 Refactor game system
* RPG_RT compatible LSD chunks
* If graphics_name.empty(), message_stretch and font_id are 0
  and we fallback to database
* If !graphics_name.empty(), all 3 parameters are taken literally

* Refactor the Game_System Set() interface to uphold these invariants
* Refactor the Game_System Get() interface to fallback

* Encapsulate graphic change logic within the Cache to simplify users of
system graphics.

* Reset system graphic when returning the to the title screen.
2019-08-15 19:07:07 -04:00
Matthew Fioravante 592f70cf89 Refactor timers
* Refactor interface to be more user friendly
* Frame accurate timer behavior See #1702 test cases
* Fix : visibily to use timer frames, so that it is save game
  compatible.
2019-03-30 20:24:44 -04:00
Carsten Teibes 402edc77ed Remove annoying double line breaks 2017-07-27 00:02:10 +02:00
Ghabry 26fac2dd5e Fix incorrect timer value (too high by one) shown on first frame.
This fixes the flickering clock (which uses a timer) in Celestial Silfade Story (シルフェイド幻想譚).
2017-08-12 22:18:01 +02:00
Ghabry 9448f9e84b Add Priorities for Below/Same/Above Events and Below/Above Tiles. Rewording and cleanup. 2017-05-27 16:51:58 +02:00
Ghabry e8765f3e6b Categorize Z Priorities in groups. 2016-10-15 23:36:53 +02:00
Ghabry 1a2efe38d8 GetTimer returns now the remaining seconds (rounded up) instead of the frames.
This fixes a bug when code checks for "Timer >= 1s" followed by "Timer <= 0".
Because EasyRPG checked the frames both tests failed for the frames 1-59 (less then 1s, more then 0s).
The value is now rounded up to next second, to match RPG_RT behaviour.

Thix fixes another bug in CommandControlVariable: For Timer reads the variable was set to the frames, not to seconds.

Fix #1165
2017-05-16 20:20:27 +02:00
Zegeri b581da638f Fix timer position when no message is visible
Also: Remove declared but undefined functions related to timers
2016-07-13 17:42:13 +02:00
Ghabry 172ed72ca4 Timer sprite was invisible because Z value was too low 2015-05-03 02:03:54 +02:00
Ghabry c875f600cf In Battle timers. Fixes #406 2015-02-16 02:06:14 +01:00
Ghabry 8c84e66787 Display Timer on Map 2015-02-16 00:19:15 +01:00