Commit Graph

34 Commits (d3b2a576de7db072a3ba2e080abeaa5d2d6aeec6)

Author SHA1 Message Date
Patric Stout d3b2a576de
Feature: Plugin framework for Social Integration with Steam, Discord, GOG, etc (#11628) 4 months ago
Patric Stout d3ee045c2d
Codechange: refactor the Windows-only DllLoader in a cross-platform LibraryLoader (#11751) 5 months ago
Peter Nelson 34e8c8e1c1
Codechange: Build station and depot vehicle lists from shared order lists. (#11676)
The brings some performance advantages:

* No need to iterate all vehicles and check for primary vehicle as only vehicles that can have orders are listed.
* Shared orders only need to be tested once instead of for each vehicle sharing them.
* Vehicle tests only need to be performed on the first shared vehicle instead of all.
5 months ago
Peter Nelson daec0e2ca4 Codechange: Split palette handling to separate file. 5 months ago
Peter Nelson 05436d9c2f Add: Expose minimal parts of SpriteCache internals.
These parts are needed to be able to mock the SpriteCache for unit-tests.
7 months ago
Patric Stout 37e2f99c09
Change: store crash logs in JSON format (#11232) 9 months ago
Niels Martin Hansen 41de0d46f3 Feature: Help and manuals access window 9 months ago
Tyler Trahan 701a61c9af Codechange: Delete date_type.h 9 months ago
Loïc Guilloux 7ef55bdfb0
Cleanup: [CMake] don't add strgen.h twice (#11199) 10 months ago
PeterN 2a2443dd01
Feature: Create group of vehicles from manage vehicle list button. (#10890) 12 months ago
Rubidium ed51cf117a Add: helper output iterator for formatting strings 1 year ago
Rubidium a19a43a4f7 Codechange: use fmt::format and time conversions over "custom" implementation 1 year ago
Tyler Trahan 6501f84b4a
Codechange: Move calendar date functions inside TimerGameCalendar (#10753) 1 year ago
Patric Stout 81d4fa6999 Feature: drop ICU-lx in favour of directly interfacing with harfbuzz
This means we have RTL support again with ICU 58+. It makes use of:
- ICU for bidi-itemization
- ICU for script-itemization
- OpenTTD for style-itemization
- harfbuzz for shaping
1 year ago
Patric Stout 9cb60768fe Codechange: split implementations of ParagraphLayouterFactory into their own file 1 year ago
Rubidium f74e26ca7e Codechange: replace error/usererror printf variant with fmt variant and rename 1 year ago
Patric Stout 1ba4dcc924 Codechange: migrate all Window-related timers to the new framework
This means we also say goodbye to GUITimers.
1 year ago
Patric Stout 5e1bcee39b Codechange: introduce a framework for all our timers
IntervalTimer and TimeoutTimer use RAII, and can be used to replace
all the time-based timeouts, lag-detection, "execute every N" we
have.
As it uses RAII, you can safely use it as static variable, class
member, temporary variable, etc. As soon as it goes out-of-scope,
it will be safely removed.
This allows for much easier to read code when it comes to intervals.
1 year ago
Rubidium c6ff7dad68 Add: compile time "unit tests" for GetPartialZ consistent 1 year ago
Jonathan G Rennison 4c1406a4b5 Add: NewGRF road stops 1 year ago
dP 5e14a20b3b
Feature: [GS] Scriptable league tables (#10001) 2 years ago
Peter Nelson 2cdd8b7429 Change: Separate fontcache implementations. 2 years ago
glx22 bba6ad1f4e Fix #9935: Use more selectivity when building SSE specific code 2 years ago
J0anJosep d9a37c915f Cleanup #9725: Replace cmd_helper related functions and remove cmd_helper.h. 2 years ago
Michael Lutz 123c7f99c3 Codechange: Move command callback declarations to the cmd header files. 2 years ago
Michael Lutz 33ca4f2b99 Codechange: Let the compile generate the master command table out of templated command traits.
This is using a non-intrusive type-traits like templated system, which
allows compile-time validation that the command table and the command
enum match up.
2 years ago
rubidium42 25ca6a75bc Codechange: split off the settings table and all the callbacks from the main settings handling logic 3 years ago
rubidium42 aa5a8fe28a Codechange: use thread safe time functions
Functions like localtime, gmtime and asctime are not thread safe as they (might) reuse the same buffer. So use the safer _s/_r variant for localtime and gmtime, and use strftime in favour of asctime.
3 years ago
Rubidium 8e0b1b5d1a Add: concept of a RandomAccessFile to replace the FIO slot functions 3 years ago
Michael Lutz 63ed3f3575 Codechange: Move Fontconfig-specific code to a seperate file. 3 years ago
Michael Lutz c6af8f16f6 Codechange: [Win32] Move Win32-specific font code to a seperate file. 3 years ago
glx22 d1fa6b129c Add: [CMake] Option to only build tools/docs 4 years ago
Charles Pigott 348c231e12 Codechange: Make codestyle for CMake files consistent for 'control' statements 4 years ago
Patric Stout 56d54cf60e Add: introduce CMake for project management
CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.

Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.

This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.

Addtiionally, this heavily improves our detection of libraries, etc.
4 years ago