summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/fontwrapper-ft.h
Commit message (Collapse)AuthorAgeFilesLines
* Android port.frogbotherer2012-09-081-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2 files are added to the root of the repository: * AndroidAppSettings.cfg: settings file required for Android SDL port. Will change on each minor release to reset configuration. * AndroidBuild.sh: script called by the Android SDL port to commence building the game itself It might be nice to be able to move them elsewhere, but for now, their presence here is required. The build process is documented in docs/develop/android.txt There's a TOUCH_UI compiler flag which sets all the things specific to a touch screen interface. There has been a large amount of changes in the Makefile for redefining where the dat/, saves/, etc. directories go, because the "install" part of the make isn't the final destination for these files under Android - the environment we deploy to is a separate device from the build environment. There is also a number of changes to the tiles interface. Some are specific to the TOUCH_UI, but others are also changed in USE_TILE_LOCAL. Touch only: * 'a'bilities menu goes straight to menu without prompting first * tap menu header to toggle/submit * menu instead of prompt to select which corpse to butcher * same for eating food from the floor (those 2 could go in local tiles too) * show_more defaults to false and less --more-- messages * pickup mode defaults to menu * defaults for tile_layout_priority is different (commands are more important than inventory) * popup for yes/no prompts, level-up stat gain and swapping rings (should be used for all prompts, and probably local tiles too) * spell casting: force selection menu * map mode: left-click rather than right-click for mouse mode; autotravel on left-click removed * remove skills training and memorisation panels Also local tiles (some could also be integrated in webtiles): * commands below description are clickable * clickable shopping menu (uses PrecisionMenu) * split the command panel in 2 (common actions and system commands) * add a map command panel * tapping or left-clicking the player is smarter: * picks up the item if there's one on the tile, otherwise * shows pick-up menu if there's several items on the tile, otherwise * traverses stairs (or enters a portal or shop) if one is present, otherwise * prays if an altar is present, otherwise * waits one turn * right-clicking the map enters map mode and brings the map commands tab to the front; map mode stays until exited rather than upon release of mouse Some more details can be found in android_patch_notes.txt on #5677 (although some TODOs are already obsolete). Signed-off-by: Raphael Langella <raphael.langella@gmail.com>
* Use std namespace.Raphael Langella2012-08-261-3/+3
| | | | | | | | | | | | | I had to rename distance() (in coord.h) to distance2() because it conflicts with the STL function to compare 2 iterators. Not a bad change given how it returns the square of the distance anyway. I also had to rename the message global variable (in message.cc) to buffer. I tried to fix and improve the coding style has much as I could, but I probably missed a few given how huge and tedious it is. I also didn't touch crawl-gdb.py, and the stuff in prebuilt, rltiles/tool and util/levcomp.*, because I have no clue about those.
* Don't crash on font rendering when there's anything outside ascender..descender.frogbotherer2012-07-281-3/+8
| | | | | | | This worked for DejaVu Sans, but failed on a number of other fonts. (cherry picked from commit e0ba98f9c56185d8bc650df4df9d49b4bb428e4b) [commit message rewritten -- 1KB]
* Force a flush if we get 255 glyph substitutions in a text block.Adam Borowski2012-07-091-0/+4
|
* Fix some type confusion.Adam Borowski2012-07-091-5/+5
| | | | | While ucs_t happens to be "unsigned int" inside, labelling some random indices this way is likely to introduce errors in the future.
* Fix assumptions about char signedness.Adam Borowski2012-07-091-3/+3
|
* Evict glyph loading to a separate function.Adam Borowski2012-07-091-0/+1
| | | | It got unmanageably large.
* more efficient font rendering using glTexSubImage2Dfrogbotherer2012-07-081-1/+0
|
* improved unicode support with more efficient use of texturesfrogbotherer2012-06-251-3/+12
|
* added proper unicode support at the cost of some memory overheadfrogbotherer2012-06-251-2/+25
| | | | | | | | | | | | | | | | The maximum number of glyphs is fixed at 256, (which is enough for languages with latin-like characters), but is easily increased via some constants in fontwrapper-ft.cc, with a memory trade-off. Features of this code: - any character in the font can be rendered - if crawl tries to render more than the max number of glyphs, it will crash - if crawl tries to render a glyph not in the font, an upside-down question mark will be printed instead - for each fontwrapper instance (font face, size and attributes), this keeps an array of pixels and an equivalent texture in memory for 256 possible glyphs. This is why increasing the number of available glyphs pushes memory use up
* First prototype of webtiles.Florian Diebold2011-06-261-2/+2
| | | | | | Conflicts: crawl-ref/source/startup.cc
* Let tiles output our UTF-8 encoded strings -- only the ISO-8859-1 subset for ↵Adam Borowski2010-09-271-2/+2
| | | | | | now. Word wrapping is yet to be corrected, just like in other UIs.
* Reuse the same buffer when drawing fonts.Enne Walker2010-05-141-0/+1
| | | | Don't alloc/delete every time a string is drawn.
* Comment cleanup.Enne Walker2010-04-241-2/+3
|
* General coding standards update.Enne Walker2010-04-241-24/+24
| | | | | | No spaces on parens. Line up function params. Sort includes more rationally. Put curly braces on their own line. Don't C-style typedef enum and structs. Put if-clauses on their own line.
* Declaired certain member functions const.Ixtli2010-04-241-7/+7
|
* Created FontWrapper, and made FT flag in makefile.Ixtli2010-04-241-0/+100