mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-01-22 23:15:49 +08:00
featureset dependency cleanup; all spinoff-tests should now pass
This commit is contained in:
parent
65954e46b3
commit
c421ef808f
32
.efrocachemap
generated
32
.efrocachemap
generated
@ -4080,18 +4080,18 @@
|
||||
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/f7/bd/eaf1e62f9fdba779bf850b9f28cd",
|
||||
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/e4/9b/a638d9e75b054f0696d6a941dcb3",
|
||||
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/8c/d0/c241f77c0217b3ef1b9694edd375",
|
||||
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/07/b0/bc8c67505b71eba68778f37a34d5",
|
||||
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/4b/8e/d9283666c42e8930b0cd534be4dc",
|
||||
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/93/c1/240c43c921ed22d974ca9dadb253",
|
||||
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/eb/c4/d7e1847d58ddf748dc4aafbcb399",
|
||||
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/42/1b/e71f135f126f72804de5e5b127d5",
|
||||
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/90/f6/98b7cdb09b8ebc51f01469901486",
|
||||
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/1a/98/77aec04467b11b0ce5600c99eb2d",
|
||||
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/18/d5/4f9d22c1f26b18e3656f9785073e",
|
||||
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/6e/44/e63d5c7dc2506c6483a559396af5",
|
||||
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/2c/08/52470d98248d8ba847984c051742",
|
||||
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/2a/2f/b360b5f06f4d59c67cac83139188",
|
||||
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/c0/c9/7c5e84ee836a2d4a22663f8edae5",
|
||||
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/7c/93/9f12cacd69a8cf7a0add000d5265",
|
||||
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/79/dd/da70bbc4da1b69310a2d7bca8103",
|
||||
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/db/a6/6c31f8d62226abdd0e2f82aaa40b",
|
||||
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/3c/a6/03466686547fd2f2f9e90e1f258c",
|
||||
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/ce/39/5f920f47fd1d3ac74de4d3632e4d",
|
||||
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/b9/73/d01e9f2f8dafcaa2b1eee3cd4c62",
|
||||
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/62/e5/7cc3c367168c84d06ac35295618e",
|
||||
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/6c/7f/29963c7a8dc5847d76949169356e",
|
||||
"build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/08/f1/36613a6c3ca87c93b4fbbe0de451",
|
||||
"build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/08/67/849330893eeb104e5a4dd44db54d",
|
||||
"build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/d4/63/436f0f9b3c22d669bbd6262dee66",
|
||||
@ -4108,14 +4108,14 @@
|
||||
"build/prefab/lib/mac_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/0d/da/cf2b3140c0c83b3e368623f1d705",
|
||||
"build/prefab/lib/mac_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/94/6c/3489c9df42324ad7f089d6271c4b",
|
||||
"build/prefab/lib/mac_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/a6/0b/3ae5a82111a12bb75cd62252c2cc",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/de/50/e953e9f4bef5249444bf92cf7431",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/44/d4/c945282e101215eb32677adf6ee7",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/80/52/fec8962cf5f258068449d728e3f9",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/0d/dc/576e81d6a01de5a1d274d41fdc4b",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/5c/e8/dd981295029e587001e8e631def6",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/d9/a1/f00e661f34a44fdd82af47d63706",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/9d/01/701403052ee0cd98d324e138491c",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/06/df/07ac07299a66a7ea90e40a82736c",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/e6/17/d01132ba1b6e94801e4a23a94989",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/0f/d3/7613d44ef1a540f6263b2e89bfb5",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/f1/a1/8eb50a585d96ea1b557783105b7b",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/21/3a/ac8bf36b227128b558f85188c0b5",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/a1/20/b99fd7c8aa08645a1f76848badfd",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/7c/29/8587b6ff47891b57a8b467f6e5fb",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/82/81/a0b997a9f9dfe5a263ea4652ec62",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/29/1f/cccee6be4be518d2b45a026fc9fd",
|
||||
"src/assets/ba_data/python/babase/_mgen/__init__.py": "https://files.ballistica.net/cache/ba1/52/c6/c11130af7b10d6c0321add5518fa",
|
||||
"src/assets/ba_data/python/babase/_mgen/enums.py": "https://files.ballistica.net/cache/ba1/38/c3/1dedd5e74f2508efc5974c8815a1",
|
||||
"src/ballistica/base/mgen/pyembed/binding_base.inc": "https://files.ballistica.net/cache/ba1/fe/d2/3be7462aaff43bd651b5b5ac9d04",
|
||||
|
||||
4
Makefile
4
Makefile
@ -608,6 +608,10 @@ spinoff-test-base:
|
||||
spinoff-test-plus:
|
||||
tools/pcommand spinoff_test plus $(SPINOFF_TEST_EXTRA_ARGS)
|
||||
|
||||
# Build and check a spinoff project including only the classic feature-set.
|
||||
spinoff-test-classic:
|
||||
tools/pcommand spinoff_test classic $(SPINOFF_TEST_EXTRA_ARGS)
|
||||
|
||||
# Build and check a spinoff project with only the template_fs feature-set.
|
||||
spinoff-test-template_fs:
|
||||
tools/pcommand spinoff_test template_fs $(SPINOFF_TEST_EXTRA_ARGS)
|
||||
|
||||
@ -12,7 +12,14 @@ from batools.featureset import FeatureSet
|
||||
# Grab the FeatureSet we should apply to.
|
||||
fset = FeatureSet.get_active()
|
||||
|
||||
fset.requirements = {'core', 'base', 'scene_v1', 'scene_v1_lib', 'ui_v1'}
|
||||
fset.requirements = {
|
||||
'core',
|
||||
'base',
|
||||
'scene_v1',
|
||||
'scene_v1_lib',
|
||||
'ui_v1',
|
||||
'ui_v1_lib',
|
||||
}
|
||||
|
||||
# We can make use of plus stuff but can live without it.
|
||||
fset.soft_requirements = {'plus'}
|
||||
|
||||
@ -14,4 +14,4 @@ fset = FeatureSet.get_active()
|
||||
|
||||
fset.has_native_python_module = False
|
||||
|
||||
fset.requirements = {'core', 'base', 'ui_v1'}
|
||||
fset.requirements = {'core', 'base', 'ui_v1', 'classic'}
|
||||
|
||||
@ -5,6 +5,7 @@ from __future__ import annotations
|
||||
|
||||
import random
|
||||
import logging
|
||||
import weakref
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from efro.dataclassio import dataclass_from_dict
|
||||
@ -36,6 +37,7 @@ if TYPE_CHECKING:
|
||||
from baclassic._appdelegate import AppDelegate
|
||||
from baclassic._servermode import ServerController
|
||||
from baclassic._net import MasterServerCallback
|
||||
from bauiv1lib.party import PartyWindow
|
||||
|
||||
|
||||
class ClassicSubsystem(AppSubsystem):
|
||||
@ -121,6 +123,7 @@ class ClassicSubsystem(AppSubsystem):
|
||||
self.main_menu_window_refresh_check_count = 0 # FIXME: Mv to mainmenu.
|
||||
self.invite_confirm_windows: list[Any] = [] # FIXME: Don't use Any.
|
||||
self.delegate: AppDelegate | None = None
|
||||
self.party_window: weakref.ref[PartyWindow] | None = None
|
||||
|
||||
# Store.
|
||||
self.store_layout: dict[str, list[dict[str, Any]]] | None = None
|
||||
@ -756,3 +759,38 @@ class ClassicSubsystem(AppSubsystem):
|
||||
_bauiv1.gettexture(map_tex_name)
|
||||
except Exception:
|
||||
logging.exception('Error preloading map preview media.')
|
||||
|
||||
def party_icon_activate(self, origin: Sequence[float]) -> None:
|
||||
"""(internal)"""
|
||||
from bauiv1lib.party import PartyWindow
|
||||
from babase import app
|
||||
|
||||
assert not app.headless_mode
|
||||
|
||||
_bauiv1.getsound('swish').play()
|
||||
|
||||
# If it exists, dismiss it; otherwise make a new one.
|
||||
party_window = (
|
||||
None if self.party_window is None else self.party_window()
|
||||
)
|
||||
if party_window is not None:
|
||||
party_window.close()
|
||||
else:
|
||||
self.party_window = weakref.ref(PartyWindow(origin=origin))
|
||||
|
||||
def device_menu_press(self, device_id: int | None) -> None:
|
||||
"""(internal)"""
|
||||
from bauiv1lib.mainmenu import MainMenuWindow
|
||||
from bauiv1 import set_ui_input_device
|
||||
|
||||
assert _babase.app is not None
|
||||
in_main_menu = _babase.app.ui_v1.has_main_menu_window()
|
||||
if not in_main_menu:
|
||||
set_ui_input_device(device_id)
|
||||
|
||||
if not _babase.app.headless_mode:
|
||||
_bauiv1.getsound('swish').play()
|
||||
|
||||
_babase.app.ui_v1.set_main_menu_window(
|
||||
MainMenuWindow().get_root_widget()
|
||||
)
|
||||
|
||||
@ -45,9 +45,11 @@ def filter_chat_message(msg: str, client_id: int) -> str | None:
|
||||
|
||||
|
||||
def local_chat_message(msg: str) -> None:
|
||||
assert _babase.app.classic is not None
|
||||
if (
|
||||
_babase.app.ui_v1.party_window is not None
|
||||
and _babase.app.ui_v1.party_window() is not None
|
||||
):
|
||||
_babase.app.ui_v1.party_window().on_chat_message(msg)
|
||||
classic = _babase.app.classic
|
||||
assert classic is not None
|
||||
party_window = (
|
||||
None if classic.party_window is None else classic.party_window()
|
||||
)
|
||||
|
||||
if party_window is not None:
|
||||
party_window.on_chat_message(msg)
|
||||
|
||||
@ -51,7 +51,10 @@ def friends_button_press() -> None:
|
||||
def party_icon_activate(origin: Sequence[float]) -> None:
|
||||
from babase import app
|
||||
|
||||
app.ui_v1.party_icon_activate(origin)
|
||||
if app.classic is not None:
|
||||
app.classic.party_icon_activate(origin)
|
||||
else:
|
||||
logging.warning('party_icon_activate: no classic.')
|
||||
|
||||
|
||||
def quit_window() -> None:
|
||||
@ -67,7 +70,11 @@ def quit_window() -> None:
|
||||
def device_menu_press(device_id: int | None) -> None:
|
||||
from babase import app
|
||||
|
||||
app.ui_v1.device_menu_press(device_id)
|
||||
if app.classic is None:
|
||||
logging.exception('Classic not present.')
|
||||
return
|
||||
|
||||
app.classic.device_menu_press(device_id)
|
||||
|
||||
|
||||
def show_url_window(address: str) -> None:
|
||||
|
||||
@ -5,7 +5,6 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING
|
||||
import weakref
|
||||
|
||||
import _babase
|
||||
from babase._mgen.enums import UIScale
|
||||
@ -16,7 +15,7 @@ import bauiv1
|
||||
if TYPE_CHECKING:
|
||||
from typing import Any, Callable, Sequence
|
||||
|
||||
from bauiv1._uitypes import UICleanupCheck, UIController
|
||||
from bauiv1._uitypes import UICleanupCheck, UIController, Window
|
||||
import babase
|
||||
|
||||
|
||||
@ -36,6 +35,7 @@ class UIV1Subsystem(AppSubsystem):
|
||||
|
||||
self._main_menu_window: bauiv1.Widget | None = None
|
||||
self._main_menu_location: str | None = None
|
||||
self.quit_window: bauiv1.Widget | None = None
|
||||
|
||||
# From classic.
|
||||
self.main_menu_resume_callbacks: list = [] # Can probably go away.
|
||||
@ -55,11 +55,9 @@ class UIV1Subsystem(AppSubsystem):
|
||||
self.window_states: dict[type, Any] = {} # FIXME: Kill this.
|
||||
self.main_menu_selection: str | None = None # FIXME: Kill this.
|
||||
self.have_party_queue_window = False
|
||||
self.quit_window: Any = None
|
||||
self.cleanupchecks: list[UICleanupCheck] = []
|
||||
self.upkeeptimer: babase.AppTimer | None = None
|
||||
self.use_toolbars = env.get('toolbar_test', True)
|
||||
self.party_window: Any = None # FIXME: Don't use Any.
|
||||
self.title_color = (0.72, 0.7, 0.75)
|
||||
self.heading_color = (0.72, 0.7, 0.75)
|
||||
self.infotextcolor = (0.7, 0.9, 0.7)
|
||||
@ -184,33 +182,3 @@ class UIV1Subsystem(AppSubsystem):
|
||||
def get_main_menu_location(self) -> str | None:
|
||||
"""Return the current named main menu location, if any."""
|
||||
return self._main_menu_location
|
||||
|
||||
def party_icon_activate(self, origin: Sequence[float]) -> None:
|
||||
"""(internal)"""
|
||||
from bauiv1lib.party import PartyWindow
|
||||
from babase import app
|
||||
|
||||
assert not app.headless_mode
|
||||
|
||||
_bauiv1.getsound('swish').play()
|
||||
|
||||
# If it exists, dismiss it; otherwise make a new one.
|
||||
if self.party_window is not None and self.party_window() is not None:
|
||||
self.party_window().close()
|
||||
else:
|
||||
self.party_window = weakref.ref(PartyWindow(origin=origin))
|
||||
|
||||
def device_menu_press(self, device_id: int | None) -> None:
|
||||
"""(internal)"""
|
||||
from bauiv1lib.mainmenu import MainMenuWindow
|
||||
from bauiv1 import set_ui_input_device
|
||||
|
||||
assert _babase.app is not None
|
||||
in_main_menu = self.has_main_menu_window()
|
||||
if not in_main_menu:
|
||||
set_ui_input_device(device_id)
|
||||
|
||||
if not _babase.app.headless_mode:
|
||||
_bauiv1.getsound('swish').play()
|
||||
|
||||
self.set_main_menu_window(MainMenuWindow().get_root_widget())
|
||||
|
||||
@ -157,7 +157,8 @@ class QuitWindow:
|
||||
back: bool = False,
|
||||
origin_widget: bui.Widget | None = None,
|
||||
):
|
||||
assert bui.app.classic is not None
|
||||
classic = bui.app.classic
|
||||
assert classic is not None
|
||||
ui = bui.app.ui_v1
|
||||
app = bui.app
|
||||
self._back = back
|
||||
|
||||
@ -8,9 +8,9 @@ import math
|
||||
import logging
|
||||
from typing import TYPE_CHECKING, cast
|
||||
|
||||
from bauiv1lib.popup import PopupMenuWindow
|
||||
import bauiv1 as bui
|
||||
import bascenev1 as bs
|
||||
from bauiv1lib.popup import PopupMenuWindow
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from typing import Sequence, Any
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user