1
1
forked from 0ad/0ad
Go to file
wraitii 2cc071f306 Fix memory leak introduced by 3a839517ce in SparseGrid
Following 3a839517ce, SparseGrid::Reset() replaces the value of m_Data
(a C-style dynamically sized array) with a new value-initialised array,
by using the new operator. Previous code simply did a memset.
This means that when m_Data was not null, it leaked memory as the
previous array was not deleted.

SparseGrid::Reset is called when destroying the sparse grid, and a
SparseGrid is used by the long pathfinder when computing JPS paths. As
that is called rather often, it resulted in a relatively serious memory
leak that could make very long games use several GB of memory.

This fixes the leak by using placement new, which re-uses the memory,
effectively doing the same as the previously existing memset.

Profiling by historic_bruno and elexis showed that performance from
value-initialising with placement new was at worst similar to memset,
and testing shows this was compiled in a memset call in several cases
anyways.

Reviewed By: elexis
Fixes #5522

Differential Revision: https://code.wildfiregames.com/D2121
This was SVN commit r22545.
2019-07-24 17:11:22 +00:00
binaries Update the gather LastPos alongside the combat LastPos when hunting to more efficiently hunt. 2019-07-24 15:55:07 +00:00
build Disable eslint curly rule, because none of its configurable enforcement reflects the curly brace convention of this repository, refs #5524. 2019-07-22 19:55:52 +00:00
docs Update the pathfinder docs. 2015-06-27 15:16:21 +00:00
libraries Disables GnuTLS Native Language Support in build-osx-libs.sh, refs #5503 2019-07-17 14:51:57 +00:00
source Fix memory leak introduced by 3a839517ce in SparseGrid 2019-07-24 17:11:22 +00:00
.arcconfig Add an Arcanist configuration file to interact with Phabricator. 2016-12-22 08:26:18 +00:00
.arclint Upgrade premake5 from alpha12 to alpha13, refs #3729. 2019-01-04 21:20:45 +00:00
.coafile Add Coala Bear for the license header check. 2019-01-02 23:12:51 +00:00
.gitattributes Deletes internal mod (see SVN history if needed) 2013-02-14 22:32:17 +00:00
license_dbghelp.txt Initial attempt at describing licensing details 2009-06-20 17:45:51 +00:00
license_gpl-2.0.txt Initial attempt at describing licensing details 2009-06-20 17:45:51 +00:00
license_lgpl-2.1.txt Initial attempt at describing licensing details 2009-06-20 17:45:51 +00:00
license_mit.txt Adds globalscripts/BicubicInterpolation.js, the corresponding license_mit.txt and points to it for other files with the same license in LICENSE.txt - reviewed by Philip and Itms. Uses that to fix an interpolation issue in gaia.js and also fixes a "fail by one" there - reviewed by elexis. Fixes #4174 2016-09-06 21:49:57 +00:00
LICENSE.txt Drop premake4 support, refs #3729. premake4 has been unused for a long time now, and was only left available as a safety net. 2018-12-26 16:00:53 +00:00
README.txt Changes various urls to point to the new website and fixes some broken forum urls. 2012-12-11 23:04:03 +00:00

 0 A.D. Introductory Information
=================================

0 A.D. (pronounced "zero ey-dee") is a free, open-source, cross-platform
real-time strategy game of ancient warfare.

This is currently an incomplete, under-development version of the game.
We're always interested in getting more people involved, to help bring the game
towards completion and to share the interesting experience of developing a
project of this scope.

There are several ways to contact us and find more information:

  Web site: http://play0ad.com/

  Forums: http://www.wildfiregames.com/forum/

  Trac (development info, bug tracker): http://trac.wildfiregames.com/

  IRC: #0ad on irc.quakenet.org


---------------------------------------
Running precompiled binaries on Windows
---------------------------------------

Open the "binaries\system" folder.

To launch the game: Run pyrogenesis.exe

To launch the map editor: Run Atlas.bat or "pyrogenesis.exe -editor"


-----------------------------------
Compiling the game from source code
-----------------------------------

The instructions for compiling the game on Windows, Linux and OS X are at
http://trac.wildfiregames.com/wiki/BuildInstructions


------------------
Reporting problems
------------------

Bugs should be reported on Trac. For information on reporting problems
and finding logs, see http://trac.wildfiregames.com/wiki/ReportingErrors