summaryrefslogtreecommitdiff
path: root/gfx.c
AgeCommit message (Collapse)Author
2007-01-02(svn r7759) -Merge: makefile rewrite. This merge features:rubidium
- A proper ./configure, so everything needs to be configured only once, not for every make. - Usage of makedepend when available. This greatly reduces the time needed for generating the dependencies. - A generator for all project files. There is a single file with sources, which is used to generate Makefiles and the project files for MSVC. - Proper support for OSX universal binaries. - Object files for non-MSVC compiles are also placed in separate directories, making is faster to switch between debug and release compiles and it does not touch the directory with the source files. - Functionality to make a bundle of all needed files for for example a nightly or distribution of a binary with all needed GRFs and language files. Note: as this merge moves almost all files, it is recommended to make a backup of your working copy before updating your working copy.
2006-12-27(svn r7580) -Fix (r7182): UTF8-merge changed the string handling a bit, now ↵Darkvater
the str pointer for control characters is at the next character, so take value and THEN increase pointer, not the other way around. This bug could result in incorrect bb's computed for strings.
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