Commit Graph

5617 Commits (a51d429611dccca0284f5cb9154830905e0c23e2)
 

Author SHA1 Message Date
Tobias Zwick db6a31cc7a add localized error for each player that could not be loaded (#693) 2013-12-18 12:47:08 +07:00
David Dormagen 078899d0a0 added safety check for when calling CreateParticleAtBone without object context 2013-12-17 22:32:02 +01:00
David Dormagen a10c9316ef renamed DynamicParticles* to Particles* and CreateParticleEx to CreateParticle 2013-12-17 22:32:01 +01:00
David Dormagen 02f54ba1eb removed the legacy particle system from the engine and docs 2013-12-17 22:32:01 +01:00
Tobias Zwick 325053410f rename script callback UpdateTransferZone to OnSynchronized (#220) 2013-12-17 23:16:11 +07:00
Tobias Zwick 3587c34e39 fix documentation (#848) 2013-12-17 22:20:26 +07:00
David Dormagen e42450ef5b different optimizations to particle creation
This patch might speed up particle creation by around 25%. See crucible review https://crucible.openclonk.org/cru/ENGINE-15
2013-12-16 17:34:15 +01:00
Armin Burgmeier 2cf11a1d6a 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 11:55:29 +01:00
Armin Burgmeier eddbbe3857 Make sure we never create mesh instances with 0 faces 2013-12-16 08:13:59 +01:00
Sven Eberhardt 09b46130a1 Fix mape build 2013-12-15 15:59:26 +01:00
Sven Eberhardt 25ddb14dca Rework prop list renumbering on section load (again).
Turns out changing prop list numbers while they are still indexed by number in the hash map was a bad idea. Existing prop lists are now de-numbered, pushed to an external shelve and re-numbered when added after section load.
2013-12-15 15:46:18 +01:00
Sven Eberhardt 1cca6fd1ad Rework section load again.
Now clears numbers of all existing proplists and renumbers them after loading. Fixes some assertions and duplicate numbers during loading.
2013-12-15 14:06:21 +01:00
Sven Eberhardt 4af3203840 Fix runtime error if arrow is removed in ProjectileHit. 2013-12-14 22:02:53 +01:00
Sven Eberhardt 29d1b4846a Fix scenario sections
Inactive objects got removed and calling section load from global effects caused a crash.
2013-12-14 18:16:39 +01:00
Sven Eberhardt a9a2470ace Fix accelerator hotkeys.
They were broken since keys aren't passed as VK-codes but as scancodes now. Tested under Windows only.
2013-12-14 12:24:07 +01:00
Sven Eberhardt 8d1fbd1401 Fix engine internal smoke.
Smoke() used to create a Smoke particle directly, but the particle definitions changed. Now it just calls the global script function to create smoke.
2013-12-14 12:09:31 +01:00
Tobias Zwick dd3de2f0c9 Merge branch 'issue-251' 2013-12-09 21:45:54 +07:00
Tobias Zwick 33f99bd361 buildfix for linux 2013-12-09 21:21:41 +07:00
Tobias Zwick a3c641b6fc fix error on negative timeouts in the scheduler for linux 2013-12-09 00:50:02 +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 b97d250aef adapt C4TimeMilliseconds usage in C4AppGTKImpl to the infinity-usage 2013-12-09 00:49:59 +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
Nicolas Hake 71dbd5bcfb Use std::numeric_limits<> instead of INT32_MIN/INT32_MAX
We're implementing parts of <stdint.h> ourselves for old compilers, and
these macros aren't part of our compatibility interface.

Additionally, [C99 §7.18.2] (unfortunately, MSVC ignores this):
"226) C++ implementations should define these macros only when
__STDC_LIMIT_MACROS is defined before <stdint.h> is included.", which it
wasn't, so it wasn't portable in the first place.
2013-12-08 14:13:15 +01:00
Tobias Zwick b73eabd4fd add infinity-field to C4TimeMilliseconds, add linker error (*cough*) 2013-12-08 19:11:28 +07:00
Tobias Zwick bdc895655d add AsString method to C4TimeMilliseconds 2013-12-08 16:28:58 +07:00
Tobias Zwick f5592a49e6 build fix 2013-12-08 04:05:56 +07:00
Tobias Zwick 4f416c3147 replace global function GetTime() with class function C4TimeMilliseconds::Now() 2013-12-07 21:28:06 +07:00
Tobias Zwick fe2a400c02 replace global function GetTime() with class function C4TimeMilliseconds::Now() 2013-12-07 21:27:01 +07:00
Tobias Zwick 3c4ba7f494 do not lazy-initialize C4GUI::tLastChange time 2013-12-07 14:04:35 +07:00
Tobias Zwick 44f1887003 split up Plants library into crop (harvestable), tree (choppable) and plant (plant reproduction)
This should make the plants not overloaded with functionality so that odd stuff like #904 can happen. I think the plants need more cleanup still.
2013-12-05 11:23:22 +07:00
Tobias Zwick 95c3b0b75a fix scrollbar drawing and remove code duplication (#1004) 2013-12-05 10:40:17 +07:00
Tobias Zwick a54eed6b9b add name to One Million Particles so it can be found from ingame gui 2013-12-05 10:39:45 +07:00
Tobias Zwick 9ffad10d51 add note to documentation of FinishCommand (#390) 2013-12-05 10:39:26 +07:00
Julius Michaelis ebff82641c Linux build fix for Newton 2013-12-04 19:19:33 +01:00
Tobias Zwick 554deb5273 fix zoom is reset on resizing the viewport (#881) 2013-12-04 23:36:27 +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 3e5268ab19 buildfix for linux (missed out on a Linux-specific StdSchedulerProc) 2013-12-04 20:47:12 +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
Tobias Zwick 6116b0079c fix link to Map scripts in documentation index 2013-12-03 12:49:47 +07:00
David Dormagen c57929508a dynamic particles: possibly fixed a theoretical crash when creating particles
(race condition between initializing the particle and executing the particle calculation/removing the particle)
2013-12-02 20:05:45 +01:00
David Dormagen 0a69450d12 dynamic particles: log missing-glPRI-warning only to log file and not player-visible output
The warning is nothing that should bother the average player (mainly because they possibly can't do anything against it anyway). However, it might turn out to be useful for debugging purposes.
2013-12-02 19:39:29 +01:00
David Dormagen 3c34857c0f added particle test scenario that spawns a million particles (and heavy effects afterwards)
The honorable goal of the particle system should be that this scenario always runs fluently. Even though optimizing the drawing will not be possible after a certain point, the particle system should scale down the drawing automatically to allow for a fluent game.
2013-12-01 23:50:54 +01: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
Nicolas Hake c3f021cc5b dodocs: Fix another incorrect closing tag 2013-12-01 16:18:34 +01:00
Nicolas Hake 78139a9107 docs: Fix incorrect closing tag 2013-12-01 15:21:35 +01:00