Commit Graph

2387 Commits (72123da59d81e8d11d12c5776eb767693bdfebf4)

Author SHA1 Message Date
Cyp 447e5b048a Rename hton functions to make mac happy. (Re: last refactor commit.) 2010-03-16 18:52:23 +01:00
Cyp 9de2f5c0c7 Refactor part of lib/netplay/netplay.c into lib/netplay/netsocket.cpp. 2010-03-16 16:59:49 +01:00
i-nod c1beb1f42b Remove 256 scale value from texture matrix. Closes #1678.
PIE3 format will expect 0.0-1.0 floating points in texture coordinates values.
PIE2 and IMG(GUI textures) formats still using 8-bit integers in texture coordinates values.

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10297 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-16 15:47:55 +01:00
Buginator 19696a3f16 Cleanup main so we only have 1 atexit() call for our system shutdown routine, instead of hiding multiple shutdown routines using atexit() for each.
Currently, we have 1 atexit for our main shutdown routine, and 1 atexit call for the exception handler.



Fix mem leak for mod list.

Also dump allocator stats for MSVC people

2.3: r10251

refs ticket:1673


git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10262 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-14 09:21:16 +01:00
Buginator 584c4f1aee Add new routines for MSVC that allows us to toggle the allocation tracking.
Currently, it is only used in debug builds for strdup().
For release builds, we use _strdup().

This was necessary to prevent reporting of tons of 'memory leaks' caused by strdup(). Mostly caused by all the parsers lack of cleaning up after themselves.

Sample of what it does is shown.  When we don't toggle the allocator, then it is added to the Normal Blocks.  If we do toggle the allocator, then it is added to the CRT Blocks.
0 bytes in 0 Free Blocks means no memory leaks (for this quick loading of a SP mission--we still have LOTS of other leaks!)
I believe you can figure out what the rest of the stats mean.


0 bytes in 0 Free Blocks.
913860 bytes in 1826 Normal Blocks.
18745 bytes in 139 CRT Blocks.
0 bytes in 0 Ignore Blocks.
0 bytes in 0 Client Blocks.
Largest number used: 13564181 bytes.
Total allocations: 283917669 bytes.

2.3: r10250

refs ticket:1673


git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10261 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-14 09:21:16 +01:00
Buginator 90326fcbf0 Fix mem leaks concerning screenshots
2.3: r10249

refs ticket:1673

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10255 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-14 09:21:15 +01:00
Buginator a5f56f6791 Add missing #include(s)
*Note*, all our .c / .cpp files really should have these two includes in it.
#include "lib/framework/wzglobal.h"
#include "lib/framework/frame.h"

First one is for platform specific settings, and the second one is for platform specific functions that we use to override.

2.3: r10236


