Fix black screen in Floorplan Editor

This commit is contained in:
Sidnei 2024-09-20 00:54:28 -03:00
parent 55a882476d
commit 5bf86d8fa1
3 changed files with 75 additions and 51 deletions

View File

@ -1,7 +1,7 @@
export const TILE_SIZE = 32;
export const MAX_NUM_TILE_PER_AXIS = 64;
export const HEIGHT_SCHEME: string = 'x0123456789abcdefghijklmnopq';
export const HEIGHT_SCHEME: string = 'x0123456789abcdefghijklmnopqrst';
export class FloorAction
{
@ -23,22 +23,25 @@ export const COLORMAP: object = {
'6': '00ff93',
'7': '00ff68',
'8': '00ff3d',
'9': '19ff00',
'a': '44ff00',
'b': '70ff00',
'c': '9bff00',
'd': 'f2ff00',
'e': 'ffe000',
'f': 'ffb500',
'g': 'ff8900',
'h': 'ff5e00',
'i': 'ff3200',
'j': 'ff0700',
'k': 'ff0023',
'l': 'ff007a',
'm': 'ff00a5',
'n': 'ff00d1',
'o': 'ff00fc',
'p': 'd600ff',
'q': 'aa00ff'
'9': '00ff11',
'a': '19ff00',
'b': '44ff00',
'c': '70ff00',
'd': '9bff00',
'e': 'c6ff00',
'f': 'f2ff00',
'g': 'ffe000',
'h': 'ffb500',
'i': 'ff8900',
'j': 'ff5e00',
'k': 'ff3200',
'l': 'ff0700',
'm': 'ff0023',
'n': 'ff004f',
'o': 'ff007a',
'p': 'ff00a5',
'q': 'ff00d1',
'r': 'ff00fc',
's': 'd600ff',
't': 'aa00ff'
};

View File

@ -1,5 +1,5 @@
export const imageBase64 =
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGwAAAC+CAMAAADnThrbAAAAYFBMVEUAAAAiIiIAZf8A6P8A/5MZ/wCb/wD/tQD/MgD/AHr/APxDXocAkf8A/+oA/2hE/wDy/wD/iQD/BwD/AKXWAP////8AvP8A/78A/z1w/wD/4AD/XgD/ACP/ANGqAP8QEBBSz3qJAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAABJxJREFUeNrt1tuOszoMBeDpD7QFBloKDGf6/m+51UTj1PUhN1uWOup3vSQLkSzn6+vV4fAV9X9lLIcdDv/+xWKHw/d3PPPzE8k8Rj1osceoBz3z4yiZ31HauN9R2rjfUcq451HSuOdR0rjnUcK411HcuNdR3LjXUcw4btTrOG7U6zhu1Ms4adTzOGnU8zhpVBh30Eb5cQ/fKp/5UR1+51l9mfU/Mz6NxvfMuEGMu9G49f/y8vzLz4Ikif/8qopnhiF6FhNHP9aVo2cGR71lCZAvbAXkzADE/kgQvooqhM8MCNuMCUFLtiJoZiBI5ycsvD4qFs4MLLTNElFYjJUoZAYRPAsSlV/5lcpnBhU8C6y+zPqfGZ9G43tm3CDG3Wjc+p9N/Z7PgjSN//y6jmfGMXoWU0c/1rWjZ0ZHvWUpkC9sDeTMCMT+SBG+imqEz4wI24wpQUu2JmhmJEjnpyy8PmoWzowstM1SUViMtShkRhE8C1KVX/m1ymdGFTwLrL7M+p8Zn0bje2bcIMbdaNz6n039ns+CLIv//Mslnpmm6FnMHP1YXxw9MznqLcuAfGEvQM5MQOyPDOGr6ILwmQlhmzEjaMleCJqZCNL5GQuvjwsLZyYW2maZKCzGiyhkJhE8CzKVX/kXlc9MKngWWH2Z9T8zPo3G98y4QYy70bj1P5v6PZ8Fx2P851+v8cw8R8/i0dGP9dXRM7Oj3rIjkC/sFciZGYj9cUT4KroifGZG2GY8ErRkrwTNzATp/CMLr48rC2dmFtpmR1FYjFdRyMwieBYcVX7lX1U+M6vgWWD1Zdb/zPg0Gt8z4wYx7kbj1v9s6vd8FpxO8Z/fNPHMskTP4snRj3Xj6JnFUW/ZCcgXtgFyZgFif5wQvooahM8sCNuMJ4KWbEPQzEKQzj+x8PpoWDizsNA2O4nCYmxEIbOI4FlwUvmV36h8ZlHBs8Dqy6z/mfFpNL5nxg1i3I3Grf/Z1O/5LDif4z//dotn1jV6Fs+Ofqxvjp5ZHfWWnYF8YW9AzqxA7I8zwlfRDeEzK8I245mgJXsjaGYlSOefWXh93Fg4s7LQNjuLwmK8iUJmFcGz4KzyK/+m8plVBc8Cqy+z/mfGp9H4nhk3iHE3Grf+Z1O/57Mgz+M/v23jmW2LnsXc0Y916+iZzVFvWQ7kC9sCObMBsT9yhK+iFuEzG8I2Y07Qkm0JmtkI0vk5C6+PloUzGwtts1wUFmMrCplNBM+CXOVXfqvymU0FzwKrL7P+Z8an0fieGTeIcTcat/5nU7/ns6Ao4j+/6+KZfY+excLRj3Xn6JndUW9ZAeQL2wE5swOxPwqEr6IO4TM7wjZjQdCS7Qia2QnS+QULr4+OhTM7C22zQhQWYycKmV0Ez4JC5Vd+p/KZXQXPAqsvs/5nxqfR+J4ZN4hxNxq3/mdTv+ezoCzjP7/v45n7PXoWS0c/1r2jZ+6OestKIF/YHsiZOxD7o0T4KuoRPnNH2GYsCVqyPUEzd4J0fsnC66Nn4cydhbZZKQqLsReFzF0Ez4JS5Vd+r/KZuwqeBVZfZv3PjE+j8T0zbhDjbjRu/b+0PP8DZwi9QurvbfwAAAAASUVORK5CYII=';
'data:image/png;base64,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';
export const spritesheet = {
frames: {
@ -11,21 +11,21 @@ export const spritesheet = {
sourceSize: { w: 34, h: 17 },
},
'1': {
frame: { x: 37, y: 1, w: 34, h: 17 },
frame: { x: 1, y: 20, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'2': {
frame: { x: 73, y: 1, w: 34, h: 17 },
frame: { x: 1, y: 39, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'3': {
frame: { x: 1, y: 20, w: 34, h: 17 },
frame: { x: 37, y: 1, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
@ -39,21 +39,21 @@ export const spritesheet = {
sourceSize: { w: 34, h: 17 },
},
'5': {
frame: { x: 73, y: 20, w: 34, h: 17 },
frame: { x: 37, y: 39, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'6': {
frame: { x: 1, y: 39, w: 34, h: 17 },
frame: { x: 73, y: 1, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'7': {
frame: { x: 37, y: 39, w: 34, h: 17 },
frame: { x: 73, y: 20, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
@ -67,147 +67,168 @@ export const spritesheet = {
sourceSize: { w: 34, h: 17 },
},
'9': {
frame: { x: 1, y: 58, w: 34, h: 17 },
frame: { x: 109, y: 1, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'a': {
frame: { x: 37, y: 58, w: 34, h: 17 },
frame: { x: 109, y: 20, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'b': {
frame: { x: 73, y: 58, w: 34, h: 17 },
frame: { x: 109, y: 39, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'c': {
frame: { x: 1, y: 77, w: 34, h: 17 },
frame: { x: 145, y: 1, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'd': {
frame: { x: 37, y: 77, w: 34, h: 17 },
frame: { x: 145, y: 20, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'e': {
frame: { x: 73, y: 77, w: 34, h: 17 },
frame: { x: 145, y: 39, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'f': {
frame: { x: 1, y: 96, w: 34, h: 17 },
frame: { x: 181, y: 1, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'g': {
frame: { x: 37, y: 96, w: 34, h: 17 },
frame: { x: 181, y: 20, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'h': {
frame: { x: 73, y: 96, w: 34, h: 17 },
frame: { x: 181, y: 39, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'i': {
frame: { x: 1, y: 115, w: 34, h: 17 },
frame: { x: 217, y: 1, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'j': {
frame: { x: 37, y: 115, w: 34, h: 17 },
frame: { x: 217, y: 20, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'k': {
frame: { x: 73, y: 115, w: 34, h: 17 },
frame: { x: 217, y: 39, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'l': {
frame: { x: 1, y: 134, w: 34, h: 17 },
frame: { x: 253, y: 1, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'm': {
frame: { x: 37, y: 134, w: 34, h: 17 },
frame: { x: 253, y: 20, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'n': {
frame: { x: 73, y: 134, w: 34, h: 17 },
frame: { x: 253, y: 39, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'o': {
frame: { x: 1, y: 153, w: 34, h: 17 },
frame: { x: 289, y: 1, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'p': {
frame: { x: 37, y: 153, w: 34, h: 17 },
frame: { x: 289, y: 20, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'q': {
frame: { x: 73, y: 153, w: 34, h: 17 },
frame: { x: 289, y: 39, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'r': {
frame: { x: 325, y: 1, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'r_blocked': {
frame: { x: 1, y: 172, w: 34, h: 17 },
frame: { x: 325, y: 20, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'r_door': {
frame: { x: 37, y: 172, w: 34, h: 17 },
frame: { x: 325, y: 39, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
's': {
frame: { x: 361, y: 1, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
't': {
frame: { x: 361, y: 20, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
sourceSize: { w: 34, h: 17 },
},
'x': {
frame: { x: 73, y: 172, w: 34, h: 17 },
frame: { x: 361, y: 39, w: 34, h: 17 },
rotated: false,
trimmed: false,
spriteSourceSize: { x: 0, y: 0, w: 34, h: 17 },
@ -219,9 +240,9 @@ export const spritesheet = {
version: '1.0',
image: 'tiles.png',
format: 'RGBA8888',
size: { w: 108, h: 190 },
size: { w: 396, h: 57 },
scale: '1',
smartupdate:
'$TexturePacker:SmartUpdate:6d0f8373580629749f786a0b0f6c6bb9:96dff9df69bdc6938cf02f254bbe028b:accbe1e7e294ded8391337fc1c446319$',
'$TexturePacker:SmartUpdate:9a8c5599c2efb03413cfa72b28c0cf7d:40a16f4027e4e7d1466e365045750b43:b8c440baf7e55a93f5e60b6e98028815$',
},
};

View File

@ -11,7 +11,7 @@ const MIN_WALL_HEIGHT: number = 0;
const MAX_WALL_HEIGHT: number = 16;
const MIN_FLOOR_HEIGHT: number = 0;
const MAX_FLOOR_HEIGHT: number = 26;
const MAX_FLOOR_HEIGHT: number = 29;
export const FloorplanOptionsView: FC<{}> = props =>
{
@ -49,7 +49,7 @@ export const FloorplanOptionsView: FC<{}> = props =>
{
if(isNaN(value) || (value <= 0)) value = 0;
if(value > 26) value = 26;
if(value > MAX_FLOOR_HEIGHT) value = MAX_FLOOR_HEIGHT;
setFloorHeight(value);