Patric Stout
7634553d22
Feature: opt-in survey when exiting a game
...
On first start-up, the game will ask if you want to participate
in our automated survey. You have to opt-in, and can easily opt-out
(via the Options) at any time.
When opt-in, whenever you exit a game, a JSON blob will be send
to the survey server hosted by OpenTTD. This JSON blob contains
information that gives a global picture of the game just played:
- What settings were used
- How many humans vs AIs
- How long the game has been played
- Basic information about the OS / CPU
All this information is kept very generic, so there is no
chance we send private information to our survey server.
Nothing in the JSON blob could identify you as a person; it
mostly tells about the game played. At any time you can see
what the JSON blob includes, by pressing the "Preview Survey
Results" button in-game.
2023-05-14 23:22:02 +02:00
Rubidium
68ff3fd062
Change: include fmt.h C++ headers in stdafx.h
...
This to prevent compilation issues between runs with and without precompiled
headers. Also remove the headers from the rest of the code base as they are
not needed there anymore, although they do relatively little harm.
2023-05-08 16:49:23 +02:00
Michael Lutz
b14c5aff1f
Fix: [Win32] Text line breaking did not properly handle punctuation characters. ( #10775 )
2023-05-06 16:15:40 +00:00
Peter Nelson
00bf42353a
Codechange: Place gamelog into its own class, along with internal data.
...
Data is now stored in vectors to avoid manual memory management and
passing lengths around.
2023-05-02 19:47:55 +01:00
Michael Lutz
908be59699
Fix: [Win32] Wrong multi-line text layout due to incorrect whitespace handling.
2023-05-01 16:31:59 +02:00
Michael Lutz
715234502c
Fix: Typo in variable name.
2023-05-01 16:31:59 +02:00
Rubidium
3a822fcd01
Codechange: Make FiosItem's name and title std::string
2023-04-29 13:23:34 +02:00
Rubidium
c829930440
Codechange: replace strnatcmp with C++ string capable version
2023-04-29 12:07:45 +02:00
Rubidium
df19673fbd
Codechange: let convert_to_fs accept std::string
2023-04-29 12:07:45 +02:00
Rubidium
4dd5f994be
Codechange: replace strncasecmp with case ignoring variant of StrStarts/EndsWith
2023-04-29 10:25:25 +02:00
Rubidium
86786a7af6
Codechange: introduce StrEqualsIgnoreCase/StrCompareIgnoreCase to replace strcasecmp
2023-04-29 10:25:25 +02:00
Rubidium
f74e26ca7e
Codechange: replace error/usererror printf variant with fmt variant and rename
2023-04-25 17:55:09 +02:00
Rubidium
f5f6306af3
Codechange: use string/fmt instead of printf for ShowInfo(F)
2023-04-24 17:51:54 +02:00
PeterN
e97bf271dc
Codechange: Make SpriteType, CargoSortType, SourceType and ScriptType enum classes. ( #10663 )
...
This avoids a (soft) namespace conflict between the four ST_* enums.
2023-04-16 20:00:55 +01:00
Rubidium
9b56505fec
Codechange: split building into a library and executable
2023-04-16 18:58:21 +02:00
Rubidium
9e89eb5726
Codechange: move main function(s) to separate files
2023-04-16 18:58:21 +02:00
Charles Pigott
6fc28d649e
Cleanup: Unused alloca definitions and includes
2023-04-15 16:57:00 +01:00
Charles Pigott
b282664242
Codechange: Replace all usages of alloca/AllocaM with more modern/less discouraged alternatives
2023-04-15 16:57:00 +01:00
PeterN
2376112c77
Fix #10477 : Not enough space for text due to rounding down (OSX) ( #10489 )
2023-02-18 05:50:20 -05:00
Rubidium
d51d08ddcb
Codechange: put stack variables in global variables for gamelog/crashlog
2023-01-28 17:23:30 +01:00
Peter Nelson
8149ba338f
Change: Check glyph size before trying to render it.
...
This change of order ensures that the "Font glyph is foot large" occurs
even if the glyph is too large for an alloca() allocation.
2023-01-14 20:50:59 +00:00
Peter Nelson
fa0c67b10a
Change: Remove guess-work from calls to GetGlyphOutline().
...
This API method is intended to be called twice, so don't attempt to guess
the required size.
2023-01-14 20:50:59 +00:00
Peter Nelson
5370e910d3
Change: Use std::vector for fallback font list.
2023-01-14 20:50:59 +00:00
Rubidium
b951332def
Codechange: use smart pointers when creating StringIterators
2023-01-13 21:09:40 +01:00
Rubidium
752cd5c0da
Cleanup 84b71f7: remove G5 detector as it's not referenced anymore
...
The last supported Mac OS X for G5 is 10.5.8 and support for < 10.7 has already been removed.
2023-01-04 22:42:23 +01:00
glx22
e6c857cdba
Codechange: [windows] cache the actually loaded font name
2022-12-23 23:23:03 +01:00
glx22
af3df959c2
Codechange: reduce code duplication
2022-12-23 23:23:03 +01:00
Peter Nelson
daaa058493
Change: Vertically centre sprite font relative to TrueType font.
2022-12-18 11:46:01 -05:00
Peter Nelson
8599041ce4
Fix: GetDefaultFontHeight() is static, don't use ->
2022-12-18 11:46:01 -05:00
Peter Nelson
9666e46739
Feature: Variable GUI scale.
...
GUI scale is now variable from 100% to 500%, and no longer restricted to
powers-of-2.
2022-11-12 18:28:39 +00:00
Peter Nelson
062ea68422
Change: Scale position of font shadow.
2022-11-12 18:28:39 +00:00
Peter Nelson
2cdd8b7429
Change: Separate fontcache implementations.
2022-09-25 18:34:24 +01:00
Peter Nelson
f6ad8e1c9c
Change: Rename some freetype things to fontcache.
...
The font cache supports more than just FreeType as a font provider, but still used freetype in some naming.
This now uses more suitable terms.
2022-09-25 18:34:24 +01:00
Peter Nelson
273988551d
Fix: font_win32.cpp compile failure with WITH_FREETYPE
2022-09-25 18:34:24 +01:00
glx22
b6c5f49379
Change: add a timestamp in name of crash files
2022-02-02 21:32:01 +01:00
Danny de Bruijne
753b1d7e15
Feature: Add selected toolbar buttons to MacBook Pro Touch Bar
2021-09-23 21:03:00 +02:00
Patric Stout
eca73a810c
Change: rebrand 1.12.0 to 12.0
...
One question that keeps popping up: "when do we release 2.0?".
NewGRF will force that at least 1.16 will be 2.0, but to not wait
for this, let's drop the "1." and be for ever done with that
conversation.
We are following in the footstep of giants here.
2021-08-15 12:28:51 +02:00
glx22
16abdd5254
Change: [Win32] Set the console codepage to UTF-8
2021-07-16 23:01:08 +02:00
Michael Lutz
0d5d3083bd
Codechange: [OSX] Use more exact enum names where introduced with the 10.12 SDK.
...
The enum values still have the exact same numerical values, but the 10.12
SDK introduced more explicit names (e.g. like NSEventTypeApplicationDefined
instead of NSApplicationDefined) for several enum constants.
Use them when available.
2021-06-22 21:09:37 +02:00
Rubidium
f904aef176
Cleanup: use nullptr instead of 0 or NULL
2021-06-17 16:18:30 +02:00
rubidium42
55a11710a6
Codechange: convert printf DEBUG statements to fmt Debug statements
2021-06-13 12:45:45 +02:00
glx22
744a9e4745
Codechange: [WIN32] Add a wrapper around GetProcAddress()
2021-06-10 23:17:29 +02:00
glx22
15f66329c2
Fix: [MinGW] Silence 2 cast warnings
2021-06-10 23:17:29 +02:00
glx22
b7250a42e1
Fix: [MinGW32] Linking error
2021-06-10 23:17:29 +02:00
glx22
3ca0239985
Fix: [MinGW32] SHGFP_TYPE_CURRENT is now present in win32api
2021-06-10 23:17:29 +02:00
glx22
5d05c4919b
Codechange: [WIN32] Reduce manual dynamic loading as WinXP is the minimum version
2021-06-10 23:17:29 +02:00
glx22
f4c7d5577e
Codechange: [WIN32] Use VersionHelpers where appropriate
2021-06-10 23:17:29 +02:00
Patric Stout
bcd7a7aafe
Codechange: rename _SQ64 into POINTER_IS_64BIT ( #9313 )
2021-05-30 10:40:03 +02:00
Patric Stout
ca9a7df752
Codechange: rename str_validate to StrMakeValid(InPlace) ( #9304 )
...
This to be more explicit the function changes the value, and not
returns yes/no.
2021-05-29 11:21:38 +02:00
rubidium42
77330d09fd
Codechange: move font settings to std::string
2021-05-13 23:13:17 +02:00
PeterN
f018471b36
Cleanup: Remove old FiosList helper methods. ( #9139 )
2021-04-29 22:46:42 +01:00
Loïc Guilloux
d4f0b6f434
Fix: [CMake] Auto-fill version details in rev.cpp and ottres.rc ( #9066 )
2021-04-20 21:38:46 +02:00
PeterN
56f982fa7f
Fix #9015 : Don't set free space value if not requested. ( #9016 )
2021-04-11 13:07:08 +01:00
Niels Martin Hansen
c800dcaff8
Fix: [Win32] Font glyphs of certain widths broke
...
Font glyphs between 33 and 39 pixels wide, in the Win32 font system, used wrong alignment and caused glyphs to appear broken.
When in the 33 to 39 pixel range, glyphs without AA were rounded down to 32 pixel pitch, instead of up to 64 pixel pitch.
2021-04-10 11:39:28 +02:00
Wim Leflere
5233fd2751
Change: [win32] Use user UI language for initial language selection ( #8973 ) ( #8974 )
2021-04-09 11:22:03 +02:00
Niels Martin Hansen
746f1ca11a
Codechange: Remove the now meaningless console_cp parameter from OTTD2FS
2021-04-07 09:31:47 +02:00
Niels Martin Hansen
e0561dbded
Fix #8713 : Change OTTD2FS and FS2OTTD to return string objects instead of static buffers
2021-04-07 09:31:47 +02:00
Michael Lutz
13011e00c6
Fix #8860 : [Win32] Crashlog window wasn't reliably shown for crashes not on the main thread.
2021-03-13 22:09:05 +01:00
Niels Martin Hansen
cc465efa67
Change: [Win32] Use more modern way of getting free disk space
2021-02-23 11:25:39 +01:00
Niels Martin Hansen
b427ddce88
Codechange: Switch to explicit wide strings
2021-02-23 11:25:39 +01:00
Niels Martin Hansen
beeb9e0a1b
Remove: [Win32] Last pretenses of being able to build for Windows 95
2021-02-23 11:25:39 +01:00
Michael Lutz
6776229047
Codechange: Make the simple Malloc sprite allocator globally usable.
2021-02-22 22:16:07 +01:00
Michael Lutz
70aa3b4011
Codechange: Give sprite encoders a hint which colour components of a sprite are filled with useful information.
2021-02-22 22:16:07 +01:00
Michael Lutz
ef478ade64
Add: [Win32] Video driver that uses OpenGL to transfer the video buffer to the screen.
2021-02-22 22:16:07 +01:00
Michael Lutz
b66e977acd
Change: [OSX] When auto-detecting a font, try for sans-serif first.
...
On a display, especially with small fonts or low pixel sizes, sans-serif
fonts are usually easier to read than serif fonts.
2021-02-14 11:48:58 +01:00
Michael Lutz
6755ff63e1
Add: [OSX] Native font rendering without using FreeType.
2021-02-14 11:48:58 +01:00
Michael Lutz
21a2cd7bc3
Codechange: Replace magic numbers by constants.
2021-02-14 11:48:58 +01:00
Michael Lutz
23389e9491
Remove: [OSX] Startup splash screen.
...
It wasn't displayed anyway as it was never copied to the bundle.
2021-02-13 22:21:17 +01:00
Michael Lutz
63ed3f3575
Codechange: Move Fontconfig-specific code to a seperate file.
2021-02-13 20:09:14 +01:00
Michael Lutz
f2294851e6
Codechange: [OSX] Move OSX-specific font code to a separate file.
2021-02-13 20:09:14 +01:00
Michael Lutz
c6af8f16f6
Codechange: [Win32] Move Win32-specific font code to a seperate file.
2021-02-13 20:09:14 +01:00
Michael Lutz
5ad1640984
Codechange: Make OS font handle of the FontCache read-only.
2021-02-13 20:09:14 +01:00
glx22
348f322df1
Fix f1f281b31: [Win32] MinGW doesn't know timeapi.h
2021-02-13 19:07:42 +01:00
Loïc Guilloux
f1f281b318
Fix: [Win32] Set minimum resolution for timers to 1ms. ( #8660 )
2021-02-09 21:21:57 +01:00
embeddedt
6c8f2227cd
Fix: [Emscripten] open links in browser ( #8655 )
2021-02-08 19:18:30 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
Michael Lutz
6ad5489d01
Codechange: [OSX] Silence some annoying warnings.
2021-01-03 13:25:32 +01:00
Michael Lutz
9ccef816f9
Codechange: [OSX] Re-arrange the OSX video driver code by combining all drawing code and moving the window/event handling to a different file.
...
This is just a code move/rename, not a functionality change.
2021-01-03 13:25:32 +01:00
Patric Stout
ab7da117e0
Add: always set PERSONAL_DIR "/content_download" in search path ( #8481 )
...
This means that if you start OpenTTD with "-c" to indicate another
location to store files, it can still read the content you already
downloaded from your PERSONAL_DIR. This folder is, however,
read-only.
This is useful for situations where you downloaded OpenGFX via
the content-service, but want to run the regression or want to
run with a clean configuration. With this change, you no longer
need to download OpenGFX again.
2021-01-03 11:10:56 +01:00
Michael Lutz
8c24b2b6ce
Fix: [OSX] Fonts loaded directly from a file have to be registered with CoreText for proper text layout.
2021-01-03 01:00:28 +01:00
Michael Lutz
f3326d34e7
Codechange: Use std::string in FIO search path handling.
2020-12-27 13:19:25 +01:00
Michael Lutz
0c6e8a8123
Codechange: Store file search paths as std::string.
2020-12-27 13:19:25 +01:00
Michael Lutz
dd138fc460
Codechange: Stringify config file paths.
2020-12-27 13:19:25 +01:00
Patric Stout
b7851e51ad
Fix: set SP_WORKING_DIR earlier with '-c'
...
On Windows, relative folders don't work so well. So we need to
lookup the full path. This is best done in DetermineBasePaths()
and as a bonus that only sets SP_WORKING_DIR once.
2020-12-13 22:45:50 +01:00
TechGeekNZ
716c883737
Fix: Globally apply preprocessor directive coding style
...
Global; except for the 32-bit SSE blitter, which has some #DEFINEs
in not-very-nice places.
2020-07-03 09:08:46 +02:00
Patric Stout
4d04009d12
Codechange: remove #ifdef from .cpp files to exclude features
...
With CMake, these files are simply not compiled to start with.
2020-06-05 19:36:05 +02:00
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.
2020-06-05 19:36:05 +02:00
glx
b3ddf2c907
Fix: [Win32] Crash message not fitting in crash dialog
2020-06-01 14:09:58 +02:00
glx
b5ca2161d9
Fix #7970 : [Win32] Disable event loop on crash to prevent recursive faults
2020-06-01 14:09:58 +02:00
glx
e0d20a44d2
Codechange: Use a dynamic copyright year
2020-05-06 09:54:36 +01:00
Michael Lutz
e9294ce4e3
Cleanup: [OSX] Mop up some remaining stuff catering to compiling with very old SDK versions.
2020-04-12 18:44:43 +02:00
Michael Lutz
9d7ad67c1d
Codechange: [OSX] Allow compiling with SDK version pre 10.9.
2020-04-12 18:44:43 +02:00
LCD 47
7f693ce497
Fix: [SDL2] support pasting from clipboard on Linux
2020-02-15 19:38:25 +00:00
glx
2f264f2c92
Change: Heading for 1.11 now
2020-02-08 23:38:49 +01:00
glx
dbbd0f5ddc
Fix: [OSX] Don't show a crash/assertion message box for a GUI-less video driver.
2020-01-12 22:02:10 +01:00
Michał Janiszewski
c7ead8388c
Codechange: Improve MSVC ARM64 support
2019-12-24 13:14:11 +00:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Michael Lutz
d5a9bd404a
Codechange: [OSX] Use std::unique_ptr with a custom deleter to simply memory management of Core Foundation types.
2019-11-01 22:32:53 +01:00
JMcKiern
04f659e768
Fix: Some typos found using codespell
2019-09-29 21:27:32 +01:00
Michael Lutz
61d6fa97cc
Fix: [OSX] Wrong allocator usage for creating a CFString.
2019-09-29 20:31:48 +02:00