Commit Graph

166 Commits (1ff5fc34c64edc42be41ac510f59965a7f7a6693)

Author SHA1 Message Date
Cyp c28316c5c7 newnet: Don't bother sending synch messages unless actually out of synch.
If it ain't broke, don't use up bandwidth trying to fix it.
2010-07-10 18:08:06 +02:00
Cyp 0b0e986ec6 Merge remote branch 'origin/master' into newnet
Conflicts:
	lib/gamelib/gtime.c
	lib/netplay/netplay.c
	macosx/Warzone.xcodeproj/project.pbxproj
	src/multiint.c
	src/multisync.c
2010-06-26 22:42:44 +02:00
Per Inge Mathisen 5c654430d4 Final pass closing ticket:1651 remove floating point move precision, turning speed
from float to int. Now all that remains is float in contentious code that need to
be rewritten anyway.


git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@11044 4a71c877-e1ca-e34f-864e-861f7616d084
2010-06-26 21:35:47 +02:00
Buginator 66edd6bdb3 Update MSVC project files to compile newnet
Added /arch:sse2


git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/branches/newnet@10283 4a71c877-e1ca-e34f-864e-861f7616d084
2010-03-14 21:11:15 +01:00
Cyp 239e4e450d newnet: Display icon on desynch or on waiting for players.
Saves having to look at console output to check that the game is in synch.
2010-03-14 13:27:05 +01:00
Cyp 8653631374 src: Undo a warning squelch, seems to be able to cause build errors for some, somehow. 2010-03-13 23:14:47 +01:00
Cyp 7d23dc8d67 newnet: Adjust latency automatically, instead of hardcoded to 400ms. 2010-03-11 17:26:13 +01:00
Cyp 153712cb5e newnet: Clean up warnings, warning free build with -O2. Enable the same warnings for C and C++, where applicable. 2010-03-05 20:01:51 +01:00
Cyp 79f5ef2f7a Merge remote branch 'origin/master' into newnet
Conflicts:
	lib/netplay/netplay.c
	lib/netplay/netplay.h
	lib/netplay/nettypes.c
	lib/netplay/nettypes.h
	src/multibot.c
	src/multistruct.c
	src/multisync.c
	src/order.c
	src/orderdef.h
	src/wavecast.cpp
2010-03-05 16:09:21 +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
Cyp bfb9250937 newnet: Send CRCs of syncDebug strings, not the strings themselves.
syncDebug should now be useful, even over a slow network.
2010-02-25 14:46:35 +01:00
Cyp 853d87580b newnet: Fix some selectedPlayer abuse. 2010-02-23 09:13:13 +01:00
Cyp 8f2e94bb48 Merge remote branch 'origin/master' into newnet
Conflicts:
	lib/netplay/netplay.c
	src/multiint.c
	src/multiopt.c
