Commit Graph

137 Commits (e6eede841a0f86b93826b930f2189f50218b3eee)

Author SHA1 Message Date
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
rubidium 3ba802e995 (svn r15556) -Change: don't temporary malloc+free when encoding sprites, just reuse the same piece of allocated memory for each encoding. 16 years ago
rubidium c0a8d09ca7 (svn r15428) -Codechange: consistently use colour instead of having both color and colour. 16 years ago
smatz 5ad1cd32b2 (svn r15324) -Codechange: unify the class used for comparing of strings for std::map 16 years ago
smatz 0d3f5e6e74 (svn r15299) -Cleanup: remove many redundant includes 16 years ago
peter1138 85c0d42616 (svn r14912) -Codechange: Autoprobe 'null' blitter when built as dedicated-only. 16 years ago
peter1138 6b6fd36050 (svn r14907) -Codechange: Remove 32 character limit from driver/blitter selection and parameters. 16 years ago
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. 16 years ago
rubidium c8e8911ef6 (svn r14223) -Codechange: make GetSprite aware of the 4 different types of sprites: fonts, recolour, mapgen and normal sprites. 16 years ago
rubidium 200f405706 (svn r14146) -Codechange: allow palette override in both ways and remove some unneeded '(x == 0) ? 0 : 1' constructs. 16 years ago
glx c10691faff (svn r14080) -Fix (r14052): assert triggered when drawing chat window with 32bpp-anim blitter (backup buffer was too small) 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
belugas a2f590aeec (svn r14016) -Codechange: Remove some magical numbers 16 years ago
smatz 69cb2f088f (svn r13721) -Codechange: one less multiplication for colour mixing in 32bpp blitters (GeekToo) 16 years ago
smatz 1834a2f670 (svn r13640) -Codechange: make colours behind not fully solid objects less darker for BM_TRANSPARENT (for 32bpp blitters) 16 years ago
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.
16 years ago
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
16 years ago
smatz 37b8e87454 (svn r13602) -Codechange: little speedup for 8bpp-optimized blitter 16 years ago
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
16 years ago
smatz 7a7ff65ac5 (svn r13571) -Codechange: define channels in struct Colour in different order on LE and BE machines 16 years ago
smatz bc12e5453c (svn r13568) -Fix (r13564): Windows build asserts where I wouldn't expect it to 16 years ago
smatz cc2f9187cc (svn r13564) -Codechange: do not use SetPixel in PaletteAnimate, access destination directly instead. Makes palette animation ~40% faster. 16 years ago
smatz dedb0033b3 (svn r13551) -Codechange: store offsets to different zoom levels in a distinguished struct instead in the data stream for 8bpp-optimized 16 years ago
smatz 8123d4de11 (svn r13445) -Codechange: make 32bpp_optimized blitter ~10-20% faster in drawing (depends on architecture and compiler) 16 years ago
smatz 0812e2f959 (svn r13354) -Codechange: make 8bpp_optimized blitter ~25% faster in encoding and ~15% faster in drawing (depends on architecture) 16 years ago
smatz ed462507b2 (svn r13351) -Codechange: disable warnings about unused variable for builds without asserts 16 years ago
glx e82bab5323 (svn r13161) -Fix: free the blitter list when the last blitter is removed. 16 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. 16 years ago
rubidium 9d8fa486af (svn r12761) -Codechange: lots of minor whitespace coding style fixes around operators. 16 years ago
rubidium 3ca95f2a85 (svn r11839) -Codechange: move some variables from variables.h to a more logical location. 17 years ago
rubidium d4e6a6bf57 (svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h. 17 years ago
frosch cbe7e5d668 (svn r11813) -Fix [FS#1602]: Switch _screen to the output buffer and disable usage of 32bpp-anim animation buffer during giant screenshots. 17 years ago
rubidium a3ccdcea36 (svn r11777) -Codechange: split the string header and make do not include it when it's not necessary. 17 years ago
rubidium 0b1d3e43e5 (svn r11704) -Codechange: remove another bunch of useless includes. 17 years ago
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' 17 years ago
rubidium bf98e25e43 (svn r11691) -Codechange: move+rename helpers.hpp and only include it when it is really needed. 17 years ago
rubidium a773d45885 (svn r11684) -Codechange: split gfx.h in a type and functional header. 17 years ago
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. 17 years ago
rubidium 01e20c9140 (svn r11674) -Codechange: refactor some functions out of macros.h into more logical locations. 17 years ago
smatz bda9d4a236 (svn r11656) -Codechange: add ZOOM_LVL_BEGIN and postfix operators so ZoomLevel can be used in some iterations 17 years ago
smatz 93c3e0d6ad (svn r11652) -Codechange: add the svn $ header for several files 17 years ago
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 17 years ago
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. 17 years ago
truelight b21093ea8f (svn r11093) -Fix r11092: also add a DEBUG(driver, 1) if the blitter is loaded, to show which one really loaded 17 years ago
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'..) 17 years ago
truelight 1de38b4119 (svn r11083) -Fix r11078: don't clear the anim buffer when alpha = 0 (tnx to frosch) 17 years ago
truelight 8de52c089d (svn r11082) -Fix r11081: save before commit (yeah, whitelines are important too!) 17 years ago
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 17 years ago
truelight ab880fdf07 (svn r11080) -Fix r11079: fix it, still dirty, correctly, as the last commit was ... wrong ;) 17 years ago
truelight 3c31722825 (svn r11079) -Fix: dirty fix to allow big-screenshots with 32bpp-anim 17 years ago
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
17 years ago
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)
17 years ago
truelight 6771f5ca20 (svn r10837) -Fix [FS#1102]: DrawLine didn't bound-check the first pixel that was drawn (frosch) 17 years ago
truelight a2a3b7da24 (svn r10561) -Fix: don't give 'unused variable' warnings when disabling asserts 17 years ago
peter1138 68c6add8cc (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model. 17 years ago
peter1138 b1bad4ab46 (svn r10412) -Codechange: Remove unnecessary inclusion of hal.h in various files (and add one) 17 years ago
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. 17 years ago
rubidium 45ae73e03f (svn r10355) -Fix (r10092): memory leak when encoding (reading) sprites. 17 years ago
truelight 06fded123a (svn r10245) -Codechange: added GetName also to all Blitters, instead of only the Factory 17 years ago
truelight e8f9332af9 (svn r10244) -Fix: make sure to let 32bpp-anim report the increased buffer-size it needs 17 years ago
truelight 1fa725ecae (svn r10242) -Fix: avoid a segfault if you move your mouse at startup with 32bpp-anim 17 years ago
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)
17 years ago
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) 17 years ago
truelight 636db862a5 (svn r10234) -Fix r10233: make peter1138 happy 17 years ago
truelight d7acd238ac (svn r10233) -Fix: 8bpp-optimized encoder fucked up if 255+ pixels in a row were non-transparent (tnx boekabart) 17 years ago
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) 17 years ago
truelight 2a6b7e4e02 (svn r10225) -Codechange: move common Colour routines for 32bpp to the base class (and nick it colour, not color) 17 years ago
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
17 years ago
truelight 9ad02c11c6 (svn r10215) -Fix r10214: forgot 2 cases of the same mistake 17 years ago
truelight b98e0ea648 (svn r10214) -Fix: off-by-one in draw-rect-color-remapping (peter1138) 17 years ago
truelight 26e9b5ca5f (svn r10206) -Codechange: more moving things to blitter-layer: ScrollBuffer 17 years ago
truelight 09879ea308 (svn r10203) -Codechange: more moving things to blitter-layer: DrawLine 17 years ago
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. 17 years ago
truelight f5776a8c6b (svn r10193) -Fix r10190: somehow an other partly-patch was applied too 17 years ago
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
17 years ago
truelight 4185c4afcd (svn r10142) -Fix r10132: do something useful with the alpha channel instead of ignoring it 17 years ago
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
17 years ago
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
17 years ago
peter1138 d1e71eb34e (svn r10113) -Fix (r10092): Missing svn properties and some Id/@file comments 17 years ago
peter1138 28c5730583 (svn r10107) -Fix (r10092): Missing 'i' in 'optimized' 17 years ago
truelight 4ad6639475 (svn r10102) -Documentation: @file header was wrong 17 years ago
truelight d2d25295ce (svn r10101) -Codechange: the class is named 8bppSimple, so name the files like that too 17 years ago
truelight 31ade47910 (svn r10100) -Fix r10093: some code now became obsolete as it never did something 17 years ago
truelight be0f5cf877 (svn r10096) -Fix r10092: freetype bypassed the Blitter::Encode, making fonts look weird 17 years ago
truelight 9d570fa018 (svn r10095) -Fix: avoid reading outside the buffer because of scaling problems 17 years ago
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
17 years ago