Commit Graph

210 Commits (cb104448071171c32a01e6d34b1e491e095ed208)

Author SHA1 Message Date
smatz 6d92880bb3 (svn r19084) -Codechange: minor coding-style fixups 15 years ago
yexo 0cd9bc27de (svn r19012) -Fix (r19003): macos.h is not in video/cocoa/ but in os/macosx/. 15 years ago
rubidium d53ec3d1b6 (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 9467b7c6d6 (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 f83ccb60c7 (svn r18796) -Fix [FS#3521]: [SDL] possible deadlock when killing OpenTTD while starting it 15 years ago
rubidium 3bd247017e (svn r18792) -Fix [FS#3522] (r18709): crash when using the 32bpp blitter with a dedicated server 15 years ago
peter1138 694470e325 (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 ebe260f575 (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 73cd818445 (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 bc5d452e82 (svn r18547) -Fix [FS#3388]: missing thread synchronisation when changing the resolution for SDL via the in game menu 15 years ago
frosch 440ab2cf84 (svn r18545) -Fix [FS#3292]: Assign '_screen.dst_ptr' as soon as it is allocated. 15 years ago
peter1138 57bcb5f903 (svn r18390) -Fix (r17776): [SDL] Reinstate pointer update on 'idle' loop. 15 years ago
peter1138 dece4a4cfb (svn r18177) -Fix (r18001): [SDL] Viewport could jump when mouse moved and right button pressed at the same time. 15 years ago
rubidium 639395b69f (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 b3394dbeb4 (svn r18030) -Fix: screen jumped a bit for at least SDL and Allegro when right-click-dragging 15 years ago
peter1138 0314ad1a38 (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 c2f0845b92 (svn r17950) -Fix (r17776): _draw_mutex was never destroyed, _draw_thread was never joined 15 years ago
smatz bb56cd39b6 (svn r17949) -Fix (r17776): unlock mutex before deleting it when creating drawing thread failed 15 years ago
rubidium 8e1f62993d (svn r17815) -Fix [SDL]: asynchronious drawing caused extra unresponsiveness during map generation; disable the threading while generating a map 15 years ago
michi_cc c1f6dc4342 (svn r17793) -Fix: [OSX] The splash image wasn't displayed if the Quartz video driver was used. 15 years ago
rubidium 9e75e3db68 (svn r17787) -Codechange: be a bit more verbose about while allegro failed with some actions. 15 years ago
rubidium 0307d13d0a (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 2508e6b907 (svn r17773) -Cleanup: sdl.h isn't needed for allegro 15 years ago
michi_cc 8a097b48d7 (svn r17768) -Fix (r17715): [OSX] Newer GCC versions don't like jumping over variable definitions with goto's. (planetmaker) 15 years ago
michi_cc a3b1717282 (svn r17717) -Codechange: [OSX] Replace deprecated variable type. 15 years ago
michi_cc f4f5387537 (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 375fd4b2cf (svn r17715) -Cleanup: [OSX] And a final round of coding style and some cleaning. 15 years ago
michi_cc 997f1c191a (svn r17714) -Cleanup: [OSX] Apply more coding style. 15 years ago
michi_cc c477544b92 (svn r17713) -Cleanup: [OSX] Move variable definitions to first use and apply more coding style. 15 years ago
michi_cc 9e3be2ff33 (svn r17712) -Codechange [FS#1411]: [OSX] Replace undocumented process manager API calls with a documented alternative. (pyth) 15 years ago
michi_cc 3bf4f13f3b (svn r17711) -Codechange: [OSX] Don't use deprecated methods to construct a Cocoa string. 15 years ago
michi_cc 434bd81ef0 (svn r17707) -Fix: [OSX] Show the OS mouse cursor when displaying a dialog box if it was hidden. 15 years ago
michi_cc 83e1f7358f (svn r17706) -Codechange: [OSX] Rework the crash handling to use the common CrashLog infrastructure. 15 years ago
michi_cc e583861798 (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 fa937901cb (svn r17701) -Codechange: don't start line with a space if it's not inside comment 15 years ago
rubidium d560807ab5 (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 ef42e87e31 (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 ad201e5a00 (svn r17428) -Codechange: add a function to get the name of a driver 15 years ago
rubidium 19b83eb5aa (svn r17336) -Codechange: move some os specific files into src/os/ 15 years ago
rubidium 99d46e0ad7 (svn r17248) -Fix: add GPL license notice where appropriate 15 years ago
rubidium c096e3d54c (svn r17228) -Codechange: some coding style fixes 15 years ago
smatz d64bdb138c (svn r17168) -Codechange: apply coding style to if and while statements 15 years ago
smatz 073e163b7f (svn r17131) -Codechange: apply coding style to some switch statements 15 years ago
rubidium 2f6f510452 (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 54c52f4401 (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 f0693ed0c8 (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 231626f98c (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 c52fe937d5 (svn r16677) -Codechange: Dimension width and height are unsigned. 15 years ago
alberth 580e478e4e (svn r16491) -Codechange: Added parentheses around bitwise operators for code style. 15 years ago
rubidium 789999ecf3 (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. 15 years ago