Patric Stout
0e76d965f1
Codechange: deduplicate tick-handlers of all video drivers
...
They were all identical, so better put this in a single place
hoping it is less likely to break.
2021-02-20 17:08:44 +01:00
Patric Stout
ec1dd0bf61
Codechange: be consistent in what CheckPaletteAnim() does and when it is called
...
Additionally, make sure this is a class method. Later commits
will make use of this.
2021-02-20 17:08:44 +01:00
Patric Stout
790fa7102e
Codechange: be consistent in naming the paint function Paint()
...
Also move this function to be a class member. This to allow
further deduplicating of code in a later commit.
2021-02-20 17:08:44 +01:00
Patric Stout
761efbb457
Codechange: use (Un)LockVideoBuffer() to manage video buffer
2021-02-20 17:08:44 +01:00
Patric Stout
661eb39ecc
Codechange: move all input-handling of video-drivers into InputLoop
2021-02-20 17:08:44 +01:00
Patric Stout
fa170b9ace
Feature: configurable refresh-rate and change default to 60fps
...
Most modern games run on 60 fps, and for good reason. This gives
a much smoother experiences.
As some people have monitors that can do 144Hz or even 240Hz, allow
people to configure the refresh rate. Of course, the higher you
set the value, the more time the game spends on drawing pixels
instead of simulating the game, which has an effect on simulation
speed.
The simulation will still always run at 33.33 fps, and is not
influences by this setting.
2021-02-19 10:43:15 +01:00
Patric Stout
ae7a2b9f02
Change: allow video-drivers to miss deadlines slightly
...
Before, every next frame was calculated from the current time.
If for some reason the current frame was drifting a bit, the
next would too, and the next more, etc etc. This meant we rarely
hit the targets we would like, like 33.33fps.
Instead, allow video-drivers to drift slightly, and schedule the
next frame based on the time the last should have happened. Only
if the drift gets too much, that deadlines are missed for longer
period of times, schedule the next frame based on the current
time.
This makes the FPS a lot smoother, as sleeps aren't as exact as
you might think.
2021-02-19 10:43:15 +01:00
Michael Lutz
22f5aeab07
Feature: Automatic UI and font zoom levels when supported by the OS.
2021-02-14 14:16:40 +01:00
Michael Lutz
fa60c1f8b9
Feature: Choose a sensible window size on a fresh OTTD config file. ( #8536 )
2021-01-14 21:53:06 +01:00
Michael Lutz
37bc2f8064
Codechange: Use std::string in the driver and blitter selection code.
2020-05-21 20:02:34 +02:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Jonathan G Rennison
81f159434d
Codechange: Add EditBoxGainedFocus method to VideoDriver base class
2019-11-10 17:58:42 +00:00
glx
9195f2337a
Codechange: use std::vector for _resolutions
2019-04-18 21:49:34 +02:00
frosch
b1fe837b8e
(svn r27775) -Fix [FS#6510]: Insufficient thread synchronisation when switching blitters. (JGR)
2017-03-11 13:05:54 +00:00
rubidium
b476086c39
(svn r26538) -Codechange: remove double accounting of the drivers
2014-04-28 21:06:51 +00:00
rubidium
defda16eb6
(svn r26108) -Codechange: some coding style (whitespace)
2013-11-25 14:30:22 +00:00
rubidium
6996b441d9
(svn r26107) -Codechange/cleanup: remove some coding bloat and simplify the driver factory instatiations
2013-11-25 14:26:46 +00:00
michi_cc
13873d2534
(svn r25678) -Codechange: Notify the video driver when an edit box lost (global) focus so it can abort any current input composition.
2013-08-05 20:37:02 +00:00
rubidium
6e31c2f068
(svn r23241) -Codechange: make the decision when to go to the custom drawn cursor more prominently during the initialisation of OpenTTD
2011-11-17 21:09:08 +00:00
michi_cc
6dbb050a32
(svn r22999) -Codechange: Allow changing the blitter during the running game.
2011-10-04 21:35:40 +00:00
rubidium
9fe4b959ac
(svn r22818) -Fix [FS#4742] (r22796, rlongago): don't spawn threads for world generation and NewGRF scanning when using the dedicated or null video driver regardless of the used blitter
2011-08-24 12:11:10 +00:00
rubidium
4d5dbf5170
(svn r22410) -Document: some more bits ;)
2011-05-02 16:14:23 +00:00
rubidium
34764feac2
(svn r20186) -Codechange: remove VARDEF from _realtime_tick and _rightclick_emulate
2010-07-19 16:21:49 +00:00
rubidium
7fbc33dae1
(svn r17248) -Fix: add GPL license notice where appropriate
2009-08-21 20:21:05 +00:00
peter1138
6b6fd36050
(svn r14907) -Codechange: Remove 32 character limit from driver/blitter selection and parameters.
2009-01-08 11:06:07 +00:00
smatz
2299181c4b
(svn r13537) -Fix [FS#2090](r13523): QSortT won't work this way, use Dimension instead of uint16[2] for resolutions
2008-06-16 19:38:41 +00:00
rubidium
d03994098b
(svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
2008-05-06 15:11:33 +00:00
rubidium
3ca95f2a85
(svn r11839) -Codechange: move some variables from variables.h to a more logical location.
2008-01-13 21:41:24 +00:00
belugas
3dd61f423a
(svn r11734) -Change: Allow ToggleFullScreen to return the result of the operation' attempt. Previously, only visual clues were available.
...
-Fix[FS#1519]: When you can not use this resolution at full screen, now you'll know that it failed.
As for the reason it did not work, each computer/OS has its reason.
2008-01-01 14:20:48 +00:00
peter1138
8b81cdd2a6
(svn r10471) -Codechange: implement driver probing priority so that 'preferred' drivers are loaded first
2007-07-07 20:31:23 +00:00
peter1138
68c6add8cc
(svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
2007-07-05 12:23:54 +00:00