summaryrefslogtreecommitdiff
path: root/settings.c
AgeCommit message (Collapse)Author
2006-03-02(svn r3721) - [3/4] Present the game with a unified structure for the ↵Darkvater
configuration-ini, saveload, console and gui representations of the settings. From part 3 on, OpenTTD is once again compilable. - Code has been added to the saveload code to honour the SLF_SAVE_NO and SLF_NETWORK_NO flags. SLF_NETWORK_NO just reads in the the bytestream and then discards it because that setting is not synchronised. For this the function SlSkipBytes() has been reinstated - SAVEGAME_VERSION has been changed from a constant ENUM to a constant integer. This was done for the configuration-code to be able to tell which version of a CONDVAR type to handle. As said before, because settings can be saved to the savegame, they will become conditional at some point. The configuration code always has to read the 'most recent' version. - GameOptions are saved through the new structure. It is fully compatible with any old savegame...however it is better. Because of the move to this new format we can instruct the loader to skip certain variables. Autosave for example isn't synchronised anymore (in the network). The same goes for currency and kilometers :D. That is the only functionality change this patch is supposed to have if I have written it correctly. - NOTE! Patches are still not saved so for Multiplayer to work network_client.c and network_server.c needed slight modifications.
2006-03-02(svn r3720) - [2/4] Present the game with a unified structure for the ↵Darkvater
configuration-ini, saveload, console and gui representations of the settings. This second part gets rid of the old SettingDesc structures and updates them with the unified types. These new settings are heavily macro'd, which should make it easy to add/edit entries within sections. - This unified structure merges the settings in settings.c (concerned with the ini file) and the ones in setting_gui., having to do with the GUI. I tried to give sensible min and maximum values to _patches that were not present in the GUI I hope they work out all right. - All patch settings miss their callback function which have been temporarily reset to NULL - Fixed a really small typo in a Doxygen comment in settings.h - NOTE! When for example _patches are saved to the savegame (as are _gameopt_settings now), you cannot just blindly edit the struct. The same rules apply as to all the other SaveLoad structs. Eg correct CONDVAR's and only adding new entries at the end. - NOTE! The game is not compilable after this commit.
2006-03-01(svn r3719) - [1/4] Present the game with a unified structure for the ↵Darkvater
configuration-ini, saveload, console and gui representations of the settings. This first part rewrites the configuration section to use the SaveLoad VarType in general. - This unified structure consists of a SaveLoad type which stores all data relevant about the variable internals such as type, mem/filesize, address, version-control. The SettingDesc type is concerned more about the representation. Things like default value, string-name, minimum/maximum values, gui-behaviour etc. - The SaveLoad type has received a few flags controlling saving/loading. These are: SLF_SAVE_NO: the setting is not saved with the savegame, effectively making this setting player-based. Eg. it will NOT be overwritten when joining a network-game SLF_CONFIG_NO: the setting is not saved to the configuration file so you cannot overwrite it ingame. SLF_NETWORK_NO: the setting is not synchronised with the local settings when the game is loaded during network-play. Note that when SLF_SAVE_NO is set, SLF_NETWORK_NO is also set (which is logical), at least if the proper macros are used (in [2/4]). - NOTE! The game is not compilable after this commit.
2006-03-01(svn r3716) - Move the option settings (_game_opt_desc) from misc.c into ↵Darkvater
settings.c. This will be merged with SettingDesc misc_settings above as they are actually the same. No functionality has changed beside the fact that the settings are now in a different Chunkhandler.
2006-02-20(svn r3641) - Rename MusicFilesettings 'btn_down' to more sensible 'playing'Darkvater
2006-02-20(svn r3640) - Remove win32-only variables from variables.h and put them into ↵Darkvater
win32_v.c. Also ifdef the win32 specific configuration file settings.
2006-02-20(svn r3622) - Partly revert r3214. The patch setting max_num_autosaves stays ↵Darkvater
to help control PDA-troubles which the commit was intended for. Didn't revert makefile-config version since it would cause trouble. But Bjarni promised to rewrite it :)
2006-02-20(svn r3621) - Codechange: Only define the server and bans list if network is ↵Darkvater
enabled. Preparatory work for saving patches/settings to savegame.
2006-02-13(svn r3601) -Codechange: special for Tron, and he was absolutely correct in ↵truelight
thisone: added a comment for last commit
2006-02-13(svn r3600) -Fix: suppress error on 64bit targetstruelight
2006-02-06(svn r3567) -Fix: for once and for all, use 'unsigned long' if you want to ↵truelight
cast something from int-like to void *... we fixed that not too long ago, and the code below this changed line clearly tells you do to that :p
2006-02-04(svn r3550) - [Patches]: fix GCC warning, sorryDarkvater
2006-02-04(svn r3548) - [Patches]: rework two loops in make_oneofmany() and ↵Darkvater
make_manyofmany()
2006-02-04(svn r3547) - [Patches]: do some general cleanup, commentarization before ↵Darkvater
starting actual work. This patch contains no functional changes (I hope). It might break GPMI-builds though when trying to join a trunk/ network game or vice versa. To solve, you can change the order of the first 8 enums in SettingDescType. I think that'll work.
2006-02-04(svn r3534) - Codechange: remove unused savedump patch-settings.Darkvater
2006-02-01(svn r3512) Yet more whitespace fixes (mostly by Rubidium)peter1138
2006-02-01(svn r3511) More whitespace ([FS#46] by Rubidium)tron
2006-01-29(svn r3479) -Fix: fixed warnings on 64bit platforms (anyway, most 64bit ↵truelight
platforms) (tnx to qball and DarkVater for testing)
2006-01-29(svn r3475) - Fix: you couldn't remove an item from a list-type of config ↵Darkvater
ingame from the configuration file. Whatever you did, upon restart of OpenTTD those items were still there. To fix this we initialize the first item to NULL in SaveList as it is rebuilt anyways fully.
2006-01-29(svn r3472) - [PBS] Remove from trunk. Anyone interested can still find it ↵Darkvater
in branch/pbs. This reverts revisions r3158, r3140, r3075, r2977, r2674, r2625, r2621, r2529, r2528, r2525, r2524, r2519, r2517, r2516, r2507, r2499. (in conjunction with Tron) - The only change is that the nsignalsw.grf file is kept and that existing nightlies with PBS signals get those signals converted to combo-signals.
2005-12-18(svn r3313) Remove GPMI related changes from trunktron
Revisions in detail: 2542, 3226 (partial), 3229, 3231, 3232, 3238, 3242-3245, 3251, 3253, 3260, 3263, 3265, 3266, 3269, 3277, 3278, 3279, 3283 (partial), 3304, 3305, 3306
2005-11-26(svn r3238) -Fix: always save if you want GPMI-based AIs, this on request by truelight
Darkvater, so we can, in the future, save patch options in savegames without any problems.
2005-11-22(svn r3229) -Add: add more GPMI support. Now GPMI-based AIs can be loaded ↵truelight
(doesn't change a thing if you didn't enable GPMI)
2005-11-21(svn r3224) -Add: Allow the NewAI to work in Multiplayer Games (switchable ↵truelight
via patch settings, off by defaut). An other step to AIScripts. WARNING: this is still highly experimental and has known bugs!
2005-11-19(svn r3222) -Feature: Right-Click-Scrolling optionally moves in the opposite ↵tron
direction (Requested by manx)
2005-11-17(svn r3214) -Feature: openttd.cfg can now set how many autosaves to keep ↵bjarni
before starting to overwrite old ones max_autosave_num in the config files sets the number of autosaves to keep (default 16) MAX_NUM_AUTOSAVES in Makefile.config sets the default value. 16 is used if no value is given this behaviour can still be overwritten by keep_all_autosave (openttd.config setting) Note: this is a requested behaviour for PDA ports, since they got limited storage space
2005-11-09(svn r3157) - Feature: Added patch option to link the terraform toolbar to ↵peter1138
the rail, road, water and airport toolbars. If enabled, the terraform toolbar will open and close with those toolbars.
2005-09-24(svn r2982) Newgrf: Added patch option for wagon speed limits. This is ↵peter1138
enabled by default.
2005-09-23(svn r2976) -Fix: Align settings pool items to the size of void* to fix bus ↵tron
errors on 64bit architectures which require aligned variables
2005-09-08(svn r2924) Introduce the ALIGN() macro which aligns values to multiples of ↵tron
a power of 2, for exact semantics see the commment in macros.h
2005-08-07(svn r2833) Remove saving of sprite cache data:tron
the benefits are questionable, it's error prone, undocumented and hasn't been widely used for ages, if ever
2005-08-07(svn r2831) Fix some potential and real buffer overflowstron
2005-08-07(svn r2830) Move CheckSwitchToEuro() to currency.[ch] and hide the truth ↵tron
about the custom currency behind a #define
2005-08-06(svn r2815) Store the currency information in one central place instead of ↵tron
scattering it in several unrelated files
2005-07-25(svn r2706) Fix !WITH_NETWORK buildtron
2005-07-24(svn r2701) Insert Id tags into all source filestron
2005-07-22(svn r2673) Include functions.h directly, not globally via openttd.htron
2005-07-21(svn r2663) Include variables.h only in these files which need it, not ↵tron
globally via openttd.h
2005-07-19(svn r2635) Fix: [ntp/misc] Improve the old pathfinder. Changed it to A* ↵ludde
instead of Dijkstra. - Benchmark shows that NTP is now around 10x faster than NPF. - Made IsTunnelTile macro to determine if a tile is a tunnel. - Added some useful debugging functions for making tiles red / getting accurate timestamps. - Remove old depot finding algorithm. - Disable warning for signed/unsigned comparisons.
2005-07-19(svn r2633) Move spritecache related variable from variables.h to ↵tron
spritecache.[ch]
2005-07-19(svn r2631) Move screenshot related variables from variables.h to ↵tron
screenshot.[ch]
2005-07-12(svn r2553) - Fix: [pathfinding] Remove old-old train pathfinder. Enhanced ↵ludde
old pathfinder. - Penalties for red signals and for slopes. - Increased the search depth to work better with large train networks.
2005-07-04(svn r2516) - Feature: [pbs] Implement path-based-signalling. This allows ↵hackykid
multiple trains within the same signal block, provided their paths dont intersect. For this the block must have all exit and entry signals be pbs signals. Place these by ctrl-clicking 4 times on a normal signal. - Feature: [pbs] Implement autoplacement of pbs blocks, when a block has an entry and an exit pbs signal, covert the entire block to pbs. Can be turned off in the patch settings. - Feature: [pbs] Allow showing of reserved status by making the tracks darker, when the pbs debug level is at least 1.
2005-07-03(svn r2514) - Codechange: [NPF] Move the checking of railtype into a ↵matthijs
funciton IsCompatibleRail(). - Codechange: [NPF] Check the railtype along a route against the engine type instead of against the previouse tile. This clears the way for electriefied rails. - Add: [NPF] [ 1209644 ] A penalty for crossings (peter1138)
2005-06-16(svn r2447) * Add: [NPF] Penalty for road vehicles making turns.matthijs
2005-06-02(svn r2397) - CodeChange: rename all "ttd" files to "openttd" files.Darkvater
2005-05-07(svn r2281) - Fix: [ 1115204 ] [NPF] When pressing the goto depot button, ↵matthijs
trains will now also look behind it if there is no depot in front. If so, the train reverses immediately. This also work anywhere, not just at stations. - Add: [NPF] Reversing inside of depots now has a penalty. It also applies to trains only, other vehicles shouldn't bother reversing. - Fix: [NPF] When checking whether to reverse a train, the trackdir of the first loc was used instead of the last vehicle as a starting node for pathfindig. This might have caused some trains not reversing when they should have (or vice versa). Typo introduced when converting to GetVehicleTrackdir() in r2256. - CodeChange: [NPF] Removed duplicate code by letting NPFRouteTjoStationOrTile() call NPFRouteToStationOrTileTwoWay(). - Add: [NPF] NPFRouteToDepotBreadthFirstTwoWay() to find a depot while also looking backwards. - Add: It is now possibly to specify a path cost for aystar starting nodes.
2005-05-02(svn r2255) - Fix: [ 9680363 ] [NPF] Broken buoy handling for shipsmatthijs
Buoys will now try to get within 3 tiles of a buoy instead of a the actual buoy tile. This gets ships to got past buoys in a realistic (IMO) way instead of barging right through them. - Fix: [NPF] Trains get curves penalties sometimes even when the track is straight. - Add: [NPF] Ships get a penalty for going over buoys now, so they will try to go around. - Add: [NPF] Ships get a penalty for curves too, yay for straight lines. - Add: TrackdirToTrack(), TrackToTrackdir(), IsDiagonalTrack() and IsDiagonalTrackdir() helper functions. - Add: IsBuoy() and IsBuoyTile() helper functions. - Codechange: Rearranged part of the control flow of ShipController(), removing a goto.
2005-04-25(svn r2231) - Fix: max_join_time pointing to _network_max_join_time is an ↵Darkvater
uint16, so it should have type SDT_UINT16; fix for revision 2106 (thanks peter1138)
2005-04-24(svn r2227) - Fix (regression): [ 1188408 ] Fix news settings load check. ↵Darkvater
When updating old news-message-types to new ones, certain combinations of new were wrongly recognized as old (glx)