Commit Graph

4839 Commits (stable-5.3)
 

Author SHA1 Message Date
Armin Burgmeier 5dd2d45502 Pre-compute Z values before face ordering (#984)
Pre-computed floating point numbers can be safely used in the comparison
function, whereas recomputation every time the sort function is called might
lead to a crash when the computed number is slightly differently every time,
because the sort function would return different results for the same faces.
2013-12-16 12:44:44 +01:00
Armin Burgmeier fa68227e6e Make sure we never create mesh instances with 0 faces 2013-12-16 12:44:36 +01:00
Günther Brammer 518a1b741a win32: Installer always creates Start Menu entries
Apparently, the Games Explorer is a failed experiment. Players don't expect
a game to only appear there, lots of games do not bother with it, and
future windows versions don't include it.
2013-05-18 00:06:25 +02:00
Günther Brammer c765822fc3 Remove some superflouos output from the dedicated server 2013-05-03 20:45:12 +02:00
Günther Brammer b05aac2a79 The dedicated server command line can now start a scenario
I don't know how useful that is without control over other options, but at
least its something instead of nothing.
2013-05-03 20:45:06 +02:00
Günther Brammer d5d72344ef Make network lobby command line processing available to the editor and dedi
Most of the processing was already done by C4MessageInput::ProcessInput and
C4MessageInput::ProcessCommand. Simply move the Lobby-only commands there,
too, and make them work without a Lobby MainDlg. This required almost only
cosmetic changes.
2013-05-03 20:45:01 +02:00
Günther Brammer acc37860ed Move CStdInProc to its own source file
It should be usable without USE_CONSOLE, even though only the dedicated server
uses it at the moment.
2013-05-03 20:44:55 +02:00
Günther Brammer 21432d997b editor: Fix USE_CONSOLE 2013-05-03 20:44:02 +02:00
Günther Brammer 07f1b75488 win32: Make USE_CONSOLE compile again
There's even a plausible implementation of CStdInProc::GetEvent.
2013-05-03 20:43:55 +02:00
Günther Brammer f9f784a285 Fix some BSD portability issues
Thanks to mdg on the forum and the Debian buildd.
2013-03-16 02:47:21 +01:00
Peter Wortmann b78664b43c Ignore "would block" errors from UDP sendto
Given that SimpleUDP makes no promises on delivering data anyway, it's okay
to just drop packets silently.

While I'm at it, it's probably a good idea for non-Windows system to
set sockets as non-blocking too, as well as C4NetIOUDP to be more
consistent with its handling of errors along these lines.
2013-03-09 13:24:05 +01:00
Peter Wortmann cd5c5fe30c Close connection if a packet can't be sent
I am still completely mystified why this seems to happen so often in
practice. Hopefully the extra logging will give us some clues in
future. And closing the connection immediately gives us a small chance
at recovering from this situation.
2013-03-09 13:23:41 +01:00
Nicolas Hake eabd15469f Win32: Fix build without -fpermissive 2013-03-02 21:46:36 +01:00
Nicolas Hake b73bb9cfaa Win32: optionally embed a build ID into crash dumps/minidump files
In order to get an embedded build ID, add a new CMake cache variable
named OC_BUILD_ID. This variable can contain an arbitrary string, but
it is suggested that you use a hierarchical string starting with your
DNS domain, reversed, as in "com.example.openclonk.arbitrarystring"
(think java packages).
2013-03-02 21:10:31 +01:00
Nicolas Hake f1062fe1a0 Win32: clean up crash handler pointer string format selection 2013-03-02 21:10:30 +01:00
Nicolas Hake 3c937c51a7 Win32: Make crash handler show the full EFLAGS register 2013-03-02 21:10:29 +01:00
Nicolas Hake 1e05480625 Win32: Make crash handler properly show modules in stack traces 2013-03-02 21:10:27 +01:00
Tobias Zwick d314d9d338 disable gamepad controls in the options for stable because they do not work 2013-03-02 18:37:43 +01:00
Tobias Zwick 60cb601618 version 3.3 2013-03-02 16:52:56 +01:00
Günther Brammer cfe2bb1f37 Fix missing mouse cursor in fullscreen without resolution change
The mouse cursor was about the only thing affected by fZoom, and fZoom
should have been always 1 at the moment anyway.
2013-03-02 16:30:06 +01:00
Günther Brammer c481ecde97 gtk: Make the window fullscreen even when not changing the resolution 2013-03-02 16:29:58 +01:00
Günther Brammer 44efec3c22 gtk: GDK_KEY_* constants require at least GTK+ 2.21.8
Conflicts:
	src/mape/diskview.c
2013-03-02 16:28:29 +01:00
Günther Brammer efc77ba125 Fix #including a definition that has local variables with proplists
The missing break meant that the freshly created copy of the proplist would
get overwritten by the original, which was thankfully caught and announced
with "internal error: constant proplist has the wrong parent".

Thanks to Zapper for the testcase.
2013-03-02 16:28:02 +01:00
Günther Brammer 9f3489c053 Script: continue in a do-while loop jumps to test instead of start of loop
This matches C and other languages.
2013-03-02 16:27:51 +01:00
Armin Burgmeier 6c531abbfe Draw particles with subpixel precision 2013-03-02 16:27:39 +01:00
David Dormagen b70d1f7e06 do not pass controls to disabled cursor anymore (i.e. via SetCrewEnabled) 2013-03-02 16:27:31 +01:00
Günther Brammer cfd99b09a4 Make dedicated server compile with fmod 2013-03-02 16:27:20 +01:00
Maikel de Vries 19955fd03d Adapted stone door to open for all players if set team == 0 2013-03-02 16:27:12 +01:00
Günther Brammer ce49a25d20 update: Log an error message when extracting the update program fails 2013-03-02 16:27:04 +01:00
Sven Eberhardt 8602298f0d oops. remove superfluous debug log. 2013-03-02 15:43:02 +01:00
Sven Eberhardt 4ced5be9c4 Fix sound volume when using OpenAL 2013-03-02 15:42:53 +01:00
Sven Eberhardt 59d8ef0bde Fix SIGFPE exception on INT_MIN/-1 and INT_MIN%-1 in C4Script 2013-03-02 15:42:42 +01:00
Günther Brammer 4ff7d3c8c9 Hold a reference to the temporary proplist used in case of script errors
The parser does not know whether the constant proplist it is about to fill
is missing because it was overwritten by a later local/constant, or because
the preparser was interrupted by a script error and didn't store its
proplist. Thus, the parser cannot simply give up at that point, and in
order to keep things simple it creates a throwaway proplist. This proplist
was thrown away too soon, though.

Thanks to Zapper for the testcase.

Conflicts:
	src/script/C4AulParse.cpp
2013-03-02 15:38:11 +01:00
Sven Eberhardt 14f52ac5ce Cleanup main texture map. Remove unused and duplicate entries. Added Earth-earth.
Only one scenario (Arena.ocf\Ruins.ocs) was using any of the duplicate entries.

The missing earth definition caused earth borders to liquid to be rectangular sometimes.
2013-03-02 15:34:58 +01:00
Martin Plicht da27e5aa5b mac: Change type of K_* constants from int to C4KeyCode (int <-> long discrepancy) 2013-03-02 15:27:33 +01:00
Tobias Zwick b1e323b49b comment out assertion on cleaning up script engine after a round
see http://forum.openclonk.org/topic_show.pl?pid=22432#pid22432
2013-03-02 15:09:54 +01:00
Oliver Schneider c38cd59a28 Fixed a typo in Tutorial01 2013-02-04 23:51:06 +01:00
Sven Eberhardt d3634334a2 fix typo in catapult script 2013-02-04 23:36:39 +01:00
Sven Eberhardt 4864b2252f Fix SolidMasks not moving objects if the top left of the landscape was solid
A missing fixed conversion let the shape check happen at or around position 1/1 instead of at the actual object position.

Also removed a redundant contact check.
2013-02-04 23:34:12 +01:00
Sven Eberhardt 57b8e5c17d fix material conversion on insertion into converting liquid 2013-02-04 23:34:11 +01:00
Sven Eberhardt 30a7348ce6 Fix snow melting in lava/durolava 2013-02-04 23:34:10 +01:00
Sven Eberhardt 0b6126c384 Fix C4Command::Jump, i.e. jumping as part of pathfinder. 2013-02-04 23:34:09 +01:00
Sven Eberhardt 486d6a33be Attached objects with SolidMask (slave elevator case) can carry objects 2013-02-04 23:34:08 +01:00
Nicolas Hake faf0303dd4 Fix incorrect reloading of animations (#837)
Animation nodes accidentally did not have the correct
animation parent set when they were deserialized.

Closes #837, #872, #916.
2013-02-04 23:06:18 +01:00
Sven Eberhardt 28fd57fbed Fix Call() in global context (required for ScheduleCall) 2013-02-04 23:06:05 +01:00
Nicolas Hake d0acabd816 Abort SimFlight if no more movement can occur (#914)
In no-gravity situations, SimFlight would enter an endless
loop when trying to project an unmoving object, waiting for
a collision that would never happen.

Similarly, in negative gravity, SimFlight would continue
calculating objects that left the top boundary of the land-
scape, only aborting the simulation once the coordinates
underflowed to values below the landscape.
2013-02-04 23:05:49 +01:00
Armin Burgmeier 043a1c6966 map creator: don't crash when using a template within itself (#534) 2013-02-04 23:03:49 +01:00
Martin Plicht ca1c4538ee StdStrBuf::AppendFormatV: Pass copied va_list to vsnprintf so the second iteration of the while loop does not crash 2013-02-04 23:03:35 +01:00
Nicolas Hake a202001564 c4group: Fix incorrect swprintf usage 2013-02-04 23:03:21 +01:00
Günther Brammer ce164830a7 Use _snwprintf instead of swprintf
Apparently the C standard committee and Microsoft couldn't agree on how
swprintf should work.
We previously tried to work around the resulting breakage, but I just got
the following compilation error. It's really better to avoid that function
entirely. Since we only used it in windows-specific code, the
windows-specific _snwprintf is a nicely compiler-independent replacement.

src/platform/PlatformAbstraction.h: In function ‘int swprintf(wchar_t*, size_t, const wchar_t*, ...)’:
src/platform/PlatformAbstraction.h:243:12: error: redefinition of ‘int swprintf(wchar_t*, size_t, const wchar_t*, ...)’
/usr/lib/gcc/i686-w64-mingw32/4.6/../../../../i686-w64-mingw32/include/swprintf.inl:30:5: error: ‘int swprintf(wchar_t*, size_t, const wchar_t*, ...)’ previously defined here
2013-02-04 23:02:45 +01:00