forked from 0ad/0ad
Compare commits
37 Commits
39da274905
...
cb051cbfba
Author | SHA1 | Date | |
---|---|---|---|
|
cb051cbfba | ||
|
b80f87d668 | ||
|
b626bb7eae | ||
ea4b580527 | |||
0e84957979 | |||
eeb502c115 | |||
f4c40b740c | |||
20ab96a0f4 | |||
ac48b72550 | |||
4d3be23bac | |||
f856a7663f | |||
7575dfe3c8 | |||
e86fd58524 | |||
04aa01a39b | |||
ccb1d747f0 | |||
5bea0a0f97 | |||
26994b156b | |||
2b5ecd02a7 | |||
bf82871ca8 | |||
33134af6c3 | |||
966d859050 | |||
87f667732c | |||
10e7513bba | |||
fce48ca4be | |||
34a209b680 | |||
0f87124b98 | |||
35d998694f | |||
09f55a1afc | |||
afa9f212f4 | |||
8d0af4b184 | |||
eb499b4c5c | |||
19e7d14506 | |||
4a049c5f3a | |||
80f808df4a | |||
9fd05e38a4 | |||
f7630b155c | |||
670f68c1c5 |
@ -10,5 +10,9 @@ indent_style = tab
|
|||||||
function_next_line = true
|
function_next_line = true
|
||||||
switch_case_indent = true
|
switch_case_indent = true
|
||||||
|
|
||||||
|
[*.{yaml,yml}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
[build/premake/premake5/**]
|
[build/premake/premake5/**]
|
||||||
ignore = true
|
ignore = true
|
||||||
|
@ -1,19 +1,24 @@
|
|||||||
|
---
|
||||||
name: Defect
|
name: Defect
|
||||||
about: Report an issue with the game. Errors, crashes, unexpected behaviour should be reported this way.
|
about: >
|
||||||
title: ""
|
Report an issue with the game. Errors, crashes, unexpected behaviour should be reported this way.
|
||||||
labels:
|
labels:
|
||||||
- "Type/Defect"
|
- "Type/Defect"
|
||||||
- "Priority/3: Should Have"
|
- "Priority/3: Should Have"
|
||||||
body:
|
body:
|
||||||
- type: markdown
|
- type: markdown
|
||||||
attributes:
|
attributes:
|
||||||
value: |
|
value: >
|
||||||
**Please select a Theme label that corresponds best to your issue. You can also adjust the Priority label.**
|
**Please select a Theme label that corresponds best to your issue. You can also adjust the
|
||||||
|
Priority label.**
|
||||||
|
|
||||||
- type: checkboxes
|
- type: checkboxes
|
||||||
attributes:
|
attributes:
|
||||||
label: Reporting Errors
|
label: Reporting Errors
|
||||||
description: For crashes and errors, you must read the [ReportingErrors](wiki/ReportingErrors) page. In particular, if you are reporting a crash, you must upload crashlog files in the Description field below.
|
description: >
|
||||||
|
For crashes and errors, you must read the [ReportingErrors](wiki/ReportingErrors) page. In
|
||||||
|
particular, if you are reporting a crash, you must upload crashlog files in the Description
|
||||||
|
field below.
|
||||||
options:
|
options:
|
||||||
- label: I have read the ReportingErrors wiki page.
|
- label: I have read the ReportingErrors wiki page.
|
||||||
required: true
|
required: true
|
||||||
@ -29,6 +34,8 @@ body:
|
|||||||
- type: input
|
- type: input
|
||||||
attributes:
|
attributes:
|
||||||
label: Version
|
label: Version
|
||||||
description: Type the version of the game you are running (displayed at the bottom of the main menu, or the Alpha version, or "nightly-build").
|
description: >
|
||||||
|
Type the version of the game you are running (displayed at the bottom of the main menu, or
|
||||||
|
the Alpha version, or "nightly-build").
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
|
---
|
||||||
name: Enhancement
|
name: Enhancement
|
||||||
about: Ask us for an improvement you wish to see in the game.
|
about: Ask us for an improvement you wish to see in the game.
|
||||||
title: ""
|
|
||||||
labels:
|
labels:
|
||||||
- "Type/Enhancement"
|
- "Type/Enhancement"
|
||||||
- "Priority/3: Should Have"
|
- "Priority/3: Should Have"
|
||||||
body:
|
body:
|
||||||
- type: markdown
|
- type: markdown
|
||||||
attributes:
|
attributes:
|
||||||
value: |
|
value: >
|
||||||
**Please select a Theme label that corresponds best to your issue. You can also adjust the Priority label.**
|
**Please select a Theme label that corresponds best to your issue. You can also adjust the
|
||||||
|
Priority label.**
|
||||||
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
attributes:
|
attributes:
|
||||||
@ -18,7 +19,9 @@ body:
|
|||||||
|
|
||||||
- type: markdown
|
- type: markdown
|
||||||
attributes:
|
attributes:
|
||||||
value: |
|
value: >
|
||||||
**Important Note:** Gameplay and balance changes require preliminary discussion, and consensus must be reached with the Balancing team.<br>
|
**Important Note:** Gameplay and balance changes require preliminary discussion, and
|
||||||
If this is a gameplay change, please add the *Needs Design Input* label, and open a forum topic for discussing your proposal.<br>
|
consensus must be reached with the Balancing team.<br>
|
||||||
|
If this is a gameplay change, please add the *Needs Design Input* label, and open a forum
|
||||||
|
topic for discussing your proposal.<br>
|
||||||
You should link that forum topic in the ticket Description above.
|
You should link that forum topic in the ticket Description above.
|
||||||
|
@ -13,7 +13,9 @@ jobs:
|
|||||||
run: pip3 install lxml
|
run: pip3 install lxml
|
||||||
- name: Workaround for authentication problem with LFS
|
- name: Workaround for authentication problem with LFS
|
||||||
# https://gitea.com/gitea/act_runner/issues/164
|
# https://gitea.com/gitea/act_runner/issues/164
|
||||||
run: git config --local http.${{ gitea.server_url }}/${{ gitea.repository }}.git/info/lfs/objects/.extraheader ''
|
run: >
|
||||||
|
git config --local
|
||||||
|
http.${{ gitea.server_url }}/${{ gitea.repository }}.git/info/lfs/objects/.extraheader ''
|
||||||
- name: Download necessary LFS assets
|
- name: Download necessary LFS assets
|
||||||
run: git lfs pull -I binaries/data/mods/public/maps
|
run: git lfs pull -I binaries/data/mods/public/maps
|
||||||
- name: Check for missing references
|
- name: Check for missing references
|
||||||
|
11
.gitignore
vendored
11
.gitignore
vendored
@ -1,7 +1,6 @@
|
|||||||
# Built and prebuilt binaries
|
# Built and prebuilt binaries
|
||||||
binaries/system/*
|
binaries/system/*
|
||||||
!binaries/system/Atlas.bat
|
!binaries/system/*.bat
|
||||||
!binaries/system/Quickstart.bat
|
|
||||||
!binaries/system/readme.txt
|
!binaries/system/readme.txt
|
||||||
|
|
||||||
# Workspaces
|
# Workspaces
|
||||||
@ -15,9 +14,15 @@ build/workspaces/vs2017
|
|||||||
|
|
||||||
# Libraries
|
# Libraries
|
||||||
libraries/macos
|
libraries/macos
|
||||||
libraries/source
|
|
||||||
libraries/win32
|
libraries/win32
|
||||||
|
|
||||||
|
libraries/source/cxxtest-4.4/*
|
||||||
|
libraries/source/fcollada/*
|
||||||
|
libraries/source/nvtt/*
|
||||||
|
libraries/source/spidermonkey/*
|
||||||
|
!libraries/source/**/build.sh
|
||||||
|
!libraries/source/**/patches/
|
||||||
|
|
||||||
# premake5 build files, adapted from upstream
|
# premake5 build files, adapted from upstream
|
||||||
build/premake/premake5/**/.gitignore
|
build/premake/premake5/**/.gitignore
|
||||||
build/premake/premake5/**/.travis.yml
|
build/premake/premake5/**/.travis.yml
|
||||||
|
@ -20,7 +20,6 @@ repos:
|
|||||||
^binaries/data/mods/_test.sim/simulation/templates.illformed.xml|
|
^binaries/data/mods/_test.sim/simulation/templates.illformed.xml|
|
||||||
^binaries/data/mods/public/maps/.*\.xml
|
^binaries/data/mods/public/maps/.*\.xml
|
||||||
)
|
)
|
||||||
- id: check-yaml
|
|
||||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||||
rev: v0.6.1
|
rev: v0.6.1
|
||||||
hooks:
|
hooks:
|
||||||
@ -57,8 +56,8 @@ repos:
|
|||||||
- repo: https://github.com/shellcheck-py/shellcheck-py
|
- repo: https://github.com/shellcheck-py/shellcheck-py
|
||||||
rev: v0.10.0.1
|
rev: v0.10.0.1
|
||||||
hooks:
|
hooks:
|
||||||
- id: shellcheck
|
- id: shellcheck
|
||||||
exclude: ^build/premake/premake5/
|
exclude: ^build/premake/premake5/
|
||||||
- repo: https://github.com/igorshubovych/markdownlint-cli
|
- repo: https://github.com/igorshubovych/markdownlint-cli
|
||||||
rev: v0.41.0
|
rev: v0.41.0
|
||||||
hooks:
|
hooks:
|
||||||
@ -69,3 +68,10 @@ repos:
|
|||||||
^build/premake/|
|
^build/premake/|
|
||||||
^source/third_party/
|
^source/third_party/
|
||||||
)
|
)
|
||||||
|
- repo: https://github.com/adrienverge/yamllint
|
||||||
|
rev: v1.35.1
|
||||||
|
hooks:
|
||||||
|
- id: yamllint
|
||||||
|
args:
|
||||||
|
- --strict
|
||||||
|
exclude: ^build/premake/premake5/
|
||||||
|
8
.yamllint.yaml
Normal file
8
.yamllint.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
# https://yamllint.readthedocs.io/en/stable/index.html
|
||||||
|
extends: default
|
||||||
|
rules:
|
||||||
|
line-length:
|
||||||
|
max: 100
|
||||||
|
truthy:
|
||||||
|
check-keys: false
|
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/barter.png
(Stored with Git LFS)
Normal file
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/barter.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/control_groups.png
(Stored with Git LFS)
Normal file
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/control_groups.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/dock.png
(Stored with Git LFS)
Normal file
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/dock.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/loot.png
(Stored with Git LFS)
Normal file
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/loot.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/mauryan_worker_elephant.png
(Stored with Git LFS)
Normal file
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/mauryan_worker_elephant.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/nomad_mode.png
(Stored with Git LFS)
Normal file
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/nomad_mode.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/order_one_unit.png
(Stored with Git LFS)
Normal file
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/order_one_unit.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/queue_orders.png
(Stored with Git LFS)
Normal file
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/queue_orders.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/select_wounded_units.png
(Stored with Git LFS)
Normal file
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/select_wounded_units.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/trading.png
(Stored with Git LFS)
Normal file
BIN
binaries/data/mods/public/art/textures/ui/loading/tips/trading.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1363,7 +1363,8 @@ var g_EntityCommands =
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.unload") +
|
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.unload") +
|
||||||
translate("Unload All."),
|
translate("Unload All") + "\n" +
|
||||||
|
bodyFont(translate("Order all units to leave the selected entities.")),
|
||||||
"icon": "garrison-out.png",
|
"icon": "garrison-out.png",
|
||||||
"count": count,
|
"count": count,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
@ -1398,7 +1399,8 @@ var g_EntityCommands =
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.unloadturrets") +
|
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.unloadturrets") +
|
||||||
translate("Unload Turrets."),
|
translate("Unload Turrets") + "\n" +
|
||||||
|
bodyFont(translate("Order all units to leave the selected turret points.")),
|
||||||
"icon": "garrison-out.png",
|
"icon": "garrison-out.png",
|
||||||
"count": count,
|
"count": count,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
@ -1418,10 +1420,12 @@ var g_EntityCommands =
|
|||||||
{
|
{
|
||||||
"tooltip":
|
"tooltip":
|
||||||
colorizeHotkey("%(hotkey)s" + " ", "session.kill") +
|
colorizeHotkey("%(hotkey)s" + " ", "session.kill") +
|
||||||
translate("Destroy the selected units or structures.") + "\n" +
|
translate("Self-Destruct") + "\n" +
|
||||||
colorizeHotkey(
|
bodyFont(translate("Destroy the selected entities.") + "\n" +
|
||||||
translate("Use %(hotkey)s to avoid the confirmation dialog."),
|
colorizeHotkey(
|
||||||
"session.noconfirmation"
|
translate("Use %(hotkey)s to avoid the confirmation dialog."),
|
||||||
|
"session.noconfirmation"
|
||||||
|
)
|
||||||
),
|
),
|
||||||
"icon": "kill_small.png",
|
"icon": "kill_small.png",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
@ -1470,7 +1474,8 @@ var g_EntityCommands =
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.stop") +
|
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.stop") +
|
||||||
translate("Abort the current order."),
|
translate("Abort") + "\n" +
|
||||||
|
bodyFont(translate("Cancel the current orders for the selected units.")),
|
||||||
"icon": "stop.png",
|
"icon": "stop.png",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
};
|
};
|
||||||
@ -1491,7 +1496,8 @@ var g_EntityCommands =
|
|||||||
return false;
|
return false;
|
||||||
return {
|
return {
|
||||||
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.calltoarms") +
|
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.calltoarms") +
|
||||||
translate("Send the selected units on attack move to the specified location after dropping resources."),
|
translate("Attack") + "\n" +
|
||||||
|
bodyFont(translate("Send the selected units on attack move to the specified location after dropping resources.")),
|
||||||
"icon": "call-to-arms.png",
|
"icon": "call-to-arms.png",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
};
|
};
|
||||||
@ -1513,7 +1519,8 @@ var g_EntityCommands =
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.garrison") +
|
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.garrison") +
|
||||||
translate("Order the selected units to garrison in a structure or unit."),
|
translate("Garrison") + "\n" +
|
||||||
|
bodyFont(translate("Order the selected units to garrison in a structure or another unit.")),
|
||||||
"icon": "garrison.png",
|
"icon": "garrison.png",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
};
|
};
|
||||||
@ -1535,7 +1542,8 @@ var g_EntityCommands =
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.occupyturret") +
|
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.occupyturret") +
|
||||||
translate("Order the selected units to occupy a turret point."),
|
translate("Occupy Turret") + "\n" +
|
||||||
|
bodyFont(translate("Order the selected units to occupy a turret point.")),
|
||||||
"icon": "occupy-turret.png",
|
"icon": "occupy-turret.png",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
};
|
};
|
||||||
@ -1557,7 +1565,8 @@ var g_EntityCommands =
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"tooltip": translate("Unload"),
|
"tooltip": translate("Unload") + "\n" +
|
||||||
|
bodyFont(translate("Order the selected units to leave their turret points.")),
|
||||||
"icon": "leave-turret.png",
|
"icon": "leave-turret.png",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
};
|
};
|
||||||
@ -1577,7 +1586,8 @@ var g_EntityCommands =
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.repair") +
|
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.repair") +
|
||||||
translate("Order the selected units to repair a structure, ship, or siege engine."),
|
translate("Repair") + "\n" +
|
||||||
|
bodyFont(translate("Order the selected units to repair a structure, ship, or siege engine.")),
|
||||||
"icon": "repair.png",
|
"icon": "repair.png",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
};
|
};
|
||||||
@ -1598,7 +1608,8 @@ var g_EntityCommands =
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "camera.rallypointfocus") +
|
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "camera.rallypointfocus") +
|
||||||
translate("Focus on Rally Point."),
|
translate("Focus on Rally Point") + "\n" +
|
||||||
|
bodyFont(translate("Center the view on the selected rally point.")),
|
||||||
"icon": "focus-rally.png",
|
"icon": "focus-rally.png",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
};
|
};
|
||||||
@ -1635,7 +1646,8 @@ var g_EntityCommands =
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.backtowork") +
|
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.backtowork") +
|
||||||
translate("Back to Work"),
|
translate("Back to Work") + "\n" +
|
||||||
|
bodyFont(translate("Order the selected units to resume their work.")),
|
||||||
"icon": "back-to-work.png",
|
"icon": "back-to-work.png",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
};
|
};
|
||||||
@ -1656,7 +1668,8 @@ var g_EntityCommands =
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.guard") +
|
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.guard") +
|
||||||
translate("Order the selected units to guard a structure or unit."),
|
translate("Guard") + "\n" +
|
||||||
|
bodyFont(translate("Order the selected units to guard a structure or unit.")),
|
||||||
"icon": "add-guard.png",
|
"icon": "add-guard.png",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
};
|
};
|
||||||
@ -1676,7 +1689,8 @@ var g_EntityCommands =
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"tooltip": translate("Remove guard"),
|
"tooltip": translate("Abort Guard") + "\n" +
|
||||||
|
bodyFont(translate("Order the selected units to stop guarding.")),
|
||||||
"icon": "remove-guard.png",
|
"icon": "remove-guard.png",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
};
|
};
|
||||||
@ -1695,7 +1709,9 @@ var g_EntityCommands =
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"tooltip": translate("Barter & Trade"),
|
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.gui.barter.toggle") +
|
||||||
|
translate("Barter & Trade") + "\n" +
|
||||||
|
bodyFont(translate("Open the dialog for managing resource trading and bartering.")),
|
||||||
"icon": "economics.png",
|
"icon": "economics.png",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
};
|
};
|
||||||
@ -1715,8 +1731,8 @@ var g_EntityCommands =
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.patrol") +
|
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.patrol") +
|
||||||
translate("Patrol") + "\n" +
|
translate("Patrol") + "\n" +
|
||||||
translate("Attack all encountered enemy units while avoiding structures."),
|
bodyFont(translate("Order to repeatedly go to a point and come back, attacking all enemies along the way.")),
|
||||||
"icon": "patrol.png",
|
"icon": "patrol.png",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
};
|
};
|
||||||
@ -1744,12 +1760,14 @@ var g_EntityCommands =
|
|||||||
|
|
||||||
return sharableEntities.some(entState => !entState.resourceDropsite.shared) ?
|
return sharableEntities.some(entState => !entState.resourceDropsite.shared) ?
|
||||||
{
|
{
|
||||||
"tooltip": translate("Press to allow allies to use this dropsite"),
|
"tooltip": translate("Share Dropsite") + "\n" +
|
||||||
|
bodyFont(translate("Allow allies to use this dropsite, now locked.")),
|
||||||
"icon": "locked_small.png",
|
"icon": "locked_small.png",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
} :
|
} :
|
||||||
{
|
{
|
||||||
"tooltip": translate("Press to prevent allies from using this dropsite"),
|
"tooltip": translate("Lock Dropsite") + "\n" +
|
||||||
|
bodyFont(translate("Prevent allies from using this dropsite, now shared.")),
|
||||||
"icon": "unlocked_small.png",
|
"icon": "unlocked_small.png",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
};
|
};
|
||||||
@ -1784,14 +1802,16 @@ var g_EntityCommands =
|
|||||||
|
|
||||||
if (!shareableEntities.every(entState => entState.resourceDropsite.shared))
|
if (!shareableEntities.every(entState => entState.resourceDropsite.shared))
|
||||||
return {
|
return {
|
||||||
"tooltip": translate("The use of this dropsite is prohibited"),
|
"tooltip": translate("Locked Dropsite") + "\n" +
|
||||||
|
bodyFont(translate("The use of this dropsite is prohibited.")),
|
||||||
"icon": "locked_small.png",
|
"icon": "locked_small.png",
|
||||||
"enabled": false
|
"enabled": false
|
||||||
};
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"tooltip": g_IsObserver ? translate("Allies are allowed to use this dropsite.") :
|
"tooltip": translate("Shared Dropsite") + "\n" +
|
||||||
translate("You are allowed to use this dropsite"),
|
bodyFont(g_IsObserver ? translate("Allies are allowed to use this dropsite.") :
|
||||||
|
translate("You are allowed to use this dropsite.")),
|
||||||
"icon": "unlocked_small.png",
|
"icon": "unlocked_small.png",
|
||||||
"enabled": false
|
"enabled": false
|
||||||
};
|
};
|
||||||
@ -1810,7 +1830,8 @@ var g_EntityCommands =
|
|||||||
return false;
|
return false;
|
||||||
return {
|
return {
|
||||||
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.queueunit.autoqueueon") +
|
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.queueunit.autoqueueon") +
|
||||||
translate("Activate auto-queue for selected structures."),
|
translate("Activate Auto-Queue") + "\n" +
|
||||||
|
bodyFont(translate("Activate the production auto-queue for the selected structures.")),
|
||||||
"icon": "autoqueue-on.png",
|
"icon": "autoqueue-on.png",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
};
|
};
|
||||||
@ -1830,7 +1851,8 @@ var g_EntityCommands =
|
|||||||
return false;
|
return false;
|
||||||
return {
|
return {
|
||||||
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.queueunit.autoqueueoff") +
|
"tooltip": colorizeHotkey("%(hotkey)s" + " ", "session.queueunit.autoqueueoff") +
|
||||||
translate("Deactivate auto-queue for selected structures."),
|
translate("Deactivate Auto-Queue") + "\n" +
|
||||||
|
bodyFont(translate("Deactivate the production auto-queue for the selected structures.")),
|
||||||
"icon": "autoqueue-off.png",
|
"icon": "autoqueue-off.png",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
};
|
};
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
ROMAN ARMY CAMP
|
ROMAN ARMY CAMP
|
||||||
Buildable in neutral or enemy territory. Good for building a secret base behind enemy lines or to consolidate gains within enemy territory.
|
Buildable in neutral or enemy territory. Good for setting up a secret base behind enemy lines or to consolidate gains within enemy territory.
|
||||||
Construct rams and train citizen soldiers.
|
Constructs Rams and trains high-rank Citizen Soldiers.
|
||||||
Garrison units to slowly heal them and protect the army camp from attacks and decay.
|
Fires arrows at any enemies in sight.
|
||||||
|
Garrison units inside for protection and additional arrows.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
ARROW SHIPS
|
ARROW SHIPS
|
||||||
The basic Warship for most factions.
|
The basic Warship for most civilizations.
|
||||||
Transport up to 30 troops across the water.
|
Transports up to 30 troops across the water.
|
||||||
Good against melee Warships, such as Ramming Ships and Fire Ships.
|
Good against melee Warships, such as Ramming Ships and Fire Ships.
|
||||||
Countered by Siege Ships and other Arrow Ships.
|
Countered by Siege Ships and other Arrow Ships.
|
@ -1,5 +1,5 @@
|
|||||||
BARRACKS
|
BARRACKS
|
||||||
Train all citizen soldiers. Some civilizations can unlock the training of champions as well.
|
Trains all Citizen Infantry. Some civilizations can unlock the training of Champions in it as well.
|
||||||
Units gain experience while garrisoned inside the building.
|
Units gain experience while garrisoned inside.
|
||||||
Build one early to train citizen soldiers while you phase up your settlement.
|
Build one early to train Citizen Soldiers while you phase up your settlement.
|
||||||
Build in a forward base to resupply your assault with fresh troops.
|
Build near the front lines to resupply your assault with fresh troops.
|
||||||
|
3
binaries/data/mods/public/gui/text/tips/barter.txt
Normal file
3
binaries/data/mods/public/gui/text/tips/barter.txt
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
BARTER
|
||||||
|
At the Market structure, a player can exchange a resource for another of a different type.
|
||||||
|
Rates are affected globally by all players. Turn this into an advantage by checking prices regularly.
|
@ -1,3 +1,3 @@
|
|||||||
BIOMES
|
BIOMES
|
||||||
Biomes can be used on some random maps and determine which region of the world the map represents.
|
Biomes can be used on some random maps to determine which region of the world the map represents.
|
||||||
They influence the appearence of the maps and also the amount of resources that are available.
|
They influence the appearence of the maps and also the available amount of different resources.
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
WAR DOG
|
WAR DOG
|
||||||
A dog that the Britons can train at the cavalry stable.
|
A unique dog unit that the Britons can train at the Cavalry Stable.
|
||||||
Has low health, but is fast and will fearlessly attack enemies.
|
Has low health, but is fast and will fearlessly attack enemies.
|
||||||
|
Cannot capture or destroy structures.
|
||||||
Use them as support in your army or for quick raids.
|
Use them as support in your army or for quick raids.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
CARTHAGINIAN SACRED BAND
|
CARTHAGINIAN SACRED BAND
|
||||||
Champion Spearmen and Champion Cavalry Spearmen for Carthage.
|
Champion Spearmen and Champion Cavalry Spearmen for the Carthaginians.
|
||||||
Both are trainable from the Temple, instead of the Fortress like most other champions.
|
Trainable from the Temple, unlike most other Champions.
|
||||||
Use the Spearmen as heavy infantry against cavalry. Use the Cavalry as heavy shock against siege weapons and skirmishers.
|
Use the Spearmen to counter enemy Cavalry. Use the Cavalry as heavy shock against Siege Weapons and Ranged Infantry.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
CARTHAGINIAN NAVAL SHIPYARD
|
CARTHAGINIAN NAVAL SHIPYARD
|
||||||
Special dock of the Carthaginians to construct warships.
|
Special Dock of the Carthaginians to construct Warships.
|
||||||
Garrison ships inside to slowly repair them.
|
Garrison Ships inside to slowly repair them.
|
||||||
Much stronger than other docks, but also more expensive.
|
Much stronger than other Docks, but also more expensive.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
CATAPULTS
|
CATAPULTS
|
||||||
Ranged siege engines that are good against structures.
|
Long-ranged Siege Engines.
|
||||||
Expensive and slow.
|
Devastating against structures, but also expensive and slow.
|
||||||
Pack up into carts for movement, and unpack into stationary engines for attack!
|
Pack up into carts for movement, and unpack into stationary engines for attack!
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
CAVALRY STABLE
|
CAVALRY STABLE
|
||||||
Trains cavalry units and lets you research cavalry specific technologies.
|
Trains Cavalry Units and lets you research cavalry-specific technologies.
|
||||||
Units gain experience while garrisoned inside the structure.
|
Units gain experience while garrisoned inside the structure.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
CELTIC HEAVY ARROW SHIP
|
CELTIC HEAVY ARROW SHIP
|
||||||
The main warship for the Britons, Gauls, and Iberians.
|
The main Warship for the Britons, Gauls, and Iberians.
|
||||||
Can transport up to 40 units.
|
Can transport up to 40 units.
|
||||||
Can be improved with greater health and garrison capacity.
|
Research special technologies to improve them with greater health and garrison capacity.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
CITY WALLS
|
CITY WALLS
|
||||||
Strong stone walls that help you protect your city.
|
Strong stone walls that help you protect your city.
|
||||||
When your ranged infantry units are occupying the turrets, they have additional armor and can shoot at the enemy.
|
Occupy the turrets with Ranged Infantry for increased defense and greater vision range.
|
||||||
Vulnerable to siege weapons like catapults, rams and war elephants.
|
Knock them down with Siege Engines like Catapults, Battering Rams, or War Elephants.
|
||||||
|
4
binaries/data/mods/public/gui/text/tips/civic_center.txt
Normal file
4
binaries/data/mods/public/gui/text/tips/civic_center.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
CIVIC CENTER
|
||||||
|
The foundation of your new colony.
|
||||||
|
Claim large tracts of land by building them in previously unclaimed territory.
|
||||||
|
Trains all Citizens: Female Citizens, Citizen Infantry, and Citizen Cavalry.
|
@ -1,5 +0,0 @@
|
|||||||
CIVIC CENTERS
|
|
||||||
The foundation of your new colony.
|
|
||||||
Claim large tracts of territory.
|
|
||||||
Can be built in friendly and neutral territory.
|
|
||||||
Train citizens: female citizens, infantry citizen-soldiers, and cavalry citizen-soldiers.
|
|
@ -0,0 +1,4 @@
|
|||||||
|
CONTROL GROUPS
|
||||||
|
Save your current selection to a hotkey by pressing CTRL + a number from 0 to 9 (by default) simultaneously.
|
||||||
|
After the control group has been created, quickly select them again by pressing the assigned number.
|
||||||
|
A double click additionally centers the camera to the selection.
|
@ -1,4 +1,4 @@
|
|||||||
DEFAULT FORMATION
|
DEFAULT FORMATION
|
||||||
Right-click an icon to set the default formation: units that are ordered to walk or patrol will automatically use it.
|
Right-click an icon to set the default formation: units that are ordered to walk or patrol will automatically use it.
|
||||||
Can be de-activated by choosing “no formation” as the default.
|
Can be deactivated by choosing “no formation” as the default.
|
||||||
The “Formation control” option lets you choose whether formations disband for orders other than walking or patrolling.
|
The “Formation control” option lets you choose whether formations disband for orders other than walking or patrolling.
|
||||||
|
@ -0,0 +1,4 @@
|
|||||||
|
DEFENSE TOWER
|
||||||
|
Defend a vulnerable position by building these strong watchtowers.
|
||||||
|
Has a large vision range and shoots arrows at any enemy in sight.
|
||||||
|
Garrison Infantry inside to increase its firepower.
|
@ -1,5 +0,0 @@
|
|||||||
DEFENSE TOWERS
|
|
||||||
Strong watchtowers, which help you defend your position.
|
|
||||||
They have a large vision range and will shoot arrows at the enemy in sight.
|
|
||||||
You can garrison more infantry inside them to increase the number of arrows they shoot.
|
|
||||||
|
|
5
binaries/data/mods/public/gui/text/tips/dock.txt
Normal file
5
binaries/data/mods/public/gui/text/tips/dock.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
DOCK
|
||||||
|
Buildable in neutral and allied territory.
|
||||||
|
Constructs various Ships for economic and military needs.
|
||||||
|
Also serves as a resource dropsite.
|
||||||
|
Can be set up as a trade point for both naval and land Traders.
|
@ -1,3 +1,3 @@
|
|||||||
ELEPHANT STABLE
|
ELEPHANT STABLE
|
||||||
The structure is available to some civilizations to train elephant units.
|
Available to some civilizations to train Elephants.
|
||||||
Units gain experience while garrisoned inside the building.
|
Units gain experience while garrisoned inside.
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
EMBASSIES AND MERCENARY CAMPS
|
EMBASSIES AND MERCENARY CAMPS
|
||||||
Special structures allowing you to hire mercenaries for your army.
|
Special structures allowing you to hire Mercenaries for your army.
|
||||||
Mercenaries will not gather resources and cost only metal, but they are experienced and strong.
|
Mercenaries cannot gather resources, but only cost metal, are trained quickly, and start at Advanced rank.
|
||||||
|
5
binaries/data/mods/public/gui/text/tips/fire_ship.txt
Normal file
5
binaries/data/mods/public/gui/text/tips/fire_ship.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FIRESHIP
|
||||||
|
Available to the Britons, Gauls, and Iberians.
|
||||||
|
Causes fire damage to nearby Ships, but gradually loses health over time as well.
|
||||||
|
Construct a few, move them to the enemy fleet, then ignite them to set them ablaze.
|
||||||
|
Very good against Siege Ships.
|
@ -1,5 +1,4 @@
|
|||||||
FISHING
|
FISHING
|
||||||
Fish the seas for a bountiful harvest.
|
Fish the seas for a bountiful harvest.
|
||||||
Fishing boats carry a large amount of food per trip.
|
Fishing boats can carry a large amount of food and gather faster than Workers on fields.
|
||||||
Fishing is faster than gathering food on fields.
|
|
||||||
Careful! Fish are not an infinite resource! Although they do slowly repopulate when left alone.
|
Careful! Fish are not an infinite resource! Although they do slowly repopulate when left alone.
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
FORGE
|
FORGE
|
||||||
Research structure for all factions.
|
Research structure for all civilizations.
|
||||||
Research weapon and armor upgrades for your units.
|
Provides valuable weapon and armor upgrades for your units.
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
FORTRESS
|
FORTRESS
|
||||||
Usually the strongest structure of a civilization and the place where you can train Heroes.
|
Usually the strongest structure of a civilization.
|
||||||
Garrison soldiers inside to add more firepower to its defense.
|
Garrison soldiers inside to add more firepower to its defense.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
FREEHAND POSITION
|
FREEHAND POSITION
|
||||||
Gain an advantage on the battleground by tactically positioning your units!
|
Gain an advantage on the battleground by tactically positioning your units!
|
||||||
Therefore select some units, press and hold the right mouse button, draw any line, then release the button.
|
To do it, select some units, press and hold the right mouse button, draw any line, then release the button.
|
||||||
Your units will now spread out on this line.
|
Your units will now spread out on this line.
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
RESOURCE GATHERING
|
RESOURCE GATHERING
|
||||||
Use citizen-soldiers and female citizens to gather resources.
|
Use Citizens to gather resources.
|
||||||
Female citizens gather vegetable resources faster.
|
Female citizens are best at gathering fruit and grain.
|
||||||
Infantry citizen-soldiers are faster gathering minerals.
|
Citizen Infantry excel at gathering wood, stone, and metal.
|
||||||
Cavalry citizen-soldiers are faster gathering meat.
|
Citizen Cavalry can only gather meat, but do so very quickly.
|
||||||
The higher the level of a citizen-soldier (advanced, elite), the better he fights, but the less efficient he is at gathering resources.
|
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
FIRESHIPS
|
|
||||||
Available to the Britons, Gauls, and Iberians.
|
|
||||||
Construct them, move them near enemy ships, then ignite them to set them ablaze.
|
|
||||||
They cause Fire damage to nearby enemy ships and themselves start to lose health.
|
|
||||||
Very good against Siege Ships.
|
|
@ -1,2 +1,3 @@
|
|||||||
LIGHTHOUSE
|
LIGHTHOUSE
|
||||||
Special Ptolemaic structures to increase your vision range when built on the shore.
|
Special structure solely available to the Ptolemies.
|
||||||
|
Increases your vision range when built on the shore.
|
||||||
|
2
binaries/data/mods/public/gui/text/tips/loot.txt
Normal file
2
binaries/data/mods/public/gui/text/tips/loot.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
LOOT
|
||||||
|
When you kill units or destroy structures, you will gain a certain number of resources, plus what they are carrying.
|
@ -1,4 +1,3 @@
|
|||||||
MAP FLARE
|
MAP FLARE
|
||||||
Use this feature to let your team know where on the map something important happens.
|
Use this feature to let your team know where on the map something important happens.
|
||||||
They will see the flare on their minimap.
|
They will also see the flare on their minimap.
|
||||||
|
|
||||||
|
@ -0,0 +1,4 @@
|
|||||||
|
MAURYAN WORKER ELEPHANT
|
||||||
|
Exclusively available to the Mauryas, right from the Village Phase.
|
||||||
|
Serves as a mobile dropsite, enabling you to efficiently gather resources outside of your territory.
|
||||||
|
Can also build structures.
|
@ -1,4 +1,4 @@
|
|||||||
PYRAMIDS OF MEROĂ‹
|
PYRAMIDS OF MEROĂ‹
|
||||||
Special structures available for the Kushites.
|
Special structures available to the Kushites.
|
||||||
The small pyramids improve the gathering rate of the workers around them.
|
The small pyramids improve the gathering rate of workers around them.
|
||||||
The large pyramids increase the military capabilities of soldiers around them.
|
The large pyramids increase the military capabilities of soldiers around them.
|
||||||
|
5
binaries/data/mods/public/gui/text/tips/nomad_mode.txt
Normal file
5
binaries/data/mods/public/gui/text/tips/nomad_mode.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
NOMAD MODE
|
||||||
|
Only available for the "Random" map type.
|
||||||
|
Players will be randomly dropped on the map without a Civic Center.
|
||||||
|
Requires the "Medium" starting resource setting in order for players to be able to build their first one.
|
||||||
|
Don't immediately start building the Civic Center, scout for a good location for your base first.
|
@ -0,0 +1,2 @@
|
|||||||
|
ORDER ONE UNIT
|
||||||
|
When right-clicking While holding the “Order one unit” hotkey (by default ALT), only one random unit from the current selection will perform the assigned task.
|
@ -1,4 +1,4 @@
|
|||||||
OUTPOSTS
|
OUTPOSTS
|
||||||
Build in neutral or own territory.
|
Build in neutral or own territory to monitor large areas of the map.
|
||||||
Cheap and quickly built, but weak.
|
Cheap and quickly built, but weak and easily captured.
|
||||||
Garrison infantry for extensive vision, and to prevent losing control of the outpost due to territory decay.
|
Garrison Infantry to extend the vision range, and to prevent losing control over it due to territory decay.
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
PALISADE WALLS
|
PALISADE WALLS
|
||||||
A quick, cheap wooden wall available to all factions.
|
A quick, cheap wooden wall for moderate defense.
|
||||||
Most factions have access to them in Village Phase.
|
Available to most civilizations in Village Phase.
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
ACHAEMENID ARCHITECTURE
|
ACHAEMENID ARCHITECTURE
|
||||||
Special technology for the Persians.
|
Special technology exclusive to the Persians.
|
||||||
Structures +25% health.
|
Structures gain +25% health, but their build time lengthened by +20% as a consequence.
|
||||||
Build time lengthened by +20% as a consequence.
|
Persians also have access to a great number of other structural and defensive technologies.
|
||||||
Persians also have access to a great number of structural and defensive technologies.
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
PIKEMEN
|
PIKEMEN
|
||||||
Heavily armored and slow. Low attack.
|
Available to the Kushites, Macedonians, Ptolemies, and Seleucids.
|
||||||
Used against cavalry or against other melee infantry to pin them in place.
|
Heavily armored, but low attack damage.
|
||||||
Available to: Kushites, Macedonians, Ptolemies, and Seleucids.
|
Use against Cavalry or against other Melee Infantry to pin them in place.
|
||||||
|
4
binaries/data/mods/public/gui/text/tips/queue_orders.txt
Normal file
4
binaries/data/mods/public/gui/text/tips/queue_orders.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
QUEUE ORDERS
|
||||||
|
While holding the “Queue order” hotkey (by default SHIFT), queue multiple tasks for units by right-clicking.
|
||||||
|
Once a task is done they will automatically execute their next task.
|
||||||
|
The queue will be reset if the unit receives a manual order.
|
@ -1,4 +0,0 @@
|
|||||||
SIEGE WARSHIP
|
|
||||||
The heaviest standard warship. Available to: Carthaginians, Ptolemies, Romans, Seleucids, and Han Chinese.
|
|
||||||
Strong crush damage and long range make them good against Arrow Ships and Buildings near the shore.
|
|
||||||
Countered by melee ships, such as Ramming Ships and Fire Ships, and other Siege Ships.
|
|
5
binaries/data/mods/public/gui/text/tips/ramming_ship.txt
Normal file
5
binaries/data/mods/public/gui/text/tips/ramming_ship.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
RAMMING SHIP
|
||||||
|
Strong and fast melee ship available to Mediterranean civilizations.
|
||||||
|
Transports up to 30 troops swiftly across the water.
|
||||||
|
Good against Siege Ships due to its speed and strong ramming attack.
|
||||||
|
Countered by Arrow Ships and Defense Towers.
|
@ -1,5 +0,0 @@
|
|||||||
RAMMING SHIPS
|
|
||||||
A strong and fast melee ship available to Mediterranean civilizations.
|
|
||||||
Transport up to 30 troops swiftly across the water.
|
|
||||||
Good against Siege Ships due to speed and strong ramming attack.
|
|
||||||
Countered by Arrow Ships and Defense Towers.
|
|
@ -1,3 +1,4 @@
|
|||||||
RESOURCE COUNTER
|
RESOURCE COUNTER
|
||||||
The resource counter panel shows you how much of each resources you have at the moment.
|
Located in the top left corner of the screen.
|
||||||
The number below it shows you how many citizens are currently gathering them.
|
Keep tabs on how much of each resource you've stockpiled in your treasury and how many units are currently gathering them.
|
||||||
|
Keep an eye on it while playing to avoid running out in crucial moments.
|
||||||
|
@ -2,4 +2,4 @@ SAVANNA BIOME
|
|||||||
Generally flat, with a few watering holes and rocky outcrops.
|
Generally flat, with a few watering holes and rocky outcrops.
|
||||||
Chock full of herd animals for plentiful hunting.
|
Chock full of herd animals for plentiful hunting.
|
||||||
Rich in all types of mining.
|
Rich in all types of mining.
|
||||||
Wood tends to be sparse, but consists of high-yield Baobab trees.
|
Trees tend to be sparse, but include high-yield Baobab trees.
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
SELECT WOUNDED UNITS
|
||||||
|
While holding the “Select only wounded units” hotkey (by default 0), you can select wounded units.
|
||||||
|
Customize the threshold in Settings > Game Session.
|
4
binaries/data/mods/public/gui/text/tips/siege_ship.txt
Normal file
4
binaries/data/mods/public/gui/text/tips/siege_ship.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
SIEGE WARSHIP
|
||||||
|
The heaviest standard warship. Available to the Carthaginians, Ptolemies, Romans, Seleucids, and Han Chinese.
|
||||||
|
Strong crush damage and long range make it good against Arrow Ships and structures near the shore.
|
||||||
|
Countered by melee ships, such as Ramming Ships and Fire Ships, and other Siege Ships.
|
@ -1,4 +1,3 @@
|
|||||||
SNAPPING
|
SNAPPING
|
||||||
Structures can be aligned by keeping the snap hotkey pressed during placement.
|
Align structures by keeping the snap hotkey pressed during placement.
|
||||||
Aligning structures allows to conserve space for future construction.
|
Conserves space for future construction, and comes in useful for obstructing raiding enemies.
|
||||||
Tightly packed groups of structures can also be used for obstructing raiding enemies.
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
SPARTIATES
|
SPARTIATES
|
||||||
Strongest infantry unit in the game.
|
Champion Infantry Spearmen available to the Spartans.
|
||||||
Champion Infantry available to the Spartans.
|
One of the strongest units in the game.
|
||||||
Use them to slaughter enemy cavalry or as a shock force to support your regular infantry.
|
Use them to slaughter enemy Cavalry or as a shock force to support your regular Infantry.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
SPEARMEN
|
SPEARMEN
|
||||||
The basic melee infantry for every faction in the game.
|
The basic Melee Infantry available to every civilization in the game.
|
||||||
Used against cavalry for an attack bonus.
|
Use against Cavalry for an attack bonus.
|
||||||
Decent hack attack make them good front line troops.
|
Decent melee hack damage makes them good front line troops.
|
||||||
They are countered by ranged units and swordsmen, so support your spearmen with slingers or cavalry.
|
Countered by ranged units and Swordsmen, so support your Spearmen with those or Cavalry yourself.
|
||||||
|
3
binaries/data/mods/public/gui/text/tips/storehouse.txt
Normal file
3
binaries/data/mods/public/gui/text/tips/storehouse.txt
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
STOREHOUSE
|
||||||
|
A cheap dropsite for non-food resources (wood, stone, and metal).
|
||||||
|
Research technologies to improve the gathering rates of your Citizens.
|
@ -1,3 +0,0 @@
|
|||||||
STOREHOUSES
|
|
||||||
A cheap dropsite for non-food resources (Wood, Stone, Metal).
|
|
||||||
Research technologies to improve the gathering capabilities of your citizens.
|
|
4
binaries/data/mods/public/gui/text/tips/syntagma.txt
Normal file
4
binaries/data/mods/public/gui/text/tips/syntagma.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
SYNTAGMA
|
||||||
|
A unique historical formation formed by Macedonian Pikemen.
|
||||||
|
Forms the men into tight ranks and deep files, allowing a wall of forward-thrusting pikes to pierce any enemy soldier foolish enough launch a frontal assault.
|
||||||
|
Support them with more flexible units to prevent encirclement.
|
6
binaries/data/mods/public/gui/text/tips/temple.txt
Normal file
6
binaries/data/mods/public/gui/text/tips/temple.txt
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
TEMPLE
|
||||||
|
Town Phase structure available to all civilizations.
|
||||||
|
Trains Healers to heal your troops on the battlefield.
|
||||||
|
Offers a series of helpful healing technologies.
|
||||||
|
Its aura heals nearby units.
|
||||||
|
Garrison wounded units inside for even quicker healing.
|
@ -1,6 +0,0 @@
|
|||||||
TEMPLES
|
|
||||||
Town Phase structure.
|
|
||||||
Recruit Healers to heal your troops on the battlefield.
|
|
||||||
Research healing technologies.
|
|
||||||
Its aura heals nearby units.
|
|
||||||
Garrison wounded units inside for quicker healing.
|
|
@ -1,4 +1,4 @@
|
|||||||
TERRITORY DECAY
|
TERRITORY DECAY
|
||||||
Decay happens when structures are not connected to an allied Civil Center.
|
Structures too far off an allied territory root (usually a Civic Center) gradually lose capture points.
|
||||||
The decay process can be slowed down or reversed by garrisoning some units in the structure.
|
Slow down or reverse the decay process by garrisoning some units in the structure.
|
||||||
When the decay is completed, the structure will be given to the most influential neighbor.
|
When the decay is completed, the structure will be given to the player owning the closest territory root or Gaia.
|
||||||
|
4
binaries/data/mods/public/gui/text/tips/trading.txt
Normal file
4
binaries/data/mods/public/gui/text/tips/trading.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
TRADING
|
||||||
|
Train Traders for trading on land at the Market and Merchantmen for seaborne trade at the Dock.
|
||||||
|
Create a trade route by selecting a Trader or Merchantman and right-clicking on two trade points (Dock or Market). Longer distances yield more profits!
|
||||||
|
Open the "Barter & Trade" dialog next to the menu in the top right corner to set how much of each resource type you want to trade for.
|
@ -1,3 +1,3 @@
|
|||||||
TREASURES
|
TREASURES
|
||||||
Collectible chests and bare resources on land and shipwrecks on the shore.
|
Collectible chests, bare resources on land, and shipwrecks on the shore.
|
||||||
Provide you with a resource boost, so keep an eye out for them as you explore.
|
Provide you with an instant resource boost, so keep an eye out for them as you explore.
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
WAR ELEPHANTS
|
WAR ELEPHANTS
|
||||||
|
Available to the Carthaginians, Kushites, Mauryas, Persians, Ptolemies, and Seleucids.
|
||||||
Huge beasts from Africa and India, trained for war.
|
Huge beasts from Africa and India, trained for war.
|
||||||
High Food and Metal cost, but very powerful.
|
High Food and Metal cost, but very powerful.
|
||||||
Available to: Carthaginians, Kushites, Mauryas, Persians, Ptolemies, and Seleucids.
|
Attack individual units, but also deal splash damage to others nearby. Use them to break apart tight formations.
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
WHALES
|
WHALES
|
||||||
An oceanic resource.
|
An oceanic resource providing 2000 food.
|
||||||
2000 Food.
|
|
||||||
Gatherable by Fishing Boats after the whale is killed.
|
Gatherable by Fishing Boats after the whale is killed.
|
||||||
Roam around the oceans of the game and flee when attacked.
|
Roam around the oceans of the game and flee when attacked.
|
||||||
|
34
binaries/system/get-nightly-binaries.bat
Normal file
34
binaries/system/get-nightly-binaries.bat
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
rem **Download from the latest nightly build:**
|
||||||
|
rem ** - translations**
|
||||||
|
rem ** - SPIR-V shaders**
|
||||||
|
rem ** - game built files for Windows**
|
||||||
|
|
||||||
|
rem **This will overwrite any uncommitted changes to:**
|
||||||
|
rem ** - messages.json in i18n folders**
|
||||||
|
rem ** - readme.txt and helper scripts in this directory**
|
||||||
|
|
||||||
|
where svn || (
|
||||||
|
@echo.
|
||||||
|
@echo The "svn" executable was not found in your PATH. Make sure you installed TortoiseSVN
|
||||||
|
@echo and that you selected "command line client tools" during the installation.
|
||||||
|
@echo.
|
||||||
|
@pause
|
||||||
|
@exit
|
||||||
|
)
|
||||||
|
|
||||||
|
set "repourl=https://svn.wildfiregames.com/nightly-build/trunk"
|
||||||
|
|
||||||
|
rem **Translations**
|
||||||
|
svn export --force --depth files %repourl%/binaries/data/l10n ..\data\l10n
|
||||||
|
for %%m in (mod public) do (
|
||||||
|
svn export --force --depth files %repourl%/binaries/data/mods/%%m/l10n ..\data\mods\%%m\l10n
|
||||||
|
)
|
||||||
|
svn export --force %repourl%/binaries/data/mods/public/gui/credits/texts/translators.json ..\data\mods\public\gui\credits\texts\translators.json
|
||||||
|
|
||||||
|
rem **SPIR-V shaders**
|
||||||
|
for %%m in (mod public) do (
|
||||||
|
svn export --force %repourl%/binaries/data/mods/%%m/shaders/spirv ..\data\mods\%%m\shaders\spirv
|
||||||
|
)
|
||||||
|
|
||||||
|
rem **Game built files**
|
||||||
|
svn export --force %repourl%/binaries/system .
|
@ -42,8 +42,8 @@ pipeline {
|
|||||||
sh "git lfs pull -I binaries/data/tests"
|
sh "git lfs pull -I binaries/data/tests"
|
||||||
sh "git lfs pull -I \"binaries/data/mods/_test.*\""
|
sh "git lfs pull -I \"binaries/data/mods/_test.*\""
|
||||||
|
|
||||||
sh "libraries/build-source-libs.sh -j2 2> freebsd-prebuild-errors.log"
|
sh "libraries/build-source-libs.sh 2> freebsd-prebuild-errors.log"
|
||||||
sh "build/workspaces/update-workspaces.sh -j2 --jenkins-tests 2>> freebsd-prebuild-errors.log"
|
sh "build/workspaces/update-workspaces.sh --jenkins-tests 2>> freebsd-prebuild-errors.log"
|
||||||
}
|
}
|
||||||
post {
|
post {
|
||||||
failure {
|
failure {
|
||||||
@ -56,7 +56,7 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
retry (2) {
|
retry (2) {
|
||||||
script {
|
script {
|
||||||
try { sh "cd build/workspaces/gcc/ && gmake -j2 config=release" }
|
try { sh "cd build/workspaces/gcc/ && gmake config=release" }
|
||||||
catch(e) {
|
catch(e) {
|
||||||
sh "cd build/workspaces/gcc/ && gmake clean config=release"
|
sh "cd build/workspaces/gcc/ && gmake clean config=release"
|
||||||
throw e
|
throw e
|
||||||
|
@ -65,13 +65,13 @@ pipeline {
|
|||||||
sh "git lfs pull -I binaries/data/tests"
|
sh "git lfs pull -I binaries/data/tests"
|
||||||
sh "git lfs pull -I \"binaries/data/mods/_test.*\""
|
sh "git lfs pull -I \"binaries/data/mods/_test.*\""
|
||||||
|
|
||||||
sh "libraries/build-source-libs.sh -j1 2> ${JENKINS_COMPILER}-prebuild-errors.log"
|
sh "libraries/build-source-libs.sh 2> ${JENKINS_COMPILER}-prebuild-errors.log"
|
||||||
|
|
||||||
script {
|
script {
|
||||||
if (env.JENKINS_PCH == "no-pch") {
|
if (env.JENKINS_PCH == "no-pch") {
|
||||||
sh "build/workspaces/update-workspaces.sh -j1 --jenkins-tests --without-pch 2>> ${JENKINS_COMPILER}-prebuild-errors.log"
|
sh "build/workspaces/update-workspaces.sh --jenkins-tests --without-pch 2>> ${JENKINS_COMPILER}-prebuild-errors.log"
|
||||||
} else {
|
} else {
|
||||||
sh "build/workspaces/update-workspaces.sh -j1 --jenkins-tests 2>> ${JENKINS_COMPILER}-prebuild-errors.log"
|
sh "build/workspaces/update-workspaces.sh --jenkins-tests 2>> ${JENKINS_COMPILER}-prebuild-errors.log"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -86,7 +86,7 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
retry(2) {
|
retry(2) {
|
||||||
script {
|
script {
|
||||||
try { sh "cd build/workspaces/gcc/ && make -j1 config=debug" }
|
try { sh "cd build/workspaces/gcc/ && make config=debug" }
|
||||||
catch(e) {
|
catch(e) {
|
||||||
sh "cd build/workspaces/gcc/ && make clean config=debug"
|
sh "cd build/workspaces/gcc/ && make clean config=debug"
|
||||||
throw e
|
throw e
|
||||||
@ -108,7 +108,7 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
retry(2) {
|
retry(2) {
|
||||||
script {
|
script {
|
||||||
try { sh "cd build/workspaces/gcc/ && make -j1 config=release" }
|
try { sh "cd build/workspaces/gcc/ && make config=release" }
|
||||||
catch(e) {
|
catch(e) {
|
||||||
sh "cd build/workspaces/gcc/ && make clean config=release"
|
sh "cd build/workspaces/gcc/ && make clean config=release"
|
||||||
throw e
|
throw e
|
||||||
@ -130,7 +130,7 @@ pipeline {
|
|||||||
|
|
||||||
post {
|
post {
|
||||||
always {
|
always {
|
||||||
node('LinuxSlave') { ws('workspace/linux') {
|
node('LinuxAgent') { ws('workspace/linux') {
|
||||||
recordIssues enabledForFailure: true, qualityGates: [[threshold: 1, type: 'NEW']], tools: [clang(), gcc()]
|
recordIssues enabledForFailure: true, qualityGates: [[threshold: 1, type: 'NEW']], tools: [clang(), gcc()]
|
||||||
}}
|
}}
|
||||||
}
|
}
|
||||||
|
@ -36,8 +36,8 @@ pipeline {
|
|||||||
sh "git lfs pull -I binaries/data/tests"
|
sh "git lfs pull -I binaries/data/tests"
|
||||||
sh "git lfs pull -I \"binaries/data/mods/_test.*\""
|
sh "git lfs pull -I \"binaries/data/mods/_test.*\""
|
||||||
|
|
||||||
sh "libraries/build-macos-libs.sh -j4 2> macos-prebuild-errors.log"
|
sh "libraries/build-macos-libs.sh 2> macos-prebuild-errors.log"
|
||||||
sh "build/workspaces/update-workspaces.sh -j4 --jenkins-tests 2>> macos-prebuild-errors.log"
|
sh "build/workspaces/update-workspaces.sh --jenkins-tests 2>> macos-prebuild-errors.log"
|
||||||
}
|
}
|
||||||
post {
|
post {
|
||||||
failure {
|
failure {
|
||||||
@ -50,7 +50,7 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
retry(2) {
|
retry(2) {
|
||||||
script {
|
script {
|
||||||
try { sh "cd build/workspaces/gcc/ && make -j4 config=debug" }
|
try { sh "cd build/workspaces/gcc/ && make config=debug" }
|
||||||
catch(e) {
|
catch(e) {
|
||||||
sh "cd build/workspaces/gcc/ && make clean config=debug"
|
sh "cd build/workspaces/gcc/ && make clean config=debug"
|
||||||
throw e
|
throw e
|
||||||
@ -72,7 +72,7 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
retry(2) {
|
retry(2) {
|
||||||
script {
|
script {
|
||||||
try { sh "cd build/workspaces/gcc/ && make -j4 config=release" }
|
try { sh "cd build/workspaces/gcc/ && make config=release" }
|
||||||
catch(e) {
|
catch(e) {
|
||||||
sh "cd build/workspaces/gcc/ && make clean config=release"
|
sh "cd build/workspaces/gcc/ && make clean config=release"
|
||||||
throw e
|
throw e
|
||||||
|
@ -65,7 +65,7 @@ pipeline {
|
|||||||
bat "cd libraries && get-windows-libs.bat"
|
bat "cd libraries && get-windows-libs.bat"
|
||||||
bat "(robocopy C:\\wxwidgets3.2.5\\lib libraries\\win32\\wxwidgets\\lib /MIR /NDL /NJH /NJS /NP /NS /NC) ^& IF %ERRORLEVEL% LEQ 1 exit 0"
|
bat "(robocopy C:\\wxwidgets3.2.5\\lib libraries\\win32\\wxwidgets\\lib /MIR /NDL /NJH /NJS /NP /NS /NC) ^& IF %ERRORLEVEL% LEQ 1 exit 0"
|
||||||
bat "(robocopy C:\\wxwidgets3.2.5\\include libraries\\win32\\wxwidgets\\include /MIR /NDL /NJH /NJS /NP /NS /NC) ^& IF %ERRORLEVEL% LEQ 1 exit 0"
|
bat "(robocopy C:\\wxwidgets3.2.5\\include libraries\\win32\\wxwidgets\\include /MIR /NDL /NJH /NJS /NP /NS /NC) ^& IF %ERRORLEVEL% LEQ 1 exit 0"
|
||||||
bat "cd build\\workspaces && update-workspaces.bat --atlas --without-pch --without-tests"
|
bat "cd build\\workspaces && update-workspaces.bat --atlas --without-pch --large-address-aware --without-tests"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -133,16 +133,16 @@ pipeline {
|
|||||||
stage("Update translations") {
|
stage("Update translations") {
|
||||||
steps {
|
steps {
|
||||||
ws("workspace/nightly-svn") {
|
ws("workspace/nightly-svn") {
|
||||||
bat "cd source\\tools\\i18n && python updateTemplates.py"
|
bat "cd source\\tools\\i18n && python update_templates.py"
|
||||||
withCredentials([string(credentialsId: 'TX_TOKEN', variable: 'TX_TOKEN')]) {
|
withCredentials([string(credentialsId: 'TX_TOKEN', variable: 'TX_TOKEN')]) {
|
||||||
bat "cd source\\tools\\i18n && python pullTranslations.py"
|
bat "cd source\\tools\\i18n && python pull_translations.py"
|
||||||
}
|
}
|
||||||
bat "cd source\\tools\\i18n && python generateDebugTranslation.py --long"
|
bat "cd source\\tools\\i18n && python generate_debug_translation.py --long"
|
||||||
bat "cd source\\tools\\i18n && python cleanTranslationFiles.py"
|
bat "cd source\\tools\\i18n && python clean_translation_files.py"
|
||||||
script { if (!params.NEW_REPO) {
|
script { if (!params.NEW_REPO) {
|
||||||
bat "python source\\tools\\i18n\\checkDiff.py --verbose"
|
bat "python source\\tools\\i18n\\check_diff.py --verbose"
|
||||||
}}
|
}}
|
||||||
bat "cd source\\tools\\i18n && python creditTranslators.py"
|
bat "cd source\\tools\\i18n && python credit_translators.py"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,7 @@ pipeline {
|
|||||||
stage("Template Analyzer") {
|
stage("Template Analyzer") {
|
||||||
steps {
|
steps {
|
||||||
ws("/zpool0/entity-docs"){
|
ws("/zpool0/entity-docs"){
|
||||||
sh "cd source/tools/templatesanalyzer/ && python3 unitTables.py"
|
sh "cd source/tools/templatesanalyzer/ && python3 unit_tables.py"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
// This pipeline builds the game on Windows (which uses the MSVC 15.0 compiler from Visual Studio 2017) and runs tests.
|
// This pipeline builds the game on Windows (which uses the MSVC 15.0 compiler from Visual Studio 2017) and runs tests.
|
||||||
|
|
||||||
def visualStudioPath = "\"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\MSBuild\\15.0\\Bin\\MSBuild.exe\""
|
def visualStudioPath = "\"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\MSBuild\\15.0\\Bin\\MSBuild.exe\""
|
||||||
def buildOptions = "/p:PlatformToolset=v141_xp /p:XPDeprecationWarning=false /t:pyrogenesis /t:AtlasUI /t:test /m:2 /nologo -clp:NoSummary"
|
def buildOptions = "/p:PlatformToolset=v141_xp /p:XPDeprecationWarning=false /t:pyrogenesis /t:AtlasUI /t:test /nologo -clp:NoSummary"
|
||||||
|
|
||||||
pipeline {
|
pipeline {
|
||||||
// Stop previous build in pull requests, but not in branches
|
// Stop previous build in pull requests, but not in branches
|
||||||
|
@ -14,7 +14,11 @@ else
|
|||||||
-- No Unix-specific libs yet (use source directory instead!)
|
-- No Unix-specific libs yet (use source directory instead!)
|
||||||
end
|
end
|
||||||
-- directory for shared, bundled libraries
|
-- directory for shared, bundled libraries
|
||||||
libraries_source_dir = rootdir.."/libraries/source/"
|
if os.istarget("windows") then
|
||||||
|
libraries_source_dir = rootdir.."/libraries/win32/"
|
||||||
|
else
|
||||||
|
libraries_source_dir = rootdir.."/libraries/source/"
|
||||||
|
end
|
||||||
third_party_source_dir = rootdir.."/source/third_party/"
|
third_party_source_dir = rootdir.."/source/third_party/"
|
||||||
|
|
||||||
local function add_default_lib_paths(extern_lib)
|
local function add_default_lib_paths(extern_lib)
|
||||||
@ -361,7 +365,7 @@ extern_lib_defs = {
|
|||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
glad = {
|
glad = {
|
||||||
add_source_include_paths("glad")
|
add_third_party_include_paths("glad")
|
||||||
},
|
},
|
||||||
gloox = {
|
gloox = {
|
||||||
compile_settings = function()
|
compile_settings = function()
|
||||||
|
@ -943,16 +943,11 @@ function setup_all_libs ()
|
|||||||
|
|
||||||
extern_libs = { "glad" }
|
extern_libs = { "glad" }
|
||||||
if not os.istarget("windows") and not _OPTIONS["android"] and not os.istarget("macosx") then
|
if not os.istarget("windows") and not _OPTIONS["android"] and not os.istarget("macosx") then
|
||||||
-- X11 should only be linked on *nix
|
table.insert(extern_libs, "x11")
|
||||||
table.insert(used_extern_libs, "x11")
|
|
||||||
end
|
|
||||||
setup_static_lib_project("gladwrapper", {}, used_extern_libs, { no_pch = 1 })
|
|
||||||
glad_path = libraries_source_dir.."glad/"
|
|
||||||
if externalincludedirs then
|
|
||||||
externalincludedirs { glad_path.."include" }
|
|
||||||
else
|
|
||||||
sysincludedirs { glad_path.."include" }
|
|
||||||
end
|
end
|
||||||
|
setup_static_lib_project("gladwrapper", {}, extern_libs, { no_pch = 1 })
|
||||||
|
-- select files to build for the current platform
|
||||||
|
glad_path = third_party_source_dir.."glad/"
|
||||||
files { glad_path.."src/vulkan.cpp" }
|
files { glad_path.."src/vulkan.cpp" }
|
||||||
if _OPTIONS["gles"] then
|
if _OPTIONS["gles"] then
|
||||||
files { glad_path.."src/gles2.cpp" }
|
files { glad_path.."src/gles2.cpp" }
|
||||||
@ -964,6 +959,10 @@ function setup_all_libs ()
|
|||||||
files { glad_path.."src/egl.cpp", glad_path.."src/glx.cpp" }
|
files { glad_path.."src/egl.cpp", glad_path.."src/glx.cpp" }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
-- on Windows, silence a build warning in vulkan.cpp
|
||||||
|
filter "action:vs*"
|
||||||
|
buildoptions { "/wd4551" }
|
||||||
|
filter {}
|
||||||
|
|
||||||
|
|
||||||
-- Third-party libraries that are built as part of the main project,
|
-- Third-party libraries that are built as part of the main project,
|
||||||
|
@ -24,23 +24,23 @@ ZLIB_VERSION="zlib-1.2.11"
|
|||||||
CURL_VERSION="curl-7.71.0"
|
CURL_VERSION="curl-7.71.0"
|
||||||
ICONV_VERSION="libiconv-1.16"
|
ICONV_VERSION="libiconv-1.16"
|
||||||
XML2_VERSION="libxml2-2.9.10"
|
XML2_VERSION="libxml2-2.9.10"
|
||||||
SDL2_VERSION="SDL2-2.0.18"
|
SDL2_VERSION="SDL2-2.24.0"
|
||||||
# NOTE: remember to also update LIB_URL below when changing version
|
# NOTE: remember to also update LIB_URL below when changing version
|
||||||
BOOST_VERSION="boost_1_76_0"
|
BOOST_VERSION="boost_1_81_0"
|
||||||
# NOTE: remember to also update LIB_URL below when changing version
|
# NOTE: remember to also update LIB_URL below when changing version
|
||||||
WXWIDGETS_VERSION="wxWidgets-3.1.4"
|
WXWIDGETS_VERSION="wxWidgets-3.1.4"
|
||||||
# libpng was included as part of X11 but that's removed from Mountain Lion
|
# libpng was included as part of X11 but that's removed from Mountain Lion
|
||||||
# (also the Snow Leopard version was ancient 1.2)
|
# (also the Snow Leopard version was ancient 1.2)
|
||||||
PNG_VERSION="libpng-1.6.36"
|
PNG_VERSION="libpng-1.6.36"
|
||||||
FREETYPE_VERSION="freetype-2.10.4"
|
FREETYPE_VERSION="freetype-2.10.4"
|
||||||
OGG_VERSION="libogg-1.3.3"
|
OGG_VERSION="libogg-1.3.5"
|
||||||
VORBIS_VERSION="libvorbis-1.3.7"
|
VORBIS_VERSION="libvorbis-1.3.7"
|
||||||
# gloox requires GnuTLS, GnuTLS requires Nettle and GMP
|
# gloox requires GnuTLS, GnuTLS requires Nettle and GMP
|
||||||
GMP_VERSION="gmp-6.2.1"
|
GMP_VERSION="gmp-6.2.1"
|
||||||
NETTLE_VERSION="nettle-3.9"
|
NETTLE_VERSION="nettle-3.9"
|
||||||
# NOTE: remember to also update LIB_URL below when changing version
|
# NOTE: remember to also update LIB_URL below when changing version
|
||||||
GLOOX_VERSION="gloox-1.0.24"
|
GLOOX_VERSION="gloox-1.0.24"
|
||||||
GNUTLS_VERSION="gnutls-3.8.0"
|
GNUTLS_VERSION="gnutls-3.8.3"
|
||||||
# OS X only includes part of ICU, and only the dylib
|
# OS X only includes part of ICU, and only the dylib
|
||||||
# NOTE: remember to also update LIB_URL below when changing version
|
# NOTE: remember to also update LIB_URL below when changing version
|
||||||
ICU_VERSION="icu4c-69_1"
|
ICU_VERSION="icu4c-69_1"
|
||||||
@ -55,7 +55,6 @@ MOLTENVK_VERSION="1.2.2"
|
|||||||
# * NVTT
|
# * NVTT
|
||||||
# * FCollada
|
# * FCollada
|
||||||
# --------------------------------------------------------------
|
# --------------------------------------------------------------
|
||||||
source_svnrev="28207"
|
|
||||||
# --------------------------------------------------------------
|
# --------------------------------------------------------------
|
||||||
# Provided by OS X:
|
# Provided by OS X:
|
||||||
# * OpenAL
|
# * OpenAL
|
||||||
@ -409,7 +408,7 @@ echo "Building Boost..."
|
|||||||
LIB_VERSION="${BOOST_VERSION}"
|
LIB_VERSION="${BOOST_VERSION}"
|
||||||
LIB_ARCHIVE="$LIB_VERSION.tar.bz2"
|
LIB_ARCHIVE="$LIB_VERSION.tar.bz2"
|
||||||
LIB_DIRECTORY="$LIB_VERSION"
|
LIB_DIRECTORY="$LIB_VERSION"
|
||||||
LIB_URL="https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/"
|
LIB_URL="https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/"
|
||||||
|
|
||||||
mkdir -p boost
|
mkdir -p boost
|
||||||
cd boost
|
cd boost
|
||||||
@ -620,16 +619,16 @@ OGG_DIR="$(pwd)/libogg"
|
|||||||
rm -rf $LIB_DIRECTORY include lib share
|
rm -rf $LIB_DIRECTORY include lib share
|
||||||
tar -xf $LIB_ARCHIVE
|
tar -xf $LIB_ARCHIVE
|
||||||
|
|
||||||
(
|
# shellcheck disable=SC2086
|
||||||
cd $LIB_DIRECTORY
|
cmake -B libogg \
|
||||||
./configure \
|
-S $LIB_DIRECTORY \
|
||||||
CFLAGS="$CFLAGS" \
|
-G "Unix Makefiles" \
|
||||||
LDFLAGS="$LDFLAGS" \
|
-DCMAKE_INSTALL_PREFIX="$OGG_DIR" \
|
||||||
--prefix="$OGG_DIR" \
|
-DBUILD_SHARED_LIBS=OFF \
|
||||||
--enable-shared=no
|
-DINSTALL_DOCS=OFF \
|
||||||
make "${JOBS}"
|
-DCMAKE_C_FLAGS="$CFLAGS" \
|
||||||
make install
|
$CMAKE_FLAGS
|
||||||
) || die "libogg build failed"
|
cmake --build libogg "${JOBS}" --target install
|
||||||
|
|
||||||
cp -f lib/pkgconfig/* "$PC_PATH"
|
cp -f lib/pkgconfig/* "$PC_PATH"
|
||||||
echo "$LIB_VERSION" >.already-built
|
echo "$LIB_VERSION" >.already-built
|
||||||
@ -659,17 +658,17 @@ echo "Building libvorbis..."
|
|||||||
rm -rf $LIB_DIRECTORY include lib share
|
rm -rf $LIB_DIRECTORY include lib share
|
||||||
tar -xf $LIB_ARCHIVE
|
tar -xf $LIB_ARCHIVE
|
||||||
|
|
||||||
(
|
# shellcheck disable=SC2086
|
||||||
cd $LIB_DIRECTORY
|
cmake -B libvorbis \
|
||||||
./configure \
|
-S $LIB_DIRECTORY \
|
||||||
CFLAGS="$CFLAGS" \
|
-G "Unix Makefiles" \
|
||||||
LDFLAGS="$LDFLAGS" \
|
-DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" \
|
||||||
--prefix="$INSTALL_DIR" \
|
-DCMAKE_PREFIX_PATH="$OGG_DIR" \
|
||||||
--enable-shared=no \
|
-DBUILD_SHARED_LIBS=OFF \
|
||||||
--with-ogg="$OGG_DIR"
|
-DINSTALL_DOCS=OFF \
|
||||||
make "${JOBS}"
|
-DCMAKE_C_FLAGS="$CFLAGS" \
|
||||||
make install
|
$CMAKE_FLAGS
|
||||||
) || die "libvorbis build failed"
|
cmake --build libvorbis "${JOBS}" --target install
|
||||||
|
|
||||||
cp -f lib/pkgconfig/* "$PC_PATH"
|
cp -f lib/pkgconfig/* "$PC_PATH"
|
||||||
echo "$LIB_VERSION" >.already-built
|
echo "$LIB_VERSION" >.already-built
|
||||||
@ -1067,21 +1066,17 @@ echo "Building fmt..."
|
|||||||
rm -rf $LIB_DIRECTORY include lib
|
rm -rf $LIB_DIRECTORY include lib
|
||||||
tar -xf $LIB_ARCHIVE
|
tar -xf $LIB_ARCHIVE
|
||||||
|
|
||||||
(
|
# It appears that older versions of Clang require constexpr statements to have a user-set constructor.
|
||||||
cd $LIB_DIRECTORY
|
patch -Np1 -i ../../../macos-patches/fmt_constexpr.diff
|
||||||
# It appears that older versions of Clang require constexpr statements to have a user-set constructor.
|
# shellcheck disable=SC2086
|
||||||
patch -Np1 -i ../../../macos-patches/fmt_constexpr.diff
|
cmake -B libfmt \
|
||||||
mkdir -p build
|
-S $LIB_DIRECTORY \
|
||||||
cd build
|
-DFMT_TEST=False \
|
||||||
# shellcheck disable=SC2086
|
-DFMT_DOC=False \
|
||||||
cmake .. \
|
-DCMAKE_C_FLAGS="$CFLAGS" \
|
||||||
-DFMT_TEST=False \
|
-DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" \
|
||||||
-DFMT_DOC=False \
|
$CMAKE_FLAGS
|
||||||
-DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" \
|
cmake --build libfmt "${JOBS}" --target install
|
||||||
$CMAKE_FLAGS
|
|
||||||
make fmt "${JOBS}"
|
|
||||||
make install
|
|
||||||
) || die "fmt build failed"
|
|
||||||
|
|
||||||
cp -f lib/pkgconfig/* "$PC_PATH"
|
cp -f lib/pkgconfig/* "$PC_PATH"
|
||||||
echo "$FMT_VERSION" >.already-built
|
echo "$FMT_VERSION" >.already-built
|
||||||
@ -1102,7 +1097,7 @@ echo "Building Molten VK..."
|
|||||||
cd "molten-vk"
|
cd "molten-vk"
|
||||||
|
|
||||||
if [ $force_rebuild = "true" ] || [ ! -e .already-built ] || [ "$(cat .already-built)" != "$MOLTENVK_VERSION" ] || [ ! -e ../../../binaries/system/libMoltenVK.dylib ]; then
|
if [ $force_rebuild = "true" ] || [ ! -e .already-built ] || [ "$(cat .already-built)" != "$MOLTENVK_VERSION" ] || [ ! -e ../../../binaries/system/libMoltenVK.dylib ]; then
|
||||||
INSTALL_DIR="../../../../binaries/system/"
|
INSTALL_DIR="../../../binaries/system/"
|
||||||
|
|
||||||
rm -f .already-built
|
rm -f .already-built
|
||||||
download_lib $LIB_URL $LIB_ARCHIVE
|
download_lib $LIB_URL $LIB_ARCHIVE
|
||||||
@ -1124,55 +1119,27 @@ echo "Building Molten VK..."
|
|||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
# The following libraries are shared on different OSes and may
|
# The following libraries are shared on different OSes and may
|
||||||
# be customized, so we build and install them from bundled sources
|
# be customized, so we build and install them from bundled sources
|
||||||
# (served over SVN)
|
# (served over SVN or other sources)
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
|
|
||||||
if [ -e ../source/.svn ]; then
|
export ARCH CXXFLAGS CFLAGS LDFLAGS CMAKE_FLAGS JOBS
|
||||||
(
|
|
||||||
cd ../source
|
|
||||||
svn cleanup
|
|
||||||
svn up -r $source_svnrev
|
|
||||||
) || die "Failed update of source libs"
|
|
||||||
else
|
|
||||||
svn co -r $source_svnrev https://svn.wildfiregames.com/public/source-libs/trunk ../source
|
|
||||||
fi
|
|
||||||
|
|
||||||
# SpiderMonkey - bundled, no download
|
|
||||||
(
|
|
||||||
cd ../source/spidermonkey/
|
|
||||||
|
|
||||||
if [ $force_rebuild = "true" ]; then
|
|
||||||
rm -f .already-built
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Use the regular build script for SM.
|
|
||||||
JOBS="$JOBS" ZLIB_DIR="$ZLIB_DIR" ARCH="$ARCH" ./build.sh || die "Error building spidermonkey"
|
|
||||||
cp bin/* ../../../binaries/system/
|
|
||||||
|
|
||||||
) || die "Failed to build spidermonkey"
|
|
||||||
|
|
||||||
# --------------------------------------------------------------
|
# --------------------------------------------------------------
|
||||||
# NVTT - bundled, no download
|
echo "Building cxxtest..."
|
||||||
(
|
|
||||||
cd ../source/nvtt
|
|
||||||
|
|
||||||
if [ $force_rebuild = "true" ]; then
|
./../source/cxxtest-4.4/build.sh || die "cxxtest build failed"
|
||||||
rm -f .already-built
|
|
||||||
fi
|
|
||||||
|
|
||||||
CXXFLAGS="$CXXFLAGS" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" CMAKE_FLAGS=$CMAKE_FLAGS JOBS="$JOBS" ./build.sh || die "Error building NVTT"
|
|
||||||
cp bin/* ../../../binaries/system/
|
|
||||||
) || die "Failed to build nvtt"
|
|
||||||
|
|
||||||
# --------------------------------------------------------------
|
# --------------------------------------------------------------
|
||||||
# FCollada - bundled, no download
|
echo "Building FCollada..."
|
||||||
(
|
|
||||||
cd ../source/fcollada/
|
|
||||||
|
|
||||||
if [ $force_rebuild = "true" ]; then
|
./../source/fcollada/build.sh || die "FCollada build failed"
|
||||||
rm -f .already-built
|
|
||||||
fi
|
|
||||||
|
|
||||||
CXXFLAGS="$CXXFLAGS" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" JOBS="$JOBS" ./build.sh || die "Error building FCollada"
|
# --------------------------------------------------------------
|
||||||
cp bin/* ../../../binaries/system/
|
echo "Building nvtt..."
|
||||||
) || die "Failed to build fcollada"
|
|
||||||
|
./../source/nvtt/build.sh || die "NVTT build failed"
|
||||||
|
|
||||||
|
# --------------------------------------------------------------
|
||||||
|
echo "Building Spidermonkey..."
|
||||||
|
|
||||||
|
./../source/spidermonkey/build.sh || die "SpiderMonkey build failed"
|
||||||
|
@ -6,10 +6,6 @@ die()
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# SVN revision to checkout for source-libs
|
|
||||||
# Update this line when you commit an update to source-libs
|
|
||||||
source_svnrev="28207"
|
|
||||||
|
|
||||||
if [ "$(uname -s)" = "Darwin" ]; then
|
if [ "$(uname -s)" = "Darwin" ]; then
|
||||||
die "This script should not be used on macOS: use build-macos-libs.sh instead."
|
die "This script should not be used on macOS: use build-macos-libs.sh instead."
|
||||||
fi
|
fi
|
||||||
@ -18,18 +14,13 @@ cd "$(dirname "$0")" || die
|
|||||||
# Now in libraries/ (where we assume this script resides)
|
# Now in libraries/ (where we assume this script resides)
|
||||||
|
|
||||||
# Check for whitespace in absolute path; this will cause problems in the
|
# Check for whitespace in absolute path; this will cause problems in the
|
||||||
# SpiderMonkey build and maybe elsewhere, so we just forbid it
|
# SpiderMonkey build and maybe elsewhere, so we just forbid it.
|
||||||
# Use perl as an alternative to readlink -f, which isn't available on BSD
|
case "$(realpath .)" in
|
||||||
SCRIPTPATH=$(perl -MCwd -e 'print Cwd::abs_path shift' "$0")
|
*[[:space:]]*)
|
||||||
case "$SCRIPTPATH" in
|
|
||||||
*\ *)
|
|
||||||
die "Absolute path contains whitespace, which will break the build - move the game to a path without spaces"
|
die "Absolute path contains whitespace, which will break the build - move the game to a path without spaces"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Parse command-line options (download options and build options):
|
|
||||||
source_libs_dir="source"
|
|
||||||
|
|
||||||
without_nvtt=false
|
without_nvtt=false
|
||||||
with_system_nvtt=false
|
with_system_nvtt=false
|
||||||
with_system_mozjs=false
|
with_system_mozjs=false
|
||||||
@ -38,8 +29,6 @@ JOBS=${JOBS:="-j2"}
|
|||||||
|
|
||||||
for i in "$@"; do
|
for i in "$@"; do
|
||||||
case $i in
|
case $i in
|
||||||
--source-libs-dir=*) source_libs_dir=${1#*=} ;;
|
|
||||||
--source-libs-dir) die "correct syntax is --source-libs-dir=/path/to/dir" ;;
|
|
||||||
--without-nvtt) without_nvtt=true ;;
|
--without-nvtt) without_nvtt=true ;;
|
||||||
--with-system-nvtt) with_system_nvtt=true ;;
|
--with-system-nvtt) with_system_nvtt=true ;;
|
||||||
--with-system-mozjs) with_system_mozjs=true ;;
|
--with-system-mozjs) with_system_mozjs=true ;;
|
||||||
@ -47,19 +36,6 @@ for i in "$@"; do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
# Download source libs
|
|
||||||
echo "Downloading source libs..."
|
|
||||||
echo
|
|
||||||
if [ -e "${source_libs_dir}"/.svn ]; then
|
|
||||||
(cd "${source_libs_dir}" && svn cleanup && svn up -r $source_svnrev)
|
|
||||||
else
|
|
||||||
svn co -r $source_svnrev https://svn.wildfiregames.com/public/source-libs/trunk "${source_libs_dir}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Build/update bundled external libraries
|
|
||||||
echo "Building third-party dependencies..."
|
|
||||||
echo
|
|
||||||
|
|
||||||
# Some of our makefiles depend on GNU make, so we set some sane defaults if MAKE
|
# Some of our makefiles depend on GNU make, so we set some sane defaults if MAKE
|
||||||
# is not set.
|
# is not set.
|
||||||
case "$(uname -s)" in
|
case "$(uname -s)" in
|
||||||
@ -71,48 +47,25 @@ case "$(uname -s)" in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
(cd "${source_libs_dir}"/fcollada && MAKE=${MAKE} JOBS=${JOBS} ./build.sh) || die "FCollada build failed"
|
export MAKE JOBS
|
||||||
|
|
||||||
|
# Build/update bundled external libraries
|
||||||
|
echo "Building third-party dependencies..."
|
||||||
|
echo
|
||||||
|
|
||||||
|
./source/cxxtest-4.4/build.sh || die "cxxtest build failed"
|
||||||
|
echo
|
||||||
|
./source/fcollada/build.sh || die "FCollada build failed"
|
||||||
echo
|
echo
|
||||||
if [ "$with_system_nvtt" = "false" ] && [ "$without_nvtt" = "false" ]; then
|
if [ "$with_system_nvtt" = "false" ] && [ "$without_nvtt" = "false" ]; then
|
||||||
(cd "${source_libs_dir}"/nvtt && MAKE=${MAKE} JOBS=${JOBS} ./build.sh) || die "NVTT build failed"
|
./source/nvtt/build.sh || die "NVTT build failed"
|
||||||
|
cp source/nvtt/bin/* ../binaries/system/
|
||||||
fi
|
fi
|
||||||
echo
|
echo
|
||||||
if [ "$with_system_mozjs" = "false" ]; then
|
if [ "$with_system_mozjs" = "false" ]; then
|
||||||
(cd "${source_libs_dir}"/spidermonkey && MAKE=${MAKE} JOBS=${JOBS} ./build.sh) || die "SpiderMonkey build failed"
|
./source/spidermonkey/build.sh || die "SpiderMonkey build failed"
|
||||||
|
cp source/spidermonkey/bin/* ../binaries/system/
|
||||||
fi
|
fi
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo "Copying built files..."
|
|
||||||
# Copy built binaries to binaries/system/
|
|
||||||
cp "${source_libs_dir}"/fcollada/bin/* ../binaries/system/
|
|
||||||
if [ "$with_system_nvtt" = "false" ] && [ "$without_nvtt" = "false" ]; then
|
|
||||||
cp "${source_libs_dir}"/nvtt/bin/* ../binaries/system/
|
|
||||||
fi
|
|
||||||
if [ "$with_system_mozjs" = "false" ]; then
|
|
||||||
cp "${source_libs_dir}"/spidermonkey/bin/* ../binaries/system/
|
|
||||||
fi
|
|
||||||
# If a custom source-libs dir was used, includes and static libs should be copied to libraries/source/
|
|
||||||
# and all other bundled content should be copied.
|
|
||||||
if [ "$source_libs_dir" != "source" ]; then
|
|
||||||
rsync -avzq \
|
|
||||||
--exclude fcollada \
|
|
||||||
--exclude nvtt \
|
|
||||||
--exclude spidermonkey \
|
|
||||||
"${source_libs_dir}"/ source
|
|
||||||
|
|
||||||
mkdir -p source/fcollada
|
|
||||||
cp -r "${source_libs_dir}"/fcollada/include source/fcollada/
|
|
||||||
cp -r "${source_libs_dir}"/fcollada/lib source/fcollada/
|
|
||||||
if [ "$with_system_nvtt" = "false" ] && [ "$without_nvtt" = "false" ]; then
|
|
||||||
mkdir -p source/nvtt
|
|
||||||
cp -r "${source_libs_dir}"/nvtt/include source/nvtt/
|
|
||||||
cp -r "${source_libs_dir}"/nvtt/lib source/nvtt/
|
|
||||||
fi
|
|
||||||
if [ "$with_system_mozjs" = "false" ]; then
|
|
||||||
mkdir -p source/spidermonkey
|
|
||||||
cp -r "${source_libs_dir}"/spidermonkey/include-unix-debug source/spidermonkey/
|
|
||||||
cp -r "${source_libs_dir}"/spidermonkey/include-unix-release source/spidermonkey/
|
|
||||||
cp -r "${source_libs_dir}"/spidermonkey/lib source/spidermonkey/
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
echo "Done."
|
echo "Done."
|
||||||
|
@ -1,24 +1,11 @@
|
|||||||
rem **Download sources and binaries of libraries**
|
rem **Download sources and binaries of libraries**
|
||||||
|
|
||||||
rem **SVN revision to checkout for source-libs and windows-libs**
|
rem **SVN revision to checkout for windows-libs**
|
||||||
rem **Update this line when you commit an update to source-libs or windows-libs**
|
rem **Update this line when you commit an update to windows-libs**
|
||||||
set "svnrev=28207"
|
set "svnrev=28209"
|
||||||
|
|
||||||
if exist source\.svn (
|
svn co https://svn.wildfiregames.com/public/windows-libs/trunk@%svnrev% win32
|
||||||
cd source && svn cleanup && svn up -r %svnrev% && cd ..
|
|
||||||
) else (
|
|
||||||
svn co -r %svnrev% https://svn.wildfiregames.com/public/source-libs/trunk source
|
|
||||||
)
|
|
||||||
|
|
||||||
if exist win32\.svn (
|
|
||||||
cd win32 && svn cleanup && svn up -r %svnrev% && cd ..
|
|
||||||
) else (
|
|
||||||
svn co -r %svnrev% https://svn.wildfiregames.com/public/windows-libs/trunk win32
|
|
||||||
)
|
|
||||||
|
|
||||||
rem **Copy binaries to binaries/system/**
|
rem **Copy binaries to binaries/system/**
|
||||||
|
|
||||||
copy source\fcollada\bin\* ..\binaries\system\
|
|
||||||
copy source\nvtt\bin\* ..\binaries\system\
|
|
||||||
copy source\spidermonkey\bin\* ..\binaries\system\
|
|
||||||
for /d %%l in (win32\*) do (if exist %%l\bin copy /y %%l\bin\* ..\binaries\system\)
|
for /d %%l in (win32\*) do (if exist %%l\bin copy /y %%l\bin\* ..\binaries\system\)
|
||||||
|
27
libraries/source/cxxtest-4.4/build.sh
Executable file
27
libraries/source/cxxtest-4.4/build.sh
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
|
LIB_VERSION=28209
|
||||||
|
|
||||||
|
if [ -e .already-built ] && [ "$(cat .already-built)" = "${LIB_VERSION}" ]; then
|
||||||
|
echo "cxxtest-4.4 is already up to date."
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# fetch
|
||||||
|
svn co https://svn.wildfiregames.com/public/source-libs/trunk/cxxtest-4.4@${LIB_VERSION} cxxtest-4.4-svn
|
||||||
|
|
||||||
|
# unpack
|
||||||
|
rm -Rf cxxtest-4.4-build
|
||||||
|
cp -R cxxtest-4.4-svn cxxtest-4.4-build
|
||||||
|
|
||||||
|
# nothing to actually build
|
||||||
|
# built as part of building tests
|
||||||
|
|
||||||
|
# install
|
||||||
|
rm -Rf bin cxxtest python
|
||||||
|
cp -R cxxtest-4.4-build/bin cxxtest-4.4-build/cxxtest cxxtest-4.4-build/python .
|
||||||
|
|
||||||
|
echo "${LIB_VERSION}" >.already-built
|
30
libraries/source/fcollada/build.sh
Executable file
30
libraries/source/fcollada/build.sh
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
|
LIB_VERSION=28209
|
||||||
|
|
||||||
|
if [ -e .already-built ] && [ "$(cat .already-built)" = "${LIB_VERSION}" ]; then
|
||||||
|
echo "FCollada is already up to date."
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# fetch
|
||||||
|
svn co "https://svn.wildfiregames.com/public/source-libs/trunk/fcollada@${LIB_VERSION}" fcollada-svn
|
||||||
|
|
||||||
|
# unpack
|
||||||
|
rm -Rf fcollada-build
|
||||||
|
cp -R fcollada-svn fcollada-build
|
||||||
|
|
||||||
|
# build
|
||||||
|
(
|
||||||
|
cd fcollada-build
|
||||||
|
./build.sh
|
||||||
|
)
|
||||||
|
|
||||||
|
# install
|
||||||
|
rm -Rf include lib
|
||||||
|
cp -R fcollada-build/include fcollada-build/lib .
|
||||||
|
|
||||||
|
echo "${LIB_VERSION}" >.already-built
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user