Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions games/oot2d-2014/maps/bombchu.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "bombchu",
"name": "Bombchu",
"version": "1.0.0",
"backgroundColor": "#303030",
"tileWidth": 8,
"tileHeight": 8,
"columns": 30,
Expand Down
6 changes: 5 additions & 1 deletion games/oot2d-2014/maps/castle.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "castle",
"name": "Castle",
"version": "1.0.0",
"backgroundColor": "#409740",
"tileWidth": 8,
"tileHeight": 8,
"columns": 123,
Expand Down Expand Up @@ -58254,5 +58255,8 @@
"source": "Maps/Castle.zmap from 'The Legend of Zelda: Ocarina of Time 2D' v0.10.2 by CheerfulSage & GodsTurf (oot-2d.com, 2014) \u2014 archive the-legend-of-zelda-ocarina-of-time-2d-0-10-2-en-win.zip in the PixelRPG/oot-2d repo; converted by tools/export-pixelrpg-maps.py (zmap parser: fluxcompile/oot2d-map)"
},
"objectPlacements": [],
"editorData": {}
"editorData": {
"atlasX": 433,
"atlasY": 62
}
}
1 change: 1 addition & 0 deletions games/oot2d-2014/maps/deku-0.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "deku-0",
"name": "Deku 0",
"version": "1.0.0",
"backgroundColor": "#544429",
"tileWidth": 8,
"tileHeight": 8,
"columns": 325,
Expand Down
6 changes: 5 additions & 1 deletion games/oot2d-2014/maps/end.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "end",
"name": "End",
"version": "1.0.0",
"backgroundColor": "#2C2C2C",
"tileWidth": 8,
"tileHeight": 8,
"columns": 33,
Expand Down Expand Up @@ -821,5 +822,8 @@
"source": "Maps/End.zmap from 'The Legend of Zelda: Ocarina of Time 2D' v0.10.2 by CheerfulSage & GodsTurf (oot-2d.com, 2014) \u2014 archive the-legend-of-zelda-ocarina-of-time-2d-0-10-2-en-win.zip in the PixelRPG/oot-2d repo; converted by tools/export-pixelrpg-maps.py (zmap parser: fluxcompile/oot2d-map)"
},
"objectPlacements": [],
"editorData": {}
"editorData": {
"atlasX": 214,
"atlasY": 163
}
}
6 changes: 5 additions & 1 deletion games/oot2d-2014/maps/field.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "field",
"name": "Field",
"version": "1.0.0",
"backgroundColor": "#409740",
"tileWidth": 8,
"tileHeight": 8,
"columns": 372,
Expand Down Expand Up @@ -162354,5 +162355,8 @@
"source": "Maps/Field.zmap from 'The Legend of Zelda: Ocarina of Time 2D' v0.10.2 by CheerfulSage & GodsTurf (oot-2d.com, 2014) \u2014 archive the-legend-of-zelda-ocarina-of-time-2d-0-10-2-en-win.zip in the PixelRPG/oot-2d repo; converted by tools/export-pixelrpg-maps.py (zmap parser: fluxcompile/oot2d-map)"
},
"objectPlacements": [],
"editorData": {}
"editorData": {
"atlasX": 390,
"atlasY": 470
}
}
6 changes: 5 additions & 1 deletion games/oot2d-2014/maps/guards.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "guards",
"name": "Guards",
"version": "1.0.0",
"backgroundColor": "#409740",
"tileWidth": 8,
"tileHeight": 8,
"columns": 204,
Expand Down Expand Up @@ -39750,5 +39751,8 @@
"source": "Maps/Guards.zmap from 'The Legend of Zelda: Ocarina of Time 2D' v0.10.2 by CheerfulSage & GodsTurf (oot-2d.com, 2014) \u2014 archive the-legend-of-zelda-ocarina-of-time-2d-0-10-2-en-win.zip in the PixelRPG/oot-2d repo; converted by tools/export-pixelrpg-maps.py (zmap parser: fluxcompile/oot2d-map)"
},
"objectPlacements": [],
"editorData": {}
"editorData": {
"atlasX": 1060,
"atlasY": 331
}
}
6 changes: 5 additions & 1 deletion games/oot2d-2014/maps/houses-kokiri.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "houses-kokiri",
"name": "Houses Kokiri",
"version": "1.0.0",
"backgroundColor": "#623E3B",
"tileWidth": 8,
"tileHeight": 8,
"columns": 194,
Expand Down Expand Up @@ -27732,5 +27733,8 @@
"source": "Maps/Houses_Kokiri.zmap from 'The Legend of Zelda: Ocarina of Time 2D' v0.10.2 by CheerfulSage & GodsTurf (oot-2d.com, 2014) \u2014 archive the-legend-of-zelda-ocarina-of-time-2d-0-10-2-en-win.zip in the PixelRPG/oot-2d repo; converted by tools/export-pixelrpg-maps.py (zmap parser: fluxcompile/oot2d-map)"
},
"objectPlacements": [],
"editorData": {}
"editorData": {
"atlasX": 1145,
"atlasY": 532
}
}
6 changes: 5 additions & 1 deletion games/oot2d-2014/maps/houses-ranch.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "houses-ranch",
"name": "Houses Ranch",
"version": "1.0.0",
"backgroundColor": "#382828",
"tileWidth": 8,
"tileHeight": 8,
"columns": 102,
Expand Down Expand Up @@ -25722,5 +25723,8 @@
"source": "Maps/Houses_Ranch.zmap from 'The Legend of Zelda: Ocarina of Time 2D' v0.10.2 by CheerfulSage & GodsTurf (oot-2d.com, 2014) \u2014 archive the-legend-of-zelda-ocarina-of-time-2d-0-10-2-en-win.zip in the PixelRPG/oot-2d repo; converted by tools/export-pixelrpg-maps.py (zmap parser: fluxcompile/oot2d-map)"
},
"objectPlacements": [],
"editorData": {}
"editorData": {
"atlasX": 1664,
"atlasY": 426
}
}
6 changes: 5 additions & 1 deletion games/oot2d-2014/maps/houses.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "houses",
"name": "Houses",
"version": "1.0.0",
"backgroundColor": "#382828",
"tileWidth": 8,
"tileHeight": 8,
"columns": 124,
Expand Down Expand Up @@ -15798,5 +15799,8 @@
"source": "Maps/Houses.zmap from 'The Legend of Zelda: Ocarina of Time 2D' v0.10.2 by CheerfulSage & GodsTurf (oot-2d.com, 2014) \u2014 archive the-legend-of-zelda-ocarina-of-time-2d-0-10-2-en-win.zip in the PixelRPG/oot-2d repo; converted by tools/export-pixelrpg-maps.py (zmap parser: fluxcompile/oot2d-map)"
},
"objectPlacements": [],
"editorData": {}
"editorData": {
"atlasX": 30,
"atlasY": 555
}
}
1 change: 1 addition & 0 deletions games/oot2d-2014/maps/kakariko.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "kakariko",
"name": "Kakariko",
"version": "1.0.0",
"backgroundColor": "#489848",
"tileWidth": 8,
"tileHeight": 8,
"columns": 166,
Expand Down
6 changes: 5 additions & 1 deletion games/oot2d-2014/maps/kokiri-forest.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "kokiri-forest",
"name": "Kokiri Forest",
"version": "1.0.0",
"backgroundColor": "#768D2D",
"tileWidth": 8,
"tileHeight": 8,
"columns": 218,
Expand Down Expand Up @@ -127110,5 +127111,8 @@
"source": "Maps/Kokiri_Forest.zmap from 'The Legend of Zelda: Ocarina of Time 2D' v0.10.2 by CheerfulSage & GodsTurf (oot-2d.com, 2014) \u2014 archive the-legend-of-zelda-ocarina-of-time-2d-0-10-2-en-win.zip in the PixelRPG/oot-2d repo; converted by tools/export-pixelrpg-maps.py (zmap parser: fluxcompile/oot2d-map)"
},
"objectPlacements": [],
"editorData": {}
"editorData": {
"atlasX": 1827,
"atlasY": 715
}
}
6 changes: 5 additions & 1 deletion games/oot2d-2014/maps/lost-woods.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "lost-woods",
"name": "Lost Woods",
"version": "1.0.0",
"backgroundColor": "#768D2D",
"tileWidth": 8,
"tileHeight": 8,
"columns": 296,
Expand Down Expand Up @@ -155760,5 +155761,8 @@
"source": "Maps/Lost_Woods.zmap from 'The Legend of Zelda: Ocarina of Time 2D' v0.10.2 by CheerfulSage & GodsTurf (oot-2d.com, 2014) \u2014 archive the-legend-of-zelda-ocarina-of-time-2d-0-10-2-en-win.zip in the PixelRPG/oot-2d repo; converted by tools/export-pixelrpg-maps.py (zmap parser: fluxcompile/oot2d-map)"
},
"objectPlacements": [],
"editorData": {}
"editorData": {
"atlasX": 1195,
"atlasY": 683
}
}
6 changes: 5 additions & 1 deletion games/oot2d-2014/maps/market-central.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "market-central",
"name": "Market Central",
"version": "1.0.0",
"backgroundColor": "#489848",
"tileWidth": 8,
"tileHeight": 8,
"columns": 102,
Expand Down Expand Up @@ -46800,5 +46801,8 @@
"source": "Maps/Market_Central.zmap from 'The Legend of Zelda: Ocarina of Time 2D' v0.10.2 by CheerfulSage & GodsTurf (oot-2d.com, 2014) \u2014 archive the-legend-of-zelda-ocarina-of-time-2d-0-10-2-en-win.zip in the PixelRPG/oot-2d repo; converted by tools/export-pixelrpg-maps.py (zmap parser: fluxcompile/oot2d-map)"
},
"objectPlacements": [],
"editorData": {}
"editorData": {
"atlasX": 46,
"atlasY": 1101
}
}
6 changes: 5 additions & 1 deletion games/oot2d-2014/maps/market-enter.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "market-enter",
"name": "Market Enter",
"version": "1.0.0",
"backgroundColor": "#489848",
"tileWidth": 8,
"tileHeight": 8,
"columns": 32,
Expand Down Expand Up @@ -4878,5 +4879,8 @@
"source": "Maps/Market_Enter.zmap from 'The Legend of Zelda: Ocarina of Time 2D' v0.10.2 by CheerfulSage & GodsTurf (oot-2d.com, 2014) \u2014 archive the-legend-of-zelda-ocarina-of-time-2d-0-10-2-en-win.zip in the PixelRPG/oot-2d repo; converted by tools/export-pixelrpg-maps.py (zmap parser: fluxcompile/oot2d-map)"
},
"objectPlacements": [],
"editorData": {}
"editorData": {
"atlasX": 1888,
"atlasY": 175
}
}
6 changes: 5 additions & 1 deletion games/oot2d-2014/maps/pots.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "pots",
"name": "Pots",
"version": "1.0.0",
"backgroundColor": "#2A2E28",
"tileWidth": 8,
"tileHeight": 8,
"columns": 24,
Expand Down Expand Up @@ -4506,5 +4507,8 @@
"source": "Maps/Pots.zmap from 'The Legend of Zelda: Ocarina of Time 2D' v0.10.2 by CheerfulSage & GodsTurf (oot-2d.com, 2014) \u2014 archive the-legend-of-zelda-ocarina-of-time-2d-0-10-2-en-win.zip in the PixelRPG/oot-2d repo; converted by tools/export-pixelrpg-maps.py (zmap parser: fluxcompile/oot2d-map)"
},
"objectPlacements": [],
"editorData": {}
"editorData": {
"atlasX": 1624,
"atlasY": 127
}
}
6 changes: 5 additions & 1 deletion games/oot2d-2014/maps/ranch.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "ranch",
"name": "Ranch",
"version": "1.0.0",
"backgroundColor": "#4A9649",
"tileWidth": 8,
"tileHeight": 8,
"columns": 114,
Expand Down Expand Up @@ -55104,5 +55105,8 @@
"source": "Maps/Ranch.zmap from 'The Legend of Zelda: Ocarina of Time 2D' v0.10.2 by CheerfulSage & GodsTurf (oot-2d.com, 2014) \u2014 archive the-legend-of-zelda-ocarina-of-time-2d-0-10-2-en-win.zip in the PixelRPG/oot-2d repo; converted by tools/export-pixelrpg-maps.py (zmap parser: fluxcompile/oot2d-map)"
},
"objectPlacements": [],
"editorData": {}
"editorData": {
"atlasX": 109,
"atlasY": 1339
}
}
6 changes: 5 additions & 1 deletion games/oot2d-2014/maps/shooting-gallery.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "shooting-gallery",
"name": "Shooting Gallery",
"version": "1.0.0",
"backgroundColor": "#303030",
"tileWidth": 8,
"tileHeight": 8,
"columns": 24,
Expand Down Expand Up @@ -4386,5 +4387,8 @@
"source": "Maps/Shooting_Gallery.zmap from 'The Legend of Zelda: Ocarina of Time 2D' v0.10.2 by CheerfulSage & GodsTurf (oot-2d.com, 2014) \u2014 archive the-legend-of-zelda-ocarina-of-time-2d-0-10-2-en-win.zip in the PixelRPG/oot-2d repo; converted by tools/export-pixelrpg-maps.py (zmap parser: fluxcompile/oot2d-map)"
},
"objectPlacements": [],
"editorData": {}
"editorData": {
"atlasX": 507,
"atlasY": 1486
}
}
6 changes: 5 additions & 1 deletion games/oot2d-2014/maps/smb.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "smb",
"name": "SMB",
"version": "1.0.0",
"backgroundColor": "#5C94FC",
"tileWidth": 8,
"tileHeight": 8,
"columns": 448,
Expand Down Expand Up @@ -19067,5 +19068,8 @@
"source": "Maps/SMB.zmap from 'The Legend of Zelda: Ocarina of Time 2D' v0.10.2 by CheerfulSage & GodsTurf (oot-2d.com, 2014) \u2014 archive the-legend-of-zelda-ocarina-of-time-2d-0-10-2-en-win.zip in the PixelRPG/oot-2d repo; converted by tools/export-pixelrpg-maps.py (zmap parser: fluxcompile/oot2d-map)"
},
"objectPlacements": [],
"editorData": {}
"editorData": {
"atlasX": 554,
"atlasY": 1296
}
}
6 changes: 5 additions & 1 deletion games/oot2d-2014/maps/windmill.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"id": "windmill",
"name": "Windmill",
"version": "1.0.0",
"backgroundColor": "#606060",
"tileWidth": 8,
"tileHeight": 8,
"columns": 32,
Expand Down Expand Up @@ -4794,5 +4795,8 @@
"source": "Maps/Windmill.zmap from 'The Legend of Zelda: Ocarina of Time 2D' v0.10.2 by CheerfulSage & GodsTurf (oot-2d.com, 2014) \u2014 archive the-legend-of-zelda-ocarina-of-time-2d-0-10-2-en-win.zip in the PixelRPG/oot-2d repo; converted by tools/export-pixelrpg-maps.py (zmap parser: fluxcompile/oot2d-map)"
},
"objectPlacements": [],
"editorData": {}
"editorData": {
"atlasX": 81,
"atlasY": 1647
}
}
10 changes: 10 additions & 0 deletions packages/engine/src/engine.ts
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,16 @@ export class Engine {
newMapScene.camera.zoom = carryZoom
}

