Commit Graph
100 Commits
Author SHA1 Message Date
Darkvater 2a2ee534e9 (svn r9086) -Feature/Fix: [win32] Rewrite keyboard input and handle all keypresses in a WM_CHAR event. This saves us from doing translation (ToUnicode[Ex], ToAscii[Ex]), and we get free IME-input support as a plus. 2007-03-10 00:30:18 +00:00
Darkvater 86be8991c6 (svn r9085) -Codechange/Fix: [win32] Move the initialisation of _codepage (non-UNICODE) to winMain as a dedicated server, or different video driver will not have a win32 messageloop. 2007-03-10 00:29:20 +00:00
Darkvater 3702f987c8 (svn r9084) -Fix: [win9x] Clipboard paste for Windows95 (doesn't have CF_UNICODETEXT) correctly converts the input to the current locale. 2007-03-10 00:27:20 +00:00
Darkvater 3b3c7554b7 (svn r9083) -Codechange: Be more lenient when trimming UTF-8 strings and don't terminate the string when an invalid encoding is encountered, but only focus on maximum length. 2007-03-10 00:26:19 +00:00
Darkvater 53f48bbd4d (svn r9082) -Codechange: [win32] Update VS2003 and VS2005 project files to use the same outpath, and build in UNICODE mode. When making a release it is probably better to make two binaries, one without UNICODE, the other with, guaranteeing full Win9x compatibility (UNICODE with MSLU also works, without it's even better).
-Remove: [os/2] Relic project file remains from watcom
2007-03-10 00:25:54 +00:00
Darkvater 2536a14abd (svn r9055) -Codechange: Change windows unicode handling and allow a pure non-unicode build to function. Win9x binaries will be possible with mingw/nightly system. 2007-03-07 18:58:28 +00:00
Darkvater 915ae8ffc2 (svn r9012) -Fix/Feature (UTF8): When cutting strings into multiple lines also take into consideration whitespace characters of more than 1 byte length (eg IDEOGRAPHIC SPACE, IsWhitespace() function). When trimming such strings, account for multiple-byte long sequences so use *Utf8PrevChar(v) = '\0'.
-Codechange: Add a function Utf8TrimString() that properly trims a string to an UTF8 encoding seperation instead of somewhere in the wild (and use it in the chat area)
2007-03-05 00:45:56 +00:00
Darkvater aea64adbb9 (svn r9011) -Codechange (r9003): Rework Utf8PrevChar so that it returns a pointer to the previous UTF8 character's first byte instead of a byte-length offset 2007-03-05 00:34:48 +00:00
Darkvater b3f59814de (svn r9009) -Fix (r1): Determine whether to play a sound or not when entering a tunnel based on engine type (only steam engines) instead of on spritenum which can be invalid for newgrf trains. DBSet(XL) or any other steam trains without newsounds should sound their horn now. 2007-03-04 22:14:32 +00:00
Darkvater 0d643c624b (svn r9003) -Codechange: Introduce a function Utf8PrevCharLen that finds the starting character of an UTF-8 sequence from a given position and returns the length to the first UTF-8 encoding byte of that sequence. 2007-03-04 00:49:40 +00:00
Darkvater e33a8d3caa (svn r8995) -Fix (FS#620, r8464): revert properly (reversion of r4322) internal speeds 2007-03-03 13:36:25 +00:00
Darkvater b024134c6a (svn r8994) -Fix [FS642, r3320]: [win32] Resolution doubled in cfg file when fullscreen mode used. Use _wnd.double_size which gives back its correct state with respect to double size and fullscreen. 2007-03-03 13:13:25 +00:00
Darkvater 0961e1bc56 (svn r8977) -Codechange: Remove the hardcoded maximum width for some drawstrings and replace them with a portion of w->width. Only visible improvement is QueryWndProc which will not write exactly to the edge of the window anymore. 2007-03-02 17:54:52 +00:00
Darkvater 991fbeaefa (svn r8976) -Codechange: Reinitialize all engines after grf files have been reloaded/changed. 2007-03-02 15:17:48 +00:00
Darkvater baf79a6a85 (svn r8975) -Regression: [win32] Possible buffer overflow if unicode text is pasted into an input box and needs trimming. The last character was wrongly assumed to be of length 1 (tb->maxlength - 1), while a unicode character can be up to 4 long. 2007-03-02 15:08:28 +00:00
Darkvater c0971bafdc (svn r8974) -Fix: [win32] Define a win32 target platform ourselves so that we don't conflict with Vista Platform SDK (boekabart) 2007-03-02 15:02:12 +00:00
Darkvater eb1af4a65e (svn r8929) -Codechange: [win32] Give the installer a slightly more verbose link at the final screen and also copy any heightmaps to the desination directory. 2007-02-27 22:11:12 +00:00
Darkvater 61a4f434d7 (svn r8927) -Codechange: [win32] Update the installer to use the new paths after the makefilerewrite and add roadstops.grf to the uninstaller. 2007-02-27 17:04:22 +00:00
Darkvater 285c068aae (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc. 2007-02-27 16:51:49 +00:00
Darkvater 8eced44506 (svn r8920) -Codechange: Do not require to press 'Apply changes' in the newgrf GUI if the changes in there are not activated (this happens in the title screen) 2007-02-27 16:07:04 +00:00
Darkvater c5e59b8a61 (svn r8919) -Regression (UTF8) (try #2): Win9x is very picky about trailing slashes in paths, so C:\\* will not work (but C:\Windows\\* does; go figure). Thanks glx for pointing it out and for the initial fix. 2007-02-27 16:05:49 +00:00
Darkvater 9cbc0e4ade (svn r8918) -Revert r8914 as the inverted files have been committed not the correct one. 2007-02-27 16:05:20 +00:00
Darkvater 44879ab2c5 (svn r8914) -Regression (UTF8): Win9x is very picky about trailing slashes in paths, so C:\\* will not work (but C:\Windows\\* does; go figure). Thanks glx for pointing it out and for the initial fix. 2007-02-27 15:17:06 +00:00
Darkvater 1bbbbeeef1 (svn r8860) -Cleanup: some style changes, proper #endif comments, variable initialisation, WINCE ifdef and a vsprintf to vsnprintf change. 2007-02-23 12:56:10 +00:00
Darkvater 31be3c6fac (svn r8844) -Revert partly (r8820, r8806): Change AppendToGRFConfigList to add the allocated GRFConfig to its list and not copy it. 2007-02-22 16:16:44 +00:00
Darkvater b00692dff6 (svn r8824) -Fix (r8821): don't use MSVC2005 runtime library-only _snwprintf_s function, but use 'insecure/deprecated' version and zero-terminate string ourselves. Thanks for testing glx. 2007-02-20 14:39:47 +00:00
Darkvater 6d25481221 (svn r8823) -Fix (r8821): wrapping opendir to ottd-specific function failed on non-windows because this wrapper was only active for win32 (thx Rubidium) 2007-02-20 09:46:10 +00:00
Darkvater 92bbe45dd0 (svn r8821) -Regression: Unable to browse directories on *nix if the filesystem is not in UTF-8 charset and special characters are used. The string passed to opendir() which is UTF-8 was not parsed back to the filesystem format. Use a wrapper called ttd_opendir() instead of redefining opendir itself. 2007-02-20 00:09:23 +00:00
Darkvater 5b237758aa (svn r8820) -Codechange (r8807, r8806): Remove the unneeded calloc/free allocation of GRFConfig and turn it into a simple variable (it's supposed to be data-only). Thanks Tron. 2007-02-20 00:01:54 +00:00
Darkvater 8dae4e45ac (svn r8807) -Feature: Add support for loading (some of) the TTDP extra chunks mainly list of GRFIDs and TTDP version the game was saved with.
GRFID list is read and active GRFs are loaded with the game if present in the data/ directory.
 TTDP versioning information only works for newer versions, old versions will only give rough information but it's not worth the effort to precisely figure out what bit means what where and when.
2007-02-18 22:50:51 +00:00
Darkvater 6d4d072023 (svn r8806) -Codechange (r7582): Remove a duplicate append of static GRF's when loading the game and hide the intrinsics of adding elements to the GRFConfig list by using an AppendToGRFConfigList function. 2007-02-18 22:37:33 +00:00
Darkvater b260be6e2a (svn r8805) -Codechange (r8757): DO set eol-style and keywords on new files... 2007-02-18 22:07:08 +00:00
Darkvater 1aab4a368b (svn r8784) -Regression (r7274 most likely): Unable to load TTDP (on *NIX) games because the static buffer used for name conversion is overwritten in the callback function. 2007-02-17 16:41:56 +00:00
Darkvater 32d2a012e4 (svn r8740) -Fix (r8783): GCC warnings about not-handled MP_ values in switch case (glx) 2007-02-14 20:48:00 +00:00
Darkvater 3a86ae8ba4 (svn r8739) -Codechange: Update the oldloader debug levels to be more in spec with the guidelines in debug.h. 2007-02-14 20:19:07 +00:00
Darkvater 12868eeb97 (svn r8738) -Fix: TTDP games have all tiles touching the water marked as MP_WATER, we do not (tiles with one corner, or steep tiles), so check and fix these tiles. 2007-02-14 20:17:11 +00:00
Darkvater c8fb4ddf57 (svn r8737) -Regression (r8621): VEH_Type renumbering wasn't performed for TTD(P) games, failing to load them 2007-02-14 20:10:52 +00:00
Darkvater 4d4c1e0505 (svn r8691) -Cleanup: Some proper #endif comments for sound/music/video files, and a little elimination of magic numbers in Win32SoundStart 2007-02-12 21:55:10 +00:00
Darkvater 4ebb009ab4 (svn r8524) -Cleanup: Ala r8509 add some enum names to the generate landscape window 2007-02-01 23:39:48 +00:00
Darkvater 19c90a3bc0 (svn r8522) -Regression (r8512): The flat/random window moved the to scenario editor did not use the right settings for generating land 2007-02-01 22:54:04 +00:00
Darkvater 33cadd5043 (svn r8513) -Cleanup (r8512): Remove the now unused strings from the language files, as well as two others that weren't used for ages (tgp had other strings for them, or simply not). 2007-02-01 16:28:11 +00:00
Darkvater cace026c1b (svn r8512) -Codechange: From the intro window enter the scenario editor. From the scenario editor dialog, remove the 'load heightmap' option and put that with the other options like 'load scenario', 'save scenario', etc. Play a little bit with positioning of elements inside the scenario editor dialog so it looks better. 2007-02-01 16:21:56 +00:00
Darkvater 01a9abc7e5 (svn r8509) -Cleanup: Add some enum names to the create scenario window 2007-02-01 14:29:06 +00:00
Darkvater 50909e272b (svn r8508) -Codechange (r5762): [win32] Use an atomic operation to query and set the value of _global_dir_is_in_use for opendir etc to guarantee concurrency. 2007-02-01 13:01:05 +00:00
Darkvater 3c2cb4871e (svn r8507) -Codechange/Feature: Don't remove player-owned property on-load in the scenario editor. Add a button to the landscape window to do this. 2007-02-01 12:51:10 +00:00
Darkvater c5c0a54a50 (svn r8497) -Codechange: Increase the size of the sound/video/music-drivers to 32 bytes (instead of 16) so their actual parameters can be passed. Sound has for example 'bufsize' and 'hz'. Also use the recently introduced StrEmpty(). 2007-01-31 20:20:36 +00:00
Darkvater 39a50e3723 (svn r8448) -Codechange/Fix (r2993): Also update the helicopter's rotor when loading the game. This can solve crashes when a game is loaded with missing GRF's 2007-01-28 21:53:13 +00:00
Darkvater b6186cf39c (svn r8435) -Regression (r7759?): Readd aircraft.h to the project files which were added in r6644 but miracuously disappeared sometime afterwards 2007-01-28 00:28:12 +00:00
Darkvater 08c21c0c61 (svn r8429) -Codechange: Add a name for AircraftVehicleInfo subtype helicopter and remove some magic numbers related to the subtype. 2007-01-27 12:45:55 +00:00
Darkvater 50ca901b40 (svn r8428) -Codechange: Add proper names to aircraft subtypes instead of magic numbers and add a function IsNormalAircraft() which tells us whether the aircraft is in fact some flying device or a rotor/shadow. 2007-01-27 12:29:55 +00:00
Darkvater 7b38614756 (svn r8421) -Codechange (r8420): rename STR_AVAILABLE_VEHICLES to STR_AVAILABLE_ROAD_VEHICLES for clarificaton (Tron) 2007-01-26 19:30:11 +00:00
Darkvater 1b47b17450 (svn r8420) -Codechange (r7418): Rename the 'New <vehtype>' button of the global vehicle lists to 'Available <vehtype>' as it is a view-only list, not one from which you can purchase (rolling) stock. 2007-01-26 19:24:02 +00:00
Darkvater f4dad30da7 (svn r8409) -Regression (r8049): When the latest news was deleted, the news queue wrapped back to the oldest item, showing all news again.
-Regression [FS#573] (r8049): ShowLastNewsMessage could show an out-of-bounds news item because it did not checked if a previous item actually existed the first time it is called (forced news is INVALID_NEWS).
2007-01-26 00:25:39 +00:00
Darkvater 9727bb4cfc (svn r8398) -Cleanup: Remove WATCOM crud from strgen and map.h include from macros.h as it is no longer needed. 2007-01-24 21:23:35 +00:00
Darkvater 97d558760c (svn r8279) -Regression (r8274): Removing signals could fail under certain circumstances (not the proper bits of p1/p2 were set to trackbits). Moved trackbits back to bits 0..2, ctrl to 3, semaphore to 4. Also lower the decision of the ctrl-override of signal/semaphore from the GUI into the cmd function since we are passing the ctrl-bit anyways. Bug(s) found by Frostregen; thanks 2007-01-19 17:44:11 +00:00
Darkvater 110c0162df (svn r8274) -Codechange (r8151): Move the automatic semaphore/signal checks inside the CMD_ functions where they are supposed to be. Achieve this by adding a seperate bit to p1/p2 to hold the CTRL-modifier. While here, use proper types, and 'unify' the parameter bit-meanings. 0 - ctrl-pressed, 1 - signal/semaphore, 2-4 - trackbits, 5 - remove (internal), 24-31 - drag density. 2007-01-19 00:01:52 +00:00
Darkvater 8e06ff09a6 (svn r8254) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, et. 2007-01-18 15:39:58 +00:00
Darkvater 4de91346e9 (svn r8253) -Codechange: Be more strict about language generation and fail any languages not having the mandatory ##name, ##ownname and ##isocode pragma's. 2007-01-18 15:27:57 +00:00
Darkvater 982c451a8e (svn r8252) -Regression(r8204): WT2 commit removed ##isocode from Russian, resulting in a clean
start of openttd being in russian instead of in english.
2007-01-18 15:26:52 +00:00
Darkvater 95ccdeeac0 (svn r8240) -Fix (r8013): Put the output of -h to stdout and not to stderr (through ShowInfo) 2007-01-18 14:08:56 +00:00
Darkvater d3a58ba36b (svn r8239) -Regression (r7278): Help window was empty for UNICODE builds 2007-01-18 14:06:30 +00:00
Darkvater 653290c76a (svn r8218) -Codechange: Increase spritecache size to 2MB. This will vastly improve performance when using (lots of) grf files. You can change it yourself easily with the SPRITE_CACHE_SIZE compile flag. (peter1138). 2007-01-17 23:25:19 +00:00
Darkvater 1f3ea708c3 (svn r8168) -Regression (r6783): ParseConnectionstring didn't use the port parameter if a player was also specified. (both IP#Player:Port and IP:Port#Player btw) 2007-01-16 23:01:06 +00:00
Darkvater 0c9e65d8cc (svn r8165) -Revert r8107 and show the MD5SUM of the *REPLACEMENT* grf file, NOT the original one. Reason for this is that this md5sum is saved, and otherwise a wrong md5sum would be stored in a savegame. 2007-01-16 21:34:51 +00:00
Darkvater 542f156091 (svn r8164) -Codechange (r8159): Fix up some comments/doxygen for disasters and rename Submarine1/2 to small/big 2007-01-16 20:16:30 +00:00
Darkvater 6908565067 (svn r8159) -Cleanup: Sprinkle some coding-style and comments on the disaster code. 2007-01-16 16:54:06 +00:00
Darkvater 12f0e67437 (svn r8158) -Fix: The submarine disaster failed to move at all due to wrong masking of trackbits 2007-01-16 16:28:41 +00:00
Darkvater c430f2a543 (svn r8140) -Fix [FS#54]: Combat helicopter flies past factory before it shoots. Chopper comes from the north-east, so it looks in +15 direction (forward), not -15 direction. Probably bad copy-paste from airplane-destroys-oil-refinery disaster. 2007-01-15 00:09:25 +00:00
Darkvater de10e911cb (svn r8135) -Fix (r7582): Don't assert on duplicate non-static grfs when removing duplicates as the PEBKAC effect can result in the user adding the same grf's in the config file. 2007-01-14 22:43:19 +00:00
Darkvater 82b0704bcc (svn r8134) -Fix (r8013): Add a newline after the ShowInfo console output 2007-01-14 22:39:53 +00:00
Darkvater aee29710bd (svn r8133) -Fix [FS#535]: "out of sprite memory" warning messages due to incorrect assumption of requested memory for sprites (smatz) 2007-01-14 21:50:56 +00:00
Darkvater e4d4e13e15 (svn r8132) -Fix (r6824): The game could crash when the chat key (<ENTER>) is pressed too vehemently during the join of the game. Your client's id does not exist in the clients list yet, and returns NULL. 2007-01-14 21:32:13 +00:00
Darkvater 54b88bc8e6 (svn r8119) -Fix (r8101): Uninitializing windows should be called before freeing dynamic variables as windows could use those variables during cleanup (eg WE_DESTROY calling GetStation(w->window_number).
-Merged UnInitializeGame with UnInitializeAirports and UnInitializeDynamicVariables
2007-01-14 17:17:30 +00:00
Darkvater a5cc170ab0 (svn r8107) -Codechange (r8106): Show the MD5SUM of the original GRF (saved in savegame) instead of that of the replacement so a user can still go hunt for the original GRF if needed. 2007-01-13 17:44:11 +00:00
Darkvater 66c5cde981 (svn r8106) -Feature/Fix: Add the ability to load savegames when you don't have the exact GRF files in your list. GRF files that are found based on GRFID (but not on matching md5sum) are used instead of disabling them. This does not affect MP games, there you still need an exact match.
-GRF Window colour-codes changed a bit: Static is now grey, and compatible GRF (found locally only based on GRFID) are shown in orange. Compatible GRF's also have an orange status/warning text saying they're not the original the game was saved with.
-Loaded games with something amiss regarding GRF's will show an appropiate warning message.
2007-01-13 17:42:50 +00:00
Darkvater 3f168daee1 (svn r8105) -Codechange: Change FindGRFConfig so that if md5sum parameter is omitted (or NULL)
only a check for GRFID is done and not on md5sum as well. Remove blanksum in the function as it's obsoleted
2007-01-13 17:23:02 +00:00
Darkvater 5863a6088d (svn r8102) -Cleanup: Remove unreachable code (r8096), useless cast 2007-01-13 15:55:22 +00:00
Darkvater e832a1d046 (svn r8101) -Fix (runknown): Plug potential memleaks when calling UnInitWindowSystem. The function directly deleted all windows instead of calling their respective deallocators which could then in turn any used memory. 2007-01-13 15:50:36 +00:00
Darkvater d9fc6134d3 (svn r8098) -Fix (r6964): For editboxen, always fill the background with black, and not only after a valid call to FillDrawPixelInfo. This solves some graphics glitches with background widget-colour showing through on frequent redraws. 2007-01-13 15:00:40 +00:00
Darkvater fc78ef95e1 (svn r8096) -Codechange: Invert the check if you are allowed to clear a road tile so there are not so many negations (too confusing) and added some comments to further clarify what happens. 2007-01-13 14:48:47 +00:00
Darkvater 57a366e6d8 (svn r8094) -Feature/Fix (r7523): Show the activated status of the GRF list after pressing 'apply'
in the newgrf window, instead of the local list.
2007-01-13 14:01:05 +00:00
Darkvater 5ed33e549e (svn r8093) -Codechange: Add a function to get a string representation of an MD5SUM and use it. 2007-01-13 13:47:57 +00:00
Darkvater c09b7e7fac (svn r8090) -[win32] Fix (r8089): for *nprintf 'ret = count' NOT 'ret = 0'... 2007-01-13 13:13:32 +00:00
Darkvater 120f57b865 (svn r8089) -[win32] MS-borkedness: All *nprintf functions are broken, but we didn't test to fix it ourselves when 'len = count'. 2007-01-13 13:06:18 +00:00
Darkvater a352bf8529 (svn r8080) -Codechange (r8079): Move the *WHOLE* performance code into the #ifndef and some style changes. 2007-01-12 16:30:41 +00:00
Darkvater bccef9f948 (svn r8077) -Cleanup: Restructure some switch() statements' default case when they're unreachable 2007-01-12 14:28:00 +00:00
Darkvater 95deb5eace (svn r8071) -Fix (r5999): [FS#536] Merging 32bit dates broke the inauguration date of companies in
oldloader: "The year the company was inaugurated (full value, not base-1920)"
 (Marcin Grzegorczyk's TTD internals site)
2007-01-12 00:44:49 +00:00
Darkvater 2ea3531c24 (svn r8049) -Regression (r7369): Removing certain news windows could cause a crash due to only
one MoveToNextItem() in DeleteVehicleNews (added in r3757). To work correctly do not
 reset _forced_news to INVALID_NEWS when a new item is added, but leave it.
-Codechange: ShowLastNewsMessage has been changed so that it actually works, wraps
 around correctly (array as FIFO) and shows the previous news item if the current 
 news item is open (previously this was doubly shown).
2007-01-11 01:21:55 +00:00
Darkvater 0cb2bc2b23 (svn r8044) Regression (r8038): Crash on allocating bridge memory (peter1138) 2007-01-10 21:44:59 +00:00
Darkvater 6c3187213d (svn r8013) -Codechange (r6921, rUnknown): Show the error message of corrupt or missing (own) files
through a ShowInfo(F). This way windows users also see this message and bugs such as
 FS#528 will not happen anymore. Put ShowInfo(F) error output to stderr and not stdout.
2007-01-09 21:25:13 +00:00
Darkvater 5acbc88ee1 (svn r7984) -Fix: out-of-bounds read access on _clients array (Quark) 2007-01-08 19:18:53 +00:00
Darkvater 23776138ef (svn r7973) - Forward-port the release-changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, et. 2007-01-08 00:16:03 +00:00
Darkvater f22c963dcf (svn r7969) *whistle* 20067 has not yet come to pass; it's 2007 (I think my search&replace broke) 2007-01-07 17:32:35 +00:00
Darkvater 7b38ec131a (svn r7968) -Update copyright/etc information to 2007 2007-01-07 16:55:30 +00:00
Darkvater 43c030f438 (svn r7966) -Fix (r7936): Eh AxisToTrack returns Track not Axis, thanks KUDr 2007-01-07 16:35:20 +00:00
Darkvater 7156749043 (svn r7936) -Fix (r4987, old-rev): Only update the signals and YAPF cache on a DC_EXEC action for bridge-building 2007-01-07 00:19:57 +00:00
Darkvater 4955ea7c79 (svn r7934) -Cleanup: [win32] Remove unused and totally useless files. 2007-01-06 23:47:59 +00:00
Darkvater a05ab3028a (svn r7930) -Fix: [FS#520] Wrong GRF flag set for gradual loading (mart3p) 2007-01-06 22:43:11 +00:00
Darkvater 2d3e7aef51 (svn r7861) -Fix (r7823): Crash when oldest news was deleted. First check the index for oldest news
and THEN decrease index, not the other way around.
2007-01-05 11:41:11 +00:00
Darkvater 8f945f53e2 (svn r7843) -Codechange (r7840): left out word 'file' making crash-text look un-english-ish. 2007-01-05 00:39:08 +00:00