summaryrefslogtreecommitdiff
path: root/gfx.c
AgeCommit message (Collapse)Author
2006-12-26(svn r7565) -Codechange: Rework DEBUG functionality. Look for appropiate ↵Darkvater
debugging levels to use in debug.h. grfmsg() is now used as a specific debug-function for grf.
2006-12-03(svn r7332) -Fix: segmentation fault, discovered by ln-, in the SDL video ↵rubidium
driver when one goes to fullscreen and there are no suitable resolutions.
2006-11-24(svn r7254) -Fix (r7250): move unicode glyph map initialisation to just ↵peter1138
before newgrf files are loaded, else newgrf glyphs will be cleared out too. (thanks Hadez)
2006-11-24(svn r7250) -Codechange: Shuffle sprite loading and character width caching ↵peter1138
around a bit. This reduces the number of times the sprites are loaded from 5 to 2, just for the intro game.
2006-11-16(svn r7182) -Feature: Merge utf8 branch. This brings us support for ↵peter1138
Unicode/UTF-8 and the option for fonts rendered by FreeType. Language changes to come.
2006-10-27(svn r6957) -Cleanup: comments, coding styleDarkvater
2006-10-27(svn r6953) -Codechange: Change FormatStringLinebreaks in such a way that if ↵Darkvater
no whitespace was seen for the 'current line' of a certain maximum width, the string will be truncated instead of the old behaviour which just left it alone.
2006-10-24(svn r6938) -Codechange: Comments, typo, variable naming, whitespace, ↵Darkvater
strecpy and simplification of order_gui (only disable a single widget if not local player, all others aren't visible anyways).
2006-10-23(svn r6908) - Codechange: Modify DrawStringMultiLine() to return the number ↵peter1138
of pixel lines used, and use it for drawing NewGRF additional text (mart3p)
2006-10-21(svn r6884) -Codechange: Add strict bounds checking in string formatting system.Darkvater
The last parameter should point to the end of the buffer (eg lastof(buf)) Courtesy of Tron.
2006-10-12(svn r6743) -Fix (r6462): When determining string length for ↵Darkvater
GetStringBoundingBox SETX and SETXY parameters were wrongly accounted for. The identifier itself was taken not the amount.
2006-09-16(svn r6463) -Fix (r6462): Reset the string width to zero on every new line ↵Darkvater
of course...
2006-09-16(svn r6462) -Codechange: Have GetStringWidth() return width as well as the ↵Darkvater
height bounding box of the string. Therefore rename the function to GetStringBoundingRect() and have it return a BoundingRect type of width/height
2006-09-05(svn r6404) -Fix: GetStringWidth failed to calculate correct string width if ↵Darkvater
the string contained newlines.
2006-09-02(svn r6351) -Fix: Due to some off-by-one errors the width or height of a ↵tron
clipping rectangle could become 0, which isn't sensible. This should fix a very rare and hard to trigger assertion in GfxFillRect()
2006-09-02(svn r6347) Undotron
2006-09-02(svn r6346) -Codechange: Remove redundant assignmenttron
2006-09-02(svn r6303) -Codechange: Remove dead codetron
2006-09-02(svn r6302) -Codechange: Remove dead code paths, because the lowest bit of ↵tron
Sprite::info is never unset
2006-09-02(svn r6301) -Codechange: if () cascades -> switch ()tron
2006-08-29(svn r6209) Move DrawFrameRect() out of gfx.[ch], because it uses data ↵tron
(_color_list) which the renderer shouldn't have know about
2006-08-28(svn r6184) Remove the unused (because it was NULL in all callers) second ↵tron
parameter of FillDrawPixelInfo() and simplify some expressions
2006-08-28(svn r6183) Move GetDrawStringPlayerColor() out of gfx.[ch]tron
2006-08-28(svn r6180) Use a switch instead of function pointers to choose the blittertron
2006-08-22(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. ↵rubidium
whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
2006-08-20(svn r5967) -Change: use right alignment for the year in the player's ↵rubidium
balance window instead of centering (about) 'string width' / 2 from the right edge
2006-08-19(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:truelight
- New optional landscape generator (TerraGenesis Perlin) - Load heightmaps (either BMP or PNG) - Progress dialog while generating worlds (no longer a 'hanging' screen) - New dialogs for NewGame, Create Scenario and Play Heightmap - Easier to configure your landscape - More things to configure (tree-placer, ..) - Speedup of world generation - New console command 'restart': restart the map EXACTLY as it was when you first started it (needs a game made after or with this commit) - New console command 'getseed': get the seed of your map and share it with others (of course only works with generated maps) - Many new, world generation related, things - Many internal cleanups and rewrites Many tnx to those people who helped making this: Belugas, DaleStan, glx, KUDr, RichK67, Rubidium, and TrueLight (alfabetic) Many tnx to those who helped testing: Arnau, Bjarni, and tokai (alfabetic) And to all other people who helped testing and sending comments / bugs Stats: 673 lines changed, 3534 new lines, 79 new strings
2006-07-26(svn r5609) CodeChange : Apply coding stylebelugas
2006-05-09(svn r4802) - Codechange: replace _stringwidth_base and associated magic ↵peter1138
numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed.
2006-05-09(svn r4793) - Replace list of magic numbers (characters that don't exist) ↵peter1138
with a call to SpriteExists(), when building the character width cache.
2006-03-24(svn r4075) - Feature: Undraw the mouse when it leaves the window and Draw ↵Darkvater
it again when it enters. Added both for WIN32 and SDL. Since Win95 has troubles with TrackMouseEvent(), this function was just simply rewritten which was the easiest. Based on a patch by DmitryKo.
2006-03-18(svn r3940) - FS#56 [Crash] Missing glyph(s) in big-font. Added several ↵Darkvater
missing glyphs for the big font.
2006-02-03(svn r3529) - Fix: [ 1415782 ] crash in string code with openbsd/zaurus; ↵Darkvater
alignment issues (thanks Tron for the help)
2006-02-01(svn r3511) More whitespace ([FS#46] by Rubidium)tron
2005-12-14(svn r3298) Remove unused and write-only variablestron
2005-11-16(svn r3200) Remove the unused function GfxScalePalette() and the unused ↵tron
struct WorldSprite
2005-11-16(svn r3191) Move declaration and definition of _dbg_screen_rect to a place ↵tron
where it somewhat makes sense and wrap them in #ifdef _DEBUG
2005-11-15(svn r3187) Simplify overly complicated ifs, especially if (foo) return ↵tron
false; else return true; is confusing
2005-11-14(svn r3181) -Bracingtron
-Indentation -Whitespace -DeMorgan's Law -Test with NULL or 0 for non-booleans -'\0' instead of 0 for chars -Remove redundantly redundant comments (like DoFoo(); // Do foo) -Join multiple short lines with a single statement -Split single lines with multiple statements -Avoid assignments in if
2005-11-14(svn r3177) GB, CLRBIT, HASBIT, TOGGLEBITtron
2005-11-13(svn r3176) Use proper types, not some variants of inttron
2005-11-13(svn r3173) Use the trinary operator and switch to improve readabilitytron
Also align short cases nicely
2005-10-22(svn r3077) static, const, bracing, indentation, 0 -> '\0'/NULL, typos in ↵tron
comments, excess empty lines, minor other changes nothing spectacular, just some stuff, which piled up
2005-09-18(svn r2962) - const correctness for all Get* functions and most Draw* ↵Darkvater
functions that don't change their pointer parameters - change a lot of byte player types to PlayerID - beautify header files, same "#endif /* filename */" ending
2005-09-15(svn r2955) Fix: make ottd start with the last resolution you had set ↵Darkvater
(custom) (win32)
2005-09-10(svn r2937) Add sprites for {, |, } and ~tron
2005-09-10(svn r2933) Implement the non-breaking spacetron
2005-09-08(svn r2924) Introduce the ALIGN() macro which aligns values to multiples of ↵tron
a power of 2, for exact semantics see the commment in macros.h
2005-08-27(svn r2893) Two chars got assigned a width of 0 since r2879, fix that ↵tron
([1274302])'
2005-08-20(svn r2879) Major step twoards ISO-8859-15tron
Add several missing chars: - Š/š (S with hacek, all sizes) - Ž/ž (Z with hacek, all sizes) - Œ/œ (OE ligature, all sizes) - Ð/ð (eth, large font was missing) - Þ/þ (thorn, large font was missing) - º (male ordinal sign, all sizes) Also move Ÿ (Y with umlaut, all sizes) to the correct position in the charset To add some chars it was necessary to shuffle some OTTD specific chars (arrows, transport type markers) around