Commit Graph

178 Commits

Author SHA1 Message Date
celestar
633d9fb8eb (svn r4190) -Codechange: Add and make use of an accessor function to create houses 2006-03-31 08:18:14 +00:00
belugas
1b28d92fc8 (svn r4181) CodeChange : Replaced [G/S]etMapExtraBits by [G/S]etTropicZone. Although it was an accessor, nor his usage nor the values were clear. 2006-03-30 19:16:44 +00:00
celestar
94ca804e4f (svn r4179) -Codechange: Add and make use of an accessor that obtains the building type 2006-03-30 15:06:49 +00:00
celestar
c442586676 (svn r4154) -Moved MAX_BRIDGES in bridge.h and made it an enum. This makes two drops ... 2006-03-29 19:03:47 +00:00
tron
c699d0e791 (svn r4085) Add GetTown{Index,ByTile}() to get the town index resp. the town from a tile 2006-03-24 12:00:24 +00:00
tron
747fe64b31 (svn r4073) Add functions to make and test for (most) unmovable tiles 2006-03-23 20:47:56 +00:00
tron
4d3364d811 (svn r3996) -Fix: Slope and height information returned for some tile types is wrong
This leads to graphical glitches when drawing foundations.
This doesn't fix all problems, but at least some of them.
2006-03-21 20:02:05 +00:00
tron
453a925d72 (svn r3986) Add [GS]etCrossingRoadOwner 2006-03-19 19:33:19 +00:00
Darkvater
650b1b0c93 (svn r3895) - Add proper SLE(G)_CONDNULL macros for the empty space reservation in savegames and update where used
- Also add this capability to settings
2006-03-16 00:20:33 +00:00
tron
0100871412 (svn r3830) Move IsTunnelTile() from tile.h to tunnel_map.h and add IsTunnel(), which just checks for a tunnel, but not the tile type as IsTunnelTile() does 2006-03-12 15:04:03 +00:00
tron
af42610321 (svn r3777) Add some functions to handle tunnels 2006-03-06 20:55:24 +00:00
tron
03254940a4 (svn r3773) Shove some semantics down ottd's throat by replacing ints and magic numbers by enums and some related changes 2006-03-06 13:11:08 +00:00
tron
4efa560ffc (svn r3763) Adapt to the new 'map accessors go in foo_map.h'-scheme 2006-03-05 10:19:33 +00:00
tron
b26d54585f (svn r3660) Convert further road bits and type references to the functions/enums 2006-02-23 12:24:19 +00:00
tron
b8b6084da2 (svn r3644) Don't use FindLandscapeHeightByTile() when it's overkill - often it was just a complicated way of writing GetTileSlope(tile, NULL) 2006-02-21 07:41:54 +00:00
Darkvater
bf27f0c77b (svn r3627) - Change all hardcoded 255 max-saveload versions with the define SL_MAX_VERSION 2006-02-20 19:43:26 +00:00
tron
5352e9fbcb (svn r3597) Miscellaneous (I like that word) changes: Fix some indentation, add consts, reduce indentation level by short-circuit logic, convert if cascades to switch, whitespace, bracing, plus some minor stuff 2006-02-13 21:15:00 +00:00
tron
34a9da4a32 (svn r3561) Don't use FindLandscapeHeightByTile() when it's overkill. Also use a sprite enum instead of a magic number. 2006-02-06 08:15:30 +00:00
tron
17ec6ed70d (svn r3520) Remove unused parameters from some functions 2006-02-02 07:15:46 +00:00
tron
1c3e8630fe (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
tron
9712d6f639 (svn r3510) Fiddle with whitespace and parentheses 2006-02-01 06:32:03 +00:00
Darkvater
7d17583a29 (svn r3445) - Fix: [ 1415379 ] Enhance documentation of lift destination
- Fix: wrong documentation of trees (Tron)
2006-01-26 18:36:14 +00:00
tron
318fe153eb (svn r3365) Staticise 36 functions 2006-01-05 12:40:50 +00:00
tron
04c096ee63 (svn r3339) Remove unnecessary includes 2005-12-24 20:54:31 +00:00
peter1138
80986fcd32 (svn r3282) - Codechange: Replace tests against CMD_ERROR with CmdFailed() 2005-12-10 12:05:39 +00:00
tron
e901aefb74 (svn r3188) Use CmdFailed() to check, if a command failed, don't compare with CMD_ERROR 2005-11-15 10:50:43 +00:00
tron
9d0e7b6458 (svn r3181) -Bracing
-Indentation
-Whitespace
-DeMorgan's Law
-Test with NULL or 0 for non-booleans
-'\0' instead of 0 for chars
-Remove redundantly redundant comments (like DoFoo(); // Do foo)
-Join multiple short lines with a single statement
-Split single lines with multiple statements
-Avoid assignments in if
2005-11-14 19:48:04 +00:00
tron
6509e42db3 (svn r3179) - RandomRange() and RandomTile() instead of home brewed versions
- CHANCE*() instead of mumbling strange numbers
2005-11-14 09:21:05 +00:00
tron
524fd25cbd (svn r3177) GB, CLRBIT, HASBIT, TOGGLEBIT 2005-11-14 08:09:57 +00:00
tron
81e5b16d71 (svn r3172) static, const 2005-11-13 13:43:55 +00:00
tron
181d586a7c (svn r3078) Some more stuff, which piled up:
- const, whitespace, indentation, bracing, GB/SB, pointless casts
- use the trinary operator where appropriate
- data types (uint[] -> AcceptedCargo, ...)
- if cascade -> switch
- if (ptr) -> if (ptr != NULL)
- DeMorgan's Law
- Fix some comments
- 0 -> '\0', change magic numbers to symbolic constants
2005-10-23 13:04:44 +00:00
tron
0b936c3222 (svn r3077) static, const, bracing, indentation, 0 -> '\0'/NULL, typos in comments, excess empty lines, minor other changes
nothing spectacular, just some stuff, which piled up
2005-10-22 06:39:32 +00:00
tron
71d293f2a3 (svn r3066) Constify the parameter of GetSlopeZ_*() 2005-10-19 14:49:46 +00:00
tron
b17b87469c (svn r3064) Replace some numbers by sprite names 2005-10-19 06:46:41 +00:00
tron
8980891b09 (svn r3024) -Codechange: Another batch of replacements of int/uint/int16/byte/-1 with proper types and constants 2005-10-07 07:35:15 +00:00
tron
39f5dbfd3b (svn r3019) -Codechange: Replace explicit shifting/anding/oring with GB and SB 2005-10-05 07:20:26 +00:00
tron
6d7c7e67b2 (svn r3010) Get rid of quite some dubious casts, either by using GB(), proper types or just removing them 2005-10-03 21:20:01 +00:00
tron
90e33aed22 (svn r2995) Replace 0xFF/0xFFFF with CT_INVALID/OWNER_SPECTATOR/INVALID_STATION where appropriate 2005-09-28 19:35:36 +00:00
Darkvater
4a58250cb9 (svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters
- change a lot of byte player types to PlayerID
- beautify header files, same "#endif /* filename */" ending
2005-09-18 20:56:44 +00:00
Darkvater
78e4cbbfda (svn r2956) - Fix: [ 1253736 ] creating many town crash to desktop. Now it 'dies' with an ingame error message informing the gamer if it couldn't generate any towns in user-space. Still if it happens during new-game generation it crashes since we don't yet have actions to do in such a circumstance. 2005-09-16 00:33:33 +00:00
Darkvater
c0c75ef16e (svn r2951) - Fix: [ 1259345 ] Changing engine in netgame opens train window for everyone
- Add IsLocalPlayer() which substitutes _local_player == _current_player
2005-09-14 18:03:38 +00:00
tron
8b74a95d36 (svn r2886) Rename the "owner" attribute to "m1", because when it stores an owner it is accessed by [GS]etOwner anyway and when it doesn't store an owner, but arbitrary data, accessing a field called "owner" is confusing. 2005-08-23 18:47:04 +00:00
tron
2f1d530bb5 (svn r2758) Add the AB() macro to add a value to a bit range and use it in a few places, also make use of GB and SB nearby 2005-07-30 09:29:20 +00:00
celestar
a3739aecdf (svn r2702) -Codechange: Cleaned up the sprite code and replaced many magic numbers
by enums. There remains work in gfx.c to move the "transparency" and
"recolor" bits around to make space for more sprites. However, 2800
additional sprites can now be loaded. There also remains cleanup and
Doxygen work on many of the header files.
2005-07-24 15:56:31 +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
71140a5768 (svn r2669) Shuffle some more stuff around to reduce dependencies 2005-07-21 22:15:02 +00:00
tron
6ad3895306 (svn r2660) Get rid of some more shifting/anding/casting 2005-07-21 06:31:02 +00:00
celestar
1fed0046ac (svn r2658) -Codechange: Use MAKE_TRANSPARENT to display a transparented sprite 2005-07-20 22:05:13 +00:00
tron
f09638ad3d (svn r2650) Convert many explicit shifts+ands to extract bits to invocations of GB - should be a bit nicer to read 2005-07-20 15:29:28 +00:00
ludde
dc3ca73bd5 (svn r2580) Change: Added {INDUSTRY} command for printing industry names instead of the old {TOWN} {STRING} way.
- The formatting of the industry name can be controlled with the string STR_INDUSTRY_FORMAT.
Change: Changed several occurences of {STRING1} into {TOWN} to get rid of townnametype being used directly.
2005-07-15 18:30:13 +00:00
ludde
31fd5b2768 (svn r2574) Fix: AnimatedTile leak in town_cmd.c (this one has probably been here since day 1) 2005-07-15 16:29:30 +00:00
ludde
ddc939f0ed (svn r2570) Fix: Removed some code that had no effect. 2005-07-15 12:16:16 +00:00
ludde
2123deff13 (svn r2560) Fix: various minor code changes.
Added RandomTile/RandomTileSeed functions to generate a random tile.
Changed landscape routines so they don't assume that the Y map side is a power of two. (support for this is not complete, though)
Changed some frequently used map macros to not compute the values each time.
Silence some warnings on MSVC.
2005-07-13 19:51:31 +00:00
tron
a4bf608d40 (svn r2558) Change the internal map format from 7 arrays to one array of structs, this doesn't change the saved format for now. It's a stepping stone for further changes. 2005-07-13 18:04:01 +00:00
tron
9617614b04 (svn r2487) Replace TILE_XY by TileXY/TileDiffXY 2005-06-25 16:44:57 +00:00
tron
2b73dec567 (svn r2486) Turn TILE_FROM_XY into an inline function and rename it to TileVirtXY 2005-06-25 06:15:43 +00:00
tron
a733fede9b (svn r2483) Replace almost 500 "uint tile" (and variants) with "TileIndex tile" 2005-06-24 12:38:35 +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
aab5561c55 (svn r2434) Fix some defects in r2433 2005-06-08 09:03:29 +00:00
Darkvater
c37cf285ce (svn r2433) - CodeChange: unmagicify all road/train crossings with IsLevelCrossing() function (peter1138) 2005-06-07 21:37:00 +00:00
tron
ff0030936e (svn r2408) Introduce SetTileOwner() and use it 2005-06-04 12:13:24 +00:00
tron
a9b95b3cbb (svn r2407) Use {Get,Is}TileOwner to get/check the owner of a tile and fix some bogus reads of _map_owner 2005-06-04 11:56:32 +00:00
Darkvater
ba8c649fac (svn r2397) - CodeChange: rename all "ttd" files to "openttd" files. 2005-06-02 19:30:21 +00:00
Darkvater
f4f5cb93f8 (svn r2387) - CodeChange: made the saveload code more readable and also removed the 'byte' saveload arrays which means you can save an array of more than 255 elements, or bigger structs than 255 bytes. This doesn't yet solve the problem that a chunk can be a maximum of 16384 big.
- Fix: also fix an unnoticed error in SlSaveLoadConv() due to wrong types.
2005-05-30 22:16:05 +00:00
Darkvater
abc5fd1272 (svn r2345) - Fix: Don't allow stuff to be renamed to nothing if we don't support it. Only valid ones are signs (delete) and waypoints (rename to default). 2005-05-17 20:58:58 +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
562a32c3ee (svn r2297) - CodeChange: server-check the next batch of commands.
- CodeChange: since only the server will be able to modify difficulty settings, leave the checking of correct values besides, and trust users will join legit servers.
- CodeChange: for renaming signs, only check if GetDParam(); eg _decode_parameters is empty ('\0') or not, instead of the extra check of players, etc. That basically does the same thing. Also dirty sign two times when renaming, once before, once after the action. Because if the name becomes shorter and you update only after, garbage remains on the screen.
- CodeChange: made GetMaskOfTownActions() available to the town-cmd to double-check if the action was available to the player. For this purpose the hardcoded _local_player has been removed from the function and is now passed as a parameter.
2005-05-12 00:11:37 +00:00
Darkvater
2aa7b2d7ea (svn r2142) - Fix: Game no longer crashes when you want to remove a piece of road under a bridge that belongs to the town. TODO: railcrossings store owner somewhere else, put it into _map_owner[]! 2005-04-03 13:37:35 +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
pasky
5483b77865 (svn r1955) Fix: Make the town growth frequency scale properly both up and down. The scaling is now also based on the number of towns instead of the map size. (In cooperation with HackyKid.) 2005-03-07 13:20:22 +00:00
pasky
43fbe3b2da (svn r1952) Fix: Hopefully fixed the enormous towns growth slowdown in large maps. (Inspired by toholio.) 2005-03-06 23:46:52 +00:00
pasky
7616f7c362 (svn r1925) Fixed an infinite loop if the town generator runs out of town names. The number of generated towns is then limited by the number of available names. 2005-03-05 13:49:43 +00:00
celestar
2eda5228d1 (svn r1881) -Fix: [ 1119308 ] Max passengers / mail variables are now 32 bit 2005-02-17 10:56:19 +00:00
celestar
563eac90ca (svn r1866) -Fix: Intercepted generated maps with 0 towns on it. Currently just an
error() is called, some more graceful handling should be implemented
later.
2005-02-13 09:42:49 +00:00
tron
7d56d1d841 (svn r1839) Move GetTileSlope() and GetTileZ() into tile.[ch] and use more explicit types as parameters 2005-02-07 10:41:45 +00:00
tron
6984d6cd31 (svn r1832) Next byte -> char iteration: custom names 2005-02-06 20:53:31 +00:00
truelight
f1610872de (svn r1831) -Fix: Scenario Editor now handles human-made roads better (try to build
a city layout before placing the city, finally that works very nice)
2005-02-06 20:29:32 +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
12183084b7 (svn r1808) Use strcmp() instead of home brewed function str_eq() 2005-02-05 22:50:33 +00:00
truelight
40323bbce2 (svn r1784) -Fix: removed ClosestTownFromTile where possible, or replaced it
with _map2-data if possible (Celestar / TrueLight)
2005-02-04 13:56:51 +00:00
celestar
2e357e69f9 (svn r1768) -Codechange: Store town index in _map2 of town tiles
Moved house type from _map2 to _map3_hi for MP_HOUSE
  Moved foundation and roadworks from _map2 to _map3 for
MP_STREET
  This increases game speed by a factor of around 15(!) if many cities are around.
  Converting an old game is done automagically, but can take a while
2005-02-02 14:17:13 +00:00
truelight
bb05305a1f (svn r1765) -Fix: on loading, the total amount of towns wasn't reset to zero 2005-02-01 18:46:49 +00:00
truelight
59ac6e8c4b (svn r1764) -Add: dynamic towns, you can now have up to 64k towns (let me know when
you have that amount of towns in a map ;))
2005-02-01 18:32:01 +00:00
tron
9ca00b845a (svn r1756) Cleanup: if cascade -> switch, uint -> TileIndex 2005-01-31 21:57:05 +00:00
tron
bb680056b1 (svn r1749) Move the functions which calculate distances to map.[ch] and give the more meaningful names 2005-01-31 07:23:15 +00:00
tron
39858e696b (svn r1713) Split off several functions which query/set information about a single tile from map.h and put them into a seperate file tile.h 2005-01-29 12:19:05 +00:00
tron
400f07fdb8 (svn r1706) Implement ScaleByMapSize() and ScaleByMapSize1D()
These scale a number relative to the map size/circumference.
Use them to scale the amount of map objects.
Of course at the moment they return just the input, because there are no bigger/smaller maps yet.
2005-01-28 15:31:04 +00:00
tron
07cb3068ae (svn r1676) Increase the size of TileIndex and TileIndexDiff to 32bits and adapt the save/load data and some other parts of the code to that change
WARNING: If i made any mistake here it WILL lead to corrupted savegames!
2005-01-25 21:43:57 +00:00
tron
94d5aeabb2 (svn r1594) Convert all undefined parameter lists to (void) and add the appropriate warning flags in the Makefile 2005-01-22 20:23:18 +00:00
celestar
07a10a51a7 (svn r1581) Added a display for the total map population to the town display (Jango) 2005-01-21 16:51:25 +00:00
tron
ca8eb44828 (svn r1542) Rename TileHeight to TilePixelHeight, because this is what it actually returns 2005-01-16 14:06:22 +00:00
tron
61a6bc544d (svn r1536) Move GET_TILEHEIGHT, GET_TILETYPE and IS_TILETYPE to map.h, turn them into inline functions and add some asserts 2005-01-16 11:24:58 +00:00
celestar
957635121c (svn r1504) enummed town ratings (Jango) 2005-01-14 09:20:12 +00:00
tron
414ac3286b (svn r1414) Move TileIndex, TILE_MASK and GET_TILE_[XY] to map.h and turn the latter into inline functions names Tile[XY] 2005-01-07 17:02:43 +00:00
truelight
b450603437 (svn r1407) -Codechange: changed a lot around _stations, _vehicles, _towns and _industries
(in prepare of dynamic arrays):
  - DEREF_XXX is changed into GetXXX
  - All direct call are directed via GetXXX
  - struct Industry has now an index-field
  - ENUM'd some stuff
  - Replaced home built loops with FOR_ALL_XXX
  - Added _stations_size, _vehicles_size, ... which gives the length of the
    array (which will be dynamic in the near future)
  - Changed lengtof(XXX) to _XXX_size (e.g. _stations_size)
  - Removed all endof(XXX) (because mostly it was part of a FOR_ALL_XXX)
  - Made the sort-functions of all 4 dynamic
  - Made all 4 Initialize functions more of the same
  - Some minor tab-fixing and stuff
  (tnx to Tron for proof-reading my 100kb patch ;))

  Note for all: please do NOT directly call _stations, _vehicles, _towns and
  _industries, but use the right wrapper to access them. Thank you.
  Ps: please also do not use 'v++', where v is of type Vehicle *.
2005-01-06 22:31:58 +00:00
tron
d3c6855320 (svn r1396) Introduce TileIndexDiffC - the compile time version of TileIndexDiff 2005-01-06 11:39:00 +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