Commit Graph

393 Commits

Author SHA1 Message Date
peter1138
3293f08e0b Add: New RoadType API functions. 2019-05-01 21:36:27 +02:00
peter1138
c02ef3e456 Feature: Add NotRoadTypes (NRT) 2019-05-01 21:36:27 +02:00
glx
ebd4f32d15 Cleanup: remove core/sort_func.hpp as it's not used anymore 2019-04-18 21:49:34 +02:00
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
Patric Stout
72c5f2b3ee Remove: DOS support
In 10 years there was no active development on DOS. Although it
turned out to still work, the FPS was very bad. There is little
interest in the current community to look into this.

Further more, we like to switch to c++11 functions for threads,
which are not implemented by DJGPP, the only current compiler
for DOS.

Additionally, DOS is the only platform which does not support
networking. It is the reason we have tons of #ifdefs to support
disabling networking.

By removing DOS support, we can both use c++11 functions for threads,
and remove all the code related to disabling network. Sadly, this
means we have to see DOS go.

Of course, if you feel up for the task, simply revert this commit,
and implement stub c++11 functions for threads and stub functions
for networking. We are more than happy to accept such Pull Request.
2019-03-19 23:22:51 +01:00
Charles Pigott
fe448a2616 Remove: OPF 2019-03-16 22:30:11 +00:00
Patric Stout
6a897a2a9b Fix: don't include xaudio2 if you are not going to compile it
This is more in trend with other files, where if the driver is not
selected, we don't even attempt to compile it.
2019-03-11 10:16:00 +01:00
Patric Stout
dcc5183dd0 Codechange: make clear that SSE is a flag you can switch 2019-03-11 10:16:00 +01:00
Patric Stout
75a86d8460 Codechange: the flag is not if you have threads, but if you want to use them 2019-03-11 10:16:00 +01:00
Patric Stout
634d1f16b2 Codechange: fix indentation of source.list 2019-03-11 10:16:00 +01:00
Niels Martin Hansen
e8d397e4ee Codechange: Make a merged k-d tree index of all viewport signs 2019-03-09 20:27:11 +01:00
Niels Martin Hansen
d84b67e54d Codechange: Make a k-d tree index of stations 2019-03-09 20:27:11 +01:00
Niels Martin Hansen
7b56be0f3a Codechange: Make a k-d tree index of towns 2019-03-09 20:27:11 +01:00
Niels Martin Hansen
d7522e5e8f Codechange: Add a k-d tree generic data structure 2019-03-09 20:27:11 +01:00
Peter Nelson
3542ed53d4 Add: BitmapTileArea and Iterator to handle sparse tile areas. 2019-03-09 16:33:47 +00:00
Patric Stout
aa350528df Remove: libtimidity support (NOT timidity support)
libtimidity was introduced with the support for PSP. PSP has been
dropped almost a year ago, but this music driver was not. This
corrects that oversight.

timidity (via extmidi) still works fine. This purely removes the
libtimidity support, which was only really available for PSP.
2019-03-05 22:03:00 +01:00
Patric Stout
f58db44ff2 Remove: BeOS support (deprecated by Haiku)
In 10 years there is no commit to change how BeOS works, and we
have no active maintainer for it. It is unlikely it works in its
current state (but not impossible).

With the arrival of SDL2 (and removal of SDL), BeOS is no longer
support. SDL2 suggests to use Haiku instead of BeOS.
2019-03-05 22:03:00 +01:00
Patric Stout
7784d77713 Remove: MorphOS / AmigaOS support
In 10 years there is no commit to change how MorphOS works, and we
have no active maintainer for it. It is unlikely it works in its
current state (but not impossible).

With the arrival of SDL2 (and removal of SDL), MorphOS is no longer
support. There is an SDL2 port for MorphOS, but it is not maintained
by upstream SDL2, and nobody can currently test it out.

If anyone wants to re-add MorphOS, please do (revert this patch,
fix the problems, and create a Pull Request). If you need any help
doing so, let us know! It is not that we don't like MorphOS, it is
that we don't have anyone fixing the problems :(
2019-03-05 22:03:00 +01:00
Charles Pigott
c3bc7d657e Codechange: Remove ability for SDL to be dynamically loaded on Windows 2019-03-02 17:13:05 +01: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
Peter Nelson
806e7d25dd Change: Use GUITimer class instead of bare int/uints. 2019-01-11 11:56:21 +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
Pavel Stupnikov
6ff81b908e Feature #6459: API for querying network clients from GS (#6736) 2018-04-22 15:42:29 +02: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
396dde1636 (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
rubidium
9e0f4b3847 (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
michi_cc
5ba1a7f323 (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
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
5165be2698 (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
f5f4f8a4b3 (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
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
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
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
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
3c94485ba0 (svn r26205) -Feature: SSE 4.1 sprite sorter, improving the sorting performance significantly (MJP)
For example with GCC 4.8, x86_64 Linux, Intel i5-3337U this patch improves the performance of Pile, Treham and Hamac test save games by about 10% in over-all run time at fast forward at 1920x1080 when zoomed out and when trees are not disabled.
2014-01-02 16:48:16 +00:00
rubidium
59ff2836d4 (svn r26195) -Codechange: move debug's ottd_rdtsc (CPU specific high precision timer) into cpu.h/cpp 2014-01-02 08:45:28 +00:00