2010-02-22 10:43:24 +01:00
Cyp 36a6036b9f newnet: Fix corner case which resulted in updating before all messages had arrived. Make NET_FIREUP start the game before processing more messages (fixes case where one client is running under valgrind, or is just very very slow). 2010-02-21 16:51:20 +01:00
Cyp 8c5712e6cb newnet: Move checking for NET_ and GAME_ messages from the middle of an update to before deciding whether to update, fixes doing half of an update too soon on some clients. Fix droid synch messages going out of synch.
A few groups of patrolling trucks belonging to different players, and bumping into each other all the time stay in synch for several minutes, at least if not doing unsynchronised actions such as building new trucks (adding a lot of trucks, before ordering any of them to patrol is fine). They seem to get stuck in traffic jams, but at least they are synchronised traffic jams.
2010-02-20 12:19:10 +01:00
Christian Ohm d6416c34eb Return 0 in the various _lex_destroy int functions.
Original patch by Seismo (WarningC4716(_2).patch).

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@9884 4a71c877-e1ca-e34f-864e-861f7616d084
2010-02-20 00:50:15 +01:00
Cyp f978943eb6 newnet: Fix the host mixing up broadcast messages with messsages to the host, by making NetQueue even more message-oriented. Use -Wall -Werror on C++ files too, and fix the corresponding werrors. Don't use gameRand() from scripts, since the scripts are apparently only executed on the host. Add syncDebug() log function, which is only printed, if it would print different things on different clients. 2010-02-16 23:02:27 +01:00
Cyp 33790b11a2 newnet: Rename all messages that go into game queues from NET_BLAH to GAME_BLAH, remove unused messages, and assert that the right messages go into the right kinds of queues. 2010-02-15 20:56:58 +01:00
Cyp 864b830a44 newnet: Don't wait for dropped players to send NET_GAME_TIME. Add more comments and cleanup. 2010-02-15 20:56:58 +01:00
Cyp d1ba8c087b newnet: Remove extra game queue, added due to misunderstanding. 2010-02-15 20:56:57 +01:00
Cyp e9e30bcb27 newnet: Synch game queues, and play them back at the same rate on all clients. Multiplayer now "works" as it did before, with the advantage that it will be possible to remove the bMultiMessages hacks and implement real multiplayer support.
I even tested that campaign, skirmish, saving and loading still works.
2010-02-15 20:56:57 +01:00
i-nod cec20aae6a - NSIS changes from 2.3 (#1111).
- Additional fixes to [9642]: remove old-1.10-balance.wz instead of origianl.wz.
- MinGW build system updates.

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@9727 4a71c877-e1ca-e34f-864e-861f7616d084
2010-02-09 20:28:16 +01:00
Cyp abe95f17ff logical: Bump updates per second to 10, since 3 was just for testing.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@9668 4a71c877-e1ca-e34f-864e-861f7616d084
2010-02-09 20:28:09 +01:00
Cyp 709e9c677d logical: Fix droid legs disappearing during first update interval.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@9665 4a71c877-e1ca-e34f-864e-861f7616d084
2010-02-09 20:28:08 +01:00
Cyp f6cff80f6b logical: Completely use graphics time for effects.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@9663 4a71c877-e1ca-e34f-864e-861f7616d084
2010-02-09 20:28:08 +01:00
Cyp 162157ef5a logical: Rename some things. Fix when not updating fast enough.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@9659 4a71c877-e1ca-e34f-864e-861f7616d084
2010-02-09 20:28:07 +01:00
Cyp 92225b6b18 logical: Make some projectiles animated in-flight.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@9656 4a71c877-e1ca-e34f-864e-861f7616d084
2010-02-09 20:28:05 +01:00
Cyp a99ef4ba19 logical: Logical updates.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@9655 4a71c877-e1ca-e34f-864e-861f7616d084
2010-02-09 20:28:05 +01:00
Guangcong Luo 255506d4b6 Correctly calculate frameTimeFraction2 - fix bug #482, among many other bugs.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@9461 4a71c877-e1ca-e34f-864e-861f7616d084
2010-02-09 20:27:41 +01:00
Guangcong Luo b5471fc186 Calculate gameTime2 using the correct time offset (fixes strange animations on some nonstandard game speeds).
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@9279 4a71c877-e1ca-e34f-864e-861f7616d084
2010-02-09 20:27:12 +01:00
Guangcong Luo bf1541a626 Fix typo in gtime.c
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@9266 4a71c877-e1ca-e34f-864e-861f7616d084
2010-02-09 20:27:11 +01:00
Guangcong Luo 5da6588fb0 Initialize timeOffset correctly.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@9258 4a71c877-e1ca-e34f-864e-861f7616d084
2010-02-09 20:27:09 +01:00
Guangcong Luo dabc178157 Some hacks to paper over the time travel bug.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@9257 4a71c877-e1ca-e34f-864e-861f7616d084
2010-02-09 20:27:09 +01:00
Guangcong Luo cf8265e6c8 An assert to figure out why time travel is occurring.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@9250 4a71c877-e1ca-e34f-864e-861f7616d084
2010-02-09 20:27:08 +01:00
Buginator 0aff0b46cf Add a new debug flag type, LOG_FATAL.
This is used to differentiate LOG_ERROR (which is a *non* fatal error, but a error none the less) and fatal errors which result in program termination with no *visible* output (on windows/macs) on our end because of the crappy GUI functions so we usually dump it to stderr.txt and there is no clue that the program had to exit for whatever reason.

Hopefully, this will be helpful to windows people so they can differentiate between *our* exit/abort routines, and crashes that occur in drivers which look exactly the same since they get dumped back to the desktop with no visible clue why.

LOG_FATAL is *always* on in both debug & release builds.

On LOG_FATAL debug lines, on windows, we now throw up a modal dialog box with the current error message.  At this time, this only happens when we have a error, and we use abort() right after the error, which makes it fatal.

That explains why this touches ~60 files :)


