historic_bruno
b1c4e29ac8
Fixes inconsistencies in spelling of colour/color by preferring "color" (only wxWidgets remains with some API that requires "colour"), fixes #1029 .
...
NOTE: requires update-workspaces and may require correction of some
modded actors/scenarios
This was SVN commit r16438.
2015-03-15 23:59:48 +00:00
Itms
caf89fa04e
Rename ps/Overlay(.h|.cpp) to ps/Shapes(.h|.cpp), fixes a TODO located in graphics/Overlay.h.
...
The file name did not match the content.
Also little cleanup of some unnecessary includes.
This was SVN commit r16431.
2015-03-15 18:06:32 +00:00
leper
e41ec77eb6
Remove unused file.
...
This was SVN commit r16417.
2015-03-15 04:16:31 +00:00
Itms
00da480b83
Trigger a global visibility update after shared LoS changes. Fixes the entities of new mutual allies not visible.
...
Also add some player-dependent logic to avoid performance bottlenecks.
This was SVN commit r16359.
2015-02-20 14:35:19 +00:00
Itms
ba210c4d59
Fix c229b46ac2.
...
This was SVN commit r16343.
2015-02-16 14:38:13 +00:00
Yves
c229b46ac2
Move visibility component activation check to C++. Patch by Itms.
...
This improves performance quite a lot because it avoids a huge number of
calls from C++ to JS. Check the ticket for performance measurements.
Refs #2913
This was SVN commit r16337.
2015-02-14 17:13:50 +00:00
Ykkrosh
e06a7b37d8
Convert debug_printf to take UTF-8 strings instead of wchar_t.
...
This fixes the problem where passing a non-ASCII string to
debug_printf(L"%hs", s) caused vswprintf_s to fail on Linux (because it
doesn't know what encoding the char* is meant to have). Now debug
messages will remain as UTF-8 until they reach the OS.
Fixes #3021 .
This was SVN commit r16332.
2015-02-14 01:45:13 +00:00
Itms
682a944d7e
Little code tweak without performance impact
...
This was SVN commit r16329.
2015-02-12 23:24:48 +00:00
Itms
bd7b07cc80
Make the visibility cache a bit more clever, by making LoS tiles as dirty separately for each player.
...
It is necessary to rely on shared los masks, else some visibility
updates will be missing.
Refs #2913 , see this ticket for a performance graph.
This was SVN commit r16328.
2015-02-12 23:22:29 +00:00
Itms
da0f33f137
Reduce drastically the number of mirages by making fogging conditional: entities will be miraged only if their health/resource amount is modified, or if they have a non-gaia owner.
...
Fixes the animals hidden in the FoW, and adds the missing status bars
for mirages.
Also small cleanup of the code.
Refs #2913
This was SVN commit r16281.
2015-02-07 15:48:32 +00:00
Itms
bf6323a71f
Amend 7020d17886 and also fix observer mode. Fixes #3032 .
...
This was SVN commit r16267.
2015-02-04 09:20:00 +00:00
Itms
3225e564fe
Fix 1564a10120, plus code cleanup
...
This was SVN commit r16254.
2015-02-01 19:04:21 +00:00
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
Ykkrosh
a739b8f309
Fix some saved-game OOS errors
...
This was SVN commit r10441.
2011-10-27 20:12:00 +00:00
Ykkrosh
308cb26dd4
# Health decay for buildings not in a civ center's territory.
...
This was SVN commit r10034.
2011-08-18 20:28:53 +00:00
Ykkrosh
609f1643d5
Fix -Wconversion warnings in simulation code.
...
Cast to smaller integer types explicitly.
Generally avoid platform-dependent types (size_t) in simulation code.
Use float versions of math.h functions, not double.
This was SVN commit r10017.
2011-08-16 11:18:32 +00:00
Ykkrosh
6aeb5c64de
# Remove SoD inside territories.
...
Fix some serialisation issues.
This was SVN commit r9951.
2011-08-01 21:25:12 +00:00
Ykkrosh
996a32125c
Add per-player LOS-reveal flag.
...
Reveal LOS for Gaia and AI players (fixes #879 ).
Use player_id_t slightly more consistently in interfaces.
This was SVN commit r9720.
2011-06-28 23:24:42 +00:00
Ykkrosh
92fcb737cd
Attempt minor improvements to stances code (see #865 ).
...
Don't chase units that are no longer visible, beyond where they were
last seen (fixes #595 ).
This was SVN commit r9657.
2011-06-24 12:35:15 +00:00
Badmadblacksad
71a6775b92
Stances draft, refs #865
...
This was SVN commit r9631.
2011-06-17 22:13:39 +00:00
janwas
4663ac0fe7
split debug_assert into ENSURE and ASSERT as discussed in a previous meeting.
...
the old debug_assert always ran and tested the expression, which slows
down release builds. wrapping them in #ifndef NDEBUG is clumsy. the new
ASSERT behaves like assert and ENSURE like the old debug_assert. Let's
change any time-critical but not-super-important ENSURE to ASSERT to
speed up release builds. (already done in bits.h and unique_range.h)
This was SVN commit r9362.
2011-04-30 13:01:45 +00:00
Ykkrosh
4e74798585
Be more robust to visibility checks outside the map. Fixes #765 .
...
This was SVN commit r9333.
2011-04-27 21:03:08 +00:00
Ykkrosh
caad072347
Expand pathfinder boundaries to stop units disappearing off the edge of the visible map.
...
This was SVN commit r8887.
2011-02-03 19:40:41 +00:00
Ykkrosh
fe21c5e023
# Rewrite fog-of-war rendering.
...
Disable shadows when only 2 TMUs available.
Clean up some other rendering code.
This was SVN commit r8882.
2011-02-03 01:12:24 +00:00
Ykkrosh
c3b734775b
Simplify component interface: remove explicit context parameter, use GetSimContext() instead.
...
This was SVN commit r8867.
2011-01-16 14:08:38 +00:00
fcxSanya
e4d356c3bf
Map exploration counter for summary screen
...
This was SVN commit r8679.
2010-11-21 19:42:26 +00:00
Ykkrosh
9c521ceb3b
Add minimum range to range queries
...
This was SVN commit r8627.
2010-11-16 20:43:15 +00:00
Ykkrosh
816c810791
Windows fix
...
This was SVN commit r8614.
2010-11-15 00:48:34 +00:00
Ykkrosh
4a1bc8e11a
Optimise LOS visibility updates
...
This was SVN commit r8613.
2010-11-15 00:36:15 +00:00
Ykkrosh
4100a13e0a
# Add resource shuttling.
...
Add resource-carrying animations/props to an actor for testing.
Warn more quietly about invalid cursor names.
This was SVN commit r8589.
2010-11-13 19:15:29 +00:00
Ykkrosh
1840bb3507
Stop units walking outside the edges of circular maps.
...
Switch the GUI between square/circular minimap automatically.
This was SVN commit r8500.
2010-10-30 18:25:34 +00:00
Ykkrosh
02aa8499ed
Partial experimental version of circular maps
...
This was SVN commit r8470.
2010-10-25 21:59:52 +00:00
Ykkrosh
e13196e7a2
Fix serialization of most components
...
This was SVN commit r8449.
2010-10-23 19:59:40 +00:00
Ykkrosh
ab77ec40e4
Fix highlighting of obstructed building placement previews.
...
Prevent building in non-visible areas.
Fixes #594 .
This was SVN commit r8272.
2010-10-04 17:34:33 +00:00
Ykkrosh
fcedcae052
# Add victory/defeat conditions, based on patch from fcxSanya.
...
Fixes #565 .
This was SVN commit r8234.
2010-10-01 20:51:21 +00:00
Ykkrosh
924d1219a7
# Add fog-of-war.
...
Move Vision component to C++, for more efficient FoW processing.
Disable FoW on demo maps.
This was SVN commit r8160.
2010-09-23 12:13:13 +00:00
Ykkrosh
3d8d354a18
# Optimise spatial queries.
...
This was SVN commit r8136.
2010-09-19 18:08:56 +00:00
janwas
2e7436434d
warning fixes: mostly size_t vs. specialized API type and other type conversion.
...
added player_id_t typedef and INVALID_PLAYER, use that instead of -1.
also added sanity checks to cpu.cpp to ensure ARCH_* is correct (see
http://www.wildfiregames.com/forum/index.php?showtopic=13327&hl= )
and further predefined macros to arch.h just to be sure.
This was SVN commit r8079.
2010-09-05 09:38:30 +00:00
Ykkrosh
423b31c130
Fix units trying to move outside themselves when ordered to their current location.
...
Remove redundant comparisons in pathfinder.
Simplify range query result ordering.
Avoid throwing exception on script errors in debug serializer.
This was SVN commit r7828.
2010-07-31 21:22:39 +00:00
Ykkrosh
3124b55cc0
Warning fixes
...
This was SVN commit r7821.
2010-07-29 21:04:07 +00:00
Ykkrosh
0cd0a1f584
# Add auto-attacking of nearby enemies.
...
Add general range-detection code.
Avoid unnecessarily computing 3D entity positions.
This was SVN commit r7817.
2010-07-29 20:39:23 +00:00