Commit Graph

18 Commits (63f1a935307a6138a4e0d5d4b26f4423e48ac075)

Author SHA1 Message Date
bjarni 9ad9a138ad (svn r4099) -Codechange: [OSX] the cocoa video driver speedup of around 1000% now also applies to Intel macs 19 years ago
egladil 5cec20988d (svn r4083) -Feature: [OSX] Ported r4075 (Undraw the mouse when it leaves the window and Draw it again when it enters). 19 years ago
bjarni cc9b448d7f (svn r4082) -Fix: [OSX] FS#80 Crash when switching from windowed to fullscreen
this bug was introduced in rev 3670, but when undetected for a long time since it was resolution specific
	this is likely the issue with x86 OSX in fullscreen, so I removed the really slow workaround and will clean it up once I get positive feedback from a x86 mac
	this means that x86 OSX should now get the 1000% video driver speed boost as well
	this fix is written by eglandil
19 years ago
bjarni a6b3a519d9 (svn r3971) reverted r3742 as those new errors were not the right way to handle those exceptions 19 years ago
bjarni 4db34f71c3 (svn r3742) -codechange: [OSX] changed an assert to use the new error window and added another two to show if the screen buffer fails for some reason in cocoa driver (instead of just crashing) 19 years ago
bjarni e8f85b50f0 (svn r3741) -Fix: [i686 OSX] reverted the change in rev 3670 for non PowerPC (done with #ifdef) since it appeared to crash intel based macs
This fix is not a good solution and might not work, but if it works, it's better than nothing until we get the real solution
19 years ago
bjarni 6400e07918 (svn r3671) -Code cleanup: fixed style and removed commented out code in video/cocoa_v.m 19 years ago
bjarni aa3e439a68 (svn r3670) -Codechange: [OSX] rewrote a part of the cocoa video driver to speed it up by 1000% in fullscreen
rewrote QZ_DrawScreen to only redraw dirty rectangles (instead of everything)
	This reduce the OpenTTD time spent on this function from 75% to 6,7% (in main menu)
	Note: window mode is unaffected by this commit
	Note: the mouse pointer can now leave artefacts in debug mode
19 years ago
bjarni b6cdb521a1 (svn r3618) -Codechange: [OSX] reduce the time spend in the cocoa video driver
by caching global vars in local vars, the CPU keeps them in registers when looping all pixels on screen
	this reduce reading from RAM, which is much slower (Tron wrote this after I detected that those loops used a lot of time)
	Note: since the reduced time is waiting for the RAM, the actual CPU usage is not reduced.
	This means that it's only detectable while fast forwarding and other situations when OTTD wants to use more than 100% of the CPU time
19 years ago
tron 136cffaf5a (svn r3617) Fix warning introduced in r3616 19 years ago
tron afade61293 (svn r3616) Style sweep 19 years ago
tron 5ac015afc8 (svn r3615) Remove the Quartz key codes from the public cocoa video driver interface 19 years ago
bjarni 8744075a6c (svn r3596) -Codechange: [OSX] changed to use Apple's macros instead of OTTD macros for endian conversion
This increases the execution speed a lot since GCC can't detect the OTTD macro as an endian conversion
	while Apple's code uses the instruction to convert endian instead of a series of instructions to produce the same result

	Since we don't have that many endian conversions in the game, overall performance should not increase noteworthy
19 years ago
bjarni 1b9466802f (svn r3393) -Fix: [OSX] some keyboards had a different scancode for opening the console (egladil) 19 years ago
truelight a1f8309453 (svn r3375) -Add: [ FS#29 ] show an error dialog for OSX cocoa driver (egladil) 19 years ago
peter1138 a7730d4a09 (svn r3288) Set svn properties on cocoa related files, and add Id tag.
Add extern to cocoa sound driver.
19 years ago
bjarni 1adc1738f7 (svn r3286) -Fix: [OSX] 10.2 works again and universal binaries got 10.2 as target by default 19 years ago
bjarni 50a1e16943 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
you can still use SDL drivers if you like and you have to run "make upgradeconf" to start using the cocoa drivers (or manually write WITH_COCOA:=1)
	since SDL breaks the cocoa drivers, you can't compile with both SDL and cocoa support
	Using cocoa drivers makes it easier to make universal binaries and it solves:
	-FS#18 [OSX] SDL is weird in universal binaries
	-FS#2  [OSX] lazy pointer crash on exit
	-FS#10 [OSX] linking error when linking statically to SDL 1.2.8 (needless to explain this, but it means it should be able to compile statically with the default settings now)
	-[ 1215073 ] Switching to large size out of fullscreen crashes
	Using SDL drivers will still have those issues though
19 years ago