Commit Graph

126 Commits (ec4867f2976c0688be4b6e047d72c31b00c6ce2a)

Author SHA1 Message Date
Per Inge Mathisen ae2c501b8f Use power-of-two texture for radar again. Fixes support for ancient gfx cards.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5530 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-13 18:10:58 +00:00
Dennis Schridde a3ff407679 Rename VectorXY_Set to VectorXY_New and make it conform to API of the other vector functions
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5223 4a71c877-e1ca-e34f-864e-861f7616d084
2008-06-06 22:21:18 +00:00
Per Inge Mathisen d6d6a9919e Commit API only from patch #907: Make texture coordinates into static array.
This fixes a bug with maps smaller than max visible tiles area which would
either crash or create seams, re-reported by Buginator.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5134 4a71c877-e1ca-e34f-864e-861f7616d084
2008-05-17 21:48:23 +00:00
Per Inge Mathisen bdb6bf9ef0 Silence compiler complaints about memory leaks in tile drawing code.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4992 4a71c877-e1ca-e34f-864e-861f7616d084
2008-05-09 18:13:03 +00:00
Giel van Schijndel 4a17aeeec7 * Delete unused and empty function StartTacticalScroll()
* Mark the parameters for several functions as WZ_DECL_UNUSED (for those functions that require the parameter as part of their interface)


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4701 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-20 17:17:50 +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 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 10f2ccfd56 TRUE->true, FALSE->false (except in scripts)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4311 4a71c877-e1ca-e34f-864e-861f7616d084
2008-03-24 16:51:17 +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
Per Inge Mathisen 1b9ef4f995 Remove hardcoded map visibility size from the ivis_opengl code.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4103 4a71c877-e1ca-e34f-864e-861f7616d084
2008-03-16 11:05:08 +00:00
Per Inge Mathisen a71086a039 Prune dead code, and do not bother to dynamically allocate memory to save 12 bytes per polygon.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4037 4a71c877-e1ca-e34f-864e-861f7616d084
2008-03-13 20:46:29 +00:00
Per Inge Mathisen d5687a6bce Only set the colour for a model once, not once for every vertex. It does not vary.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4036 4a71c877-e1ca-e34f-864e-861f7616d084
2008-03-13 20:10:57 +00:00
Per Inge Mathisen 7693909947 Kill oddball type TERRAIN_VERTEXF (never used for terrain!) and reduce copying some more.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4035 4a71c877-e1ca-e34f-864e-861f7616d084
2008-03-13 20:03:50 +00:00
Per Inge Mathisen 3bcd4f7d1d Kill PIEPOLY and reduce a lot of silly copying of variables back and forth for each polygon.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4033 4a71c877-e1ca-e34f-864e-861f7616d084
2008-03-13 19:44:57 +00:00
Per Inge Mathisen a8f88483ac Fix bug in OpenGL lighting mode which would mess up GUI. Also do not
recalculate the surface normal for every polygon for every frame! It
is already calculated when we load the PIE model, so let's use it.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4032 4a71c877-e1ca-e34f-864e-861f7616d084
2008-03-13 19:09:44 +00:00
Per Inge Mathisen 5f31a354f3 Do not enable and disable GL_LIGHTING for every polygon when lighting mode is enabled.
Reorganize the drawing code a bit to make it more obvious how the calls go.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4031 4a71c877-e1ca-e34f-864e-861f7616d084
2008-03-13 18:52:09 +00:00
Per Inge Mathisen 4b7f572ba4 Simplify pie_Polygon() since we never draw polygons of less than 3 vertices.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4030 4a71c877-e1ca-e34f-864e-861f7616d084
2008-03-13 18:32:45 +00:00
Per Inge Mathisen f9d2a9152d Remove PIE_ALPHA. Revert most of r4023, since some parts of the drawing code
did not handle alpha blending too well, and blended solids in some cases.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4025 4a71c877-e1ca-e34f-864e-861f7616d084
2008-03-12 21:07:26 +00:00
Per Inge Mathisen 169e5bcc42 Drastically reduce the number of (spurious) state changes per frame.
Doubles frames per second drawn here.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4024 4a71c877-e1ca-e34f-864e-861f7616d084
2008-03-12 20:14:25 +00:00
Dennis Schridde a3284e7a7d Port r3921 till r3924:
- Move VISIBLE_XTILES from src/ to lib/ivis_common/, so we don't have to hardcore mapview sizes in piedraw.c...
- Make INTERFACE_DEPTH/MAX_Z int, since that's what they are used as.
- Remove unused defines
- Less fog and more shadows


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3926 4a71c877-e1ca-e34f-864e-861f7616d084
2008-03-05 19:30:29 +00:00
Per Inge Mathisen 683d9deb2e Replace check_extension with one that does not anger valgrind.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3766 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-12 18:57:20 +00:00
Giel van Schijndel 722303eb84 Turn a lot of already-available function documentation comments into Doxygen documentation
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3739 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-10 15:44:53 +00:00
Per Inge Mathisen 54bcf0cde5 Remove completely mistaken comment from the original code. Textures use
0 to 256 range of texture coordinates, and the width of the texture should
therefore not be used to deduce wrap around point for texture animation.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3719 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-08 17:58:37 +00:00
Per Inge Mathisen 20620668ef Move pie_DrawRect into narrower scope, move in some duplicated calling code, and make it static.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3689 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-04 16:58:18 +00:00
Per Inge Mathisen b1ef18e61d Kill unused PIESTYLE struct and parameter.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3688 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-04 16:55:56 +00:00
Dennis Schridde 751d0809c5 Use new VectorX_Compare instead of old VectorX_compare which I'll remove shortly.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3587 4a71c877-e1ca-e34f-864e-861f7616d084
2008-01-28 00:27:21 +00:00
Per Inge Mathisen 877ac6456c Add lots of doxygenized comments.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3230 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-29 22:34:41 +00:00
Per Inge Mathisen fae5745233 Remove unused function pie_DrawImageFileID. Rename pie_SetColourKeyedBlack to
pie_SetAlphaTest, and do not enable it while drawing the ordinary terrain.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3189 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-27 01:05:37 +00:00
Per Inge Mathisen 53aa930d6e Turn IMD min and max dimensions into vectors.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3111 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-21 17:34:23 +00:00
Per Inge Mathisen e0c450b415 Remove excess display related code.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3062 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-15 12:18:56 +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 53f11c391f Add a new vector field to the PIELIGHT union, and send colours to OpenGL
as arrays rather than as individual bytes.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3019 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-09 17:41:00 +00:00
Per Inge Mathisen 76840b01d2 Large PIELIGHT cleanup. Also cleans up tile drawing logic somewhat.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3006 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-09 00:33:03 +00:00
Per Inge Mathisen 8d48c5fdd1 Partial conversion from 0.0->1.0 texture coordinate range. For now only terrain
textures are converted. Once they are done, the texture matrix hack is restored.
Thanks to devurandom and cybersphinx for help and previous efforts in this area.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2980 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-05 18:54:17 +00:00
Per Inge Mathisen 4bbf490aca Change the rendering of the normal terrain to use vertex arrays. We still
recalculate everything each turn. See patch #865.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2939 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-01 17:07:03 +00:00
Dennis Schridde d75b63cdb3 Cleanup water-moving:
- Remove now unnecessary offset parameter from pie_DrawTerrainTriangle
- Move GL code from display3d.c to piematrix.c


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2935 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-01 16:43:28 +00:00
Per Inge Mathisen fcf0fc8d21 More colour cleanup.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2886 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-25 22:38:22 +00:00
Per Inge Mathisen 7713623a64 Remove unused bilinear mode.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2883 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-25 21:47:57 +00:00
Per Inge Mathisen 4e25b2d0fe Make more use of PIELIGHT.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2880 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-25 21:15:08 +00:00
Dennis Schridde 9cc0a628c1 Do parts of the proposed changes in "[Warzone-dev] build issues in FreeBSD system" by Yaroslav Kolomiyets from 24.10.2006:
- SDL header includes don't use SDL/ anymore (raw Makefiles and MSVC Project adapted).


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2863 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-24 11:49:51 +00:00
Per Inge Mathisen 50e99ae933 Remove unused pietexture.c|h files and references.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2820 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-14 19:51:04 +00:00
Per Inge Mathisen ff13be0b96 Do not disable lighting if it was never enabled in the first place, to avoid
doing unnecessary OpenGL state changes. Also make sure we turn off normalization.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2778 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-10 13:56:14 +00:00
Per Inge Mathisen e624663f40 Now that we draw water in a separate pass, we can reduce the number of state changes a lot.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2704 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-04 13:26:04 +00:00
Per Inge Mathisen 6e19e51118 Replace int x,y,z in TERRAIN_VERTEX with a Vector2i, and fix two cases of
type punned pointer casts.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2670 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-29 22:00:55 +00:00
Per Inge Mathisen b99feff92f Merge PIEVERTEX and SVMESH into TERRAIN_VERTEX and use struct assignment instead of memcpy on it.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2668 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-29 21:41:38 +00:00
Per Inge Mathisen 70718282a4 Fix shadows looking bad from opposite view direction of shadows, and fix
memory leak in shadow code reported in bug #10190.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2659 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-29 18:52:43 +00:00
Per Inge Mathisen 94421b5b56 Clean up LOG_3D
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2634 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-27 13:58:01 +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
Per Inge Mathisen ce56538fba Revert commit r2258 which made texture coordinates into floating point. It
caused bug #9631, wrong team colours displayed.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2292 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-30 20:20:06 +00:00
Dennis Schridde 723f9bfaa1 Use float texture coordinates in the range 0.0-1.0.
Any fixes, if necessary, should be applied on loading.
In the image code (IMAGEDEF) this did not work, so OLD_TEXTURE_SIZE_FIX is applied during rendering.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2258 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-29 13:32:21 +00:00