Commit Graph

247 Commits

Author SHA1 Message Date
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 70aad27dcb (svn r18791) -Fix [FS#3504]: when copying an 'image' back into the buffer the 32bpp anim blitter triggered palette check of the whole window instead of only the part the got copied back 2010-01-12 16:38:48 +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
rubidium d6cded5380 (svn r17693) -Cleanup: remove some unneeded includes 2009-10-04 17:16:41 +00:00
rubidium ca91a97826 (svn r17579) -Fix: remove doxygen docs for removed parameters, or change @param to @tparam if necessary 2009-09-19 15:17:47 +00:00
rubidium e8ddf001c8 (svn r17570) -Fix: a number of Doxygen warnings about missing parameters, which were sometimes missing and sometimes just typos 2009-09-19 09:51:14 +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 d703f0c3b5 (svn r16628) -Codechange: remove one gcc2 hack 2009-06-22 23:15:27 +00:00
smatz c03ce4b1c7 (svn r16492) -Remove: support for gcc2. It hasn't been able to compile OTTD for months. All attempts to do another workaround failed. 2009-06-01 11:49:46 +00:00
rubidium b25a4f8231 (svn r15718) -Cleanup: apply some comment coding style on the rest of the sources too 2009-03-15 00:32:18 +00:00
rubidium 9d018723b7 (svn r15711) -Codechange: lots of whitespace cleanup/fixes 2009-03-14 18:16:29 +00:00
rubidium 3ba802e995 (svn r15556) -Change: don't temporary malloc+free when encoding sprites, just reuse the same piece of allocated memory for each encoding. 2009-02-23 17:54:02 +00:00
rubidium c0a8d09ca7 (svn r15428) -Codechange: consistently use colour instead of having both color and colour. 2009-02-09 02:57:15 +00:00
smatz 5ad1cd32b2 (svn r15324) -Codechange: unify the class used for comparing of strings for std::map 2009-02-03 18:08:07 +00:00
smatz 0d3f5e6e74 (svn r15299) -Cleanup: remove many redundant includes 2009-01-31 20:16:06 +00:00
peter1138 85c0d42616 (svn r14912) -Codechange: Autoprobe 'null' blitter when built as dedicated-only. 2009-01-08 14:30:29 +00:00
peter1138 6b6fd36050 (svn r14907) -Codechange: Remove 32 character limit from driver/blitter selection and parameters. 2009-01-08 11:06:07 +00:00
rubidium 0d254e8914 (svn r14540) -Codechange: introduce [v]seprintf which are like [v]snprintf but do return the number of characters written instead of the number of characters that would be written; as size_t is unsigned substraction can cause integer underflows quite quickly. 2008-10-28 14:42:31 +00:00
rubidium c8e8911ef6 (svn r14223) -Codechange: make GetSprite aware of the 4 different types of sprites: fonts, recolour, mapgen and normal sprites. 2008-09-02 15:20:38 +00:00
rubidium 200f405706 (svn r14146) -Codechange: allow palette override in both ways and remove some unneeded '(x == 0) ? 0 : 1' constructs. 2008-08-23 20:16:54 +00:00
glx c10691faff (svn r14080) -Fix (r14052): assert triggered when drawing chat window with 32bpp-anim blitter (backup buffer was too small) 2008-08-15 22:06:58 +00:00
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)
2008-08-09 17:56:31 +00:00
belugas a2f590aeec (svn r14016) -Codechange: Remove some magical numbers 2008-08-08 02:28:28 +00:00
smatz 69cb2f088f (svn r13721) -Codechange: one less multiplication for colour mixing in 32bpp blitters (GeekToo) 2008-07-17 23:43:47 +00:00
smatz 1834a2f670 (svn r13640) -Codechange: make colours behind not fully solid objects less darker for BM_TRANSPARENT (for 32bpp blitters) 2008-06-26 16:47:29 +00:00
smatz 114c820c56 (svn r13639) -Codechange: rewrite 32bpp-anim and 32bpp-optimized drawing and encoding so it uses similiar scheme as 8bpp-optimized
All zoom levels are stored and a kind of RLE is used. Together with further changes and reducing number of variables, drawing is ~50% faster in average.
2008-06-26 15:46:19 +00:00
smatz 61847389d6 (svn r13619) -Codechange: use 'const char *' instead of std::string for blitter and driver names
Removes indirect dependency on <string> for 20 files, reduces binary size by 16kB
2008-06-24 09:15:45 +00:00
smatz 37b8e87454 (svn r13602) -Codechange: little speedup for 8bpp-optimized blitter 2008-06-21 20:58:34 +00:00
bjarni 6bd2d0ffcb (svn r13584) -Fix: [OSX] Fixed issue where 10.5 failed to switch to fullscreen
This is done by selecting the 32bpp-anim blitter by default as it seems Apple removed some 8bpp support
  Since this is done at runtime the same binary will still select 8bpp on 10.3 and 10.4
