mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-02-05 15:03:33 +08:00
Tidying and language updates
This commit is contained in:
parent
7025a537c2
commit
a6130aaf5f
13
.idea/dictionaries/ericf.xml
generated
13
.idea/dictionaries/ericf.xml
generated
@ -30,8 +30,8 @@
|
|||||||
<w>achname</w>
|
<w>achname</w>
|
||||||
<w>achs</w>
|
<w>achs</w>
|
||||||
<w>acinstance</w>
|
<w>acinstance</w>
|
||||||
<w>ack'ed</w>
|
|
||||||
<w>ack</w>
|
<w>ack</w>
|
||||||
|
<w>ack'ed</w>
|
||||||
<w>acked</w>
|
<w>acked</w>
|
||||||
<w>acks</w>
|
<w>acks</w>
|
||||||
<w>acnt</w>
|
<w>acnt</w>
|
||||||
@ -156,8 +156,8 @@
|
|||||||
<w>bacommon</w>
|
<w>bacommon</w>
|
||||||
<w>badguy</w>
|
<w>badguy</w>
|
||||||
<w>bafoundation</w>
|
<w>bafoundation</w>
|
||||||
<w>ballistica's</w>
|
|
||||||
<w>ballistica</w>
|
<w>ballistica</w>
|
||||||
|
<w>ballistica's</w>
|
||||||
<w>ballisticacore</w>
|
<w>ballisticacore</w>
|
||||||
<w>ballisticacorecb</w>
|
<w>ballisticacorecb</w>
|
||||||
<w>bamaster</w>
|
<w>bamaster</w>
|
||||||
@ -816,8 +816,8 @@
|
|||||||
<w>gamedata</w>
|
<w>gamedata</w>
|
||||||
<w>gameinstance</w>
|
<w>gameinstance</w>
|
||||||
<w>gamemap</w>
|
<w>gamemap</w>
|
||||||
<w>gamepad's</w>
|
|
||||||
<w>gamepad</w>
|
<w>gamepad</w>
|
||||||
|
<w>gamepad's</w>
|
||||||
<w>gamepadadvanced</w>
|
<w>gamepadadvanced</w>
|
||||||
<w>gamepads</w>
|
<w>gamepads</w>
|
||||||
<w>gamepadselect</w>
|
<w>gamepadselect</w>
|
||||||
@ -1208,8 +1208,8 @@
|
|||||||
<w>lsqlite</w>
|
<w>lsqlite</w>
|
||||||
<w>lssl</w>
|
<w>lssl</w>
|
||||||
<w>lstart</w>
|
<w>lstart</w>
|
||||||
<w>lstr's</w>
|
|
||||||
<w>lstr</w>
|
<w>lstr</w>
|
||||||
|
<w>lstr's</w>
|
||||||
<w>lstrs</w>
|
<w>lstrs</w>
|
||||||
<w>lsval</w>
|
<w>lsval</w>
|
||||||
<w>ltex</w>
|
<w>ltex</w>
|
||||||
@ -1848,8 +1848,8 @@
|
|||||||
<w>sessionname</w>
|
<w>sessionname</w>
|
||||||
<w>sessionplayer</w>
|
<w>sessionplayer</w>
|
||||||
<w>sessionplayers</w>
|
<w>sessionplayers</w>
|
||||||
<w>sessionteam's</w>
|
|
||||||
<w>sessionteam</w>
|
<w>sessionteam</w>
|
||||||
|
<w>sessionteam's</w>
|
||||||
<w>sessionteams</w>
|
<w>sessionteams</w>
|
||||||
<w>sessiontype</w>
|
<w>sessiontype</w>
|
||||||
<w>setactivity</w>
|
<w>setactivity</w>
|
||||||
@ -1998,6 +1998,7 @@
|
|||||||
<w>subfolders</w>
|
<w>subfolders</w>
|
||||||
<w>subname</w>
|
<w>subname</w>
|
||||||
<w>subpath</w>
|
<w>subpath</w>
|
||||||
|
<w>subpaths</w>
|
||||||
<w>subplatform</w>
|
<w>subplatform</w>
|
||||||
<w>subplatforms</w>
|
<w>subplatforms</w>
|
||||||
<w>subprocess's</w>
|
<w>subprocess's</w>
|
||||||
@ -2185,8 +2186,8 @@
|
|||||||
<w>txtw</w>
|
<w>txtw</w>
|
||||||
<w>typeargs</w>
|
<w>typeargs</w>
|
||||||
<w>typecheck</w>
|
<w>typecheck</w>
|
||||||
<w>typechecker's</w>
|
|
||||||
<w>typechecker</w>
|
<w>typechecker</w>
|
||||||
|
<w>typechecker's</w>
|
||||||
<w>typedval</w>
|
<w>typedval</w>
|
||||||
<w>typeshed</w>
|
<w>typeshed</w>
|
||||||
<w>typestr</w>
|
<w>typestr</w>
|
||||||
|
|||||||
139
Makefile
139
Makefile
@ -638,6 +638,75 @@ pycharm-full: prereqs
|
|||||||
mypy-full pycharm pycharm-full
|
mypy-full pycharm pycharm-full
|
||||||
|
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# #
|
||||||
|
# Checking (Internal) #
|
||||||
|
# #
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
# Run all project checks in the cloud.
|
||||||
|
check-cloud:
|
||||||
|
@tools/cloudshell ${CLOUDSHELL_HOST_CHECK} --env ${CLOUDSHELL_ENV_CHECK} -- \
|
||||||
|
make check
|
||||||
|
|
||||||
|
# Cloud version of check-full
|
||||||
|
check-cloud-full:
|
||||||
|
@tools/cloudshell ${CLOUDSHELL_HOST_CHECK} --env ${CLOUDSHELL_ENV_CHECK} -- \
|
||||||
|
make check-full
|
||||||
|
|
||||||
|
# Cloud version of check2
|
||||||
|
check2-cloud:
|
||||||
|
@tools/cloudshell ${CLOUDSHELL_HOST_CHECK} --env ${CLOUDSHELL_ENV_CHECK} \
|
||||||
|
--lock pycharm -- \
|
||||||
|
EFROTOOLS_FULL_PYCHARM_RECACHE=${EFROTOOLS_FULL_PYCHARM_RECACHE} \
|
||||||
|
make check2
|
||||||
|
|
||||||
|
# Cloud version of check2-full
|
||||||
|
check2-cloud-full:
|
||||||
|
@tools/cloudshell ${CLOUDSHELL_HOST_CHECK} --env ${CLOUDSHELL_ENV_CHECK} \
|
||||||
|
--lock pycharm -- \
|
||||||
|
EFROTOOLS_FULL_PYCHARM_RECACHE=${EFROTOOLS_FULL_PYCHARM_RECACHE} \
|
||||||
|
make check2-full
|
||||||
|
|
||||||
|
# Cloud version of pylint check
|
||||||
|
pylint-cloud:
|
||||||
|
@tools/cloudshell ${CLOUDSHELL_HOST_CHECK} --env ${CLOUDSHELL_ENV_CHECK} -- \
|
||||||
|
make pylint
|
||||||
|
|
||||||
|
# Cloud version of pylint-full
|
||||||
|
pylint-cloud-full:
|
||||||
|
@tools/cloudshell ${CLOUDSHELL_HOST_CHECK} --env ${CLOUDSHELL_ENV_CHECK} -- \
|
||||||
|
make pylint-full
|
||||||
|
|
||||||
|
# Cloud version of mypy check
|
||||||
|
mypy-cloud:
|
||||||
|
@tools/cloudshell ${CLOUDSHELL_HOST_CHECK} --env ${CLOUDSHELL_ENV_CHECK} -- \
|
||||||
|
make mypy
|
||||||
|
|
||||||
|
# Cloud version of mypy-full check
|
||||||
|
mypy-cloud-full:
|
||||||
|
@tools/cloudshell ${CLOUDSHELL_HOST_CHECK} --env ${CLOUDSHELL_ENV_CHECK} -- \
|
||||||
|
make mypy-full
|
||||||
|
|
||||||
|
# Cloud version of pycharm check
|
||||||
|
pycharm-cloud:
|
||||||
|
@tools/cloudshell ${CLOUDSHELL_HOST_CHECK} --env ${CLOUDSHELL_ENV_CHECK} \
|
||||||
|
--lock pycharm -- \
|
||||||
|
EFROTOOLS_FULL_PYCHARM_RECACHE=${EFROTOOLS_FULL_PYCHARM_RECACHE} \
|
||||||
|
make pycharm
|
||||||
|
|
||||||
|
# Cloud version of pycharm-full
|
||||||
|
pycharm-cloud-full:
|
||||||
|
@tools/cloudshell ${CLOUDSHELL_HOST_CHECK} --env ${CLOUDSHELL_ENV_CHECK} \
|
||||||
|
--lock pycharm -- \
|
||||||
|
EFROTOOLS_FULL_PYCHARM_RECACHE=${EFROTOOLS_FULL_PYCHARM_RECACHE} \
|
||||||
|
make pycharm-full
|
||||||
|
|
||||||
|
# Tell make which of these targets don't represent files.
|
||||||
|
.PHONY: check-cloud check-cloud-full check2-cloud-full pylint-cloud \
|
||||||
|
pylint-cloud-full mypy-cloud mypy-cloud-full pycharm-cloud pycharm-cloud-full
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# #
|
# #
|
||||||
# Testing #
|
# Testing #
|
||||||
@ -671,6 +740,26 @@ test-entity:
|
|||||||
.PHONY: test test-full test-assetmanager
|
.PHONY: test test-full test-assetmanager
|
||||||
|
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# #
|
||||||
|
# Testing (Internal) #
|
||||||
|
# #
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
# Cloud version of test
|
||||||
|
test-cloud:
|
||||||
|
@tools/cloudshell ${CLOUDSHELL_HOST_TEST} --env ${CLOUDSHELL_ENV_CHECK} -- \
|
||||||
|
make test
|
||||||
|
|
||||||
|
# Cloud version of test-full
|
||||||
|
test-cloud-full:
|
||||||
|
@tools/cloudshell ${CLOUDSHELL_HOST_TEST} --env ${CLOUDSHELL_ENV_CHECK} -- \
|
||||||
|
make test-full
|
||||||
|
|
||||||
|
# Tell make which of these targets don't represent files.
|
||||||
|
.PHONY: test-cloud test-cloud-full
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# #
|
# #
|
||||||
# Preflighting #
|
# Preflighting #
|
||||||
@ -709,6 +798,56 @@ preflight2-full:
|
|||||||
.PHONY: preflight preflight-full preflight2 preflight2-full
|
.PHONY: preflight preflight-full preflight2 preflight2-full
|
||||||
|
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# #
|
||||||
|
# Preflighting (Internal) #
|
||||||
|
# #
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
# TODO: If we add the ability to sync an entire env back, we could
|
||||||
|
# simply run preflight targets in their entirety in cloudshell instead
|
||||||
|
# of splitting them up like this.
|
||||||
|
|
||||||
|
# Run preflight in the cloud.
|
||||||
|
preflight-cloud:
|
||||||
|
@${MAKE} format
|
||||||
|
@${MAKE} update
|
||||||
|
@tools/cloudshell ${CLOUDSHELL_HOST_CHECK} --env ${CLOUDSHELL_ENV_CHECK} -- \
|
||||||
|
make -j4 cpplint pylint mypy test
|
||||||
|
@tools/pcommand echo SGRN BLD PREFLIGHT SUCCESSFUL!
|
||||||
|
|
||||||
|
# Run preflight-full in the cloud.
|
||||||
|
preflight-cloud-full:
|
||||||
|
@${MAKE} format-full
|
||||||
|
@${MAKE} update
|
||||||
|
@tools/cloudshell ${CLOUDSHELL_HOST_CHECK} --env ${CLOUDSHELL_ENV_CHECK} \
|
||||||
|
-- \
|
||||||
|
make -j4 cpplint-full pylint-full mypy-full test-full
|
||||||
|
@tools/pcommand echo SGRN BLD PREFLIGHT SUCCESSFUL!
|
||||||
|
|
||||||
|
# Run preflight2 in the cloud.
|
||||||
|
preflight2-cloud:
|
||||||
|
@${MAKE} format
|
||||||
|
@${MAKE} update
|
||||||
|
@tools/cloudshell ${CLOUDSHELL_HOST_CHECK} --env ${CLOUDSHELL_ENV_CHECK} \
|
||||||
|
--lock pycharm -- \
|
||||||
|
make -j5 cpplint pylint mypy pycharm test
|
||||||
|
@tools/pcommand echo SGRN BLD PREFLIGHT SUCCESSFUL!
|
||||||
|
|
||||||
|
# Run preflight2-full in the cloud.
|
||||||
|
preflight2-cloud-full:
|
||||||
|
@${MAKE} format-full
|
||||||
|
@${MAKE} update
|
||||||
|
@tools/cloudshell ${CLOUDSHELL_HOST_CHECK} --env ${CLOUDSHELL_ENV_CHECK} \
|
||||||
|
--lock pycharm -- \
|
||||||
|
make -j5 cpplint-full pylint-full mypy-full pycharm-full test-full
|
||||||
|
@tools/pcommand echo SGRN BLD PREFLIGHT SUCCESSFUL!
|
||||||
|
|
||||||
|
# Tell make which of these targets don't represent files.
|
||||||
|
.PHONY: preflight-cloud preflight-cloud-full preflight2-cloud \
|
||||||
|
preflight2-cloud-full
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# #
|
# #
|
||||||
# CMake #
|
# CMake #
|
||||||
|
|||||||
@ -13,8 +13,8 @@
|
|||||||
<w>ack'ed</w>
|
<w>ack'ed</w>
|
||||||
<w>acked</w>
|
<w>acked</w>
|
||||||
<w>acks</w>
|
<w>acks</w>
|
||||||
<w>aclass's</w>
|
|
||||||
<w>aclass</w>
|
<w>aclass</w>
|
||||||
|
<w>aclass's</w>
|
||||||
<w>activityplayer</w>
|
<w>activityplayer</w>
|
||||||
<w>addrs</w>
|
<w>addrs</w>
|
||||||
<w>adjoint</w>
|
<w>adjoint</w>
|
||||||
@ -153,8 +153,8 @@
|
|||||||
<w>cmath</w>
|
<w>cmath</w>
|
||||||
<w>cmds</w>
|
<w>cmds</w>
|
||||||
<w>cmdvals</w>
|
<w>cmdvals</w>
|
||||||
<w>codewarrior's</w>
|
|
||||||
<w>codewarrior</w>
|
<w>codewarrior</w>
|
||||||
|
<w>codewarrior's</w>
|
||||||
<w>cofnodes</w>
|
<w>cofnodes</w>
|
||||||
<w>collapseable</w>
|
<w>collapseable</w>
|
||||||
<w>collidable</w>
|
<w>collidable</w>
|
||||||
@ -833,6 +833,7 @@
|
|||||||
<w>subclsssing</w>
|
<w>subclsssing</w>
|
||||||
<w>subentities</w>
|
<w>subentities</w>
|
||||||
<w>subitems</w>
|
<w>subitems</w>
|
||||||
|
<w>subpaths</w>
|
||||||
<w>subplatform</w>
|
<w>subplatform</w>
|
||||||
<w>subscale</w>
|
<w>subscale</w>
|
||||||
<w>subscr</w>
|
<w>subscr</w>
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<!-- THIS FILE IS AUTO GENERATED; DO NOT EDIT BY HAND -->
|
<!-- THIS FILE IS AUTO GENERATED; DO NOT EDIT BY HAND -->
|
||||||
<h4><em>last updated on 2020-12-22 for Ballistica version 1.5.29 build 20263</em></h4>
|
<h4><em>last updated on 2020-12-22 for Ballistica version 1.5.30 build 20264</em></h4>
|
||||||
<p>This page documents the Python classes and functions in the 'ba' module,
|
<p>This page documents the Python classes and functions in the 'ba' module,
|
||||||
which are the ones most relevant to modding in Ballistica. If you come across something you feel should be included here or could be better explained, please <a href="mailto:support@froemling.net">let me know</a>. Happy modding!</p>
|
which are the ones most relevant to modding in Ballistica. If you come across something you feel should be included here or could be better explained, please <a href="mailto:support@froemling.net">let me know</a>. Happy modding!</p>
|
||||||
<hr>
|
<hr>
|
||||||
|
|||||||
@ -4,11 +4,13 @@
|
|||||||
|
|
||||||
A system for defining structured data, supporting both static and runtime
|
A system for defining structured data, supporting both static and runtime
|
||||||
type safety, serialization, efficient/sparse storage, per-field value
|
type safety, serialization, efficient/sparse storage, per-field value
|
||||||
limits, etc. These are heavy-weight in comparison to things such as
|
limits, etc. This is a heavyweight option in comparison to things such as
|
||||||
dataclasses, but the increased features can make the overhead worth it for
|
dataclasses, but the increased features can make the overhead worth it for
|
||||||
certain use cases.
|
certain use cases.
|
||||||
|
|
||||||
Advantages compared to nested dataclasses:
|
Advantages compared to nested dataclasses:
|
||||||
|
- Field names separated from their data representation so can get more
|
||||||
|
concise json data, change variable names while preserving back-compat, etc.
|
||||||
- Can wrap and preserve unmapped data (so fields can be added to new versions
|
- Can wrap and preserve unmapped data (so fields can be added to new versions
|
||||||
of something without breaking old versions' ability to read the data)
|
of something without breaking old versions' ability to read the data)
|
||||||
- Incorrectly typed data is caught at runtime (for dataclasses we rely on
|
- Incorrectly typed data is caught at runtime (for dataclasses we rely on
|
||||||
|
|||||||
@ -798,31 +798,41 @@ def check_pycharm(projroot: Path, full: bool, verbose: bool) -> None:
|
|||||||
# In full mode, clear out pycharm's caches first.
|
# In full mode, clear out pycharm's caches first.
|
||||||
# It seems we need to spin up the GUI and give it a bit to
|
# It seems we need to spin up the GUI and give it a bit to
|
||||||
# re-cache system python for this to work...
|
# re-cache system python for this to work...
|
||||||
|
|
||||||
# UPDATE: This really slows things down, so we now only do it in
|
# UPDATE: This really slows things down, so we now only do it in
|
||||||
# very specific cases where time isn't important.
|
# very specific cases where time isn't important.
|
||||||
# (such as our daily full-test-runs)
|
# (such as our daily full-test-runs)
|
||||||
|
|
||||||
|
# UPDATE 2: Looks like we might no longer need to do the GUI spin-up bit.
|
||||||
|
# If we can be certain of this, we can go back to simply blowing away
|
||||||
|
# the cache for 'full' mode checks without the env var.
|
||||||
if full and os.environ.get('EFROTOOLS_FULL_PYCHARM_RECACHE') == '1':
|
if full and os.environ.get('EFROTOOLS_FULL_PYCHARM_RECACHE') == '1':
|
||||||
print('Clearing PyCharm caches...', flush=True)
|
print('Clearing PyCharm caches...', flush=True)
|
||||||
subprocess.run('rm -rf ~/Library/Caches/PyCharmCE*',
|
subprocess.run('rm -rf ~/Library/Caches/JetBrains/PyCharmCE*',
|
||||||
shell=True,
|
shell=True,
|
||||||
check=True)
|
check=True)
|
||||||
print('Launching GUI PyCharm to rebuild caches...', flush=True)
|
|
||||||
process = subprocess.Popen(str(pycharmbin))
|
|
||||||
|
|
||||||
# Wait a bit and ask it nicely to die.
|
# Hoping this isn't necessary anymore. Need to rework this if it is,
|
||||||
# We need to make sure it has enough time to do its cache updating
|
# since it now gets run through ssh and gui stuff doesn't seem to
|
||||||
# thing even if the system is fully under load.
|
# work that way.
|
||||||
time.sleep(5 * 60)
|
if bool(False):
|
||||||
|
print('Launching GUI PyCharm to rebuild caches...', flush=True)
|
||||||
|
process = subprocess.Popen(str(pycharmbin))
|
||||||
|
|
||||||
# Seems killing it via applescript is more likely to leave it
|
# Wait a bit and ask it nicely to die.
|
||||||
# in a working state for offline inspections than TERM signal..
|
# We need to make sure it has enough time to do its cache updating
|
||||||
subprocess.run(
|
# thing even if the system is fully under load.
|
||||||
"osascript -e 'tell application \"PyCharm CE\" to quit'",
|
time.sleep(5 * 60)
|
||||||
shell=True,
|
|
||||||
check=False)
|
# Seems killing it via applescript is more likely to leave it
|
||||||
# process.terminate()
|
# in a working state for offline inspections than TERM signal..
|
||||||
print('Waiting for GUI PyCharm to quit...', flush=True)
|
subprocess.run(
|
||||||
process.wait()
|
"osascript -e 'tell application \"PyCharm CE\" to quit'",
|
||||||
|
shell=True,
|
||||||
|
check=False)
|
||||||
|
# process.terminate()
|
||||||
|
print('Waiting for GUI PyCharm to quit...', flush=True)
|
||||||
|
process.wait()
|
||||||
|
|
||||||
_run_idea_inspections_cached(cachepath=cachepath,
|
_run_idea_inspections_cached(cachepath=cachepath,
|
||||||
filenames=filenames,
|
filenames=filenames,
|
||||||
|
|||||||
@ -136,8 +136,14 @@ def _spelling(words: List[str]) -> None:
|
|||||||
with open(fname, 'w') as outfile:
|
with open(fname, 'w') as outfile:
|
||||||
# Sort lines in the words section.
|
# Sort lines in the words section.
|
||||||
assert all(l.startswith(' <w>') for l in lines[3:-3])
|
assert all(l.startswith(' <w>') for l in lines[3:-3])
|
||||||
outfile.write('\n'.join(lines[:3] + sorted(lines[3:-3]) +
|
|
||||||
lines[-3:]))
|
# Note: need to pull the </w> off the end of the line when sorting
|
||||||
|
# or it messes with the order and we get different results than
|
||||||
|
# Jetbrains stuff.
|
||||||
|
outfile.write('\n'.join(
|
||||||
|
lines[:3] +
|
||||||
|
sorted(lines[3:-3], key=lambda x: x.replace('</w>', '')) +
|
||||||
|
lines[-3:]))
|
||||||
print(f'Added {added_count} words to {fname}.')
|
print(f'Added {added_count} words to {fname}.')
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user