aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjacopograndi <jacopo.grandi@outlook.it>2021-12-12 20:09:10 +0100
committerjacopograndi <jacopo.grandi@outlook.it>2021-12-12 20:09:10 +0100
commit156420f2a4635a84390e8ff488d12b8f84fea94f (patch)
treeebe53b68a6d6485dc759763ae3851e20c0fe890f
parent0f518727c28d3204415db14c7ca0e4f7cb653677 (diff)
.
-rw-r--r--default_env.tres8
-rw-r--r--project.godot11
-rw-r--r--scripts/enemies.gd4
-rw-r--r--scripts/movement.gd265
-rw-r--r--shaders/dissolve_mat.tres4
-rw-r--r--world.tscn24
6 files changed, 178 insertions, 138 deletions
diff --git a/default_env.tres b/default_env.tres
index 20207a4..2ba632d 100644
--- a/default_env.tres
+++ b/default_env.tres
@@ -5,3 +5,11 @@
[resource]
background_mode = 2
background_sky = SubResource( 1 )
+ambient_light_color = Color( 1, 1, 1, 1 )
+ambient_light_energy = 1.83
+auto_exposure_enabled = true
+auto_exposure_speed = 2.35
+ss_reflections_enabled = true
+ssao_enabled = true
+ssao_bias = 0.102
+ssao_quality = 2
diff --git a/project.godot b/project.godot
index 876c95f..11f4819 100644
--- a/project.godot
+++ b/project.godot
@@ -146,6 +146,17 @@ load={
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":48,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
]
}
+orbit={
+"deadzone": 0.5,
+"events": [ Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":3,"pressed":false,"doubleclick":false,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":79,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
+ ]
+}
+look={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777240,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
+ ]
+}
[physics]
diff --git a/scripts/enemies.gd b/scripts/enemies.gd
index 068814a..08cc389 100644
--- a/scripts/enemies.gd
+++ b/scripts/enemies.gd
@@ -2,7 +2,7 @@ extends Node
var _path
var _enemy_blue
-var _dissolve_mat
+var _dissolve_mat : ShaderMaterial
var _fx_holder
var _fx_enemy_damage
@@ -114,4 +114,4 @@ func fx_damage(name):
var instance_model = _shapes[enemy["ops"]].instance()
instance.add_child(instance_model)
- instance.refresh_shader(_dissolve_mat)
+ instance.refresh_shader(_dissolve_mat.duplicate())
diff --git a/scripts/movement.gd b/scripts/movement.gd
index 1601053..0b7726d 100644
--- a/scripts/movement.gd
+++ b/scripts/movement.gd
@@ -1,18 +1,22 @@
extends KinematicBody
var vel = Vector3()
-var rot = Quat()
-var rotx = Quat()
-var roty = Quat()
+var _mouse = Vector2()
var sensitivity_mouse = 0.1
-var ray
+var _camera : Camera
var _normal = Vector3.ZERO
var _colliding = false
var _colliding_group = []
var _colliding_node
+var _collision_point
+
+var _pivot
+var _pivot_dist
+var _pivot_rot
+var _pivot_look
var _world
@@ -33,13 +37,8 @@ var sel_map = [
"turrets", "path start", "path", "path end", "attach point"
]
-func _ready():
- ray = find_node("RayCast")
-
- ray.enabled = true
- ray.collide_with_areas = false
-
- Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
+func _ready():
+ _camera = $Camera
_world = self.get_parent().find_node("world")
_turret_holder = self.get_parent().find_node("turrets")
@@ -137,6 +136,7 @@ func _save():
save_game.open("user://map0.json", File.WRITE)
save_game.store_string(to_json(get_map_state()))
save_game.close()
+ print("saved")
func _load():
var save_game = File.new()
@@ -144,9 +144,9 @@ func _load():
var raw = save_game.get_as_text()
save_game.close()
- print(raw)
var state = parse_json(raw)
set_map_state(state)
+ print("loaded")
func _process(delta):
if Input.is_action_just_released("save"):
@@ -159,9 +159,53 @@ func clear_children (node):
node.remove_child(n)
n.queue_free()
+func look_free (delta, m):
+ self.transform.basis = self.transform.basis.rotated(Vector3.UP, m.x)
+ var rrrot = self.transform.basis.get_rotation_quat()
+ self.transform.basis = self.transform.basis.rotated(rrrot*Vector3.RIGHT, m.y)
+
+func look_orbit(delta, m):
+ var diff : Vector3 = self.transform.origin - _pivot
+ var orbit : Basis = Transform.looking_at(diff, Vector3.UP).basis
+ orbit = orbit.rotated(Vector3.UP, m.x)
+ orbit = orbit.rotated(orbit.get_rotation_quat()*Vector3.RIGHT, -m.y)
+ self.transform.basis = self.transform.basis.rotated(Vector3.UP, m.x)
+ var rrrot = self.transform.basis.get_rotation_quat()
+ self.transform.basis = self.transform.basis.rotated(rrrot*Vector3.RIGHT, m.y)
+
+ var normdiff = diff.normalized()
+ self.transform.origin = _pivot - orbit.z * _pivot_dist
+
func _move_input(delta):
var dir = Vector3()
+
+ var m = _mouse
+ _mouse = Vector2()
+ var orbiting = false
+
+ if Input.is_action_just_pressed("orbit"):
+ if _colliding:
+ _pivot = _collision_point
+ var diff : Vector3 = self.transform.origin - _pivot
+ _pivot_rot = Transform.looking_at(diff, Vector3.UP).basis.get_rotation_quat()
+ _pivot_dist = diff.length()
+ _pivot_look = Transform(Basis(), _collision_point)
+ else: _pivot = null
+
+ if Input.is_action_pressed("orbit"):
+ if _pivot != null:
+ orbiting = true
+ look_orbit(delta, m)
+ else:
+ look_free(delta, m)
+
+ Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
+
+ if Input.is_action_pressed("look"):
+ look_free(delta, m)
+ Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
+
var input_movement_vector = Vector3()
if Input.is_action_pressed("movement_forward"):
input_movement_vector.z -= 1
@@ -177,13 +221,7 @@ func _move_input(delta):
input_movement_vector.y -= 1
input_movement_vector = input_movement_vector.normalized()
- if Input.is_action_just_pressed("ui_cancel"):
- if Input.get_mouse_mode() == Input.MOUSE_MODE_VISIBLE:
- Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
- else:
- Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
-
- dir = rot * input_movement_vector
+ dir = self.transform.basis.get_rotation_quat() * input_movement_vector
vel += dir * delta;
vel *= 0.8
@@ -201,11 +239,6 @@ func _physics_process(delta):
if sel < 0:
sel = 0
- if "path" in sel_map[sel]:
- ray.collision_mask = 3
- else:
- ray.collision_mask = 1
-
_move_input(delta)
_pointer()
@@ -249,137 +282,115 @@ func check_overlap_pointer():
return overlap
-func place_turret ():
- var ptr = self.get_parent().find_node("pointer");
- if Input.is_action_just_pressed("use"):
- if _colliding && "attach" in _colliding_group:
- if !check_overlap_pointer():
- var instance = _turret.instance()
- _turret_holder.add_child(instance)
- instance.transform.origin = ptr.transform.origin;
- instance.transform.basis = Basis(ptr.transform.basis.get_rotation_quat());
- instance.refresh_normal()
- var instance_model = _turret_blues[0].instance()
- instance_model.name = "model"
- instance.add_child(instance_model)
- instance.refresh_model()
-
- if Input.is_action_just_pressed("cancel"):
- if _colliding && "turrets" in _colliding_group:
- _colliding_node.queue_free()
-
-func place_start_path ():
- var ptr = self.get_parent().find_node("pointer");
- if Input.is_action_just_pressed("use"):
- if _colliding && "voxels" in _colliding_group:
- if !check_overlap_pointer():
- var instance = _path_start.instance()
- _path_holder.add_child(instance)
- instance.transform.origin = ptr.transform.origin + _normal * 0.25;
- instance.transform.basis = Basis(ptr.transform.basis.get_rotation_quat());
-
- if Input.is_action_just_pressed("cancel"):
- if _colliding && "path" in _colliding_group:
- _colliding_node.queue_free()
-
-func place_path ():
- var ptr = self.get_parent().find_node("pointer");
- if Input.is_action_just_pressed("use"):
- if _colliding && "path" in _colliding_group:
- if !check_overlap_pointer():
- var instance = _path.instance()
- _path_holder.add_child(instance)
- instance.transform.origin = ptr.transform.origin + _normal * 0.25;
- instance.transform.basis = Basis(ptr.transform.basis.get_rotation_quat());
- instance.set_name("path")
-
- _colliding_node.transform.basis = Basis(ptr.transform.basis.get_rotation_quat());
-
- if Input.is_action_just_pressed("cancel"):
- if _colliding && "path" in _colliding_group:
- _colliding_node.queue_free()
-
-func place_path_end ():
+func _inst_turret (pos, rot):
+ var instance = _turret.instance()
+ _turret_holder.add_child(instance)
+ instance.transform.origin = pos;
+ instance.transform.basis = Basis(rot);
+ instance.refresh_normal()
+ var instance_model = _turret_blues[0].instance()
+ instance_model.name = "model"
+ instance.add_child(instance_model)
+ instance.refresh_model()
+
+func _inst_path_start (pos, rot):
+ var instance = _path_start.instance()
+ _path_holder.add_child(instance)
+ instance.transform.origin = pos + _normal * 0.25;
+ instance.transform.basis = Basis(rot);
+
+func _inst_path (pos, rot):
+ var instance = _path.instance()
+ _path_holder.add_child(instance)
+ instance.transform.origin = pos + _normal * 0.25;
+ instance.transform.basis = Basis(rot);
+ instance.set_name("path")
+ _colliding_node.transform.basis = Basis(rot);
+
+func _inst_path_end (pos, rot):
+ var instance = _path_end.instance()
+ _path_holder.add_child(instance)
+ instance.transform.origin = pos + _normal * 0.25
+ instance.transform.basis = Basis(rot);
+
+func _inst_attach (pos, rot):
+ var instance = _attach_point.instance()
+ _attach_point_holder.add_child(instance)
+ instance.transform.origin = pos;
+ instance.transform.basis = Basis(rot);
+
+func place (group, inst : FuncRef):
var ptr = self.get_parent().find_node("pointer");
if Input.is_action_just_pressed("use"):
- if _colliding && "path" in _colliding_group:
+ if _colliding && group in _colliding_group:
if !check_overlap_pointer():
- var instance = _path_end.instance()
- _path_holder.add_child(instance)
- instance.transform.origin = ptr.transform.origin + _normal * 0.25
- instance.transform.basis = Basis(ptr.transform.basis.get_rotation_quat());
-
- if Input.is_action_just_pressed("cancel"):
- if _colliding && "path" in _colliding_group:
- _colliding_node.queue_free()
+ inst.call_func(ptr.transform.origin, ptr.transform.basis.get_rotation_quat())
-func place_attach ():
- var ptr = self.get_parent().find_node("pointer");
- if Input.is_action_just_pressed("use"):
- if _colliding && "voxels" in _colliding_group:
- if !check_overlap_pointer():
- var instance = _attach_point.instance()
- _attach_point_holder.add_child(instance)
- instance.transform.origin = ptr.transform.origin;
- instance.transform.basis = Basis(ptr.transform.basis.get_rotation_quat());
-
+func delete (group):
if Input.is_action_just_pressed("cancel"):
- if _colliding && "attach" in _colliding_group:
+ if _colliding && group in _colliding_group:
_colliding_node.queue_free()
func _pointer ():
var ptr = self.get_parent().find_node("pointer");
- match sel:
- 0:
- place_turret()
- 1:
- place_start_path()
- 2:
- place_path()
- 3:
- place_path_end()
- 4:
- place_attach()
-
- var from = self.transform.origin
- var to = from + (rot * Vector3.FORWARD) * 5
+ var space: PhysicsDirectSpaceState = get_world().direct_space_state as PhysicsDirectSpaceState
+ var mouse2d = get_viewport().get_mouse_position()
+ var from = _camera.project_ray_origin(mouse2d)
+ var to = (from + _camera.project_ray_normal(mouse2d) * 5)
ptr.transform.origin = to
- if ray.is_colliding():
+ var mask = 1
+ if sel in [1, 2, 3]: mask = 3
+ var result = space.intersect_ray(from, to, [], mask)
+ if result.size() > 0:
+ ptr.get_child(0).visible = true
+
_colliding = true
- _normal = ray.get_collision_normal().normalized();
- var pos = ray.get_collision_point()
+ _normal = result.normal;
+ _collision_point = result.position
- var node = ray.get_collider().get_parent()
+ var node = result.collider.get_parent()
_colliding_node = node
_colliding_group = node.get_groups()
if ("voxels" in _colliding_group or "path" in _colliding_group):
- var _cursor_position = ray.get_collision_point() - _normal * (0.5 / 2)
- var tran = 0.5 *_cursor_position
- tran += Vector3.ONE * (0.5 / 2) + _normal* (0.5 / 2)
- pos = tran
+ var cpos = result.position - _normal * (0.5 / 2)
+ var _cursor_position = (cpos / 0.5).floor() * 0.5
+ _cursor_position += Vector3.ONE * (0.5 / 2) + _normal * (0.5 / 2)
+ _collision_point = _cursor_position
if ("attach" in _colliding_group):
- pos = node.global_transform.origin;
+ _collision_point = node.global_transform.origin;
_normal = (node.global_transform.basis.get_rotation_quat() * Vector3.UP).normalized();
ptr.transform.basis = Basis(Utils.quat_look(_normal, Vector3.UP))
- ptr.transform.origin = pos
+ ptr.transform.origin = _collision_point
else:
_colliding = false
_colliding_group = []
+ ptr.get_child(0).visible = false
+
+ match sel:
+ 0:
+ place("attach", funcref(self, "_inst_turret"))
+ delete("turret")
+ 1:
+ place("voxels", funcref(self, "_inst_path_start"))
+ delete("path")
+ 2:
+ place("path", funcref(self, "_inst_path"))
+ delete("path")
+ 3:
+ place("path", funcref(self, "_inst_path_end"))
+ delete("path")
+ 4:
+ place("voxels", funcref(self, "_inst_attach"))
+ delete("attach")
func _input(event):
if event is InputEventMouseMotion:
- var mouse = Vector2(
+ _mouse += Vector2(
deg2rad(event.relative.x) * -1,
- deg2rad(event.relative.y) * -1)
- mouse *= sensitivity_mouse
- rotx *= Quat(Vector3(0, mouse.x, 0))
- roty *= Quat(Vector3(mouse.y, 0, 0))
-
- rot = (rotx * roty).normalized()
- self.transform.basis = Basis(rot)
+ deg2rad(event.relative.y) * -1) * sensitivity_mouse
diff --git a/shaders/dissolve_mat.tres b/shaders/dissolve_mat.tres
index 2e67a66..c8e2103 100644
--- a/shaders/dissolve_mat.tres
+++ b/shaders/dissolve_mat.tres
@@ -88,10 +88,10 @@ noise = SubResource( 5 )
[resource]
resource_local_to_scene = true
shader = SubResource( 1 )
-shader_param/offset = 0.147
+shader_param/offset = 0.369
shader_param/up = true
shader_param/borderColor = Color( 1, 1, 1, 0 )
-shader_param/borderHeight = 0.0
+shader_param/borderHeight = 0.255
shader_param/waveAmplitude = 1.0
shader_param/waveFrequency = 1.0
shader_param/wavePhase = 0.1
diff --git a/world.tscn b/world.tscn
index b44b216..de0c7c6 100644
--- a/world.tscn
+++ b/world.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=14 format=2]
[ext_resource path="res://scripts/movement.gd" type="Script" id=1]
[ext_resource path="res://scripts/enemies.gd" type="Script" id=2]
@@ -16,7 +16,7 @@ vertex_color_use_as_albedo = true
[sub_resource type="ArrayMesh" id=7]
surfaces/0 = {
"aabb": AABB( 0, 0, 0, 2, 1, 2.5 ),
-"array_data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 128, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 0, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 0, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 128, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 128, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 0, 63, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 0, 63, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 63, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 63, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 128, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 128, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 192, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 192, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 128, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 192, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 128, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 192, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 192, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 192, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 192, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 64, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 64, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 0, 64, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 0, 64, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 32, 64, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 32, 64, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 32, 64, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 32, 64, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 64, 1, 128, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 64, 1, 128, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 32, 64, 1, 128, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 32, 64, 1, 128, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 32, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 32, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 192, 63, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 192, 63, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 0, 64, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 128, 63, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 128, 63, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 192, 63, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 192, 63, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 128, 63, 255, 127, 255, 127, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 128, 63, 255, 127, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 128, 63, 255, 127, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 128, 63, 255, 127, 255, 127, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 128, 63, 0, 0, 192, 63, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 192, 63, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 128, 63, 0, 0, 0, 64, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 0, 64, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 192, 63, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 128, 63, 0, 0, 192, 63, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 192, 63, 255, 127, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 128, 63, 0, 0, 192, 63, 255, 127, 255, 127, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 192, 63, 255, 127, 255, 127, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 192, 63, 255, 127, 255, 127, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 192, 63, 1, 128, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 192, 63, 1, 128, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 64, 1, 128, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 64, 1, 128, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 98, 0, 255, 255 ),
+"array_data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 128, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 128, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 128, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 192, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 192, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 128, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 192, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 0, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 0, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 128, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 128, 63, 255, 127, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 0, 63, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 0, 63, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 63, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 63, 255, 127, 255, 127, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 128, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 192, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 192, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 192, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 192, 63, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 64, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 64, 1, 128, 0, 0, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 255, 255, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 0, 64, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 0, 64, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 32, 64, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 32, 64, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 32, 64, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 32, 64, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 64, 1, 128, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 64, 1, 128, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 32, 64, 1, 128, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 32, 64, 1, 128, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 32, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 32, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 128, 63, 0, 0, 192, 63, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 192, 63, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 128, 63, 0, 0, 0, 64, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 0, 64, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 192, 63, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 128, 63, 0, 0, 192, 63, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 192, 63, 255, 127, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 128, 63, 0, 0, 192, 63, 255, 127, 255, 127, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 192, 63, 255, 127, 255, 127, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 192, 63, 255, 127, 255, 127, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 192, 63, 1, 128, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 192, 63, 1, 128, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 64, 1, 128, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 64, 1, 128, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 128, 63, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 128, 63, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 192, 63, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 192, 63, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 128, 63, 255, 127, 255, 127, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 128, 63, 255, 127, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 128, 63, 255, 127, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 128, 63, 255, 127, 255, 127, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 192, 63, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 192, 63, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 0, 64, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64, 255, 127, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 192, 63, 0, 0, 255, 127, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 192, 63, 0, 0, 1, 128, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 98, 0, 255, 255, 0, 0, 192, 63, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 98, 0, 255, 255 ),
"array_index_data": PoolByteArray( 0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 2, 0, 4, 0, 5, 0, 6, 0, 5, 0, 7, 0, 6, 0, 8, 0, 9, 0, 10, 0, 9, 0, 11, 0, 10, 0, 12, 0, 13, 0, 14, 0, 13, 0, 15, 0, 14, 0, 16, 0, 17, 0, 18, 0, 17, 0, 19, 0, 18, 0, 20, 0, 21, 0, 22, 0, 21, 0, 23, 0, 22, 0, 24, 0, 25, 0, 26, 0, 25, 0, 27, 0, 26, 0, 28, 0, 29, 0, 30, 0, 29, 0, 31, 0, 30, 0, 32, 0, 33, 0, 34, 0, 33, 0, 35, 0, 34, 0, 36, 0, 37, 0, 38, 0, 37, 0, 39, 0, 38, 0, 40, 0, 41, 0, 42, 0, 41, 0, 43, 0, 42, 0, 44, 0, 45, 0, 46, 0, 45, 0, 47, 0, 46, 0, 48, 0, 49, 0, 50, 0, 49, 0, 51, 0, 50, 0, 52, 0, 53, 0, 54, 0, 53, 0, 55, 0, 54, 0, 56, 0, 57, 0, 58, 0, 57, 0, 59, 0, 58, 0, 60, 0, 61, 0, 62, 0, 61, 0, 63, 0, 62, 0, 64, 0, 65, 0, 66, 0, 65, 0, 67, 0, 66, 0, 68, 0, 69, 0, 70, 0, 69, 0, 71, 0, 70, 0, 72, 0, 73, 0, 74, 0, 73, 0, 75, 0, 74, 0, 76, 0, 77, 0, 78, 0, 77, 0, 79, 0, 78, 0, 80, 0, 81, 0, 82, 0, 81, 0, 83, 0, 82, 0, 84, 0, 85, 0, 86, 0, 85, 0, 87, 0, 86, 0, 88, 0, 89, 0, 90, 0, 89, 0, 91, 0, 90, 0, 92, 0, 93, 0, 94, 0, 93, 0, 95, 0, 94, 0, 96, 0, 97, 0, 98, 0, 97, 0, 99, 0, 98, 0, 100, 0, 101, 0, 102, 0, 101, 0, 103, 0, 102, 0, 104, 0, 105, 0, 106, 0, 105, 0, 107, 0, 106, 0, 108, 0, 109, 0, 110, 0, 109, 0, 111, 0, 110, 0, 112, 0, 113, 0, 114, 0, 113, 0, 115, 0, 114, 0, 116, 0, 117, 0, 118, 0, 117, 0, 119, 0, 118, 0, 120, 0, 121, 0, 122, 0, 121, 0, 123, 0, 122, 0, 124, 0, 125, 0, 126, 0, 125, 0, 127, 0, 126, 0, 128, 0, 129, 0, 130, 0, 129, 0, 131, 0, 130, 0, 132, 0, 133, 0, 134, 0, 133, 0, 135, 0, 134, 0, 136, 0, 137, 0, 138, 0, 137, 0, 139, 0, 138, 0, 140, 0, 141, 0, 142, 0, 141, 0, 143, 0, 142, 0, 144, 0, 145, 0, 146, 0, 145, 0, 147, 0, 146, 0, 148, 0, 149, 0, 150, 0, 149, 0, 151, 0, 150, 0, 152, 0, 153, 0, 154, 0, 153, 0, 155, 0, 154, 0, 156, 0, 157, 0, 158, 0, 157, 0, 159, 0, 158, 0, 160, 0, 161, 0, 162, 0, 161, 0, 163, 0, 162, 0, 164, 0, 165, 0, 166, 0, 165, 0, 167, 0, 166, 0, 168, 0, 169, 0, 170, 0, 169, 0, 171, 0, 170, 0, 172, 0, 173, 0, 174, 0, 173, 0, 175, 0, 174, 0, 176, 0, 177, 0, 178, 0, 177, 0, 179, 0, 178, 0, 180, 0, 181, 0, 182, 0, 181, 0, 183, 0, 182, 0 ),
"blend_shape_data": [ ],
"format": 2194699,
@@ -42,15 +42,19 @@ VOXELS = [ {
"color": Color( 0.113636, 0, 1, 1 )
} ]
+[sub_resource type="ConcavePolygonShape" id=8]
+data = PoolVector3Array( 0, 0.5, 0.5, 0, 0.5, 0, 0.5, 0.5, 0.5, 0, 0.5, 0, 0.5, 0.5, 0, 0.5, 0.5, 0.5, 0.5, 0, 0, 0.5, 0.5, 0, 0, 0, 0, 0.5, 0.5, 0, 0, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0.5, 0, 0, 0.5, 0.5, 0, 0, 0.5, 0.5, 0, 0.5, 0.5, 0, 0, 0, 0, 0.5, 0.5, 0, 0, 0, 0, 0, 0, 0, 0.5, 0, 0.5, 1, 0, 0.5, 0.5, 0.5, 0.5, 1, 0, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 1, 0, 0, 0.5, 0, 0.5, 0.5, 0, 0, 1, 0, 0.5, 0.5, 0, 0.5, 1, 0, 0, 1, 0.5, 0, 1, 0.5, 0, 0.5, 0, 0, 1, 0.5, 0, 0.5, 0, 0, 0.5, 0, 0, 1, 0.5, 0.5, 1, 0.5, 0, 1, 0.5, 0.5, 1.5, 0.5, 0, 1, 0.5, 0, 1.5, 0.5, 0.5, 1.5, 0, 0.5, 1.5, 0, 0.5, 1, 0.5, 0.5, 1.5, 0, 0.5, 1, 0.5, 0.5, 1, 0.5, 0.5, 1.5, 0, 0, 1, 0, 0.5, 1, 0, 0, 1.5, 0, 0.5, 1, 0, 0.5, 1.5, 0, 0, 1.5, 0.5, 0, 1.5, 0.5, 0, 1, 0, 0, 1.5, 0.5, 0, 1, 0, 0, 1, 0, 0, 1.5, 0.5, 0.5, 1.5, 0.5, 0, 1.5, 0, 0.5, 1.5, 0.5, 0, 1.5, 0, 0, 1.5, 0, 0.5, 1.5, 1, 0.5, 0, 1, 0, 0, 1, 0.5, 0.5, 1, 0, 0, 1, 0, 0.5, 1, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0, 1, 0.5, 0.5, 0.5, 0.5, 0, 1, 0.5, 0, 1, 0.5, 0.5, 1, 0, 0, 1, 0.5, 0, 0.5, 0, 0, 1, 0.5, 0, 0.5, 0.5, 0, 0.5, 0, 0, 1, 0, 0.5, 1, 0, 0, 0.5, 0, 0.5, 1, 0, 0, 0.5, 0, 0, 0.5, 0, 0.5, 0.5, 0.5, 1, 0.5, 0.5, 0.5, 1, 0.5, 1, 0.5, 0.5, 0.5, 1, 0.5, 0.5, 1, 0.5, 1, 1, 0, 1, 1, 0, 0.5, 0.5, 0, 1, 1, 0, 0.5, 0.5, 0, 0.5, 0.5, 0, 1, 1, 0.5, 1, 1, 0, 1, 0.5, 0.5, 1, 1, 0, 1, 0.5, 0, 1, 0.5, 0.5, 1, 1.5, 0.5, 0.5, 1.5, 0, 0.5, 1.5, 0.5, 1, 1.5, 0, 0.5, 1.5, 0, 1, 1.5, 0.5, 1, 1, 0.5, 1, 1, 0.5, 0.5, 1.5, 0.5, 1, 1, 0.5, 0.5, 1.5, 0.5, 0.5, 1.5, 0.5, 1, 1.5, 0, 0.5, 1.5, 0.5, 0.5, 1, 0, 0.5, 1.5, 0.5, 0.5, 1, 0.5, 0.5, 1, 0, 0.5, 1.5, 0, 1, 1.5, 0, 0.5, 1, 0, 1, 1.5, 0, 0.5, 1, 0, 0.5, 1, 0, 1, 1, 0.5, 1.5, 1, 0.5, 1, 1.5, 0.5, 1.5, 1, 0.5, 1, 1.5, 0.5, 1, 1.5, 0.5, 1.5, 1, 0, 1, 1, 0.5, 1, 1, 0, 1.5, 1, 0.5, 1, 1, 0.5, 1.5, 1, 0, 1.5, 1.5, 0, 1.5, 1.5, 0, 1, 1, 0, 1.5, 1.5, 0, 1, 1, 0, 1, 1, 0, 1.5, 1, 0, 1.5, 1, 0.5, 1.5, 1, 0, 2, 1, 0.5, 1.5, 1, 0.5, 2, 1, 0, 2, 1.5, 0, 2, 1.5, 0, 1.5, 1, 0, 2, 1.5, 0, 1.5, 1, 0, 1.5, 1, 0, 2, 1.5, 0.5, 2, 1.5, 0, 2, 1.5, 0.5, 2.5, 1.5, 0, 2, 1.5, 0, 2.5, 1.5, 0.5, 2.5, 1, 0.5, 2.5, 1, 0.5, 2, 1.5, 0.5, 2.5, 1, 0.5, 2, 1.5, 0.5, 2, 1.5, 0.5, 2.5, 1, 0, 2, 1, 0.5, 2, 1, 0, 2.5, 1, 0.5, 2, 1, 0.5, 2.5, 1, 0, 2.5, 1.5, 0, 2.5, 1.5, 0, 2, 1, 0, 2.5, 1.5, 0, 2, 1, 0, 2, 1, 0, 2.5, 1.5, 0.5, 2.5, 1.5, 0, 2.5, 1, 0.5, 2.5, 1.5, 0, 2.5, 1, 0, 2.5, 1, 0.5, 2.5, 1.5, 1, 1.5, 1.5, 0.5, 1.5, 1.5, 1, 2, 1.5, 0.5, 1.5, 1.5, 0.5, 2, 1.5, 1, 2, 1, 1, 2, 1, 1, 1.5, 1.5, 1, 2, 1, 1, 1.5, 1.5, 1, 1.5, 1.5, 1, 2, 1.5, 0.5, 1.5, 1.5, 1, 1.5, 1, 0.5, 1.5, 1.5, 1, 1.5, 1, 1, 1.5, 1, 0.5, 1.5, 1, 0.5, 1.5, 1, 1, 1.5, 1, 0.5, 2, 1, 1, 1.5, 1, 1, 2, 1, 0.5, 2, 1.5, 1, 2, 1.5, 0.5, 2, 1, 1, 2, 1.5, 0.5, 2, 1, 0.5, 2, 1, 1, 2, 2, 0.5, 1, 2, 0, 1, 2, 0.5, 1.5, 2, 0, 1, 2, 0, 1.5, 2, 0.5, 1.5, 1.5, 0.5, 1.5, 1.5, 0.5, 1, 2, 0.5, 1.5, 1.5, 0.5, 1, 2, 0.5, 1, 2, 0.5, 1.5, 2, 0, 1, 2, 0.5, 1, 1.5, 0, 1, 2, 0.5, 1, 1.5, 0.5, 1, 1.5, 0, 1, 2, 0, 1.5, 2, 0, 1, 1.5, 0, 1.5, 2, 0, 1, 1.5, 0, 1, 1.5, 0, 1.5, 2, 0.5, 1.5, 2, 0, 1.5, 2, 0.5, 2, 2, 0, 1.5, 2, 0, 2, 2, 0.5, 2, 1.5, 0.5, 2, 1.5, 0.5, 1.5, 2, 0.5, 2, 1.5, 0.5, 1.5, 2, 0.5, 1.5, 2, 0.5, 2, 2, 0, 2, 2, 0, 1.5, 1.5, 0, 2, 2, 0, 1.5, 1.5, 0, 1.5, 1.5, 0, 2, 2, 0.5, 2, 2, 0, 2, 1.5, 0.5, 2, 2, 0, 2, 1.5, 0, 2, 1.5, 0.5, 2 )
+
[node name="world" type="Spatial"]
+[node name="sun" type="DirectionalLight" parent="."]
+transform = Transform( 0.782977, -0.605334, 0.14324, 0, 0.230271, 0.973127, -0.62205, -0.761936, 0.180297, 0, 0, 0 )
+light_energy = 2.533
+shadow_enabled = true
+
[node name="player" type="KinematicBody" parent="."]
script = ExtResource( 1 )
-[node name="RayCast" type="RayCast" parent="player"]
-cast_to = Vector3( 0, 0, -100 )
-collision_mask = 3
-
[node name="CollisionShape" type="CollisionShape" parent="player"]
shape = SubResource( 1 )
disabled = true
@@ -66,10 +70,11 @@ far = 4482.9
mesh = ExtResource( 5 )
material/0 = null
-[node name="world" type="MeshInstance" parent="."]
+[node name="world" type="MeshInstance" parent="." groups=["voxels"]]
mesh = SubResource( 7 )
material/0 = null
script = ExtResource( 4 )
+static_body = true
voxel_set = SubResource( 5 )
VOXELS = {
Vector3( 0, 0, 0 ): 0,
@@ -86,6 +91,11 @@ Vector3( 3, 0, 2 ): 1,
Vector3( 3, 0, 3 ): 1
}
+[node name="StaticBody" type="StaticBody" parent="world"]
+
+[node name="CollisionShape" type="CollisionShape" parent="world/StaticBody"]
+shape = SubResource( 8 )
+
[node name="gui" parent="." instance=ExtResource( 6 )]
[node name="turrets" type="Node" parent="."]