Commit Graph

442 Commits

Author SHA1 Message Date
frosch c5684e56ec (svn r15583) -Fix: Do not use TILE_MASK when you do not want to wrap around them map. 2009-02-25 21:29:50 +00:00
rubidium b68a870fe3 (svn r15550) -Fix [FS#2654]: bogus secondary error message when dynamiting industries/unmoveables; "X is in the way" isn't helpful at all in that case. 2009-02-21 21:38:46 +00:00
frosch 565602fe90 (svn r15458) -Fix: Missing 'static'. 2009-02-12 18:08:47 +00:00
frosch 81cf1cac8f (svn r15453) -Fix [FS#2450](r14613): Founding industries as OWNER_TOWN resulted in unwanted effects. 2009-02-11 20:09:29 +00:00
rubidium d846eef0b6 (svn r15434) -Codechange: bit of type safety for the DC_xxx flags. 2009-02-09 21:20:05 +00:00
rubidium c0a8d09ca7 (svn r15428) -Codechange: consistently use colour instead of having both color and colour. 2009-02-09 02:57:15 +00:00
rubidium 377ce6c5bf (svn r15410) -Cleanup: get rid of most of the references to the 'patches' except where it's used for backward compatability. 2009-02-08 12:25:13 +00:00
smatz 0d3f5e6e74 (svn r15299) -Cleanup: remove many redundant includes 2009-01-31 20:16:06 +00:00
Yexo db3ee34b44 (svn r15190) -Feature: Allow terraforming of the tiles at the edges of the map. 2009-01-21 02:31:55 +00:00
frosch 2cc217cabf (svn r15119) -Fix: several issues with result 0x4 (standard production change of primary industries) of callbacks 0x29 and 0x35. 2009-01-17 14:49:31 +00:00
frosch cdd3676478 (svn r15103) -Change: Keep industry variables 8E and 8F in sync with 93, when changing production using results 0D, 0E or 0F of callback 29 or 35. 2009-01-16 11:32:35 +00:00
peter1138 792d1bd883 (svn r15073) -Fix (r15067) [FS#2532]: Default copy constructors don't necessarily do what you want. Instead of creating one, we now pass a pointer around as that avoids additional allocations. 2009-01-13 20:43:53 +00:00
peter1138 02bda12599 (svn r15067) -Fix [FS#2531]: Possible compiler bug, alleviated by using SmallVector instead of using std::set. SmallVector does everything needed anyway. 2009-01-13 18:18:53 +00:00
truebrain a3dd7506d3 (svn r15027) -Merge: tomatos and bananas left to be, here is NoAI for all to see.
NoAI is an API (a framework) to build your own AIs in. See:
   http://wiki.openttd.org/wiki/index.php/AI:Main_Page
 With many thanks to:
  - glx and Rubidium for their syncing, feedback and hard work
  - Yexo for his feedback, patches, and AIs which tested the system very deep
  - Morloth for his feedback and patches
  - TJIP for hosting a challenge which kept NoAI on track
  - All AI authors for testing our AI API, and all other people who helped in one way or another
-Remove: all old AIs and their cheats/hacks
2009-01-12 17:11:45 +00:00
rubidium 11da45ee55 (svn r14949) -Cleanup: pointer coding style 2009-01-10 00:31:47 +00:00
frosch 4fafb723aa (svn r14936) -Fix: INDUSTRYBEH_ONLY_NEARTOWN bypassed the clear-test and could e.g. result in incomplete clearing of protected houses. 2009-01-09 15:11:35 +00:00
smatz 7368c740a6 (svn r14828) -Codechange: move most of save/load-specific code to separate files 2009-01-04 15:32:25 +00:00
rubidium 702c372744 (svn r14823) -Document: some variables/structs (Alberth) 2009-01-04 11:32:26 +00:00
smatz 254e19da91 (svn r14807) -Codechange: use INVALID_TILE instead of 0 to mark invalid depots, industries, towns and waypoints 2009-01-03 16:06:58 +00:00
rubidium 1357b0a4c2 (svn r14789) -Feature: allow scrolling with the left mouse button pressed (if enabled). Primarily useful for systems with touch screen (aapo) 2009-01-02 22:42:05 +00:00
rubidium 87e5a8b52b (svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter. 2008-12-28 14:37:19 +00:00
smatz 73ca72922c (svn r14746) -Fix: don't let any disaster vehicle (Helicopter or Airplane) target invalid industry 2008-12-26 19:37:50 +00:00
frosch e35be92a3a (svn r14613) -Fix [FS#2420]: When building industries, clear the tiles as OWNER_TOWN instead of the founder to take care of protected buildings and to not get stressed by town ratings. 2008-11-23 16:34:27 +00:00
frosch b759ccd032 (svn r14604) -Codechange: Simplify a function and rename it, and fix some comments. 2008-11-22 15:48:43 +00:00
frosch e1bf231727 (svn r14562) -Fix (r14561): 8 bits are enough. The rest stays reserved. 2008-11-03 20:23:51 +00:00
frosch ec4b30f9d9 (svn r14561) -Feature(ette)[FS#2334]: Add result 0x0F to callbacks 0x29/0x35. (Yexo) 2008-11-03 19:25:52 +00:00
rubidium 272b2ef0e9 (svn r14464) -Codechange: replace (uint)-1 with UINT_MAX (PhilSophus) 2008-10-14 18:38:51 +00:00
rubidium 3b798599b6 (svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with. 2008-09-30 20:39:50 +00:00
belugas 0682dc3a0d (svn r14332) -Fix[FS#1885]: Balance the monthly random industry changes, by introducing a daily random industry change.
This will allow to perform more changes per month on big maps and less on smaller maps, while not overtaxing the IndustryMonthlyLoop process.
Thanks to frosch, for nice code ideas and rewrites
2008-09-15 17:18:22 +00:00
rubidium 2f5caa63f8 (svn r14093) -Fix [FS#2230]: don't flood a NewGRF industry when it implicitly tells that it wants to be build on water (land shape flags bit 5). 2008-08-17 13:56:11 +00:00
belugas d358eff64d (svn r13872) -Feature: Split the news message announcing opening and closure of industries into two news of their own 2008-07-30 01:53:03 +00:00
belugas ec58ec4a73 (svn r13864) -Feature(FS #2164): All industry creations are now generating a news event, even those funded by a real player. 2008-07-28 23:37:19 +00:00
frosch 16c80d031c (svn r13838) -Codechange: Make industry tiles aware of WaterClasses. 2008-07-26 16:14:10 +00:00
smatz 05c2a8eba4 (svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries 2008-07-25 22:37:34 +00:00
frosch 4e6d827ea6 (svn r13632) -Codechange: Use 'void *' for user-data of CircularTileSearch(). 2008-06-25 18:46:05 +00:00
frosch 79ad51867a (svn r13499) -Codechange: Allow drawing (ugly) leveled foundations on steep slopes, just in case someone needs them for fallback. 2008-06-12 21:36:56 +00:00
belugas b0ada3fbbf (svn r13367) -Codechange: Allow CircularTileSearch function to return the tile where search has been successful, or INVALID_TILE if it has not 2008-06-03 02:20:27 +00:00
rubidium d19c347fd0 (svn r13348) -Fix: an industry does not always need foundations; in the case of NewGRFs an industry can be built on a steep slope, however when 'querying' the foundation type of an industry we neglected the fact that these steep slope tiles do not have a foundation. As a result of this when one built a structure requiring foundations on a tile SW or SE of a steep slope industry tile it would try to apply the foundation on the steep slope to determine whether to draw the wall of the foundation and trigger an assert. 2008-05-31 22:43:42 +00:00
rubidium 923e21129c (svn r13325) -Codechange: split the client-side only settings from the settings stored in the savegame so there is no need to have a duplicate copy of it for new games. 2008-05-29 15:13:28 +00:00
rubidium 8c9cc415e3 (svn r13255) -Codechange: move _opt to _settings. 2008-05-25 22:36:44 +00:00
rubidium 4625695653 (svn r13251) -Codechange: rename _patches to _settings as that is more logic.
-Codechange: move all Settings into substructs of _settings in a way that they are logically grouped.
2008-05-25 19:17:03 +00:00
frosch eca692ef90 (svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window. 2008-05-21 22:15:39 +00:00
peter1138 510c0acb4a (svn r13205) -Codechange: Remove unnecessary code-style-buggering-up macro. 2008-05-21 12:06:05 +00:00
glx 17a1873843 (svn r13174) -Codechange: make a class of the IndustryDirectoryWindow. 2008-05-18 23:36:33 +00:00
rubidium 76b8970a33 (svn r13100) -Codechange: reduce the amount of parameters passed via AddNewsMessage as there is (for each news message type) a tuple of 4 parameters that is the same for all calls. 2008-05-15 13:39:36 +00:00
rubidium d03994098b (svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description. 2008-05-06 15:11:33 +00:00
glx 49484eedca (svn r12933) -Fix: minor errors related to industries accepted/produced cargo 2008-05-01 22:51:53 +00:00
rubidium 6939569362 (svn r12855) -Codechange: do not use autoptr's for testing whether certain objects can be build, but check it directly in the pool so we do not have to call destructors in the testing phase. Stations still use the autoptr though. 2008-04-23 20:56:08 +00:00
rubidium 2d860049a7 (svn r12844) -Fix: the industry tick trigger should only be triggered once every 256 ticks, not every tick... Also bail out of the triggers a little earlier if you know they are not going to happen anyway. 2008-04-23 00:14:49 +00:00
rubidium b139756e2b (svn r12804) -Codechange: move the effect vehicle handling out of vehicle.cpp 2008-04-20 11:12:07 +00:00
rubidium f55ffd14bd (svn r12803) -Cleanup: rename SpecialVehicle to EffectVehicle to have a uniform naming of the thing instead of using both names for the same thing. 2008-04-20 10:13:54 +00:00
rubidium 15680e477a (svn r12800) -Codechange: move the animated tile related functions out of texteff.cpp (it isn't a text effect after all). Also remove a few more functions from functions. 2008-04-20 08:22:59 +00:00
rubidium b1d1a4ac66 (svn r12757) -Codechange: move all cheat related stuff from all over the place to a single location. 2008-04-17 21:21:01 +00:00
rubidium d74c6ffb62 (svn r12617) -Codechange: add type safety to the Order's load and unload types. 2008-04-07 20:03:46 +00:00
smatz 6af1fb2bdd (svn r12599) -Codechange: force AllocateSafeRaw() to be linked to simplify compiler's decisions about inlining 2008-04-06 23:49:45 +00:00
rubidium fb1c4eccd8 (svn r12593) -Codechange: hide Order's flags in most of the code. 2008-04-06 15:09:45 +00:00
rubidium d6623cf654 (svn r12588) -Codechange: do not access the destination of an order directly. 2008-04-06 07:48:51 +00:00
rubidium 5b47f81b0f (svn r12584) -Codechange: do not access the order type directly. 2008-04-05 23:36:54 +00:00
smatz febc5150c9 (svn r12547) -Feature: invisibility options to make objects invisible instead of transparent 2008-04-03 19:55:40 +00:00
rubidium 2edd403656 (svn r12489) -Codechange: split station.h into station_base.h and station_func.h. 2008-03-31 00:06:17 +00:00
rubidium eeabab4555 (svn r12459) -Codechange: split news.h into news_type.h and news_func.h. 2008-03-28 08:53:36 +00:00
peter1138 9ccce57438 (svn r12317) -Fix [FS#1815]: Map string IDs that are embedded from other strings. 2008-02-29 08:48:01 +00:00
frosch b7993793c8 (svn r12199) -Codechange: Remove magic around the results of GetTileTrackStatus(). 2008-02-20 17:49:50 +00:00
smatz 29125c0e68 (svn r12177) -Codechange: use 'side' parameter in GetTileTrackStatus so there can be less checks in pathfinders for depots/stations/tunnels/bridges 2008-02-18 16:11:31 +00:00
belugas cebb86777a (svn r12092) -Fix(r11532)[FS#1755]: Make sure the production level will not get out of delimited boundaries, while using var result 0D/0E and than multiplying/dividing it.
And use multiply/divide operations instead of shifting.  It does the same, just adds a bit more readability
2008-02-09 03:12:05 +00:00
belugas a782ab3903 (svn r12091) -Codechange : remove all production level magic numbers and replace them by enums 2008-02-09 03:03:09 +00:00
peter1138 1d891a8b15 (svn r12042) -Fix [FS#1676]: Reimplement how rivers and canals are stored in the map, allowing the sea/river/canal status to also be
stored for buoys, docks, locks and depots. All these are now allowed on rivers and removal of them will revert to the 
original water type.
2008-02-02 09:28:43 +00:00
frosch a1c543e064 (svn r12029) -Feature: Allow trees on shore. 2008-01-31 17:54:13 +00:00
rubidium 1629699094 (svn r12006) -Fix: implement FS#1697 without the nasty side effects as specified in FS#1712. 2008-01-29 00:36:55 +00:00
belugas 44d085af6c (svn r11977) -Fix(r11976): not a typo, not a bug. Just a removal that should have been done.
Would help to compile first...
2008-01-24 18:28:52 +00:00
belugas 1fc0c0d2dc (svn r11976) -Fix: It seems that industries using results 0D/0E on callback cb29/35 were a bit too eager to close down. 2008-01-24 18:16:04 +00:00
peter1138 da53070a38 (svn r11952) -Fix (r11926): Prevent industries from being built on rivers, unless they require water. 2008-01-22 22:17:28 +00:00
rubidium aa0412e0bc (svn r11925) -Fix (r122, r9867): loading old, pre savegame version 2, savegames. 2008-01-19 14:00:04 +00:00
frosch 5659cbe6fe (svn r11876) -Fix: Start industry tile animation also for overridden industry tiles. (Will only apply to new games or newly build industries.) 2008-01-16 15:06:48 +00:00
rubidium 576f8ad93e (svn r11866) -Codechange: swap OFB_* and OF_* so it conceptually in sync with other cases of *B_* vs *_* like VETSB_* and VETS_*. 2008-01-15 18:44:22 +00:00
rubidium d4e6a6bf57 (svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h. 2008-01-13 01:21:35 +00:00
belugas 6375ea065b (svn r11798) -Codechange: add comments and give a more representative function's name 2008-01-09 18:35:18 +00:00
rubidium 46650c54b6 (svn r11793) -Codechange: pass the expense type via the CommandCost instead of a global variable. Patch by Noldo (FS#1114). 2008-01-09 16:55:48 +00:00
rubidium b4b3190b62 (svn r11788) -Fix (11787): makedepend doesn't mark delete files as changed... 2008-01-09 09:57:48 +00:00
belugas f9a592cfdd (svn r11766) -Codechange: Last fine tunings on smooth economy, by Sirkoz. 2008-01-06 01:06:12 +00:00
rubidium e5e75bd8f8 (svn r11719) -Codechange: split sound.h in a header with types and one with functions. 2007-12-29 09:24:26 +00:00
glx c87f20ff37 (svn r11716) -Fix [FS#1561]: don't put more than one Random() in function calls because parameter evaluation order is not guaranteed in the c++ standard (can lead to desyncs) 2007-12-28 16:21:29 +00:00
rubidium 384503e7d3 (svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes. 2007-12-27 13:35:39 +00:00
rubidium b9046c97fb (svn r11702) -Codechange: move all date related stuff to date*. 2007-12-26 13:50:40 +00:00
rubidium 2786d789a1 (svn r11701) -Codechange: removal unnecessary inclusions of map.h (and split map.h). 2007-12-26 11:45:43 +00:00
rubidium 429521a7d1 (svn r11692) -Codechange: move some functions from 'functions.h' to a more logical place and remove about 50% of the includes of 'functions.h' 2007-12-25 11:26:07 +00:00
rubidium 6a9e77e079 (svn r11680) -Codechange: refactor more out of openttd.h and functions.h. 2007-12-21 22:50:51 +00:00
rubidium 9e9cfe6e59 (svn r11677) -Codechange: move price and command related types/functions to their respective places. 2007-12-21 21:50:46 +00:00
rubidium 433a9f3c09 (svn r11675) -Codechange: split the string types from the string functions. 2007-12-21 19:49:27 +00:00
rubidium 5b49e75453 (svn r11669) -Codechange: refactor tile.h -> tile_type.h and tile_map.h 2007-12-19 23:26:02 +00:00
glx ac7c79f039 (svn r11615) -Fix (r11609): temperate banks can only be built in towns (over a house) 2007-12-10 17:26:49 +00:00
rubidium 6aaa72c918 (svn r11609) -Fix [FS#1524]: wrong error messages were shown when trying to build some industries in the scenario editor. 2007-12-09 18:51:25 +00:00
glx 8aaa4e7da6 (svn r11590) -Fix (r11193): IsSlopeRefused() result was half wrong 2007-12-07 21:16:38 +00:00
belugas 4f030bbfff (svn r11545) -Revert(r11543): The result is not what was expected. Looks like more work might be needed 2007-12-01 02:59:22 +00:00
belugas aa0d37854d (svn r11543) -Codechange: Give a more adequate message when trying to place an industry required to be built over a house on any other type of tiles.
In reference to FS#1492, and other "bugs" like that one
2007-12-01 01:31:05 +00:00
belugas b10eea628d (svn r11534) -Feature(newgrf): Implement property 23h for Industries.
This will add a cost to the removal of an industry using the cheat magic bulldozer.
Note that the removal of regular or newgrf industries without specified removal cost will have no cost applied to.
This is a difference from original spec, where a default base cost is added.
2007-11-27 17:13:49 +00:00
belugas 9402d4054a (svn r11532) -Feature[newgrf]: Add decrement(0x0D) / increment(0x0E) production operations from result of production callback cb29/35.
Only var 0x93 will be affected by these operations
2007-11-27 04:16:08 +00:00
maedhros 8e273e0f88 (svn r11528) -Fix (r11500): With smooth economy enabled, industries that should only decrease production would always increase it when more than 60% was transported. 2007-11-26 19:23:53 +00:00
skidd13 734b22e070 (svn r11526) -Codechange: Rename the function delta fitting to the naming style 2007-11-26 16:01:29 +00:00
skidd13 bdc7fd2d76 (svn r11523) -Codechange: Move the CHANCE macros to core/random_func.cpp cause they depend on Random()
-Codechange: Convert the CHANCE macros to functions and rename them fitting to the naming style
2007-11-25 15:35:25 +00:00
rubidium ea072322fa (svn r11504) -Fix [FS#1467]: removing docks/ship depots could result in non-canal water where canals should have been build. 2007-11-24 08:45:04 +00:00
glx c8add52504 (svn r11502) -Fix (r11144): don't do standard production change if callbacks 29/35 failed
-Fix (r11144): disable smooth economy for industries using callbacks 29/35
2007-11-23 16:50:54 +00:00
belugas 536be43411 (svn r11500) -Codechange: Smooth economy fine-tuning, making industries more responsive. Patch by Sirkoz. 2007-11-23 12:12:07 +00:00
glx ee81e00082 (svn r11499) -Fix (r11144): mul/div factor were wrong (off by two) 2007-11-23 04:17:41 +00:00
skidd13 71c4325c50 (svn r11481) -Codechange: Rename the HASBIT function to fit with the naming style 2007-11-19 21:02:30 +00:00
skidd13 8be526e499 (svn r11475) -Codechange: rename clamp and clampu to Clamp and ClampU to fit with the coding style 2007-11-19 18:38:10 +00:00
rubidium 4dcd71038d (svn r11442) -Feature: make news messages related to the industry (production) changes better configurable; you can now disable news messages popping up for industries you are not servicing. Patch by Alberth. 2007-11-15 22:20:33 +00:00
rubidium 9d85d9d41f (svn r11420) -Fix [FS#1006]: industry closure news not properly shown when the news item pops up after the industry has been removed from the map. 2007-11-12 18:32:04 +00:00
rubidium 21c02fee87 (svn r11412) -Fix (r11403): animation was not turned on properly.
-Fix (r11410): wrong assumption about random reseeds made the whole thing reseed way too often, making the animation look very ugly.
2007-11-11 18:22:06 +00:00
rubidium af5c2a785f (svn r11410) -Codechange: implement random triggers for industries. 2007-11-11 17:56:37 +00:00
rubidium d32604d59e (svn r11403) -Fix: NewIndustries GRF assume that tiles are already animated during construction. 2007-11-11 00:53:59 +00:00
glx 63b36d9330 (svn r11402) -Fix [FS#1382]: incorrect handling of industry behaviour 'must be in town with population large than 1200' 2007-11-11 00:04:52 +00:00
belugas f55fdfb7c4 (svn r11399) -Feature(ette): transparency settings can now be saved and thus remembered.
-Codechange: Wrap all transparency settings in accessors, hiding the implementation
-Change: Clicking "transparent building" menu will toggle Houses And Trees only.  The other options can be used in the transparency gui.
Initial patch by Smatz (FS#1349), with some rework by BigBB and your humble servant.
2007-11-10 01:17:15 +00:00
rubidium 9e69fc8114 (svn r11373) -Fix [FS#1398]: do not even think about building disabled industries. 2007-11-03 23:34:12 +00:00
rubidium a416f540fa (svn r11371) -Fix [FS#1396]: the industry protection only kicked in when it should not kick in. 2007-11-03 15:21:26 +00:00
glx 0204f501df (svn r11356) -Fix (r11305): funding industries in MP game was causing desync 2007-10-29 23:29:06 +00:00
rubidium 21981fd8cb (svn r11349) -Fix [FS#1372]: crash when moving "invalid" cargo to a station. 2007-10-27 11:20:47 +00:00
glx 0215607d91 (svn r11305) -Codechange: randomise layout when building an industry ingame 2007-10-20 00:20:23 +00:00
rubidium 95f2181a1d (svn r11303) -Fix: EnsureNoVehicle and EnsureNoVehicleOnGround were both used to check whether there was no vehicle on the ground, except that the former didn't take care of aircraft shadows. So now we only use EnsureNoVehicleOnGround. 2007-10-19 22:46:55 +00:00
glx 9371ac1307 (svn r11302) -Fix (r9520): typo 2007-10-19 21:14:38 +00:00
glx c706b31eb7 (svn r11301) -Fix: water check when building industries didn't work 2007-10-19 21:05:25 +00:00
glx f3d79154eb (svn r11293) -Fix: newgrf defined industry news messages use TTD format for args, which is not the same as our. So we must detect those strings and pass them the right params 2007-10-18 20:35:59 +00:00
glx ad0574c226 (svn r11285) -Fix: 'site unsuitable' was always shown instead specified message when trying to build industry ingame (Csaboka) 2007-10-17 15:47:49 +00:00
rubidium ba7c595d84 (svn r11276) -Codechange: be more consistent with naming of some accessors.
-Fix: make sure canals are never owned by water. Based on a patch by boekabart.
2007-10-16 19:48:58 +00:00
belugas a1e1d85361 (svn r11268) -Fix[FS#1336]: Call IsSlopeRefused whenever it is required. Looks like there was one spot missing. Thanks frosch 2007-10-15 18:36:20 +00:00
glx 9a190237ca (svn r11207) -Fix [FS#1301]: don't use smooth_economy for industries using production callbacks as they may have no production for more than a month 2007-10-05 17:53:45 +00:00
belugas 7525f791c7 (svn r11197) -Fix: It is not useful to reset the override of an entity every time a new grf file is been submitted.
Since newhouses showed the way to newindustries(meaning I copied/adapted a lot of code and processes from it), the behaviour was there for newhouses too.
2007-10-03 00:57:54 +00:00
rubidium 2b56d11276 (svn r11194) -Fix: industries with not all tiles custom slope checked (but at least one) would be build on wrongly sloped tiles. 2007-10-02 17:48:17 +00:00
rubidium 531fe3e070 (svn r11193) -Fix: be more compliant with the specifications of callback #2F (and undocumented side effects in TTDP in corner cases). 2007-10-02 16:56:45 +00:00
rubidium 32c0c3a644 (svn r11186) -Fix: only fill the accepted cargo fields once, not multiple times. 2007-09-30 14:29:45 +00:00
rubidium 136d726b6f (svn r11185) -Codechange: prepare some more code for the introduction of NewIndustries. Patch by Belugas. 2007-09-28 21:24:25 +00:00
glx c07e91fd78 (svn r11181) -Codechange: add support for newgrf callback 14A (Belugas) 2007-09-28 17:09:50 +00:00
glx 7cdbb50b5b (svn r11177) -Codechange: add support for newgrf callbacks 14B and 14C 2007-09-27 21:47:38 +00:00
glx 5e45e73037 (svn r11176) -Revert (r9867): as it is needed for newgrf callbacks 14B and 14C 2007-09-27 21:39:13 +00:00
rubidium a85e18c922 (svn r11171) -Fix [FS#1257]: disable autoslope for automatically changed stuff (like towns and industries) and enable it in the scenario editor. Patch by frosch. 2007-09-26 14:32:06 +00:00
rubidium ca7cab0253 (svn r11168) -Fix [FS#1256]: assert on terraforming of industries. Patch by frosch. 2007-09-26 14:14:51 +00:00
belugas ea2100e4e8 (svn r11160) -Fix: A gfx of 0xFF does not count when it's time to establish the size of the industry. 2007-09-26 01:24:12 +00:00
glx aa020847af (svn r11144) -Codechange: add support for newgrf callbacks 29 and 35 2007-09-22 23:40:35 +00:00
glx 90602b356a (svn r11142) -Codechange: prepare industry production change code for newgrf callbacks 29 and 35 2007-09-22 21:59:02 +00:00
rubidium 60f1eb21fa (svn r11139) -Codechange: add support for persistent storage for NewGRFs. 2007-09-22 13:56:38 +00:00
belugas 47dd4989a8 (svn r11137) -Feature: [NewGRF] Add support for bit 17 of property 1A for Industries. This bit enables the protection of the last instance of an industry type once raise. 2007-09-22 00:59:27 +00:00
rubidium fef64185b8 (svn r11107) -Feature: some tool so one can still build tunnels under rails (and other structures) when the owner of the structure built it on foundations and if you have enough "empty" space ofcourse. One could use the tool for some other construction needs too. Patch by frosch. 2007-09-14 22:27:40 +00:00
rubidium 6f296b9870 (svn r11102) -Codechange: remove some pointless addition+substractions. Patch by frosch. 2007-09-14 21:32:21 +00:00
belugas 518fd6aa4d (svn r11050) -Codechange: Use the translated gfx, not the original one. 2007-09-06 03:02:38 +00:00
rubidium a0559dd89e (svn r11041) -Fix (r10460) [FS#1195]: the industry's owner was saved twice instead of the owner and the founder. Patch by frosch. 2007-09-04 12:00:12 +00:00
rubidium b284b5fa92 (svn r11005) -Codechange: move the tiletype specific terraforming checks to the functions for those tile types.
-Codechange: barren the rail grounds on terraforming.
2007-08-30 17:17:04 +00:00
rubidium 5ce935c6eb (svn r10991) -Codechange: add documentation, enumification and some code simplifications to the terraforming code. Patch by frosch. 2007-08-27 21:18:04 +00:00
belugas 36c5b4e1ef (svn r10980) -Fix [FS#1158] : This will hopefully fix the case of an assert that happens when an industry uses a special gfx index (tile spec 0xFF). This 0xFF is the sentinel of a special check done for oil rigs, where water need to be around, but no tile will be constructed on it.
Problem is that the upper limit of gfx tiles is currently at 175.  So, of course the system will assert with 255 ;)
2007-08-26 00:23:32 +00:00
belugas 99158287fd (svn r10972) -Codechange: Implement the counterpart(GetTranslatedIndustryTileID) of getindustileid of TTDPatch. This allows to ensure that the ID of a tile (taken out of the map or not) is still a valid one regarding the possible override it may have been flagged to.
It is not the strict same thing, but is what we need regarding the slightly different approach we took for newindustries.
2007-08-24 00:23:35 +00:00
belugas d921cf88a3 (svn r10963) -Revert(10700): Although the idea was good, it was more prone of errors than usefull.
So now, it will be better to jump to the overriden tile when it is been marked as an override
2007-08-22 01:16:08 +00:00
belugas b5627afcea (svn r10962) -Codechange: protect yourself against an illicit substitution 2007-08-22 00:59:46 +00:00
belugas fafe33cdd2 (svn r10903) -Feature: [NewGRF] Add support for variable 44 of Variational Action 2 for Industries 2007-08-15 00:49:34 +00:00
rubidium ab7e36dda7 (svn r10813) -Fix (r10799): some destructors were performing too much during the pool cleanups, which could cause crashes as already removed pool items could then be dereferenced by other destructors. 2007-08-06 14:08:25 +00:00
rubidium 2dd7a5d296 (svn r10773) -Codechange: use pool.CleanPool instead of CleanPool(&pool) and similarly for AddBlock*. 2007-08-03 20:18:38 +00:00
rubidium e4149482ec (svn r10759) -Codechange: make the industry struct use the pool item class as super class. 2007-08-02 23:21:52 +00:00
belugas 3f7a7261d6 (svn r10701) -Codechange: Make sure to not use an out of bound index when the index is specified by a grf file. It has a different meaning then. 2007-07-27 03:07:05 +00:00
belugas 8ad3a6f8fd (svn r10700) -Codechange: Enable to jump (by default) to the overriding industry tile spec of the one been queried.
Only on certain very specific circumstances do we need the original spec
2007-07-27 02:41:29 +00:00
rubidium d624f66c79 (svn r10698) -Codechange [FS#1082]: simplify the code related to foundations. Primarily removal of (duplicated|magic) code and introduction of few helper functions to ease foundation determination. Patch by frosch. 2007-07-26 16:51:10 +00:00
rubidium 5bd241eb5b (svn r10697) -Codechange: give a more sensible names to some of the unkX variables. 2007-07-26 15:37:19 +00:00
rubidium 02ab86631e (svn r10696) -Codechange: remove duplication of the "make sprite transparent" code. 2007-07-26 14:07:11 +00:00
rubidium fe8e297995 (svn r10675) -Codechange: unhardcode the industry types used in several locations of the source code. 2007-07-24 19:56:43 +00:00
belugas b9b59ec169 (svn r10641) -Fix(r10638): Forgotten Son... err...include 2007-07-20 17:32:27 +00:00
belugas fabd64e1e6 (svn r10640) -Fix(r10638): little typo... 2007-07-20 17:25:07 +00:00
belugas f9d3463af1 (svn r10639) -Codechange: Give meaninfull name to a magic number 2007-07-20 17:14:03 +00:00
belugas d847b30c98 (svn r10638) -Codechange: Save the mapping of the industries and tiles, making them persistent. 2007-07-20 16:50:11 +00:00
belugas c0b044ac45 (svn r10635) -Codechange: Correct some typos and code beautifying (a little bit) 2007-07-20 14:49:41 +00:00
rubidium efc7fdf2fd (svn r10587) -Codechange: move the string/dparam related stuff from variables.h to strings.h 2007-07-16 09:16:58 +00:00
glx 6474a5a957 (svn r10575) -Fix r10573: misplaced ) 2007-07-15 00:45:02 +00:00
belugas 89d872a625 (svn r10573) -Codechange: Use function CheckIfCallBackAllowsAvailability for random map generation as well as for ingame random industry creation 2007-07-15 00:26:12 +00:00
rubidium 79d04412b0 (svn r10508) -Codechange: allow customizable animation schemes for industries. 2007-07-11 15:03:29 +00:00
rubidium e497167dfd (svn r10506) -Fix: the (manual) building of banks was always rejected. 2007-07-11 08:20:57 +00:00
rubidium 09eb6623ab (svn r10494) -Fix (r10490): possible null dereference in some exotic newgrfs. 2007-07-09 20:08:25 +00:00
rubidium 25511e0e26 (svn r10490) -Codechange: add support for industries on non-flat surfaces. 2007-07-09 18:53:43 +00:00
rubidium bb8923c336 (svn r10485) -Codechange: add a callback mechanism to determine whether building an industry is allowed at a given location. 2007-07-09 13:21:49 +00:00
rubidium 70d6fdeca0 (svn r10483) -Codechange: add support for callbacks to manipulate the building chance of farm fields and chopping chance for lumber mills. 2007-07-08 19:54:51 +00:00
maedhros 165dd778af (svn r10481) -Codechange: Show a news message with the new industry when primary industry prospecting succeeds. 2007-07-08 18:41:34 +00:00
rubidium 283a06e4a1 (svn r10477) -Codechange: add some callbacks to customise the acceptance of industries. 2007-07-08 17:40:04 +00:00
rubidium 9a55c79fd1 (svn r10460) -Codechange: add some more variables needed for newindustries regarding to the creation of the industries. 2007-07-07 08:53:19 +00:00
rubidium c86015203a (svn r10459) -Codechange: add helper functions to determine whether an industry is a primary industry and how much it costs to build such an industry. 2007-07-06 22:33:16 +00:00
rubidium 0d68a919d9 (svn r10451) -Add: support for "prospecting" raw industries, i.e. you pay an amount of money and then it might (with a given chance) build a raw industry somewhere on the map. 2007-07-06 07:24:10 +00:00
rubidium 86c14c239f (svn r10442) -Codechange: implement the industry production callback. 2007-07-05 05:41:56 +00:00
rubidium 1bdb72ebd4 (svn r10439) -Codechange: initial steps for customized industry productions. 2007-07-04 18:27:21 +00:00
belugas de43302419 (svn r10425) -Fix (r10418): do not compare bitmasks with HASBIT. Strike two. Forgotten code :) 2007-07-04 00:54:38 +00:00
rubidium bad85b08c2 (svn r10419) -Fix (r10418): do not compare bitmasks with HASBIT. Thanks to Maedhros for spotting this. 2007-07-03 19:25:06 +00:00
rubidium b67cfd4825 (svn r10418) -Codechange: implement/resurrect the industry production flags. 2007-07-03 19:16:34 +00:00
rubidium d73e490c52 (svn r10406) -Fix [FS#968]: only industries in the temperate climate should be affected by the "do not increase production" flag. 2007-07-01 17:21:25 +00:00
rubidium 735c47d7d7 (svn r10348) -Fix (r10347): compile errors; do not think it compiles fine when you run make on the wrong working copy. 2007-06-26 21:17:51 +00:00
rubidium 667e8eaaf8 (svn r10347) -Fix [FS#948]: industries with a very low production could never recover when using smooth economy.
-Fix: in smooth economy producing industries could not close, whereas they could close in non-smooth economy.
-Fix: in smooth economy the "do not increase production" flag of industries was ignored.
2007-06-26 21:11:17 +00:00
truelight 90fa779a24 (svn r10340) -Fix: make sure no industry production can ever hit < 32 with smooth_economy 2007-06-26 13:46:56 +00:00
rubidium e12e83ef5f (svn r10299) -Codechange [FS#931]: industry foundations should be drawn as all other foundations, i.e. with DrawFoundation, instead of writing the same functionality itself. 2007-06-24 10:20:05 +00:00
truelight 27a6e21975 (svn r10290) -Fix: with smooth_economy, when industry production hit 32, it stayed there for ever. Give it some chance to get out of that uber-lowness (although it is a very slim chance, at least it has one) 2007-06-22 23:53:16 +00:00
belugas 436eb69a39 (svn r10232) -Fix(r1): _numof_industry_table never was composed of 12 entries. Only 11.
It never hurt before, but it would have...
2007-06-20 03:03:00 +00:00
belugas 2ad0d708cc (svn r10226) -Codechange: Add support for newindustry tiles drawing.
Heavily based on Maedhros's newhouses implementation
2007-06-19 17:33:12 +00:00
rubidium 49220cc6f1 (svn r10205) -Codechange: refactor returning of cost, so it can be more easily modified. 2007-06-18 19:53:50 +00:00
rubidium 966e2738b9 (svn r10197) -Codechange: replace int32 with CommandCost where appropriate. 2007-06-18 10:48:15 +00:00
belugas 402cf772f0 (svn r10163) -Fix(r8128): Industries had lost their random recoloring. A test was removed and is now reintroduced in another way. 2007-06-15 01:53:43 +00:00
rubidium 91420c0d8d (svn r10140) -Fix [FS#867]: an industry could overbuild a bridge. 2007-06-13 15:22:28 +00:00
belugas 81c7c87ed7 (svn r10099) -Fix(r9867, FS860): Use the specs of the to-be-created industry instead of the scanned industry
Spotted by Oxygene
2007-06-11 14:25:38 +00:00
belugas 08c9365971 (svn r10078) -Codechange: Centralize all industry counts data and access 2007-06-10 01:25:21 +00:00
belugas 7586143e3b (svn r10063) -Codechange: Change VARDEF for extern
-CodeChange: Add the count of industries, basic support for variable 67, var action02 forindustries
2007-06-08 15:48:48 +00:00
rubidium 8a74b2ebe1 (svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month). 2007-06-07 14:38:45 +00:00
rubidium 40cea6c3ef (svn r10054) -Codechange: make the industries cost modifier look more like the original one, so it's much easier to support industries that use this original format. 2007-06-07 09:20:04 +00:00
rubidium 8d82deffa1 (svn r9993) -Fix (r9992): smallish typos resulting in compile time errors. 2007-05-30 20:34:16 +00:00
belugas 0f6e6d9713 (svn r9992) -Codechange: Remove some hardcoded references to Industry IDs.
A few more to go
2007-05-30 20:20:58 +00:00
belugas 425ea50854 (svn r9984) -Codechange: Remove an obsolete structure and a now meaningless enum, in favor of the "real thing" 2007-05-30 02:08:18 +00:00
belugas f8491407d0 (svn r9983) -Codechange: Use the "enabled" property of the industry spec. 2007-05-30 01:55:11 +00:00
belugas 0cb8413a8f (svn r9976) -Codechange: Declare a writable array of specs for industry and industry tiles.
It will be initialized by the original data upon game start.
Rename some enums to be more consistent too
2007-05-29 17:41:59 +00:00
belugas 35ccad33dd (svn r9969) -Codechange: Cleanup of industries (Step-14). Remove hardcoded-run-time tile acceptance and put in corresponding tile 2007-05-29 00:15:34 +00:00
rubidium 440d723d84 (svn r9914) -Codechange: prepare GTTS and the pathfinders to handle multiple road types on a single tile. 2007-05-24 22:41:50 +00:00
peter1138 44fc08391d (svn r9887) -Fix (r9867): Industry production statistics messed up... 2007-05-20 05:53:19 +00:00
belugas 88042df6bb (svn r9886) -Codechange: Cleanup of industries (Step-13). Include the sounds table into the industry's spec. 2007-05-20 00:50:06 +00:00
belugas 49570edfe9 (svn r9870) -Codechange: Silence two compiler warnings and give proper type to the "type" member of industry struct 2007-05-18 17:55:07 +00:00
belugas 380d18fb69 (svn r9867) -Codechange: Remove data duplication. The exact same values can be found in the industry spec, so take it from there instead. 2007-05-18 00:33:47 +00:00
belugas 9b7a615887 (svn r9762) -Feature: Two new difficulty settings : Very low number of towns and very low number of industries
Based on FS#289, by pitt2
2007-05-01 17:16:51 +00:00
belugas 3a1e7679d8 (svn r9705) -Codechange: Merge some data arrays together, making a bit more logical units.
Calculate with a macro (for _industry_anim_offs_toys) the value of x, instead of doing it at run time.
And give some more descriptive names too...
2007-04-21 02:47:33 +00:00
belugas 95ae29b470 (svn r9676) -Codechange: introduce NUM_INDUSTRYTYPES instead of IT_END.
This makes the code clearer.
2007-04-19 14:50:01 +00:00
rubidium 80c259f64f (svn r9672) -Cleanup: lots of coding style fixes around operands. 2007-04-18 22:10:36 +00:00
belugas cc647a08a0 (svn r9644) -Codechange: if else cascade into a switch case 2007-04-16 02:56:48 +00:00
belugas 61c99f99a2 (svn r9643) -Codechange: Simplify a test. 2007-04-16 02:53:55 +00:00
belugas ec03c72afb (svn r9579) -Codechange: Cleanup of industry_cmd (Step-11). Use industry's spec appear_creation during random map creation. 2007-04-09 01:43:29 +00:00
belugas 12addc1bbe (svn r9574) -Fix(r9520, FS#721): Oil Rig ( or industry with behaviour INDUSTRYBEH_BUILT_ONWATER) should check all tiles before leaving the test. A tile in water does not ensure that all required tiles will necessary be on water. 2007-04-08 00:29:12 +00:00
belugas 1c97841ff6 (svn r9569) -Fix(r9567): testing mode leftover... 2007-04-06 12:57:15 +00:00
belugas 15d360c7f6 (svn r9567) -Fix(9555, FS#718): The industry ID been collected was just an index in a out of phase array. Now, ensure that the ID will really be an IndustryType 2007-04-06 02:12:15 +00:00
peter1138 a2cec54c9d (svn r9563) -Feature: Add more finer control to transparency options, including a new toolbar, accessible from the map menu or Ctrl X. Patch by Wolf01. 2007-04-05 07:49:04 +00:00
belugas f12d1a3f0a (svn r9555) -Codechange: Cleanup of industry_cmd (Step-9). Use in-game appearing chances for industry creation. 2007-04-04 00:32:40 +00:00
belugas 72fc068844 (svn r9520) -Codechange: Add the notion of Industry behaviour. It means what an industry can do (plant fields, cut trees, do not change production), what can be done to it (disasters like mine subsidence, jet/chopper attack), when it can be built etc... 2007-03-28 20:06:28 +00:00
belugas 06d3669bb5 (svn r9400) -Codechange: Use some more representative enum names for landscape types. 2007-03-22 03:42:43 +00:00
maedhros 48f2bf9bb1 (svn r9371) -Feature: Add support for variable snow lines in the arctic climate, supplied
by newgrf files. When this is enabled forests cannot be built below the highest
snow line, and farms can't be built above it. Houses still use the
_opt.snow_line so they are all consistent, so to make them respect the snowline
you may want to use some newhouses features as well.
2007-03-20 13:47:00 +00:00
belugas eb1e6c19ad (svn r9190) -Fix: Little typo in an enum. 2007-03-15 01:17:20 +00:00
belugas 65ce0e36db (svn r9162) -Codechange: Cleanup of industry_cmd (Step-8). Gather tile animation data into IndustryTileSpec array
Added a few documentation on remaining animation arrays (mostly ToyLand ones)
2007-03-14 02:52:50 +00:00
truelight 146e5e12ec (svn r9097) -Fix [FS#525]: open and close messages now have their own setting, so you can hide economy changes, but do show open/close of industries
-Change: store news_display_opt in his own section, so it is no longer stored as uint in openttd.cfg (allows adding news-types easier)
2007-03-10 12:10:00 +00:00
belugas 8eb0a220e6 (svn r9075) -Codechange: Cleanup of industry_cmd (Step-7). Small step that is. The new industry messages do not need a series of tests. Only one property to use. 2007-03-09 02:04:07 +00:00
rubidium 36bb92ae24 (svn r9050) -Codechange: Foo(void) -> Foo() 2007-03-07 11:47:46 +00:00
belugas b71354dc40 (svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style. 2007-03-03 04:04:22 +00:00
belugas 771932d889 (svn r8827) -Codechange: Cleanup of industry_cmd (Step-6). Implementation of IndustryTileSPec, the alter ego of IndustrySpec.
It offers identification of the different industry tiles in a more distinct manner, as well as regrouping scattered pieces of data across the sources.  More to come
2007-02-21 02:22:43 +00:00
peter1138 ef2daa5060 (svn r8826) -Codechange: Replace _cargoc's separate arrays with a regular struct array (with accessor) and implement new initialization method using cargo labels. 2007-02-20 22:09:21 +00:00
belugas 1c013055b6 (svn r8535) -Feature: Allow lumbermill to cut trees only when they are full grown.
This does not affect output of the mill, but make the visual aspect of it more accurate.
Prior of this, the mill produced cargo of the same amount even if the trees are on their first stages of growth.
2007-02-02 15:14:28 +00:00
tron 63a5b0e8be (svn r8485) -Fix
-Fix (since the dawn of time): Remove phantom oil rigs sometimes present in old savegames
2007-01-31 10:50:12 +00:00
belugas 7b9379e0de (svn r8145) -Featurette: Allow for Tropic Farm to plant fields after producing cargo, like its counterpart in temperate climate. 2007-01-15 16:31:46 +00:00
peter1138 92d418b031 (svn r8128) -Codechange: Split sprite and palette remap into separate 32 bit values.
This lets us increase the sprite width from 14 to up to 29 bits, 
effectively nulling the old sprite limit. Table changes in next commit.
2007-01-14 19:57:49 +00:00
rubidium f35ed4bbc2 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b. 2007-01-10 18:56:51 +00:00
KUDr e373ea7096 (svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp) 2007-01-10 18:12:09 +00:00
Renamed from src/industry_cmd.c (Browse further)