Commit Graph

38764 Commits

Author SHA1 Message Date
Jonathan G Rennison
6936fe4f6e Settings GUI: Move day length factor to environment section 2021-06-10 21:23:32 +01:00
Andreas Schmitt
0acdea2852 Shows payment based on average transit speed
Prior to this change, the charts were pretty useless. They indicated at most what cargos were speed sensitive and which ones were not.

This change lets the graph show the average transit speed to profit mapping. With this graph it becomes obvious after exactly what speed any further speed increase brings no further profit. This makes train selection way easier.
2021-06-10 11:43:28 +02:00
Jonathan G Rennison
a7d8c6fe0c Add PF setting for whether to pathfind up to back of one-way PBS 2021-06-09 20:43:57 +01:00
TELK
56e261e904 Update: Korean translation for v0.41.3 2021-06-08 12:00:03 +09:00
Vít Šefl
a73ddf4a35 Fix: Do not send vehicles towards incomplete PF nodes
YAPF could end up in a situation where it sets the best intermediate node
to a node whose construction is never finalized (i.e. it is never added to
the open list). The content of the node would be overwritten in the next
round, potentially sending the vehicle to an unwanted location.

(cherry picked from commit 0125ba82e8)
2021-06-07 18:37:06 +01:00
Patric Stout
ab74800b8e Change: by default, make "unload all" leave stations empty (#9301)
(cherry picked from commit 7648483364)
2021-06-07 18:36:35 +01:00
glx22
da8d18d052 Change: Unhide Ctrl effect for group replace protection
(cherry picked from commit e99352a5d9)
2021-06-07 18:32:13 +01:00
Vít Šefl
073b15f453 Fix: Encountering two-way red signals could prune unrelated branches.
The intermediate node branch is now only pruned if the node is on the
path leading to the two-way red signal.

(cherry picked from commit 33d99d27f4)
2021-06-07 18:31:24 +01:00
Michael Lutz
5be60d03a9 Fix: [OpenGL] Increase timeout when waiting for the GPU to be done with the drawing buffer.
The old timeout could be too short if v-sync was on on lower refresh rates.

(cherry picked from commit 97722931a9)
2021-06-07 18:28:10 +01:00
rubidium42
26bcb7762f Fix: part of a tile might not be marked dirty upon terraforming
(cherry picked from commit eaa3df1e8e)
2021-06-07 18:26:24 +01:00
Patric Stout
2b5ff44020 Fix #9281: acquire a company uses special bookkeeping to make you rich (#9300)
When you buy-out a company, you got your shares back. This is
based on company-value, which includes values for the vehicles etc.
In other words, you not only got the vehicles, but you also got
paid to get them back.

Additionally, you also got the loan of the company, but not the
money for the loan (as that is subtracted from the company-value).

Solve this by changing the rules of a buy-out: don't sell your
shares, get the loan AND the balance and get the infrastructure.

(cherry picked from commit 4d74e51907)
2021-06-07 18:26:03 +01:00
rubidium42
cf95cb2639 Fix #9316, 64eddaeb: at about 250.000 inhabitants the bridge length limit check overflows
(cherry picked from commit 4613ababd3)
2021-06-07 18:25:20 +01:00
Jonathan G Rennison
c0bb428e9e Fix vehicle sprites not being updated when moving viewport
When move is instantaneous and old and new viewport rects do not overlap
2021-06-07 18:08:51 +01:00
Rubidium
68217b4568 Cleanup: [Fluidsynth] Remove fluid_player_join
The function fluid_player_join in the library is broken beyond compare for the
usecases it was used for (see their #872). It does not wait until it is safe
to delete the player, so it is up to the end user to ensure that.

For OpenTTD we acquire a lock before fluid_synth_write_s16 and we acquire the
same lock in the stop function. So, only one of the functions can be doing its
thing, meaning we do not need to wait for the player to be stopped as it
cannot be doing anything as we prevent that by the lock.

(cherry picked from commit 79fc094c54)
2021-05-30 22:09:54 +01:00
PeterN
d274a81d3f Fix: Apply unscaled padding to Viewport inside WWT_INSET. (#9219)
Since pixel dimensions in SetPadding() are scaled by GUI size, padding for inset viewports was excessive.

Instead, automatically apply padding for WWT_INSET at widget level. This applies to all widgets inside a WWT_INSET, which in all instances is a NWID_VIEWPORT.

(cherry picked from commit 330a305c99)
2021-05-30 22:06:56 +01:00
Jonathan G Rennison
fe64093cc0 Avoid reading non-32bpp sprites twice where possible
Try to avoid unnecessary over-reading
2021-05-30 22:02:14 +01:00
Jonathan G Rennison
f212332359 Inline fast case for random access file byte/word/dword read 2021-05-30 22:02:14 +01:00
Jonathan G Rennison
054c820521 Implement custom sprite detection with new sprite mechanism 2021-05-30 22:02:14 +01:00
rubidium42
2b014ba1d9 Fix fdc11a9: Missing sprite count determined on the wrong file
(cherry picked from commit de940b1dbc)
2021-05-30 22:02:14 +01:00
Rubidium
e227bbaff0 Cleanup: remove the old FIO slot functions
(cherry picked from commit fa6abe1646)
2021-05-30 22:02:14 +01:00
Rubidium
eecf7c8525 Codechange: let NewGRF make use of SpriteFile instead of most of the FIO slot functions
(cherry picked from commit 10e35ca8e4)
2021-05-30 22:02:14 +01:00
Rubidium
6bd12e24d7 Codechange: introduce SpriteFile to be used by the sprite loader instead of the global FIO slot functionality
(cherry picked from commit fdc11a9f94)
2021-05-30 22:02:14 +01:00
Rubidium
04b38dbfca Codechange: lets music make use of RandomAccessFile instead of the FIO slot functions
(cherry picked from commit 0dd339ecd8)
2021-05-30 08:23:50 +01:00
Rubidium
525f6adcd0 Codechange: let NewGRF sounds make use of RandomAccessFile instead of the FIO slot functions
(cherry picked from commit c097bc9d7d)
2021-05-30 08:23:39 +01:00
Rubidium
4b37044ef1 Codechange: use the new RandomAccessFile as backend for the FIO slot functions
(cherry picked from commit b144e56b2c)
2021-05-30 08:21:09 +01:00
Jonathan G Rennison
98e9a3991b Increase RandomAccessFile::BUFFER_SIZE to 4096 2021-05-30 08:14:15 +01:00
Rubidium
e856ca7b69 Add: concept of a RandomAccessFile to replace the FIO slot functions
(cherry picked from commit 8e0b1b5d1a)
2021-05-30 08:11:09 +01:00
Rubidium
2606f5409a Fix: leaking file descriptors
(cherry picked from commit 495d73a67f)
2021-05-30 07:52:55 +01:00
Rubidium
7c4d803265 Fix: memory leak due to assigning result of strdup to a std::string
(cherry picked from commit 296194ad36)
2021-05-30 07:52:46 +01:00
Jonathan G Rennison
bf87578173 Fix #264: Crash before calling SDL_SetTextInputRect with no window focused 2021-05-30 07:38:37 +01:00
rubidium42
62e3bfd684 Fix #9243: [Network] For a dedicated server use a fallback client and server name
Also warn when the client or server name has not been set and provide pointers on how to set them

(cherry picked from commit 0968d009c8)
2021-05-30 06:45:44 +01:00
Jonathan G Rennison
f703e23322 Fix assert fail when ChooseTrainTrack called on disallowed 90 degree turn 2021-05-29 02:22:27 +01:00
rubidium42
ac99a38175 Cleanup: remove and/or fix some confusing comments
The comments for SettingDescType; it is a byte, so not 4 bytes and since it is not a flag there are about 250 other possibilities left instead of 9.
SettingGuiFlag is uint16 so has 2 bytes allocated.
SettingDescGlobVarList and related comments imply that global vars cannot be used elsewhere, but they are used for settings just fine. Even then the type is not used anywhere else but the definition of the table.
2021-05-27 18:49:43 +02:00
rubidium42
8ffb4122df Codechange: just pass the SettingDesc to SetSettingValue and remove distinction between (non)company 2021-05-27 18:49:43 +02:00
rubidium42
db54e20825 Change: mark copy-assignment as deleted for classes with a copy-constructor that is not trivial
This to prevent the default copy-assignment getting used when during the assignment also some other memory needs to be allocated as that would otherwise be freed.
2021-05-27 18:30:56 +02:00
rubidium42
9197de39e4 Cleanup: remove unused copy-constructor without copy-assignment 2021-05-27 18:30:56 +02:00
rubidium42
6fe4d4ad7b Codechange: linkgraph always iterates with NodeIDs over the Size(), so make Size() the same type to prevent infinite loops 2021-05-27 18:30:56 +02:00
rubidium42
ed9e38221a Cleanup: remove dead code; ++ on ostreambuf_iterator is a no-op 2021-05-27 18:30:56 +02:00
rubidium42
b280f16316 Codechange: remove unneeded comparison and casts
Division by resize_y is already yielding an unsigned number, so when clicking in the WD_FRAMERECT_TOP you would already get a huge value, so sel would never be negative. So, leave sel an unsigned number and remove the <= check.
2021-05-27 18:30:56 +02:00
rubidium42
b9797a81c0 Codechange: pass large parameter by reference instead of value, especially in a recursive function 2021-05-27 18:30:56 +02:00
rubidium42
b791ffc6de Fix: do not hide parameter by local variable with the same name 2021-05-27 18:30:56 +02:00
rubidium42
eaa3df1e8e Fix: part of a tile might not be marked dirty upon terraforming 2021-05-27 18:30:56 +02:00
translators
35dbd53682 Update: Translations from eints
russian: 3 changes by Ln-Wolf
slovak: 3 changes by FuryPapaya
spanish: 3 changes by MontyMontana
2021-05-26 19:32:03 +00:00
Jonathan G Rennison
c0bf8476b1 Tracerestrict: Fix PBS entry signal conditional with signalled tunnel/bridges 2021-05-26 01:26:28 +01:00
translators
c96945fa2b Update: Translations from eints
swedish: 27 changes by joeax910
spanish (mexican): 1 change by absay
korean: 4 changes by telk5093
german: 3 changes by Wuzzy2
finnish: 3 changes by hpiirai
french: 3 changes by glx22
portuguese: 3 changes by azulcosta
2021-05-25 19:16:10 +00:00
Jonathan G Rennison
0579c8755c Add tracerestrict action: No PBS signal back PF penalty 2021-05-25 18:50:36 +01:00
Jonathan G Rennison
112b235b71 Fix name prefix of TraceRestrictNewsControlField enum values 2021-05-25 18:21:24 +01:00
translators
6b24cd2516 Update: Translations from eints
swedish: 50 changes by joeax910
2021-05-24 19:18:21 +00:00
milek7
7607277380 Fix: Network on Haiku, remove old code for BeOS 2021-05-24 08:56:18 +02:00
milek7
886f5c104a Fix: Workarounds for BeMidi driver to work properly on Haiku 2021-05-24 08:56:18 +02:00