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
…