summaryrefslogtreecommitdiff
path: root/network_server.c
diff options
context:
space:
mode:
authorDarkvater <Darkvater@openttd.org>2006-03-02 02:22:15 +0000
committerDarkvater <Darkvater@openttd.org>2006-03-02 02:22:15 +0000
commit40405368d52b0d1ab71145620a4e6ea94f451e5e (patch)
tree83f0af63da1e12c0be0c89dc17b1f1167d857ae3 /network_server.c
parent5f220ff0e26ec1fd1985b8b4e6a1609369aa7459 (diff)
downloadopenttd-40405368d52b0d1ab71145620a4e6ea94f451e5e.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.c47
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)
{