KUDr
5eb4036eb2
(svn r10713) -Cleanup (r10711): too long string buffers, unsafe sprintf used (Darkvater)
2007-07-27 23:49:48 +00:00
KUDr
51b26f96d2
(svn r10712) -Fix (r10711): \0 at the end of string constant (glx)
2007-07-27 22:32:48 +00:00
KUDr
f9411f30c4
(svn r10711) -Fix [Win32]: take default language from current user's locale on Windows (In-)
2007-07-27 22:19:19 +00:00
KUDr
d3c20d65bd
(svn r10647) -Fix: AutoPtrT::operator =() didn't delete old object
2007-07-21 14:01:12 +00:00
KUDr
43ddd64817
(svn r10646) -Cleanup: AutoPtrT<>::Release() renamed to Detach()
...
-better describes what it does
-was inconsistent with CCountedPtr<>::Release()
2007-07-21 13:45:15 +00:00
KUDr
af39f3a084
(svn r10645) -Fix (r10644): file contents seems to be 3x there
2007-07-21 12:39:46 +00:00
KUDr
d71d48434d
(svn r10578) -Fix [YAPF, ships]: Ships received curve penalty for non-diagonal straight move. (JazzyJaffa)
...
-The fix in cost calculation uncovered bug in estimate calculation. Ships now use the same estimate algorithm as trains.
2007-07-15 11:45:38 +00:00
KUDr
0452fc482d
(svn r10492) -Fix [YAPF, r10491]: commands with no effect (glx)
2007-07-09 19:24:45 +00:00
KUDr
3efc078e2f
(svn r10491) -Fix [FS#988, YAPF]: When rail segment was cached using electric engine and it ended with non-electric rail it was incorrectly cached with the end reason ESRB_DEAD_END instead of ESRB_RAIL_TYPE. (Eddi)
...
- It caused YAPF to end prematurely there when it was searching for another path (for non-electric engine).
- It can lead to sub-optimal path taken or 'train is lost' message.
- In MP game it can also cause desync.
- Uses changes made in r10489.
2007-07-09 18:57:12 +00:00
KUDr
d3c7a7fa8c
(svn r10489) -Codechange [YAPF]: FollowTrack_t now has new data member - m_err. It indicates the reason why the given track/trackdir can't be followed when method CFollowTrackT<>::Follow() returned false.
2007-07-09 18:27:42 +00:00
KUDr
c4aff8b0a4
(svn r10445) -Fix (Win32, r10444): remove #include "hal.h"
2007-07-05 12:30:22 +00:00
KUDr
415d5af03d
(svn r10429) -Fix: VC8 Code Analyzer warning: buffer overrun
2007-07-04 02:41:39 +00:00
KUDr
255389a963
(svn r10428) -Fix: some more VC code analyzer warnings disabled
2007-07-04 02:37:48 +00:00
KUDr
1d5b84d808
(svn r10427) -Fix: snprintf behaves differently in gcc than in VC causing unreadable artifacts in output. Now CStrT::AddFormatL() should behave correctly also when compiled by gcc (Rubidium)
2007-07-04 02:35:40 +00:00
KUDr
dd697570e5
(svn r10423) -Fix [YAPF, r10301]: INVALID_TRACKDIR causing buffer overrun leading to desync in MP game (many thanks Rubidium)
2007-07-04 00:12:02 +00:00
KUDr
232cfb0fc1
(svn r10422) -Fix: VC8 Code Analyzer warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
2007-07-03 23:23:38 +00:00
KUDr
7dc5d11448
(svn r10421) -Fix [MSVC]: suppress some code analyzer warnings for VC8
2007-07-03 23:08:51 +00:00
KUDr
6878ca0213
(svn r10420) -Fix [MSVC]: Disabled 'Treat Warnings As Errors' for VC8
2007-07-03 23:07:33 +00:00
KUDr
f9cac3c71b
(svn r10395) -Fix [YAPF]: missing include + some signed/unsigned comparison warnings
2007-06-30 00:17:07 +00:00
KUDr
cbbee4da48
(svn r10394) -Fix [YAPF]: MP desync caused by incorrect last-red-signal penalties applied when cached segment was reused. Players that connected more recently (didn't have these segments cached yet) calculated those penalties correctly. This caused different YAPF results.
2007-06-29 23:55:16 +00:00
KUDr
09ef044f9d
(svn r10393) -Fix [YAPF]: Trackdir needs 4 bits to store (not 3). The cached segment key didn't use the highest trackdir bit. It could confuse YAPF on bi-directional track segments.
2007-06-29 23:50:42 +00:00
KUDr
c37dc87ad2
(svn r10392) -Add [YAPF]: added structured dump support into some essential YAPF classes (node-list, nodes, keys, etc.) and CArrayT
2007-06-29 23:45:13 +00:00
KUDr
a88a1b6f53
(svn r10391) -Add: debug support - structured dump of variables/classes/structures (with anti-recursion repository) into string
2007-06-29 23:30:14 +00:00
KUDr
622235d8cd
(svn r10390) -Fix: constness
2007-06-29 22:39:50 +00:00
KUDr
91d6051adb
(svn r10389) -Add: CStrA, CStrCiA, CStrW, CStrCiW - case sensitive/insensitive ANSI/UNICODE string classes that support formatted (sprintf like) output.
2007-06-29 22:33:58 +00:00
KUDr
3269660c4f
(svn r10388) -Cleanup: coding style (CBlobT & CBlobBaseSimple), removed CStrA
2007-06-29 22:16:15 +00:00
KUDr
15bf8e1e58
(svn r10366) -Codechange [YAPF]: added DEBUG_YAPF_CACHE macro that (when set to 1) allows to track YAPF "cache errors". They are probably responsible for current MP desyncs. (thanks Rubidium for this great idea!).
...
I will deal with those errors/desyncs tomorrow.
2007-06-27 22:29:57 +00:00
KUDr
5b8e48f555
(svn r10349) -Fix [FS#941, YAPF, r10301]: tile/trackdir must be used as node key and also as segment key in the cache (SmatZ).
...
In the past it was possible to use tile/exitdir as the key because segments beginning on the same tile/exitdir were incorrectly considered the same. What I still don't understand is why this bug happened only on 64 bit systems (linux, Win64).
2007-06-26 22:29:52 +00:00
KUDr
59090c53d8
(svn r10304) -Fix [YAPF](r10301): removed assert which could violate without danger when searching for the nearest depot. From now on the segment can be closed without reason in that case (peter1138)
2007-06-24 14:40:54 +00:00
KUDr
ac9fb1c34e
(svn r10303) -Fix [YAPF](r10301): warning: unused variable tile_cost (peter1138)
2007-06-24 13:30:03 +00:00
KUDr
a7d5363e65
(svn r10302) -Fix [YAPF, MP]: now (with r10301) it is no longer needed to invalidate the YAPF segment cache every tick in MP. Segment cost now doesn't contain the curves between segments. As a result the cache should be now accurate.
2007-06-24 13:22:41 +00:00
KUDr
ef4c335cb4
(svn r10301) -Fix [FS#901, YAPF]: another assert violation in some special cases (immeR)
2007-06-24 13:18:54 +00:00
KUDr
6ced6f8f5f
(svn r10292) -Fix: suppress VC 7.1 warning: "\src\texteff.cpp(251) : warning C4258: 'y' : definition from the for loop is ignored; the definition from the enclosing scope is used" which prevents compilation on MSVC 2003
2007-06-23 09:04:07 +00:00
KUDr
fad2a36b8f
(svn r10199) -Fix [FS#884, YAPF]: 'target_seen' flag that is set prematurely in some cases (1 tile long cached segment followed by target station) stops on assert (immeR)
2007-06-18 14:40:07 +00:00
KUDr
bf04c88eca
(svn r9746) -Codechange [YAPF]: added DEBUGs level 0 if the current train order is OT_GOTO_WAYPOINT and waypoint is invalid or v->dest_tile is wrong
2007-04-29 10:14:42 +00:00
KUDr
027597f485
(svn r9745) -Codechange [YAPF}: if destination is a waypoint then YAPF gets destination tile from that waypoint->xy instead of from v->dest_tile
2007-04-29 09:55:32 +00:00
KUDr
d0de381c30
(svn r9697) -Fix [YAPF](r9694): 'unused variable' warning (glx)
2007-04-20 19:43:06 +00:00
KUDr
3df2656633
(svn r9694) -Fix [YAPF][FS#736]: the guessed path (when PF stopped on max. # of nodes passed) was ignored for ships (desolator)
2007-04-20 19:19:23 +00:00
KUDr
4728765870
(svn r9693) -Codechange [YAPF]: GetBestNode() now returns pointer to node instead of reference
2007-04-20 19:13:35 +00:00
KUDr
c7bcdb69b1
(svn r9146) -Fix [NTP][FS#676](r6800): "Train is lost" message is generated incorrectly. Forgot to set the best bird distance to zero in case we found the destination to indicate success. (de_zeurkous)
2007-03-13 21:04:22 +00:00
KUDr
00bc893312
(svn r9104) -Fix(r9080, r9081): UINT32_MAX is undefined on MSVC, std::numeric_limits doesn't exist in gcc 2.95 (MorphOS), so back to tree and use ~0 instead (peter1138)
2007-03-10 20:05:31 +00:00
KUDr
933c406678
(svn r9081) -Fix(r9080): UINT32_MAX is undefined on MSVC. Use std::numeric_limits<uint32>::max() instead.
2007-03-09 23:26:21 +00:00
KUDr
fbd6a88d02
(svn r8933) -Fix [Win64]: rdtsc now uses intrinsic on VC8 (michi_cc)
2007-02-27 23:12:45 +00:00
KUDr
b3822a22d9
(svn r8887) -Fix (r8879)[MorphOS]: initialization of mouth_table[] skipped by goto
2007-02-24 19:43:50 +00:00
KUDr
029ceda0f1
(svn r8869) [YAPF] -Fix: Large Train Stations/Trains makes OpenTTD crash (Jigsaw_Psyche)
2007-02-24 00:17:46 +00:00
KUDr
9cdf6fdc7e
(svn r8867) -Fix(r8866): revert yapf_costrail.hpp commited by mistake, helpers.hpp had wrong line ending
2007-02-23 21:36:43 +00:00
KUDr
f3d5fda36c
(svn r8866) -Doc: added more comments to template struct MakeEnumPropsT
2007-02-23 21:29:50 +00:00
KUDr
dac3cd622f
(svn r8864) -Codechange: make ClrBitT(), SetBitT() and ToggleBitT more like CLRBIT() and so on (modify value of the first parameter instead or returning the result)
2007-02-23 20:51:10 +00:00
KUDr
f24122ba3d
(svn r8836) [YAPF] -Fix[FS#641]: Assertion: 'IsTileDepotType(depot_tile, TRANSPORT_ROAD)' failed (Karsten)
...
-don't tell that we found destination if the best direction was only guessed
2007-02-21 21:56:07 +00:00
KUDr
fe1d448cf8
(svn r8768) -Fix (r8767): VC8 compilation failed 'warning C4146: unary minus operator applied to unsigned type, result still unsigned'
2007-02-17 10:21:48 +00:00
KUDr
ee0739561d
(svn r8766) -Fix[YAPF]: rail station platform penalty not calculated properly
2007-02-17 00:18:11 +00:00
KUDr
ef8c8952b1
(svn r8751) -Fix [lang]: deleted .news and .subs strings causing lang compilation error
2007-02-15 22:00:17 +00:00
KUDr
72cdfb6352
(svn r8750) -Fix (r8747): PLANES defined in wingdi.h caused compilation error under Win32. Changed to AIRPLANES
2007-02-15 22:00:04 +00:00
KUDr
f801a5c04f
(svn r8613) -Fix [MorphOS]: offsetof() macro undefined for MorphOS build
2007-02-06 19:16:38 +00:00
KUDr
ccffde6d7e
(svn r8576) -Fix: wrong type given to MallocT (VC2003, UNICODE build)
2007-02-04 11:33:02 +00:00
KUDr
62486a73ed
(svn r8574) -Fix: Silence VC2003 warning: "compiler limit : terminating debug information emission for enum 'StringIdEnum'"
2007-02-04 11:30:22 +00:00
KUDr
e66028538a
(svn r8540) -Fix[YAPF]: Assert when buoy is placed on NE or NW map edge (Dan)
2007-02-02 20:20:56 +00:00
KUDr
f5d74b8af6
(svn r8482) -Revert (r8480): let others to do it properly
2007-01-31 10:27:45 +00:00
KUDr
a5198858d8
(svn r8480) -Fix [lang]: Error caused by missing case
2007-01-31 09:54:35 +00:00
KUDr
f9462a50e9
(svn r8479) -Fix (r8459): Silenced VC warning C4099: 'Packet' : type name first seen using 'class' now seen using 'struct'
...
-Codechange: 'typedef struct Packet' changed to 'struct Packet'
2007-01-31 09:51:22 +00:00
KUDr
201ba1f5c3
(svn r8414) -Codechange: Use own AutoPtrT instead of std::auto_ptr.
...
-Simplifies assignment from raw pointers
-Should be harder to crash the program by incorrect assignment into it.
-Should help with MorphOS compilation errors
2007-01-26 11:38:07 +00:00
KUDr
29a332e829
(svn r8413) -Fix [MORPHOS]: disable #define offsetof conflict on Morphos (seems that g++ 2.95 defines it anyway)
2007-01-26 08:37:48 +00:00
KUDr
8c5f64ae56
(svn r8284) -Fix (r8277): g++ compilation error: missing brackets in sizeof
2007-01-19 22:41:50 +00:00
KUDr
7b5ec98d99
(svn r8277) -Fix (r8038): assert on game exit when waypoints were used. The static variable of type Station (inside ComposeWaypointStation) replaced by byte array so no destructor is called for it on exit.
2007-01-19 16:01:43 +00:00
KUDr
314e35beff
(svn r8273) -Fix: return value from clamp was ignored
2007-01-18 23:48:04 +00:00
KUDr
6230f9b922
(svn r8272) -Fix (r8038): signed/unsigned change - PlayerID is now enum (signed) and was byte so test for PlayerID validity needed to be updated (Darkvater)
2007-01-18 23:45:58 +00:00
KUDr
147ca22060
(svn r8231) -Fix (r8125): MP desync caused by calling Random() from station constructor. This was wrong because station constructor is called also when loading savegame and when player tries to build station when it is not sure that it will succeed (thanks Rubidium)
2007-01-18 09:34:44 +00:00
KUDr
fd383668f8
(svn r8139) -Cleanup: simplify auto_ptr initialization (Tron)
2007-01-14 23:43:59 +00:00
KUDr
278cf974a4
(svn r8138) -Cleanup: comment style corrections
2007-01-14 23:36:25 +00:00
KUDr
cd74706c54
(svn r8136) -Codechange: Station spread rectangle manipulators turned into StationRect::methods.
2007-01-14 23:02:12 +00:00
KUDr
f8a434e9fc
(svn r8131) -Fix (r8125): g++ warning: 'invalid access to non-static data member ‘<class>::<member>’ of NULL object'. It is weird, but renaming the 'offsetof' macro helped.
2007-01-14 21:03:21 +00:00
KUDr
19d31c7417
(svn r8127) -Fix (r8125): removed redundant free() call which is also in Station destructor (Tron)
2007-01-14 19:44:27 +00:00
KUDr
1eac31a1d8
(svn r8126) -Fix (r8125): missing #include fixes compilation error on g++ (still some warnings, working on it)
2007-01-14 19:29:21 +00:00
KUDr
8b65342449
(svn r8125) -Codechange: Station is now constructed/destroyed using new/delete operators (don't worry, they still use the same memory pool). Few station related functions turned into Station::methods (just first step). All this new stuff moved from station_cmd.cpp to the new file (station.cpp).
2007-01-14 19:18:50 +00:00
KUDr
d57b290474
(svn r8124) -Add [DEBUG]: _debug_station_level
2007-01-14 19:13:36 +00:00
KUDr
04d2d80891
(svn r8122) -Fix[LANG]: terror in czech lang file (again)
2007-01-14 18:57:39 +00:00
KUDr
96ea43d1b2
(svn r8117) -Fix (r8114): 'no matching operator delete found' warning on VC8
2007-01-14 13:21:02 +00:00
KUDr
9bfb3f08d9
(svn r8110) -Codechange: direct Vehicle::current_order.type changes (to OT_LOADING and OT_LEAVESTATION) replaced by v->BeginLoading() and v->LeaveStation() calls. This should allow easy hooking of those state transitions in order to maintain vehicle loading queue.
2007-01-13 18:55:54 +00:00
KUDr
ae41162322
(svn r8104) -Fix: missing helpers.hpp added into source.list and VC
2007-01-13 16:23:24 +00:00
KUDr
64c30ae737
(svn r8100) -Propchange: EOL style changed to LF for /projects/generate
2007-01-13 15:24:31 +00:00
KUDr
0108e5f85c
(svn r8099) -Fix (r8092): source.list updated to reflect move of header files (thanks stillunknown). vcproj files updated too (thanks glx)
2007-01-13 15:22:36 +00:00
KUDr
0edc029f9f
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
2007-01-13 14:43:46 +00:00
KUDr
f2e5e604fb
(svn r8092) -Codechange: header files with miscellaneous template classes (smart pointers, blob, array, hashtable, etc.) moved from src/yapf to src/misc as they can now be used anywhere.
2007-01-13 13:33:36 +00:00
KUDr
38a9d09214
(svn r8091) -Propchange: EOL style changed to LF for config.lib (fixes ./configure errors when sharing WC between linux and windows)
2007-01-13 13:23:56 +00:00
KUDr
e896d7814a
(svn r8079) -Fix [YAPF]: float division by zero when calculating stats (YAPF cache hit ratio). Caused BSOD on Win9x. (thanks 3iff for report, Darkvater for help)
2007-01-12 15:43:00 +00:00
KUDr
33be1ecfb1
(svn r8066) - Codechange: MallocT(), CallocT(), ReallocT() now return the pointer to allocated memory instead of modifying the pointer given as parameter
2007-01-11 17:29:39 +00:00
KUDr
dbe11fb9c7
(svn r8052) - Codechange: RemoveFirstTrack() and RemoveFirstTrackdir() now accept pointer to TrackBits/TrackdirBits instead of reference.
2007-01-11 10:34:42 +00:00
KUDr
e373ea7096
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
2007-01-10 18:12:09 +00:00
KUDr
db02336ef1
(svn r7810) -Fix: FS#504 Building airport whose size exceeds max station spread-out caused assert. (Zuu)
2007-01-03 22:55:53 +00:00
KUDr
af2a4cecde
(svn r7628) -Fix: [YAPF] suppress 'Train is lost' message if pathfinding ended on the first two-way red signal due to yapf.rail_firstred_twoway_eol option.
2006-12-29 23:06:00 +00:00
KUDr
62f55edbe7
(svn r7623) - Fix: [YAPF] trains/roadvehs trying to enter the bridge ramp from under bridge rail/road (introduced by bridge merge r7573)
2006-12-29 18:40:02 +00:00
KUDr
0ca54b8ecf
(svn r7620) -Fix: [OPF] signal update was incorrectly propagated:
...
- through incompatible rail types
- from under bridge track to the bridge ramp (peter1138)
- same for tunnels (from track on top of tunnel entry to the tunnel)
2006-12-29 17:51:16 +00:00
KUDr
78c503c020
(svn r7599) -Fix: (r7585, r7590) assert on load game that has some station with bigger spread-out than _patches.station_spread value (Celestar)
2006-12-28 17:45:31 +00:00
KUDr
02c07d2a86
(svn r7590) -Codechange: (r7585)
...
- use existing struct Rect instead of declaring new StationRect
- use inline functions instead of macros
2006-12-28 11:52:12 +00:00
KUDr
69a43e5ade
(svn r7585) -Codechange: CheckStationSpreadOut() took too much CPU. Station rectangle is now maintained instead of calculating it each time by walking through whole map. Should help with the performance issue related to AIs trying to build road stops too often. (idea by Celestar)
2006-12-27 23:11:43 +00:00
KUDr
b07b38d873
(svn r7547) -Fix: The cost of rail station removal was calculated based on the area occupied by the station. This produced unreasonably large removal costs for non-uniform stations. Now it is based on number of station tiles actually removed.
2006-12-22 13:16:40 +00:00
KUDr
0bf22bdedf
(svn r7519) -Fix: [YAPF] Cache was not deleted when waypoint was built or removed (frosch)
2006-12-20 23:41:24 +00:00
KUDr
dc726fee75
(svn r7429) -Remove: [YAPF] yapf.txt no longer valid/needed
2006-12-07 21:30:18 +00:00
KUDr
07ad588487
(svn r7387) -Fix: czech lang file compilation error
2006-12-05 23:32:15 +00:00
KUDr
3f3a14d24b
(svn r7329) -Fix (r7157): Invalid viewport position on quick zoom
2006-12-03 13:40:16 +00:00