smatz
1834a2f670
(svn r13640) -Codechange: make colours behind not fully solid objects less darker for BM_TRANSPARENT (for 32bpp blitters)
17 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.
17 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
17 years ago
smatz
37b8e87454
(svn r13602) -Codechange: little speedup for 8bpp-optimized blitter
17 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
17 years ago
smatz
7a7ff65ac5
(svn r13571) -Codechange: define channels in struct Colour in different order on LE and BE machines
17 years ago
smatz
bc12e5453c
(svn r13568) -Fix (r13564): Windows build asserts where I wouldn't expect it to
17 years ago
smatz
cc2f9187cc
(svn r13564) -Codechange: do not use SetPixel in PaletteAnimate, access destination directly instead. Makes palette animation ~40% faster.
17 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
17 years ago
smatz
8123d4de11
(svn r13445) -Codechange: make 32bpp_optimized blitter ~10-20% faster in drawing (depends on architecture and compiler)
17 years ago
smatz
0812e2f959
(svn r13354) -Codechange: make 8bpp_optimized blitter ~25% faster in encoding and ~15% faster in drawing (depends on architecture)
17 years ago
smatz
ed462507b2
(svn r13351) -Codechange: disable warnings about unused variable for builds without asserts
17 years ago
glx
e82bab5323
(svn r13161) -Fix: free the blitter list when the last blitter is removed.
17 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.
17 years ago
rubidium
9d8fa486af
(svn r12761) -Codechange: lots of minor whitespace coding style fixes around operators.
17 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)
18 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.
18 years ago
rubidium
45ae73e03f
(svn r10355) -Fix (r10092): memory leak when encoding (reading) sprites.
18 years ago
truelight
06fded123a
(svn r10245) -Codechange: added GetName also to all Blitters, instead of only the Factory
18 years ago
truelight
e8f9332af9
(svn r10244) -Fix: make sure to let 32bpp-anim report the increased buffer-size it needs
18 years ago
truelight
1fa725ecae
(svn r10242) -Fix: avoid a segfault if you move your mouse at startup with 32bpp-anim
18 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)
18 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)
18 years ago
truelight
636db862a5
(svn r10234) -Fix r10233: make peter1138 happy
18 years ago
truelight
d7acd238ac
(svn r10233) -Fix: 8bpp-optimized encoder fucked up if 255+ pixels in a row were non-transparent (tnx boekabart)
18 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)
18 years ago
truelight
2a6b7e4e02
(svn r10225) -Codechange: move common Colour routines for 32bpp to the base class (and nick it colour, not color)
18 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
18 years ago
truelight
9ad02c11c6
(svn r10215) -Fix r10214: forgot 2 cases of the same mistake
18 years ago
truelight
b98e0ea648
(svn r10214) -Fix: off-by-one in draw-rect-color-remapping (peter1138)
18 years ago
truelight
26e9b5ca5f
(svn r10206) -Codechange: more moving things to blitter-layer: ScrollBuffer
18 years ago
truelight
09879ea308
(svn r10203) -Codechange: more moving things to blitter-layer: DrawLine
18 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.
18 years ago
truelight
f5776a8c6b
(svn r10193) -Fix r10190: somehow an other partly-patch was applied too
18 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
18 years ago
truelight
4185c4afcd
(svn r10142) -Fix r10132: do something useful with the alpha channel instead of ignoring it
18 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
18 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
18 years ago
peter1138
d1e71eb34e
(svn r10113) -Fix (r10092): Missing svn properties and some Id/@file comments
18 years ago
peter1138
28c5730583
(svn r10107) -Fix (r10092): Missing 'i' in 'optimized'
18 years ago
truelight
4ad6639475
(svn r10102) -Documentation: @file header was wrong
18 years ago
truelight
d2d25295ce
(svn r10101) -Codechange: the class is named 8bppSimple, so name the files like that too
18 years ago
truelight
31ade47910
(svn r10100) -Fix r10093: some code now became obsolete as it never did something
18 years ago
truelight
be0f5cf877
(svn r10096) -Fix r10092: freetype bypassed the Blitter::Encode, making fonts look weird
18 years ago
truelight
9d570fa018
(svn r10095) -Fix: avoid reading outside the buffer because of scaling problems
18 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
18 years ago