Commit Graph

224 Commits

Author SHA1 Message Date
tron
0099dc31f5 (svn r4314) -Fix: a buffer overflow of the chat box introduced in r1263. Don't tell the Textbuf an arbitrary number as size of the string buffer, but the real lengthof() it 2006-04-07 09:07:53 +00:00
tron
59f0e69521 (svn r4313) The parent window of the chat box is always the main toolbar (?!), therefore don't pass this information as parameter 2006-04-07 09:00:57 +00:00
tron
2e2235e3cf (svn r4312) Calculate the maximum pixel width of the entered text in the chat box from the "text box"-widget instead of hardcoding an arbitrary - and wrong - number 2006-04-07 08:57:03 +00:00
tron
90927c22a5 (svn r4310) The chat box has no visible window title, therefore remove the string 2006-04-07 08:37:39 +00:00
tron
98b51c36e2 (svn r4309) The initial string of the chat box is always the empty string, so don't jump through hoops to check if nothing was entered and simplify the code 2006-04-07 08:27:43 +00:00
celestar
69e1c716e8 (svn r4249) -Codechange: Replace more occurences of 16 by TILE_SIZE and of 8 by TILE_HEIGHT. Reverted one change from the previous commit because it was faulty 2006-04-03 09:07:21 +00:00
belugas
ed86c3d818 (svn r4092) CodeChange : Named sprites instead of magic numbers plus create/use helper macro/enum for recoloring scheme 2006-03-24 18:16:39 +00:00
tron
747fe64b31 (svn r4073) Add functions to make and test for (most) unmovable tiles 2006-03-23 20:47:56 +00:00
Darkvater
5f57b49c7e (svn r3931) - [ 1451726 ] Use sprite names in main_gui.c instead of numbers (matthewwalton) 2006-03-17 23:23:10 +00:00
tron
367b09a1f9 (svn r3827) Remove the global variable _error_message_2, it's only used as local variable 2006-03-12 10:15:36 +00:00
tron
7d9dfc50be (svn r3749) -Fix: [FS#61] The tooltips for raising and lowering land buttons in the scenario editor are interchanged (Reported and fixed by lc) 2006-03-03 20:48:03 +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
peter1138
35c5be0e45 (svn r3414) - Fix: Disable the Fund New Industry menu item and window when connected to a server as a spectator. 2006-01-21 21:45:34 +00:00
truelight
45a0cc607c (svn r3376) -Codechange: made enums for GenerateWorld and InitializeGame 'mode'
-Fix: [ FS#30 ] don't reset date in SE when pressing RandomLand (rewrote patch of MeusH, but Peter warned me I should put his name in, so... oh well)
2006-01-06 21:57:37 +00:00
tron
28b8b7e269 (svn r3300) Remove unreachable code - in this case some duplicate breaks 2005-12-14 06:49:54 +00:00
tron
a2533d5ee6 (svn r3298) Remove unused and write-only variables 2005-12-14 06:28:48 +00:00
peter1138
5f3dc36983 (svn r3270) Correct all (mis)uses of WWT_CLOSEBOX / WWT_TEXTBTN to reflect their actual use, and add "Close Window" tooltip where missing. 2005-12-07 15:48:52 +00:00
bjarni
16e65960b9 (svn r3218) -Feature: Multiheaded train engines will now stay in the same train
This means that any user attempt to remove a rear engine will tell the user to move the front engine instead
	This fixes the assert when moving multiheaded engines (introduced in r3144)
	Note: to make old savegames use this feature, some engines might be turned around in order to link engines in pairs

-Codechange: train subtype is now a bitmask
	This allows fast access to info like if it is a wagon or engine and if it is in front and so on
	Note: savegame version bump
2005-11-18 23:41:03 +00:00
tron
45186b1601 (svn r3194) Don't use FindLandscapeHeightByTile() when it's overkill 2005-11-16 11:52:21 +00:00
tron
8a3587fa28 (svn r3185) const 2005-11-15 09:00:02 +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
524fd25cbd (svn r3177) GB, CLRBIT, HASBIT, TOGGLEBIT 2005-11-14 08:09:57 +00:00
tron
53f00c8f9d (svn r3173) Use the trinary operator and switch to improve readability
Also align short cases nicely
2005-11-13 14:54:09 +00:00
tron
81e5b16d71 (svn r3172) static, const 2005-11-13 13:43:55 +00:00
tron
d431d15b34 (svn r3159) Remove the read-only variable _no_button_sound 2005-11-09 11:32:15 +00:00
Darkvater
b76df91152 (svn r3153) - Feature: [ 1276827 ] Drag and drop rocky areas in scenario editor (MeusH-ish) 2005-11-07 16:19:45 +00:00
tron
3a925e230f (svn r3108) Confine the use of SPR_OPENTTD_BASE to table/sprites.h by adding/using some sprite enums 2005-10-31 10:23:58 +00:00
tron
e310aef45f (svn r3090) Remove long dead pieces of code 2005-10-26 07:12:14 +00:00
bjarni
0f5c8787f8 (svn r3081) -Codechange: [autoreplace] complete rewrite of autoreplace
this is a complete rewrite, that makes use of existing commands like build and sell
        this means that multiheaded train engines are replaced correctly
2005-10-24 19:40:48 +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
e3d1e43559 (svn r3049) Replace byte/int/uint by RailType where appropriate 2005-10-16 09:13:04 +00:00
bjarni
3d87a4d7ea (svn r3027) -Feature: [OSX] command+q now works in main menu (Tobin) 2005-10-07 20:53:21 +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
tron
f0e3072b6c (svn r2994) Another small hack regarding currencies: add a #define to emulate a variable, that holds the current currency; again this should increase readability 2005-09-27 20:55:42 +00:00
tron
f608232673 (svn r2992) Use PlayerID, StationID and INVALID_STATION instead of int, int and -1 2005-09-27 18:51:04 +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
e4ccb2b905 (svn r2958) - Feature: [ 1258971 ] Menu option to toggle console. Mainly for MacOS's or PDA's. (toholio) 2005-09-16 10:50:06 +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
80e2126cc6 (svn r2955) Fix: make ottd start with the last resolution you had set (custom) (win32) 2005-09-15 22:42:59 +00:00
tron
2e6db8f0f5 (svn r2887) Fix regression: Two boolean expressions got flipped in r2595, which made it possible to place lighthouses and antennas everywhere BUT clear tiles (found and fixed by _Luca_) 2005-08-24 18:47:26 +00:00
tron
a1a91eb7f7 (svn r2816) Forgot an Id tag and an #include 2005-08-06 15:18:26 +00:00
ludde
9a060a0f24 (svn r2781) Fix some of the issues with variables in .h files. 2005-08-01 16:31:19 +00:00
celestar
fcd012e7ec (svn r2736) -Codechange: De-mystified GfxDrawFillRect a bit, and used enums from table/sprites.h. You can now change the number of bits used for sprites and switches in the SpriteSetup enum and the rest should work automagically. Can be used to increase the number of active sprites to 2^19 in case there are no colortables (recolor sprites) in any newgrf. We should possibly move the the colortables to an own list, but how to detect them in a newgrf. 2005-07-28 09:17:32 +00:00
celestar
3af8aba978 (svn r2734) -Feature: The Main Toolbar Dropdown Menu can now display disabled items 2005-07-28 08:49:29 +00:00
tron
452652e85e (svn r2720) Remove unused declarations and definitions 2005-07-26 19:34:03 +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
7bce410f61 (svn r2657) -Codechange: The available railtypes per player are now a bitmask, so
that railtypes do not be in ascending order of appearance. Allows easier
implementation or more railtypes
2005-07-20 22:02:58 +00:00
tron
152439b56c (svn r2626) static, const, misc. 2005-07-17 20:14:58 +00:00
truelight
8f405a42da (svn r2602) -Codechange: removed unused variable (disable_computer)
-Fix: Changed some stuff to make server-side AIs possible in the far future
2005-07-17 13:34:19 +00:00
celestar
de19186be3 (svn r2595) -Codechange: Introduced "IsSteepTileh" to find whether a tile is steep
(i.e. spans two height levels) and use it throughout the code.
-Codechange: Add CanBuildDepotByTileh to find if a tile is suitable to
build a depot on it. Wraps some bitmagic which seems quite unreadable at
first glance
2005-07-16 23:47:37 +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
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
hackykid
7afe5fc5a9 (svn r2438) - Feature: New display option, 'transparent station signs', makes station signs transparent instead of using a solid bar to draw text on (peter1138) 2005-06-14 10:59:05 +00:00
Darkvater
c3c69ff5cb (svn r2420) - Codechange: magic number elminitation of cursorsprites. 2005-06-06 13:47:06 +00:00
Darkvater
ba8c649fac (svn r2397) - CodeChange: rename all "ttd" files to "openttd" files. 2005-06-02 19:30:21 +00:00
Darkvater
13c7b2b337 (svn r2391) - Feature: saving games happen in a seperate thread so you no longer will have to wait such a long time (especially handy on bigger maps and multiplayer games). The mouse also changes into the 'ZZZ' state :P. The thread on windows is currently given a little-bit-less-than-normal priority so it should not interfere that much with the gameplay; it will take a bit longer though. Upon the exit of the game any pending saves are waited upon.
- Fix: fixed GetSavegameFormat() so that it takes the best compressor (highest), or a forced one added with the parameter
- Open issues: 
1. Don't attempt to load a game while saving is in progress, it will kick you back to the intro-screen with only the vast ocean to look at.
2. The server is disabled from threaded-saving, but might be enabled in the future.
3. Current implementation only allows 1 additional running thread.
4. Stupid global variables.....grrr
Big thanks for TrueLight and the amazing memorypool :D
2005-06-01 23:08:33 +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
09a71c391a (svn r2303) - CodeChange (fix): when giving money to other players only allow transferring money that is above your loan. Eg you can't give away your loan.
- Langfix: 'goes down by' 'increases', vv for down in english.txt.
2005-05-13 17:09:05 +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
5e4080b547 (svn r2276) - CodeChange: remove DebugProc() and make the ALT+0...4 codes only available in debug mode 2005-05-06 20:38:18 +00:00
Darkvater
dc193d2f00 (svn r2209) - CodeChange: [ 1184348 ] Remove unused _newspaper_flag that was supposed to be some ugly hack for chatting (gonewacko) 2005-04-16 18:09:24 +00:00
Darkvater
1e13bf3d27 (svn r2201) - Fix: Crash in scenario-editor with terraforming out-of-map bounds. 2005-04-14 22:59:49 +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
Darkvater
34811a332e (svn r2161) - Fix: When resizing a window, the button is also visibly depressed
- CodeChange: Use images as arrows in the scenario-date scroller, looks better
- Feature: Clicked buttons with images/text now visibly depress their contents when pressed (eg it really seems like the button is moving)
- Fix: Fix sprite offsets of the arrow sprites in openttd.grf
2005-04-07 00:59:54 +00:00
Darkvater
7a9fad7ee1 (svn r2143) - Fix: [ 1175748 ] Wrong Button-Images in scenario-editors landscape-tool (thanks chrishuebsch) 2005-04-03 13:40:13 +00:00
Darkvater
9aacf73720 (svn r2141) - Fix: Keys now hopefully only activate the right windows. If console/querybox/chatbox is open, all input goes there, if closed to game itself. 2005-04-03 13:35:43 +00:00
Darkvater
f203150f7d (svn r2140) - Fix: [ 1175726 ] Allows rails in scenario editor. Moved both 'A' autorail and 'L' Terraform toolbar to their REAL places instead of the global window. 2005-04-03 10:21:37 +00:00
Darkvater
0aa8913834 (svn r2137) - CodeChange: Remove unnecessary preprocessor magic 2005-04-02 23:06:54 +00:00
Darkvater
b05713285e (svn r2136) - Fix: [ 1174313 ] terrain hotkeys nonfunctional in scenario editor (D,Q,W,E,R,T,Y,U fltr)
- Fix: 'L' no longer opens ingame terraform bar in scenario editor bar, but the land generator one
- Feature: [ 1095110 ] Create Lake and draggable Create Desert tools (initial implementation GoneWacko), also added sticky buttons to land generator and town generator
- CodeChange: moved around some of the draggable tools, demystifying them
- CodeChange: change CmdBuildCanal to allow for XANDY dragging not only X or Y (only scenario editor)
- CodeChange: add some more enums to sprites.
- TODO: merge most of the ingame and scenario editor land terraform code. This can only be done after OnClickButton function is changed so it also includes the backreference to the widget being clicked, postponed to after 0.4.0
2005-04-02 23:05:09 +00:00
truelight
f25a118ea4 (svn r2114) -Fix: fix menu with signlist in SE 2005-03-31 17:31:26 +00:00
truelight
3dae675f63 (svn r2079) -Add: signlist, shows all signs in the map. Clicking on them, and you go
to the sign. Very needed for coop. You can find it under World Map.
2005-03-26 21:22:29 +00:00
truelight
92f6fe9f6b (svn r2075) -Fix: added missing breaks in switches
-Fix: added const for a const variable
2005-03-26 12:08:56 +00:00
truelight
d1e158d6f7 (svn r2046) -Codechange: moved all waypoint code to waypoint.c/waypoint.h
-Codechange: rewrote some functions while moving waypoint-stuff
-Add: added support for 64k waypoints
-Fix: made the waypoint struct a bit more logic (no bit-fucking)
2005-03-24 17:03:37 +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
Darkvater
7656c683cf (svn r1901) - Fix: unwanted behaviour of the savegame dialog, as well as a bug with a sloppy termination of a string. When any editbox is open, scrolling is disabled. If any new types of editboxes come up, please use SET/CLRBIT of _no_scroll with its unique identifier (ttd.h) 2005-02-22 14:52:20 +00:00
Darkvater
fb78ca8a62 (svn r1894) - Codechange: cleaned up the console a bit, wholly unified handling of text with that of editboxes
- Codechange: Introduction of Textbuf struct which not only holds physical data as length but also pixel-constrains (width) and information about the caret
- Codechange: Move Clipboard function to OS specific file. Currently only Windows has clipboard actions
- Feature: Editboxes, console and exit screen also accept the numeric-enter as a yes
- Feature: Navigation through text with cursor keys is possible, as well as arbitrary insertion (also paste) and deletion; both backspace and del keys. Functions DeleteTextBufferChar, InsertTextBufferChar and InsertTextBufferClipboard handle input and deletion. Navigation is done through MoveTextBufferPos.
- Fix: OTTD crash when opening 'add server' editbox
- CodeChange: fix up some stringwidth calculations in gfx.c. You can get the width in pixels of a character by calling GetCharacterWidth().
2005-02-21 18:59:54 +00:00
tron
830565514c (svn r1867) Include tables/sprites.h only in files which need it 2005-02-13 11:18:02 +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
9b0bad683d (svn r1861) Constify Get(Non)Sprite() 2005-02-11 17:12:11 +00:00
tron
d2703fd672 (svn r1854) Split GetSpritePtr() into GetSprite() for regular sprites (returning a Sprite*) and GetNonSprite() for "sprites" of type 0xFF (returning byte*) 2005-02-10 12:14:38 +00:00
tron
7cd19fe07a (svn r1853) Move spritecache function declarations into a header of their own and use SpriteID as parameter type where appropriate 2005-02-10 05:43:30 +00:00
tron
701a32d048 (svn r1840) Repel str_buffr and use local buffers where possible 2005-02-07 12:32:35 +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
darkvater
b33e5d9ee0 (svn r1734) - Fix: [ 1112253 ] hijacking of arrow keys, game also scrolled when it was out of focus (dominik) 2005-01-30 16:54:39 +00:00
tron
001aa8e453 (svn r1722) -Feature: Bigger maps - anyone? 2005-01-29 19:45:14 +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
dominik
ea3eb8cbfa (svn r1703) - Fix: Scrolling with the arrow keys is now smooth and it now also scrolls exactly in tile direction if e.g. up and left are pressed 2005-01-28 09:30:19 +00:00
dominik
85e768c11f (svn r1667) - Feature: Signs are now shown in the color of the player who created them
(Note: The player information is currently not stored in savegames. Upon loading a game the signs will all be gray again)
2005-01-25 15:38:36 +00:00
darkvater
5f593d3e24 (svn r1653) -Fix: removed CTRL+A and CTRL+B cheats; thanks Hackykid
-Removed executable bits on png files in media dir (svn pd svn:executable <file>)
2005-01-24 23:02:14 +00:00
darkvater
9d492b5051 (svn r1648) -Fix: server can now pause and unpause a game through the console. Use 'pause' and 'unpause' 2005-01-24 21:33:44 +00:00