Fix dirt block direction in DAT; remove clone block, which serves no purpose for us
This commit is contained in:
parent
569a3c0f3d
commit
fcbd2b17be
@ -12,14 +12,17 @@ const TILE_ENCODING = {
|
|||||||
0x07: 'thinwall_w',
|
0x07: 'thinwall_w',
|
||||||
0x08: 'thinwall_s',
|
0x08: 'thinwall_s',
|
||||||
0x09: 'thinwall_e',
|
0x09: 'thinwall_e',
|
||||||
0x0a: 'dirt_block',
|
// This is MSCC's incomprehensible non-directional dirt block, which needs a direction for Lynx
|
||||||
|
// purposes; Tile World defaults it to north
|
||||||
|
0x0a: ['dirt_block', 'north'],
|
||||||
0x0b: 'dirt',
|
0x0b: 'dirt',
|
||||||
0x0c: 'ice',
|
0x0c: 'ice',
|
||||||
0x0d: 'force_floor_s',
|
0x0d: 'force_floor_s',
|
||||||
0x0e: ['clone_block', 'north'],
|
// These are the "clone blocks", which for us are just regular blocks
|
||||||
0x0f: ['clone_block', 'west'],
|
0x0e: ['dirt_block', 'north'],
|
||||||
0x10: ['clone_block', 'south'],
|
0x0f: ['dirt_block', 'west'],
|
||||||
0x11: ['clone_block', 'east'],
|
0x10: ['dirt_block', 'south'],
|
||||||
|
0x11: ['dirt_block', 'east'],
|
||||||
0x12: 'force_floor_n',
|
0x12: 'force_floor_n',
|
||||||
0x13: 'force_floor_e',
|
0x13: 'force_floor_e',
|
||||||
0x14: 'force_floor_w',
|
0x14: 'force_floor_w',
|
||||||
|
|||||||
@ -23,7 +23,6 @@ export const CC2_TILESET_LAYOUT = {
|
|||||||
key_yellow: [6, 1],
|
key_yellow: [6, 1],
|
||||||
key_green: [7, 1],
|
key_green: [7, 1],
|
||||||
dirt_block: [8, 1],
|
dirt_block: [8, 1],
|
||||||
clone_block: [8, 1],
|
|
||||||
// xray
|
// xray
|
||||||
ice: [10, 1],
|
ice: [10, 1],
|
||||||
ice_se: [11, 1],
|
ice_se: [11, 1],
|
||||||
@ -372,11 +371,12 @@ export const TILE_WORLD_TILESET_LAYOUT = {
|
|||||||
thinwall_w: [0, 7],
|
thinwall_w: [0, 7],
|
||||||
thinwall_s: [0, 8],
|
thinwall_s: [0, 8],
|
||||||
thinwall_e: [0, 9],
|
thinwall_e: [0, 9],
|
||||||
dirt_block: [0, 10],
|
// This is the non-directed dirt block, which we don't have
|
||||||
|
// dirt_block: [0, 10],
|
||||||
dirt: [0, 11],
|
dirt: [0, 11],
|
||||||
ice: [0, 12],
|
ice: [0, 12],
|
||||||
force_floor_s: [0, 13],
|
force_floor_s: [0, 13],
|
||||||
clone_block: {
|
dirt_block: {
|
||||||
north: [0, 14],
|
north: [0, 14],
|
||||||
west: [0, 15],
|
west: [0, 15],
|
||||||
south: [1, 0],
|
south: [1, 0],
|
||||||
|
|||||||
@ -331,7 +331,7 @@ const TILE_TYPES = {
|
|||||||
draw_layer: LAYER_TERRAIN,
|
draw_layer: LAYER_TERRAIN,
|
||||||
on_arrive(me, level, other) {
|
on_arrive(me, level, other) {
|
||||||
// TODO cc1 allows items under water, i think; water was on the upper layer
|
// TODO cc1 allows items under water, i think; water was on the upper layer
|
||||||
if (other.type.name === 'dirt_block' || other.type.name === 'clone_block') {
|
if (other.type.name === 'dirt_block') {
|
||||||
level.transmute_tile(other, 'splash');
|
level.transmute_tile(other, 'splash');
|
||||||
level.transmute_tile(me, 'dirt');
|
level.transmute_tile(me, 'dirt');
|
||||||
}
|
}
|
||||||
@ -452,7 +452,7 @@ const TILE_TYPES = {
|
|||||||
// FIXME kills everything except ghosts, blobs, blocks
|
// FIXME kills everything except ghosts, blobs, blocks
|
||||||
// FIXME blobs spread slime onto floor tiles, even destroying wiring
|
// FIXME blobs spread slime onto floor tiles, even destroying wiring
|
||||||
on_arrive(me, level, other) {
|
on_arrive(me, level, other) {
|
||||||
if (other.type.name === 'dirt_block' || other.type.name === 'clone_block' || other.type.name === 'ice_block') {
|
if (other.type.name === 'dirt_block' || other.type.name === 'ice_block') {
|
||||||
level.transmute_tile(me, 'floor');
|
level.transmute_tile(me, 'floor');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -516,15 +516,6 @@ const TILE_TYPES = {
|
|||||||
ignores: new Set(['fire']),
|
ignores: new Set(['fire']),
|
||||||
movement_speed: 4,
|
movement_speed: 4,
|
||||||
},
|
},
|
||||||
clone_block: {
|
|
||||||
draw_layer: LAYER_ACTOR,
|
|
||||||
// TODO is this in any way distinct from dirt block
|
|
||||||
blocks_all: true,
|
|
||||||
is_actor: true,
|
|
||||||
is_block: true,
|
|
||||||
ignores: new Set(['fire']),
|
|
||||||
movement_speed: 4,
|
|
||||||
},
|
|
||||||
ice_block: {
|
ice_block: {
|
||||||
draw_layer: LAYER_ACTOR,
|
draw_layer: LAYER_ACTOR,
|
||||||
blocks_all: true,
|
blocks_all: true,
|
||||||
@ -551,7 +542,6 @@ const TILE_TYPES = {
|
|||||||
movement_speed: 4,
|
movement_speed: 4,
|
||||||
pushes: {
|
pushes: {
|
||||||
dirt_block: true,
|
dirt_block: true,
|
||||||
clone_block: true,
|
|
||||||
ice_block: true,
|
ice_block: true,
|
||||||
directional_block: true,
|
directional_block: true,
|
||||||
},
|
},
|
||||||
@ -652,7 +642,6 @@ const TILE_TYPES = {
|
|||||||
// TODO mirror players too
|
// TODO mirror players too
|
||||||
|
|
||||||
dirt_block: 'ice_block',
|
dirt_block: 'ice_block',
|
||||||
clone_block: 'ice_block',
|
|
||||||
ice_block: 'dirt_block',
|
ice_block: 'dirt_block',
|
||||||
|
|
||||||
ball: 'walker',
|
ball: 'walker',
|
||||||
@ -910,7 +899,6 @@ const TILE_TYPES = {
|
|||||||
blocks_blocks: true,
|
blocks_blocks: true,
|
||||||
pushes: {
|
pushes: {
|
||||||
dirt_block: true,
|
dirt_block: true,
|
||||||
clone_block: true,
|
|
||||||
ice_block: true,
|
ice_block: true,
|
||||||
directional_block: true,
|
directional_block: true,
|
||||||
},
|
},
|
||||||
@ -1124,7 +1112,6 @@ const TILE_TYPES = {
|
|||||||
movement_speed: 4,
|
movement_speed: 4,
|
||||||
pushes: {
|
pushes: {
|
||||||
dirt_block: true,
|
dirt_block: true,
|
||||||
clone_block: true,
|
|
||||||
ice_block: true,
|
ice_block: true,
|
||||||
directional_block: true,
|
directional_block: true,
|
||||||
},
|
},
|
||||||
@ -1143,7 +1130,6 @@ const TILE_TYPES = {
|
|||||||
ignores: new Set(['ice', 'ice_nw', 'ice_ne', 'ice_sw', 'ice_se']),
|
ignores: new Set(['ice', 'ice_nw', 'ice_ne', 'ice_sw', 'ice_se']),
|
||||||
pushes: {
|
pushes: {
|
||||||
dirt_block: true,
|
dirt_block: true,
|
||||||
clone_block: true,
|
|
||||||
ice_block: true,
|
ice_block: true,
|
||||||
directional_block: true,
|
directional_block: true,
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user