Commit Graph

215 Commits

Author SHA1 Message Date
peter1138 4b4e97695f (svn r19965) -Cleanup: Use size of buffer, not magic number. 2010-06-12 10:55:13 +00:00
frosch 9e53f1e004 (svn r19933) -Fix [FS#3804]: Keep _current_company and _local_company in sync during GUI operation. 2010-06-05 13:32:42 +00:00
frosch e864701693 (svn r19861) -Fix (r19814): Silence a warning. 2010-05-19 18:38:18 +00:00
rubidium 062dd0e24c (svn r19814) -Codechange: give some more unnamed enums a name, in case they consisted of unrelated values use static const (u)int 2010-05-13 10:14:29 +00:00
rubidium 465e3be105 (svn r19593) -Codechange: improve loading/executing the desync logs 2010-04-09 17:08:44 +00:00
smatz c5b34444af (svn r19084) -Codechange: minor coding-style fixups 2010-02-10 17:37:47 +00:00
yexo d858264ca6 (svn r19012) -Fix (r19003): macos.h is not in video/cocoa/ but in os/macosx/. 2010-02-04 22:17:41 +00:00
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...
2010-02-04 14:32:12 +00:00
rubidium 82fc28f77f (svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header 2010-01-15 16:41:15 +00:00
rubidium 7aeccb9bd0 (svn r18796) -Fix [FS#3521]: [SDL] possible deadlock when killing OpenTTD while starting it 2010-01-13 21:34:48 +00:00
rubidium 9c579a5adf (svn r18792) -Fix [FS#3522] (r18709): crash when using the 32bpp blitter with a dedicated server 2010-01-12 18:09:48 +00:00
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. 2010-01-12 09:54:18 +00:00
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. 2010-01-04 02:32:36 +00:00
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) 2009-12-20 16:10:44 +00:00
rubidium c811f3bd21 (svn r18547) -Fix [FS#3388]: missing thread synchronisation when changing the resolution for SDL via the in game menu 2009-12-19 19:29:01 +00:00
frosch 29d6491605 (svn r18545) -Fix [FS#3292]: Assign '_screen.dst_ptr' as soon as it is allocated. 2009-12-19 18:46:40 +00:00
peter1138 3addf58f30 (svn r18390) -Fix (r17776): [SDL] Reinstate pointer update on 'idle' loop. 2009-12-03 08:24:39 +00:00
peter1138 b0049500a6 (svn r18177) -Fix (r18001): [SDL] Viewport could jump when mouse moved and right button pressed at the same time. 2009-11-18 23:07:29 +00:00
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. 2009-11-09 16:07:03 +00:00
rubidium cbf4b80b86 (svn r18030) -Fix: screen jumped a bit for at least SDL and Allegro when right-click-dragging 2009-11-09 16:05:24 +00:00
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. 2009-11-07 21:41:41 +00:00
smatz da54a01114 (svn r17950) -Fix (r17776): _draw_mutex was never destroyed, _draw_thread was never joined 2009-11-02 13:36:17 +00:00
smatz dc4b251dbd (svn r17949) -Fix (r17776): unlock mutex before deleting it when creating drawing thread failed 2009-11-02 12:12:13 +00:00
rubidium cfcf3159b2 (svn r17815) -Fix [SDL]: asynchronious drawing caused extra unresponsiveness during map generation; disable the threading while generating a map 2009-10-19 20:32:05 +00:00
michi_cc 144febd2d9 (svn r17793) -Fix: [OSX] The splash image wasn't displayed if the Quartz video driver was used. 2009-10-17 22:36:39 +00:00
rubidium c37029d5e1 (svn r17787) -Codechange: be a bit more verbose about while allegro failed with some actions. 2009-10-17 14:39:43 +00:00
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.
2009-10-15 17:41:06 +00:00
rubidium 7341834430 (svn r17773) -Cleanup: sdl.h isn't needed for allegro 2009-10-14 08:14:57 +00:00
michi_cc 2b7e242872 (svn r17768) -Fix (r17715): [OSX] Newer GCC versions don't like jumping over variable definitions with goto's. (planetmaker) 2009-10-12 00:19:11 +00:00
michi_cc d900b0d628 (svn r17717) -Codechange: [OSX] Replace deprecated variable type. 2009-10-04 21:39:12 +00:00
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. 2009-10-04 21:39:08 +00:00
michi_cc dbb13fd856 (svn r17715) -Cleanup: [OSX] And a final round of coding style and some cleaning. 2009-10-04 21:36:26 +00:00
michi_cc ba6866128d (svn r17714) -Cleanup: [OSX] Apply more coding style. 2009-10-04 21:36:22 +00:00
michi_cc 9b54d5bbd7 (svn r17713) -Cleanup: [OSX] Move variable definitions to first use and apply more coding style. 2009-10-04 21:36:17 +00:00
michi_cc ec90a8778f (svn r17712) -Codechange [FS#1411]: [OSX] Replace undocumented process manager API calls with a documented alternative. (pyth) 2009-10-04 21:33:36 +00:00
michi_cc 8484e08ee0 (svn r17711) -Codechange: [OSX] Don't use deprecated methods to construct a Cocoa string. 2009-10-04 21:33:31 +00:00
michi_cc a831143f45 (svn r17707) -Fix: [OSX] Show the OS mouse cursor when displaying a dialog box if it was hidden. 2009-10-04 21:08:34 +00:00
michi_cc 5f67762a7f (svn r17706) -Codechange: [OSX] Rework the crash handling to use the common CrashLog infrastructure. 2009-10-04 21:08:30 +00:00
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.
2009-10-04 20:53:22 +00:00
smatz 6c7f8fc8b4 (svn r17701) -Codechange: don't start line with a space if it's not inside comment 2009-10-04 20:51:50 +00:00
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. 2009-09-20 10:19:13 +00:00
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 :( 2009-09-06 23:12:25 +00:00
rubidium bc5241600a (svn r17428) -Codechange: add a function to get the name of a driver 2009-09-05 21:26:51 +00:00
rubidium bc8e66c202 (svn r17336) -Codechange: move some os specific files into src/os/ 2009-08-31 22:38:37 +00:00
rubidium 7fbc33dae1 (svn r17248) -Fix: add GPL license notice where appropriate 2009-08-21 20:21:05 +00:00
rubidium 7fb95e2c2b (svn r17228) -Codechange: some coding style fixes 2009-08-20 10:23:39 +00:00
smatz c5533ae470 (svn r17168) -Codechange: apply coding style to if and while statements 2009-08-14 17:11:59 +00:00
smatz e707c82412 (svn r17131) -Codechange: apply coding style to some switch statements 2009-08-09 14:40:34 +00:00
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. 2009-07-14 16:43:45 +00:00
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. 2009-06-30 16:20:16 +00:00