git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@8320 4a71c877-e1ca-e34f-864e-861f7616d084
2009-11-22 16:19:51 +01:00
Buginator 51a28557b9 Make sure pointer is valid before attempting to remove it from the list.
Remove more useless abort()s.

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7688 4a71c877-e1ca-e34f-864e-861f7616d084
2009-06-09 23:44:24 +02:00
Per Inge Mathisen 8c16a47ef0 Fix broken sources after 'make clean' in tarball generated by 'make dist'. Reported by 'JimPansen' in the forums.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7671 4a71c877-e1ca-e34f-864e-861f7616d084
2009-06-09 23:44:11 +02:00
Per Inge Mathisen 870c18b66d Make sure game time variables are properly initialized first time we refer to them. Detected by valgrind.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7318 4a71c877-e1ca-e34f-864e-861f7616d084
2009-05-06 22:29:39 +02:00
Per Inge Mathisen 5da9b30f7d Fix missing files in makefiles so that 'make dist' can be run again.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6792 4a71c877-e1ca-e34f-864e-861f7616d084
2009-03-07 18:09:58 +00:00
Guangcong Luo 1f5ab803ed Updated MinGW32 makefiles; fix "multiple half-tracks" bug.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6639 4a71c877-e1ca-e34f-864e-861f7616d084
2009-02-15 05:49:09 +00:00
Buginator 55d3044f15 Updated MSVC project & solution file(s).
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6637 4a71c877-e1ca-e34f-864e-861f7616d084
2009-02-15 05:42:09 +00:00
Dennis Schridde aac41748dc Bump copyright
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6617 4a71c877-e1ca-e34f-864e-861f7616d084
2009-02-10 18:01:48 +00:00
Dennis Schridde fcca92459c We no longer need to respect 8-char filename limits, be clear in naming instead
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6616 4a71c877-e1ca-e34f-864e-861f7616d084
2009-02-10 17:23:23 +00:00
Dennis Schridde 52b07e9cf0 Move piefixedpoint.h and pievector.h out of ivis, since they are quite generic
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6615 4a71c877-e1ca-e34f-864e-861f7616d084
2009-02-10 17:23:18 +00:00
Dennis Schridde cbbc58d1e9 Move files which extend a c std library header to a filename of similar name
Extension functions dealing with ...
 * strings are in string_ext.h
 * stdio (namely printf variants) are in stdio_ext.h
 * math are in math_ext.h

These headers are no longer included by frame.h

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6613 4a71c877-e1ca-e34f-864e-861f7616d084
2009-02-10 17:23:09 +00:00
Giel van Schijndel 1538c2af41 * Don't use an yyerror implementation with printf-format parsing for parsers/lexers that don't use it
- This reduces the complexity of those functions ''significantly''
 * Mark yyerror functions with printf formatting with WZ_DECL_FORMAT(printf, ...)

(@trunk = the original intented target for r6430)

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6432 4a71c877-e1ca-e34f-864e-861f7616d084
2008-12-04 12:58:42 +00:00
Giel van Schijndel cb2ec762e2 * Change animObj_Remove such that it doesn't set the passed in ANIM_OBJECT* pointer to NULL (i.e. a ** pointer was passed)
* Instead rely on setting that pointer to NULL in the client code that calls animObj_Remove in the first place
  - This was already done in all but one case where animObj_Remove was called

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6180 4a71c877-e1ca-e34f-864e-861f7616d084
2008-10-16 17:40:58 +00:00
Giel van Schijndel 29d7c7abfd Fix the raw win32 makefile system which got broken in r6144 and r6145:
* The lexers depend on the parser's headers so make sure to compile the parsers first
 * Move a misplaced line-wrapping backslash in src/makefile.win32


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6153 4a71c877-e1ca-e34f-864e-861f7616d084
2008-10-14 18:28:21 +00:00
Giel van Schijndel 810fac209b * Wrap all file lists in the automake and win32 makefiles across lines such that there's only one file on each line
* Alphabetically sort the file lists

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6144 4a71c877-e1ca-e34f-864e-861f7616d084
2008-10-13 13:04:37 +00:00
Giel van Schijndel 4c19888cba * Move the fixed point cruft used for representation of degrees and some matrix math into a seperate header: piefixedpoint.h
* Update the autotools, win32 makefiles, Code::Blocks and MSVC build systems

NOTE: Xcode will need an update for this


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5761 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-03 16:04:41 +00:00