Commit Graph

20 Commits

Author SHA1 Message Date
fe6370aff8 more dehydra. disabled lockfree module (not in use).
This was SVN commit r6240.
2008-07-17 17:00:00 +00:00
10237a66c7 GCC/Linux build fixes
This was SVN commit r6107.
2008-06-25 23:01:13 +00:00
b5987f11e8 Cleaned up TerrainOverlay a little
This was SVN commit r6104.
2008-06-24 23:35:46 +00:00
455556783e # Fixed walking on a multistep path, which sometimes stopped after the first few steps.
The problem was incorrect logic in the start-next-segment-of-the-path
code that was added to allow multiple segments to be handled within the
same update. I'm not sure how this worked before but it seemed to give
continuous paths! Likely that's because the pathing for contact actions
is different.

Also added more sanity checks in Aura.cpp for deleted entities in the
m_Influenced queue. There was a crash caused by something here though
it's hard to reproduce.

This was SVN commit r5597.
2008-02-04 08:24:17 +00:00
f304a4debe Enable overlays other than the pathfinding one when the pathfinding one is hidden.
This was SVN commit r5496.
2007-12-01 18:05:46 +00:00
kai
7ba586b16e adding flag -triPathfind to enable triangulation pathfinding. it will use the orignial A* without the flag
This was SVN commit r5397.
2007-10-10 19:35:23 +00:00
kai
e595dbc88e pathfinding change: the engine uses Triangulation and A* on triangles now. dcdt package added. premake.lua changed to include the dcdt code. it needs to run update-workspaces.bat (flag -showOverlay will draw the triangulation and a single unit paths)
This was SVN commit r5393.
2007-10-09 07:27:45 +00:00
73683b6109 # SwEng
. the massive renaming undertaking: camelCase functions -> PascalCase.
. add some cppdoc.
. minor additional renaming improvements: e.g. GetIsClosed -> IsClosed
. in entity code, replace constructs like "pvec = new vector; return
pvec; use *pvec; delete pvec" with a simple stack variable passed as
output parameter (avoid unnecessary dynamic allocs)
. timer: simpler handling of raw ticks vs normal timer (less #if)

This was SVN commit r5017.
2007-05-02 12:07:08 +00:00
db045c330b # Made Atlas compile on linux
graphics: basic terrain passibility
atlas: lots of changes to make atlas compile under linux
unix/X: more clipboard support - copy from 0AD to other programs
unix/debug: use sys_get_executable_name instead of hard-coded paths
... and lots of other misc. changes

This was SVN commit r4640.
2006-11-12 04:02:36 +00:00
fa229121ec Bug fixes and more game setup options.
- Added "Screenshot Mode" and "Fog of War" game attributes. (Screenshot
Mode causes units to be initialized to Hold stance instead of Aggress
and also forces LOS to be All Visible. Atlas turn on Screenshot Mode by
default so units don't try to kill each other in there.)
- Modified LOSManager to allow disabling fog of war.
- Removed some debug message spam.
- Enabled line antialiasing for aura rendering and fixed some bugs that
caused strange effects (color was not set properly for the center point,
and when a unit was both mouseover'ed and selected, the aura was drawn
twice).
- Modified Stand stance to allow retaliation on attacks (normally Stand
will attack any enemy in LOS, but this is useful if a neutral unit is in
LOS).
- Modified pathfinder to not take into account terrain slope, which is
an expensive calculation - we'll eventually take into account terrain
type instead.

This was SVN commit r4527.
2006-10-08 17:39:46 +00:00
2337cb203a # Order queueing for construction.
This was SVN commit r4497.
2006-10-06 14:21:16 +00:00
0df95f3e8f Things without a death animation will now disappear when killed.
Also removed some debug info and added some checks for passability in
pathfinding to avoid long searches when the source or destination is
impassable.

This was SVN commit r4495.
2006-10-06 05:38:57 +00:00
a2432adad3 # GCC 4.1.1 compatibility
which is just "class C { void C::f(); }" code, which other compilers
seem to have ignored.
Also removed HAVE_PCH from GCC because our build system doesn't have
PCH. Added necessary headers to make it compile again.

This was SVN commit r4437.
2006-09-30 15:46:40 +00:00
44fe226dd2 # Housekeeping and pathfinder enhancements / optimization when dealing with ranged actions.
- Modified Xeromyces to no longer automatically convert element and
attribute names to lowercase, so that we can have camelCase names. We
should now be able to convert all the multi-word entity properties, like
pass_through_allies, to camelCase, like passThroughAllies, which is more
consistent with the rest of our JavaScript naming conventions. To
support the existing code that assumes lowercase element names, I made
the getElementID and getAttributeID methods (used in the EL and AT
macros) ignore case, and I changed any code that directly accessed
element names to use the right case. CEntityTemplate now converts
Names_LikeThis to names_likeThis (changing each separate "word" in the
name to camelCase). Changed the version letter in XMB filenames from A
to B to support this without requiring people to delete old XMBs.

- Enhanced the pathfinder's handling of contact paths, resulting in a
very large speedup for actions like attacking, construction, etc. The
problem was that the pathfinder used to not count a given state as the
goal unless it was exactly coincident with the target location. This is
fine when you order a unit to go exactly to a certain spot, but if
you're ordering a unit to build, gather or attack something, then the
target tile is impassable (because your target is there) and therefore
the pathfinder never declares a state final. As a result, the pathfinder
tries hundreds of extra tiles in case there is a long path that gets to
the goal, and after failing to find any path that reaches the goal, it
gives you one to the closest point it got to. To fix it, I made the
pathfinder take into account a radius around the goal in which it's OK
to be, which depends on the size of the target unit and the range of
your action.

This was SVN commit r4186.
2006-08-01 03:41:21 +00:00
04e36e4bef Hopefully closes #126
This was SVN commit r4015.
2006-06-23 01:00:20 +00:00
d39a4fac21 Premake: include precompiled.h in the project; set up dependencies for Atlas projects.
# Attempted to make compilation faster
by including as little as possible in some .h files, and moving it into
.cpp.
Fixed BaseTechCollection memory leak.

This was SVN commit r3992.
2006-06-09 16:44:16 +00:00
5f7855f7f0 Simplification of #Include paths: relative names are used only for included files in the same directory as the including file; everything else uses the full path relative to source/.
This was SVN commit r3930.
2006-06-02 02:10:27 +00:00
bde2a0b0c7 # Fixed a pathfinder bug.
The pathfinder was pushing locations with negative coordinates (or
coordinates larger than the map size) onto the queue, which led to
memory corruption in CAStarEngine's node array and later a crash in its
destructor.

This was SVN commit r3923.
2006-06-01 06:04:32 +00:00
bca1f982eb This was SVN commit r3921. 2006-06-01 03:26:51 +00:00
kevmo
68644fb42b # Updated pathfinding to improve speed and ignore allied unit collisions
- Pulled out the A* implementation to a separate class to support reuse
of code for the high level pathfinder
- Cached the the open/closed status of nodes to improve speed
- Added a maximum node limit before the search is cut off
(DEFAULT_SEARCH_LIMIT in AStarEngine.cpp for now)
- Allied unit collisions are now ignored

This was SVN commit r3861.
2006-05-13 18:50:58 +00:00