2008-06-19 17:54:23 +00:00
smatz 7a7ff65ac5 (svn r13571) -Codechange: define channels in struct Colour in different order on LE and BE machines 2008-06-18 21:19:04 +00:00
smatz bc12e5453c (svn r13568) -Fix (r13564): Windows build asserts where I wouldn't expect it to 2008-06-18 20:20:12 +00:00
smatz cc2f9187cc (svn r13564) -Codechange: do not use SetPixel in PaletteAnimate, access destination directly instead. Makes palette animation ~40% faster. 2008-06-18 13:11:02 +00:00
smatz dedb0033b3 (svn r13551) -Codechange: store offsets to different zoom levels in a distinguished struct instead in the data stream for 8bpp-optimized 2008-06-17 17:25:22 +00:00
smatz 8123d4de11 (svn r13445) -Codechange: make 32bpp_optimized blitter ~10-20% faster in drawing (depends on architecture and compiler) 2008-06-10 17:28:37 +00:00
smatz 0812e2f959 (svn r13354) -Codechange: make 8bpp_optimized blitter ~25% faster in encoding and ~15% faster in drawing (depends on architecture) 2008-06-01 19:36:55 +00:00
smatz ed462507b2 (svn r13351) -Codechange: disable warnings about unused variable for builds without asserts 2008-06-01 15:08:14 +00:00
glx e82bab5323 (svn r13161) -Fix: free the blitter list when the last blitter is removed. 2008-05-18 12:47:08 +00:00
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. 2008-05-06 15:11:33 +00:00
rubidium 9d8fa486af (svn r12761) -Codechange: lots of minor whitespace coding style fixes around operators. 2008-04-18 04:37:06 +00:00
rubidium 3ca95f2a85 (svn r11839) -Codechange: move some variables from variables.h to a more logical location. 2008-01-13 21:41:24 +00:00
rubidium d4e6a6bf57 (svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h. 2008-01-13 01:21:35 +00:00
frosch cbe7e5d668 (svn r11813) -Fix [FS#1602]: Switch _screen to the output buffer and disable usage of 32bpp-anim animation buffer during giant screenshots. 2008-01-11 17:12:41 +00:00
rubidium a3ccdcea36 (svn r11777) -Codechange: split the string header and make do not include it when it's not necessary. 2008-01-07 14:23:25 +00:00
rubidium 0b1d3e43e5 (svn r11704) -Codechange: remove another bunch of useless includes. 2007-12-26 23:04:26 +00:00
rubidium 429521a7d1 (svn r11692) -Codechange: move some functions from 'functions.h' to a more logical place and remove about 50% of the includes of 'functions.h' 2007-12-25 11:26:07 +00:00
rubidium bf98e25e43 (svn r11691) -Codechange: move+rename helpers.hpp and only include it when it is really needed. 2007-12-25 09:48:53 +00:00
rubidium a773d45885 (svn r11684) -Codechange: split gfx.h in a type and functional header. 2007-12-23 10:56:02 +00:00
rubidium 8f0e68285b (svn r11682) -Codechange: move some 'generic' geometry related types into a single file and do not include gfx.h everywhere to get a Point type. 2007-12-22 23:30:28 +00:00
rubidium 01e20c9140 (svn r11674) -Codechange: refactor some functions out of macros.h into more logical locations. 2007-12-21 19:21:21 +00:00
smatz bda9d4a236 (svn r11656) -Codechange: add ZOOM_LVL_BEGIN and postfix operators so ZoomLevel can be used in some iterations 2007-12-17 22:04:07 +00:00
smatz 93c3e0d6ad (svn r11652) -Codechange: add the svn $ header for several files 2007-12-17 01:35:45 +00:00
glx 6a83f9141b (svn r11611) -Codechange: it is now possible to use a define to enable asserts and show them in crash.log for MSVC release builds 2007-12-09 21:20:21 +00:00
rubidium 2239809bdc (svn r11169) -Fix [FS#1255]: obiwan in Blitter::Drawline(), which caused it to clip too much at screen/viewport borders. Patch by frosch. 2007-09-26 14:17:26 +00:00
truelight b21093ea8f (svn r11093) -Fix r11092: also add a DEBUG(driver, 1) if the blitter is loaded, to show which one really loaded 2007-09-13 14:44:49 +00:00
truelight f1336fba68 (svn r11092) -Add: allow 'blitter=<value>' in openttd.cfg to set the blitter (so you don't have to keep on doing 'openttd -b 32bpp-optimized'..) 2007-09-13 12:28:53 +00:00
truelight 1de38b4119 (svn r11083) -Fix r11078: don't clear the anim buffer when alpha = 0 (tnx to frosch) 2007-09-10 14:55:46 +00:00
truelight 8de52c089d (svn r11082) -Fix r11081: save before commit (yeah, whitelines are important too!) 2007-09-10 00:05:27 +00:00
truelight fc80e722cf (svn r11081) -Fix r11080: now solved the problem in a pretty way: don't do animation if we are not drawing to the screen-pointer 2007-09-10 00:03:47 +00:00
truelight ab880fdf07 (svn r11080) -Fix r11079: fix it, still dirty, correctly, as the last commit was ... wrong ;) 2007-09-09 23:57:47 +00:00
truelight 3c31722825 (svn r11079) -Fix: dirty fix to allow big-screenshots with 32bpp-anim 2007-09-09 23:47:55 +00:00
truelight 34e48f7886 (svn r11078) -Add: added 32bpp-optimized, which is almost twice as fast as 32bpp-simple (based on the work of frosch)
-Add: let 32bpp-anim use 32bpp-optimizeds, so he profits from the speed-up too
2007-09-09 23:16:01 +00:00
truelight 89bdfaacd9 (svn r11076) -Fix: MakeTransparent of 32bpp blitter used 0..100; using 0..255 makes it much faster (frosch)
-Fix: ComposeColourXXX could work a tiny bit faster when using 256, not 255 as value to divide with; downside is that it can give alpha errors (frosch)
2007-09-09 21:56:52 +00:00
truelight 6771f5ca20 (svn r10837) -Fix [FS#1102]: DrawLine didn't bound-check the first pixel that was drawn (frosch) 2007-08-10 13:11:53 +00:00
truelight a2a3b7da24 (svn r10561) -Fix: don't give 'unused variable' warnings when disabling asserts 2007-07-14 20:21:02 +00:00
peter1138 68c6add8cc (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model. 2007-07-05 12:23:54 +00:00
peter1138 b1bad4ab46 (svn r10412) -Codechange: Remove unnecessary inclusion of hal.h in various files (and add one) 2007-07-03 11:31:38 +00:00
rubidium 67f46b40ab (svn r10358) -Codechange: remove the cargopacket leakchecker as it never asserted in almost a week of stresstesting, so I'm pretty sure all cornercases are tested by now. 2007-06-27 17:19:05 +00:00
rubidium 45ae73e03f (svn r10355) -Fix (r10092): memory leak when encoding (reading) sprites. 2007-06-27 16:41:37 +00:00
truelight 06fded123a (svn r10245) -Codechange: added GetName also to all Blitters, instead of only the Factory 2007-06-21 13:56:59 +00:00
truelight e8f9332af9 (svn r10244) -Fix: make sure to let 32bpp-anim report the increased buffer-size it needs 2007-06-21 13:31:41 +00:00
truelight 1fa725ecae (svn r10242) -Fix: avoid a segfault if you move your mouse at startup with 32bpp-anim 2007-06-21 12:45:41 +00:00
truelight 3fa3d2e365 (svn r10241) -Codechange: CopyToBuffer now produces a buffer that is unreadable from outside the blitter, so the blitter can store anything he likes
-Codechange: added CopyImageToBuffer, which produces a readable buffer for screenshots
-Fix: 32bpp-anim now holds animation on transparent objects to avoid strange graphical effects
-Fix: 32bpp-anim now works correct on mouse-movement (it holds the palette animation correctly)
2007-06-21 12:36:46 +00:00
truelight a982fe2e80 (svn r10235) -Fix: the 32bpp-anim blitter repainted pixel color 0, which is transparency and therefor should never be repainted (spotted by Rubidium) 2007-06-20 12:09:47 +00:00
truelight 636db862a5 (svn r10234) -Fix r10233: make peter1138 happy 2007-06-20 10:30:25 +00:00
truelight d7acd238ac (svn r10233) -Fix: 8bpp-optimized encoder fucked up if 255+ pixels in a row were non-transparent (tnx boekabart) 2007-06-20 10:26:39 +00:00
truelight b2bd361dae (svn r10227) -Add: added 32bpp-anim blitter, a 32bpp blitter that does palette animation (at the cost of an animation-buffer to keep track of the 'm'-channel of all sprites) 2007-06-19 17:43:30 +00:00
truelight 2a6b7e4e02 (svn r10225) -Codechange: move common Colour routines for 32bpp to the base class (and nick it colour, not color) 2007-06-19 17:32:01 +00:00
truelight 1c4760ee06 (svn r10216) -Fix: palette animation always redid all palette entries, where in fact only a few indexes were needed
-Codechange: allow blitters to handle palette animation internally or even disable it; 8bpp uses video-backend for palette animation
2007-06-19 15:04:08 +00:00
truelight 9ad02c11c6 (svn r10215) -Fix r10214: forgot 2 cases of the same mistake 2007-06-19 12:19:31 +00:00
truelight b98e0ea648 (svn r10214) -Fix: off-by-one in draw-rect-color-remapping (peter1138) 2007-06-19 12:18:24 +00:00
truelight 26e9b5ca5f (svn r10206) -Codechange: more moving things to blitter-layer: ScrollBuffer 2007-06-18 20:08:21 +00:00
truelight 09879ea308 (svn r10203) -Codechange: more moving things to blitter-layer: DrawLine 2007-06-18 19:38:23 +00:00
peter1138 c31ff284c3 (svn r10201) -Codechange: Replace Blitter::SetHorizontalLine with Blitter::DrawRect, as the former was only used by the rectangle drawing code anyway. This lets us draw rectangles in one go. 2007-06-18 18:45:12 +00:00
truelight f5776a8c6b (svn r10193) -Fix r10190: somehow an other partly-patch was applied too 2007-06-17 20:47:11 +00:00
truelight 003375d375 (svn r10190) -Codechange: merged renderer and blitter to one single class API: blitter
-Codechange: introduced a hierachy of blitters to avoid a lot of code duplication
 Note: this allows much easier adding other types of video-drivers, like OpenGL
2007-06-17 20:30:28 +00:00
truelight 4185c4afcd (svn r10142) -Fix r10132: do something useful with the alpha channel instead of ignoring it 2007-06-13 16:04:35 +00:00
truelight e7221d1fa9 (svn r10132) -Codechange: split out the last direct video-buffer read access to the blitter-layer
-Add: added a new renderer and blitter to make room for some optimized bpp
-Fix: fill the alpha channel in the grf-spriteloader
2007-06-13 10:31:40 +00:00
truelight f3f744d36a (svn r10121) -Codechange: split renderer from rest of code; no longer any code directly accesses the video-buffer
-Add: added NULL blitter and renderer, which are always used for -vnull
-Add: dedicated driver doesn't blit nor render by default. Can be overruled by user. (-D -b 8bpp-optimized)
-Remove: removed CTRL+D from win32, which is incompatible with above
-Add: extended screenshot support for PNG and BMP
-Codechange: remove all hardcoded 8bpp references and replace them with more dynamic ones
-Codechange: minor stuff in blitters
2007-06-12 20:24:12 +00:00
peter1138 d1e71eb34e (svn r10113) -Fix (r10092): Missing svn properties and some Id/@file comments 2007-06-12 12:27:40 +00:00
peter1138 28c5730583 (svn r10107) -Fix (r10092): Missing 'i' in 'optimized' 2007-06-11 21:17:02 +00:00
truelight 4ad6639475 (svn r10102) -Documentation: @file header was wrong 2007-06-11 15:14:57 +00:00
truelight d2d25295ce (svn r10101) -Codechange: the class is named 8bppSimple, so name the files like that too 2007-06-11 15:13:30 +00:00
truelight 31ade47910 (svn r10100) -Fix r10093: some code now became obsolete as it never did something 2007-06-11 14:45:26 +00:00
truelight be0f5cf877 (svn r10096) -Fix r10092: freetype bypassed the Blitter::Encode, making fonts look weird 2007-06-11 13:38:11 +00:00
truelight 9d570fa018 (svn r10095) -Fix: avoid reading outside the buffer because of scaling problems 2007-06-11 12:51:27 +00:00
truelight 6b101cc177 (svn r10092) -Codechange: code-seperated the spriteloader and blitter from the rest of the code
-Add: make it possible to pick your own blitter (-b <blitter>, -h for overview)
-Add: added a new optimized 8bpp blitter (default, caches sprites of all zoom-levels)
-Add: added a debug 8bpp blitter and a very slow normal 8bpp blitter
2007-06-11 11:50:49 +00:00