diff options
author | Darkvater <darkvater@openttd.org> | 2006-03-02 02:22:15 +0000 |
---|---|---|
committer | Darkvater <darkvater@openttd.org> | 2006-03-02 02:22:15 +0000 |
commit | 42dec88a29c9354367d1d5878e0a825530a6bd58 (patch) | |
tree | 83f0af63da1e12c0be0c89dc17b1f1167d857ae3 /network_server.c | |
parent | bf1bf1e1ec11f973e78529420b006095aa184ca5 (diff) | |
download | openttd-42dec88a29c9354367d1d5878e0a825530a6bd58.tar.xz |
(svn r3726) - [6/6] Finalize conversion, finally save the patches struct.
- Remove the temporary synchronisation in during the map-transfer as this is no longer needed
- The saved patches work just like the saved gameoptions. You have a _patches and a _patches_newgame struct. The _patches_newgame struct contains the values from the configuration file and thus the defaults for new games. When a new game is started or an older game is loaded, the default values are copied over to _patches to be used. When you load a game that has PATS saved, the default values are also loaded, but immediately overwritten by the values from the savegame. This ensures that player-based values are always taken from your personal preferences.
- The current implementation also changes the default values if you change player-based settings in the game. For example changing window_snap_radius in a certain game will also change it for all next OpenTTD sessions.
- The savegame version has been increased to 22.
- The last 6 orso patches close the following reports:
[ 1366446 ] different names for patches: all patch settings have the same name as in the configuration file and are reachable from the console.
[ 1288024 ] Strange string on OTTD initial screen: configuration (and this includes patches) inputs are validated and clamped to their minimum/maximum values.
[ 1423198 ] Make "Signals on Drive side" player, not server, based: this is only visual so current setting is to save it with the savegame but not synchronise in multiplayer.
[ 1208070 ] Patches and New GRF options saved: apart from newgrf this is done
Diffstat (limited to 'network_server.c')
-rw-r--r-- | network_server.c | 47 |
1 files changed, 1 insertions, 46 deletions
diff --git a/network_server.c b/network_server.c index 2c863587d..bd3a620ad 100644 --- a/network_server.c +++ b/network_server.c @@ -19,14 +19,11 @@ #include "saveload.h" #include "vehicle.h" #include "station.h" -#include "settings.h" #include "variables.h" // This file handles all the server-commands static void NetworkHandleCommandQueue(NetworkClientState* cs); -static void NetworkSendPatchSettings(NetworkClientState* cs); - void NetworkPopulateCompanyInfo(void); // Is the network enabled? @@ -322,12 +319,7 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_MAP) NetworkSend_Packet(p, cs); if (feof(file_pointer)) { // Done reading! - Packet *p; - - // XXX - Delete this when patch-settings are saved in-game - NetworkSendPatchSettings(cs); - - p = NetworkSend_Init(PACKET_SERVER_MAP); + Packet *p = NetworkSend_Init(PACKET_SERVER_MAP); NetworkSend_uint8(p, MAP_PACKET_END); NetworkSend_Packet(p, cs); @@ -1187,43 +1179,6 @@ static NetworkServerPacket* const _network_server_packet[] = { // If this fails, check the array above with network_data.h assert_compile(lengthof(_network_server_packet) == PACKET_END); - -extern const SettingDesc _patch_settings[]; - -// This is a TEMPORARY solution to get the patch-settings -// to the client. When the patch-settings are saved in the savegame -// this should be removed!! -static void NetworkSendPatchSettings(NetworkClientState* cs) -{ - const SettingDesc *item; - Packet *p = NetworkSend_Init(PACKET_SERVER_MAP); - NetworkSend_uint8(p, MAP_PACKET_PATCH); - // Now send all the patch-settings in a pretty order.. - - item = _patch_settings; - - for (; item->save.cmd != SL_END; item++) { - const void *var = ini_get_variable(&item->save, &_patches); - switch (GetVarMemType(item->save.conv)) { - case SLE_VAR_BL: - case SLE_VAR_I8: - case SLE_VAR_U8: - NetworkSend_uint8(p, *(uint8 *)var); - break; - case SLE_VAR_I16: - case SLE_VAR_U16: - NetworkSend_uint16(p, *(uint16 *)var); - break; - case SLE_VAR_I32: - case SLE_VAR_U32: - NetworkSend_uint32(p, *(uint32 *)var); - break; - } - } - - NetworkSend_Packet(p, cs); -} - // This update the company_info-stuff void NetworkPopulateCompanyInfo(void) { |