Commit Graph

130 Commits

Author SHA1 Message Date
matthijs
65de40f547 (svn r2447) * Add: [NPF] Penalty for road vehicles making turns. 2005-06-16 17:53:40 +00:00
Darkvater
7648e9290b (svn r2291) - Fix (regression): When a client joined it changed the server-player's name. Funny effect; but not desired. Thanks for pointing it out Tron. It needed a bit of hacking, but is not less of a hack than the one used before :) 2005-05-11 12:46:19 +00:00
matthijs
3081316c69 (svn r2281) - Fix: [ 1115204 ] [NPF] When pressing the goto depot button, 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-07 22:00:36 +00:00
Darkvater
132f8673db (svn r2274) - Codechange: some comments, parentheses and EngineID typedef for engine_type 2005-05-06 16:13:44 +00:00
matthijs
ba733c005d (svn r2255) - Fix: [ 9680363 ] [NPF] Broken buoy handling for ships
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-05-02 22:13:20 +00:00
matthijs
c6f40b4696 (svn r2204) - Add: [NPF] NPF now has a maximum number of nodes it will search. The default value is 5000 for now, which is an educated guess. Probably needs some finetuning. Hopefully this "feature" can be removed later on, when more sophisticated means of limiting the pathfinder have been implemented. This should make ships and larger networks playable for now, though. 2005-04-15 15:28:01 +00:00
Darkvater
e25dfa6e7e (svn r2192) - Add greater control to the 'message options' window. Now you can turn off the telegraphc ticker sound for summarized messages, or turn off news-messages altogether (you get a red blot to notify you though). The [<][>] set the settings in one way, while clicking on the option itself, cycles it. This commit also 'fixes' bugs [1166973], [1121484] and patch [1169930].
- I also changed an order of strings from On, Off to Off, On, so this can be used ingame with the WWT_4 widget type.
- Since the newssettings now take 2 bits per setting (off/summary/on) _news_display_opt is widened to 32 bits and the settings code changed slightly to accomodate for a maximum of 16 message-types.
2005-04-13 23:03:31 +00:00
matthijs
cee1a5d1b2 (svn r2147) - Add: [NPF] Give red presignal exit signals a different (higher) penalty, to discourage trains from waiting at presignal exits. 2005-04-04 17:53:39 +00:00
pasky
00ff85dcb8 (svn r2033) - Fix: Fix some more desync by saving the town growth frequency iterator _cur_town_iter. Needed to bump a svg revision for that thanks to the braindead SlGlob thing, or at least I don't know how to do it without bumping it. 2005-03-20 00:32:26 +00:00
pasky
49f769948b (svn r2021) Fix: Enlarge _cur_town_ctr from byte to uint32 so that all the towns are considered when growing them even for big maps, where much more than 256 towns are around; reported by Tomasz Dubiński <uboottd@hydra.polsl.gliwice.pl>. The savegame still saves just the lowest 8 bits but that doesn't hurt so much. 2005-03-17 23:12:23 +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
matthijs
e7af60594b (svn r1964) - Add: [NPF] Added a penalty 2005-03-08 19:59:56 +00:00
matthijs
6a5495f83c (svn r1963) - Add: [NPF] Penalty for a red signal that is the last signal on the path.
- Add: [NPF] NPFGetFlag() and NPFSetFlag() to wrap NPF node flag handling
2005-03-08 19:54:10 +00:00
tron
4099a85743 (svn r1921) -Fix: Out of bounds array access which caused oil rigs to accept other cargo types besides passengers and mail 2005-03-03 19:54:46 +00:00
tron
3844a104f2 (svn r1910) Move two variables out of variables.h which are only used locally 2005-02-23 09:13:12 +00:00
tron
3608b72a36 (svn r1850) Change the last consumers of str_buffr so they use local static buffers now and remove the global array str_buffr. 2005-02-08 17:31:13 +00:00
tron
257e97c09a (svn r1833) byte -> char transition: the rest 2005-02-06 22:25:27 +00:00
tron
c644e6b742 (svn r1827) Next iteration of the byte -> char transition: some string drawing functions and buffers 2005-02-06 18:30:45 +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
8f68e8def1 (svn r1810) Move town name generation declarations into a header of their own 2005-02-05 23:03:12 +00:00
tron
36c9758c94 (svn r1803) Move debugging stuff into files of it's own 2005-02-05 15:58:59 +00:00
celestar
ff39c260f7 (svn r1799) -Codechange: [ Multistop ] Added debug class "ms" and more debugging
output for multistops
2005-02-05 12:10:09 +00:00
truelight
99f3fe4c07 (svn r1786) -Fix: unitnumber is increased to 16bit, so now you can have up to 5000
trains in one game (instead of the 240 which was the current value). 
Default max allowed vehicles per type is changed:
  Trains:  500 (old 80)
  Road:    500 (old 80)
  Ships:   200 (old 40)
  Aicraft: 300 (old 50)
