diff --git a/.efrocachemap b/.efrocachemap index bfa7d835..96de863e 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -420,25 +420,25 @@ "assets/build/ba_data/audio/zoeOw.ogg": "https://files.ballistica.net/cache/ba1/75/1d/868bb04cf691736035c917d02762", "assets/build/ba_data/audio/zoePickup01.ogg": "https://files.ballistica.net/cache/ba1/44/2a/8535b446284235cb503947ece074", "assets/build/ba_data/audio/zoeScream01.ogg": "https://files.ballistica.net/cache/ba1/f5/d3/8e941851c4310465646c4167afc1", - "assets/build/ba_data/data/langdata.json": "https://files.ballistica.net/cache/ba1/0a/fc/b242cbc98bbe2a5f5475ef5bc177", + "assets/build/ba_data/data/langdata.json": "https://files.ballistica.net/cache/ba1/1d/dc/d529c3d37b5765384fab6d17275b", "assets/build/ba_data/data/languages/arabic.json": "https://files.ballistica.net/cache/ba1/1e/40/fe46af4877b3de1fbc89db3bedb1", "assets/build/ba_data/data/languages/belarussian.json": "https://files.ballistica.net/cache/ba1/49/5f/b29bb65369040892fe6601801637", - "assets/build/ba_data/data/languages/chinese.json": "https://files.ballistica.net/cache/ba1/53/71/24b48e14424a7a06ee37a4a8f6f1", + "assets/build/ba_data/data/languages/chinese.json": "https://files.ballistica.net/cache/ba1/0c/cd/798753aa6c55f3a4cdccda0b23ab", "assets/build/ba_data/data/languages/chinesetraditional.json": "https://files.ballistica.net/cache/ba1/aa/91/2411c0728bae33619c21237a2689", "assets/build/ba_data/data/languages/croatian.json": "https://files.ballistica.net/cache/ba1/bb/9c/360fc084e6254a087096993af219", "assets/build/ba_data/data/languages/czech.json": "https://files.ballistica.net/cache/ba1/f2/90/62968ad28a2499a8d182a5740a85", "assets/build/ba_data/data/languages/danish.json": "https://files.ballistica.net/cache/ba1/3f/46/e4da3c1d2b0ebf916df55c608b28", "assets/build/ba_data/data/languages/dutch.json": "https://files.ballistica.net/cache/ba1/86/33/8400929a710ae4a90f3f7cb57518", - "assets/build/ba_data/data/languages/english.json": "https://files.ballistica.net/cache/ba1/a2/ef/1c2207471cb58efc805115b31468", + "assets/build/ba_data/data/languages/english.json": "https://files.ballistica.net/cache/ba1/94/bb/79fd4608f4a3e22526442ba77090", "assets/build/ba_data/data/languages/esperanto.json": "https://files.ballistica.net/cache/ba1/6e/fd/685a4e1da031474d47a1d9eb2731", "assets/build/ba_data/data/languages/french.json": "https://files.ballistica.net/cache/ba1/b4/35/4860ac0f2f30881221b5545560ce", "assets/build/ba_data/data/languages/german.json": "https://files.ballistica.net/cache/ba1/9d/00/a8c4ef9f0a25e789c046bd741203", - "assets/build/ba_data/data/languages/gibberish.json": "https://files.ballistica.net/cache/ba1/8f/6a/32ef6c0141abace80b812c0b334b", + "assets/build/ba_data/data/languages/gibberish.json": "https://files.ballistica.net/cache/ba1/d7/54/541b617f3c00e3914ee5faef9d10", "assets/build/ba_data/data/languages/greek.json": "https://files.ballistica.net/cache/ba1/17/78/3fd0dca40e632ce53d03a944e7fa", "assets/build/ba_data/data/languages/hindi.json": "https://files.ballistica.net/cache/ba1/7a/64/04464dc6ee8a45632857fa436bff", "assets/build/ba_data/data/languages/hungarian.json": "https://files.ballistica.net/cache/ba1/4d/4b/0790110201c9adb1b521e9a55e63", "assets/build/ba_data/data/languages/indonesian.json": "https://files.ballistica.net/cache/ba1/4f/1e/334843131d672fa6b5f6f1056e56", - "assets/build/ba_data/data/languages/italian.json": "https://files.ballistica.net/cache/ba1/5b/8a/9aa3a1fc24c8429d438aece0edc8", + "assets/build/ba_data/data/languages/italian.json": "https://files.ballistica.net/cache/ba1/a5/05/fbdf4d90b85609e4fa258e1ce814", "assets/build/ba_data/data/languages/korean.json": "https://files.ballistica.net/cache/ba1/0a/84/bbb6ed2abf66509406f534cbbb52", "assets/build/ba_data/data/languages/persian.json": "https://files.ballistica.net/cache/ba1/68/c1/7bdfe775a89273d30f67c98689bf", "assets/build/ba_data/data/languages/polish.json": "https://files.ballistica.net/cache/ba1/db/eb/324f86a4b714240ae50ffeeed2f8", @@ -447,9 +447,9 @@ "assets/build/ba_data/data/languages/russian.json": "https://files.ballistica.net/cache/ba1/5e/97/5e3a1d4de8a7c2b062c8cd84c99a", "assets/build/ba_data/data/languages/serbian.json": "https://files.ballistica.net/cache/ba1/e7/d8/ace32888249fc8b8cca0e2edb48b", "assets/build/ba_data/data/languages/slovak.json": "https://files.ballistica.net/cache/ba1/b7/0a/fab820b96e7aa587ee56427ecdc2", - "assets/build/ba_data/data/languages/spanish.json": "https://files.ballistica.net/cache/ba1/1a/cc/3d7a3c13d5efd49bf97b49118857", + "assets/build/ba_data/data/languages/spanish.json": "https://files.ballistica.net/cache/ba1/1c/0f/ff64ff97ee5244a6d6c1a24fb4e3", "assets/build/ba_data/data/languages/swedish.json": "https://files.ballistica.net/cache/ba1/50/9f/be006ba19be6a69a57837eb6dca0", - "assets/build/ba_data/data/languages/turkish.json": "https://files.ballistica.net/cache/ba1/41/97/9dd78e1d59383f9aee3d502518cb", + "assets/build/ba_data/data/languages/turkish.json": "https://files.ballistica.net/cache/ba1/b6/c9/999c95ff8d917126352a306d89a3", "assets/build/ba_data/data/languages/ukrainian.json": "https://files.ballistica.net/cache/ba1/e0/f7/f6daa488dc29e303dea69aae864b", "assets/build/ba_data/data/languages/vietnamese.json": "https://files.ballistica.net/cache/ba1/51/5f/ffc90e2af17e3715389bb4ab9a02", "assets/build/ba_data/data/maps/big_g.json": "https://files.ballistica.net/cache/ba1/47/0a/a617cc85d927b576c4e6fc1091ed", @@ -4132,16 +4132,16 @@ "assets/build/windows/x64/python.exe": "https://files.ballistica.net/cache/ba1/25/a7/dc87c1be41605eb6fefd0145144c", "assets/build/windows/x64/python37.dll": "https://files.ballistica.net/cache/ba1/b9/e4/d912f56e42e9991bcbb4c804cfcb", "assets/build/windows/x64/pythonw.exe": "https://files.ballistica.net/cache/ba1/6c/bb/b6f52c306aa4e88061510e96cefe", - "build/prefab/linux-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/59/62/0e5ac2b46a5438c44b71cbd481f3", - "build/prefab/linux-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/d5/a0/24450aa3a109f46b8de530f3542c", - "build/prefab/linux/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/6b/c6/87e18650e0d915940872a4f0ebc5", - "build/prefab/linux/release/ballisticacore": "https://files.ballistica.net/cache/ba1/1e/4a/1d0da8d0daaa310d6c720e13b7f3", - "build/prefab/mac-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/85/1d/53dd5b11be195af10836418f88ba", - "build/prefab/mac-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/ff/0d/6a44988894b902e945404cad30a3", - "build/prefab/mac/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/76/39/00257d02256b64d5fcea94c990a6", - "build/prefab/mac/release/ballisticacore": "https://files.ballistica.net/cache/ba1/11/8a/0dba7e2767e2e46a794d2292c22b", - "build/prefab/windows-server/debug/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/2b/c6/ac4ab426f624f1c9be3adb9142de", - "build/prefab/windows-server/release/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/f9/24/6d644b6ba0f4805f973a93ba2306", - "build/prefab/windows/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/8b/ef/3f67c6eaa74ffae34c2b00fa9a2f", - "build/prefab/windows/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/c3/82/945ef147612716d416ba2c132462" + "build/prefab/linux-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/e8/57/25003809feababaf68dbce0b557e", + "build/prefab/linux-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/55/ff/4cb4edbaf7f4d673c0eca16c693e", + "build/prefab/linux/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/00/27/0c269f03c72eda0edf22be780e08", + "build/prefab/linux/release/ballisticacore": "https://files.ballistica.net/cache/ba1/f9/31/fd6296daa0335da3fc9fcbf7fa0b", + "build/prefab/mac-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/86/24/0cedfbf41d6a26e4750d1ce0b341", + "build/prefab/mac-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/10/b4/6defb064f1540382822711783db5", + "build/prefab/mac/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/38/61/efc862fd604b9ad99449626c2752", + "build/prefab/mac/release/ballisticacore": "https://files.ballistica.net/cache/ba1/9d/f6/fd220a57ce5a96917cff4e78129d", + "build/prefab/windows-server/debug/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/68/c6/452bd7da7990b827f62a0cd42a08", + "build/prefab/windows-server/release/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/8c/06/eca90ff516b0534cbef48f00d792", + "build/prefab/windows/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/84/c8/73f7e64e8fa407d7f4f777a5a36b", + "build/prefab/windows/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/8c/9c/ff12fc5ae802a776d3ae74038a8a" } \ No newline at end of file diff --git a/Makefile b/Makefile index 0fec9ed1..99a72509 100644 --- a/Makefile +++ b/Makefile @@ -596,9 +596,9 @@ test-assetmanager: @tools/snippets pytest -o log_cli=true -o log_cli_level=debug -s -v \ tests/test_ba/test_assetmanager.py::test_assetmanager -test-dataclassutils: +test-dataclasses: @tools/snippets pytest -o log_cli=true -o log_cli_level=debug -s -v \ - tests/test_efro/test_dataclassutils.py + tests/test_efro/test_dataclasses.py # Tell make which of these targets don't represent files. .PHONY: test test-full test-assetmanager diff --git a/assets/.asset_manifest_public.json b/assets/.asset_manifest_public.json index c89807a6..f90691dc 100644 --- a/assets/.asset_manifest_public.json +++ b/assets/.asset_manifest_public.json @@ -453,13 +453,14 @@ "ba_data/python/bastd/ui/watch.py", "ba_data/python/efro/__init__.py", "ba_data/python/efro/__pycache__/__init__.cpython-37.opt-1.pyc", - "ba_data/python/efro/__pycache__/dataclassutils.cpython-37.opt-1.pyc", + "ba_data/python/efro/__pycache__/call.cpython-37.opt-1.pyc", + "ba_data/python/efro/__pycache__/dataclasses.cpython-37.opt-1.pyc", "ba_data/python/efro/__pycache__/error.cpython-37.opt-1.pyc", - "ba_data/python/efro/__pycache__/executils.cpython-37.opt-1.pyc", - "ba_data/python/efro/__pycache__/jsonutils.cpython-37.opt-1.pyc", + "ba_data/python/efro/__pycache__/json.cpython-37.opt-1.pyc", "ba_data/python/efro/__pycache__/terminal.cpython-37.opt-1.pyc", "ba_data/python/efro/__pycache__/util.cpython-37.opt-1.pyc", - "ba_data/python/efro/dataclassutils.py", + "ba_data/python/efro/call.py", + "ba_data/python/efro/dataclasses.py", "ba_data/python/efro/entity/__init__.py", "ba_data/python/efro/entity/__pycache__/__init__.cpython-37.opt-1.pyc", "ba_data/python/efro/entity/__pycache__/_base.cpython-37.opt-1.pyc", @@ -475,8 +476,7 @@ "ba_data/python/efro/entity/_value.py", "ba_data/python/efro/entity/util.py", "ba_data/python/efro/error.py", - "ba_data/python/efro/executils.py", - "ba_data/python/efro/jsonutils.py", + "ba_data/python/efro/json.py", "ba_data/python/efro/terminal.py", "ba_data/python/efro/util.py", "server/__pycache__/ballisticacore_server.cpython-37.opt-1.pyc", diff --git a/assets/Makefile b/assets/Makefile index 9a60dc2c..0aeb2198 100644 --- a/assets/Makefile +++ b/assets/Makefile @@ -1721,13 +1721,13 @@ build/ba_data/python/bastd/session/__pycache__/__init__.cpython-37.opt-1.pyc: \ SCRIPT_TARGETS_PY_PUBLIC_TOOLS = \ - build/ba_data/python/efro/executils.py \ build/ba_data/python/efro/error.py \ - build/ba_data/python/efro/dataclassutils.py \ build/ba_data/python/efro/terminal.py \ build/ba_data/python/efro/util.py \ build/ba_data/python/efro/__init__.py \ - build/ba_data/python/efro/jsonutils.py \ + build/ba_data/python/efro/dataclasses.py \ + build/ba_data/python/efro/call.py \ + build/ba_data/python/efro/json.py \ build/ba_data/python/efro/entity/_base.py \ build/ba_data/python/efro/entity/_support.py \ build/ba_data/python/efro/entity/util.py \ @@ -1741,13 +1741,13 @@ SCRIPT_TARGETS_PY_PUBLIC_TOOLS = \ build/ba_data/python/bacommon/err.py SCRIPT_TARGETS_PYC_PUBLIC_TOOLS = \ - build/ba_data/python/efro/__pycache__/executils.cpython-37.opt-1.pyc \ build/ba_data/python/efro/__pycache__/error.cpython-37.opt-1.pyc \ - build/ba_data/python/efro/__pycache__/dataclassutils.cpython-37.opt-1.pyc \ build/ba_data/python/efro/__pycache__/terminal.cpython-37.opt-1.pyc \ build/ba_data/python/efro/__pycache__/util.cpython-37.opt-1.pyc \ build/ba_data/python/efro/__pycache__/__init__.cpython-37.opt-1.pyc \ - build/ba_data/python/efro/__pycache__/jsonutils.cpython-37.opt-1.pyc \ + build/ba_data/python/efro/__pycache__/dataclasses.cpython-37.opt-1.pyc \ + build/ba_data/python/efro/__pycache__/call.cpython-37.opt-1.pyc \ + build/ba_data/python/efro/__pycache__/json.cpython-37.opt-1.pyc \ build/ba_data/python/efro/entity/__pycache__/_base.cpython-37.opt-1.pyc \ build/ba_data/python/efro/entity/__pycache__/_support.cpython-37.opt-1.pyc \ build/ba_data/python/efro/entity/__pycache__/util.cpython-37.opt-1.pyc \ @@ -1773,21 +1773,11 @@ $(SCRIPT_TARGETS_PY_PUBLIC_TOOLS) : build/ba_data/python/%.py : ../tools/%.py # just generating explicit targets for each. Could perhaps look into using a # fancy for-loop instead, but perhaps listing these explicitly isn't so bad. -build/ba_data/python/efro/__pycache__/executils.cpython-37.opt-1.pyc: \ - build/ba_data/python/efro/executils.py - @echo Compiling script: $^ - @rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@ - build/ba_data/python/efro/__pycache__/error.cpython-37.opt-1.pyc: \ build/ba_data/python/efro/error.py @echo Compiling script: $^ @rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@ -build/ba_data/python/efro/__pycache__/dataclassutils.cpython-37.opt-1.pyc: \ - build/ba_data/python/efro/dataclassutils.py - @echo Compiling script: $^ - @rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@ - build/ba_data/python/efro/__pycache__/terminal.cpython-37.opt-1.pyc: \ build/ba_data/python/efro/terminal.py @echo Compiling script: $^ @@ -1803,8 +1793,18 @@ build/ba_data/python/efro/__pycache__/__init__.cpython-37.opt-1.pyc: \ @echo Compiling script: $^ @rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@ -build/ba_data/python/efro/__pycache__/jsonutils.cpython-37.opt-1.pyc: \ - build/ba_data/python/efro/jsonutils.py +build/ba_data/python/efro/__pycache__/dataclasses.cpython-37.opt-1.pyc: \ + build/ba_data/python/efro/dataclasses.py + @echo Compiling script: $^ + @rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@ + +build/ba_data/python/efro/__pycache__/call.cpython-37.opt-1.pyc: \ + build/ba_data/python/efro/call.py + @echo Compiling script: $^ + @rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@ + +build/ba_data/python/efro/__pycache__/json.cpython-37.opt-1.pyc: \ + build/ba_data/python/efro/json.py @echo Compiling script: $^ @rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@ diff --git a/assets/src/ba_data/python/ba/_general.py b/assets/src/ba_data/python/ba/_general.py index e948c4f6..73945d5d 100644 --- a/assets/src/ba_data/python/ba/_general.py +++ b/assets/src/ba_data/python/ba/_general.py @@ -29,7 +29,7 @@ import _ba if TYPE_CHECKING: from typing import Any, Type - from efro import executils + from efro.call import Call T = TypeVar('T') @@ -230,8 +230,8 @@ class _Call: if TYPE_CHECKING: - WeakCall = executils.Call - Call = executils.Call + WeakCall = Call + Call = Call else: WeakCall = _WeakCall WeakCall.__name__ = 'WeakCall' diff --git a/assets/src/server/ballisticacore_server.py b/assets/src/server/ballisticacore_server.py index 7ba69eb4..8ce43e83 100755 --- a/assets/src/server/ballisticacore_server.py +++ b/assets/src/server/ballisticacore_server.py @@ -40,7 +40,7 @@ sys.path += [ from efro.terminal import Clr from efro.error import CleanError -from efro.dataclassutils import dataclass_assign, dataclass_validate +from efro.dataclasses import dataclass_assign, dataclass_validate from bacommon.servermanager import (ServerConfig, StartServerModeCommand) if TYPE_CHECKING: diff --git a/config/toolconfigsrc/dir-locals.el b/config/toolconfigsrc/dir-locals.el index 7a6b9f48..2ff903f0 100644 --- a/config/toolconfigsrc/dir-locals.el +++ b/config/toolconfigsrc/dir-locals.el @@ -4,4 +4,7 @@ ;;; Turn flycheck mode on for our c++ stuff and tell jedi where to look for our python stuff. ((c++-mode (eval . (flycheck-mode))) (python-mode (jedi:server-args . ("--sys-path" "__EFRO_PROJECT_ROOT__/tools" - "--sys-path" "__EFRO_PROJECT_ROOT__/assets/src/ba_data/python")))) + "--sys-path" "__EFRO_PROJECT_ROOT__/assets/src/ba_data/python"))) + ;; Shorter name in projectile status bar to save valuable space. + (nil . ((projectile-project-name . "__EFRO_PROJECT_SHORTNAME__"))) + ) diff --git a/docs/ba_module.md b/docs/ba_module.md index 85139707..9b72c92b 100644 --- a/docs/ba_module.md +++ b/docs/ba_module.md @@ -1,5 +1,5 @@ -
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 let me know. Happy modding!