Commit Graph

507 Commits (65d670269ed88918a12aefbaab7181b275560f3d)

Author SHA1 Message Date
rubidium 54ec48f7ce (svn r20188) -Codechange: unVARDEF the _[config|log|highscore]_file variables and move them to a more logical location 14 years ago
rubidium cd5bc729d4 (svn r20185) -Codechange: reduce the scope of _palette_animation_counter 14 years ago
rubidium 8894ae2ccb (svn r20183) -Codechange: make _do_autosave and _dedicated_forks not use VARDEF and put them in a more logical location 14 years ago
rubidium 59fa346cbf (svn r20136) -Codechange: check more of the vehicle caches (when desync debug is turned on) 14 years ago
yexo a0a657585e (svn r20055) -Feature: save/load hotkeys to/from hotkeys.cfg 14 years ago
rubidium d8716dfa8a (svn r20039) -Fix [FS#3907]: instead of loading the intro game when loading a savegame fails on the dedicated server, generate a new game.
Generating a new game is the least bad solution:
 * loading the intro game: desyncs due to GM_MENU on the server and GM_NORMAL on the clients, NewGRFs not being loaded on the server but being loaded on the client;
 * creating an empty map: OpenTTD will go crazy due to missing towns. Also clients can't properly join because of the missing towns;
 * loading the last saved game: doesn't always exist and loading it might fail causing an infinite loop;
 * stopping being a server: breaks the dedicated server horribly; if you loaded the game via rcon you can't connect with it anymore as you can't join the server;
 * generating a new game: should always succeed, although people might think a scenario loaded fine because there are no companies and such.
14 years ago
rubidium 188f5f8e4d (svn r20038) -Change: move SafeSaveOrLoad a bit 14 years ago
frosch d12e364952 (svn r19937) -Codechange: Move some fios related prototypes to fios.h 14 years ago
frosch 8ef0aed0ae (svn r19936) -Codechange: If there is an enum, also use it. 14 years ago
frosch e684da2193 (svn r19934) -Fix [FS#3857]: When 'pause on new game' is set, pause the game before CleanupGeneration() to avoid conflicts with concurrent GUI code. 14 years ago
frosch 65d058723e (svn r19933) -Fix [FS#3804]: Keep _current_company and _local_company in sync during GUI operation. 14 years ago
frosch a5bea603ea (svn r19931) -Fix (r19914): Convert assertion in Backup<> destructor into DEBUG() output. It was triggered on exceptions, especially when aborting world generation. 14 years ago
frosch ee53807e51 (svn r19914) -Codechange: Wrap a helper class around temporary assignments of _current_company to ensure proper restoration. 14 years ago
smatz 0449d7d5b9 (svn r19850) -Codechange: move declaration of InitializeRailGUI() to rail_gui.h 14 years ago
rubidium ad66d8e717 (svn r19688) -Codechange: run CheckCaches after the debug desync save, so we don't store just reset values in the savegame but the data from the previous tick 14 years ago
rubidium 74d7b676f2 (svn r19664) -Fix [FS#3749]: Crash of a dedicated server if the null blitter is overridden and (after a while) there is no company 0 on new year anymore 14 years ago
rubidium e9f60d5d13 (svn r19592) -Fix: don't do the desync debug savegames mid-StateGameLoop; they're increadibly useless (or hard to load correctly) in that case 14 years ago
rubidium ff5dfd9c7e (svn r19589) -Change: add some more useful information to the desync log and unify the formatting 14 years ago
rubidium efb61fa3fc (svn r19587) -Fix: false positive in cache validity checking when a train crashes; the max curve speed depends on the 'angle' between wagons and with wagons spinning around randomly without updating the max curve speed cache that leads to "seeing" a difference. As the caches aren't useful for crashed vehicles anymore, just ignore those vehicles 14 years ago
rubidium 6e95c70f43 (svn r19586) -Fix: some false positives in cache validity checks because cache = v->cache doesn't necessarily write all sizeof(Cache) bytes 14 years ago
yexo cc23ebd446 (svn r19457) -Codechange: introduce AirportOverrideManager to keep track of airports if a newgrf can't be found 14 years ago
frosch 37109f9b66 (svn r19403) -Fix (r19398): Test inverted. 15 years ago
rubidium 9981952acf (svn r19398) -Codechange: move the desync cache checking code to its own function. Also make the drive through and cargo list checks only run when 'desync' debugging is enabled. 15 years ago
yexo 79a8345749 (svn r19353) -Codechange: use static objects for the airport statemachines instead of new/delete at the start/end of the game
-Codechange: store the fta in AirportSpec
15 years ago
yexo e6f148119d (svn r19331) -Fix: when deleting an airport the size from the AirportSpec was used instead of the stored airport size
-Fix (r19319): detecting if a plane was landed at an airport failed
-Fix: reset the airporttile mapping when restarting a game
15 years ago
rubidium fa43522946 (svn r19233) -Fix: the -M command line option did not work 15 years ago
smatz 5504b1105e (svn r19224) -Codechange: change parameters passed to ShowErrorMessage() a bit 15 years ago
yexo 11a878512e (svn r19213) -Change: warn if a fallback sound set is loaded and tell the user where to download a proper sound setd 15 years ago
rubidium 1c494c6f71 (svn r19081) -Codechange: make it possible to disable compilation of the AI+Squirrel 15 years ago
smatz c736bbb875 (svn r19075) -Codechange: unhackify NetworkChangeCompanyPassword() 15 years ago
rubidium 8c6db1bfaa (svn r19073) -Fix (r15027): -a is not a command line parameter 15 years ago
smatz 1ecb257422 (svn r18853) -Codechange: apply coding style to GenWorld's enums, structs and typedefs 15 years ago
rubidium ea240269dc (svn r18812) -Codechange: make some functions in train.h functions of Train. 15 years ago
rubidium 9467b7c6d6 (svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header 15 years ago
yexo 009e8cf001 (svn r18808) -Cleanup: deplicate by using an existing function 15 years ago
rubidium 42d7f30dcc (svn r18608) -Change: add the concept of music sets 15 years ago
rubidium 536a2c8b6a (svn r18598) -Fix [FS#3402]: also cancel the save-pause when loading a savegame as scenario 15 years ago
rubidium 0da7a4dc91 (svn r18546) -Codechange: make making the screenshot not asynchronious; just do it at the moment it's requested. 15 years ago
rubidium 5971619b1e (svn r18520) -Fix [FS#3272]: allegro doesn't like to work with extmidi; it causes 'random' (looks like a racing condition in allegro) crashes when songs are stopped. 15 years ago
rubidium ec77e712b7 (svn r18483) -Document [FS#3367]: that OpenGFX/OpenSFX can be used and where to find them. Also refer to the readme in some error messages. 15 years ago
rubidium 0fed86a779 (svn r18404) -Codechange: link drive through stops better together
-Feature: make penalty for road stop occupancy user configurable
-Fix [FS#1944]: road vehicles would not pick an empty drive through stop. Now they will *if* the penalty for driving around is less than the occupancy penalty
-Fix [FS#1495]: long (articulated) road vehicles could block loading of others when the following road vehicle already got 'permission' to go to the next bay even when it could not reach it
-Change: improve the throughput of the drive through road stops by letting them stop closer together
15 years ago
rubidium da30e736ca (svn r18330) -Cleanup: remove some unneeded includes 15 years ago
smatz 0c4cada640 (svn r18156) -Add: crash screenshot, created from blitter buffer 15 years ago
smatz 1dce59ed50 (svn r17937) -Codechange: rename current_screenshot_type to _screenshot_type 15 years ago
alberth 5a97b64d73 (svn r17928) -Codechange: ShowErrorMessage() now takes the summary string before the details string.
Gentlemen, swap your string parameters.
15 years ago
rubidium 079b7fa034 (svn r17816) -Codechange: move the CargoList invalidation-after-saveload to the function that handles the CargoPackets instead of spreading it around over the saveload files. Also add some code to validate whether the caches are valid; to be removed later when no problems turn up 15 years ago
rubidium 982b8ee5fc (svn r17693) -Cleanup: remove some unneeded includes 15 years ago
frosch 0e36260337 (svn r17532) -Codechange: Rename several Invalidate functions to SetDirty for more consistency and distinguishability. 15 years ago
rubidium 1d7619fdb5 (svn r17450) -Codechange: refactor the windows crash logger so parts of it can be reused by other crash logger implementations 15 years ago
rubidium 533e3da493 (svn r17339) -Codechange: move thread related files to their own directory (like done for video, music, sound, etc) 15 years ago
yexo 8a2e1011b2 (svn r17298) -Fix [FS#3153]: reloading an AI started a new AI in the first available company slot causing other AIs to be started 15 years ago
rubidium 99d46e0ad7 (svn r17248) -Fix: add GPL license notice where appropriate 15 years ago
rubidium 93493827b6 (svn r17139) -Change: add the concept of sound sets 15 years ago
rubidium cdb969e164 (svn r17133) -Codechange: generalise the code that searches for base graphics 15 years ago
rubidium e918be12f2 (svn r17097) -Fix [FS#3092] (r13256): make restart command work again and make the help show how it works and how it doesn't work 15 years ago
rubidium d61be2637e (svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives 15 years ago
rubidium 1d45e1e239 (svn r17001) -Codechange: replace some more assert(0)s to NOT_REACHED() and document why they (assert(0)) have to stay for the remaining cases. 15 years ago
peter1138 07dbd830b6 (svn r16784) -Fix: Audio playback rate was fixed at 11025Hz regardless of the rate specified to the audio driver, resulting in incorrect playback speed. It is still preferable to use 11025Hz output rate if possible as OpenTTD's sample rate converter is very low quality. 15 years ago
rubidium ffb9f1f1f9 (svn r16701) -Fix [FS#3001]: limit the screen's resolution to 65535x65535 so the dirty pixels stay within bounds of a 32 bits integer 15 years ago
alberth c52fe937d5 (svn r16677) -Codechange: Dimension width and height are unsigned. 15 years ago
smatz f6a4d61cca (svn r16643) -Codechange: replace GetStationByTile() by Station::GetByTile() 15 years ago
smatz 61a42f42c1 (svn r16640) -Codechange: move roadstop stuff to separate files 15 years ago
smatz 9ec6fc8a61 (svn r16633) -Codechange: remove checks for consistency of newpool 15 years ago
smatz 7d4d3850cb (svn r16555) -Feature [FS#570]: ability to enter server and company password via command line when joining a server (based on patch by Progman, Ammler and planetmaker) 15 years ago
smatz af85994f7f (svn r16527) -Codechange: use static member functions instead of simple casts when converting Vehicle to specialised vehicle types. Includes safety check 15 years ago
rubidium c496a3e014 (svn r16421) -Codechange: do not unnecessarily remove constness or unnecessarily add it. 15 years ago
frosch 6e06e82bc4 (svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time. 15 years ago
rubidium cd382b28a3 (svn r16394) -Codechange: move (NewGRF) cache variables into a separate struct so (some vehicle related) NewGRF cache 'desyncs' can be tested easier. 15 years ago
rubidium 4c0542c17f (svn r16393) -Codechange: move VehicleRail to Train. 15 years ago
rubidium 1324100d69 (svn r16391) -Codechange: use Train instead of Vehicle where appropriate. 15 years ago
rubidium 489253b630 (svn r16390) -Codechange: move u.road to RoadVehicle. 15 years ago
rubidium 1ceb349779 (svn r16389) -Codechange: use RoadVehicle instead of Vehicle where appropriate 15 years ago
rubidium 4ae19b7451 (svn r16388) -Codechange: move u.air to Aircraft 15 years ago
rubidium 1e853b1226 (svn r16387) -Codechange: use Aircraft instead of Vehicle where appropriate 15 years ago
smatz 50624d5c0f (svn r16378) -Codechange: replace OldPool with simpler Pool. Compilation time, binary size and run time (with asserts disabled) should be improved 15 years ago
rubidium 789999ecf3 (svn r16360) -Codechange: don't use _network_playas as a 'second' _local_company, but only as a storage location for the company you want to join in MP. 15 years ago
glx 9f5472bf1d (svn r16358) -Fix (r16343): strdup doesn't like NULL 15 years ago
frosch 14c7cc16a6 (svn r16343) -Fix (r16066): Invalid free on exit after changing base graphics set in game. 15 years ago
smatz d495dc5dbc (svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index) 15 years ago
yexo d489f93473 (svn r16315) -Codechange: move the autorenew settings to a new CompanySettings struct 15 years ago
yexo d67810442d (svn r16306) -Fix [FS#2901] (r15027): Close all windows before unloading the AI system as closing the content-download window will rescan for AIs 15 years ago
yexo da1f2295c4 (svn r16287) -Fix: fix possible (in theory) desync related to autorenew settings 15 years ago
rubidium 241af768f0 (svn r16242) -Codechange: rework pausing
-Fix [FS#2864]: autopause and manual pausing conflict with eachother
-Fix: new game + pause on new game + autopause make the game not unpause on the first join
15 years ago
rubidium 3662d3d09b (svn r16220) -Fix [FS#2862]: possible crashes when quiting OpenTTD or forcing resizes/redraws of the screen during map generation 15 years ago
rubidium 5c5b357043 (svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible. 15 years ago
rubidium 59555c543a (svn r16066) -Fix: another memory leak. 15 years ago
rubidium 8cd7def31c (svn r16014) -Feature(-ish): allow binding to several IPs; [network]:server_bind_ip doesn't exist anymore. Add the IPs/hostnames to [server_bind_addresses] 15 years ago
rubidium 8911a34b35 (svn r15999) -Codechange: VARDEF--; 15 years ago
rubidium c3e87f345d (svn r15718) -Cleanup: apply some comment coding style on the rest of the sources too 16 years ago
rubidium f3e0fd7416 (svn r15711) -Codechange: lots of whitespace cleanup/fixes 16 years ago
frosch 959c297fb9 (svn r15645) -Fix (r12924)[FS#2612]: Add an EngineOverrideManager to give the term 'compatible newgrf' again some sense and to not crash because of trivial changes. 16 years ago
yexo c1b27cf648 (svn r15590) -Fix (r15584): _screenshot_name is an array, not a char * pointer. 16 years ago
yexo b8601d903d (svn r15584) -Codechange: Move several variables from variables.h to more appropriate headers. 16 years ago
yexo 7e818f0456 (svn r15576) -Codechange: rename SwitchModes to SwitchMode and don't hardcode the values for that enum. 16 years ago
yexo bd2544b5ea (svn r15575) -Codechange: Rename GameModes to GameMode and store _game_mode as GameMode instead of as byte. 16 years ago
rubidium 68282c4172 (svn r15546) -Fix [FS#2651]: keep_all_autosave ignored for dedicated servers/spectators. 16 years ago
rubidium 38d66e69af (svn r15543) -Change: allow the default debug level of 6 for a dedicated server to be overriden by -d (if used after -D). 16 years ago
yexo 6381cbeeae (svn r15495) -Revert (r15383,r15422): Loading NewGRFs depends on correct settings, but the economy can only be started after loading NewGRFs. In short: r15383 causes more problems then it's worth. 16 years ago
rubidium 218f53d3fd (svn r15455) -Fix: font autodetection didn't occur when directly loading a game via e.g. -g. 16 years ago
rubidium 89e1afdaa0 (svn r15428) -Codechange: consistently use colour instead of having both color and colour. 16 years ago
rubidium a7264bd5aa (svn r15422) -Fix [FS#2623] (r15383): loading NewGRFs before copying the settings. 16 years ago
rubidium 283b3d16ab (svn r15410) -Cleanup: get rid of most of the references to the 'patches' except where it's used for backward compatability. 16 years ago
Yexo c4391379d2 (svn r15390) -Cleanup: Remove old hack that wasn't used anymore. 16 years ago
peter1138 68eb306381 (svn r15386) -Codechange: During start up, store driver/blitter/graphicsset selection in local variable instead of in the global _ini_* variables. This means that specifying a driver/blitter/graphicsset on the command line does not clobber the configuration value, which can now be saved like other values. 16 years ago
Yexo caf540d284 (svn r15383) -Cleanup: Don't call MakeNewgameSettingsLive more often than necessary. 16 years ago
rubidium 42fe0b65d2 (svn r15338) -Fix [FS#2598]: close all construction related windows whenever changing company. 16 years ago
smatz 9021c20b5e (svn r15299) -Cleanup: remove many redundant includes 16 years ago
rubidium 5ecd1be89d (svn r15243) -Fix [FS#2446]: rejoining a server would abort the join (and kick the client) because trying to join with an invalid player ID 16 years ago
rubidium 4aabc91c04 (svn r15157) -Codechange: wrap the hostname/ip and port into a single structure so we can pass either one of them and not convert an ip to a string and then back again. 16 years ago
smatz 575a3a4563 (svn r15144) -Codechange: make sure we don't run out of bounds while determining old savegame name
Note this can't happen in current code
16 years ago
truebrain c2406cd42d (svn r15027) -Merge: tomatos and bananas left to be, here is NoAI for all to see.
NoAI is an API (a framework) to build your own AIs in. See:
   http://wiki.openttd.org/wiki/index.php/AI:Main_Page
 With many thanks to:
  - glx and Rubidium for their syncing, feedback and hard work
  - Yexo for his feedback, patches, and AIs which tested the system very deep
  - Morloth for his feedback and patches
  - TJIP for hosting a challenge which kept NoAI on track
  - All AI authors for testing our AI API, and all other people who helped in one way or another
-Remove: all old AIs and their cheats/hacks
16 years ago
peter1138 2ef54545c7 (svn r14911) -Fix (r14909): -D did not work 16 years ago
peter1138 553d65f584 (svn r14907) -Codechange: Remove 32 character limit from driver/blitter selection and parameters. 16 years ago
smatz 91233ea596 (svn r14828) -Codechange: move most of save/load-specific code to separate files 16 years ago
smatz 7869c4ba66 (svn r14815) -Codechange: separate 'highscore' code from 'company' code 16 years ago
smatz cd88a7590a (svn r14812) -Codechange: use INVALID_TILE instead of 0 to mark company without HQ 16 years ago
rubidium f316796629 (svn r14803) -Codechange: move order list management into it's own class and remove the order count from the savegame as we can easily count that (PhilSophus) 16 years ago
rubidium 741f0a86fe (svn r14790) -Codechange: unify generation of default savegame/screenshot names (PhilSophus) 16 years ago
rubidium 2fb24a8a83 (svn r14773) -Fix-ish[FS#2469]: attach a signal handler during loading savegames to catch any crashes due to broken savegames/missing NewGRFs and tell the user about that instead of "just" crashing without explanation. 16 years ago
rubidium f55995f1ef (svn r14772) -Codechange: make the "dump log of game to reproduce" desync debug stuff a runtime configurable debug option instead of a compile time option. 16 years ago
rubidium e83cca7d13 (svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter. 16 years ago
rubidium 634842525b (svn r14744) -Fix [FS#2474]: don't tell loading a savegame failed in two distinct ways. 16 years ago
smatz c88a6199a7 (svn r14743) -Codechange: use INVALID_TILE to indicate station doesn't have queried facility (or station/roadstop is invalid) instead of 0 (Yexo) 16 years ago
rubidium bf6ec8b19f (svn r14735) -Codechange: remove a bit of bit-waste in the map array (without changing the map array) and make the CompanyIDs contiguous.
-Note: 15 should be enough for now... making it any more means adding more bytes to the map array and thus wasting more bits instead of reducing the bit waste.
16 years ago
smatz c6c3124c30 (svn r14700) -Fix (r1): loading of very old savegames was broken (STNS chunk is stored before MAP in old savegame) 16 years ago
frosch 4c01a1c6af (svn r14682) -Fix (r14672): Check the correct savegame version. (Thanks SmatZ) 16 years ago
frosch c1d1ba22cc (svn r14672) -Fix [FS#2444]: Property 7 and callback 12 were broken for aircraft.
Now callback 12 is properly called also for 'mail'.
If the callback is not used, 'mail' uses 1/4 of property 7 (rounded up).
16 years ago
rubidium 5ebb48fa86 (svn r14631) -Add: support for Allegro as sound backend. 16 years ago
smatz e50a4f2053 (svn r14612) -Change: force the argument given to '-i' parameter to be valid. Accept '2', too 16 years ago
frosch 70f2b95bda (svn r14611) -Fix (r13437)[FS#2421]: Store the age of a house in the map array instead of the construction year.
Note: Savegames from r13437 to now are broken and have a age of 255 years for a lot houses.
16 years ago
rubidium 84ed955492 (svn r14598) -Feature: Action0Industries property 24 (industry suuplies default name for nearby station). 16 years ago
smatz 698f05e756 (svn r14591) -Fix [FS#2388](r14528): cached nearest town could be invalid after importing older savegame and during town generation
-Codechange: rewrite parts of code responsible for caching index of nearest town
16 years ago
skidd13 9b282b3e51 (svn r14555) -Codechange: replace ttd_strlcat and ttd_strlcpy with strecat and strecpy where direct conversion is possible 16 years ago
rubidium 0d2f84e117 (svn r14540) -Codechange: introduce [v]seprintf which are like [v]snprintf but do return the number of characters written instead of the number of characters that would be written; as size_t is unsigned substraction can cause integer underflows quite quickly. 16 years ago
frosch e65be653f5 (svn r14535) -Fix: Description of '-i' commandline option. 16 years ago
rubidium 52ac592422 (svn r14528) -Codechange: cache the closest town for all road tiles instead of only roads owned by tiles. This replaces a O(n) search over all towns from the road's tileloop with a O(1) lookup (PhilSophus) 16 years ago
frosch 56e5972790 (svn r14493) -Fix[FS#planetmaker]: Do not assign a station spread to buoys on loading games. 16 years ago
rubidium b5e467978b (svn r14464) -Codechange: replace (uint)-1 with UINT_MAX (PhilSophus) 16 years ago
rubidium e589c7e580 (svn r14422) -Codechange: also reflect the changes of r14421 in the filenames. 16 years ago
rubidium f56e630e5c (svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with. 16 years ago
glx dee7b2148a (svn r14408) -Fix (r9205): generation seed set using -G was always overwritten by -g 16 years ago
rubidium da69e69f5a (svn r14359) -Fix [FS#2311]: the ownership of roadtiles was not properly set for very old savegames (including TTD's) making it impossible to remove some pieces of road. 16 years ago
smatz 74892fbdf6 (svn r14348) -Fix (r1667): signs were not updated on company bankrupcy/sell, they have colour of invalid player 16 years ago
smatz 564aa83835 (svn r14340) -Fix (r11822): signs from old savegames were lost (causing little memory leaks) 16 years ago
smatz 6d5475cb91 (svn r14339) -Fix (r13731): crash when loading the intro game failed 16 years ago
smatz 00ce8ceb2b (svn r14336) -Fix (r14334): when there was a station with custom name in an old savegame, it's default name was empty 16 years ago
smatz c33d779e5a (svn r14290) -Fix (r13932): level crossings could be barred when they shouldn't be after savegame conversion 16 years ago
smatz ff7e0b2586 (svn r14280) -Codechange: use IsRailWaypointTile() instead of IsTileType() and IsRailWaypoint() checks at several places 16 years ago
rubidium a20b833516 (svn r14199) -Codechange: split fileio.h into fileio_type.h and fileio_func.h so not everything that includes saveload.h needs to include everything else too. 16 years ago
rubidium 915a09e4c6 (svn r14197) -Codechange: rework (original) base graphics determination methods. This yields in the following:
-Feature: make configuring the to-be-used base graphics via openttd.cfg and the command line possible.
-Feature: allow both the German as well as non-German toyland graphics as "correct" and official graphics.
-Feature: allow people to create their own base graphics easily and without requiring code changes.
16 years ago