// Map-declared room colour → GL clear colour. A colour *actor*
// would go through Excalibur's `Rectangle` Raster (2D-canvas
// rasterise), which the GJS canvas path doesn't survive — the
// clear colour is pure GL and also matches the original-game
// semantic (fill the screen, tiles on top). Reset to transparent
// for maps without one so the editor backdrop shows through.
this.excalibur.backgroundColor = mapResource.mapData.backgroundColor
? Color.fromHex(mapResource.mapData.backgroundColor)
: Color.Transparent

// Re-entry: drop the stale scene instance so addScene doesn't
// collide and the room rebuilds fresh from data.
if (this.excalibur.scenes[mapId]) this.excalibur.removeScene(mapId)
Expand Down
9 changes: 9 additions & 0 deletions packages/engine/src/types/data/MapData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,15 @@ export interface MapData {
*/
version: string

/**
* Optional solid fill colour (`#rrggbb`) painted across the map
* bounds *below* every tile layer. Sparse maps (ported games often
* store only detail tiles over a flat room colour) rely on this to
* not render as void — the engine adds a background rect and the
* editor's previews fill with it. Absent = transparent.
*/
backgroundColor?: string

/**
* Array of layers that make up the map
* Each layer's tiles will be converted to Excalibur Tiles
Expand Down
Loading
Loading