mirror of
https://gitea.wildfiregames.com/0ad/0ad.git
synced 2026-06-21 08:44:14 +00:00
Compare commits
94 Commits
v0.28.0-rc0
..
a27
| Author | SHA1 | Date | |
|---|---|---|---|
| 8c69bb026d | |||
| d4e1b8b9db | |||
| 8f8d08b9f3 | |||
| 0651c11977 | |||
| 5bd9a07731 | |||
| 73b2eed323 | |||
| 4d2e7d6a70 | |||
| cc67acde62 | |||
| f14b29923e | |||
| 0c154623b4 | |||
| f9adb4379e | |||
| d3d7ce587b | |||
| 57b5f3f10d | |||
| 173100c5c3 | |||
| e33f37f6c9 | |||
| 4097955704 | |||
| 2366537c3b | |||
| ef6d5cf9e6 | |||
| 629571c692 | |||
| eaa983ef26 | |||
| 96d6ced313 | |||
| 8979abd6c2 | |||
| 2927d5dc99 | |||
| 5f50224227 | |||
| 6aeb70dab8 | |||
| eec259543b | |||
| dcb8ef9b52 | |||
| d41356a9cc | |||
| 9259dd5ff9 | |||
| b734e586aa | |||
| 19fda90656 | |||
| beee5b2b8b | |||
| 13139bba6d | |||
| 8956a38616 | |||
| 3231d262ef | |||
| 11aa7fdafa | |||
| 6df8952672 | |||
| 2a97089c94 | |||
| a4d1aebb74 | |||
| da87b72e6a | |||
| 26d4c1550e | |||
| 04636d393a | |||
| 83a3794ea3 | |||
| 3531ac9041 | |||
| 21059ce390 | |||
| b9705531e0 | |||
| 9798b9180b | |||
| 85363e861e | |||
| 795af45a7a | |||
| 8b5621e822 | |||
| 56186d8621 | |||
| 6cdf1d5a15 | |||
| 90762a7626 | |||
| 4138d53f23 | |||
| 5ca63d19b8 | |||
| 438e883ff9 | |||
| d5e5f0c508 | |||
| baa1982e8a | |||
| f55d8fabca | |||
| 1914d1a0c2 | |||
| 1ea9c6dbb9 | |||
| c4dbfc9c4b | |||
| 275fd94ef1 | |||
| 6187a75650 | |||
| b4a53f9c14 | |||
| d23c408ae0 | |||
| 7e93b1ebfb | |||
| eb937613ed | |||
| fb2255f7ee | |||
| 8e3f5aa672 | |||
| e170daf3fc | |||
| 29fe043806 | |||
| 5acddfec27 | |||
| 1b9dcba148 | |||
| c5d2ace30c | |||
| cd34f75f03 | |||
| 423bed914c | |||
| 88aac575d9 | |||
| 9cb6599112 | |||
| d3062cdfda | |||
| cece45f305 | |||
| 4a463e4476 | |||
| f3f8148a73 | |||
| d125cf40a5 | |||
| ccd9cadab2 | |||
| fb84643c6d | |||
| ef9001e7bf | |||
| 99ebeeb39b | |||
| 2b8a4fabcf | |||
| 11234558b7 | |||
| fdc8f718a9 | |||
| b08cf81fff | |||
| 7c6d2eef93 | |||
| c689991b9e |
@@ -5,13 +5,6 @@ charset = utf-8
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.Dockerfile]
|
||||
indent_size = 4
|
||||
indent_style = space
|
||||
|
||||
[*.{js,mjs}]
|
||||
indent_style = tab
|
||||
|
||||
[*.py]
|
||||
indent_size = 4
|
||||
indent_style = space
|
||||
@@ -19,7 +12,6 @@ indent_style = space
|
||||
[*.sh]
|
||||
indent_style = tab
|
||||
function_next_line = true
|
||||
simplify = true
|
||||
switch_case_indent = true
|
||||
|
||||
[*.{yaml,yml}]
|
||||
@@ -28,10 +20,3 @@ indent_size = 2
|
||||
|
||||
[build/premake/premake5/**]
|
||||
ignore = true
|
||||
|
||||
[*.Jenkinsfile]
|
||||
indent_size = 4
|
||||
# Jenkins recommends using spaces for indentation. See:
|
||||
# https://wiki.jenkins.io/display/JENKINS/Code+Style+Guidelines
|
||||
# Additionally, our linter npm-groovy-lint does not support tabs.
|
||||
indent_style = space
|
||||
+1
-1
@@ -3,9 +3,9 @@
|
||||
*.hmap filter=lfs diff=lfs merge=lfs -text
|
||||
*.icns filter=lfs diff=lfs merge=lfs -text
|
||||
*.ogg filter=lfs diff=lfs merge=lfs -text
|
||||
*.otf filter=lfs diff=lfs merge=lfs -text
|
||||
*.pmd filter=lfs diff=lfs merge=lfs -text
|
||||
*.pmp filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.psa filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
binaries/data/mods/public/maps/**/*.xml filter=lfs diff=lfs merge=lfs -text
|
||||
|
||||
+10
-10
@@ -6,18 +6,18 @@
|
||||
ruff\\.toml @Dunedan
|
||||
|
||||
## == Build & Libraries
|
||||
(build|libraries)/.* @Itms @Stan @sera
|
||||
(build|libraries)/.* @Itms @Stan
|
||||
|
||||
## == Engine
|
||||
source/(lib|maths|ps)/.* @vladislavbelov @sera
|
||||
source/(lib|maths|ps)/.* @vladislavbelov
|
||||
## GUI
|
||||
source/gui/.* @vladislavbelov @trompetin17
|
||||
#source/gui/
|
||||
## Rendering
|
||||
source/(collada|graphics|renderer)/.* @vladislavbelov
|
||||
## Multiplayer
|
||||
source/(lobby|network)/.* @Phosit
|
||||
#source/(lobby|network)/.*
|
||||
## Simulation
|
||||
source/simulation2/.* @wraitii @Itms @Phosit @sera
|
||||
source/simulation2/.* @wraitii @Itms
|
||||
|
||||
## == Tools
|
||||
source/tools/.*\\.py @Dunedan
|
||||
@@ -28,19 +28,19 @@ source/tools/spirv/.* @vladislavbelov
|
||||
|
||||
## == Scripts
|
||||
## GUI
|
||||
binaries/data/mods/public/gui/.* @Phosit @wraitii
|
||||
binaries/data/mods/public/gui/.* @Imarok @s0600204 @wraitii @marder
|
||||
## AI
|
||||
#binaries/data/mods/public/simulation/ai/.*
|
||||
binaries/data/mods/public/simulation/ai/.* @Freagarach
|
||||
## Balancing
|
||||
binaries/data/mods/public/simulation/(data|templates)/.* @real_tabasco_sauce
|
||||
binaries/data/mods/public/simulation/(data|templates)/.* @0ad/Balancers
|
||||
|
||||
## == Assets
|
||||
## Art
|
||||
binaries/data/mods/public/art/.* @wowgetoffyourcellphone @Stan
|
||||
binaries/data/mods/public/art/.* @wowgetoffyourcellphone @wackyserious @Stan
|
||||
binaries/data/mods/(mod|public)/art/materials/.* @vladislavbelov
|
||||
## Sound
|
||||
binaries/data/mods/public/audio/.* @Samulis @Stan
|
||||
## Maps
|
||||
binaries/data/mods/public/maps/.* @Phosit @real_tabasco_sauce
|
||||
binaries/data/mods/public/maps/.* @smiley @marder
|
||||
## Shaders
|
||||
binaries/data/mods/(mod|public)/shaders/.* @vladislavbelov
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Help & Feedback
|
||||
url: https://wildfiregames.com/forum/forum/145-help-amp-feedback/
|
||||
about: >
|
||||
If you need help or have feedback, please open a thread in the forums.
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
|
||||
name: "Release Process Task"
|
||||
about: "This is a special issue template for planning releases. DO NOT USE it for normal issue reports."
|
||||
title: "[RELEASE PROCESS] Release XX"
|
||||
about: "This is a special issue template for planning Alpha releases. DO NOT USE it for normal issue reports."
|
||||
title: "[RELEASE PROCESS] Alpha XX"
|
||||
labels:
|
||||
|
||||
- "Type/Task"
|
||||
@@ -10,16 +10,14 @@ labels:
|
||||
|
||||
---
|
||||
|
||||
*Please fill out relevant information in the next line, set Milestone to the relevant Release, then delete this line.*
|
||||
*Please fill out relevant information in the next line, set Milestone to the relevant Alpha and Branch/Tag to the relevant release branch when it's created. Then delete this line.*
|
||||
|
||||
# Release XX Process
|
||||
# Alpha XX Release Process
|
||||
|
||||
This task tracks the progress of the next release. **Please do not report issues with the nightly build or with release candidates here:** instead create a new issue and set its Milestone to the relevant release.
|
||||
This task tracks the progress of the next Alpha release. **Please do not report issues with the nightly build or with release candidates here:** instead create a new issue and set its Milestone to the relevant Alpha.
|
||||
|
||||
All details about each step are documented in [ReleaseProcess](wiki/ReleaseProcess).
|
||||
|
||||
After performing steps, post a comment on the task, so that it appears in the activity feed and notifies followers.
|
||||
|
||||
**Release Manager:** @
|
||||
**Translations Officer:** @
|
||||
|
||||
@@ -38,19 +36,15 @@ Here are the Release Blocking issues currently delaying the release:
|
||||
- [ ] [Test the tutorials](wiki/ReleaseProcess#test-the-tutorials)
|
||||
- [ ] [Organize a first staff match](wiki/ReleaseProcess#organize-a-first-staff-match)
|
||||
- [ ] [Prepare for branching](wiki/ReleaseProcess#prepare-for-branching)
|
||||
- [ ] [Create a `release-XX` branch](wiki/ReleaseProcess#create-a-release-xx-branch)
|
||||
- [ ] [Create a `release-aXX` branch](wiki/ReleaseProcess#create-a-release-axx-branch)
|
||||
- [ ] [Adapt Jenkins for the release](wiki/ReleaseProcess#adapt-jenkins-for-the-release)
|
||||
- [ ] [Announce the start of the process](wiki/ReleaseProcess#announce-the-start-of-the-process)
|
||||
- [ ] [Prepare next multiplayer lobby in `main`](wiki/ReleaseProcess#prepare-next-multiplayer-lobby-in-main)
|
||||
- [ ] [Generate next signing key for mods in `main`](wiki/ReleaseProcess#generate-next-signing-key-for-mods-in-main)
|
||||
- [ ] [Update the Changelog](wiki/ReleaseProcess#update-the-changelog)
|
||||
- [ ] [Create the next Changelog and Porting guide](wiki/ReleaseProcess#update-the-changelog)
|
||||
- [ ] [Start writing release announcement](wiki/ReleaseProcess#start-writing-release-announcement)
|
||||
- [ ] [Start creating the release video](wiki/ReleaseProcess#start-creating-the-release-video)
|
||||
|
||||
### String Freeze
|
||||
|
||||
- [ ] [Cleanup empty languages](wiki/ReleaseProcess#cleanup-empty-languages)
|
||||
- [ ] [Announce string freeze](wiki/ReleaseProcess#announce-string-freeze)
|
||||
- [ ] [Long strings check](wiki/ReleaseProcess#long-strings-check)
|
||||
|
||||
@@ -72,38 +66,17 @@ Before moving on with Full Freeze, make sure that:
|
||||
|
||||
### Full Freeze
|
||||
|
||||
- [ ] [Update appdata.xml](wiki/ReleaseProcess#update-appdataxml)
|
||||
- [ ] [Freeze Jenkins](wiki/ReleaseProcess#freeze-jenkins)
|
||||
- [ ] [Confirm full freeze](wiki/ReleaseProcess#confirm-full-freeze)
|
||||
- [ ] [Package East Asian mods](wiki/ReleaseProcess#package-east-asian-mods)
|
||||
- [ ] [Announce Release Candidates](wiki/ReleaseProcess#announce-release-candidates)
|
||||
- [ ] Release Testing: [link to RC]( )
|
||||
|
||||
---
|
||||
|
||||
When RCs are released, a planned release date is decided with the team and published here. This improves internal coordination and allows us to release announcements on all platforms at the same time.
|
||||
|
||||
---
|
||||
|
||||
Release Preparation: Please list here all the changes to BuildInstructions and System requirements that will have to be published on release day.
|
||||
|
||||
- [ ] Linux changes: TBD
|
||||
- [ ] Windows changes : TBD
|
||||
- [ ] macOS changes: TBD
|
||||
- [ ] BSD changes: TBD
|
||||
|
||||
---
|
||||
|
||||
### Eve of Release
|
||||
|
||||
- [ ] [Schedule the video publication](wiki/ReleaseProcess#schedule-the-video-publication)
|
||||
|
||||
### Release
|
||||
|
||||
- [ ] [Tag the release commit](wiki/ReleaseProcess#tag-the-release-commit)
|
||||
- [ ] [Create torrents and checksum files](wiki/ReleaseProcess#create-torrents-and-checksum-files)
|
||||
- [ ] [Update website](wiki/ReleaseProcess#update-website)
|
||||
- [ ] [Update BuildInstructions](wiki/ReleaseProcess#update-buildinstructions)
|
||||
- [ ] [Upload to Sourceforge](wiki/ReleaseProcess#upload-to-sourceforge)
|
||||
- [ ] [Upload to Sourceforge and IndieDB](wiki/ReleaseProcess#upload-to-sourceforge-and-indiedb)
|
||||
- [ ] [Move the lobby](wiki/ReleaseProcess#move-the-lobby)
|
||||
- [ ] [Publish announcement](wiki/ReleaseProcess#publish-announcement)
|
||||
- [ ] [Notify packagers](wiki/ReleaseProcess#notify-packagers)
|
||||
|
||||
@@ -3,74 +3,20 @@ name: checkrefs
|
||||
on:
|
||||
- push
|
||||
- pull_request
|
||||
env:
|
||||
BASE_SHA: ${{ github.event.pull_request.base.sha || github.event.before }}
|
||||
HEAD_SHA: ${{ github.event.pull_request.head.sha || github.event.after }}
|
||||
|
||||
jobs:
|
||||
lfscheck:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Fetch the base branch
|
||||
run: git fetch origin ${{ env.BASE_SHA }}
|
||||
|
||||
- name: Check that LFS files are correctly stored as pointers
|
||||
run: git-lfs fsck --pointers ${{ env.BASE_SHA }}..${{ env.HEAD_SHA }}
|
||||
|
||||
checkrefs:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
GIT_LFS_SKIP_SMUDGE: "1"
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
- name: Add remote fork origin for LFS
|
||||
run: |
|
||||
PR_REPO="${{ gitea.event.pull_request.head.repo.full_name || gitea.repository }}"
|
||||
git remote add ${{ gitea.actor }} https://gitea.wildfiregames.com/${PR_REPO}.git
|
||||
- name: Workaround for authentication problem with LFS
|
||||
# https://gitea.com/gitea/act_runner/issues/164
|
||||
run: |
|
||||
git config --local \
|
||||
http.${{ gitea.server_url }}/${{ gitea.repository }}.git/info/lfs/objects/.extraheader ''
|
||||
|
||||
PR_REPO="${{ gitea.event.pull_request.head.repo.full_name || gitea.repository }}"
|
||||
EXTRAHEADER="$(git config --get --local http.${{ gitea.server_url }}/.extraheader)"
|
||||
git config --local \
|
||||
http.${{ gitea.server_url }}/${PR_REPO}.git/info/lfs/objects/batch.extraheader \
|
||||
'${EXTRAHEADER}'
|
||||
git config --local \
|
||||
http.${{ gitea.server_url }}/${PR_REPO}.git/info/lfs/objects/.extraheader ''
|
||||
- name: Download necessary LFS assets
|
||||
shell: sh {0}
|
||||
run: |
|
||||
git lfs pull -I binaries/data/mods/public/art/meshes,binaries/data/mods/public/maps
|
||||
ORIGIN_LFS_PULL_RESULT=$?
|
||||
git lfs pull ${{ gitea.actor }} \
|
||||
-I binaries/data/mods/public/art/meshes,binaries/data/mods/public/maps
|
||||
FORK_LFS_PULL_RESULT=$?
|
||||
|
||||
PR_REPO="${{ gitea.event.pull_request.head.repo.full_name || gitea.repository }}"
|
||||
if [ "$ORIGIN_LFS_PULL_RESULT" = "0" ]; then
|
||||
echo "SUCCESS: Found all LFS assets in the LFS storage of ${{ gitea.repository }}."
|
||||
elif [ "$FORK_LFS_PULL_RESULT" = "0" ]; then
|
||||
echo "SUCCESS: Found all LFS assets in the LFS storage of ${PR_REPO}."
|
||||
else
|
||||
echo "ERROR: Couldn't find all LFS assets in either of the LFS storages."
|
||||
false;
|
||||
fi
|
||||
- name: Install lxml
|
||||
run: pip3 install lxml
|
||||
- name: Install collada
|
||||
run: pip3 install "pycollada>=0.9"
|
||||
- name: Workaround for authentication problem with LFS
|
||||
# https://gitea.com/gitea/act_runner/issues/164
|
||||
run: >
|
||||
git config --local
|
||||
http.${{ gitea.server_url }}/${{ gitea.repository }}.git/info/lfs/objects/.extraheader ''
|
||||
- name: Download necessary LFS assets
|
||||
run: git lfs pull -I binaries/data/mods/public/maps
|
||||
- name: Check for missing references
|
||||
run: |
|
||||
./source/tools/entity/checkrefs.py \
|
||||
--check-map-xml \
|
||||
--validate-templates \
|
||||
--validate-actors \
|
||||
--validate-meshes
|
||||
run: ./source/tools/entity/checkrefs.py
|
||||
|
||||
@@ -1,83 +0,0 @@
|
||||
---
|
||||
# yamllint disable rule:line-length
|
||||
name: lint
|
||||
on:
|
||||
- push
|
||||
- pull_request
|
||||
env:
|
||||
BASE_SHA: ${{ github.event.pull_request.base.sha || github.event.before }}
|
||||
HEAD_SHA: ${{ github.event.pull_request.head.sha || github.event.after }}
|
||||
|
||||
jobs:
|
||||
cppcheck:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
# cache only works for items in workspace, so configure apt to allow for caching.
|
||||
- name: Setup apt cache locations
|
||||
id: apt-cache-location
|
||||
run: |
|
||||
mkdir -p apt-cache/archives/partial
|
||||
mkdir -p apt-lists/partial
|
||||
mkdir -p apt-lists/auxfiles
|
||||
sudo echo "Dir::Cache \"$(realpath apt-cache)\";" >/etc/apt/apt.conf.d/99cachelocation
|
||||
sudo echo "Dir::State::lists \"$(realpath apt-lists)\";" >>/etc/apt/apt.conf.d/99cachelocation
|
||||
|
||||
- name: Cache apt pkg db and and deb files
|
||||
id: apt-cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
apt-cache
|
||||
apt-lists
|
||||
key: ${{ runner.os }}-apt-cache-4
|
||||
|
||||
- name: Update package db
|
||||
if: steps.apt-cache.outputs.cache-hit != 'true'
|
||||
run: sudo apt-get update
|
||||
|
||||
- name: Install cppcheck
|
||||
run: sudo apt-get --assume-yes --no-install-recommends install cppcheck
|
||||
|
||||
- name: Fetch the base branch, so we can use `git diff`
|
||||
run: git fetch origin ${{ env.BASE_SHA }}
|
||||
|
||||
- name: Check for issues
|
||||
run: ./source/tools/lint/cppcheck/cppcheck.sh --diff ${{ env.BASE_SHA }}
|
||||
|
||||
copyright:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 100
|
||||
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
|
||||
- name: Fetch the base branch, so we can use `git diff`
|
||||
run: git fetch origin ${{ env.BASE_SHA }}
|
||||
|
||||
- name: Check for issues with copyright
|
||||
run: ./source/tools/lint/copyright/copyright.sh --from ${{ env.BASE_SHA }} --to ${{ env.HEAD_SHA }}
|
||||
|
||||
jenkinsfiles:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20'
|
||||
|
||||
- name: Fetch the base branch, so we can use `git diff`
|
||||
run: git fetch origin ${{ env.BASE_SHA }}
|
||||
|
||||
- name: Install npm-groovy-lint
|
||||
run: npm install -g npm-groovy-lint
|
||||
|
||||
- name: Check for issues with jenkins files
|
||||
run: ./source/tools/lint/jenkinsfiles/jenkinsfiles.sh --from ${{ env.BASE_SHA }} --to ${{ env.HEAD_SHA }}
|
||||
@@ -9,8 +9,6 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
- id: restore-pip-cache
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
|
||||
-11
@@ -12,7 +12,6 @@ build/workspaces/*
|
||||
# Libraries
|
||||
libraries/macos
|
||||
libraries/win32
|
||||
libraries/win64
|
||||
|
||||
libraries/source/cxxtest-4.4/*
|
||||
libraries/source/fcollada/*
|
||||
@@ -25,15 +24,10 @@ libraries/source/spirv-reflect/*
|
||||
!libraries/source/**/patches/
|
||||
|
||||
# Tools
|
||||
appimage-build/
|
||||
archives/
|
||||
build/bin/
|
||||
source/tools/spirv/rules.*.json
|
||||
|
||||
# Linting
|
||||
cppcheck-error.log
|
||||
copyright-check-error.log
|
||||
|
||||
# Files generated by running premake5
|
||||
build/premake/.gccmachine.tmp
|
||||
build/premake/.gccver.tmp
|
||||
@@ -69,7 +63,6 @@ binaries/data/mods/public/gui/credits/texts/translators.json
|
||||
*.pot
|
||||
|
||||
# Packaged mods and tarballs
|
||||
*.AppImage
|
||||
*.pyromod
|
||||
*.zip
|
||||
*.tar
|
||||
@@ -90,10 +83,6 @@ binaries/data/mods/**/*.jpg
|
||||
# Vulkan SPIR-V shaders
|
||||
binaries/data/mods/*/shaders/spirv
|
||||
|
||||
# eslint
|
||||
node_modules
|
||||
package-lock.json
|
||||
|
||||
# Windows specific data
|
||||
desktop.ini
|
||||
Thumbs.db
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"extends": "recommended-jenkinsfile",
|
||||
"rules": {
|
||||
"formatting.LineLength": {
|
||||
"length": 300,
|
||||
"severity": "info"
|
||||
},
|
||||
"size.NestedBlockDepth": {
|
||||
"maxNestedBlockDepth": 15
|
||||
},
|
||||
"formatting.DuplicateNumberLiteral": "off",
|
||||
"formatting.DuplicateMapLiteral": "off",
|
||||
"formatting.DuplicateStringLiteral": "off"
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
# If you are using ssh [1] to push and want to use it to obtain a token instead
|
||||
# of using basic auth override this with:
|
||||
# git config lfs.url git@gitea.wildfiregames.com:0ad/0ad.git
|
||||
#
|
||||
# [1] https://github.com/git-lfs/git-lfs/blob/main/docs/api/server-discovery.md#ssh
|
||||
|
||||
[lfs]
|
||||
url = https://gitea.wildfiregames.com/0ad/0ad.git/info/lfs
|
||||
+9
-35
@@ -1,13 +1,8 @@
|
||||
---
|
||||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v6.0.0
|
||||
rev: v4.6.0
|
||||
hooks:
|
||||
- id: check-added-large-files
|
||||
args:
|
||||
- --maxkb=1024
|
||||
- --enforce-all
|
||||
exclude: (^binaries/data/mods/public/maps/.*\.xml$)
|
||||
- id: check-case-conflict
|
||||
- id: check-executables-have-shebangs
|
||||
- id: check-json
|
||||
@@ -23,26 +18,16 @@ repos:
|
||||
^binaries/data/mods/_test.sim/simulation/templates.illformed.xml|
|
||||
^binaries/data/mods/public/maps/.*\.xml
|
||||
)
|
||||
- id: trailing-whitespace
|
||||
exclude: |
|
||||
(?x)(
|
||||
^libraries/|
|
||||
^source/third_party/glad/src|
|
||||
^source/tools/replayprofile/jquery|
|
||||
^source/tools/templatesanalyzer/tablefilter|
|
||||
\.dae|
|
||||
\.patch$
|
||||
)
|
||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||
rev: v0.12.9
|
||||
rev: v0.6.1
|
||||
hooks:
|
||||
- id: ruff-check
|
||||
- id: ruff
|
||||
args:
|
||||
- --output-format=full
|
||||
exclude: ^source/tools/webservices/
|
||||
- id: ruff-format
|
||||
args:
|
||||
- --diff
|
||||
- --check
|
||||
exclude: ^source/tools/webservices/
|
||||
- repo: local
|
||||
hooks:
|
||||
@@ -56,40 +41,29 @@ repos:
|
||||
files: ^binaries/
|
||||
exclude: (^binaries/data/mods/(mod|public)/art/.*\.xml|\.dae$)
|
||||
- repo: https://github.com/scop/pre-commit-shfmt
|
||||
rev: v3.12.0-2
|
||||
rev: v3.9.0-1
|
||||
hooks:
|
||||
- id: shfmt
|
||||
args:
|
||||
- --diff
|
||||
- --simplify
|
||||
stages: [pre-commit]
|
||||
- repo: https://github.com/shellcheck-py/shellcheck-py
|
||||
rev: v0.11.0.1
|
||||
rev: v0.10.0.1
|
||||
hooks:
|
||||
- id: shellcheck
|
||||
- repo: https://github.com/igorshubovych/markdownlint-cli
|
||||
rev: v0.45.0
|
||||
rev: v0.41.0
|
||||
hooks:
|
||||
- id: markdownlint
|
||||
language_version: 22.14.0
|
||||
exclude: |
|
||||
(?x)(
|
||||
^.gitea/ISSUE_TEMPLATE/|
|
||||
^source/third_party/
|
||||
)
|
||||
- repo: https://github.com/adrienverge/yamllint
|
||||
rev: v1.37.1
|
||||
rev: v1.35.1
|
||||
hooks:
|
||||
- id: yamllint
|
||||
args:
|
||||
- --strict
|
||||
- repo: https://github.com/eslint/eslint
|
||||
rev: v9.33.0
|
||||
hooks:
|
||||
- id: eslint
|
||||
language_version: 22.14.0
|
||||
additional_dependencies:
|
||||
- eslint-plugin-brace-rules@0.1.6
|
||||
- "@stylistic/eslint-plugin@4.4.0"
|
||||
args:
|
||||
- --max-warnings=0
|
||||
- --no-warn-ignored
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
external-sources=true
|
||||
source-path=source/tools
|
||||
+4
-4
@@ -27,10 +27,10 @@ please inform Wildfire Games at webmaster at wildfiregames dot com.
|
||||
- binaries/data/mods/*/maps/
|
||||
- see LICENSE.txt within those directories
|
||||
|
||||
- binaries/data/mods/mod/shaders/glsl/fxaa.fs
|
||||
- binaries/data/mods/public/shaders/glsl/fxaa.fs
|
||||
- BSD
|
||||
|
||||
- binaries/data/mods/mod/shaders/glsl/cas.fs
|
||||
- binaries/data/mods/public/shaders/glsl/cas.fs
|
||||
- MIT
|
||||
|
||||
- binaries/system/
|
||||
@@ -96,8 +96,8 @@ please inform Wildfire Games at webmaster at wildfiregames dot com.
|
||||
- source/tools/atlas/
|
||||
- GPL version 2 (or later) - see license_gpl-2.0.txt
|
||||
|
||||
- binaries/data/mods/public/gui/prelobby/common/terms/
|
||||
binaries/data/mods/public/gui/userreport/Terms_and_Conditions.txt
|
||||
- binaries/data/mods/public/gui/prelobby/common/terms/
|
||||
binaries/data/mods/public/gui/userreport/Terms_and_Conditions.txt
|
||||
binaries/data/mods/mod/gui/modio/Disclaimer.txt
|
||||
- Redistributing modified Terms and Conditions of online services may be within the licensing,
|
||||
but may not change the legality or enforceability of the terms of the service provider.
|
||||
|
||||
@@ -8,10 +8,6 @@
|
||||
[](https://gitea.wildfiregames.com/0ad/0ad/actions?workflow=checkrefs.yml)
|
||||
[](https://gitea.wildfiregames.com/0ad/0ad/actions?workflow=pre-commit.yml)
|
||||
|
||||
[](https://jenkins.wildfiregames.com/job/0ad-bundles)
|
||||
[](https://docs.wildfiregames.com/)
|
||||
[](https://gitea.wildfiregames.com/0ad/0ad/wiki/NightlyBuild)
|
||||
|
||||
0 A.D. (pronounced "zero ey-dee") is a free, open-source, cross-platform
|
||||
real-time strategy game of ancient warfare.
|
||||
|
||||
|
||||
@@ -138,10 +138,6 @@ renderer.backend.gl.enableframebufferinvalidating = false
|
||||
|
||||
renderer.backend.vulkan.disabledescriptorindexing = false
|
||||
renderer.backend.vulkan.deviceindexoverride = -1
|
||||
renderer.backend.vulkan.destroyoldswapchainbefore = false
|
||||
|
||||
; In case index override isn't enough we might choose a device automatically.
|
||||
renderer.backend.vulkan.choosebestdevice = false
|
||||
|
||||
renderer.backend.vulkan.debugbarrierafterframebufferpass = false
|
||||
renderer.backend.vulkan.debugwaitidlebeforeacquire = false
|
||||
@@ -190,15 +186,8 @@ menu = 60 ; Throttle FPS in menus only.
|
||||
|
||||
[profiler2]
|
||||
server = "127.0.0.1"
|
||||
server.port = "8000" ; Use a free port on your machine.
|
||||
server.threads = "6" ; Enough for the browser's parallel connection limit
|
||||
autoenable = false ; Enable HTTP server output at startup (default off for security/performance)
|
||||
gpu.enable = true ; Allow GPU timing mode when available.
|
||||
|
||||
[console]
|
||||
font = "mono-10"
|
||||
history.size = 200
|
||||
history.ignore_duplicates = true ; Don't store consecutive identical commands twice
|
||||
server.port = "8000" ; Use a free port on your machine.
|
||||
server.threads = "6" ; Enough for the browser's parallel connection limit
|
||||
|
||||
[hotkey]
|
||||
; Each one of the specified keys will trigger the action on the left
|
||||
@@ -216,7 +205,6 @@ togglefullscreen = "Alt+Return" ; Toggle fullscreen/windowed mode
|
||||
screenshot.watermark = "Alt+K" ; Toggle product/company watermark for official screenshots
|
||||
wireframe = "Alt+Shift+W" ; Toggle wireframe mode
|
||||
silhouettes = "Alt+Shift+S" ; Toggle unit silhouettes
|
||||
mousegrabtoggle = "Ctrl+Alt" ; Toggle mouse grabbing mode
|
||||
|
||||
; > DIALOG HOTKEYS
|
||||
summary = "Ctrl+Tab" ; Toggle in-game summary
|
||||
@@ -252,7 +240,6 @@ reset = "R" ; Reset camera rotation to default
|
||||
follow = "" ; Follow the first unit in the selection
|
||||
rallypointfocus = "" ; Focus the camera on the rally point of the selected building
|
||||
lastattackfocus = "Space" ; Focus the camera on the last notified attack
|
||||
togglebirdseyeview = "" ; Toggle bird's eye view
|
||||
zoom.in = Plus, NumPlus ; Zoom camera in (continuous control)
|
||||
zoom.out = Minus, NumMinus ; Zoom camera out (continuous control)
|
||||
zoom.wheel.in = WheelUp ; Zoom camera in (stepped control)
|
||||
@@ -406,7 +393,7 @@ toggle = "Alt+G" ; Toggle visibility of session GUI
|
||||
menu.toggle = "F10" ; Toggle in-game menu
|
||||
diplomacy.toggle = "Ctrl+H" ; Toggle in-game diplomacy page
|
||||
barter.toggle = "Ctrl+B" ; Toggle in-game barter/trade page
|
||||
matchsettings.toggle = "Ctrl+O" ; Toggle in-game match settings page
|
||||
objectives.toggle = "Ctrl+O" ; Toggle in-game objectives page
|
||||
tutorial.toggle = "Ctrl+P" ; Toggle in-game tutorial panel
|
||||
|
||||
[hotkey.session.savedgames]
|
||||
@@ -483,7 +470,6 @@ selectformationasone = "true" ; Whether to select formations as a whole by defau
|
||||
icons.enabled = "true"
|
||||
icons.opacity = 1.0
|
||||
icons.sizescale = 1.0
|
||||
entityradiusscale = 1.0
|
||||
blinkduration = 1.7 ; The blink duration while pinging
|
||||
pingduration = 50.0 ; The duration for which an entity will be pinged after an attack notification
|
||||
|
||||
@@ -516,16 +502,16 @@ extended = true ; Whether to display the chat history
|
||||
|
||||
[lobby]
|
||||
history = 0 ; Number of past messages to display on join
|
||||
room = "arena28" ; Default MUC room to join
|
||||
room = "arena27" ; Default MUC room to join
|
||||
server = "lobby.wildfiregames.com" ; Address of lobby server
|
||||
tls = true ; Whether to use TLS encryption when connecting to the server.
|
||||
verify_certificate = true ; Whether to reject connecting to the lobby if the TLS certificate is invalid
|
||||
verify_certificate = false ; Whether to reject connecting to the lobby if the TLS certificate is invalid (TODO: wait for Gloox GnuTLS trust implementation to be fixed)
|
||||
terms_url = "https://gitea.wildfiregames.com/0ad/0ad/src/branch/main/binaries/data/mods/public/gui/prelobby/common/terms/"; Allows the user to save the text and print the terms
|
||||
terms_of_service = "0" ; Version (hash) of the Terms of Service that the user has accepted
|
||||
terms_of_use = "0" ; Version (hash) of the Terms of Use that the user has accepted
|
||||
privacy_policy = "0" ; Version (hash) of the Privacy Policy that the user has accepted
|
||||
xpartamupp = "wfgbot28" ; Name of the server-side XMPP-account that manage games
|
||||
echelon = "echelon28" ; Name of the server-side XMPP-account that manages ratings
|
||||
xpartamupp = "wfgbot27" ; Name of the server-side XMPP-account that manage games
|
||||
echelon = "echelon27" ; Name of the server-side XMPP-account that manages ratings
|
||||
buddies = "," ; Comma separated list of playernames that the current user has marked as buddies
|
||||
rememberpassword = true ; Whether to store the encrypted password in the user config
|
||||
|
||||
@@ -533,6 +519,8 @@ rememberpassword = true ; Whether to store the encrypted password in
|
||||
gamerating = false ; Show the average rating of the participating players in a column of the gamelist
|
||||
|
||||
[lobby.stun]
|
||||
enabled = true ; The STUN protocol allows hosting games without configuring the firewall and router.
|
||||
; If STUN is disabled, the game relies on direct connection, UPnP and port forwarding.
|
||||
server = "lobby.wildfiregames.com" ; Address of the STUN server.
|
||||
port = 3478 ; Port of the STUN server.
|
||||
delay = 10 ; Duration in milliseconds that is waited between checking for retrieved STUN responses.
|
||||
@@ -548,7 +536,7 @@ enabledmods = "mod public"
|
||||
|
||||
[modio]
|
||||
|
||||
public_key = "RWRoZZuNzi1wX+Hs5NKAf+GghHwye3mFePfBzOFt3mqYUZAkqAvs69W2" ; Public key corresponding to the private key valid mods are signed with
|
||||
public_key = "RWQv2alKl8D0zMDJR766jpYvPy4u3y77HL/iKb/lsT1Fnf6ezoMb2x8+" ; Public key corresponding to the private key valid mods are signed with
|
||||
disclaimer = "0" ; Version (hash) of the Disclaimer that the user has accepted
|
||||
|
||||
[modio.v1]
|
||||
@@ -569,13 +557,13 @@ fps = "false" ; Show frames per second in top right corner
|
||||
realtime = "false" ; Show current system time in top right corner
|
||||
netwarnings = "true" ; Show warnings if the network connection is bad
|
||||
|
||||
[profiler2]
|
||||
autoenable = false ; Enable HTTP server output at startup (default off for security/performance)
|
||||
gpu.arb.enable = true ; Allow GL_ARB_timer_query timing mode when available.
|
||||
|
||||
[rlinterface]
|
||||
address = "127.0.0.1:6000"
|
||||
|
||||
[dapinterface]
|
||||
address = "127.0.0.1"
|
||||
port = 9229
|
||||
|
||||
[sound]
|
||||
mastergain = 0.9
|
||||
musicgain = 0.2
|
||||
@@ -612,7 +600,6 @@ rotate.y.speed.wheel = 0.45
|
||||
rotate.y.default = 0.0
|
||||
rotate.speed.modifier = 1.05 ; Multiplier for changing rotation speed
|
||||
drag.speed = 0.5
|
||||
drag.inverted = false ; Pan in the opposite direction of drag movement
|
||||
zoom.speed = 256.0
|
||||
zoom.speed.wheel = 32.0
|
||||
zoom.min = 50.0
|
||||
@@ -628,56 +615,3 @@ far = 4096.0 ; Far plane distance
|
||||
fov = 45.0 ; Field of view (degrees), lower is narrow, higher is wide
|
||||
height.smoothness = 0.5
|
||||
height.min = 16
|
||||
|
||||
[fonts]
|
||||
default = "LinBiolinum_Rah.ttf", "FreeSans.ttf" ; Default font to use for all text
|
||||
debugbox = false ; Whether to draw a debug box around text, useful for debugging text rendering issues
|
||||
; Color of the debug box, if enabled.
|
||||
; When A8 or R8 "R G B" only take R as alpha channel.
|
||||
; When R8G8B8A: "R G B" where R, G, B are integers from 0 to 255.
|
||||
debugboxcolor = "128 0 128"
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
; **************************************************************
|
||||
; Font format in configuration is
|
||||
; [fonts.<locale>.<fontalias>]
|
||||
; In GUI XML files, use the font alias.
|
||||
; Example for regular: font="<fontalias>-<fontsize>"
|
||||
; Example for bold: font="<fontalias>-bold-<fontsize>"
|
||||
; Example for italic: font="<fontalias>-italic-<fontsize>"
|
||||
; If you need troke font use the following format:
|
||||
; Example for stroke: font="....-stroke-<fontsize>"
|
||||
;
|
||||
; Support for locale fonts
|
||||
; [fonts.<locale>.<fontalias>]
|
||||
; Example: fonts.jp.sans = "font.ttf"
|
||||
;
|
||||
; Each value is a comma separated list of font files
|
||||
; Example: fonts.sans.regular = "font.ttf", "font2.ttf"
|
||||
; Example: fonts.sans.bold = "font.ttf"
|
||||
; **************************************************************
|
||||
|
||||
[fonts.sans]
|
||||
regular = "LinBiolinum_Rah.ttf", "FreeSans.ttf"
|
||||
bold = "LinBiolinum_RBah.ttf", "FreeSansBold.ttf"
|
||||
italic = "LinBiolinum_RIah.ttf", "FreeSansOblique.ttf"
|
||||
|
||||
[fonts.mono]
|
||||
regular = "DejaVuSansMono.ttf", "FreeMono.ttf"
|
||||
|
||||
[fonts.ja.sans]
|
||||
regular = "SourceHanSansJP-Regular.otf"
|
||||
bold = "SourceHanSansJP-Bold.otf"
|
||||
|
||||
[fonts.zh.sans]
|
||||
regular = "SourceHanSansCN-Regular.otf"
|
||||
bold = "SourceHanSansCN-Bold.otf"
|
||||
|
||||
[fonts.zh_TW.sans]
|
||||
regular = "SourceHanSansTW-Regular.otf"
|
||||
bold = "SourceHanSansTW-Bold.otf"
|
||||
|
||||
[fonts.ko.sans]
|
||||
regular = "SourceHanSansKR-Regular.otf"
|
||||
bold = "SourceHanSansKR-Bold.otf"
|
||||
|
||||
@@ -7,5 +7,5 @@
|
||||
; order. The precense of this file suppresses loading of mods in the user mod
|
||||
; path (see https://gitea.wildfiregames.com/0ad/0ad/wiki/GameDataPaths) if the same mod is
|
||||
; 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
|
||||
; game-relative data path) to commit them later on.
|
||||
; 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.
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
async function init(arg)
|
||||
{
|
||||
return arg ? Engine.startAtlas : undefined;
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<objects>
|
||||
<script file="gui/Result/Result.js"/>
|
||||
</objects>
|
||||
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<page>
|
||||
<include>Result/Result.xml</include>
|
||||
</page>
|
||||
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<objects>
|
||||
<script module="gui/await/script.js"/>
|
||||
</objects>
|
||||
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<page>
|
||||
<include>await/object.xml</include>
|
||||
</page>
|
||||
@@ -1 +0,0 @@
|
||||
await new Promise(() => {});
|
||||
@@ -26,9 +26,6 @@
|
||||
<element name="script">
|
||||
<interleave>
|
||||
<text/>
|
||||
<optional>
|
||||
<attribute name="module"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="file"/>
|
||||
</optional>
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
var state_before;
|
||||
var state_after;
|
||||
|
||||
function handleInputBeforeGui(ev)
|
||||
{
|
||||
function handleInputBeforeGui(ev) {
|
||||
if ((ev.type == "hotkeydown" || ev.type == "hotkeyup") && ev.hotkey == "test")
|
||||
state_before = Engine.HotkeyIsPressed("test");
|
||||
return false;
|
||||
}
|
||||
|
||||
function handleInputAfterGui(ev)
|
||||
{
|
||||
function handleInputAfterGui(ev) {
|
||||
if ((ev.type == "hotkeydown" || ev.type == "hotkeyup") && ev.hotkey == "test")
|
||||
state_after = Engine.HotkeyIsPressed("test");
|
||||
return false;
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<objects>
|
||||
<script module="gui/multiple_root-modules/script.js"/>
|
||||
<script module="gui/multiple_root-modules/script.js"/>
|
||||
</objects>
|
||||
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<page>
|
||||
<include>multiple_root-modules/object.xml</include>
|
||||
</page>
|
||||
@@ -1,4 +0,0 @@
|
||||
function init()
|
||||
{
|
||||
return new Promise(closePageCallback => { globalThis.closePageCallback = closePageCallback; });
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<objects>
|
||||
<script file="gui/regainFocus/emptyPage.js"/>
|
||||
</objects>
|
||||
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<page>
|
||||
<include>common/styles.xml</include>
|
||||
<include>regainFocus/emptyPage.xml</include>
|
||||
</page>
|
||||
|
||||
@@ -1,4 +1 @@
|
||||
function init()
|
||||
{
|
||||
return Engine.OpenChildPage("regainFocus/page_emptyPage.xml");
|
||||
}
|
||||
Engine.PushGuiPage("regainFocus/page_emptyPage.xml").then(Engine.PopGuiPage);
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<page>
|
||||
<include>common/styles.xml</include>
|
||||
<include>resolveReject/resolveReject.xml</include>
|
||||
</page>
|
||||
@@ -1,5 +0,0 @@
|
||||
async function init(reject)
|
||||
{
|
||||
if (reject)
|
||||
throw new Error();
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<objects>
|
||||
<script file="gui/resolveReject/resolveReject.js"/>
|
||||
</objects>
|
||||
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<page>
|
||||
<include>common/styles.xml</include>
|
||||
<include>sequential/sequential.xml</include>
|
||||
</page>
|
||||
@@ -1,5 +0,0 @@
|
||||
async function init()
|
||||
{
|
||||
await Engine.OpenChildPage("regainFocus/page_emptyPage.xml");
|
||||
await Engine.OpenChildPage("regainFocus/page_emptyPage.xml");
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<objects>
|
||||
<script file="gui/sequential/sequential.js"/>
|
||||
</objects>
|
||||
@@ -1,4 +0,0 @@
|
||||
testObject.size = {
|
||||
"left": 3,
|
||||
"bottom": 2
|
||||
};
|
||||
@@ -1 +0,0 @@
|
||||
testObject.size.left += 5;
|
||||
@@ -1 +0,0 @@
|
||||
testObject.size.left = 5;
|
||||
@@ -1,3 +0,0 @@
|
||||
Object.assign(testObject.size, {
|
||||
"rleft": 4, "rbottom": 20
|
||||
});
|
||||
@@ -0,0 +1,612 @@
|
||||
101
|
||||
256 256
|
||||
a
|
||||
606
|
||||
15
|
||||
12
|
||||
32 0 256 0 0 0 0 5
|
||||
33 250 154 3 11 1 11 4
|
||||
34 121 18 5 4 0 11 5
|
||||
35 80 214 12 11 0 11 12
|
||||
36 190 39 10 13 0 12 10
|
||||
37 204 11 15 11 0 11 15
|
||||
38 187 25 13 11 0 11 12
|
||||
39 253 188 3 4 0 11 3
|
||||
40 252 79 4 11 0 11 4
|
||||
41 251 67 5 11 0 11 5
|
||||
42 73 186 7 7 1 12 8
|
||||
43 48 138 9 9 2 9 13
|
||||
44 253 184 3 4 2 2 6
|
||||
45 20 226 4 2 1 5 6
|
||||
46 253 180 3 2 0 2 5
|
||||
47 146 89 6 13 -1 11 4
|
||||
48 154 73 10 11 0 11 10
|
||||
49 250 11 6 11 2 11 11
|
||||
50 164 73 10 11 0 11 10
|
||||
51 86 75 10 11 1 11 11
|
||||
52 174 75 10 11 0 11 10
|
||||
53 232 75 10 11 0 11 10
|
||||
54 12 77 10 11 0 11 10
|
||||
55 226 166 8 11 1 11 10
|
||||
56 72 77 10 11 0 11 10
|
||||
57 96 79 10 11 0 11 10
|
||||
58 32 224 3 8 1 8 5
|
||||
59 29 224 3 10 1 8 5
|
||||
60 74 138 9 9 2 9 13
|
||||
61 111 61 9 5 2 7 13
|
||||
62 84 138 9 9 2 9 13
|
||||
63 81 190 9 11 0 11 8
|
||||
64 0 14 16 14 0 11 16
|
||||
65 39 49 11 11 0 11 11
|
||||
66 204 79 10 11 1 11 11
|
||||
67 51 49 11 11 0 11 11
|
||||
68 63 49 11 11 1 11 12
|
||||
69 117 190 9 11 1 11 10
|
||||
70 122 162 8 11 1 11 10
|
||||
71 161 49 11 11 0 11 11
|
||||
72 173 49 11 11 1 11 12
|
||||
73 58 128 3 11 1 11 4
|
||||
74 145 188 9 11 0 11 9
|
||||
75 214 79 10 11 1 11 11
|
||||
76 13 186 9 11 1 11 10
|
||||
77 204 23 14 11 1 11 15
|
||||
78 97 51 11 11 1 11 12
|
||||
79 185 51 11 11 0 11 11
|
||||
80 242 79 10 11 1 11 11
|
||||
81 201 48 11 12 0 11 11
|
||||
82 0 81 10 11 1 11 11
|
||||
83 241 51 11 11 0 11 11
|
||||
84 23 186 9 11 0 11 9
|
||||
85 75 53 11 11 0 11 11
|
||||
86 184 83 10 11 0 11 10
|
||||
87 126 11 16 11 0 11 16
|
||||
88 122 214 12 11 -1 11 10
|
||||
89 109 55 11 11 -1 11 9
|
||||
90 170 156 8 11 1 11 10
|
||||
91 185 107 5 11 0 11 5
|
||||
92 114 99 6 13 -1 11 4
|
||||
93 191 107 5 11 0 11 5
|
||||
94 150 124 10 4 3 11 16
|
||||
95 12 242 8 2 0 -3 8
|
||||
96 12 49 3 3 2 11 8
|
||||
97 145 132 9 8 0 8 9
|
||||
98 33 186 9 11 0 11 9
|
||||
99 155 132 9 8 0 8 9
|
||||
100 43 186 9 11 0 11 9
|
||||
101 165 132 9 8 0 8 9
|
||||
102 197 107 5 11 0 11 5
|
||||
103 53 186 9 11 0 8 9
|
||||
104 178 156 8 11 0 11 8
|
||||
105 62 128 3 11 0 11 3
|
||||
106 230 192 4 14 0 11 4
|
||||
107 227 142 7 11 0 11 7
|
||||
108 84 128 3 11 0 11 3
|
||||
109 157 200 13 8 1 8 14
|
||||
110 224 76 8 8 0 8 8
|
||||
111 175 132 9 8 0 8 9
|
||||
112 63 186 9 11 0 8 9
|
||||
113 91 186 9 11 0 8 9
|
||||
114 74 106 8 8 0 8 7
|
||||
115 185 132 9 8 0 8 9
|
||||
116 57 138 7 10 0 10 7
|
||||
117 136 106 8 8 0 8 8
|
||||
118 144 106 8 8 0 8 7
|
||||
119 60 94 12 8 0 8 12
|
||||
120 222 106 8 8 0 8 8
|
||||
121 101 186 9 11 -1 8 7
|
||||
122 146 114 6 8 1 8 8
|
||||
123 142 76 6 14 1 11 8
|
||||
124 252 55 3 15 3 11 9
|
||||
125 148 76 6 14 1 11 8
|
||||
126 160 124 10 4 1 7 12
|
||||
160 0 256 0 0 0 0 11
|
||||
161 88 128 3 11 1 11 4
|
||||
162 127 186 9 11 1 9 11
|
||||
163 194 83 10 11 1 11 11
|
||||
164 235 132 9 8 0 10 10
|
||||
165 213 55 11 11 -1 11 9
|
||||
166 250 192 3 14 3 11 9
|
||||
167 1 184 9 11 0 11 9
|
||||
168 121 24 5 2 1 11 7
|
||||
169 97 27 13 11 0 11 13
|
||||
170 103 174 7 7 0 11 7
|
||||
171 40 115 7 5 0 7 8
|
||||
172 134 136 11 5 2 7 14
|
||||
173 128 202 4 2 1 5 6
|
||||
174 29 35 13 11 0 11 13
|
||||
175 0 186 4 2 2 11 8
|
||||
176 238 108 6 6 0 11 5
|
||||
177 102 138 9 9 2 8 13
|
||||
178 10 108 8 8 0 11 8
|
||||
179 176 116 7 8 0 11 7
|
||||
180 200 17 4 3 2 11 8
|
||||
181 22 85 10 11 -1 8 9
|
||||
182 186 156 8 11 0 11 8
|
||||
183 207 168 3 2 1 7 5
|
||||
184 28 19 5 5 2 0 8
|
||||
185 125 150 5 7 1 11 8
|
||||
186 171 124 7 7 0 11 7
|
||||
187 55 115 7 5 0 7 8
|
||||
188 220 11 15 11 1 11 16
|
||||
189 142 11 16 11 1 11 17
|
||||
190 158 11 16 11 0 11 16
|
||||
191 155 184 9 11 0 11 9
|
||||
192 139 256 11 15 0 15 11
|
||||
193 151 256 11 15 0 15 11
|
||||
194 163 256 11 15 0 15 11
|
||||
195 113 240 11 14 0 14 11
|
||||
196 137 240 11 14 0 14 11
|
||||
197 112 256 12 15 0 15 12
|
||||
198 52 256 17 11 -2 11 15
|
||||
199 175 256 11 15 0 11 11
|
||||
200 246 27 9 15 1 15 10
|
||||
201 88 29 9 15 1 15 10
|
||||
202 112 29 9 15 1 15 10
|
||||
203 216 226 9 14 1 14 10
|
||||
204 8 200 4 15 0 15 4
|
||||
205 112 200 4 15 1 15 4
|
||||
206 15 53 5 15 0 15 4
|
||||
207 48 242 5 14 -1 14 3
|
||||
208 0 212 12 11 0 11 12
|
||||
209 149 240 11 14 1 14 12
|
||||
210 187 256 11 15 0 15 11
|
||||
211 199 256 11 15 0 15 11
|
||||
212 211 256 11 15 0 15 11
|
||||
213 161 240 11 14 0 14 11
|
||||
214 173 240 11 14 0 14 11
|
||||
215 112 138 9 9 2 9 13
|
||||
216 136 226 11 13 0 12 11
|
||||
217 223 256 11 15 0 15 11
|
||||
218 235 256 11 15 0 15 11
|
||||
219 53 244 11 15 0 15 11
|
||||
220 185 240 11 14 0 14 11
|
||||
221 65 244 11 15 -1 15 9
|
||||
222 32 85 10 11 1 11 11
|
||||
223 194 156 8 11 0 11 8
|
||||
224 165 180 9 11 0 11 9
|
||||
225 175 180 9 11 0 11 9
|
||||
226 185 180 9 11 0 11 9
|
||||
227 195 180 9 11 0 11 9
|
||||
228 205 180 9 11 0 11 9
|
||||
229 103 224 9 12 0 12 9
|
||||
230 212 44 14 8 0 8 14
|
||||
231 13 198 9 12 0 8 9
|
||||
232 235 180 9 11 0 11 9
|
||||
233 73 178 9 11 0 11 9
|
||||
234 111 178 9 11 0 11 9
|
||||
235 215 178 9 11 0 11 9
|
||||
236 56 109 4 11 -1 11 3
|
||||
237 70 109 4 11 0 11 3
|
||||
238 20 109 5 11 -1 11 3
|
||||
239 26 109 5 11 -1 11 3
|
||||
240 93 198 9 12 0 12 9
|
||||
241 234 156 8 11 0 11 8
|
||||
242 225 178 9 11 0 11 9
|
||||
243 245 178 9 11 0 11 9
|
||||
244 137 176 9 11 0 11 9
|
||||
245 11 174 9 11 0 11 9
|
||||
246 21 174 9 11 0 11 9
|
||||
247 184 71 9 7 2 8 13
|
||||
248 243 142 9 10 0 9 9
|
||||
249 70 154 8 11 0 11 8
|
||||
250 100 154 8 11 0 11 8
|
||||
251 202 154 8 11 0 11 8
|
||||
252 210 154 8 11 0 11 8
|
||||
253 226 226 9 14 -1 11 7
|
||||
254 236 226 9 14 0 11 9
|
||||
255 0 200 8 14 0 11 8
|
||||
884 121 22 5 4 0 11 5
|
||||
885 241 28 5 4 0 2 5
|
||||
890 200 21 4 3 1 0 5
|
||||
894 253 200 3 11 1 8 4
|
||||
900 12 53 3 3 1 11 4
|
||||
901 94 228 7 3 -1 11 5
|
||||
902 104 212 12 11 -1 11 10
|
||||
903 211 168 3 2 1 6 5
|
||||
904 225 55 11 11 -1 11 11
|
||||
905 134 212 12 11 -1 11 11
|
||||
906 32 109 5 11 -1 11 5
|
||||
908 122 35 13 11 -1 11 12
|
||||
910 136 35 13 11 -1 11 12
|
||||
911 150 35 13 11 -1 11 12
|
||||
912 9 138 7 11 -2 11 3
|
||||
913 146 212 12 11 -1 11 10
|
||||
914 42 85 10 11 0 11 10
|
||||
915 218 154 8 11 1 11 9
|
||||
916 1 57 11 11 0 11 11
|
||||
917 52 85 10 11 1 11 11
|
||||
918 31 174 9 11 0 11 10
|
||||
919 62 85 10 11 1 11 11
|
||||
920 158 212 12 11 0 11 12
|
||||
921 253 154 3 11 1 11 5
|
||||
922 106 85 10 11 0 11 10
|
||||
923 197 59 11 11 0 11 10
|
||||
924 170 212 12 11 0 11 12
|
||||
925 116 85 10 11 1 11 11
|
||||
926 226 154 8 11 1 11 10
|
||||
927 182 212 12 11 0 11 12
|
||||
928 154 85 10 11 1 11 11
|
||||
929 164 85 10 11 0 11 10
|
||||
931 242 154 8 11 1 11 10
|
||||
932 41 174 9 11 0 11 9
|
||||
933 27 61 11 11 0 11 11
|
||||
934 48 26 13 12 0 11 13
|
||||
935 194 212 12 11 -1 11 10
|
||||
936 200 35 13 11 0 11 13
|
||||
937 206 212 12 11 0 11 12
|
||||
938 120 99 6 13 -1 13 4
|
||||
939 58 228 12 13 -1 13 10
|
||||
940 82 87 10 11 0 11 10
|
||||
941 17 138 7 11 0 11 7
|
||||
942 24 200 8 14 0 11 8
|
||||
943 113 128 3 11 0 11 3
|
||||
944 130 152 8 11 0 11 8
|
||||
945 244 100 10 8 0 8 10
|
||||
946 246 226 9 14 0 11 9
|
||||
947 51 174 9 11 0 8 8
|
||||
948 61 174 9 11 0 11 9
|
||||
949 184 116 7 8 0 8 7
|
||||
950 32 200 8 14 0 11 7
|
||||
951 10 150 8 11 0 8 8
|
||||
952 83 174 9 11 0 11 9
|
||||
953 10 184 3 8 0 8 3
|
||||
954 82 108 8 8 0 8 8
|
||||
955 18 150 8 11 0 11 8
|
||||
956 26 150 8 11 0 8 8
|
||||
957 114 108 8 8 0 8 8
|
||||
958 40 200 8 14 0 11 7
|
||||
959 245 132 9 8 0 8 9
|
||||
960 0 102 10 8 -1 8 9
|
||||
961 93 174 9 11 0 8 9
|
||||
962 34 150 8 11 0 8 8
|
||||
963 224 97 10 9 0 9 10
|
||||
964 66 118 6 8 0 8 6
|
||||
965 202 108 8 8 0 8 8
|
||||
966 39 61 11 11 0 8 11
|
||||
967 121 174 9 11 0 8 8
|
||||
968 51 61 11 11 0 8 11
|
||||
969 171 200 13 8 0 8 13
|
||||
970 38 109 5 11 -1 11 3
|
||||
971 42 150 8 11 0 11 8
|
||||
972 1 172 9 11 0 11 9
|
||||
973 50 150 8 11 0 11 8
|
||||
974 214 35 13 11 0 11 13
|
||||
976 147 172 9 11 0 11 9
|
||||
977 126 87 10 11 0 11 10
|
||||
978 63 61 11 11 0 11 10
|
||||
979 228 35 13 11 -1 11 11
|
||||
980 147 226 11 13 -1 13 10
|
||||
981 197 240 11 14 0 11 11
|
||||
982 185 200 13 8 0 8 13
|
||||
986 209 240 11 14 0 11 11
|
||||
988 48 200 8 14 1 11 9
|
||||
990 20 224 9 14 0 11 9
|
||||
992 121 61 11 11 0 11 11
|
||||
994 98 15 13 15 1 11 14
|
||||
995 61 26 13 12 0 8 13
|
||||
996 146 200 10 12 0 12 10
|
||||
997 169 192 9 12 0 9 9
|
||||
998 246 256 10 15 1 11 11
|
||||
999 0 136 9 9 0 9 9
|
||||
1000 157 168 9 11 0 11 9
|
||||
1001 58 150 8 11 0 8 8
|
||||
1002 136 87 10 11 0 11 10
|
||||
1003 60 102 10 8 0 8 9
|
||||
1004 179 192 9 12 0 12 9
|
||||
1005 10 99 10 9 0 9 10
|
||||
1006 174 87 10 11 0 11 9
|
||||
1007 234 192 8 12 -1 9 6
|
||||
1008 94 102 10 8 0 8 10
|
||||
1009 189 192 9 12 0 8 9
|
||||
1010 244 108 8 8 0 8 8
|
||||
1011 219 192 5 14 -2 11 3
|
||||
1025 110 43 10 13 1 13 11
|
||||
1026 1 37 13 11 0 11 13
|
||||
1027 134 75 8 13 1 13 9
|
||||
1028 133 61 11 11 0 11 11
|
||||
1029 224 87 10 11 0 11 10
|
||||
1030 117 128 3 11 1 11 5
|
||||
1031 152 99 6 13 -1 13 4
|
||||
1032 78 150 8 11 0 11 8
|
||||
1033 32 11 18 11 -1 11 17
|
||||
1034 174 11 16 11 1 11 17
|
||||
1035 15 37 13 11 0 11 13
|
||||
1036 136 200 9 13 1 13 10
|
||||
1038 221 240 11 14 0 14 10
|
||||
1039 0 226 10 14 1 11 11
|
||||
1040 218 212 12 11 -1 11 10
|
||||
1041 10 89 10 11 1 11 11
|
||||
1042 72 89 10 11 0 11 10
|
||||
1043 86 150 8 11 1 11 9
|
||||
1044 36 242 12 14 -1 11 11
|
||||
1045 92 91 10 11 1 11 11
|
||||
1046 235 11 15 11 0 11 15
|
||||
1047 204 91 10 11 0 11 10
|
||||
1048 214 91 10 11 1 11 11
|
||||
1049 28 49 10 13 1 13 11
|
||||
1050 167 168 9 11 1 11 10
|
||||
1051 145 61 11 11 -1 11 10
|
||||
1052 230 212 12 11 0 11 12
|
||||
1053 234 91 10 11 1 11 11
|
||||
1054 242 212 12 11 0 11 12
|
||||
1055 244 91 10 11 1 11 11
|
||||
1056 0 93 10 11 0 11 10
|
||||
1057 157 61 11 11 0 11 11
|
||||
1058 177 168 9 11 0 11 9
|
||||
1059 169 61 11 11 0 11 10
|
||||
1060 12 210 12 11 0 11 12
|
||||
1061 92 210 12 11 -1 11 10
|
||||
1062 88 242 12 14 1 11 13
|
||||
1063 184 95 10 11 0 11 10
|
||||
1064 43 37 13 11 1 11 14
|
||||
1065 51 14 15 14 1 11 16
|
||||
1066 57 37 13 11 0 11 13
|
||||
1067 71 37 13 11 1 11 14
|
||||
1068 194 95 10 11 1 11 11
|
||||
1069 87 63 11 11 0 11 11
|
||||
1070 33 23 15 11 1 11 16
|
||||
1071 80 202 12 11 -1 11 11
|
||||
1072 65 130 9 8 0 8 9
|
||||
1073 187 168 9 11 0 11 9
|
||||
1074 0 110 8 8 0 8 8
|
||||
1075 92 118 6 8 0 8 6
|
||||
1076 86 52 10 10 -1 8 9
|
||||
1077 93 130 9 8 0 8 9
|
||||
1078 158 94 11 8 0 8 11
|
||||
1079 192 116 7 8 0 8 7
|
||||
1080 60 110 8 8 0 8 8
|
||||
1081 108 150 8 11 0 11 8
|
||||
1082 200 116 7 8 0 8 7
|
||||
1083 121 130 9 8 0 8 9
|
||||
1084 104 102 10 8 0 8 10
|
||||
1085 90 110 8 8 0 8 8
|
||||
1086 131 130 9 8 0 8 9
|
||||
1087 98 110 8 8 0 8 8
|
||||
1088 197 168 9 11 0 8 9
|
||||
1089 106 110 8 8 0 8 8
|
||||
1090 238 116 7 8 0 8 7
|
||||
1091 116 150 8 11 0 8 8
|
||||
1092 191 14 13 14 0 11 13
|
||||
1093 152 110 8 8 0 8 8
|
||||
1094 235 168 9 11 0 8 9
|
||||
1095 160 110 8 8 0 8 8
|
||||
1096 198 200 13 8 0 8 13
|
||||
1097 163 37 13 11 0 8 13
|
||||
1098 158 102 10 8 0 8 10
|
||||
1099 127 96 11 8 0 8 11
|
||||
1100 230 110 8 8 0 8 8
|
||||
1101 246 116 7 8 0 8 8
|
||||
1102 102 94 12 8 0 8 12
|
||||
1103 122 112 8 8 0 8 8
|
||||
1105 71 166 9 11 0 11 9
|
||||
1106 94 224 9 14 0 11 9
|
||||
1107 216 103 6 11 0 11 6
|
||||
1108 0 118 7 8 1 8 8
|
||||
1109 168 112 8 8 0 8 8
|
||||
1110 41 126 3 11 0 11 3
|
||||
1111 44 109 5 11 -1 11 4
|
||||
1112 224 192 5 14 -2 11 3
|
||||
1113 226 44 14 8 0 8 14
|
||||
1114 212 200 13 8 0 8 13
|
||||
1115 103 166 9 11 0 11 9
|
||||
1116 25 138 7 11 0 11 7
|
||||
1118 56 200 8 14 0 11 8
|
||||
1119 0 148 8 11 0 8 8
|
||||
1120 127 23 15 11 0 11 15
|
||||
1121 226 200 13 8 0 8 13
|
||||
1122 181 63 11 11 0 11 11
|
||||
1123 207 166 9 11 0 11 9
|
||||
1124 218 23 14 11 1 11 15
|
||||
1125 170 96 11 8 0 8 11
|
||||
1126 237 63 11 11 0 11 11
|
||||
1127 72 98 11 8 -1 8 9
|
||||
1128 232 23 14 11 1 11 15
|
||||
1129 240 200 13 8 0 8 12
|
||||
1130 13 65 11 11 -1 11 9
|
||||
1131 138 98 11 8 -1 8 9
|
||||
1132 143 23 15 11 1 11 15
|
||||
1133 156 192 13 8 0 8 12
|
||||
1134 102 256 10 17 0 14 10
|
||||
1135 64 200 8 14 0 11 8
|
||||
1136 177 37 13 11 0 11 13
|
||||
1137 75 65 11 11 0 8 11
|
||||
1138 99 67 11 11 1 11 13
|
||||
1139 210 112 8 8 1 8 10
|
||||
1140 209 67 11 11 0 11 11
|
||||
1141 74 114 8 8 0 8 8
|
||||
1142 232 240 11 14 0 14 11
|
||||
1143 138 148 8 11 0 11 8
|
||||
1144 0 256 20 14 0 11 20
|
||||
1145 70 256 17 11 0 8 17
|
||||
1146 84 42 12 12 0 11 12
|
||||
1147 195 130 9 8 0 8 9
|
||||
1148 20 256 15 15 0 15 15
|
||||
1149 75 26 13 12 0 12 13
|
||||
1150 67 14 15 14 0 14 15
|
||||
1151 97 39 13 11 0 11 13
|
||||
1152 158 226 11 13 0 11 11
|
||||
1153 136 186 9 10 0 8 9
|
||||
1154 20 97 10 11 0 11 11
|
||||
1155 110 184 7 3 -1 12 5
|
||||
1156 146 176 6 3 0 12 6
|
||||
1157 82 178 7 3 -1 12 6
|
||||
1158 120 178 7 3 0 12 6
|
||||
1168 20 52 7 14 1 14 7
|
||||
1169 178 107 6 11 0 11 5
|
||||
1170 217 166 9 11 0 11 9
|
||||
1171 98 118 6 8 0 8 6
|
||||
1172 10 226 10 14 1 11 11
|
||||
1173 72 200 8 14 0 11 8
|
||||
1174 16 14 16 14 0 11 15
|
||||
1175 116 202 12 11 0 8 11
|
||||
1176 30 214 9 14 0 11 9
|
||||
1177 33 138 7 11 0 8 7
|
||||
1178 40 214 9 14 1 11 9
|
||||
1179 146 144 8 11 0 8 7
|
||||
1180 245 166 9 11 1 11 10
|
||||
1181 16 118 7 8 0 8 7
|
||||
1182 30 97 10 11 0 11 10
|
||||
1183 24 118 7 8 0 8 7
|
||||
1184 242 39 13 11 -1 11 12
|
||||
1185 126 104 10 8 0 8 9
|
||||
1186 244 240 11 14 1 11 12
|
||||
1187 131 164 9 11 0 8 9
|
||||
1188 0 25 14 11 1 11 15
|
||||
1189 168 104 10 8 0 8 10
|
||||
1190 76 244 11 15 1 11 12
|
||||
1191 199 192 9 12 0 8 9
|
||||
1192 124 242 12 14 0 11 12
|
||||
1193 11 162 9 11 0 8 9
|
||||
1194 101 238 11 14 0 11 11
|
||||
1195 21 162 9 11 0 8 9
|
||||
1196 50 214 9 14 0 11 9
|
||||
1197 41 138 7 11 0 8 7
|
||||
1198 221 67 11 11 0 11 11
|
||||
1199 31 162 9 11 0 8 8
|
||||
1200 1 69 11 11 0 11 10
|
||||
1201 41 162 9 11 -1 8 7
|
||||
1202 12 240 12 14 -1 11 10
|
||||
1203 51 162 9 11 0 8 8
|
||||
1204 83 14 15 14 0 11 15
|
||||
1205 193 71 11 11 0 8 11
|
||||
1206 35 228 11 14 0 11 10
|
||||
1207 61 162 9 11 0 8 8
|
||||
1208 40 97 10 11 0 11 10
|
||||
1209 130 114 8 8 0 8 8
|
||||
1210 50 97 10 11 1 11 11
|
||||
1211 154 144 8 11 0 11 8
|
||||
1212 14 25 14 11 -1 11 13
|
||||
1213 83 100 11 8 -1 8 10
|
||||
1214 112 14 14 14 -1 11 13
|
||||
1215 25 73 11 11 -1 8 10
|
||||
1216 45 126 3 11 1 11 5
|
||||
1217 87 256 15 13 0 13 15
|
||||
1218 37 73 11 11 0 11 11
|
||||
1219 24 240 10 15 1 11 10
|
||||
1220 242 192 8 12 0 8 7
|
||||
1223 0 242 11 15 1 11 12
|
||||
1224 209 192 9 12 0 8 9
|
||||
1227 112 226 10 14 0 11 10
|
||||
1228 162 144 8 11 0 8 8
|
||||
1232 70 228 12 13 -1 13 10
|
||||
1233 81 162 9 11 0 11 9
|
||||
1234 82 228 12 13 -1 13 10
|
||||
1235 170 144 8 11 0 11 9
|
||||
1236 158 23 15 11 0 11 16
|
||||
1237 0 46 14 8 0 8 15
|
||||
1238 60 214 9 14 1 14 11
|
||||
1239 91 162 9 11 0 11 9
|
||||
1240 49 73 11 11 0 11 11
|
||||
1241 205 130 9 8 0 8 9
|
||||
1242 169 226 11 13 0 13 11
|
||||
1243 113 162 9 11 0 11 9
|
||||
1244 36 256 16 13 -1 13 14
|
||||
1245 61 73 11 11 0 11 11
|
||||
1246 120 49 10 13 0 13 10
|
||||
1247 178 144 8 11 0 11 8
|
||||
1248 1 160 9 11 0 11 9
|
||||
1249 186 144 8 11 0 8 8
|
||||
1250 130 49 10 13 1 13 11
|
||||
1251 194 144 8 11 0 11 8
|
||||
1252 140 49 10 13 1 13 11
|
||||
1253 234 144 8 11 0 11 9
|
||||
1254 124 228 12 13 0 13 12
|
||||
1255 141 160 9 11 0 11 9
|
||||
1256 111 73 11 11 1 11 13
|
||||
1257 138 114 8 8 1 8 10
|
||||
1258 181 226 11 13 1 13 13
|
||||
1259 66 142 8 11 1 11 10
|
||||
1262 193 226 11 13 0 13 10
|
||||
1263 70 214 9 14 0 11 8
|
||||
1264 205 226 11 13 0 13 11
|
||||
1265 104 200 8 14 0 11 8
|
||||
1266 46 228 11 14 0 14 10
|
||||
1267 128 200 8 14 0 11 8
|
||||
1268 150 49 10 13 0 13 10
|
||||
1269 94 142 8 11 0 11 8
|
||||
1272 173 25 13 13 1 13 14
|
||||
1273 123 73 11 11 0 11 11
|
||||
1425 43 26 5 2 1 -1 7
|
||||
1426 12 212 6 2 0 10 6
|
||||
1427 34 240 2 5 2 12 6
|
||||
1428 24 55 3 3 2 11 6
|
||||
1429 84 29 4 3 1 11 6
|
||||
1430 131 166 3 2 1 -1 5
|
||||
1431 48 14 2 2 2 10 6
|
||||
1432 28 23 5 3 1 10 6
|
||||
1433 243 68 5 4 -1 11 6
|
||||
1434 90 190 3 4 3 0 6
|
||||
1435 4 186 4 2 1 -1 6
|
||||
1436 152 176 3 4 1 11 5
|
||||
1437 162 172 3 4 3 11 6
|
||||
1438 196 43 5 3 1 11 6
|
||||
1439 99 56 7 4 -1 11 5
|
||||
1440 164 184 4 4 3 11 6
|
||||
1441 196 47 5 3 0 11 6
|
||||
1443 110 180 4 2 1 -1 6
|
||||
1444 80 166 3 4 1 0 6
|
||||
1445 186 14 5 2 1 -1 7
|
||||
1446 156 172 6 3 0 0 6
|
||||
1447 208 55 4 3 1 0 6
|
||||
1448 83 92 5 4 1 11 7
|
||||
1449 140 164 4 4 -1 11 6
|
||||
1450 164 26 5 2 1 -1 7
|
||||
1451 109 154 3 4 1 12 6
|
||||
1452 214 180 4 2 1 11 6
|
||||
1453 203 156 3 2 3 -1 6
|
||||
1454 236 47 5 3 -1 10 6
|
||||
1455 192 59 4 3 1 10 6
|
||||
1456 106 55 3 3 2 0 6
|
||||
1457 112 166 6 3 0 0 6
|
||||
1458 208 51 5 3 0 0 5
|
||||
1459 236 51 5 3 0 0 5
|
||||
1460 67 150 3 2 2 -1 6
|
||||
1461 244 180 4 2 1 -1 6
|
||||
1462 232 59 4 3 1 0 6
|
||||
1463 67 148 3 2 1 -1 5
|
||||
1464 147 148 3 2 1 -1 5
|
||||
1465 67 146 3 2 2 10 6
|
||||
1467 192 55 5 3 0 0 6
|
||||
1468 147 146 3 2 2 5 6
|
||||
1469 67 144 3 2 2 -1 7
|
||||
1470 38 38 5 2 0 8 5
|
||||
1471 75 142 3 2 1 10 5
|
||||
1472 117 212 3 10 0 9 3
|
||||
1473 103 142 3 2 2 10 6
|
||||
1474 125 142 3 2 2 10 6
|
||||
1475 70 174 3 8 0 8 3
|
||||
1476 253 142 3 2 2 10 6
|
||||
1488 215 130 9 8 0 8 9
|
||||
1489 218 114 8 8 1 8 9
|
||||
1490 32 118 7 8 0 8 7
|
||||
1491 48 118 7 8 0 8 7
|
||||
1492 225 130 9 8 0 8 9
|
||||
1493 130 174 5 8 0 8 5
|
||||
1494 24 210 5 9 0 9 5
|
||||
1495 49 128 9 8 0 8 9
|
||||
1496 75 128 9 8 0 8 9
|
||||
1497 211 104 5 4 0 8 5
|
||||
1498 202 142 8 11 0 8 8
|
||||
1499 8 116 8 8 0 8 8
|
||||
1500 210 142 8 11 0 11 8
|
||||
1501 103 128 9 8 0 8 9
|
||||
1502 1 126 9 8 0 8 9
|
||||
1503 50 109 5 11 0 8 5
|
||||
1504 94 150 5 8 0 8 5
|
||||
1505 11 126 9 8 0 8 9
|
||||
1506 124 140 9 10 0 8 9
|
||||
1507 151 156 9 11 0 8 9
|
||||
1508 21 126 9 8 0 8 9
|
||||
1509 218 142 8 11 0 8 8
|
||||
1510 82 116 8 8 0 8 8
|
||||
1511 161 156 9 11 0 8 9
|
||||
1512 114 116 8 8 0 8 8
|
||||
1513 204 100 11 8 0 8 11
|
||||
1514 234 101 10 9 0 8 10
|
||||
1520 31 126 9 8 0 8 9
|
||||
1521 141 124 9 8 0 8 9
|
||||
1522 75 42 9 4 0 8 9
|
||||
1523 150 160 4 4 0 10 3
|
||||
1524 235 80 7 4 0 10 6
|
||||
65075 248 67 3 15 -1 13 16
|
||||
65533 124 256 14 13 1 12 16
|
||||
Binary file not shown.
@@ -2,7 +2,7 @@ vec4 InstancingPosition(vec4 position);
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 worldPos = InstancingPosition(gl_Vertex);
|
||||
vec4 worldPos = InstancingPosition(gl_Vertex);
|
||||
|
||||
gl_FrontColor = gl_Color;
|
||||
gl_TexCoord[0] = gl_MultiTexCoord0;
|
||||
|
||||
@@ -12,7 +12,7 @@ vec3 InstancingNormal(vec3 normal)
|
||||
tmp.x = dot(vec3(Instancing1), normal);
|
||||
tmp.y = dot(vec3(Instancing2), normal);
|
||||
tmp.z = dot(vec3(Instancing3), normal);
|
||||
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
||||
@@ -24,6 +24,6 @@ vec4 InstancingPosition(vec4 position)
|
||||
tmp.x = dot(Instancing1, position);
|
||||
tmp.y = dot(Instancing2, position);
|
||||
tmp.z = dot(Instancing3, position);
|
||||
|
||||
|
||||
return vec4(tmp, 1.0);
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ vec4 InstancingPosition(vec4 position);
|
||||
void main()
|
||||
{
|
||||
vec3 normal = InstancingNormal(gl_Normal);
|
||||
vec4 worldPos = InstancingPosition(gl_Vertex);
|
||||
vec4 worldPos = InstancingPosition(gl_Vertex);
|
||||
|
||||
gl_FrontColor = vec4(lighting(normal),1.0) * gl_Color;
|
||||
gl_TexCoord[0] = gl_MultiTexCoord0;
|
||||
|
||||
@@ -28,36 +28,36 @@ void main()
|
||||
float t; // Temporary variable
|
||||
vec2 reflCoords, refrCoords;
|
||||
vec3 reflColor, refrColor, specular;
|
||||
|
||||
|
||||
n = normalize(texture2D(normalMap, gl_TexCoord[0].st).xzy - vec3(0.5, 0.5, 0.5));
|
||||
l = -sunDir;
|
||||
v = normalize(cameraPos - worldPos);
|
||||
h = normalize(l + v);
|
||||
|
||||
|
||||
ndotl = dot(n, l);
|
||||
ndoth = dot(n, h);
|
||||
ndotv = dot(n, v);
|
||||
|
||||
|
||||
myMurkiness = murkiness * min(waterDepth / fullDepth, 1.0);
|
||||
|
||||
|
||||
fresnel = pow(1.0 - ndotv, 0.8); // A rather random Fresnel approximation
|
||||
|
||||
|
||||
refrCoords = 0.5 * (gl_TexCoord[2].xy / gl_TexCoord[2].w) + 0.5; // Unbias texture coords
|
||||
refrCoords -= 0.8 * waviness * n.xz / w; // Refractions can be slightly less wavy
|
||||
|
||||
|
||||
reflCoords = 0.5 * (gl_TexCoord[1].xy / gl_TexCoord[1].w) + 0.5; // Unbias texture coords
|
||||
reflCoords += waviness * n.xz / w;
|
||||
|
||||
reflColor = mix(texture2D(reflectionMap, reflCoords).rgb, sunColor * reflectionTint,
|
||||
|
||||
reflColor = mix(texture2D(reflectionMap, reflCoords).rgb, sunColor * reflectionTint,
|
||||
reflectionTintStrength);
|
||||
|
||||
|
||||
refrColor = (0.5 + 0.5*ndotl) * mix(texture2D(refractionMap, refrCoords).rgb, sunColor * tint,
|
||||
myMurkiness);
|
||||
|
||||
|
||||
specular = pow(max(0.0, ndoth), shininess) * sunColor * specularStrength;
|
||||
|
||||
|
||||
gl_FragColor.rgb = mix(refrColor + 0.3*specular, reflColor + specular, fresnel) * losMod;
|
||||
|
||||
|
||||
// Make alpha vary based on both depth (so it blends with the shore) and view angle (make it
|
||||
// become opaque faster at lower view angles so we can't look "underneath" the water plane)
|
||||
t = 18.0 * max(0.0, 0.7 - v.y);
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
a = 10
|
||||
atext = "dummy"
|
||||
@@ -1 +0,0 @@
|
||||
b = 10
|
||||
@@ -1,7 +0,0 @@
|
||||
a = 8
|
||||
atext = "dummyreplaced"
|
||||
b = 8
|
||||
c = 8
|
||||
|
||||
[scoped]
|
||||
e = 8
|
||||
@@ -1,2 +0,0 @@
|
||||
[scoped]
|
||||
e = 10
|
||||
@@ -1,8 +0,0 @@
|
||||
a = 1
|
||||
b = 2
|
||||
c = 3
|
||||
d = 4
|
||||
|
||||
[scoped]
|
||||
e = 5
|
||||
f = 6
|
||||
@@ -1,8 +0,0 @@
|
||||
try
|
||||
{
|
||||
Engine.callback();
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
log(e.message);
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
log("blah blah blah");
|
||||
@@ -1,3 +0,0 @@
|
||||
await undefined;
|
||||
// `import "blabbermouth.js";` would be hoisted before the await resulting in it not being delayed.
|
||||
log("blah blah blah");
|
||||
@@ -1,4 +0,0 @@
|
||||
export default function()
|
||||
{
|
||||
return import("include/pi.js");
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
export let value = 6;
|
||||
|
||||
export function mutate(newValue)
|
||||
{
|
||||
value = newValue;
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
let value = 6;
|
||||
export default value;
|
||||
// eslint-disable-next-line no-useless-assignment
|
||||
value = 36;
|
||||
@@ -1 +0,0 @@
|
||||
export default 36;
|
||||
@@ -1,2 +0,0 @@
|
||||
export default let value = 6;
|
||||
value = 36;
|
||||
@@ -1,3 +0,0 @@
|
||||
let value = 6;
|
||||
export { value as default };
|
||||
value = 36;
|
||||
@@ -1,4 +0,0 @@
|
||||
function foo()
|
||||
{
|
||||
import "include/pi.js";
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
import { circleArea } from "include/geometry/area.js";
|
||||
|
||||
class Circle
|
||||
{
|
||||
radius;
|
||||
|
||||
constructor(radius)
|
||||
{
|
||||
this.radius = radius;
|
||||
}
|
||||
|
||||
get area()
|
||||
{
|
||||
return circleArea(this.radius);
|
||||
}
|
||||
}
|
||||
|
||||
export default Circle;
|
||||
@@ -1,8 +0,0 @@
|
||||
import RenamedCircle from "include/circle.js";
|
||||
|
||||
const area = new RenamedCircle(10).area;
|
||||
|
||||
if (area === (Math.PI * 100))
|
||||
log("Test succeeded");
|
||||
else
|
||||
throw new Error("Module Evalutation Error");
|
||||
@@ -1,6 +0,0 @@
|
||||
import importedPi from "include/pi.js";
|
||||
|
||||
export function circleArea(radius)
|
||||
{
|
||||
return importedPi * (radius * radius);
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
export default Math.PI;
|
||||
@@ -1 +0,0 @@
|
||||
export * from "export.js";
|
||||
@@ -1,4 +0,0 @@
|
||||
export function getMeta()
|
||||
{
|
||||
return import.meta;
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
export function fn()
|
||||
{
|
||||
return "Base";
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
throw new Error("This script should't be evaluated.");
|
||||
@@ -1,7 +0,0 @@
|
||||
// Even though this is local to the module, it's visible to other appendixes.
|
||||
function appendToResult(fun, str)
|
||||
{
|
||||
return () => fun() + str;
|
||||
}
|
||||
|
||||
fn = appendToResult(fn, "0");
|
||||
@@ -1,4 +0,0 @@
|
||||
if (import.meta.path !== "modified/base.js")
|
||||
throw new Error("import.meta.path should be the path of the base.");
|
||||
|
||||
fn = appendToResult(fn, "1");
|
||||
@@ -1 +0,0 @@
|
||||
throw new Error("This script should't be evaluated.");
|
||||
@@ -1 +0,0 @@
|
||||
import("restriction/disallowedfile.js");
|
||||
@@ -1 +0,0 @@
|
||||
import "restriction/../restriction/disallowedfile.js";
|
||||
@@ -1 +0,0 @@
|
||||
import "restriction/disallowedfile.js";
|
||||
@@ -1,2 +0,0 @@
|
||||
await undefined;
|
||||
await undefined;
|
||||
@@ -1 +0,0 @@
|
||||
await new Promise(() => {});
|
||||
@@ -1 +0,0 @@
|
||||
throw new Error("Test reason");
|
||||
@@ -11,10 +11,7 @@ function Vector2D(x, y)
|
||||
this.y = y;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.x = 0;
|
||||
this.y = 0;
|
||||
}
|
||||
this.x = this.y = 0;
|
||||
}
|
||||
|
||||
Vector2D.prototype.add = function(v)
|
||||
@@ -33,11 +30,7 @@ function Vector3D(x, y, z)
|
||||
this.z = z;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.x = 0;
|
||||
this.y = 0;
|
||||
this.z = 0;
|
||||
}
|
||||
this.x = this.y = this.z = 0;
|
||||
}
|
||||
Vector3D.prototype.add = function(v)
|
||||
{
|
||||
|
||||
@@ -5,12 +5,12 @@ TestScript1A.prototype.GetX = function() {
|
||||
try {
|
||||
delete this.entity;
|
||||
Engine.TS_FAIL("Missed exception");
|
||||
} catch (e) { /* noop */ }
|
||||
} catch (e) { }
|
||||
try {
|
||||
this.entity = -1;
|
||||
Engine.TS_FAIL("Missed exception");
|
||||
} catch (e) { /* noop */ }
|
||||
|
||||
} catch (e) { }
|
||||
|
||||
// and return the value
|
||||
return this.entity;
|
||||
};
|
||||
|
||||
@@ -41,9 +41,9 @@ TestScript2A.prototype.Init = function() {
|
||||
};
|
||||
|
||||
TestScript2A.prototype.GetX = function() {
|
||||
Engine.BroadcastMessage(MT_Update, { "turnLength": 50 });
|
||||
Engine.PostMessage(1, MT_Update, { "turnLength": 500 });
|
||||
Engine.PostMessage(2, MT_Update, { "turnLength": 5000 });
|
||||
Engine.BroadcastMessage(MT_Update, { turnLength: 50 });
|
||||
Engine.PostMessage(1, MT_Update, { turnLength: 500 });
|
||||
Engine.PostMessage(2, MT_Update, { turnLength: 5000 });
|
||||
return this.x;
|
||||
};
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ function TestScript1_Init() {}
|
||||
|
||||
TestScript1_Init.prototype.Init = function() {
|
||||
var param = this.template;
|
||||
// print("# ",uneval(param),"\n");
|
||||
// print("# ",uneval(param),"\n");
|
||||
if (param)
|
||||
this.x = (+param.x) + (+param.y._string) + (+param.y.z['@w']) + (+param.y.z.a);
|
||||
else
|
||||
@@ -20,11 +20,11 @@ Engine.RegisterComponentType(IID_Test1, "TestScript1_Init", TestScript1_Init);
|
||||
function TestScript1_readonly() {}
|
||||
|
||||
TestScript1_readonly.prototype.GetX = function() {
|
||||
try { this.template = null; } catch (e) { /* noop */ }
|
||||
try { delete this.template; } catch (e) { /* noop */ }
|
||||
try { this.template.x += 1000; } catch (e) { /* noop */ }
|
||||
try { delete this.template.x; } catch (e) { /* noop */ }
|
||||
try { this.template.y = 2000; } catch (e) { /* noop */ }
|
||||
try { this.template = null; } catch(e) { }
|
||||
try { delete this.template; } catch(e) { }
|
||||
try { this.template.x += 1000; } catch(e) { }
|
||||
try { delete this.template.x; } catch(e) { }
|
||||
try { this.template.y = 2000; } catch(e) { }
|
||||
return +(this.template.x || 1) + +(this.template.y || 2);
|
||||
};
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<!-- Sets limit on the number of same turns moves we will process -->
|
||||
<!-- Setting the value to 0 disable this functionality -->
|
||||
<MaxSameTurnMoves>64</MaxSameTurnMoves>
|
||||
|
||||
|
||||
<PassabilityClasses>
|
||||
|
||||
<!-- Unit pathfinding classes: -->
|
||||
@@ -32,7 +32,7 @@
|
||||
</building-shore>
|
||||
|
||||
</PassabilityClasses>
|
||||
|
||||
|
||||
<!--
|
||||
Warning: Movement costs are a subtle tradeoff between
|
||||
pathfinding accuracy and computation cost. Be extremely
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
function AdditionHelper(a, b)
|
||||
{
|
||||
function AdditionHelper(a, b) {
|
||||
return a+b;
|
||||
}
|
||||
|
||||
|
||||
@@ -214,16 +214,6 @@
|
||||
<empty/>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="anchor">
|
||||
<choice>
|
||||
<value>upright</value>
|
||||
<value>pitch</value>
|
||||
<value>roll</value>
|
||||
<value>pitch-roll</value>
|
||||
</choice>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="material">
|
||||
<ref name="qualitySettings"/>
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user