mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-12 13:03:54 -06:00
feat: honour the boards a folder offers a core on
ROCKNIX writes some add_emu_core calls under a case on DEVICE, and the rom folders file keeps that branch as the offer's `when` (uae4arm for amiga, emulators/package.mk:188). A board's core list names such a core when another folder offers it there, so --target placed its files in a folder the board does not offer it for. offer_boards() reads `when` and board_defaults against the platform's targets, aliases included. A board build (generate_pack and generate --manifest with --target, verify --target) carries the board in the config (TARGET_KEY), and content_folder_tags leaves out the pairs the board is not offered. A manifest for every board lists in offered_boards each profile placed in such a folder, and install.py --target drops its files there on the other boards. Manifests: no file moves. The cores ROCKNIX offers under a device case read no file beside the game today, so no manifest carries offered_boards yet.
This commit is contained in:
1 parent
389ebfa132
commit
05f3f5c702
10 files changed
+383
-41
No files matched your search
@@ -46,6 +46,8 @@ from alternatives import (
|
||||
slot_set_keys,
|
||||
)
|
||||
from common import (
|
||||
TARGET_KEY,
|
||||
canonical_target_name,
|
||||
OUTER_ROOTS,
|
||||
_foreign_tree,
|
||||
_owner_tokens,
|
||||
@@ -3302,6 +3304,11 @@ def _main(held: contextlib.ExitStack) -> None:
|
||||
for group_platforms, representative in groups:
|
||||
config = load_platform_config(representative, args.platforms_dir)
|
||||
tc = target_cores_cache.get(representative) if args.target else None
|
||||
if tc is not None:
|
||||
# A core a roms folder offers on other boards only is not placed
|
||||
# there, as generate_pack builds the board's pack.
|
||||
config = {**config, TARGET_KEY: canonical_target_name(
|
||||
[representative], args.target, args.platforms_dir)}
|
||||
result = verify_platform(
|
||||
config,
|
||||
db,
|
||||
|
||||
Reference in new issue
Block a user