Sven Eberhardt
b95d1387a4
Editor: Add "reset to saved scenario" command
2016-09-07 01:53:54 -04:00
Sven Eberhardt
4869eff787
Allow joining to editor games through startup network dialogue
2016-08-10 19:35:39 -04:00
Sven Eberhardt
769fa0fbdc
Do not auto-deactivate clients without players in editor
2016-08-06 22:05:25 -04:00
Sven Eberhardt
5bb204d69b
Qt editor: Fix net menu
...
It didn't work, had the wrong labels and crashed.
2016-08-06 21:12:04 -04:00
Sven Eberhardt
a7aa89f168
Merge branch 'master' into qteditor
...
Conflicts:
planet/Objects.ocd/Structures.ocd/StoneDoor.ocd/SpinWheel.ocd/Script.c
src/platform/C4WindowSDL.cpp
src/script/C4AulParse.cpp
src/script/C4Effect.cpp
2016-06-20 22:27:03 -04:00
Lukas Werling
6bd26b047f
Fix typo
2016-06-03 23:18:44 +02:00
Lukas Werling
4920ed743f
UPnP: Another try for Debian compatibility
2016-06-03 22:16:39 +02:00
Lukas Werling
91e2c137d9
UPnP: Fix compatibility with Debian's old versions
2016-06-03 21:58:19 +02:00
Lukas Werling
b1b72b003a
Do Linux UPnP mappings asynchronously
2016-05-31 18:23:41 +02:00
Lukas Werling
dbaaec268a
Change C4Network2UPnPP forward declaration to class
2016-05-29 23:39:10 +02:00
Lukas Werling
07e8c75bac
Replace libupnp with miniupnpc
...
- The new code works with my router while libupnp didn't. :)
- There are some unexplainable crashes in libupnp: #1640
- Using miniupnpc seems to be less complex than libupnp.
- Apparently, miniupnpc also works on Windows, so we may be able to use
it for all platforms.
Disadvantage: UPnP queries aren't asynchronous anymore, but they seem to
be pretty fast (< 1 s).
2016-05-29 23:38:12 +02:00
Lukas Werling
e33066a4f2
Rename SafeRandom() to UnsyncedRandom()
2016-04-25 17:32:23 +02:00
Lukas Werling
febc5f91bd
Replace rand() with SafeRandom()
2016-04-20 22:42:00 +02:00
Linus Heckemann
042161a627
Fix subsequent deallocation to use free too
2016-04-17 22:56:36 +01:00
Linus Heckemann
25fd930242
Fix some malloc/free mismatches
...
Discovered with valgrind. Previously, some memory that later gets freed using
free(...) (in StdBuf::Clear) was allocated with new char[...] rather than
malloc, in which case delete[] should be used to free them.
2016-04-17 20:13:33 +01:00
Sven Eberhardt
901399f5c2
MSVC compile warning fix
2016-04-16 22:05:37 -04:00
Nicolas Hake
eabca223f5
Update all copyright notices for 2016
2016-04-03 20:24:42 +02:00
Nicolas Hake
493c276126
Rewrite header inclusions to #include "path/to/file.h" style
2016-04-03 20:24:42 +02:00
Nicolas Hake
4fdafbc78a
Move StdColors.h ref from C4Surface.h to files that actually need it
...
C4Surface.h doesn't require anything from StdColors.h, so there's no
reason to reference the latter there.
2016-02-08 02:13:18 +01:00
Günther Brammer
e5f75c5a44
Remove a bunch of dead code, mostly player control related
2016-02-03 03:17:23 +01:00
Sven Eberhardt
6e251832b8
Fix league signup with usernames containing non-ascii characters
2016-01-31 12:26:07 -05:00
Sven Eberhardt
28e794654c
Add network option to disable UPnP.
...
Also add some more UPnP failure messages to log.
2016-01-24 00:11:14 -05:00
Sven Eberhardt
e94c0e38fc
Add scenario core field "Mode" (in [Game]) to allow setting game mode independent of goal objects.
...
To be used by the league so you can properly host race scenarios in the open melee league.
2016-01-23 21:19:22 -05:00
Nicolas Hake
3c625a00dd
C4Game: Turn some owned pointers into std::unique_ptr
...
Using std::unique_ptr instead of raw pointers makes ownership clear and
avoids leaks.
2015-12-28 11:43:37 +01:00
Sven Eberhardt
e0bcaf8d7d
Sound UI::Confirmed (instead of Objects::Connect)
2015-12-15 01:41:25 -05:00
David Dormagen
dcfb986e34
moved sounds into subfolders
...
This completes http://forum.openclonk.org/topic_show.pl?tid=3215
2015-12-13 22:14:55 +01:00
Nicolas Hake
72002cc366
Kill netpuncher
...
Another piece of code that hasn't been tested in ages, gone. The default
puncher address was still pointing to clonk.de, which I'm very certain
isn't providing UDP hole punching services anymore.
Instead of a bespoke hole punching implementation we should use a STUN
lib.
2015-12-13 16:11:08 +01:00
Sven Eberhardt
499959fa14
Fix team distribution of savegame resume and initial script players #1494
2015-12-12 14:09:42 -05:00
Sven Eberhardt
019cc0d583
Enable immediate tooltips on mouse-over-event for unlabeled icons in lobby and scenario selection ( #1132 ).
2015-12-06 21:03:54 -05:00
Sven Eberhardt
6e4c7a2c2d
Lobby ready button: Prevent message spam, improve icon updating and some small fixes.
...
* Show max one message per second per client
* Do not show ready message locally
* Fix observer flag reset by ready state change
* Reflect ready state change in client list immediately
2015-11-21 23:58:40 -05:00
dylanstrategie
d284f49b6b
Add "ready" button for clients in game lobby.
...
Signed-off-by: Sven Eberhardt <sven2@goldwipf.de>
2015-11-18 22:49:59 -05:00
Nicolas Hake
24b54211c5
Drop Min, Max, Swap for std::min, std::max, std::swap
...
The C++ standard library comes with perfectly fine implementations of
these functions, so there's no point in reimplementing them just for the
hell of it.
2015-11-15 13:53:01 +01:00
Sven Eberhardt
7725a379c2
Fix display of player-colored charts (/chart).
2015-10-03 21:37:41 -04:00
Peter Wortmann
f0030e33e0
Warning fixes
...
Actually pretty sure a few of them were bugs. Hopefully no new
ones were introduced here.
2015-10-03 15:32:39 +01:00
Sven Eberhardt
3159793dfc
MSVC build fix
2015-09-29 20:38:15 -04:00
Julius Michaelis
ee859d85e0
Remove boost any usage of boost libraries
2015-09-30 00:16:12 +02:00
Nicolas Hake
6a11e3e811
Stop checking for rvalue ref support
...
We already require support for std::unique_ptr, which itself requires
support for rvalue references. As such, we know we can use rvalue
references, and thus don't have to keep carrying dead code around.
2015-09-20 13:27:14 +02:00
Nicolas Hake
d1313f622f
Drop hack that allowed taking a reference to a temporary value
...
This has never been legal C++, and the compilers where it was necessary
are no longer supported.
2015-09-20 13:27:13 +02:00
Sven Eberhardt
20d3de46cd
Fix some unused variables.
2015-09-03 21:26:49 -04:00
Sven Eberhardt
3e2e9d5ed4
Fix some warnings.
2015-09-03 00:16:25 -04:00
David Dormagen
196f528201
Merge branch 'master' into Controls
...
Conflicts:
planet/Objects.ocd/HUD.ocd/FancyGridMenu.ocd/DefCore.txt
planet/Objects.ocd/HUD.ocd/GridMenu.ocd/DefCore.txt
planet/Objects.ocd/Helpers.ocd/Dummy.ocd/Graphics.png
planet/Objects.ocd/Items.ocd/Tools.ocd/WindBag.ocd/Script.c
planet/Objects.ocd/Items.ocd/Weapons.ocd/Javelin.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/ClonkControl.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/Constructor.ocd/ConstructionMenu.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/Constructor.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/Flag.ocd/Marker.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/Producer.ocd/Script.c
planet/Objects.ocd/Structures.ocd/Flagpole.ocd/Script.c
planet/Objects.ocd/Structures.ocd/Pump.ocd/Script.c
src/game/C4Game.cpp
src/gamescript/C4GameScript.cpp
src/gui/C4GameMessage.cpp
src/landscape/C4Landscape.cpp
2015-06-03 22:32:36 +02:00
Nicolas Hake
5562b09dc4
Remove a lot of disabled legacy code, round 2
...
Maybe at some point we'll be rid of all the commented-out code that
nobody has looked at in years.
2015-03-25 20:02:53 +01:00
Nicolas Hake
e21a5bdd44
Rename BoundBy to Clamp
...
"BoundBy" sounds like a predicate. "Clamp" is a common function name for
the operation in graphics processing, so it should be familiar to users.
2015-02-12 23:05:55 +01:00
Nicolas Hake
2d1e4caabc
Remove a superfluous endianness test
...
We're not supporting BE systems, and even when we did, I'm not sure this
test could ever have done something.
2015-02-11 20:41:35 +01:00
Günther Brammer
5bcedb5bbf
Remove some redundant #includes
2015-01-25 18:53:48 +01:00
Günther Brammer
a92c22a7b3
Merge various build system fixes and cleanups
2015-01-25 18:50:29 +01:00
Sven Eberhardt
089b4794a8
Fix a few warnings in Win64 build.
2015-01-25 16:43:51 +01:00
Nicolas Hake
2ef2c637a7
Remove several instances of disabled legacy code
2015-01-18 22:59:45 +01:00
David Dormagen
bd04722553
Merge branch 'master' into Controls
...
Conflicts:
planet/Objects.ocd/HUD.ocd/Controller.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/ClonkControl.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/Constructor.ocd/ConstructionMenu.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/Constructor.ocd/Script.c
src/game/C4GraphicsSystem.cpp
src/game/C4GraphicsSystem.h
src/game/C4Viewport.cpp
src/gui/C4GameMessage.cpp
2015-01-15 19:57:01 +01:00
Nicolas Hake
aa6b1384a7
Fix build with C4NET2IO_DUMP_LEVEL > 1
...
Instead of using the preprocessor to filter out debugging code, we might
want to make more use of the optimizer's DCE. That way, renaming and
moving a function or variable won't immediately break a rarely tested
configuration.
2015-01-15 16:33:20 +01:00
Günther Brammer
69f8ca27ec
Move C4ApplicationSec1Timer to StdScheduler.h
...
There is nothing "Application" specific about this class.
2015-01-03 21:06:25 +01:00
Sven Eberhardt
98093961ec
Add packet logging option.
...
This should reduce log spam in network games.
2015-01-03 18:15:41 +01:00
David Dormagen
f89b8c8319
Merge branch 'master' into Controls
...
Conflicts:
planet/Objects.ocd/Environment.ocd/Cloud.ocd/DefCore.txt
planet/Objects.ocd/Libraries.ocd/ClonkControl.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/Constructor.ocd/ConstructionMenu.ocd/DefCore.txt
planet/Objects.ocd/Libraries.ocd/PowerConsumer.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/PowerProducer.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/Producer.ocd/Script.c
planet/System.ocg/ClonkControl.c
src/gui/C4MouseControl.cpp
src/landscape/C4PXS.cpp
2014-12-25 15:24:19 +01:00
Tobias Zwick
d59b1e5e5b
reduce version numbering from x.y.z (x does never changes) to y.z
2014-12-12 21:57:52 +01:00
David Dormagen
c09e9880e2
Merge branch 'master' into Controls
...
Conflicts:
planet/Objects.ocd/Libraries.ocd/ClonkControl.ocd/Script.c
2014-10-13 18:54:05 +02:00
Tobias Zwick
90b86dbf69
seperate update server from masterserver
...
Don't query the masterserver for a new version, instead ask the update server directly.
2014-10-04 22:50:46 +02:00
Sven Eberhardt
91800fcfec
Implement setting for forced values of parameters in league games.
2014-10-03 14:02:28 +02:00
Sven Eberhardt
02150f7298
Change default master server to league server.
2014-09-30 20:59:16 +02:00
Martin Plicht
e395e0741d
C4Network2IRC: Remove call to boost::cref which seems to be unnecessary since C4GUI::Ico_Error is just an integer
2014-09-29 22:28:01 +02:00
David Dormagen
952f06b173
Merge branch 'master' into Controls
...
Conflicts:
planet/Objects.ocd/Libraries.ocd/ClonkControl.ocd/Script.c
2014-09-29 11:47:09 +02:00
Sven Eberhardt
3fc1f02c6d
Implement custom scenario parameter selection in startup scenario selection dialogue and by command line.
2014-09-27 16:05:32 +02:00
Sven Eberhardt
378bda5546
Added custom scenario parameters (SCENPAR_*).
...
Can currently only be set in network games in the lobby. In the future, maybe we can find a place somewhere in the scenario selection dialogue.
2014-09-23 23:02:52 +02:00
David Dormagen
5722339e83
Merge branch 'master' into Controls
...
Conflicts:
planet/Objects.ocd/HUD.ocd/Controller.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/Structure.ocd/Script.c
src/gamescript/C4GameScript.cpp
src/gui/C4GameMessage.cpp
src/gui/C4Gui.h
src/gui/C4GuiDialogs.cpp
src/gui/C4GuiWindow.cpp
2014-08-13 11:52:41 +02:00
Nicolas Hake
227d3d760d
Ship a fallback natupnp.h
...
MinGW doesn't bring a natupnp.h out of the box. Add one to the repository
so MinGW builds also support UPnP/NAT-PMP.
2014-08-03 21:48:53 +02:00
Sven Eberhardt
91c2d49d2a
Remember league login name and password token.
...
Also removed some CUID/Webcode authentification code from engine.
2014-05-18 15:10:00 +02:00
Sven Eberhardt
efcdf6fa68
Fix hanging network thread due to timing calculation errors in UDP network class.
...
GetNextTick() may sometimes return a tick in the past, which calculations need to consider.
This might also fix #1076 .
2014-05-18 13:41:47 +02:00
Sven Eberhardt
45f69abb6e
Revert engine-side league localization
...
The engine cannot know about all future league strings. Instead, localize server-side using language id from http request.
2014-04-27 15:42:47 +02:00
Sven Eberhardt
4266b370d6
Added script functions SetLeagueProgressData, GetLeagueProgressData, GetLeagueScore and SetLeaguePerformance.
2014-04-20 15:33:36 +02:00
Julius Michaelis
2c7d9c0549
Fix a load of warnings (two were actual errors, only in diagnostics though)
2014-04-17 19:24:41 +02:00
David Dormagen
5c17b48bc2
Merge branch 'master' into Controls
2014-03-26 23:58:24 +01:00
Sven Eberhardt
75c5ac1465
Enable league button if an alternate server is set. To be re-enabled completely when an OC league exists (and when we have new button graphics).
2014-03-23 20:41:58 +01:00
Martin Plicht
e02b2d425f
C4NetIO: #ifdef __APPLE__, not APPLE
2014-02-16 14:54:26 +01:00
Martin Plicht
61cd4271c9
C4NetIO: mac: To be on the safe side, only activate poll timeout cap when APPLE
2014-02-16 10:54:24 +01:00
Martin Plicht
aee2e358ca
C4NetIO: Place silly poll timeout fix where it actually helps in case of UDP
2014-02-16 10:18:45 +01:00
David Dormagen
06ac00ace8
Merge branch 'master' into Controls
...
Conflicts:
CMakeLists.txt
Makefile.am
planet/Objects.ocd/HUD.ocd/Controller.ocd/Script.c
planet/Objects.ocd/Items.ocd/Weapons.ocd/Club.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/ClonkControl.ocd/Script.c
src/control/C4Control.cpp
src/control/C4Control.h
src/gamescript/C4GameScript.cpp
2014-02-15 14:44:57 +01:00
Martin Plicht
09e1a47cf9
C4NetIO: Endless polls cut short by cheap hack
2014-01-27 14:22:22 +01:00
Martin Plicht
d504626a40
StdScheduler: Split into StdSchedulerWin32/StdSchedulerPoll/StdSchedulerMac
2014-01-23 17:53:40 +01:00
Nicolas Hake
e0dc30c59a
Update copyright notices
...
As discussed in http://forum.openclonk.org/topic_show.pl?tid=2917 , I
have merged all copyright notices into a single file and referenced that
merged file from each source file.
For the updated source files, the timeline has been split into three
parts:
1. Pre-RWD code (before 2001)
2. RWD code (2001 through 2009)
3. OpenClonk code (2009 and later)
All pre-RWD copyright notices have been left intact, as have RWD-era
copyright notices where the file did not have a RedWolf design copyright
notice but only individual author ones. All copyright notices of the
OpenClonk era have been replaced by a single notice ranging from the
first recorded year to the current year (2013). Mape code did not get a
OpenClonk Team copyright notice because it is somewhat separate from the
main OpenClonk codebase and has only been touched by Armin Burgmeier.
2013-12-23 13:03:19 +01:00
Tobias Zwick
dd3de2f0c9
Merge branch 'issue-251'
2013-12-09 21:45:54 +07:00
Tobias Zwick
74087e2fc2
remove superfluous IsScheduledExecution
...
use C4TimeMilliseconds::PositiveInfinity instead to denote that the next tick should not be executed.
2013-12-09 00:50:01 +07:00
Tobias Zwick
5bcd762206
C4TimeMilliseconds returns a StdCopyStrBuf to avoid memory errors
2013-12-09 00:49:58 +07:00
Tobias Zwick
e9eea97864
make rest of the code not use C4TimeMilliseconds-pointers but instead use the infinity field.
2013-12-09 00:49:57 +07:00
Tobias Zwick
bdc895655d
add AsString method to C4TimeMilliseconds
2013-12-08 16:28:58 +07:00
Tobias Zwick
fe2a400c02
replace global function GetTime() with class function C4TimeMilliseconds::Now()
2013-12-07 21:27:01 +07:00
Tobias Zwick
57fb0b48ca
fix: on response from masterserver, also check if CSID reply is empty ( #703 )
2013-12-04 20:59:53 +07:00
Tobias Zwick
94c618d153
add new type C4TimeMilliseconds for time measurements to solve problems when GetTime() overflows ( #251 )
...
The new type C4TimeMilliseconds behaves for the most part like a uint32_t but is overflow-proof in comparisons.
In some places, a 0-value (or uint_max) of the variable storing the time had the special meaning "not set yet". This has been resolved by having it as a pointer to C4TimeMilliseconds with NULL meaning that it has not been set yet.
2013-12-04 19:35:07 +07:00
Tobias Zwick
c03effd104
fix possible bug: pPeer->GetTimeOut() already includes GetTime() + some offset, adding GetTime() another time here is wrong.
2013-12-04 14:35:17 +07:00
Tobias Zwick
a8a8322dfb
use %u to format unsigned ints (times)
2013-12-04 12:51:46 +07:00
Tobias Zwick
7de660ba79
fix possible bug: respect iMaxTime parameter in C4NetIOUDP::Execute
2013-12-04 12:46:07 +07:00
Sven Eberhardt
f75424ef6c
Fix network
2013-12-01 18:14:20 +01:00
Sven Eberhardt
6407c7cd2b
Some more fixes for time_t change.
...
Some format strings had to be adjusted and clients always had ping timeout on join. Let's hope this fixes it.
2013-12-01 16:34:47 +01:00
Sven Eberhardt
21d05fa97f
Build fix for 32bit Windows autobuilds (I hope).
...
Note that the code is still broken if timeGetTime() overflows while the engine is running (related to issue #251 ).
2013-12-01 14:49:06 +01:00
Nicolas Hake
52fd2679cd
Fix line endings broken by ecf538c
, 7b9c1d5
, and ceca8b8
2013-11-29 14:18:48 +01:00
Tobias Zwick
ceca8b8fc7
add SoundAt function in C4Script (part of #238 ), document
...
also, extend the documentation for Sound with previously undocumented parameters; threw out undocumented and also unused "multiple" parameter.
2013-11-29 18:20:36 +07:00
Tobias Zwick
7b9c1d5a9e
refactor: consistently use time_t t... variables for times in network system, scheduler, gui
...
The network used to cast GetTime() to int, but GetTime() is an unsigned long. This might cause problems if GetTime() returns big integers (see #251 ). To solve this, the StdSchedulerProc interface had to be extended with another function in order to eliminate the magic return value -1 of GetNextTick for "no scheduled execution".
2013-11-29 17:28:04 +07:00
Tobias Zwick
ecf538cd1f
refactor: consistently use time_t t... variables for times in sound system, stats, application and player controls
2013-11-29 14:16:14 +07:00
Tobias Zwick
8da7c6b20f
add internationalization for responses from the masterserver/league server
2013-11-06 13:35:27 +07:00
Tim Blume
240193ad5a
Remove remains of Direct3D support
...
Direct3D hasn't worked for more than a year now, and there don't seem to
be any efforts to revive it. Remove it and concentrate on better OpenGL
support.
2013-11-02 21:39:34 +01:00
Nicolas Hake
fd193c03dd
Add C4ControlPlayerMouse to packet handler data, so unpacking it works
2013-09-08 14:38:41 +02:00
Nicolas Hake
9b82abb8a0
Use control packet for mouse drag/drop and hover
...
This removes some more pre-assembled C4Script code going across the
network unchecked.
Part of #936 .
2013-09-04 19:58:57 +02:00