(Tnx to Celestar and Darkvater for checking the patch)
2005-02-04 14:24:23 +00:00
matthijs
eb78cdb2d4 (svn r1751) - Feature: New PathFinder (NPF).
- Supports trains, road vehicles and ships.
	- Uses A* pathfinding (same codebase as the new ai).
	- Currently unlimited search depth, so might perform badly on large maps/networks (especially ships).
	- Will always find a route if there is one.
	- Allows custom penalties for obstacles to be set in openttd.cfg (npf_ values).
	- With NPF enabled, ships can have orders that are very far apart. Be careful, this will break (ships get lost) when the old pathfinder is used again.
- Feature: Disabling 90 degree turns for trains and ships.
	- Requires NPF to be enabled.
	- Ships and trains can no longer make weird 90 degree turns on tile borders.
- Codechange: Removed table/directions.h.
	- table/directions.h contained ugly static tables but was included more than once. The tables, along with a few new ones are in npf.[ch] now. Better suggestions for a location?
- Fix: Binary heap in queue.c did not allocate enough space, resulting in a segfault.
- Codechange: Rewritten FindFirstBit2x64, added KillFirstBit2x64.
- Codechange: Introduced constant INVALID_TILE, to replace the usage of 0 as an invalid tile. Also replaces TILE_WRAPPED.
- Codechange: Moved TileAddWrap() to map.[ch] 
- Add TileIndexDiffCByDir(), TileIndexDiffCByDir(). 
- Codechange: Moved IsTrainStationTile() to station.h
- Add: IsRoadStationTile() and GetRoadStationDir().
2005-01-31 11:23:10 +00:00
tron
b188b30e2d (svn r1737) Add DEBUG category "map" and use it to print the map size when allocating the map 2005-01-30 18:12:37 +00:00
tron
001aa8e453 (svn r1722) -Feature: Bigger maps - anyone? 2005-01-29 19:45:14 +00:00
bjarni
bd8b10d250 (svn r1680) Feature: Replace train GUI now remembers the railtype selected in the dropdown menu 2005-01-26 12:42:29 +00:00
miham
08727614fc (svn r1678) Added cheat option for setting production of raw-material product industries in game 2005-01-26 10:52:23 +00:00
bjarni
cf862380fc (svn r1629) added a counter to tell how many engines you have of each type to the autoreplace vehicle windows and made them show only the vehicles you actually have in the left list.
this also fixes some window updates issues when autoreplacing
2005-01-23 22:01:51 +00:00
darkvater
0fc9b656e2 (svn r1538) -Feature: [988816] Disable servicing when breakdowns set to none (jaguar7) 2005-01-16 12:29:52 +00:00
darkvater
84adfdf8c8 (svn r1496) -Fix: highscore no longer crashes in network games with a dedicated server. At the end of the game (can only be set by the server) the highscore is shown for the top5 companies of that game
-Fix: fixed some compiler warnings
-Added PF_NETWORK_ONLY flag to settings. Such a setting can only be modified in a network game.
2005-01-13 16:28:47 +00:00
truelight
97dd511971 (svn r1486) -Codechange: moved all 'signs' stuff to signs.c/h and prepared it for
dynamic arrays
2005-01-12 11:21:28 +00:00
darkvater
199a77d1ea (svn r1479) -Added highscore chart (accessible from the difficulty window) with top5 companies for a given difficulty (select the difficulty in the menu)
-Added endgame score on 1 jan 2051 where you are added to the highscore if sufficiently large points have been accumulated. Game is paused while
-These values are saved in hs.dat; added read/write functions for it
-Added code to delete all windows to show charts. There is one issue left: somehow a news-gui pops up in front of the the chart at the end of the game.
2005-01-11 00:54:06 +00:00
darkvater
c2b59b2089 (svn r1418) -Feature: [1098254] (dis)Allow Shares. Add patch options to allow buying/selling of shares (Hackykid) 2005-01-07 23:59:59 +00:00
tron
e4cf2ba1b3 (svn r1386) Move TileIndexDiff to map.h
Move _tileoffs_by_dir to map.[ch] and encapsulate it in TileOffsByDir()
2005-01-05 13:32:03 +00:00
darkvater
fc52b512aa (svn r1375) -Fix: [1050990] Buying trains sometimes accounted for incorrectly. Was the result of the cost getting reset in a recursive call of docommand. That is fixed. In addition all cost-commands are typed explicitely. Please do not forget to do so or your costs will be credited to construction if you are unlucky. 2005-01-04 17:11:03 +00:00
bjarni
5da75918c0 (svn r1323) Adding autoreplace feature
This feature works much like autorenew, but it will get you a new engine type instead of a new one of the same type. Once 
ordered, it will automatically replace the engines while they visits a depot. The GUI for setting this up have been added on the 
vehicle overview windows
Note: autorenew is now autoreplace, but to the same engine type
Nice new features, that was added to make this possible
- windows can now have two independant vertical scrollbars
- CMD_SHOW_NO_ERROR have been added as a flag for DoCommandP. It will make it do the action instead of showing the red box with 
estimated costs even if shift is pressed
- fixed problem where enginetypes where not initialized when loading a game. It's now done in InitializeGame()
2005-01-02 17:23:04 +00:00
truelight
c748f6db57 (svn r1312) -Add: Patch which is on by default: population in label of the town
-Fix: Expand town is a bit more agressive
-Fix: Fixed a bug in growing algorithm
2004-12-31 18:57:24 +00:00
dominik
1fa1a391dc (svn r1255) Renamed "postfix" to "suffix", for strings and variable names 2004-12-23 18:28:13 +00:00
darkvater
a5a49135bc (svn r1219) -Fix: compilation for windows release build (forgotten VARDEF) 2004-12-22 15:45:41 +00:00
dominik
38b8b7848f (svn r1215) Feature: You can now make a custom currency by chosing "Custom..." 2004-12-22 13:19:26 +00:00
truelight
8361617f50 (svn r1160) -Fix: redid revision 1159. pid_t should not be defined under windows. 2004-12-18 18:13:37 +00:00
darkvater
2f55c8bfc4 (svn r1159) -Fix: pid_t was unknown to windows; typedeffed to int. 2004-12-18 18:05:56 +00:00
truelight
92b329bc14 (svn r1154) -Add: [Network] Forked dedicated server (start openttd with -Df) (GeniusDex) 2004-12-18 14:19:21 +00:00
tron
a148ff4e0d (svn r1117) Move map arrays and some related macros into their own files map.c and map.h 2004-12-15 22:18:54 +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
dominik
0a1e697a29 (svn r1076) Feature: Patch setting to autosave the game on exit
If you set autosave_on_exit = true in openttd.cfg, your game will be saved as exit.sav in the autosave folder and you won't be asked if you want to quit the game any more.
2004-12-13 22:10:12 +00:00
dominik
6e99d2c0e8 (svn r1038) Feature: OpenTTD runs with the grf files of the DOS version
Please read the Readme for further information. There are some minor graphical glitches when you use the DOS files. E.g. the autorail button is a bit screwed up.
2004-12-12 20:36:24 +00:00
Celestar
945ceb06fc (svn r979) Allow more realistically sized catchment areas 2004-12-08 15:46:13 +00:00
bjarni
155c9d235f (svn r970) Added 2nd data path for all non-windows OSes
added completely customizable lang path (all non-Windows OSes)
2004-12-07 17:16:57 +00:00
truelight
d6a1f3e412 (svn r942) -Merged branch/network back into the trunk 2004-12-04 17:54:56 +00:00
tron
265ac67183 (svn r901) Small step in the process to clean up the DPARAM mess:
- reduce to 2 sizes (*DParam64 for 64bit values, *DParam for the rest)
- use inline functions instead of macros
- add assert()s to check for buffer overruns
2004-12-02 22:53:07 +00:00
tron
d701668f50 (svn r853) -Feature: Implement improved vehicle loading algorithm
It's not FIFO loading, but does the right thing in the common case:
If a vehicle is empty and another vehicle is already loading the same cargo at this station then the vehicle waits.

