Itms
7020d17886
Fix Gaia perspective, in which one could only see entities with a dirty visibility cache.
...
This was SVN commit r16250.
2015-01-30 18:08:16 +00:00
Itms
1564a10120
Move back the computation of most of the visibilities from JS to engine, to improve performance.
...
Also fix the remaining TODO left by #958 , as a use case of the scripted
Visibility component.
Refs #2913 , #958 .
This was SVN commit r16248.
2015-01-30 15:28:06 +00:00
Ykkrosh
e02d7ad949
Automatically replace %hs/%ls with %s in CLogger format strings.
...
Everything is char* now, so we don't need to mess around with different
string types.
Done with:
ag -ls 'LOG(MESSAGE|MESSAGERENDER|WARNING|ERROR)' source | xargs perl
-pi -e'1 while
s/(LOG(MESSAGE|MESSAGERENDER|WARNING|ERROR).*)%[hl]s/$1%s/g'
This was SVN commit r16187.
2015-01-22 20:36:24 +00:00
Ykkrosh
49e2ecea63
Automatically convert all CLogger format strings from wchar_t* to char*.
...
Done with:
ag -ls 'LOG(MESSAGE|MESSAGERENDER|WARNING|ERROR)' source | xargs sed
-i 's/LOG\(MESSAGE\|MESSAGERENDER\|WARNING\|ERROR\)(L/LOG\1(/g'
This was SVN commit r16183.
2015-01-22 20:31:30 +00:00
Itms
852cd11305
Improve the performance of the GetLosVisibility function by using the cache (currently used for mirages only) whenever possible.
...
This was SVN commit r16166.
2015-01-20 16:29:50 +00:00
Itms
2ef3c0c42e
Compute the actual percentage of map explored by the team in the summary screen.
...
Fixes #2587 .
This was SVN commit r16071.
2014-12-26 19:13:40 +00:00
Itms
b05879e151
Move template items GetRetainInFog and AlwaysVisible from Vision to Visibility.
...
Refs #2913
This was SVN commit r16022.
2014-12-05 18:33:59 +00:00
Itms
fc1fe174cd
Amend the "Reveal All" behavior by always hiding mirages.
...
This was SVN commit r15966.
2014-11-14 20:29:35 +00:00
Itms
d07d1a17f3
Add a new Visibility component that will eventually allow scripted components and mods to influence an entity's visibility.
...
This first commit only refactors code and does not add any new feature.
Refs #2913 (see this ticket for more information about the change)
This was SVN commit r15925.
2014-11-04 20:53:25 +00:00
Itms
b1ca37eead
Extend visibility update to all tiles around LoS vertices. Incidentally prevent an issue from arising on square maps. Also improve a code comment.
...
This should be enough to fix #2760 .
This was SVN commit r15779.
2014-09-21 20:29:54 +00:00
Itms
801d13aa8b
Address some possible causes of bad handling of visibility updates. Also includes a little code tweaking allowing the global update of all visibility data.
...
Refs #2760
This was SVN commit r15765.
2014-09-20 08:26:45 +00:00
mimo
7ce9097d1c
small cleaning of d0472b021b
...
This was SVN commit r15710.
2014-09-07 10:28:18 +00:00
Itms
d0472b021b
Supersede the "Reveal all" flag when displaying mirages, to avoid seeing other players' mirages. This is especially problematic when switching perspective to an AI player.
...
Fixes #2712 , thanks mimo for the report and for having looked into the
related code.
This was SVN commit r15705.
2014-09-06 19:59:49 +00:00
Itms
5bfe2a4b65
Don't call miraging codes while iterating through the range manager's entities map.
...
I already had made that mistake when working on the fogging system so I
documented it in the code.
Fixes #2756
This was SVN commit r15692.
2014-08-29 09:01:08 +00:00
Itms
ea78d97989
Explore the map inside a player's territory border at the beginning of a game.
...
Also handle properly the "Explore Map" option with the new fogging
system.
Fixes #2709
This was SVN commit r15681.
2014-08-26 10:01:04 +00:00
wraitii
e865dc797d
Revert RedFox's changes to Spatial subdivisions in the simplest possible way (hopefully won't cause OOS, but at least we'll get reports). Fixes #2573 , Refs #2430 . There probably are opportunities to remove more things.
...
This was SVN commit r15617.
2014-08-06 09:21:00 +00:00
Itms
f7e591c9f2
Hide changes to buildings in the fog-of-war.
...
To achieve this, mirage entities are created per player, to replace the
real entities when these ones fall into the fog-of-war. These mirage
entities are created on-the-fly, and destroyed when they get back in
sight.
This depends heavily on the VisibilityChanged message added in
2174eaaeee .
As a temporary adjustment, territories do not explore the map anymore
when their borders change. See #2709 .
Fixes #599
This was SVN commit r15612.
2014-08-04 22:49:19 +00:00
Itms
ea708e14bf
Some changes on the VisibilityUpdate message system, aimed at correcting recent OOS problems.
...
I still experience troubles with serialization tests but I played a few
games without OOS. At least these changes will help us to debug more
efficiently the remaining problems.
Fixes initialization of visibility data and update order for LoS-related
systems (territory borders, etc).
Also removes a C-like array and fixes a player ID shifting.
Refs #599
This was SVN commit r15563.
2014-07-26 16:02:18 +00:00
Itms
e1d4c10f13
Recompute the number of LoS tiles whenever these tiles are reset (especially when loading serialized data).
...
Also add a verification about LoS tiles in the tests.
Fixes #2678
Refs #599
This was SVN commit r15538.
2014-07-17 19:08:06 +00:00
Itms
2174eaaeee
Add a VisibilityChanged message sent by the range manager whenever an entity changes visibility for any player.
...
This will be necessary for hiding buildings/trees/etc in fog-of-war, and
may be useful for AIs and for UnitAI.
Refs #599 .
This was SVN commit r15508.
2014-07-10 20:51:39 +00:00
JoshuaJB
548f50b071
Give gaia back it's vision.
...
This was SVN commit r15332.
2014-06-11 18:20:02 +00:00
sanderd17
e1488fee56
Add an 'explore map' option to the game setup.
...
This was SVN commit r14931.
2014-04-14 19:52:49 +00:00
JoshuaJB
883f307b40
Implement a basic observer mode. Any player which joins a multiplayer game but is not assigned a player slot automatically becomes an observer. Refs #69
...
This was SVN commit r14849.
2014-03-16 23:29:27 +00:00
JoshuaJB
8226d75715
Make PickEntitiesAtPoint faster yielding 1-3% overall performance improvement. Fixes #2358 . Also removes some trailing whitespace.
...
This was SVN commit r14532.
2014-01-07 04:05:10 +00:00
wraitii
9d9361ae44
Why you should test your code before committing, exhibit A.
...
This was SVN commit r14466.
2013-12-31 21:45:11 +00:00
wraitii
a7cafe75aa
"Reveal all player" id back to -1, add some "ensure" to catch invalid player ids and be safer.
...
This was SVN commit r14465.
2013-12-31 21:30:48 +00:00
wraitii
fe2a97b0c9
Change some useless std::map into std::vector for LOS. Player "0" now reveals the LOS for all.
...
This was SVN commit r14463.
2013-12-31 16:38:11 +00:00
sanderd17
60c986c135
* Add method to rangemanager to query around a position instead of an entity
...
* Use that method in the splash damage calculation
Fixes #2285
This was SVN commit r14283.
2013-12-04 15:30:01 +00:00
Ykkrosh
d252e245ef
Optimise fixed multiplies on MSVC x86
...
On MSVC, casting i32 to i64 then multiplying gets compiled into a call
to __allmul, which is slow. Use the __emul intrinsic instead.
GCC 4.6+ appears optimise this case automatically and doesn't need any
special handling.
This reduces the cost of ComputeShortPath by about 50% (testing AI vs AI
on Oasis 01).
This was SVN commit r13873.
2013-09-20 20:17:54 +00:00
RedFox
1b6a5fa802
This was SVN commit r13861.
2013-09-15 21:37:05 +00:00
RedFox
2a5ec404d1
Further reverted RangeManager sorting to stable_sort, since possibly with different STL implementations, the order of entities might change and cause OOS.
...
Overflowing elements in SpatialQueryArray are now reported with
debug_warn, but can be ignored and the program will continue working,
but further entities will be truncated.
This was SVN commit r13860.
2013-09-15 21:11:20 +00:00
RedFox
9694eec8b8
As per ticket #1707 . Some minor improvements to spatial subdivision. Makes way for future changes in RangeManager.
...
Right now merely improves memory usage.
This was SVN commit r13854.
2013-09-15 14:03:53 +00:00
Ykkrosh
05422ad545
Avoid slightly-expensive QueryInterface() calls
...
Add CEntityHandle which wraps an entity_id_t and also has a pointer to a
per-entity array of IComponents. QueryInterface/CmpPtr on a handle just
involve a couple of pointer dereferences instead of a map lookup.
This requires sizeof(void*) per registered interface type per entity,
which is currently ~0.5KB per entity, which shouldn't be a problem.
This was SVN commit r13825.
2013-09-11 20:41:53 +00:00
alpha123
8c74df2acd
Give an elevation advantage to ranged units. Patch by sanderd17. Fix #1960 .
...
This was SVN commit r13626.
2013-08-03 19:20:20 +00:00
historic_bruno
f5e60157bf
Optimizes GetPercentMapExplored by caching explored vertices per player, patch by scroogie, fixes #2012
...
This was SVN commit r13576.
2013-07-20 00:50:40 +00:00
Ykkrosh
75a23856cf
Fix some static analysis warnings
...
This was SVN commit r13101.
2013-01-21 20:33:25 +00:00
historic_bruno
e72b603cce
Implements Vision/Range tech modification
...
This was SVN commit r12707.
2012-09-24 22:27:32 +00:00
historic_bruno
8dc36bed4e
Fixes error in actor viewer caused by 962da61f12. Fixes #1499
...
This was SVN commit r11973.
2012-06-14 22:47:57 +00:00
historic_bruno
4ac52a3c47
Fixes bug in percentage map explored calculation. Refs #1334
...
This was SVN commit r11957.
2012-06-09 23:04:27 +00:00
historic_bruno
962da61f12
Adds shared LOS for allied players, based on patch by Deiz/F00. Fixes #1334 .
...
This was SVN commit r11949.
2012-06-08 04:41:39 +00:00
leper
54fb33841e
Fix some issues.
...
This was SVN commit r11537.
2012-04-17 20:44:18 +00:00
leper
c56f96040e
Implement healing. Fixes #999 .
...
This was SVN commit r11536.
2012-04-17 20:22:13 +00:00
historic_bruno
08bd07ddd6
Adds safe bool operator to ICmpPtr, replacing the null() method, based on patch by leper. Also changes bool operator in AtSmartPtr to safe bool. Fixes #1077 .
...
Changes some CmpPtr variable names for consistency.
This was SVN commit r11036.
2012-02-08 02:46:15 +00:00
Ykkrosh
ce67dfd333
Rename CELL_SIZE to TERRAIN_TILE_SIZE, to free up the term "cell" for other concepts.
...
This was SVN commit r10902.
2012-01-12 12:51:10 +00:00
Ykkrosh
0ec4242962
Detect and fix printf signedness errors. Fixes #1086 , #1087 .
...
This was SVN commit r10846.
2012-01-01 16:43:10 +00:00
historic_bruno
8d977e4818
Allows building in fog of war. Fixes #958 .
...
This was SVN commit r10584.
2011-11-24 00:58:34 +00:00
Ykkrosh
f66a3e726f
Avoid overflow identified by /RTCc warning
...
This was SVN commit r10537.
2011-11-14 22:22:38 +00:00
Ykkrosh
fbff0aa98d
Fix printf argument types
...
This was SVN commit r10529.
2011-11-13 18:31:06 +00:00
Ykkrosh
09a02c96d5
Add initial code annotations for the new profiling tool
...
This was SVN commit r10466.
2011-11-04 01:35:50 +00:00
Ykkrosh
959b5a505c
Fix bug in incremental LOS computation
...
This was SVN commit r10446.
2011-10-28 13:15:33 +00:00