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