This is an reworked version of [ 1072211 ] submitted by Hackykid, thanks!
2004-11-29 11:59:09 +00:00
pasky
3ee0dee12a (svn r767) Introduce USERSTRING_LEN (128) and try to make sure we don't overflow it anywhere (as long as we keep USERSTRING_LEN above 7 or so). 2004-11-22 21:41:25 +00:00
tron
75d002690a (svn r723) Increase size of dparam so more parameters can be passed to string output 2004-11-21 10:42:01 +00:00
tron
872f49ae8a (svn r538) -Feature: Windows snap at each other
This is inspired by [1063636].
2004-11-10 21:14:16 +00:00
signde
d6cab2e06d (svn r221) -Feature: console command and variable hooking
-Fix: added another network.c stub
-Consolecommand: "scrollto <tile>" center main view on <tile> [Darkvater]
-Consolecommand: "resettile <tile>" force bulldoze <tile> without any checks (DEBUG only) [Darkvater]
-Fix: resetengines is hooked to be not available in network games
-Codechange: "connect <connectstr>": the connect command now uses a connectionstring like the network-gui
-Fix: Direct Connect editbox can handle up to max ~35 characters [Darkvater]
2004-09-12 20:15:18 +00:00
signde
1fb915df69 (svn r207) -Codechange: randomizer handling
-Fix: desync problem fixes
-Fix: server doesnt hang anymore when a client timed out
-Feature: low latency connection enhancements [*net_sync_freq, *net_ready_ahead]
2004-09-11 19:34:11 +00:00
truelight
eb49a19460 (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way! 2004-09-10 19:02:27 +00:00
darkvater
216abe4e93 (svn r189) -Fix: [1024750] Fix: network.c - timeout error. When one client timed out, all clients were disconnected (sign_de) 2004-09-09 16:20:33 +00:00
truelight
157e90b49f (svn r186) -Add: debug 'net' for network debug (sign_de)
-Fix: desync problem (server was not waiting for clients) (sign_de)
2004-09-08 19:20:46 +00:00
darkvater
9a6870fcfd (svn r173) -Network: [1023231] Debug Code + ErrorBoxes + Load Game/Scenario. Added some more desync debug code and replaced some of the error() calls with some better error boxes. Hopefully find desyncs easier (sign_de)
-GUI: Change some network GUI stuff (Darkvater)
2004-09-06 22:46:02 +00:00
darkvater
85628544ee (svn r157) -Feature: [1009708] Percent-based service intervals. Send a vehicle to depot after it has lost X% of its reliability (mivlad) 2004-09-04 13:06:09 +00:00
dominik
f4c026d8d1 (svn r109) added/heavily modified patch by truesatan: cheat change date 2004-08-22 15:25:36 +00:00
dominik
0bd907e88d (svn r106) New network core (by sign_de)
Features:
* network core is dynamicly loaded when needed (-n isn't needed anymore) 
  for easy switching between single and multiplayer. But commandline 
  shortcuts are still enabled:
   -n = autodetect network server
   -n [ip] = connect to the server
* udp now uses 2 different ports
  - you can run 1 server and serveral clients on one pc
  - the clients udp-socket gets unloaded when the
    network game starts
  - the servers udp-sockets remains online to allow the
    network gui to detect itself
* new gameinfo structure
  this struct is available for every online/lan game
* dynamic NetworkGameList
2004-08-22 10:23:37 +00:00
dominik
85012a519c (svn r101) New cheat: switch climate 2004-08-21 13:21:09 +00:00
dominik
4f253c2656 (svn r92) Feature: invisible trees when in transparent mode (patch entry) 2004-08-20 15:30:32 +00:00
truelight
788ace088d (svn r85) -Add: initial commit of new AI (enable in Patch menu)
-Add: generalised A* Algorithm
-Add: generalised queues (Fifo, Stack, InsSort, BinaryHeap)
2004-08-20 09:32:32 +00:00
darkvater
b4e9a3d1d4 (svn r71) -Cheat: [976127] no extra frequent jet crash on small airports (truesatan)
-Changed some debug messages in aircraft code to DEBUG(misc, 1)
2004-08-16 22:35:17 +00:00
darkvater
31911a9325 (svn r69) -Feature: align toolbar left/center/right patch (TrueLight)
-Feature: added callback feature to patches options
2004-08-16 21:02:06 +00:00
darkvater
255a1ad941 (svn r68) -Fix: [1009621] build in pause is now a cheat instead of a patch (truesatan)
-Fix: Placing/editing signs signs is possible in paused mode
2004-08-16 18:46:54 +00:00
darkvater
4587ede35d (svn r67) -Forget to change debug message for grfspecial.c
-Added compile flag NO_DEBUG_MESSAGES which will strip executeable of all DEBUG(..,..)'s
2004-08-16 15:13:46 +00:00
darkvater
68c9b7c3ad (svn r66) -Fix Station list updated on station deletion/station rename
-Changed debug messages to comply with DEBUG(name, level) heuristics
2004-08-16 14:48:35 +00:00
darkvater
3fe3a023e5 (svn r59) -Feature: Added Autosignals, just like Autorail. Can copy signal style, convert signal<->semaphore, etc. Big thanks to betatesters Dribbel and Testman57 (Darkvater) 2004-08-15 20:23:42 +00:00
dominik
43d691df17 (svn r56) Improved order checker + patch setting for it (celestar) 2004-08-15 13:21:18 +00:00
truelight
210ada1b51 (svn r27) -Fix: [1006715] Autorenew issues
-Add: PE_CURRENCY to patchmenu
2004-08-12 17:49:16 +00:00
truelight
0806a1ef75 (svn r21) Remove: PE_BYTE (bit-bools) in favour of PE_BOOL 2004-08-11 21:35:52 +00:00
dominik
a9413b12a2 (svn r12) Change: removed patch no_train_service. Instead you can set the default service interval for any vehicle type to 'disabled'. 2004-08-10 17:06:10 +00:00
truelight
efaeb275f7 (svn r1) Import of revision 975 of old (crashed) SVN 2004-08-09 17:04:08 +00:00