summaryrefslogtreecommitdiff
path: root/src/gfx.cpp
AgeCommit message (Collapse)Author
2008-01-01(svn r11734) -Change: Allow ToggleFullScreen to return the result of the ↵belugas
operation' attempt. Previously, only visual clues were available. -Fix[FS#1519]: When you can not use this resolution at full screen, now you'll know that it failed. As for the reason it did not work, each computer/OS has its reason.
2007-12-25(svn r11692) -Codechange: move some functions from 'functions.h' to a more ↵rubidium
logical place and remove about 50% of the includes of 'functions.h'
2007-12-23(svn r11684) -Codechange: split gfx.h in a type and functional header.rubidium
2007-12-22(svn r11682) -Codechange: move some 'generic' geometry related types into a ↵rubidium
single file and do not include gfx.h everywhere to get a Point type.
2007-12-21(svn r11675) -Codechange: split the string types from the string functions.rubidium
2007-12-21(svn r11674) -Codechange: refactor some functions out of macros.h into more ↵rubidium
logical locations.
2007-11-19(svn r11481) -Codechange: Rename the HASBIT function to fit with the naming ↵skidd13
style
2007-11-19(svn r11480) -Codechange: Rename the function ALIGN fitting to the naming styleskidd13
This fixes also FS#1450
2007-11-04(svn r11374) -Codechange: Give meaning to the magical number that specifies ↵belugas
the color of the text in a DrawString call. Patch heavily based on BiBB's work (FS#1383)
2007-10-05(svn r11212) -Codechange: add support for drawing parts of sprites. Patch by ↵rubidium
frosch.
2007-09-28(svn r11182) -Fix [FS#1261] (r11174): bounding boxes caused crashes when ↵rubidium
zoomed out. Patch by SmatZ.
2007-09-26(svn r11174) -Codechange: add possibility to show the bounding boxes of ↵rubidium
sprites using CTRL-B so one can get a better understanding of the used bounding boxes to fix the glitches that still exist. Patch by frosch. Note that this is not completely glitch free, bounding boxes sometimes aren't removed properly. This is due to the fact that the bounding boxes sometimes are larger than the sprite, which causes a smaller part than the bounding box to be redrawn. This is NOT a bug, but a known implementation limit as we do not want to slow down normal games so the debug graphics are always 100% correct.
2007-09-09(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting ↵rubidium
subsystem. Patch by Progman.
2007-08-19(svn r10932) -Codechange: replace "text" with "chat" for the chat related ↵rubidium
function and variables.
2007-08-07(svn r10820) -Codechange: make negative currencies red and restore the ↵rubidium
colour from before the currency was printed; this removes the need to make two strings for printing currencies (one for positive currencies and one for negative currencies). -Fix [FS#1036]: do not use green for currencies as it is practically unreadable on CRT monitors.
2007-08-04(svn r10781) -Fix: ported more pieces to WinCE, so it compiles a bit moretruelight
-Fix: WinCE doesn't support console -Fix: Set debug lvl4 when running a debug WinCE build (as you can't give parameters any easy way)
2007-08-03(svn r10761) -Fix (FS#1101, r10216): _pal_last_dirty changed to ↵glx
_pal_count_dirty without updating, so it was of by one
2007-07-29(svn r10725) -Codechange: move some window related code out of gfx.cpp to ↵rubidium
windows.cpp
2007-07-29(svn r10724) -Fix (r10723): Toolbar spacing was off-by-onepeter1138
2007-07-29(svn r10723) -Codechange: dynamically sized (width) main toolbars and status ↵rubidium
bar for when the window becomes less than 640 pixels in width.
2007-07-05(svn r10444) -Codechange: switch to c++ classes and inheritance for ↵peter1138
sound/music/video drivers, using self-registration based on the blitter-model.
2007-06-22(svn r10276) -Codechange: made a counter based on milliseconds and ↵truelight
independent of the game-state to base double-click and TGP Generation Process on -Codechange: renamed _timer_counter to _palette_animation_counter, as that is what it is
2007-06-21(svn r10255) -Codechange: remove some old debug code nobody was using anymoretruelight
2007-06-21(svn r10254) -Feature: loading indicator, which shows in % how full a ↵truelight
vehicle is while loading/unloading (TheJosh)
2007-06-21(svn r10241) -Codechange: CopyToBuffer now produces a buffer that is ↵truelight
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-19(svn r10220) -Fix r10216: even more fuck-ups for non-SDL video backendstruelight
2007-06-19(svn r10216) -Fix: palette animation always redid all palette entries, where ↵truelight
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-18(svn r10206) -Codechange: more moving things to blitter-layer: ScrollBuffertruelight
2007-06-18(svn r10203) -Codechange: more moving things to blitter-layer: DrawLinetruelight
2007-06-18(svn r10201) -Codechange: Replace Blitter::SetHorizontalLine with ↵peter1138
Blitter::DrawRect, as the former was only used by the rectangle drawing code anyway. This lets us draw rectangles in one go.
2007-06-17(svn r10190) -Codechange: merged renderer and blitter to one single class ↵truelight
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-13(svn r10132) -Codechange: split out the last direct video-buffer read access ↵truelight
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-12(svn r10121) -Codechange: split renderer from rest of code; no longer any ↵truelight
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-11(svn r10092) -Codechange: code-seperated the spriteloader and blitter from ↵truelight
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-08(svn r10070) -Fix: fix the rounding problem of zoom-levels in zoom.hpp, so ↵truelight
it is global for every call
2007-06-05(svn r10043) -Change: make templates of the blitters, based on zoom and ↵truelight
mode, which makes the optimizing better, and therefor a higher blitter speed (tnx boekabart) -Codechange: unify the MainBlitter a bit more
2007-05-19(svn r9884) -Feature: 2 new zoom-out levels: 8 times and 16 timestruelight
-Codechange: unified the blitter function so we have 1 function for all zoom-levels -Codechange: make most of the label functions work with zoom-level instead of magic numbers and big switches per zoom-level -Codechange: MakeXXXDirty() functions didn't take into account zoom-level, but just used the biggest possible value -Codechange: simplified blitter functions to avoid code duplication
2007-05-15(svn r9846) -Codechange: introduced ZOOM_LVL_MIN and ZOOM_LVL_MAX for the ↵truelight
obvious reasons -Codechange: introduced ZOOM_LVL_DETAIL to show/remove details -Codechange: changed << and >> operator with ZoomLevel to a simple wrapper (that in theory also allows zoom-in besides the current zoom-out) -Fix r9845: missed some int -> ZoomLevel
2007-05-15(svn r9844) -Codechange: replace zoomlevel with an enumtruelight
-Codechange: use predefined enums for viewport zoomlevels
2007-05-14(svn r9835) -Codechange: use Pixel typedef instead of byte where ever possibletruelight
2007-04-18(svn r9672) -Cleanup: lots of coding style fixes around operands.rubidium
2007-04-17(svn r9662) -Documentation: Doxygen corrections and @file omissionsbelugas
2007-04-17(svn r9654) -Fix: Add string colours for the DOS palette and use them when ↵maedhros
playing with the DOS data files.
2007-03-26(svn r9472) -Fix (r9449): num is the number of newlines in the string, not ↵maedhros
the number of lines. Also allow for maxh being negative.
2007-03-25(svn r9449) -Fix: Truncate the newgrf information text in the newgrf gui if ↵maedhros
it's too long.
2007-03-22(svn r9400) -Codechange: Use some more representative enum names for ↵belugas
landscape types.
2007-03-07(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};rubidium
2007-03-07(svn r9050) -Codechange: Foo(void) -> Foo()rubidium
2007-03-06(svn r9034) -Codechange: renamed _pause to _pause_game, as some targets ↵truelight
already have a symbol called _pause (and therefor our variable conflicts with thatone. We shouldn't be using _ as global indicator.....)
2007-03-05(svn r9012) -Fix/Feature (UTF8): When cutting strings into multiple lines ↵Darkvater
also take into consideration whitespace characters of more than 1 byte length (eg IDEOGRAPHIC SPACE, IsWhitespace() function). When trimming such strings, account for multiple-byte long sequences so use *Utf8PrevChar(v) = '\0'. -Codechange: Add a function Utf8TrimString() that properly trims a string to an UTF8 encoding seperation instead of somewhere in the wild (and use it in the chat area)