No description
Find a file
trompetin17 c8c1522953
Fix memory leak from Font
FreeType’s FT_Glyph_To_Bitmap mutates the FT_Glyph by allocating a new
glyph object and overwriting the input pointer. This creates a risk of
memory leaks if the old glyph isn’t released or if ownership is unclear.

To avoid this, we now store the glyph in a UniqueFTGlyph and explicitly
pass it by reference to FT_Glyph_To_Bitmap. After the mutation,
ownership continues to reside in the smart pointer, and cleanup is
guaranteed even in error branches.

For temporary glyphs (e.g., strokes), we still manually call
FT_Done_Glyph, since they are not managed by UniqueFTGlyph. These
changes ensure all glyph memory is correctly released and reduce the
need for repetitive error-path cleanup code.
2025-05-22 11:35:12 -05:00
.gitea Fix Gitea actions syntax on push events 2025-05-15 11:45:25 +02:00
binaries Increase range of Ptolemaic lighthouse 2025-05-22 08:18:24 +02:00
build Never strip binaries automatically 2025-05-22 17:32:39 +02:00
docs docs: Improve Doxygen Visuals and Build process 2024-10-26 19:33:38 +02:00
libraries Disable system libs for WxWidgets 2025-05-21 08:54:45 +02:00
source Fix memory leak from Font 2025-05-22 11:35:12 -05:00
.editorconfig Add a Jenkinsfile linter 2025-05-08 19:50:21 +02:00
.gitattributes Add CJK fonts for Text Engine 2025-05-21 16:16:36 +02:00
.gitignore Adds libraries/win64 to .gitignore. 2025-04-26 20:53:22 +02:00
.groovylintrc.json Add a Jenkinsfile linter 2025-05-08 19:50:21 +02:00
.markdownlint.yaml Add a markdownlint pre-commit hook 2024-08-27 10:06:31 +02:00
.pre-commit-config.yaml Update the pre-commit hooks 2025-01-11 21:44:52 +01:00
.shellcheckrc Add util.sh shell library 2025-03-30 18:05:56 +02:00
.yamllint.yaml Add yamllint to pre-commit 2024-09-08 13:08:11 +02:00
LICENSE.md Fix incorrect shaders path in LICENSE.md 2025-05-01 17:13:37 +02:00
license_dbghelp.txt Convert license_dbghelp.txt to UTF-8 2024-08-31 17:04:05 +02:00
license_gpl-2.0.txt
license_lgpl-2.1.txt
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
README.md Add more badges to the UI. 2025-03-22 14:11:24 +01:00
ruff.toml Enable a few more ruff rules 2025-03-03 14:18:40 +01:00

0 A.D. Introductory Information

FreeBSD Build Status Linux Build Status macOS Build Status Windows Build Status

Game References Checks Status Pre-commit Checks Status

Bi-Weekly Bundles Status Technical Docs Status Nightly Build Status

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:

Running precompiled binaries on Windows

A precompiled, ready-to-play development version of the game is available from a checkout of the nightly-build SVN repository. If you are using the git repository, you have to follow the steps below.

In a checkout of the nightly-build SVN repository, 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 BuildInstructions.

Reporting problems

Bugs should be reported on Gitea. For information on reporting problems and finding logs, see ReportingErrors.

Contributing Code

If you want to help out programming for the game, have a look at GettingStartedProgrammers or contact us on #0ad-dev on irc.quakenet.org

Contributing Artwork

If you want to make artwork for the game, have a look at For Artists or visit the forums.

Translating

You can help translating the game at https://www.transifex.com/projects/p/0ad for more information, see Localization