Commit Graph

79 Commits (77d7490ed3e57cfd6acc01267216a7752213af41)

Author SHA1 Message Date
Giel van Schijndel 37c6b31651 * When using a va_list multiple times make sure to va_copy it first
* Because va_copy is C99 provide a fallback for it on non-C99 systems (which assumes that va_list is just a pointer to the stack)

This fixes ticket:50, thanks to Buginator for finding the cause (though this solution is different from his suggestion)


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5930 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-05 19:38:22 +00:00
Per Inge Mathisen cf7c584399 patch #1095: Make font configurable
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5841 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-20 21:23:58 +00:00
Freddie Witherden 5fe6816fdd Fix building on OS X (some bozo forgot to update the Xcode project when adding new .c files). Update the font on OS X to Lucida Grande. Correct Framework install path to allow for moving executables.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5221 4a71c877-e1ca-e34f-864e-861f7616d084
2008-06-06 17:42:21 +00:00
Giel van Schijndel 855ec725d4 Use sstrcpy|sstrcat instead of strlcpy|strlcat for manipulation of statically sized strings
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5176 4a71c877-e1ca-e34f-864e-861f7616d084
2008-05-25 13:46:49 +00:00
Giel van Schijndel 0859814e16 Replace our custom OpenGL extension checking mechanism by GLee:
* import the code from GLee into our repository (a single source and header file), and replace all use of the check_extension function by use of GLee functions
 * Remove function stencil_one_pass and replace all calls to it with `if (GLEE_EXT_stencil_two_side && GLEE_EXT_stencil_wrap)`

