mirror of
https://github.com/Such-Software/wownerogue.git
synced 2026-10-22 00:28:34 +02:00
feat(packs): Fancy dies as a mode → topdown packs; Roguelike Dungeon tile pack (B)
Modes are TECHNIQUES; 'Fancy' (tiles+FX) was really a topdown PACK, so: - Remove 'fancy' from RENDER_MODES (saved 'fancy' falls back to tiles; its dead Pixi branch is short-circuited by canUseMode). Modes = Tiled/ASCII/Iso/3D. - Modes now carry a ; a premium mode unlocks once the user has ANY unlocked pack for that projection (not a single hardcoded pack) — needed now that iso is multi-pack. - New 'roguelike-dungeon' topdown pack: same sheet, a DUNGEON palette (stone floors + barrels/crates vs the wood interior) — a distinct 2D tileset with zero new assets. Registered + catalog (migration 027, topdown tier 1 / 1 credit). The tiled renderer's lighting/shadows/vignette are the built-in FX. - Also: iso facing fix (Male 0=NW..6=NE) reflected in tests. So the Tiled pack picker now offers Roguelike Interior <-> Dungeon, and Iso offers Dungeon <-> Medieval — packs as products, proven in the best-looking mode too. Suite 58/419 green.
This commit is contained in:
@@ -105,10 +105,11 @@ describe('render pack visual resolver', () => {
|
||||
expect(RK.isoAssets.characters['char-merchant']).toBeUndefined();
|
||||
expect(RK.isoAssets.characters['char-wizard']).toBeUndefined();
|
||||
expect(RK.isoAssets.characters['char-goblin']).toBeUndefined();
|
||||
expect(RK.isoAssets.directions.down.idle).toContain('Male_3_Idle0.png');
|
||||
expect(RK.isoAssets.directions.up.idle).toContain('Male_7_Idle0.png');
|
||||
// 45° renders: 0=NW,2=SW,4=SE,6=NE. Facing follows visual movement (up->NE, down->SW, etc.).
|
||||
expect(RK.isoAssets.directions.down.idle).toContain('Male_2_Idle0.png');
|
||||
expect(RK.isoAssets.directions.up.idle).toContain('Male_6_Idle0.png');
|
||||
expect(RK.isoAssets.directions.left.idle).toContain('Male_0_Idle0.png');
|
||||
expect(RK.isoAssets.directions.right.idle).toContain('Male_5_Idle0.png');
|
||||
expect(RK.isoAssets.directions.right.idle).toContain('Male_4_Idle0.png');
|
||||
});
|
||||
|
||||
test('projection visuals expose the saved base tint as a render color', () => {
|
||||
@@ -142,8 +143,7 @@ describe('render pack visual resolver', () => {
|
||||
|
||||
// With test unlocks on, ALL premium modes and packs are available for QA
|
||||
RK.RENDER_MODE_TEST_UNLOCKS = true;
|
||||
expect(RK.canUseMode('fancy')).toBe(true);
|
||||
expect(RK.canUseMode('iso')).toBe(true);
|
||||
expect(RK.canUseMode('iso')).toBe(true); // 'fancy' is no longer a mode — it's a topdown pack
|
||||
expect(RK.canUseMode('3d')).toBe(true);
|
||||
expect(RK.canUsePack('iso-dungeon')).toBe(true);
|
||||
expect(RK.canUsePack('kenney-3d-characters')).toBe(true);
|
||||
|
||||
Reference in New Issue
Block a user