Michael Lutz
05bc2ed7cb
Codechange: Replace custom thread code with C++11 thread objects.
...
We assume a conforming C++11 compiler environment that has a valid <thread>-header.
Failure to run a real thread is handled gracefully.
2019-04-06 11:27:39 +02:00
Michael Lutz
05f4e73608
Codechange: Replace custom mutex code with C++11 mutex'es.
...
A conforming compiler with a valid <mutex>-header is expected.
Most parts of the code assume that locking a mutex will never fail unexpectedly,
which is generally true on all common platforms that don't just pretend to
be C++11. The use of condition variables in driver code is checked.
2019-04-06 11:27:39 +02:00
Charles Pigott
fe8c24e081
Codechange: Remove unnecessarily defined functions under MinGW
2019-01-17 21:55:15 +00:00
Charles Pigott
2d981a4b2c
Fix: A few minor compile warnings under MinGW
2019-01-17 21:55:15 +00:00
Niels Martin Hansen
2a868b9f3b
Feature: Framerate display window ( #6822 )
...
Frame rate and various game loop/graphics timing measurements and graphs. Accessible via the Help menu, and can print some stats in the console via the fps command.
2018-07-19 21:17:07 +02:00
Michael Lutz
dbfc417e65
Fix: [Win32] Garbage in OS window title if branch name was too long.
...
This was caused by a missing \0-character on reaching the buffer limit.
2018-06-27 22:16:43 +02:00
Patric Stout
aef69443e7
Remove: WinCE support
2018-04-29 15:32:16 +02:00
Michael Lutz
4bfd277017
Codechange: [Win32] Use OS function for mouse tracking if present.
2018-04-10 21:07:27 +02:00
michi_cc
c722cb26b8
(svn r27935) -Fix [FS#6629]: [Win32] Right mouse scrolling didn't work properly with the Windows 10 Fall Creators Update.
2017-12-09 19:21:45 +00:00
frosch
b4b98e5165
(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)
2017-08-13 18:38:42 +00:00
frosch
b1fe837b8e
(svn r27775) -Fix [FS#6510]: Insufficient thread synchronisation when switching blitters. (JGR)
2017-03-11 13:05:54 +00:00
michi_cc
c83306391e
(svn r27673) -Add: [Win32] Thread names for windows debuggers.
2016-10-30 18:22:55 +00:00
frosch
352e528cda
(svn r27167) -Fix: [SDL, Windows] Right-mouse-button scrolling scrolled/jumped way to far, when OpenTTD lagged during mouse event processing.
2015-02-22 23:06:45 +00:00
planetmaker
3df230af62
(svn r26943) -Fix: [Win32] Silence a warning about comparison of signed and unsigned variables when using gcc
2014-09-30 21:10:32 +00:00
rubidium
b476086c39
(svn r26538) -Codechange: remove double accounting of the drivers
2014-04-28 21:06:51 +00:00
frosch
631e8b45fd
(svn r26522) -Add: A config-file-only setting to disable usage of 8bpp video modes.
...
-Remove: [win32] fullscreen_bpp setting, which is replaced by above setting.
-Change: Disable usage of 8bpp blitters and video modes by default. Many modern OS and hardware cause issues with those.
2014-04-27 12:15:14 +00:00
rubidium
0463dbdc9e
(svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-04-23 20:13:33 +00:00
michi_cc
e15446bc58
(svn r26367) -Fix: [Win32] Use a separate event to indicate that the drawing thread has finished initialising, preventing potential deadlocks.
2014-02-23 16:08:50 +00:00
fonsinchen
d8eda06a5a
(svn r26366) -Fix: Protect the windows video driver from concurrent access (frosch123)
2014-02-23 14:16:36 +00:00
fonsinchen
b4a015a4bd
(svn r26365) -Fix [FS#5867]: Don't draw the cursor when its sprite isn't ready and set _screen.dst_ptr immediately when the buffer changes (frosch123)
2014-02-23 14:15:55 +00:00
frosch
aaa6d0f9ae
(svn r26360) -Revert (r25550) / Fix [FS#5922]: ClientSizeChanged is only called via WndProcGdi which already has the mutex. The issue which r25550 tried to fix still exists as FS#5867.
2014-02-22 14:26:07 +00:00
rubidium
a942619911
(svn r26247) -Fix [FS#5854, FS#5855]: Possible out of bounds reads with the sse blitters (MJP)
2014-01-13 17:54:24 +00:00
rubidium
fb05674cb7
(svn r26211) -Add: specialised non-animated SS2 blitter (MJP)
...
With 32bpp base set about 30% faster than 32bpp-optimized, or about 10% for 8bpp base sets in the Draw function. Respectively about 5 and 1% of total run time
2014-01-02 23:12:32 +00:00
rubidium
2618d960e3
(svn r26209) -Codechange: remove some template magic and simplify some code
2014-01-02 22:41:58 +00:00
rubidium
3b9f92e14c
(svn r26009) -Fix: warning about conditional expression with enumeral with non-enumeral type
2013-11-16 10:05:57 +00:00
michi_cc
0883cf76e3
(svn r25684) -Change: [Win32] Draw the composition string ourselves if possible.
2013-08-05 20:37:25 +00:00
michi_cc
cbdfd31a3c
(svn r25682) -Change: [Win32] Position the IME candidate window at the caret position.
2013-08-05 20:37:18 +00:00
michi_cc
da09fd3077
(svn r25681) -Change: [Win32] Position the IME composition window at the caret position.
2013-08-05 20:37:14 +00:00
michi_cc
21126aec62
(svn r25680) -Codechange: [Win32] Cancel the current IME composition when the input focus changes.
2013-08-05 20:37:11 +00:00
michi_cc
7422120014
(svn r25679) -Codechange: [Win32] Get the result string of an IME input directly without a trip through the window messaging system.
2013-08-05 20:37:06 +00:00
michi_cc
63332afcf0
(svn r25675) -Fix: [Win32] Handle DBCS characters correctly in the non-Unicode build.
2013-08-05 20:36:51 +00:00
michi_cc
e37968aadd
(svn r25673) -Fix: [Win32] Use the right code page for converting ANSI strings into UTF-8 for non-Unicode builds. And don't crap out on DBCS code pages either.
2013-08-05 20:36:43 +00:00
michi_cc
fdc436b531
(svn r25672) -Fix: [Win32] Handle Unicode characters from outside the BMP correctly.
2013-08-05 20:36:40 +00:00
michi_cc
019984a14f
(svn r25671) -Codechange: Pass character and key code separately to the keyboard handler.
2013-08-05 20:36:36 +00:00
michi_cc
923eb009e8
(svn r25667) -Fix: [Win32] Only forward key presses to the IME system if an edit box has the input focus.
2013-08-05 20:36:20 +00:00
rubidium
d9065fbfbe
(svn r25550) -Fix [FS#5571]: [Windows] Race condition between two drawing threads could crash OpenTTD
2013-07-01 19:48:52 +00:00
planetmaker
c24374f99c
(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow)
2013-01-08 22:46:42 +00:00
michi_cc
02f39ab1ee
(svn r24781) -Fix (r24762): [Win32] MinGW compiler warning.
2012-12-03 22:08:00 +00:00
michi_cc
e67c717c2f
(svn r24762) -Fix [FS#5359]: [Win32] Don't crash when switching to an unsupported fullscreen display mode (like 8 bpp modes in Windows 8).
2012-11-25 12:14:13 +00:00
glx
ad48f766f7
(svn r24394) -Fix (r24188): changing resolution didn't resize the window
2012-07-10 17:47:03 +00:00
truebrain
353fd97de6
(svn r24189) -Fix: when going to fullscreen and back, restore to the resolution you were, not to the fullscreen resolution (Windows only)
2012-04-30 16:49:26 +00:00
truebrain
39912b7bde
(svn r24188) -Fix-ish [FS#5151] (r1): when changing the basics of a window (fullscreen, 8bpp/32bpp), and a window already exists, it was forced out of maximize mode, and its resolution/position was reset, often causing unwanted side-effects. As a "bonus", a WC_SIZE was triggered, and if the system was going from 8bpp to 32pp, this caused a forced window update in a limbo-state of the blitter (not fully 32bpp just yet, but for sure no longer 8bpp); this could cause random memory access which could lead to ACCESS_VIOLATIONS
2012-04-30 16:48:47 +00:00
michi_cc
52175a4260
(svn r23749) -Fix: [Win32] Work around a possible deadlock when initialising threaded drawing.
2012-01-04 00:45:36 +00:00
rubidium
fd559171b4
(svn r23527) -Codechange: unify colo(u)r as far as it goes
2011-12-15 22:02:00 +00:00
michi_cc
7099faba28
(svn r23482) -Change: [Win32] Move re-painting the window and doing palette animation into a separate thread.
2011-12-10 16:54:46 +00:00
rubidium
61625e53c9
(svn r23448) -Fix: keep a local copy of the palette in the 32bpp animated blitter so changes of the palette data during the game don't influence drawing (with SDL)
2011-12-08 19:37:33 +00:00
rubidium
2ccbd2a6f5
(svn r23446) -Codechange: move _cur_palette and it's related first/count dirty variables into a single structure
2011-12-08 18:13:29 +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
4d5dbf5170
(svn r22410) -Document: some more bits ;)
2011-05-02 16:14:23 +00:00
rubidium
3e5924b10f
(svn r22149) -Fix [FS#4521]: Windows video driver crashed when it couldn't go to full screen at the resolution of the configuration file when starting OpenTTD
2011-02-26 19:13:58 +00:00
alberth
31386c42a7
(svn r22145) -Codechange: Do explicit test for non-bool values.
2011-02-25 22:04:38 +00:00
glx
1b2ef66416
(svn r22081) -Fix [FS#4489]: if fullscreen fails with current resolution, use desktop resolution
2011-02-14 20:16:36 +00:00
rubidium
1d0d7635e0
(svn r22021) -Fix (r22019): ofcourse make doesn't notice files are gone, so it doesn't recompile everything that needs to be recompiled...
2011-02-07 22:49:38 +00:00
rubidium
ab44c91778
(svn r21252) -Codechange: introduce a constant for the number of milliseconds per game tick and use it
2010-11-19 10:35:59 +00:00
rubidium
e356cb9405
(svn r20281) -Codechange: unify case scope closure + break coding style
2010-08-01 18:53:30 +00:00
terkhen
88ca183191
(svn r20239) -Doc: Give a common name to all fall throughs (FALL THROUGH).
2010-07-29 14:26:28 +00:00
alberth
be6c058424
(svn r20211) -Codechange: Indented code should have curly braces around it.
2010-07-24 10:14:39 +00:00
rubidium
b8487afe54
(svn r20192) -Cleanup: bye bye variables.h, bye bye VARDEF... you won't be missed :)
2010-07-19 17:28:27 +00:00
glx
4796be85a5
(svn r20084) -Fix [FS#3919] (r7157): don't try to handle mouse events when the cursor ha left the window
2010-07-06 21:10:47 +00:00
peter1138
abb147d974
(svn r18709) -Fix (r10227,FS#3464): Animation buffer for 32bpp-anim blitter was only validated during sprite blitting, other drawing operations didn't check it. Initial startup and window resize could therefore lead to crash.
2010-01-04 02:32:36 +00:00
rubidium
88a7e23897
(svn r18031) -Codechange: since basically r7157 adding up 'all' mouse movement isn't needed anymore because after each even that movement is handled and the counter is reset. As such simply assigning instead of adding works.
2009-11-09 16:07:03 +00:00
rubidium
cbf4b80b86
(svn r18030) -Fix: screen jumped a bit for at least SDL and Allegro when right-click-dragging
2009-11-09 16:05:24 +00:00
rubidium
bc8e66c202
(svn r17336) -Codechange: move some os specific files into src/os/
2009-08-31 22:38:37 +00:00
rubidium
7fbc33dae1
(svn r17248) -Fix: add GPL license notice where appropriate
2009-08-21 20:21:05 +00:00
alberth
9b070b5405
(svn r16677) -Codechange: Dimension width and height are unsigned.
2009-06-27 20:53:45 +00:00
rubidium
2664f2a2d9
(svn r16242) -Codechange: rework pausing
...
-Fix [FS#2864]: autopause and manual pausing conflict with eachother
-Fix: new game + pause on new game + autopause make the game not unpause on the first join
2009-05-06 15:06:57 +00:00
rubidium
b25a4f8231
(svn r15718) -Cleanup: apply some comment coding style on the rest of the sources too
2009-03-15 00:32:18 +00:00
glx
1692ce8312
(svn r15710) -Fix (r15706): for non MSVC io.h needs to be included before defining unlink. Also remove redundant tchar.h includes as it is already in stdafx.h.
2009-03-14 15:42:53 +00:00
rubidium
11da45ee55
(svn r14949) -Cleanup: pointer coding style
2009-01-10 00:31:47 +00:00
rubidium
cda853872a
(svn r14944) -Cleanup: add spaces around some operators
2009-01-09 22:56:28 +00:00
rubidium
86f1a98ac8
(svn r14397) -Fix: possible buffer overrun, wrong parameter type passed to printf and && where || is meant. Found by MSVC's code analysis (Darkvater)
2008-09-24 23:25:24 +00:00
glx
fe5cc9c839
(svn r14363) -Fix [FS#2206]: some keypress combinations could be handled twice
2008-09-20 16:07:56 +00:00
rubidium
3b7ffcf759
(svn r14260) -Fix [FS#2277]: merge keycode for "normal" 0-9 keys and keypad 0-9 keys so people don't get confused that the keypad doesn't work as expected.
2008-09-07 11:55:28 +00:00
glx
fbd2db34e6
(svn r14094) -Revert (r14071): caused more problems than it solved
2008-08-17 15:03:54 +00:00
rubidium
20ee6f1158
(svn r14071) -Fix [FS#2057]: the screen wouldn't be centered on Windows multimonitor systems if the first monitor is right of the second one.
2008-08-13 19:09:27 +00:00
rubidium
d0c1a989a4
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
2008-08-11 22:45:11 +00:00
glx
4782df757c
(svn r13539) -Fix (r13537): signed/unsigned warnings
2008-06-16 20:16:43 +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
glx
ee256e770a
(svn r13390) -Codechange: introduce usererror() for fatal but not openttd related errors. Now all error() will 'crash' openttd after showing the message in win32 releases (MSVC), creating a crash.log and crash.dmp (like the '!' hack used before). On the other hand, usererror() will just close the game. So use error() only when it can be helpful to debugging, else use usererror().
2008-06-05 20:54:52 +00:00
rubidium
402a1e24ba
(svn r12977) -Codechange: remove quite some redundant (duplicate) function declarations.
2008-05-06 22:17:12 +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
smatz
297f99e100
(svn r12944) -Codechange: use rev.h instead of externs at many places
2008-05-04 21:53:36 +00:00
rubidium
dde68e922a
(svn r12779) -Codechange: remove a few constants from openttd.h.
2008-04-18 21:49:38 +00:00
rubidium
9d8fa486af
(svn r12761) -Codechange: lots of minor whitespace coding style fixes around operators.
2008-04-18 04:37:06 +00:00
smatz
8b56e7544e
(svn r12167) -Feature(tte): change colour of autorail and autoroad selection when Ctrl is pressed
2008-02-17 17:00:43 +00:00
glx
fdd71514b2
(svn r12007) -Fix (r12003): win32 compilation was broken again ;)
2008-01-29 00:45:24 +00:00
glx
48861a9fae
(svn r11841) -Fix: win32 compilation
2008-01-13 22:07:33 +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
rubidium
429521a7d1
(svn r11692) -Codechange: move some functions from 'functions.h' to a more logical place and remove about 50% of the includes of 'functions.h'
2007-12-25 11:26:07 +00:00
rubidium
a773d45885
(svn r11684) -Codechange: split gfx.h in a type and functional header.
2007-12-23 10:56:02 +00:00
rubidium
8f0e68285b
(svn r11682) -Codechange: move some 'generic' geometry related types into a single file and do not include gfx.h everywhere to get a Point type.
2007-12-22 23:30:28 +00:00
glx
65754b8d12
(svn r11676) -Fix (r11674): some references to macros.h were left
2007-12-21 21:16:14 +00:00
rubidium
8896bea306
(svn r11667) -Codechange: split window.h into a header that defines some 'global' window related types, on that defined 'global' window functions and one that defines functions and types only used by *_gui.cpps.
2007-12-19 19:44:29 +00:00
skidd13
bf959f926f
(svn r11510) -Codechange: merge the IS_*INSIDE* functions and rename them fitting to the naming style
2007-11-24 10:38:43 +00:00
skidd13
58bb5c7525
(svn r11480) -Codechange: Rename the function ALIGN fitting to the naming style
...
This fixes also FS#1450
2007-11-19 20:40:14 +00:00
skidd13
8be526e499
(svn r11475) -Codechange: rename clamp and clampu to Clamp and ClampU to fit with the coding style
2007-11-19 18:38:10 +00:00
glx
1713d89374
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
2007-09-08 14:59:58 +00:00
rubidium
0fed821efb
(svn r10932) -Codechange: replace "text" with "chat" for the chat related function and variables.
2007-08-19 09:38:30 +00:00
glx
41e05382b8
(svn r10835) -Fix [FS#998] (r10399): don't try to minimise or restore the window when closing openttd
2007-08-09 20:59:36 +00:00