mirror of
https://gitea.wildfiregames.com/0ad/0ad
synced 2026-06-16 05:13:58 -07:00
Update trac links with gitea links
This replaces all links pointing to trac with their corresponding links to gitea. Also replace http with https while at it. Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
This commit is contained in:
parent
38a0a0cf2e
commit
ead62bba78
44 changed files with 59 additions and 59 deletions
|
|
@ -5,7 +5,7 @@
|
||||||
;
|
;
|
||||||
; This file is used by the engine to decide which mods are mounted, and in what
|
; This file is used by the engine to decide which mods are mounted, and in what
|
||||||
; order. The precense of this file suppresses loading of mods in the user mod
|
; order. The precense of this file suppresses loading of mods in the user mod
|
||||||
; path (see http://trac.wildfiregames.com/wiki/GameDataPaths) if the same mod is
|
; path (see https://gitea.wildfiregames.com/0ad/0ad/wiki/GameDataPaths) if the same mod is
|
||||||
; present in binaries/data/mods. It also implies -noUserMod.
|
; present in binaries/data/mods. It also implies -noUserMod.
|
||||||
; This is done to make saved maps end up in the right mod folder (and in the
|
; This is done to make saved maps end up in the right mod folder (and in the
|
||||||
; game-relative data path) to commit them later on.
|
; game-relative data path) to commit them later on.
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
0 A.D. is designed to be easily modded. Mods are distributed in the form of .pyromod files, which can be opened like .zip files.
|
0 A.D. is designed to be easily modded. Mods are distributed in the form of .pyromod files, which can be opened like .zip files.
|
||||||
|
|
||||||
In order to install a mod, just open the file with 0 A.D. (either double-click on the file and choose to open it with the game, or run "pyrogenesis file.pyromod" in a terminal). The mod will then be available in the mod selector. You can enable it and disable it at will. You can delete the mod manually using your file browser if needed (see https://trac.wildfiregames.com/wiki/GameDataPaths).
|
In order to install a mod, just open the file with 0 A.D. (either double-click on the file and choose to open it with the game, or run "pyrogenesis file.pyromod" in a terminal). The mod will then be available in the mod selector. You can enable it and disable it at will. You can delete the mod manually using your file browser if needed (see https://gitea.wildfiregames.com/0ad/0ad/wiki/GameDataPaths).
|
||||||
|
|
||||||
For more information about modding the game, see the Modding Guide online (click the Modding Guide button below).
|
For more information about modding the game, see the Modding Guide online (click the Modding Guide button below).
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
</object>
|
</object>
|
||||||
<object type="button" style="ModernButtonRed" size="100%-408 100%-52 100%-218 100%-24">
|
<object type="button" style="ModernButtonRed" size="100%-408 100%-52 100%-218 100%-24">
|
||||||
<translatableAttribute id="caption">Modding Guide</translatableAttribute>
|
<translatableAttribute id="caption">Modding Guide</translatableAttribute>
|
||||||
<action on="Press">Engine.OpenURL("https://trac.wildfiregames.com/wiki/Modding_Guide");</action>
|
<action on="Press">Engine.OpenURL("https://gitea.wildfiregames.com/0ad/0ad/wiki/Modding_Guide");</action>
|
||||||
</object>
|
</object>
|
||||||
<object type="button" style="ModernButtonRed" size="100%-214 100%-52 100%-24 100%-24">
|
<object type="button" style="ModernButtonRed" size="100%-214 100%-52 100%-24 100%-24">
|
||||||
<translatableAttribute id="caption">Visit mod.io</translatableAttribute>
|
<translatableAttribute id="caption">Visit mod.io</translatableAttribute>
|
||||||
|
|
|
||||||
|
|
@ -258,7 +258,7 @@ function RunDetection(settings)
|
||||||
dialog_warnings.push("You are using 260.19.* series NVIDIA drivers, which may crash the game. Please upgrade to 260.19.21 or later.");
|
dialog_warnings.push("You are using 260.19.* series NVIDIA drivers, which may crash the game. Please upgrade to 260.19.21 or later.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://trac.wildfiregames.com/ticket/684
|
// https://gitea.wildfiregames.com/0ad/0ad/issues/684
|
||||||
// https://bugs.freedesktop.org/show_bug.cgi?id=24047
|
// https://bugs.freedesktop.org/show_bug.cgi?id=24047
|
||||||
// R600 drivers will advertise support for S3TC but not actually support it,
|
// R600 drivers will advertise support for S3TC but not actually support it,
|
||||||
// and will draw everything in grey instead, so forcibly disable S3TC.
|
// and will draw everything in grey instead, so forcibly disable S3TC.
|
||||||
|
|
@ -266,7 +266,7 @@ function RunDetection(settings)
|
||||||
if (os_unix && GL_RENDERER.match(/^Mesa DRI R600 /))
|
if (os_unix && GL_RENDERER.match(/^Mesa DRI R600 /))
|
||||||
disable_s3tc = true;
|
disable_s3tc = true;
|
||||||
|
|
||||||
// https://trac.wildfiregames.com/ticket/623
|
// https://gitea.wildfiregames.com/0ad/0ad/issues/623
|
||||||
// Shadows are reportedly very slow on various drivers:
|
// Shadows are reportedly very slow on various drivers:
|
||||||
// r300 classic
|
// r300 classic
|
||||||
// Intel 945
|
// Intel 945
|
||||||
|
|
@ -297,7 +297,7 @@ function RunDetection(settings)
|
||||||
disable_shadowpcf = true;
|
disable_shadowpcf = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://trac.wildfiregames.com/ticket/780
|
// https://gitea.wildfiregames.com/0ad/0ad/issues/780
|
||||||
// r300 classic has problems with shader mode, so fall back to non-shader
|
// r300 classic has problems with shader mode, so fall back to non-shader
|
||||||
if (os_unix && GL_RENDERER.match(/^Mesa DRI R[123]00 /))
|
if (os_unix && GL_RENDERER.match(/^Mesa DRI R[123]00 /))
|
||||||
{
|
{
|
||||||
|
|
@ -313,7 +313,7 @@ function RunDetection(settings)
|
||||||
disable_allwater = true;
|
disable_allwater = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://trac.wildfiregames.com/ticket/964
|
// https://gitea.wildfiregames.com/0ad/0ad/issues/964
|
||||||
// SiS Mirage 3 drivers apparently crash with shaders, so fall back to non-shader
|
// SiS Mirage 3 drivers apparently crash with shaders, so fall back to non-shader
|
||||||
// (The other known SiS cards don't advertise GL_ARB_fragment_program so we
|
// (The other known SiS cards don't advertise GL_ARB_fragment_program so we
|
||||||
// don't need to do anything special for them)
|
// don't need to do anything special for them)
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
|
|
||||||
<object name="url" type="button" style="ModernButtonRed" size="100%-214 100%-52 100%-24 100%-24">
|
<object name="url" type="button" style="ModernButtonRed" size="100%-214 100%-52 100%-24 100%-24">
|
||||||
<translatableAttribute id="caption">View Online</translatableAttribute>
|
<translatableAttribute id="caption">View Online</translatableAttribute>
|
||||||
<action on="Press">openURL("https://trac.wildfiregames.com/wiki/0adManual");</action>
|
<action on="Press">openURL("https://gitea.wildfiregames.com/0ad/0ad/wiki/0adManual");</action>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ var g_CommunityButtons = [
|
||||||
"tooltip": translate("Click to visit 0 A.D. Trac to report a bug, crash, or error."),
|
"tooltip": translate("Click to visit 0 A.D. Trac to report a bug, crash, or error."),
|
||||||
"size": "8 100%-108 50%-4 100%-80",
|
"size": "8 100%-108 50%-4 100%-80",
|
||||||
"onPress": () => {
|
"onPress": () => {
|
||||||
openURL("https://trac.wildfiregames.com/wiki/ReportingErrors/");
|
openURL("https://gitea.wildfiregames.com/0ad/0ad/wiki/ReportingErrors/");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -50,7 +50,7 @@ var g_CommunityButtons = [
|
||||||
"tooltip": translate("Click to visit the Frequently Asked Questions page in your browser."),
|
"tooltip": translate("Click to visit the Frequently Asked Questions page in your browser."),
|
||||||
"size": "50%+4 100%-108 100%-8 100%-80",
|
"size": "50%+4 100%-108 100%-8 100%-80",
|
||||||
"onPress": () => {
|
"onPress": () => {
|
||||||
openURL("https://trac.wildfiregames.com/wiki/FAQ");
|
openURL("https://gitea.wildfiregames.com/0ad/0ad/wiki/FAQ");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -58,7 +58,7 @@ var g_CommunityButtons = [
|
||||||
"tooltip": translate("Click to open the 0 A.D. translate page in your browser."),
|
"tooltip": translate("Click to open the 0 A.D. translate page in your browser."),
|
||||||
"size": "8 100%-72 100%-8 100%-44",
|
"size": "8 100%-72 100%-8 100%-44",
|
||||||
"onPress": () => {
|
"onPress": () => {
|
||||||
openURL("https://trac.wildfiregames.com/wiki/Localization");
|
openURL("https://gitea.wildfiregames.com/0ad/0ad/wiki/Localization");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -77,4 +77,4 @@ Requests that are manifestly unfounded or excessive are not responded to or may
|
||||||
12. Wildfire Games will not knowingly collect personal data from children under the age of 13 (Children's Online Privacy Protection Act). If you believe Wildfire Games received any personal data from or about a child under 13, please contact Wildfire Games.
|
12. Wildfire Games will not knowingly collect personal data from children under the age of 13 (Children's Online Privacy Protection Act). If you believe Wildfire Games received any personal data from or about a child under 13, please contact Wildfire Games.
|
||||||
13. Where Wildfire Games processes sensitive personal data based on legitimate interests, Wildfire Games considers performing, recording and periodically reviewing Legitimate Interests Assessments and Data Protection Impact Assessments (GDPR 35) to become confident that the individual's interests do not override Wildfire Games legitimate interests, and that Wildfire Games is not using personal data in intrusive ways unless there is a very good reason to.
|
13. Where Wildfire Games processes sensitive personal data based on legitimate interests, Wildfire Games considers performing, recording and periodically reviewing Legitimate Interests Assessments and Data Protection Impact Assessments (GDPR 35) to become confident that the individual's interests do not override Wildfire Games legitimate interests, and that Wildfire Games is not using personal data in intrusive ways unless there is a very good reason to.
|
||||||
|
|
||||||
For further information on Wildfire Games Privacy Policies, visit https://trac.wildfiregames.com/wiki/UserDataProtection
|
For further information on Wildfire Games Privacy Policies, visit https://gitea.wildfiregames.com/0ad/0ad/wiki/UserDataProtection
|
||||||
|
|
|
||||||
|
|
@ -77,4 +77,4 @@ Wildfire Games does not perform any automated decision making affecting natural
|
||||||
|
|
||||||
If parts of the terms are held to be illegal or otherwise unenforceable, the remainder of the terms shall still apply ('severability').
|
If parts of the terms are held to be illegal or otherwise unenforceable, the remainder of the terms shall still apply ('severability').
|
||||||
|
|
||||||
For further information on Wildfire Games Privacy Policies, visit https://trac.wildfiregames.com/wiki/UserDataProtection
|
For further information on Wildfire Games Privacy Policies, visit https://gitea.wildfiregames.com/0ad/0ad/wiki/UserDataProtection
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
The game only writes files here if you specified -writableRoot on the command line.
|
The game only writes files here if you specified -writableRoot on the command line.
|
||||||
Otherwise it varies by operating system, see http://trac.wildfiregames.com/wiki/GameDataPaths
|
Otherwise it varies by operating system, see https://gitea.wildfiregames.com/0ad/0ad/wiki/GameDataPaths
|
||||||
for the correct logs path on your OS.
|
for the correct logs path on your OS.
|
||||||
|
|
@ -15,7 +15,7 @@ https://secure.phabricator.com/book/phabricator/article/arcanist_lint/
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
This assumes you have arcanist already installed. If not, consult
|
This assumes you have arcanist already installed. If not, consult
|
||||||
https://trac.wildfiregames.com/wiki/Phabricator#UsingArcanist .
|
https://gitea.wildfiregames.com/0ad/0ad/wiki/Phabricator#UsingArcanist .
|
||||||
|
|
||||||
The linting is done via custom PHP scripts, residing in `pyrolint/`.
|
The linting is done via custom PHP scripts, residing in `pyrolint/`.
|
||||||
Configuration is at the root of the project, under `.arclint`.
|
Configuration is at the root of the project, under `.arclint`.
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,8 @@
|
||||||
<category>StrategyGame</category>
|
<category>StrategyGame</category>
|
||||||
</categories>
|
</categories>
|
||||||
<url type="homepage">https://play0ad.com/</url>
|
<url type="homepage">https://play0ad.com/</url>
|
||||||
<url type="bugtracker">https://trac.wildfiregames.com/</url>
|
<url type="bugtracker">https://gitea.wildfiregames.com/0ad/0ad/issues/</url>
|
||||||
<url type="translate">https://trac.wildfiregames.com/wiki/Localization</url>
|
<url type="translate">https://gitea.wildfiregames.com/0ad/0ad/wiki/Localization</url>
|
||||||
<url type="donation">https://play0ad.com/community/donate/</url>
|
<url type="donation">https://play0ad.com/community/donate/</url>
|
||||||
<screenshots>
|
<screenshots>
|
||||||
<screenshot type="default">https://play0ad.com/wp-content/gallery/screenshots/screenshot0072.jpg</screenshot>
|
<screenshot type="default">https://play0ad.com/wp-content/gallery/screenshots/screenshot0072.jpg</screenshot>
|
||||||
|
|
|
||||||
|
|
@ -285,7 +285,7 @@ public:
|
||||||
// To indicate this special case, we use a bone ID set to the total number
|
// To indicate this special case, we use a bone ID set to the total number
|
||||||
// of bones in the model, which will have a special "bone matrix" reserved
|
// of bones in the model, which will have a special "bone matrix" reserved
|
||||||
// that contains the world space transform of the model during skinning.
|
// that contains the world space transform of the model during skinning.
|
||||||
// (see http://trac.wildfiregames.com/ticket/1012)
|
// (see https://gitea.wildfiregames.com/0ad/0ad/issues/1012)
|
||||||
influences.bones[j] = (uint8)jointCount;
|
influences.bones[j] = (uint8)jointCount;
|
||||||
influences.weights[j] = vertexInfluences[i].GetPair(j)->weight;
|
influences.weights[j] = vertexInfluences[i].GetPair(j)->weight;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -175,7 +175,7 @@ private:
|
||||||
/**
|
/**
|
||||||
* Finalize map generation and pass results from the script to the engine.
|
* Finalize map generation and pass results from the script to the engine.
|
||||||
* The `data` has to be according to this format:
|
* The `data` has to be according to this format:
|
||||||
* https://trac.wildfiregames.com/wiki/Random_Map_Generator_Internals#Dataformat
|
* https://gitea.wildfiregames.com/0ad/0ad/wiki/Random_Map_Generator_Internals#Dataformat
|
||||||
*/
|
*/
|
||||||
void ExportMap(JS::HandleValue data)
|
void ExportMap(JS::HandleValue data)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@
|
||||||
* `g_MapSettings` also respects this flags.
|
* `g_MapSettings` also respects this flags.
|
||||||
* @return If there is an error `nullptr` is returned. Otherwise random map
|
* @return If there is an error `nullptr` is returned. Otherwise random map
|
||||||
* data, according to this format:
|
* data, according to this format:
|
||||||
* https://trac.wildfiregames.com/wiki/Random_Map_Generator_Internals#Dataformat
|
* https://gitea.wildfiregames.com/0ad/0ad/wiki/Random_Map_Generator_Internals#Dataformat
|
||||||
*/
|
*/
|
||||||
Script::StructuredClone RunMapGenerationScript(const StopToken stopToken, std::atomic<int>& progress,
|
Script::StructuredClone RunMapGenerationScript(const StopToken stopToken, std::atomic<int>& progress,
|
||||||
ScriptInterface& scriptInterface, const VfsPath& script, const std::string& settings,
|
ScriptInterface& scriptInterface, const VfsPath& script, const std::string& settings,
|
||||||
|
|
|
||||||
|
|
@ -318,7 +318,7 @@ void CModel::ValidatePosition()
|
||||||
// which we indicate with the blending bone ID set to the total number
|
// which we indicate with the blending bone ID set to the total number
|
||||||
// of bones. But since we're skinning in world space, we use the model's
|
// of bones. But since we're skinning in world space, we use the model's
|
||||||
// world space transform and store that matrix in this special index.
|
// world space transform and store that matrix in this special index.
|
||||||
// (see http://trac.wildfiregames.com/ticket/1012)
|
// (see https://gitea.wildfiregames.com/0ad/0ad/issues/1012)
|
||||||
m_BoneMatrices[m_pModelDef->GetNumBones()] = m_Transform;
|
m_BoneMatrices[m_pModelDef->GetNumBones()] = m_Transform;
|
||||||
|
|
||||||
if (computeBlendMatrices)
|
if (computeBlendMatrices)
|
||||||
|
|
|
||||||
|
|
@ -266,7 +266,7 @@ void CModelDef::BlendBoneMatrices(
|
||||||
// which we indicate by setting the bone ID to the total number of bones.
|
// which we indicate by setting the bone ID to the total number of bones.
|
||||||
// It should be blended with the world space transform and we have already
|
// It should be blended with the world space transform and we have already
|
||||||
// set up this matrix in boneMatrices.
|
// set up this matrix in boneMatrices.
|
||||||
// (see http://trac.wildfiregames.com/ticket/1012)
|
// (see https://gitea.wildfiregames.com/0ad/0ad/issues/1012)
|
||||||
|
|
||||||
boneMatrix.Blend(boneMatrices[blend.m_Bone[0]], blend.m_Weight[0]);
|
boneMatrix.Blend(boneMatrices[blend.m_Bone[0]], blend.m_Weight[0]);
|
||||||
for (size_t j = 1; j < SVertexBlend::SIZE && blend.m_Bone[j] != 0xFF; ++j)
|
for (size_t j = 1; j < SVertexBlend::SIZE && blend.m_Bone[j] != 0xFF; ++j)
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@
|
||||||
* Shader manager: loads and caches shader programs.
|
* Shader manager: loads and caches shader programs.
|
||||||
*
|
*
|
||||||
* For a high-level overview of shaders and materials, see
|
* For a high-level overview of shaders and materials, see
|
||||||
* http://trac.wildfiregames.com/wiki/MaterialSystem
|
* https://gitea.wildfiregames.com/0ad/0ad/wiki/MaterialSystem
|
||||||
*/
|
*/
|
||||||
class CShaderManager
|
class CShaderManager
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ void CUnit::ReloadObject()
|
||||||
// randomly select any remain selections necessary to completely identify a variation (e.g., the new selection
|
// randomly select any remain selections necessary to completely identify a variation (e.g., the new selection
|
||||||
// made might define some additional props that require a random variant choice). Also, FindObjectVariation
|
// made might define some additional props that require a random variant choice). Also, FindObjectVariation
|
||||||
// expects the selectors passed to it to be complete.
|
// expects the selectors passed to it to be complete.
|
||||||
// see http://trac.wildfiregames.com/ticket/979
|
// see https://gitea.wildfiregames.com/0ad/0ad/issues/979
|
||||||
|
|
||||||
// If these selections give a different object, change this unit to use it
|
// If these selections give a different object, change this unit to use it
|
||||||
// Use the entity ID as randomization seed (same as when the unit was first created)
|
// Use the entity ID as randomization seed (same as when the unit was first created)
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ class Dictionary;
|
||||||
/**
|
/**
|
||||||
* %Singleton for internationalization and localization.
|
* %Singleton for internationalization and localization.
|
||||||
*
|
*
|
||||||
* @sa http://trac.wildfiregames.com/wiki/Internationalization_and_Localization
|
* @sa https://gitea.wildfiregames.com/0ad/0ad/wiki/Internationalization_and_Localization
|
||||||
*/
|
*/
|
||||||
class L10n : public Singleton<L10n>
|
class L10n : public Singleton<L10n>
|
||||||
{
|
{
|
||||||
|
|
@ -144,7 +144,7 @@ public:
|
||||||
* @sa GetAllLocales()
|
* @sa GetAllLocales()
|
||||||
* @sa GetCurrentLocale()
|
* @sa GetCurrentLocale()
|
||||||
*
|
*
|
||||||
* @sa http://trac.wildfiregames.com/wiki/Implementation_of_Internationalization_and_Localization#LongStringsLocale
|
* @sa https://gitea.wildfiregames.com/0ad/0ad/wiki/Implementation_of_Internationalization_and_Localization#LongStringsLocale
|
||||||
*/
|
*/
|
||||||
std::vector<std::string> GetSupportedLocaleBaseNames() const;
|
std::vector<std::string> GetSupportedLocaleBaseNames() const;
|
||||||
|
|
||||||
|
|
@ -162,7 +162,7 @@ public:
|
||||||
*
|
*
|
||||||
* @sa GetSupportedLocaleBaseNames()
|
* @sa GetSupportedLocaleBaseNames()
|
||||||
*
|
*
|
||||||
* @sa http://trac.wildfiregames.com/wiki/Implementation_of_Internationalization_and_Localization#LongStringsLocale
|
* @sa https://gitea.wildfiregames.com/0ad/0ad/wiki/Implementation_of_Internationalization_and_Localization#LongStringsLocale
|
||||||
*/
|
*/
|
||||||
std::vector<std::wstring> GetSupportedLocaleDisplayNames() const;
|
std::vector<std::wstring> GetSupportedLocaleDisplayNames() const;
|
||||||
|
|
||||||
|
|
@ -252,7 +252,7 @@ public:
|
||||||
* empty string to check the system locale directly.
|
* empty string to check the system locale directly.
|
||||||
* @return Code of a locale that the game supports.
|
* @return Code of a locale that the game supports.
|
||||||
*
|
*
|
||||||
* @sa http://trac.wildfiregames.com/wiki/Implementation_of_Internationalization_and_Localization#LongStringsLocale
|
* @sa https://gitea.wildfiregames.com/0ad/0ad/wiki/Implementation_of_Internationalization_and_Localization#LongStringsLocale
|
||||||
*/
|
*/
|
||||||
std::string GetDictionaryLocale(const std::string& configLocaleString) const;
|
std::string GetDictionaryLocale(const std::string& configLocaleString) const;
|
||||||
|
|
||||||
|
|
@ -275,7 +275,7 @@ public:
|
||||||
* empty string to check the system locale directly.
|
* empty string to check the system locale directly.
|
||||||
* @param outLocale The recommended locale.
|
* @param outLocale The recommended locale.
|
||||||
*
|
*
|
||||||
* @sa http://trac.wildfiregames.com/wiki/Implementation_of_Internationalization_and_Localization#LongStringsLocale
|
* @sa https://gitea.wildfiregames.com/0ad/0ad/wiki/Implementation_of_Internationalization_and_Localization#LongStringsLocale
|
||||||
*/
|
*/
|
||||||
void GetDictionaryLocale(const std::string& configLocaleString, icu::Locale& outLocale) const;
|
void GetDictionaryLocale(const std::string& configLocaleString, icu::Locale& outLocale) const;
|
||||||
|
|
||||||
|
|
@ -469,7 +469,7 @@ public:
|
||||||
* @param sourcePath %Path to localize.
|
* @param sourcePath %Path to localize.
|
||||||
* @return Localized path if it exists, @c sourcePath otherwise.
|
* @return Localized path if it exists, @c sourcePath otherwise.
|
||||||
*
|
*
|
||||||
* @sa http://trac.wildfiregames.com/wiki/Localization#LocalizingImages
|
* @sa https://gitea.wildfiregames.com/0ad/0ad/wiki/Localization#LocalizingImages
|
||||||
*/
|
*/
|
||||||
VfsPath LocalizePath(const VfsPath& sourcePath) const;
|
VfsPath LocalizePath(const VfsPath& sourcePath) const;
|
||||||
|
|
||||||
|
|
@ -527,7 +527,7 @@ private:
|
||||||
* Whether the game is using the special game locale with the longest
|
* Whether the game is using the special game locale with the longest
|
||||||
* strings of each translation (@c true) or not (@c false).
|
* strings of each translation (@c true) or not (@c false).
|
||||||
*
|
*
|
||||||
* @sa http://trac.wildfiregames.com/wiki/Implementation_of_Internationalization_and_Localization#LongStringsLocale
|
* @sa https://gitea.wildfiregames.com/0ad/0ad/wiki/Implementation_of_Internationalization_and_Localization#LongStringsLocale
|
||||||
*/
|
*/
|
||||||
bool m_UseLongStrings{false};
|
bool m_UseLongStrings{false};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ class ScriptRequest;
|
||||||
* This namespace defines JavaScript interfaces to functions defined in L10n and
|
* This namespace defines JavaScript interfaces to functions defined in L10n and
|
||||||
* related helper functions.
|
* related helper functions.
|
||||||
*
|
*
|
||||||
* @sa http://trac.wildfiregames.com/wiki/Internationalization_and_Localization
|
* @sa https://gitea.wildfiregames.com/0ad/0ad/wiki/Internationalization_and_Localization
|
||||||
*/
|
*/
|
||||||
namespace JSI_L10n
|
namespace JSI_L10n
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -116,7 +116,7 @@ uintptr_t os_cpu_SetThreadAffinityMask(uintptr_t UNUSED(processorMask))
|
||||||
// glibc __CPU_SETSIZE=1024 is smaller than required on some Linux (4096),
|
// glibc __CPU_SETSIZE=1024 is smaller than required on some Linux (4096),
|
||||||
// but the CONFIG_NR_CPUS in a header may not reflect the actual kernel,
|
// but the CONFIG_NR_CPUS in a header may not reflect the actual kernel,
|
||||||
// so we have to detect the limit at runtime.
|
// so we have to detect the limit at runtime.
|
||||||
// (see http://trac.wildfiregames.com/ticket/547 for additional information)
|
// (see https://gitea.wildfiregames.com/0ad/0ad/issues/547 for additional information)
|
||||||
static size_t maxCpus;
|
static size_t maxCpus;
|
||||||
|
|
||||||
static bool IsMaxCpusSufficient()
|
static bool IsMaxCpusSufficient()
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,7 @@ size_t os_cpu_LargePageSize()
|
||||||
{
|
{
|
||||||
largePageSize = pGetLargePageMinimum();
|
largePageSize = pGetLargePageMinimum();
|
||||||
// Note: checks disabled due to failing on Vista SP2 with old Xeon CPU
|
// Note: checks disabled due to failing on Vista SP2 with old Xeon CPU
|
||||||
// see http://trac.wildfiregames.com/ticket/2346
|
// see https://gitea.wildfiregames.com/0ad/0ad/issues/2346
|
||||||
//ENSURE(largePageSize != 0); // IA-32 and AMD64 definitely support large pages
|
//ENSURE(largePageSize != 0); // IA-32 and AMD64 definitely support large pages
|
||||||
//ENSURE(largePageSize > os_cpu_PageSize());
|
//ENSURE(largePageSize > os_cpu_PageSize());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1431,7 +1431,7 @@ static bool udt_fits_on_one_line(const wchar_t* type_name, size_t child_count, s
|
||||||
static Status udt_dump_normal(const wchar_t* type_name, const u8* p, size_t size, DumpState state, ULONG numChildren, const DWORD* children)
|
static Status udt_dump_normal(const wchar_t* type_name, const u8* p, size_t size, DumpState state, ULONG numChildren, const DWORD* children)
|
||||||
{
|
{
|
||||||
// special case: boost::unordered types are complex and may cause a stack overflow
|
// special case: boost::unordered types are complex and may cause a stack overflow
|
||||||
// see http://trac.wildfiregames.com/ticket/1813
|
// see https://gitea.wildfiregames.com/0ad/0ad/issues/1813
|
||||||
// TODO: at least give some info about them
|
// TODO: at least give some info about them
|
||||||
if(!wcsncmp(type_name, L"boost::unordered", 16))
|
if(!wcsncmp(type_name, L"boost::unordered", 16))
|
||||||
return INFO::CANNOT_HANDLE;
|
return INFO::CANNOT_HANDLE;
|
||||||
|
|
|
||||||
|
|
@ -277,8 +277,8 @@ long __stdcall wseh_ExceptionFilter(struct _EXCEPTION_POINTERS* ep)
|
||||||
const wchar_t* messageFormat =
|
const wchar_t* messageFormat =
|
||||||
L"Much to our regret we must report the program has encountered an error.\r\n"
|
L"Much to our regret we must report the program has encountered an error.\r\n"
|
||||||
L"\r\n"
|
L"\r\n"
|
||||||
L"Please let us know at https://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files.\r\n"
|
L"Please let us know at https://gitea.wildfiregames.com/0ad/0ad/issues/ and attach the crashlog.txt and crashlog.dmp files.\r\n"
|
||||||
L"You may find paths to these files at https://trac.wildfiregames.com/wiki/GameDataPaths \r\n"
|
L"You may find paths to these files at https://gitea.wildfiregames.com/0ad/0ad/wiki/GameDataPaths \r\n"
|
||||||
L"\r\n"
|
L"\r\n"
|
||||||
L"Details: unhandled exception (%ls)\r\n";
|
L"Details: unhandled exception (%ls)\r\n";
|
||||||
swprintf_s(message, ARRAY_SIZE(message), messageFormat, description);
|
swprintf_s(message, ARRAY_SIZE(message), messageFormat, description);
|
||||||
|
|
|
||||||
|
|
@ -444,7 +444,7 @@ static Status InitStructures()
|
||||||
if(header->id == 127) // end
|
if(header->id == 127) // end
|
||||||
break;
|
break;
|
||||||
if(header->length < sizeof(Header))
|
if(header->length < sizeof(Header))
|
||||||
return ERR::_3; // NOWARN (happens on some unknown BIOS, see http://trac.wildfiregames.com/ticket/2985)
|
return ERR::_3; // NOWARN (happens on some unknown BIOS, see https://gitea.wildfiregames.com/0ad/0ad/issues/2985)
|
||||||
|
|
||||||
const Header* next;
|
const Header* next;
|
||||||
const Strings strings = ExtractStrings(header, (const char*)end, next);
|
const Strings strings = ExtractStrings(header, (const char*)end, next);
|
||||||
|
|
|
||||||
|
|
@ -260,7 +260,7 @@ size_t TexCodecPng::hdr_size(const u8* UNUSED(file)) const
|
||||||
static void user_warning_fn(png_structp UNUSED(png_ptr), png_const_charp warning_msg)
|
static void user_warning_fn(png_structp UNUSED(png_ptr), png_const_charp warning_msg)
|
||||||
{
|
{
|
||||||
// Suppress this warning because it's useless and occurs on a large number of files
|
// Suppress this warning because it's useless and occurs on a large number of files
|
||||||
// see http://trac.wildfiregames.com/ticket/2184
|
// see https://gitea.wildfiregames.com/0ad/0ad/issues/2184
|
||||||
if (strcmp(warning_msg, "iCCP: known incorrect sRGB profile") == 0)
|
if (strcmp(warning_msg, "iCCP: known incorrect sRGB profile") == 0)
|
||||||
return;
|
return;
|
||||||
debug_printf("libpng warning: %s\n", warning_msg);
|
debug_printf("libpng warning: %s\n", warning_msg);
|
||||||
|
|
|
||||||
|
|
@ -211,7 +211,7 @@ void CBoundingBoxAligned::IntersectFrustumConservative(const CFrustum& frustum)
|
||||||
{
|
{
|
||||||
// if this bound is empty, then the result must be empty (we should not attempt to intersect with
|
// if this bound is empty, then the result must be empty (we should not attempt to intersect with
|
||||||
// a brush, may cause crashes due to the numeric representation of empty bounds -- see
|
// a brush, may cause crashes due to the numeric representation of empty bounds -- see
|
||||||
// http://trac.wildfiregames.com/ticket/1027)
|
// https://gitea.wildfiregames.com/0ad/0ad/issues/1027)
|
||||||
if (IsEmpty())
|
if (IsEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -189,7 +189,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
// Verify that transforming a flat AABB to an OBB does not produce NaN basis vectors in the
|
// Verify that transforming a flat AABB to an OBB does not produce NaN basis vectors in the
|
||||||
// resulting OBB (see http://trac.wildfiregames.com/ticket/1121)
|
// resulting OBB (see https://gitea.wildfiregames.com/0ad/0ad/issues/1121)
|
||||||
void test_degenerate_aabb_to_obb_transform()
|
void test_degenerate_aabb_to_obb_transform()
|
||||||
{
|
{
|
||||||
// create a flat AABB, transform it with some matrix (can even be the identity matrix),
|
// create a flat AABB, transform it with some matrix (can even be the identity matrix),
|
||||||
|
|
|
||||||
|
|
@ -92,7 +92,7 @@ static CStr DebugName(CNetServerSession* session)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* XXX: We use some non-threadsafe functions from the worker thread.
|
* XXX: We use some non-threadsafe functions from the worker thread.
|
||||||
* See http://trac.wildfiregames.com/ticket/654
|
* See https://gitea.wildfiregames.com/0ad/0ad/issues/654
|
||||||
*/
|
*/
|
||||||
|
|
||||||
CNetServerWorker::CNetServerWorker(bool useLobbyAuth) :
|
CNetServerWorker::CNetServerWorker(bool useLobbyAuth) :
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ void CArchiveBuilder::Build(const OsPath& archive, bool compress)
|
||||||
// size for releases (which re-compress all files with better compression
|
// size for releases (which re-compress all files with better compression
|
||||||
// algorithms) - it's probably most important currently to optimise for
|
// algorithms) - it's probably most important currently to optimise for
|
||||||
// download size rather than install size or startup performance.
|
// download size rather than install size or startup performance.
|
||||||
// (See http://trac.wildfiregames.com/ticket/671)
|
// (See https://gitea.wildfiregames.com/0ad/0ad/issues/671)
|
||||||
const bool noDeflate = !compress;
|
const bool noDeflate = !compress;
|
||||||
|
|
||||||
PIArchiveWriter writer = CreateArchiveWriter_Zip(archive, noDeflate);
|
PIArchiveWriter writer = CreateArchiveWriter_Zip(archive, noDeflate);
|
||||||
|
|
|
||||||
|
|
@ -266,7 +266,7 @@ unsigned long CStr::ToULong() const
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* libc++ and libstd++ differ on how they handle string-to-number parsing for floating-points numbers.
|
* libc++ and libstd++ differ on how they handle string-to-number parsing for floating-points numbers.
|
||||||
* See https://trac.wildfiregames.com/ticket/2780#comment:4 for details.
|
* See https://gitea.wildfiregames.com/0ad/0ad/issues/2780#comment:4 for details.
|
||||||
* To prevent this, only consider [0-9.-+], replace the others in-place with a neutral character.
|
* To prevent this, only consider [0-9.-+], replace the others in-place with a neutral character.
|
||||||
*/
|
*/
|
||||||
CStr ParseableAsNumber(CStr cleaned_copy)
|
CStr ParseableAsNumber(CStr cleaned_copy)
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
TDD : http://www.wildfiregames.com/forum/index.php?showtopic=1125
|
TDD : http://www.wildfiregames.com/forum/index.php?showtopic=1125
|
||||||
OVERVIEW:
|
OVERVIEW:
|
||||||
|
|
||||||
JavaScript: Check this documentation: http://trac.wildfiregames.com/wiki/Exposed_ConfigDB_Functions
|
JavaScript: Check this documentation: https://gitea.wildfiregames.com/0ad/0ad/wiki/Exposed_ConfigDB_Functions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef INCLUDED_CONFIGDB
|
#ifndef INCLUDED_CONFIGDB
|
||||||
|
|
|
||||||
|
|
@ -635,7 +635,7 @@ bool ModIo::ParseGameIdResponse(const ScriptInterface& scriptInterface, const st
|
||||||
|
|
||||||
// Make sure the property is not set to something that could be converted to a bogus value
|
// Make sure the property is not set to something that could be converted to a bogus value
|
||||||
// TODO: We should be able to convert JS::Values to C++ variables in a way that actually
|
// TODO: We should be able to convert JS::Values to C++ variables in a way that actually
|
||||||
// fails when types do not match (see https://trac.wildfiregames.com/ticket/5128).
|
// fails when types do not match (see https://gitea.wildfiregames.com/0ad/0ad/issues/5128).
|
||||||
if (!idProperty.isNumber())
|
if (!idProperty.isNumber())
|
||||||
FAIL("id property not a number.");
|
FAIL("id property not a number.");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -71,8 +71,8 @@ std::string GetNameImpl()
|
||||||
{
|
{
|
||||||
// GL_VENDOR+GL_RENDERER are good enough here, so we don't use WMI to detect the cards.
|
// GL_VENDOR+GL_RENDERER are good enough here, so we don't use WMI to detect the cards.
|
||||||
// On top of that WMI can cause crashes with Nvidia Optimus and some netbooks
|
// On top of that WMI can cause crashes with Nvidia Optimus and some netbooks
|
||||||
// see http://trac.wildfiregames.com/ticket/1952
|
// see https://gitea.wildfiregames.com/0ad/0ad/issues/1952
|
||||||
// http://trac.wildfiregames.com/ticket/1575
|
// https://gitea.wildfiregames.com/0ad/0ad/issues/1575
|
||||||
char cardName[128];
|
char cardName[128];
|
||||||
const char* vendor = reinterpret_cast<const char*>(glGetString(GL_VENDOR));
|
const char* vendor = reinterpret_cast<const char*>(glGetString(GL_VENDOR));
|
||||||
const char* renderer = reinterpret_cast<const char*>(glGetString(GL_RENDERER));
|
const char* renderer = reinterpret_cast<const char*>(glGetString(GL_RENDERER));
|
||||||
|
|
|
||||||
|
|
@ -83,7 +83,7 @@ private:
|
||||||
* Setting uniforms that the shader .xml doesn't support is harmless.
|
* Setting uniforms that the shader .xml doesn't support is harmless.
|
||||||
*
|
*
|
||||||
* For a high-level overview of shaders and materials, see
|
* For a high-level overview of shaders and materials, see
|
||||||
* http://trac.wildfiregames.com/wiki/MaterialSystem
|
* https://gitea.wildfiregames.com/0ad/0ad/wiki/MaterialSystem
|
||||||
*/
|
*/
|
||||||
class CShaderProgram : public IShaderProgram
|
class CShaderProgram : public IShaderProgram
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -300,7 +300,7 @@ public:
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// Fall back to using old AABB selection method for decals
|
// Fall back to using old AABB selection method for decals
|
||||||
// see: http://trac.wildfiregames.com/ticket/1032
|
// see: https://gitea.wildfiregames.com/0ad/0ad/issues/1032
|
||||||
// Decals are flat objects without a selectionShape defined,
|
// Decals are flat objects without a selectionShape defined,
|
||||||
// but they should still be selectable in the editor to move them
|
// but they should still be selectable in the editor to move them
|
||||||
// around or delete them after they are placed.
|
// around or delete them after they are placed.
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
@page writing-components How to write components
|
@page writing-components How to write components
|
||||||
|
|
||||||
<i>See the <a href="http://trac.wildfiregames.com/wiki/TDD_Simulation">Trac wiki</a> for more documentation about this system.</i>
|
<i>See the <a href="https://gitea.wildfiregames.com/0ad/0ad/wiki/TDD_Simulation">Trac wiki</a> for more documentation about this system.</i>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
egrep '@(sub)*section' source/simulation2/docs/SimulationDocs.h|sed 's/@//; s/section/- @ref/; s/^sub/ /g; s/\(- \S* \S*\).*$/\1/'
|
egrep '@(sub)*section' source/simulation2/docs/SimulationDocs.h|sed 's/@//; s/section/- @ref/; s/^sub/ /g; s/\(- \S* \S*\).*$/\1/'
|
||||||
|
|
@ -51,7 +51,7 @@ Think of a name for the component. We'll use "Example" in this example; replace
|
||||||
it with your chosen name in all the filenames and code samples below.
|
it with your chosen name in all the filenames and code samples below.
|
||||||
|
|
||||||
(If you copy-and-paste from the examples below, be aware that the
|
(If you copy-and-paste from the examples below, be aware that the
|
||||||
<a href="http://trac.wildfiregames.com/wiki/Coding_Conventions">coding conventions</a>
|
<a href="https://gitea.wildfiregames.com/0ad/0ad/wiki/Coding_Conventions">coding conventions</a>
|
||||||
require indentation with tabs, not spaces, so make sure you get it right.)
|
require indentation with tabs, not spaces, so make sure you get it right.)
|
||||||
|
|
||||||
Create the file @b simulation2/components/ICmpExample.h:
|
Create the file @b simulation2/components/ICmpExample.h:
|
||||||
|
|
|
||||||
|
|
@ -159,7 +159,7 @@ ATLASDLLIMPEXP void Atlas_StartWindow(const wchar_t* type)
|
||||||
#ifndef __WXOSX__
|
#ifndef __WXOSX__
|
||||||
wxEntry(argc, argv);
|
wxEntry(argc, argv);
|
||||||
#else
|
#else
|
||||||
// Fix for OS X init (see http://trac.wildfiregames.com/ticket/2427 )
|
// Fix for OS X init (see https://gitea.wildfiregames.com/0ad/0ad/issues/2427 )
|
||||||
// If we launched from in-game, SDL started NSApplication which will
|
// If we launched from in-game, SDL started NSApplication which will
|
||||||
// break some things in wxWidgets
|
// break some things in wxWidgets
|
||||||
wxEntryStart(argc, argv);
|
wxEntryStart(argc, argv);
|
||||||
|
|
|
||||||
|
|
@ -1008,7 +1008,7 @@ void ScenarioEditor::OnHelp(wxCommandEvent& event)
|
||||||
|
|
||||||
void ScenarioEditor::OnMenuOpen(wxMenuEvent& event)
|
void ScenarioEditor::OnMenuOpen(wxMenuEvent& event)
|
||||||
{
|
{
|
||||||
// Ignore wxMSW system menu events, see https://trac.wildfiregames.com/ticket/5501
|
// Ignore wxMSW system menu events, see https://gitea.wildfiregames.com/0ad/0ad/issues/5501
|
||||||
const wxMenu* menu = event.GetMenu();
|
const wxMenu* menu = event.GetMenu();
|
||||||
if (!menu)
|
if (!menu)
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -541,7 +541,7 @@ ObjectBottomBar::ObjectBottomBar(
|
||||||
viewerButtonsLeft->Add(Tooltipped(new wxButton(m_ViewerPanel, ID_ViewerWireframe, _("Wireframe")), _("Toggle wireframe / solid rendering")), wxSizerFlags().Expand());
|
viewerButtonsLeft->Add(Tooltipped(new wxButton(m_ViewerPanel, ID_ViewerWireframe, _("Wireframe")), _("Toggle wireframe / solid rendering")), wxSizerFlags().Expand());
|
||||||
viewerButtonsLeft->Add(Tooltipped(new wxButton(m_ViewerPanel, ID_ViewerMove, _("Move")), _("Toggle movement along ground when playing walk/run animations")), wxSizerFlags().Expand());
|
viewerButtonsLeft->Add(Tooltipped(new wxButton(m_ViewerPanel, ID_ViewerMove, _("Move")), _("Toggle movement along ground when playing walk/run animations")), wxSizerFlags().Expand());
|
||||||
viewerButtonsLeft->Add(Tooltipped(new wxButton(m_ViewerPanel, ID_ViewerGround, _("Ground")), _("Toggle the ground plane")), wxSizerFlags().Expand());
|
viewerButtonsLeft->Add(Tooltipped(new wxButton(m_ViewerPanel, ID_ViewerGround, _("Ground")), _("Toggle the ground plane")), wxSizerFlags().Expand());
|
||||||
// TODO: disabled until http://trac.wildfiregames.com/ticket/2692 is fixed
|
// TODO: disabled until https://gitea.wildfiregames.com/0ad/0ad/issues/2692 is fixed
|
||||||
wxButton* waterButton = new wxButton(m_ViewerPanel, ID_ViewerWater, _("Water"));
|
wxButton* waterButton = new wxButton(m_ViewerPanel, ID_ViewerWater, _("Water"));
|
||||||
waterButton->Enable(false);
|
waterButton->Enable(false);
|
||||||
viewerButtonsLeft->Add(Tooltipped(waterButton, _("Toggle the water plane")), wxSizerFlags().Expand());
|
viewerButtonsLeft->Add(Tooltipped(waterButton, _("Toggle the water plane")), wxSizerFlags().Expand());
|
||||||
|
|
|
||||||
|
|
@ -132,7 +132,7 @@ bool BeginAtlas(const CmdLineArgs& args, const DllLoader& dll)
|
||||||
state.glCanvas = NULL;
|
state.glCanvas = NULL;
|
||||||
|
|
||||||
// Start Atlas UI on main thread
|
// Start Atlas UI on main thread
|
||||||
// (required for wxOSX/Cocoa compatibility - see http://trac.wildfiregames.com/ticket/500)
|
// (required for wxOSX/Cocoa compatibility - see https://gitea.wildfiregames.com/0ad/0ad/issues/500)
|
||||||
Atlas_StartWindow(L"ScenarioEditor");
|
Atlas_StartWindow(L"ScenarioEditor");
|
||||||
|
|
||||||
// TODO: delete all remaining messages, to avoid memory leak warnings
|
// TODO: delete all remaining messages, to avoid memory leak warnings
|
||||||
|
|
|
||||||
|
|
@ -146,7 +146,7 @@ void AtlasViewActor::SetParam(const std::wstring& name, bool value)
|
||||||
m_ActorViewer->SetGroundEnabled(value);
|
m_ActorViewer->SetGroundEnabled(value);
|
||||||
// TODO: this causes corruption of WaterManager's global state
|
// TODO: this causes corruption of WaterManager's global state
|
||||||
// which should be asociated with terrain or simulation instead
|
// which should be asociated with terrain or simulation instead
|
||||||
// see http://trac.wildfiregames.com/ticket/2692
|
// see https://gitea.wildfiregames.com/0ad/0ad/issues/2692
|
||||||
//else if (name == L"water")
|
//else if (name == L"water")
|
||||||
//m_ActorViewer->SetWaterEnabled(value);
|
//m_ActorViewer->SetWaterEnabled(value);
|
||||||
else if (name == L"shadows")
|
else if (name == L"shadows")
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ each individual glyph in the image (see `fileformat.txt` for details).
|
||||||
|
|
||||||
See the wiki page for more information:
|
See the wiki page for more information:
|
||||||
|
|
||||||
http://trac.wildfiregames.com/wiki/Font_Builder2
|
https://gitea.wildfiregames.com/0ad/0ad/wiki/Font_Builder2
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -171,7 +171,7 @@ def generate_font(outname, ttf_names, loadopts, size, renderstyle, dsizes):
|
||||||
for g in glyphs:
|
for g in glyphs:
|
||||||
x0 = g.x0
|
x0 = g.x0
|
||||||
y0 = g.y0
|
y0 = g.y0
|
||||||
# UGLY HACK: see http://trac.wildfiregames.com/ticket/1039 ;
|
# UGLY HACK: see https://gitea.wildfiregames.com/0ad/0ad/issues/1039 ;
|
||||||
# to handle a-macron-acute characters without the hassle of
|
# to handle a-macron-acute characters without the hassle of
|
||||||
# doing proper OpenType GPOS layout (which the font
|
# doing proper OpenType GPOS layout (which the font
|
||||||
# doesn't support anyway), we'll just shift the combining acute
|
# doesn't support anyway), we'll just shift the combining acute
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue