Commit Graph

349 Commits (d470955e403622f9dbe5e465ca4fec5dd2e8c23d)

Author SHA1 Message Date
rubidium 3e5924b10f (svn r22149) -Fix [FS#4521]: Windows video driver crashed when it couldn't go to full screen at the resolution of the configuration file when starting OpenTTD 14 years ago
alberth 31386c42a7 (svn r22145) -Codechange: Do explicit test for non-bool values. 14 years ago
alberth 1dbc0a20be (svn r22144) -Codechange: Unify 'while (true)' to 'for (;;)' 14 years ago
glx 1b2ef66416 (svn r22081) -Fix [FS#4489]: if fullscreen fails with current resolution, use desktop resolution 14 years ago
rubidium 1d0d7635e0 (svn r22021) -Fix (r22019): ofcourse make doesn't notice files are gone, so it doesn't recompile everything that needs to be recompiled... 14 years ago
planetmaker 9ddcbaf9b7 (svn r21684) -Fix [FS#4360] (r21573): Silence some compile warnings 14 years ago
planetmaker adc1760b0d (svn r21578) -Fix [FS#2585]: [OSX] A double mouse cursor was shown under certain circumstances (based on patch by matheweis) 14 years ago
planetmaker 30eef98ec0 (svn r21577) -Codechange: [OSX] Deduplicate code by moving the handling of the window class for screen drivers to a common class 14 years ago
planetmaker e38f96d609 (svn r21576) -Codechange: [OSX] Deduplicate code by moving the handling of the view for windowed screen drivers to a common class 14 years ago
planetmaker 26575ab8f8 (svn r21575) -Codechange: [OSX] Use the same class for the window delegate routines in windowed screen drivers 14 years ago
planetmaker 7ab04792c5 (svn r21574) -Codechange: [OSX] Move the variable declaration of the screen drivers to the generic class, deduplicating code 14 years ago
planetmaker 574e0830f1 (svn r21573) -Codechange: [OSX] Unify the naming of variables among different screen drivers a bit 14 years ago
planetmaker 0d3a0bb1c7 (svn r21572) -Codechange: [OSX] One palette is enough, we cannot use two colour depths at once 14 years ago
planetmaker 3448853b55 (svn r21537) -Cleanup: Add a few sprinkles of coding style 14 years ago
planetmaker 832625bb0e (svn r21522) -Fix: [OSX] Silence a warning when compiling without quartz and quickdraw 14 years ago
rubidium 69766049ce (svn r21396) -Codechange: rename SafeSaveOrLoad to SaveLoad (it only did load), and add support for (safe) loading with a LoadFilter 14 years ago
rubidium ab44c91778 (svn r21252) -Codechange: introduce a constant for the number of milliseconds per game tick and use it 14 years ago
planetmaker 94c45d9cc3 (svn r21245) -Fix (r21200): [OSX] Make gcc 4.2 happy 14 years ago
planetmaker 8d42b04e3b (svn r21200) -Fix: [OSX] Don't let the mouse cursor jump when switching to full screen mode 14 years ago
planetmaker 03c012797b (svn r21037) -Fix: [OSX] Mouse cursor would leave footprint with 8bpp blitter when switching to full screen 14 years ago
planetmaker 47523d86fb (svn r21036) -Fix: [OSX] Properly set the palette when using the 8bpp blitter during start-up 14 years ago
rubidium 4173ba76fa (svn r20809) -Fix (r20809): as usual with these user provided Mac OS X patches lately... they either fail to compile or spew warnings 14 years ago
rubidium 4915f47264 (svn r20808) -Add [FS#4110]: [OSX] support for input using dead keys (Zydeco) 14 years ago
rubidium c0ba81e617 (svn r20783) -Change/Fix: do autosave-on-exit as well when using kill/CTRL-C to terminate a dedicated OpenTTD 14 years ago
rubidium 134712ec64 (svn r20619) -Fix [FS#4070]: [OSX] Limit minimum window size to 64x64 like all other platforms (matheweis) 14 years ago
frosch 4bd32799f1 (svn r20286) -Codechange: Unify end of doxygen comments. 14 years ago
frosch ed4f806f1d (svn r20283) -Codechange: Unify start of doygen comments. 14 years ago
rubidium e356cb9405 (svn r20281) -Codechange: unify case scope closure + break coding style 14 years ago
terkhen 88ca183191 (svn r20239) -Doc: Give a common name to all fall throughs (FALL THROUGH). 14 years ago
alberth be6c058424 (svn r20211) -Codechange: Indented code should have curly braces around it. 14 years ago
rubidium b8487afe54 (svn r20192) -Cleanup: bye bye variables.h, bye bye VARDEF... you won't be missed :) 14 years ago
rubidium 34764feac2 (svn r20186) -Codechange: remove VARDEF from _realtime_tick and _rightclick_emulate 14 years ago
rubidium 45213e5708 (svn r20183) -Codechange: make _do_autosave and _dedicated_forks not use VARDEF and put them in a more logical location 14 years ago
glx 4796be85a5 (svn r20084) -Fix [FS#3919] (r7157): don't try to handle mouse events when the cursor ha left the window 14 years ago
peter1138 4b4e97695f (svn r19965) -Cleanup: Use size of buffer, not magic number. 14 years ago
frosch 9e53f1e004 (svn r19933) -Fix [FS#3804]: Keep _current_company and _local_company in sync during GUI operation. 15 years ago
frosch e864701693 (svn r19861) -Fix (r19814): Silence a warning. 15 years ago
rubidium 062dd0e24c (svn r19814) -Codechange: give some more unnamed enums a name, in case they consisted of unrelated values use static const (u)int 15 years ago
rubidium 465e3be105 (svn r19593) -Codechange: improve loading/executing the desync logs 15 years ago
smatz c5b34444af (svn r19084) -Codechange: minor coding-style fixups 15 years ago
yexo d858264ca6 (svn r19012) -Fix (r19003): macos.h is not in video/cocoa/ but in os/macosx/. 15 years ago
rubidium e62b122bb1 (svn r19003) -Fix [FS#3194]: [OSX] OS X 10.5+ does not (always?) handle 8bpp graphics in a suitable manner. This is actually not a fix but a nasty work around; you can still easily trigger the bug/issue by overriding the 'default' blitter choice (Brad Oliver). I can/have not test(ed) (including compiling) this fix.
Bjarni once suggested that 8bpp works for him on 10.5, so apparantly not all 10.5+ does not handle 8bpp graphics. Nevertheless, it seemed that for some systems the already existing 'does this support 8bpp' did not work, i.e. the OS API seemed to suggest that 8bpp worked when it actually did not. So, I don't know what is going on precisely here but it's definitely not nice to suggest that it supports 8bpp when it doesn't. So just ditch 8bpp support for anything that we suspect might not support 8bpp...
15 years ago
rubidium 82fc28f77f (svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header 15 years ago
rubidium 7aeccb9bd0 (svn r18796) -Fix [FS#3521]: [SDL] possible deadlock when killing OpenTTD while starting it 15 years ago
rubidium 9c579a5adf (svn r18792) -Fix [FS#3522] (r18709): crash when using the 32bpp blitter with a dedicated server 15 years ago
peter1138 c3fffe7496 (svn r18790) -Revert (r18001,r18177,FS#3515): Viewport could still jump under high CPU load. Revert as change caused more problems than it fixed. 15 years ago
peter1138 abb147d974 (svn r18709) -Fix (r10227,FS#3464): Animation buffer for 32bpp-anim blitter was only validated during sprite blitting, other drawing operations didn't check it. Initial startup and window resize could therefore lead to crash. 15 years ago
michi_cc 4d9097cafb (svn r18573) -Fix [FS#3198]: [OSX] Try to get a generic RGB colour space if getting the system colour profile failed. (tyler) 15 years ago
rubidium c811f3bd21 (svn r18547) -Fix [FS#3388]: missing thread synchronisation when changing the resolution for SDL via the in game menu 15 years ago
frosch 29d6491605 (svn r18545) -Fix [FS#3292]: Assign '_screen.dst_ptr' as soon as it is allocated. 15 years ago
peter1138 3addf58f30 (svn r18390) -Fix (r17776): [SDL] Reinstate pointer update on 'idle' loop. 15 years ago
peter1138 b0049500a6 (svn r18177) -Fix (r18001): [SDL] Viewport could jump when mouse moved and right button pressed at the same time. 15 years ago
rubidium 88a7e23897 (svn r18031) -Codechange: since basically r7157 adding up 'all' mouse movement isn't needed anymore because after each even that movement is handled and the counter is reset. As such simply assigning instead of adding works. 15 years ago
rubidium cbf4b80b86 (svn r18030) -Fix: screen jumped a bit for at least SDL and Allegro when right-click-dragging 15 years ago
peter1138 723c19571f (svn r18001) -Codechange: [SDL] When the mouse cursor is locked into position when scrolling a viewport, warp the mouse pointer to the centre of the window. This gives maximum freedom of movement. The pointer position is restored when the lock is removed. Visually the mouse cursor stays where it was. 15 years ago
smatz da54a01114 (svn r17950) -Fix (r17776): _draw_mutex was never destroyed, _draw_thread was never joined 15 years ago
smatz dc4b251dbd (svn r17949) -Fix (r17776): unlock mutex before deleting it when creating drawing thread failed 15 years ago
rubidium cfcf3159b2 (svn r17815) -Fix [SDL]: asynchronious drawing caused extra unresponsiveness during map generation; disable the threading while generating a map 15 years ago
michi_cc 144febd2d9 (svn r17793) -Fix: [OSX] The splash image wasn't displayed if the Quartz video driver was used. 15 years ago
rubidium c37029d5e1 (svn r17787) -Codechange: be a bit more verbose about while allegro failed with some actions. 15 years ago
rubidium f4f4044859 (svn r17776) -Codechange: [SDL] make "update the video card"-process asynchronious. Profiling with gprof etc. hasn't shown us that DrawSurfaceToScreen takes a significant amount of CPU; only using TIC/TOC it became apparant that it was a heavy CPU-cycle user or that it was waiting for something.
The benefit of making this function asynchronious ranges from 2%-25% (real time) during fast forward on dual core/hyperthreading-enabled CPUs; 8bpp improvements are, in my test cases, significantly smaller than 32bpp improvements.
On single core non-hyperthreading-enabled CPUs the extra locking/scheduling costs up to 1% extra realtime in fast forward. You can use -v sdl:no_threads to disable threading and undo this loss.
During normal non-fast-forwarded games the benefit/costs are negligable except when the gameloop takes more than about 90% of the time of a tick.
Note that allegro's performance does not improve with this system, likely due to their way of getting data to the video card. It is not implemented for the OS X/Windows video backends, unless (ofcourse) SDL is used there.
Funny is that the performance of the 32bpp(-anim) blitter is, at least in some test cases, significantly faster (more than 10%) than the 8bpp(-optimized) blitter when looking at real time in fast forward on a dual core CPU; it was slower.
The idea comes from a paper/report by Idar Borlaug and Knut Imar Hagen.
15 years ago
rubidium 7341834430 (svn r17773) -Cleanup: sdl.h isn't needed for allegro 15 years ago
michi_cc 2b7e242872 (svn r17768) -Fix (r17715): [OSX] Newer GCC versions don't like jumping over variable definitions with goto's. (planetmaker) 15 years ago
michi_cc d900b0d628 (svn r17717) -Codechange: [OSX] Replace deprecated variable type. 15 years ago
michi_cc 6ad7440ae5 (svn r17716) -Codechange: [OSX] Invoke a (semi-)private Objective-C method in a way that does not rely on the SDK version. 15 years ago
michi_cc dbb13fd856 (svn r17715) -Cleanup: [OSX] And a final round of coding style and some cleaning. 15 years ago
michi_cc ba6866128d (svn r17714) -Cleanup: [OSX] Apply more coding style. 15 years ago
michi_cc 9b54d5bbd7 (svn r17713) -Cleanup: [OSX] Move variable definitions to first use and apply more coding style. 15 years ago
michi_cc ec90a8778f (svn r17712) -Codechange [FS#1411]: [OSX] Replace undocumented process manager API calls with a documented alternative. (pyth) 15 years ago
michi_cc 8484e08ee0 (svn r17711) -Codechange: [OSX] Don't use deprecated methods to construct a Cocoa string. 15 years ago
michi_cc a831143f45 (svn r17707) -Fix: [OSX] Show the OS mouse cursor when displaying a dialog box if it was hidden. 15 years ago
michi_cc 5f67762a7f (svn r17706) -Codechange: [OSX] Rework the crash handling to use the common CrashLog infrastructure. 15 years ago
michi_cc 10ca710e98 (svn r17702) -Change: [OSX] Assure that the minimal OSX version is defined in all cases.
-Codechange: [OSX] Improve conditional defines for OS version dependant code.
15 years ago
smatz 6c7f8fc8b4 (svn r17701) -Codechange: don't start line with a space if it's not inside comment 15 years ago
rubidium 9d0b10ccda (svn r17583) -Change: make SDL's video driver more likely to be loaded than Allegro's video driver; SDL seems to perform better. 15 years ago
rubidium 9168ddd550 (svn r17438) -Fix (r17428): ofcourse some part of the OSX port would be forgotten due to it being so much different than the rest :( 15 years ago
rubidium bc5241600a (svn r17428) -Codechange: add a function to get the name of a driver 15 years ago
rubidium bc8e66c202 (svn r17336) -Codechange: move some os specific files into src/os/ 15 years ago
rubidium 7fbc33dae1 (svn r17248) -Fix: add GPL license notice where appropriate 15 years ago
rubidium 7fb95e2c2b (svn r17228) -Codechange: some coding style fixes 15 years ago
smatz c5533ae470 (svn r17168) -Codechange: apply coding style to if and while statements 15 years ago
smatz e707c82412 (svn r17131) -Codechange: apply coding style to some switch statements 15 years ago
rubidium e3c7a77b40 (svn r16827) -Codechange: make OSX specific files include stdafx.h always as the first file. Also unify OSX specific stuff into osx_stdafx.h and remove unused includes. 15 years ago
rubidium 65191b077d (svn r16702) -Change: don't implicitly fall back to the null/dedicated (video) drivers, but show an error message that no driver could be found. You can still explicitly start the null drivers thought. 15 years ago
rubidium c29afac0a7 (svn r16700) -Fix: if allegro fails to start or fails open a window or sound card fall back to another driver 15 years ago
rubidium 791187cd12 (svn r16699) -Fix [FS#3001]: if SDL fails to allocate a surface due to it being too large (and SDL doesn't crash!) fall back to another video driver. 15 years ago
alberth 9b070b5405 (svn r16677) -Codechange: Dimension width and height are unsigned. 15 years ago
alberth bab70a823d (svn r16491) -Codechange: Added parentheses around bitwise operators for code style. 16 years ago
rubidium 9f4d64bda0 (svn r16360) -Codechange: don't use _network_playas as a 'second' _local_company, but only as a storage location for the company you want to join in MP. 16 years ago
rubidium 2664f2a2d9 (svn r16242) -Codechange: rework pausing
-Fix [FS#2864]: autopause and manual pausing conflict with eachother
-Fix: new game + pause on new game + autopause make the game not unpause on the first join
16 years ago
rubidium 5f4eeee5f0 (svn r16221) -Change: support building 64 bits OSX binaries and add optional support for 64 bits binaries in OSX universal binaries. However, do not default to adding 64 bits binaries because benchmarking has shown that they are slower than the 32 bits binaries. 16 years ago
rubidium bee930f9b3 (svn r16024) -Codechange: harden string copying on places where it's possible 16 years ago
rubidium 8293be426c (svn r15892) -Codechange: [OSX] some type fixes so OpenTTD likes more of the 3.1.x Xcodes. 16 years ago
rubidium b25a4f8231 (svn r15718) -Cleanup: apply some comment coding style on the rest of the sources too 16 years ago
rubidium 9d018723b7 (svn r15711) -Codechange: lots of whitespace cleanup/fixes 16 years ago
glx 1692ce8312 (svn r15710) -Fix (r15706): for non MSVC io.h needs to be included before defining unlink. Also remove redundant tchar.h includes as it is already in stdafx.h. 16 years ago
rubidium 86ca408d46 (svn r15626) -Fix [FS#2698]: UTF8 string handling could cause buffer overruns. 16 years ago
yexo 3bb872e7dd (svn r15576) -Codechange: rename SwitchModes to SwitchMode and don't hardcode the values for that enum. 16 years ago
yexo 901230bde1 (svn r15575) -Codechange: Rename GameModes to GameMode and store _game_mode as GameMode instead of as byte. 16 years ago
rubidium a4567f243d (svn r15543) -Change: allow the default debug level of 6 for a dedicated server to be overriden by -d (if used after -D). 16 years ago
smatz 0d3f5e6e74 (svn r15299) -Cleanup: remove many redundant includes 16 years ago
glx a3dc092ebc (svn r15233) -Fix (r15231): compilation with SDL broken on win32 16 years ago
rubidium 48125a6d5f (svn r15232) -Codechange: sprinklin' of coding style 16 years ago
rubidium 4ba90f6887 (svn r15231) -Change: (sdl) check the full screen resolutions to determine what 'valid' resolutions we've got 16 years ago
rubidium eeb38a8e3a (svn r15176) -Fix [FS#2554]: querying the content server could free when resolving the hostname or connecting takes long/is timing out. 16 years ago
rubidium 6e1af6a051 (svn r15156) -Fix: add scrollwheel support to allegro 16 years ago
rubidium 11da45ee55 (svn r14949) -Cleanup: pointer coding style 16 years ago
rubidium cda853872a (svn r14944) -Cleanup: add spaces around some operators 16 years ago
peter1138 6b6fd36050 (svn r14907) -Codechange: Remove 32 character limit from driver/blitter selection and parameters. 16 years ago
rubidium cdec8f6b27 (svn r14641) -Change [Allegro]: when making a debug build revert Allegro's hooks on SIGSEGV/SIGABRT so one can actually use gdb.
-Change: make it more clear that Allegro's failing to find a driver.
16 years ago
rubidium a614dd7174 (svn r14636) -Add: DOS port of OpenTTD, without network support though. 16 years ago
rubidium 34ddda1009 (svn r14632) -Add: support Allegro as midi backend. 16 years ago
rubidium 72124862f0 (svn r14631) -Add: support for Allegro as sound backend. 16 years ago
rubidium 3aacd0a3d5 (svn r14630) -Add: support Allegro as video backend. 16 years ago
rubidium b650a86e58 (svn r14422) -Codechange: also reflect the changes of r14421 in the filenames. 16 years ago
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. 16 years ago
rubidium e7829c1a57 (svn r14414) -Fix: replace instances of strncpy with strecpy as strncpy doesn't guarantee the resulting string is '\0'-terminated. 16 years ago
rubidium 86f1a98ac8 (svn r14397) -Fix: possible buffer overrun, wrong parameter type passed to printf and && where || is meant. Found by MSVC's code analysis (Darkvater) 16 years ago
glx fe5cc9c839 (svn r14363) -Fix [FS#2206]: some keypress combinations could be handled twice 16 years ago
rubidium 3b7ffcf759 (svn r14260) -Fix [FS#2277]: merge keycode for "normal" 0-9 keys and keypad 0-9 keys so people don't get confused that the keypad doesn't work as expected. 16 years ago
rubidium 6b86de13d6 (svn r14200) -Fix (r14199): some OSes failed to compile. Furthermore I hate wrong comments! 16 years ago
rubidium ea1f180a55 (svn r14199) -Codechange: split fileio.h into fileio_type.h and fileio_func.h so not everything that includes saveload.h needs to include everything else too. 16 years ago
glx fbd2db34e6 (svn r14094) -Revert (r14071): caused more problems than it solved 16 years ago
rubidium 20ee6f1158 (svn r14071) -Fix [FS#2057]: the screen wouldn't be centered on Windows multimonitor systems if the first monitor is right of the second one. 16 years ago
rubidium 203b5eed27 (svn r14055) -Codechange: increase buffers for (dedicated) consoles as they couldn't use the full "extent" of the new chat message limit. 16 years ago
rubidium d0c1a989a4 (svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support. 16 years ago
bjarni fbef6535a5 (svn r14032) -Fix (r13584): [OSX] changed the condition for selecting 8 or 32 bpp blitter by default
Now we will pick 32 bpp if no 8 bpp fullscreen resolutions are available on the main display (the one with the dock)
16 years ago
rubidium 6c5f703cf0 (svn r13992) -Fix [FS#2189]: the dedicated console removed any character that was not a printable ASCII character instead. Now it allows UTF8 formated strings too. 16 years ago
glx 4782df757c (svn r13539) -Fix (r13537): signed/unsigned warnings 17 years ago
smatz 2299181c4b (svn r13537) -Fix [FS#2090](r13523): QSortT won't work this way, use Dimension instead of uint16[2] for resolutions 17 years ago
glx ee256e770a (svn r13390) -Codechange: introduce usererror() for fatal but not openttd related errors. Now all error() will 'crash' openttd after showing the message in win32 releases (MSVC), creating a crash.log and crash.dmp (like the '!' hack used before). On the other hand, usererror() will just close the game. So use error() only when it can be helpful to debugging, else use usererror(). 17 years ago
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. 17 years ago
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.
17 years ago
rubidium 6c20f77330 (svn r13228) -Codechange: split console.h. 17 years ago
bjarni 8fea5a62c9 (svn r12985) -Fix (r12977): [OSX] fixed missing includes in the cocoa files 17 years ago
rubidium 402a1e24ba (svn r12977) -Codechange: remove quite some redundant (duplicate) function declarations. 17 years ago
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. 17 years ago
smatz 297f99e100 (svn r12944) -Codechange: use rev.h instead of externs at many places 17 years ago
rubidium c884d82e46 (svn r12796) -Fix: the dedicated blitter did segfault too, like the null blitter did. 17 years ago
rubidium 15242b1784 (svn r12780) -Fix: the null blitter did segfault. 17 years ago
rubidium dde68e922a (svn r12779) -Codechange: remove a few constants from openttd.h. 17 years ago
egladil 8e49daf3e1 (svn r12776) -Fix: [OSX] In some rare cases when using an uncalibrated monitor the system colour space could not be retrieved. Show an error when this happens instead of just trying an assertion. 17 years ago
rubidium 9d8fa486af (svn r12761) -Codechange: lots of minor whitespace coding style fixes around operators. 17 years ago
smatz 8b56e7544e (svn r12167) -Feature(tte): change colour of autorail and autoroad selection when Ctrl is pressed 17 years ago
egladil be6737a2db (svn r12016) -Fix (r12003): os x compilation was broken again ;) 17 years ago
glx fdd71514b2 (svn r12007) -Fix (r12003): win32 compilation was broken again ;) 17 years ago
rubidium fde33b5547 (svn r12003) -Codechange: don't declare InteractiveRandom[Range] in multiple places. 17 years ago
glx 48861a9fae (svn r11841) -Fix: win32 compilation 17 years ago
rubidium 392d59f6a9 (svn r11840) -Codechange: split network.h so not everything in there needs to be included when wanting to know whether we are a server. 17 years ago
rubidium 3ca95f2a85 (svn r11839) -Codechange: move some variables from variables.h to a more logical location. 17 years ago