Patch from ticket 8 by Buginator (with some minor additions by me)


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4687 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-20 12:52:19 +00:00
Per Inge Mathisen 274ae7c9a4 Enforce strict function prototypes for autoconf builds, and fix function prototype problems.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4487 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-05 15:34:55 +00:00
Per Inge Mathisen be566a7d6d Add -Wcast-align and -Wmissing-declarations to autoconf debug builds, and fix warnings.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4403 4a71c877-e1ca-e34f-864e-861f7616d084
2008-03-28 23:28:44 +00:00
Dennis Schridde b1b2859ea3 New enum TEXPAGE_TYPE, to better control disabling/enabling of texturing. (Changed pie_SetTexturePage accordingly.)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4202 4a71c877-e1ca-e34f-864e-861f7616d084
2008-03-21 14:34:30 +00:00
Dennis Schridde 0c5ecc0efb Fix bug #11277: Strings containing non-ascii characters missing
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4118 4a71c877-e1ca-e34f-864e-861f7616d084
2008-03-17 07:23:48 +00:00
Dennis Schridde a854a84ae1 Port r3912: Replace GLC_ with _glc to prevent confusion and use GLC_UTF8_QSO as string type.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3914 4a71c877-e1ca-e34f-864e-861f7616d084
2008-03-04 15:03:18 +00:00
Dennis Schridde 9b81337df9 Why did QuesoGLC/fontrendering only work on Mac OS X? Because the texture was set conditionaly for it only.
This applies patch #961 correctly and thus closes it.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3867 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-25 21:58:35 +00:00
Giel van Schijndel 72003cf9bf Provide Doxygen documentation for iV_DrawFormattedText() and change its return type to int
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3738 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-10 15:25:20 +00:00
Giel van Schijndel 24ba730bdb * in iV_DrawTextRotated() select the model view matrix and don't depend on that one being selected already
* Also push and pop the model view matrix


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3737 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-10 15:06:23 +00:00
Giel van Schijndel 637edb1f0d * in pie_SetTexturePage() _always_ disable texturing when invoked with a negative parameter
* In iV_DrawTextRotated() use -1 instead of -2 as texturepage (not that it matters anymore what negative number we use, due to the above change)
 * Add some Doxygen documentation to pie_SetTexturePage()


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3736 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-10 15:03:58 +00:00
Ari Johnson adfeb3ab98 Updated Mac OS X port to use QuesoGLC 0.7.0 with a work-around for a
text display bug


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3732 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-09 21:55:02 +00:00
Ari Johnson d075817fce Fixed a typo in the #warning for GLC_TRIANGLE
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3525 4a71c877-e1ca-e34f-864e-861f7616d084
2008-01-20 23:48:00 +00:00
Ari Johnson 47816967a7 Updated Xcode project and some endian fixes; also changed endian_*() calls
to expand to ((void) (x)) on little-endian systems, so that the compiler
will catch little-endian developers who forget to update the endian_*()
calls when they change the names of structure fields.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3205 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-27 23:55:34 +00:00
Ari Johnson 31fc86ee9f Moved a space to match formatting
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3085 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-17 17:22:07 +00:00
Giel van Schijndel f1f1a19be4 * Fix a bug in iV_DrawTextRotatedFv where I used sprintf instead of vsprintf
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3076 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-16 16:02:54 +00:00
Giel van Schijndel 88bf925cb8 * Add functions iV_DrawTextRotatedFv, iV_DrawTextRotatedF, iV_DrawTextFv and iV_DrawTextF to draw text with a printf-like syntax to the screen
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3075 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-16 15:47:55 +00:00
Ari Johnson 0a9bcf08a3 Xcode project can almost build trunk again. This commit allows the project
to download and build the external libraries that Warzone has added since
the last time that trunk would build under Xcode.  The actual game currently
will not build due to other issues, but this is phase 1.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3068 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-15 23:34:51 +00:00
Giel van Schijndel c51bd8ae10 * Get rid of a large quantity of unused parameters
* Turn some signed integers ("int" or "SDWORD") into unsigned integers where it made more sence (and signed integers caused warnings about comparing signed with unsigned integers)
 * At some places cast to an unsigned integer (where the type of the expression is a signed integer but the result of it logically _always_ is an absolute value)
 * Remove unused struct-type EVENT_INIT
 * Convert use of malloc->memcpy->free to one single realloc call (and now make sure to actually check realloc's return value, which wasn't done with the malloc call)


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3037 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-10 23:15:46 +00:00
Per Inge Mathisen 4ddd4c28af Large PIELIGHT cleanup. Please report bad colours.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3017 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-09 16:09:23 +00:00
Giel van Schijndel ec392ef7d4 * Improve the quality of the QuesoGLC error messages produced when fonts cannot be loaded/selected
* When we're unable to select a font face give a warning (LOG_WARNING) instead of an error (LOG_ERROR)


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2992 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-07 19:31:19 +00:00
Giel van Schijndel 6172bdd498 * Refactor space trailing code in textdraw.c such that it is easier to read (also has some comments now which might help...)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2882 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-25 21:43:16 +00:00
Per Inge Mathisen b5fa689b41 Include SDL_opengl.h instead of GL/gl.h for better portability. This is vital
for Mac compilation.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2864 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-24 16:41:00 +00:00
Per Inge Mathisen 49df8ea371 Use GLC_TEXTURE for font rendering. Patch by Bertrand Coconnier in bug #10188.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2646 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-27 19:20:25 +00:00
Per Inge Mathisen e808d83f0c Add comment about quesoglc workaround being fixed upstream as of today.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2645 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-27 19:00:55 +00:00
Giel van Schijndel bd37e62cb2 * Replace a lot of strncat(dst, src, sizeof(dst) - strlen(dst) - 1) calls with the less bloated strlcat(dst, src, sizeof(dst)) form
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2637 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-27 15:47:17 +00:00
Giel van Schijndel 6b4cba1700 * Rename pLevelName to aLevelName (hungarian notation is a pain. Especially when it's wrong!)
* Get rid of several magic numbers
 * Some const correctness
 * Replace a huge amount of strcpy(), strcat(), strncpy() and strncat() calls with a strlcpy() and strlcat() calls respectively


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2635 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-27 14:35:35 +00:00
Per Inge Mathisen 35bd80b426 Add missing braces after conditionals. Please follow proper coding style :-)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2632 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-26 23:29:45 +00:00
Per Inge Mathisen 8885cb207c Try to work around QuesoGLC bug that makes Warzone hang on chat output. Fixes bug #10202.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2631 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-26 23:25:32 +00:00
Giel van Schijndel e06c186bd6 * Replace a _lot_ of strcpy(), strcat() and sprintf() calls with the safer strncpy(), strncat() and snprintf() respectively
* Refactor NETlogEntry() to use the array of strings (packetname[]) instead of a large switch-statement with a lot of copy & pasted code


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2617 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-24 21:11:29 +00:00
Giel van Schijndel 3ebad628ca * Allow QuesoGLC to fall back to a random font when we failed to load any fonts
* This should fix _the_symptoms_ of bug #10117

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2530 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-05 17:06:20 +00:00
Giel van Schijndel 9d9370e13c * Make anti-aliassing of text optional (for slower systems); it's turned on by default though (option "textantialiassing")
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2529 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-04 21:29:16 +00:00
Giel van Schijndel 7835b437e7 * Wait until *after* font-selection (selection occurs after loading) with dumping the font-face list (otherwise an empty font-face list is always shown)
* Dump the font-face list on LOG_NEVER instead of LOG_ERROR
 * Write an error to LOG_ERROR when the required font couldn't be loaded (currently hardcoded as "DejaVu Sans Mono")

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2528 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-04 19:43:38 +00:00
Giel van Schijndel d075832459 * Add font rendering and UTF-8 support through usage of QuesoGLC (an OpenGLC implementation);
* This _will_ require you to install http://quesoglc.sourceforge.net/ on your system to be able to compile (windows binaries are provided on the sourceforge download page as well; just dump them in wz's devpackage directory for now)
 * Currently the font render code is hard-coded to select two fonts: DejaVu Sans Mono regular style (aka "Book") or bold style; if you're package manager doesn't provide these fonts (Debian and derivatives have "ttf-dejavu"), you can get them from http://dejavu.sourceforge.net/

