fertig-classic-games/data
Brian Fertig a5b37038d2 Add object props (solid obstacles) to Wolfenstein E1M1
Introduces a new "Object" entity type that blocks movement but not sight/bullets, distinct from walls and pickups:

- **Data**: New `objects` array in level JSON (`{x, y, frame}`), with `data/wolfenstein-objects.json` as the frame registry (Tall Bush, Gold Eagle)
- **Artwork**: New `objects.png` spritesheet registered in `wolfenstein-artwork.json`; placeholder texture via `paintObject()` in WolfensteinArt.js
- **Logic**: Objects stored in `state.objects`, with a derived `map.objectBlocked` Set checked only by movement collision (`isWallCell`) — raycaster/sight/bullets never read it, so objects are see-through and shoot-through by construction
- **View**: Rendered as billboard sprites in `_drawSprites` with ground-anchored positioning (bottom edge on floor) and asymptotic depth sorting that stays below the weapon viewmodel
- **Editor**: New "Object" tool category with dynamic dropdown; click open floor to place/remove (toggle), click wall is a no-op; teal square indicator on board
- **Validation**: `validateLevel` checks objects sit on open floor; save/load round-trips with graceful degradation for pre-existing saves
- **Tests**: Verifies object blocks player movement but bullets pass through
2026-08-22 12:29:55 -06:00
..
crosswords
wordlists
advancewars-artwork.json
advancewars-campaign.json
advancewars-rules.json
adventure-music.json
arcadedark-music.json
balatro-artwork.json
blockfighter.json
bloxorz.json
bookwork.json
card-backs.json
chinese-music.json
civilization-artwork.json
civilization-rules.json
colorado-defense-cities.json
colored-playfields.json
dotlink.json
dungeonboss-artwork.json
hacker-music.json
jewelquest.json
jumble-riddles.json
jumble.json
katamino.json
masterofvega-music.json
mastervega-artwork.json feat(master-vega): overhaul bombard/invasion UX, consequences, and battle logic 2026-08-14 23:17:31 -06:00
mastervega-rules.json feat(mastervega): add morale bonus system and espionage restraint diplomacy 2026-08-16 08:12:16 -06:00
music.json
nintendo-music.json
opponents.json
playfields.json
puddingmonsters.json
shift-artwork.json
slots-artwork.json
spireclimb-artwork.json
star-control-ships.json
superkart-artwork.json
superkart-racers.json
superkart-rules.json
swdbg-artwork.json
swdbg-cards.json
tetrisattack-artwork.json
tetrisattack-puzzles.json
tetrisattack.json
totalannihilation-artwork.json totalannihilation: add building upgrades and spinning toppers 2026-08-16 15:35:31 -06:00
totalannihilation-campaign.json TAL: smooth obstacle collision push + in-place building upgrades (upgradesFrom) 2026-08-16 18:59:30 -06:00
totalannihilation-rules.json Updated with new unit and better AI 2026-08-17 20:27:48 -06:00
wolfenstein-artwork.json Add object props (solid obstacles) to Wolfenstein E1M1 2026-08-22 12:29:55 -06:00
wolfenstein-campaigns.json Added Wolfenstein 2026-08-18 19:10:44 -06:00
wolfenstein-objects.json Add object props (solid obstacles) to Wolfenstein E1M1 2026-08-22 12:29:55 -06:00
wolfenstein-rules.json Wolfenstein: Add semi-auto fire modes, ammo types, enemy stun, and editor facing picker 2026-08-22 09:39:09 -06:00
wolfenstein-wallart.json Add wall art decals to Wolfenstein levels 2026-08-22 10:32:59 -06:00
zuma-music.json