Commit Graph

45 Commits

Author SHA1 Message Date
Darkvater
40405368d5 (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
2006-03-02 02:22:15 +00:00
Darkvater
a9d33943d7 (svn r3721) - [3/4] Present the game with a unified structure for the 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 00:32:48 +00:00
Darkvater
f14df34790 (svn r3429) - Feature (Followup): Change the gamelist window to accomodate for the new information. 2006-01-25 19:03:50 +00:00
Darkvater
082aa38f79 (svn r3427) - Feature: Allow seeing and setting the maximum amount of companies and spectators for a server. This can be changed/viewed during runtime as well in the console. 2006-01-25 18:11:06 +00:00
tron
318fe153eb (svn r3365) Staticise 36 functions 2006-01-05 12:40:50 +00:00
truelight
708c135ff7 (svn r3246) -Fix: small glitch in ai_network_client code (network_client.c)
-Fix: make sure this glitch can never happen again (ai.c)
2005-11-29 16:06:06 +00:00
truelight
e4cb8ed457 (svn r3226) -Fix: GPMI implementation had minor glitches
-Fix: the AI speed control is done by the AI-core, individual AIs don't have to do it (so, AIs were delayed twice ;)
-Add: Support for AI-network-clients (an AI, connecting to a remote server)
-Fix: minor AI-core problems
2005-11-22 15:55:38 +00:00
tron
f02b1f2967 (svn r2899) -Fix: Several format string vulnerabilities and buffer overflows in the network code 2005-08-28 12:24:57 +00:00
bjarni
9952ff0b59 (svn r2817) -Codechange: [autoreplace]: moved autoreplace and autorenew to serverside
-This means that one company can only have one setting for renew and replacing
    more clients will not fight due to different settings anymore
  -This is a needed step in the line to fix autoreplacing dualheaded locomotives
  NOTE: savegame revision bump (peter1138 + me in coop)
2005-08-06 16:07:22 +00:00
tron
647cbd6bdd (svn r2701) Insert Id tags into all source files 2005-07-24 14:12:37 +00:00
tron
54cbd01825 (svn r2673) Include functions.h directly, not globally via openttd.h 2005-07-22 07:02:20 +00:00
tron
a4ec4da221 (svn r2672) Move saving/loading related declarations to saveload.h 2005-07-22 06:31:31 +00:00
tron
71140a5768 (svn r2669) Shuffle some more stuff around to reduce dependencies 2005-07-21 22:15:02 +00:00
ludde
04e45dac34 (svn r2588) Codechange: Remove PLAYER_SEED_RANDOM 2005-07-16 12:30:03 +00:00
ludde
fd0cee7418 (svn r2583) Move OS specific code out of misc.c
Added support for Mersenne Twister random number generator (not implemented in network yet)
Wrap player randoms around #ifdef
2005-07-15 20:29:06 +00:00
tron
1307f90b5e (svn r2535) Tabs 2005-07-08 22:25:24 +00:00
celestar
354058341b (svn r2468) -Codechange: Got rid of DEREF_PLAYER and replaced it by GetPlayer 2005-06-21 16:28:17 +00:00
tron
4eebeff58c (svn r2324) Introduce _cmd_text for passing strings with a command instead of abusing _decode_parameters as text buffer. This should prevent several possible buffer overruns and is a bit cleaner to use. As bonus it reduces the size of most command packets by 79 bytes. 2005-05-15 18:50:55 +00:00
Darkvater
dcd4ad4155 (svn r2301) - CodeChange: prettyify ChangeOwnerShipOfPlayerItems() a bit
- CodeChange: add comments to a very ugly part of the code (network_client.c); that enforces that the server gives an ID to the client.
2005-05-12 23:47:45 +00:00
Darkvater
ef1325cd36 (svn r2004) - Fix: [ 1149487 ] Autosave ignoring settings
- Fix: [ 1153926 ] All my settings in vain... IGNORED!
- Change: I hope I got it all right. Pressing 'New Game' (either choosing random or a preset scenario) and 'Create Scenario' will start a new game with the settings and difficulty in the intro menu. Using 'Load Game' and 'Play Scenario' will take the values from the savegame/scenario itself.
2005-03-12 21:21:47 +00:00
tron
59fa465dce (svn r1821) Move generic string handling functions to string.[ch] and introduce stre{cpy,cat}, see string.h for their semantics 2005-02-06 13:41:02 +00:00
tron
d3f84347ac (svn r1813) Declare functions implemented in strings.c in their own shiny new header (though i think some of these function don't belong into strings.c) 2005-02-06 08:18:00 +00:00
tron
36c9758c94 (svn r1803) Move debugging stuff into files of it's own 2005-02-05 15:58:59 +00:00
truelight
27929d129b (svn r1527) -Add: RCon (Remote Connection). A server can set:
'set rcon_pw <password>'
  Which enables rcon. A client can now do:
    'rcon <password> "<command>"'
  The command will be executed on the server. (guru3)
-Fix: 'kick 1' did crash dedicated servers
-Fix: server password is now correctly saved

  !!Warning!!: do not give your rcon password to people you do not thrust!
2005-01-15 20:09:16 +00:00
truelight
a74ff97781 (svn r1513) -Fix: glitch in revision 1510
-Fix: MSVC6 project file update (bociusz)
-Fix: MSVC6 default language is now English (UK), no longer Swedish (bociusz)
2005-01-14 21:59:31 +00:00
truelight
b33df5936f (svn r1510) -Add: Improved Network Lobby GUI: (bociusz)
- Added green dot if company income is positive (else red dot)
 - Added lock icon if company is password protected
2005-01-14 21:47:35 +00:00
tron
4450ff105c (svn r1451) Fix some of the signed/unsigned comparison warnings 2005-01-09 21:25:44 +00:00
truelight
503ccc81c9 (svn r1389) -Add: [Network] Added packet protection. No longer a client or server
reads beyond the size of the packet
-Fix: [Network] A server no longer crashes when a client sends an 
invalid DoCommand, but drops the client instead.
2005-01-05 14:39:48 +00:00
truelight
5eeab7fcfe (svn r1322) -Add: banning system (mostly tnx to guru3)
A server can ban people via ClientList
  Both server and dedicated can do it via console:
   'ban', 'unban', 'banlist'.
2005-01-02 12:03:43 +00:00
truelight
2f2842ec05 (svn r1246) -Fix: [ 1090099 ] Company-messages did crash the game, because
company-index was sent, which should have been the client-index
2004-12-23 13:53:05 +00:00
darkvater
5eeb971de0 (svn r1240) -Fix: OpenTTD once again compiles if ENABLE_NETWORK is disabled.
-Fix: removed some warnings
-Enabled ENABLE_NETWORK on windows again which I accidentally commented out.
2004-12-23 00:24:44 +00:00
truelight
6b047f7b14 (svn r1204) -Add: [Network] Added some cheaters-protection (money-cheat mostly) 2004-12-21 17:31:10 +00:00
truelight
9938d19d76 (svn r1186) -Fix: [Network] You can now join a company on a server where a company
went bankrupt, without joining the wrong company (or even failing to do so)
2004-12-20 16:02:01 +00:00
truelight
182eb874e8 (svn r1174) -Fix: [Network] All strings can now be translated (no more hardcoded strings) 2004-12-19 15:14:55 +00:00
truelight
84475dc503 (svn r1169) -Fix: [Network] [ 1087591 ] When you want to be a spectator, you now
stay a spectator even if someone else joins.
2004-12-19 10:24:45 +00:00
truelight
df995a32ed (svn r1168) -Cleanup: [Network] Cleaned the network code a bit. Added 'const'
and 'void' where needed, prefixed all functions, typedefs and global 
vars with 'Network' and organized all externals nicely.
2004-12-19 10:17:26 +00:00
truelight
196dbd66c9 (svn r1125) -Fix: [Network] You can now safely join a company again 2004-12-16 11:09:00 +00:00
truelight
2f6a26ab2d (svn r1108) -Fix: [Network] Fixed problem around slow clients:
They joined, they got the map, but it took some time before the new 
player was created. In this time a player could do stuff, causing a 
player-id-mismatch, and the player was kicked out. Now a player get's a 
nice GUI which says: registering.. When that is gone, the player is 
joined and can play safely. Tnx to Moriarty for bugging me with this bug ;)
2004-12-15 21:13:52 +00:00
truelight
ac96c1ae07 (svn r1096) -Fix: [Network] PlayAs is now registered correctly
-Codewise: [Network] Cleaned some code, removed some comment, changed 
some wrong comment
2004-12-15 15:19:51 +00:00
darkvater
c21659ae7e (svn r1093) -Fix: Hopefully fixed windows revision issues once and for all. Removed globalness of _openttd_revision and put all such ifdefs into one place. If server has a revision only the same revisions can join; if the server has no revision everyone can join. I reckon this should be a server-side option to allow people to join or not to join. 2004-12-15 00:31:08 +00:00
truelight
b0fa342aaa (svn r1090) -Fix: Made the _openttd_revision variable global, and with that
hopefully killed the windows-revision problem. If WITH_REV is defined, 
for both Windows as *nix system _openttd_revision is filled with normal 
info, else _openttd_revision is set to 'norev000'
-Fix: Small possible server-crash
2004-12-14 20:27:00 +00:00
truelight
05c585d593 (svn r1042) -Fix: [Network] Hopefully enabled revision-check for windows (somehow
windows uses WITH_REV_HACK instead of WITH_REV :s)
2004-12-13 09:01:24 +00:00
truelight
b50b664f36 (svn r1026) -Add: [Network] Added unique id, so in network, each client has an
unique id (generated via md5)
2004-12-12 16:04:32 +00:00
truelight
d86b06a7f5 (svn r982) -Fix: [Network] Because dparams are misused as a char, we had some
endian-problems. To fix this, we are sending dparams byte by byte 
(instead of an uint32). Because of this dparam is sent 
not-uint32-endian-safe, but char-endian-safe. Too bad dparam can no 
longer be used for normal stuff (which is currently not the case) (tnx 
to Tron and Bjarni)
2004-12-08 18:16:43 +00:00
truelight
d6a1f3e412 (svn r942) -Merged branch/network back into the trunk 2004-12-04 17:54:56 +00:00