Commit Graph

742 Commits

Author SHA1 Message Date
Jonathan G Rennison
09c62d6951 Merge branch 'master' into cpp-11 2019-02-04 18:09:36 +00:00
Jonathan G Rennison
db924a4681 Codechange: [Blitter] Change DrawLine to be templated
This is remove per-pixel overheads due to use of the SetPixel virtual
method.
These overheads included:
* expensive virtual method call which prevents inlining
* palette lookup for every pixel
* branch on whether palette animation is enabled on every pixel

Regenerate project files.
2019-01-24 11:12:06 +00:00
Jonathan G Rennison
0bed63b77f Merge branch 'master' into cpp-11 2019-01-13 22:49:55 +00:00
Peter Nelson
806e7d25dd Change: Use GUITimer class instead of bare int/uints. 2019-01-11 11:56:21 +00:00
Jonathan G Rennison
962a9c5430 Merge branch 'master' into cpp-11
# Conflicts:
#	config.lib
#	projects/openttd_vs100.vcxproj
#	projects/openttd_vs100.vcxproj.filters
#	projects/openttd_vs80.vcproj
#	projects/openttd_vs90.vcproj
#	src/saveload/saveload.cpp
2019-01-06 22:07:28 +00:00
Michael Lutz
8d7cd6a526 Add: [OSX] Native natural sort implementation. 2018-12-08 20:13:27 +01:00
Charles Pigott
0c619b7c4b Add: Fluidsynth music driver support (jmak) 2018-11-01 18:06:38 +01:00
J0an Josep
8975318286 Fix 2a868b9f3b: Expose widgets and windows to scripts and fix documentation. 2018-07-23 20:32:18 +02: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
768a31bfe3 Add: [Win32] Text layout using the native Windows Uniscribe library.
Uniscribe is sometimes producing different results compared to ICU, especially
when RTL and LTR content is mixed. Comparing the results to other programs
(like editors or web browsers) leads me to believe that the result are at least
not worse than ICU and possibly better.
2018-06-06 21:37:09 +02:00
Jonathan G Rennison
17257b9620 Add: 32bpp SSE2 blitter palette animator (#6795)
Create a new blitter mode: 32bpp-sse2-anim, which is 32bpp-anim + this.
32bpp-sse2-anim is now used by default where 32bpp-anim would have been.
Also use this with the 32bpp-sse4-anim blitter.

See issue #6469.
2018-05-23 09:55:04 +01:00
Owen Rudge
7bd2fa3516 Feature: Add XAudio2 driver 2018-05-17 15:06:37 +01:00
Niels Martin Hansen
b902e01e10 Change #6685: Replace Win32 music driver with one not depending on MCI
MCI MIDI is poorly supported on newer versions of Windows and can cause large
delays at the beginning of tracks.

The new driver is based on a from-scratch reader for Standard MIDI Files. This
should be re-usable in other music drivers too, and can allow for finer control
of playback in general.

It also provides a better framework for reading MIDI data from other formats
than just SMF.
2018-05-01 22:29:53 +02:00
Patric Stout
aef69443e7 Remove: WinCE support 2018-04-29 15:32:16 +02:00
Patric Stout
85adde7485 Remove: PSP support 2018-04-29 15:32:16 +02:00
Jonathan G Rennison
b90c5b9618 Merge branch 'master' into cpp-11
# Conflicts:
#	src/stdafx.h
2018-04-26 23:59:13 +01:00
Pavel Stupnikov
6ff81b908e Feature #6459: API for querying network clients from GS (#6736) 2018-04-22 15:42:29 +02:00
Jonathan G Rennison
8f3e0c4fe5 Add a custom arena allocator utility. 2017-02-08 21:46:50 +00:00
Jonathan G Rennison
ea2b04a6be Add C++11 container utility functions. 2016-09-10 00:55:13 +01:00
Jonathan G Rennison
6e9ea59ab5 Add a simple scope guard include file. 2016-09-05 23:16:47 +01:00
frosch
4830497f0b (svn r27340) -Fix [FS#6338]: Silence warning by moving _string_colourmap to a file no its own. (Cif) 2015-07-26 09:47:17 +00:00
frosch
67ae231f1b (svn r27340) -Fix [FS#6338]: Silence warning by moving _string_colourmap to a file no its own. (Cif) 2015-07-26 09:47:17 +00:00
frosch
396dde1636 (svn r27092) -Fix/Add [FS#6186]: Compilation on OS/2 (smedles) 2014-12-24 17:17:18 +00:00
frosch
93fb724f87 (svn r27092) -Fix/Add [FS#6186]: Compilation on OS/2 (smedles) 2014-12-24 17:17:18 +00:00
frosch
b8690523d2 (svn r26995) -Fix: Add missing files to source.list 2014-10-11 21:38:32 +00:00
frosch
3ea4eebe9a (svn r26995) -Fix: Add missing files to source.list 2014-10-11 21:38:32 +00:00
rubidium
9e0f4b3847 (svn r26864) -Codechange: bring a bit more OO into the disaster vehicles 2014-09-20 15:46:44 +00:00
rubidium
8ab4f746f2 (svn r26864) -Codechange: bring a bit more OO into the disaster vehicles 2014-09-20 15:46:44 +00:00
rubidium
79ca66eb67 (svn r26853) -Cleanup [Squirrel]: remove some stuff that we never did and especially never should use 2014-09-19 20:06:51 +00:00
rubidium
6a1ed21342 (svn r26853) -Cleanup [Squirrel]: remove some stuff that we never did and especially never should use 2014-09-19 20:06:51 +00:00
michi_cc
5ba1a7f323 (svn r26654) -Fix (r26482): Header file missing from sources.list. 2014-06-17 20:09:00 +00:00
michi_cc
7f9e7b1a08 (svn r26654) -Fix (r26482): Header file missing from sources.list. 2014-06-17 20:09:00 +00:00
rubidium
d2357ec435 (svn r26556) -Codechange: use sources.list to tell a file shouldn't be built for a particular platform 2014-05-03 20:21:01 +00:00
rubidium
0535569d2f (svn r26556) -Codechange: use sources.list to tell a file shouldn't be built for a particular platform 2014-05-03 20:21:01 +00:00
zuu
57a88c9de2 (svn r26305) -Add: [nogo] ScriptStoryPageElementList() - a list of all story page elements for a given page 2014-02-06 19:41:56 +00:00
zuu
ea7483a419 (svn r26305) -Add: [nogo] ScriptStoryPageElementList() - a list of all story page elements for a given page 2014-02-06 19:41:56 +00:00
zuu
5165be2698 (svn r26303) -Add: [nogo] ScriptStoryPageList() - a list of all story pages 2014-02-06 19:25:39 +00:00
zuu
a6e0f162ed (svn r26303) -Add: [nogo] ScriptStoryPageList() - a list of all story pages 2014-02-06 19:25:39 +00:00
rubidium
fdf55a1a48 (svn r26258) -Codechange: deduplicate Draw methods (MJP) 2014-01-13 18:12:33 +00:00
rubidium
4585f74faa (svn r26258) -Codechange: deduplicate Draw methods (MJP) 2014-01-13 18:12:33 +00:00
rubidium
f5f4f8a4b3 (svn r26257) -Codechange: replace most of the SSE macros by functions 2014-01-13 18:09:21 +00:00
rubidium
3df799c1c6 (svn r26257) -Codechange: replace most of the SSE macros by functions 2014-01-13 18:09:21 +00:00
rubidium
a325c33578 (svn r26218) -Fix: wrong #if for SSE in source.list 2014-01-03 09:26:30 +00:00
rubidium
cfbf56d3b2 (svn r26218) -Fix: wrong #if for SSE in source.list 2014-01-03 09:26:30 +00:00
rubidium
4c84d13454 (svn r26214) -Add: specialised animated SSE4 blitter (MJP)
With 32bpp base set about 15-20% faster in the Draw function (slower with 8bpp base set). Overall, with 32bpp base set, about 5% faster.
2014-01-02 23:52:13 +00:00
rubidium
793dc27096 (svn r26214) -Add: specialised animated SSE4 blitter (MJP)
With 32bpp base set about 15-20% faster in the Draw function (slower with 8bpp base set). Overall, with 32bpp base set, about 5% faster.
2014-01-02 23:52:13 +00:00
rubidium
78df732a7b (svn r26213) -Add: specialised non-animated SSE4 blitter (MJP)
With 32bpp base set about 40% faster than 32bpp-optimized, or about 10% for 8bpp base sets in the Draw function. Respectively about 8 and 1% of total run time
2014-01-02 23:21:07 +00:00
rubidium
e25733c417 (svn r26213) -Add: specialised non-animated SSE4 blitter (MJP)
With 32bpp base set about 40% faster than 32bpp-optimized, or about 10% for 8bpp base sets in the Draw function. Respectively about 8 and 1% of total run time
2014-01-02 23:21:07 +00:00
rubidium
71a81a8762 (svn r26212) -Add: specialised non-animated SSSE3 blitter (MJP)
With 32bpp base set about 35% faster than 32bpp-optimized, or about 10% for 8bpp base sets in the Draw function. Respectively about 6 and 1% of total run time
2014-01-02 23:17:01 +00:00
rubidium
730127b67e (svn r26212) -Add: specialised non-animated SSSE3 blitter (MJP)
With 32bpp base set about 35% faster than 32bpp-optimized, or about 10% for 8bpp base sets in the Draw function. Respectively about 6 and 1% of total run time
2014-01-02 23:17:01 +00:00