This closes #1 (https://trac.mortis.eu/warzone/ticket/1 I dumped/maintained my patch there)

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2521 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-01 19:45:49 +00:00
Roman C 6daca4513a Fixed a C99-style for loop.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2482 4a71c877-e1ca-e34f-864e-861f7616d084
2007-09-27 12:23:23 +00:00
Giel van Schijndel a8bfacf6ed * Rename iV_DrawText to iV_DrawTextRotated and create a static inline function iV_DrawText which calls iV_DrawTextRotated with rotation=0.f
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2480 4a71c877-e1ca-e34f-864e-861f7616d084
2007-09-25 20:40:56 +00:00
Giel van Schijndel 609d953a63 * Remove forward declarations for undefined functions iV_CreateFont, pie_StartTextExtents and pie_FillTextExtents
* Remove unused functions pie_SetFormattedTextFlags and pie_GetFormattedTextFlags
 * Move constants PIE_TEXT_WHITE_COLOUR, PIE_TEXT_LIGHTBLUE_COLOUR and PIE_TEXT_DARKBLUE_COLOUR from header file to implementation file
 * Remove global var FFlags which only ever had one value (FTEXT_SKIP_TRAILING_SPACES)
 * Remove global var ExtentsMode which only ever had one value (EXTENTS_USEMAXWIDTH) and remove all if-statements which never matched (remove the conditional part from the parts that always matched)
 * Remove #ifdef _TESTBED code since _TESTBED is never defined (not in commented out code either)

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2346 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-06 11:22:31 +00:00
Giel van Schijndel 33354163a9 * rename pie_DrawText and pie_DrawFromattedText to iV_DrawText and iV_DrawFormattedText respectively for consistency's sake (iV_DrawText already existed as a #define "alias")
* replace all usages of iV_DrawText270(...) with iV_DrawTextRotated(..., 270.f) and get rid of MACRO iV_DrawText270


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2333 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-03 13:14:34 +00:00
Giel van Schijndel 4966b22bf5 * remove functions pie_DrawImage270, pie_DrawText270 and pie_TextRender270; which where a whole chain of functions that where just duplicates of the same functions without 270 in their name
* add function iV_DrawTextRotated which uses glTranslatef and glRotatef to change (i.e. rotate) the result of iV_DrawText which it also calls; the translation matrix is later reset using glLoadIdentity() (no pushing&popping of the matrix)


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2330 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-03 11:57:16 +00:00
Giel van Schijndel bf5eaace0a * Fix a compiler warning caused by non-matching const-ness of a (non-pointer) parameter in function iV_GetCharWidth's declaration and implementation
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2329 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-03 11:37:06 +00:00
Giel van Schijndel 9ad346be5c * move some variables into a more local scope (bool GotSpace, NewLine)
* add some comments
 * actually parse newline characters (ASCII_NEWLINE to be precise which is defined as '@' right now, we might want to change this)

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2315 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-01 20:50:27 +00:00
Giel van Schijndel 9814c2eec7 * remove unused flag FTEXTF_SKIP_LEADING_SPACES and all code related to it
* remove "BOOL AddLeadingSpaces" and all code relying on it to be true, since it never would be true
 * turn a while-loop into a for-loop (reduces duplicated code slightly, and increases its readability)
 * merge two nested if's: if (a) { if (b); } => if (a && b)
NOTE: there should be no behavioural changes

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2314 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-01 20:17:23 +00:00
Giel van Schijndel 0733a68c76 * Fix an infinite loop in the text drawing code
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2313 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-01 19:21:04 +00:00
Giel van Schijndel f147f95639 * use static linkage for some global vars and some utility functions
* remove character wrapping code from pie_DrawText (word wrapping code already exists in the only function that ever calls pie_DrawText, so why would we need character wrapping?)

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2312 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-01 18:59:51 +00:00
Giel van Schijndel bc2d70ea16 run `astyle --suffix=none --indent=tab --brackets=break --indent-switches --pad=oper --unpad=paren --min-conditional-indent=0 --mode=c lib/ivis_opengl/textdraw.c`
This is because I got fed up by mixed indentation style (even on the same line!!), and some dozen of different styles sometimes even in the same function (and I don't want to waste my time on style)

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2311 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-01 18:26:56 +00:00
Giel van Schijndel 6ac475282e * remove #ifdef TESTBED code since TESTBED is never defined (not defined by commented out code either)
* fix error in code cutting off trailing spaces where we would cut of everything until a space instead! (oops)

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2310 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-01 18:02:49 +00:00
Giel van Schijndel 473e038691 * remove "left justify append" ability from text drawing code (since it isn't justified; erm used)
* put curly braces on a line of their own
 * general clean up (e.g. moving some variables in a more local scope, giving some more sensible names, etc.)
NOTE: there should be _no_ behavioural changes

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2309 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-01 16:57:41 +00:00