git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10254 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-14 09:21:15 +01:00
Cyp d9a5af62ad Fix building on mac (should really work this time). Maybe fix building on windows, maybe not, no idea if it was the same issue. 2010-03-11 09:42:38 +01:00
Cyp 21fb1a18ed Fix mac warnings, hopefully (effectively reverting my previous changes to tex.h)... 2010-03-10 23:09:27 +01:00
Cyp 6360e80f25 Try to fix new build warnings and a build error on mac. 2010-03-10 22:55:24 +01:00
Cyp 92199e2a06 Only let host set player position/colour, send new players info about unallocated slots too.
Only letting host set player position/colour probably fixes a race condition occuring if a player changes name while the host moves the player.
Sending new players info about allocated slots fixes some weird cases with inconsistent positions (and missing slots), for example, if moving a player and starting a game, leaving the game (without closing the program), and starting a new game.
2010-03-10 21:08:15 +01:00
Cyp 05575109b5 Try to clean up includes, fix missing extern on declaration of DataHash[]. 2010-03-10 13:31:27 +01:00
i-nod 966cd1676b Fix warnings on MacOS builds that were caused by [10210].
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10211 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-10 08:23:52 +01:00
i-nod dda0f9f77b Enable or disable fog in TCMask shader depending on in-game state. Part of #851. Reviewed by Per.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10210 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-10 08:23:46 +01:00
i-nod 627a6d1860 iViS engine tweaks. Closes #1667.
- Replace glBlend calls with iVis blending wrapper.
- Remove pie_NO_BILINEAR flag and replace it with pie_FORCE_FOG flag.
- Enable fogging for structure baseplate with pie_FORCE_FOG.

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10209 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-09 22:05:42 +01:00
i-nod 1756afb3a1 Fix another 2 warnings on MacOS builds that were caused by [10179].
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10184 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-07 08:34:18 +01:00
i-nod 5c64a642a4 Fix warnings on MacOS builds that were caused by [10179].
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10183 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-07 08:34:18 +01:00
i-nod 4ad78bf9b2 TCMask feature: shaders infrastructure and TCMask shader, FF fallback is supported for TCMask. Part of #851.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10179 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-07 08:34:17 +01:00
i-nod 87f8777a63 TCMask support infrastructure: mask loading and colour retrieval routines. Part of #851.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10178 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-07 08:34:17 +01:00
Cyp afaaf0b6e4 Random minor cleanup. 2010-03-06 23:02:36 +01:00
i-nod 382bfad14b Define PRIu32 conversion macros for MSVC.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10173 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-06 22:59:05 +01:00
Cyp 7a1d9ead68 Replace trig usage with iSin/iCos, etc... Replace dirtyHypot with clean iHypot. Replace MIN(MAX()) with clip().
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10155 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-05 14:43:37 +01:00
Cyp b81d6685ce Replace all use of trigSin/trigCos/trigIntSqrt and SIN/COS with the corresponding new i* functions. Remove the old ones.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10154 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-05 14:43:36 +01:00
Cyp ac48bb876c Replace int16_t casts with an angleDelta function, removing the corresponding 'Cast wrapping intended.' comments.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10153 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-05 10:08:10 +01:00
Cyp 9ad1bba74f Try again at squelching the mac warnings.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10131 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:44 +01:00
Cyp 9f1035b605 A tiny bit more cleanup, try to squelch mac warnings in multigifts.c.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10130 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:44 +01:00
Per Inge Mathisen ce9b2a62ff Change fpathCheck() to use world coordinates to save some conversions. Add new macro worldTile() to complement mapTile() to save some typing.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10125 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:43 +01:00
Cyp 48421325ec More cleanup of units and code. Squelch a couple of mac warnings.
16 files changed, 184 insertions(+), 467 deletions(-)

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10124 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:43 +01:00
Christian Ohm 3cea69221b Fix warning on Macs.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10117 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:43 +01:00
Christian Ohm 0ec360cff8 Fix an uninitialized variable warning on Macs.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10113 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:43 +01:00
Christian Ohm 8fb31151f0 Include/declaration cleanup for src/aud.c, lib/sound/aud.h.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10095 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:39 +01:00
Christian Ohm d5e35cd779 Include/declaration cleanup for src/wrappers.c/h.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10093 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:39 +01:00
Cyp 5a13a31726 Simplify indirect targetting calculations. Improve the sqrt functions.
Mini-rocket arrays should no longer randomly fire high up into the air when the target is at a lower altitude, instead, the velocity should be reduced. (Looking at the code, it seems it was supposed to be a feature, not a bug.)

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10088 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:38 +01:00
Cyp 61efba03b3 Use bigger buffers in registry_load, to avoid stack overflow if a key is longer than 31 bytes.
Probably closes ticket:https://bugs.launchpad.net/ubuntu/+source/warzone2100/+bug/520432

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10086 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:38 +01:00
Cyp 6c811c1ecb More unit changes and cleanup, remove now unused arccos and already unused arcsin tables.
No bugs intentionally fixed.

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10083 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:38 +01:00
Christian Ohm 867ff725d2 Add pal_RGBA and pal_Grey functions.
pal_RGBA returns a PIELIGHT from four r, g, b, a values, pal_Grey is an alias
for pal_SetBrightness. Closes #1644.

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10078 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:37 +01:00
Christian Ohm ce844cf2d1 Don't compare an uint8_t to -1.
In NETallowJoining, there was a whole block of unreachable code because of
this. Warning reported by dak180, patch reviewed by Per.

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10077 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:37 +01:00
Cyp 4dc1b2a681 Fix the game getting completely messed up if anyone changes position or colour, and then someone leaves.
The problem was due to player positions and colours of a slot getting reset when someone leaves, resulting in multiple slots in the same position or with the same colour.
Also, clean up some weird declarations in the wrong place and stuff.

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10068 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:37 +01:00
Per Inge Mathisen 924b6c5169 Changing object rotations to use 16 bit unsigned values instead of the current
mix of signed and floating point types. This allows us to use under and over
flow as features instead of failures. There are many conversions using DEG() and
UNDEG() in the code now - these should be read as TODO items for further work.
There is a high chance of bugs being introduced. Patch reviewed by Cyp_.


git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10067 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:37 +01:00
Cyp 80d7cdb475 Add some better trig lookup table functions, and make updateDroidOrientation use them.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10061 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:36 +01:00
Christian Ohm 4af14d9ec0 Only clear buffers on exit if we still have an OpenGL context.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10057 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:36 +01:00
i-nod f875b678ac Fix MSVC 2008 for the GLee changes in r10028.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10053 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:36 +01:00
Per Inge Mathisen 5f7aea25a3 In preparation for newnet branch, turn object positions into int32 values and
introduce the new typedef Position to hold them. Patch reviewed by Cyp_.


git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10052 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:36 +01:00
Safety0ff 327b684965 Update to r9628: Re-enable face culling after having disabled it for the map preview rather than enabling it each time we draw the 3D scene.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10047 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:35 +01:00
Safety0ff 9da488b14c Update to r9629: Use floats constants instead of ubytes to save on the conversion.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10046 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:35 +01:00
Christian Ohm 3f4eef1b54 Fix makefile.win32 for the GLee changes in r10028.
Thanks to sicanjal for testing.

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10041 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:35 +01:00
Christian Ohm 20017e380c glFlush on exit to reset video mode.
Without this, when running the game fullscreen in a smaller resolution, it
would stay that way on exit. Introduced in r9633, though that is in 2.3 as
well, and this problem only occurred in trunk.

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10035 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:35 +01:00
Christian Ohm 714d2d1b69 Use the system's version of GLee, if available.
Require at least 5.4, since that's what we have included. If not detected, we
use the integrated copy as before.

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10028 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-04 19:07:34 +01:00
Buginator 8ec55a5579 Handle socket clean up, then player cleanup, and then re-init the player who left.
Fixes the issue of seeing leave messages with the default AI color names, instead of the person who left name.

(2.3 r10004)

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10010 4a71c877-e1ca-e34f-864e-861f7616d084
2010-02-25 05:50:39 +01:00
Buginator c402fb2f2a Committed wrong patch for r9992.
When host drops at that point, just close up shop, and set lobby error.

Thanks to Cyp for noticing.

(2.3 r10003)

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10009 4a71c877-e1ca-e34f-864e-861f7616d084
2010-02-25 05:50:39 +01:00