Changing back to tiled based maps

This commit is contained in:
JonathanHerrewijnen 2021-08-26 16:52:21 +02:00
parent 52eaa3c498
commit 5e684de4c3
33 changed files with 1143 additions and 302 deletions

View File

@ -0,0 +1,3 @@
source_md5="7e41bf3051b18e392a4bb6c0cc45cd7c"
dest_md5="027d7cfe7c7f2d473caf37960292caa5"

View File

@ -0,0 +1,3 @@
source_md5="7e41bf3051b18e392a4bb6c0cc45cd7c"
dest_md5="027d7cfe7c7f2d473caf37960292caa5"

View File

@ -0,0 +1,3 @@
source_md5="629506f9960b301a756d2a6baa50d9d3"
dest_md5="034c8cc8fcb5ef8837349db206162361"

View File

@ -0,0 +1,3 @@
source_md5="d2ca8915f104b4e471a6ad3eed7f4331"
dest_md5="705eebe493abb06223e1272571eaa29e"

View File

@ -0,0 +1,3 @@
source_md5="d2ca8915f104b4e471a6ad3eed7f4331"
dest_md5="705eebe493abb06223e1272571eaa29e"

View File

@ -3,8 +3,8 @@ extends Node2D
var ShowInventory = 0 var ShowInventory = 0
var LeftClick = 0 var LeftClick = 0
var player_inventory_items = [] var player_inventory_items = []
var loadedscenes = {} var loadedscenes = {"RiverIntersectionHome":"res://Maps/river_intersection_home.tscn"}
var river_intersection_home_2 = preload("res://river_intersection_home2.tscn").instance() #var river_intersection_home_2 = preload("res://Maps/river_intersection_home.tscn").instance()
var inventory_screen = preload("res://MiscScenes/Inventory.tscn").instance() var inventory_screen = preload("res://MiscScenes/Inventory.tscn").instance()
var loadgame_screen = null var loadgame_screen = null
var current_scene = null var current_scene = null
@ -38,26 +38,33 @@ func AddScene(scene, savename, loadscene=true):
#Go to schene by name #Go to schene by name
func GoToScene(scene): func GoToScene(scene):
if current_scene != null: print("Scene is ",scene)
get_tree().get_root().remove_child(current_scene) get_tree().change_scene("res://Maps/river_intersection_home.tscn")
if scene in loadedscenes:
current_scene = loadedscenes[scene] # Voor het geval iemand dit toch nog belangrijk vindt.
get_tree().get_root().add_child(loadedscenes[scene]) # if current_scene != null:
return # print("here")
else: # get_tree().change_scene("res://Maps/river_intersection_home.tscn")
print("Could not load scene " + scene) # get_tree().get_root().remove_child(current_scene)
# match scene: # get_tree().get_root().add_child(loadedscenes[scene])
# "river_intersection_home_2": # if scene in loadedscenes:
# current_scene = river_intersection_home_2 # current_scene = loadedscenes[scene]
# get_tree().get_root().add_child(river_intersection_home_2) # get_tree().get_root().add_child(loadedscenes[scene])
# "inventory_screen": # return
# inventory_screen = preload("res://MiscScenes/Inventory.tscn").instance() # else:
# current_scene = inventory_screen # print("Could not load scene " + scene)
# get_tree().get_root().add_child(inventory_screen) # match scene:
# "loadgame_screen": # "river_intersection_home_2":
# loadgame_screen = preload("res://MenuScenes/LoadGame_Menu.tscn").instance() # current_scene = "river_intersection_home_2"
# current_scene = loadgame_screen # get_tree().get_root().add_child(river_intersection_home_2)
# get_tree().get_root().add_child(loadgame_screen) # "inventory_screen":
# inventory_screen = preload("res://MiscScenes/Inventory.tscn").instance()
# current_scene = inventory_screen
# get_tree().get_root().add_child(inventory_screen)
# "loadgame_screen":
# loadgame_screen = preload("res://MenuScenes/LoadGame_Menu.tscn").instance()
# current_scene = loadgame_screen
# get_tree().get_root().add_child(loadgame_screen)
func LoadSave(target="Storage.db"): func LoadSave(target="Storage.db"):
dbname = target dbname = target

View File

@ -1,27 +1,27 @@
[gd_scene load_steps=25 format=2] [gd_scene load_steps=25 format=2]
[ext_resource path="res://omgeving/Floor.tres" type="TileSet" id=1] [ext_resource path="res://kbscene/char.png" type="Texture" id=1]
[ext_resource path="res://pictures/tileset_images/vegetation.png" type="Texture" id=2] [ext_resource path="res://pictures/gui/player_interaction.tres" type="TileSet" id=2]
[ext_resource path="res://pictures/gui/buttons/LeftButton.png" type="Texture" id=3] [ext_resource path="res://omgeving/Floor.tres" type="TileSet" id=3]
[ext_resource path="res://kbscene/char.png" type="Texture" id=4] [ext_resource path="res://pictures/tileset_images/vegetation.png" type="Texture" id=4]
[ext_resource path="res://MiscCodes/KinematicBody2D.gd" type="Script" id=5] [ext_resource path="res://pictures/gui/buttons/LeftButton.png" type="Texture" id=5]
[ext_resource path="res://MiscCodes/TouchScreenButton.gd" type="Script" id=6] [ext_resource path="res://pictures/gui/buttons/LeftButtonPressed.png" type="Texture" id=6]
[ext_resource path="res://pictures/gui/buttons/LeftButtonPressed.png" type="Texture" id=7] [ext_resource path="res://pictures/gui/buttons/TopButtonPressed.png" type="Texture" id=7]
[ext_resource path="res://pictures/gui/buttons/TopButtonPressed.png" type="Texture" id=8] [ext_resource path="res://pictures/gui/buttons/map.png" type="Texture" id=8]
[ext_resource path="res://pictures/gui/buttons/TopButton.png" type="Texture" id=9] [ext_resource path="res://pictures/gui/buttons/instellingen2.png" type="Texture" id=9]
[ext_resource path="res://pictures/gui/player_interaction.tres" type="TileSet" id=10] [ext_resource path="res://pictures/gui/buttons/TopButton.png" type="Texture" id=10]
[ext_resource path="res://pictures/gui/buttons/inventory.png" type="Texture" id=11] [ext_resource path="res://pictures/gui/buttons/quick_item_button.png" type="Texture" id=11]
[ext_resource path="res://pictures/gui/buttons/crafting_alchemy.png" type="Texture" id=12] [ext_resource path="res://pictures/gui/buttons/crafting_alchemy.png" type="Texture" id=12]
[ext_resource path="res://pictures/gui/buttons/instellingen2.png" type="Texture" id=13] [ext_resource path="res://pictures/gui/buttons/inventory.png" type="Texture" id=13]
[ext_resource path="res://pictures/gui/buttons/quick_item_button.png" type="Texture" id=14] [ext_resource path="res://MiscCodes/Tilemap_CameraView.gd" type="Script" id=14]
[ext_resource path="res://pictures/gui/buttons/map.png" type="Texture" id=15] [ext_resource path="res://MiscCodes/KinematicBody2D.gd" type="Script" id=15]
[ext_resource path="res://MiscCodes/Tilemap_CameraView.gd" type="Script" id=16] [ext_resource path="res://MiscCodes/TouchScreenButton.gd" type="Script" id=16]
[ext_resource path="res://MiscCodes/background_script.gd" type="Script" id=17] [ext_resource path="res://MiscCodes/background_script.gd" type="Script" id=17]
[ext_resource path="res://pictures/tileset_images/interaction_map.png" type="Texture" id=18] [ext_resource path="res://pictures/tileset_images/interaction_map.png" type="Texture" id=18]
[sub_resource type="TileSet" id=1] [sub_resource type="TileSet" id=1]
0/name = "vegetation.png 0" 0/name = "vegetation.png 0"
0/texture = ExtResource( 2 ) 0/texture = ExtResource( 4 )
0/tex_offset = Vector2( 0, 0 ) 0/tex_offset = Vector2( 0, 0 )
0/modulate = Color( 1, 1, 1, 1 ) 0/modulate = Color( 1, 1, 1, 1 )
0/region = Rect2( 0, 0, 288, 32 ) 0/region = Rect2( 0, 0, 288, 32 )
@ -164,7 +164,7 @@ radius = 20.0
[node name="Map1" type="Node2D"] [node name="Map1" type="Node2D"]
[node name="background" type="TileMap" parent="."] [node name="background" type="TileMap" parent="."]
tile_set = ExtResource( 1 ) tile_set = ExtResource( 3 )
cell_size = Vector2( 32, 32 ) cell_size = Vector2( 32, 32 )
cell_custom_transform = Transform2D( 16, 0, 0, 16, 0, 0 ) cell_custom_transform = Transform2D( 16, 0, 0, 16, 0, 0 )
format = 1 format = 1
@ -186,7 +186,7 @@ format = 1
tile_data = PoolIntArray( 2293767, 4, 0, 2293773, 2, 0, 2359308, 2, 0, 2359309, 2, 0, 2359310, 2, 0, 2424844, 2, 0, 2424845, 2, 0, 2490381, 2, 0, 2752538, 6, 0 ) tile_data = PoolIntArray( 2293767, 4, 0, 2293773, 2, 0, 2359308, 2, 0, 2359309, 2, 0, 2359310, 2, 0, 2424844, 2, 0, 2424845, 2, 0, 2490381, 2, 0, 2752538, 6, 0 )
[node name="player_interaction" type="TileMap" parent="."] [node name="player_interaction" type="TileMap" parent="."]
tile_set = ExtResource( 10 ) tile_set = ExtResource( 2 )
cell_size = Vector2( 32, 32 ) cell_size = Vector2( 32, 32 )
cell_custom_transform = Transform2D( 16, 0, 0, 16, 0, 0 ) cell_custom_transform = Transform2D( 16, 0, 0, 16, 0, 0 )
format = 1 format = 1
@ -199,7 +199,7 @@ limit_left = 0
limit_top = 0 limit_top = 0
limit_right = 4800 limit_right = 4800
limit_bottom = 4800 limit_bottom = 4800
script = ExtResource( 16 ) script = ExtResource( 14 )
[node name="Interactive" type="Node2D" parent="Camera2D"] [node name="Interactive" type="Node2D" parent="Camera2D"]
position = Vector2( -705.297, -1197.88 ) position = Vector2( -705.297, -1197.88 )
@ -209,9 +209,9 @@ visible = false
position = Vector2( 272.559, 948.524 ) position = Vector2( 272.559, 948.524 )
scale = Vector2( 13.402, 62.475 ) scale = Vector2( 13.402, 62.475 )
z_index = 12 z_index = 12
normal = ExtResource( 9 ) normal = ExtResource( 10 )
action = "ui_end" action = "ui_end"
script = ExtResource( 10 ) script = ExtResource( 2 )
[node name="GameButtons" type="Node2D" parent="Camera2D/Interactive"] [node name="GameButtons" type="Node2D" parent="Camera2D/Interactive"]
@ -219,7 +219,7 @@ script = ExtResource( 10 )
position = Vector2( 91.7642, 898.314 ) position = Vector2( 91.7642, 898.314 )
scale = Vector2( 1.23042, 1.11552 ) scale = Vector2( 1.23042, 1.11552 )
z_index = 13 z_index = 13
normal = ExtResource( 11 ) normal = ExtResource( 13 )
action = "inventory_button" action = "inventory_button"
[node name="Crafting" type="TouchScreenButton" parent="Camera2D/Interactive/GameButtons"] [node name="Crafting" type="TouchScreenButton" parent="Camera2D/Interactive/GameButtons"]
@ -233,63 +233,63 @@ position = Vector2( 1319.96, 1020.83 )
rotation = -3.14158 rotation = -3.14158
scale = Vector2( 1.22003, 1.11562 ) scale = Vector2( 1.22003, 1.11562 )
z_index = 13 z_index = 13
normal = ExtResource( 13 ) normal = ExtResource( 9 )
[node name="Map" type="TouchScreenButton" parent="Camera2D/Interactive/GameButtons"] [node name="Map" type="TouchScreenButton" parent="Camera2D/Interactive/GameButtons"]
position = Vector2( 88.136, 1376.12 ) position = Vector2( 88.136, 1376.12 )
scale = Vector2( 1.21844, 1.10424 ) scale = Vector2( 1.21844, 1.10424 )
z_index = 13 z_index = 13
normal = ExtResource( 15 ) normal = ExtResource( 8 )
[node name="QuickItems" type="TouchScreenButton" parent="Camera2D/Interactive/GameButtons"] [node name="QuickItems" type="TouchScreenButton" parent="Camera2D/Interactive/GameButtons"]
visible = false visible = false
position = Vector2( 1130.11, 1096.88 ) position = Vector2( 1130.11, 1096.88 )
scale = Vector2( 1.73434, 1.80493 ) scale = Vector2( 1.73434, 1.80493 )
z_index = 13 z_index = 13
normal = ExtResource( 14 ) normal = ExtResource( 11 )
[node name="MoveDown" type="TouchScreenButton" parent="Camera2D/Interactive/GameButtons"] [node name="MoveDown" type="TouchScreenButton" parent="Camera2D/Interactive/GameButtons"]
position = Vector2( 224.332, 1376.07 ) position = Vector2( 224.332, 1376.07 )
scale = Vector2( 14.9928, 14.9987 ) scale = Vector2( 14.9928, 14.9987 )
z_index = 11 z_index = 11
normal = ExtResource( 9 ) normal = ExtResource( 10 )
pressed = ExtResource( 8 ) pressed = ExtResource( 7 )
shape_centered = false shape_centered = false
action = "move_down" action = "move_down"
visibility_mode = 1 visibility_mode = 1
script = ExtResource( 6 ) script = ExtResource( 16 )
[node name="MoveRight" type="TouchScreenButton" parent="Camera2D/Interactive/GameButtons"] [node name="MoveRight" type="TouchScreenButton" parent="Camera2D/Interactive/GameButtons"]
position = Vector2( 1183.87, 1024.23 ) position = Vector2( 1183.87, 1024.23 )
scale = Vector2( 16.7497, 5.49206 ) scale = Vector2( 16.7497, 5.49206 )
z_index = 11 z_index = 11
normal = ExtResource( 3 ) normal = ExtResource( 5 )
pressed = ExtResource( 7 ) pressed = ExtResource( 6 )
action = "move_right" action = "move_right"
visibility_mode = 1 visibility_mode = 1
script = ExtResource( 6 ) script = ExtResource( 16 )
[node name="MoveUp" type="TouchScreenButton" parent="Camera2D/Interactive/GameButtons"] [node name="MoveUp" type="TouchScreenButton" parent="Camera2D/Interactive/GameButtons"]
position = Vector2( 224.361, 899.343 ) position = Vector2( 224.361, 899.343 )
scale = Vector2( 14.9907, 15.5676 ) scale = Vector2( 14.9907, 15.5676 )
z_index = 11 z_index = 11
normal = ExtResource( 9 ) normal = ExtResource( 10 )
pressed = ExtResource( 8 ) pressed = ExtResource( 7 )
action = "move_up" action = "move_up"
visibility_mode = 1 visibility_mode = 1
script = ExtResource( 6 ) script = ExtResource( 16 )
[node name="MoveLeft" type="TouchScreenButton" parent="Camera2D/Interactive/GameButtons"] [node name="MoveLeft" type="TouchScreenButton" parent="Camera2D/Interactive/GameButtons"]
position = Vector2( 89.342, 1022.54 ) position = Vector2( 89.342, 1022.54 )
scale = Vector2( 16.8861, 5.52137 ) scale = Vector2( 16.8861, 5.52137 )
z_index = 11 z_index = 11
z_as_relative = false z_as_relative = false
normal = ExtResource( 3 ) normal = ExtResource( 5 )
pressed = ExtResource( 7 ) pressed = ExtResource( 6 )
shape_centered = false shape_centered = false
action = "move_left" action = "move_left"
visibility_mode = 1 visibility_mode = 1
script = ExtResource( 6 ) script = ExtResource( 16 )
[node name="dev_statistics" type="MarginContainer" parent="Camera2D"] [node name="dev_statistics" type="MarginContainer" parent="Camera2D"]
visible = false visible = false
@ -308,10 +308,10 @@ margin_bottom = 305.0
[node name="Player" type="KinematicBody2D" parent="."] [node name="Player" type="KinematicBody2D" parent="."]
position = Vector2( 700, 1200 ) position = Vector2( 700, 1200 )
script = ExtResource( 5 ) script = ExtResource( 15 )
[node name="Sprite" type="Sprite" parent="Player"] [node name="Sprite" type="Sprite" parent="Player"]
texture = ExtResource( 4 ) texture = ExtResource( 1 )
flip_h = true flip_h = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="Player"] [node name="CollisionShape2D" type="CollisionShape2D" parent="Player"]

View File

@ -24,6 +24,7 @@ func _physics_process(delta):
previous_position = Vector2(int(self.position.x / cell_size.x), int(self.position.y / cell_size.y)) previous_position = Vector2(int(self.position.x / cell_size.x), int(self.position.y / cell_size.y))
if Input.is_key_pressed(KEY_SPACE) or Input.is_mouse_button_pressed(BUTTON_LEFT): if Input.is_key_pressed(KEY_SPACE) or Input.is_mouse_button_pressed(BUTTON_LEFT):
_interaction_process() _interaction_process()
SoundOnInteraction("standard")
velocity.y += delta * GRAVITY velocity.y += delta * GRAVITY
if Input.is_action_pressed("move_left"): if Input.is_action_pressed("move_left"):
velocity.x = -WALK_SPEED velocity.x = -WALK_SPEED
@ -51,13 +52,13 @@ func InteractWithCell():
Global.AddInventoryItem(plant_cell_mouse/2, 1) Global.AddInventoryItem(plant_cell_mouse/2, 1)
plants_map.set_cell(int(world_position[0] / cell_size.x), int(world_position[1] / cell_size.y), (plant_cell_mouse-1)) plants_map.set_cell(int(world_position[0] / cell_size.x), int(world_position[1] / cell_size.y), (plant_cell_mouse-1))
AnimationOnInteraction(1) AnimationOnInteraction(1)
SoundOnInteraction() SoundOnInteraction("standard")
Global.Save() Global.Save()
elif plant_cell_character > 0 and plant_cell_character % 2 == 0: elif plant_cell_character > 0 and plant_cell_character % 2 == 0:
Global.AddInventoryItem(plant_cell_character/2, 1) Global.AddInventoryItem(plant_cell_character/2, 1)
plants_map.set_cell(int(self.position.x / cell_size.x), int(self.position.y / cell_size.y), (plant_cell_character-1)) plants_map.set_cell(int(self.position.x / cell_size.x), int(self.position.y / cell_size.y), (plant_cell_character-1))
AnimationOnInteraction(1) AnimationOnInteraction(1)
SoundOnInteraction() SoundOnInteraction("standard")
else: else:
#space is now a test function #space is now a test function
GlobalGameFunctions.RenderSpeech(self, "joe") GlobalGameFunctions.RenderSpeech(self, "joe")
@ -80,9 +81,9 @@ func AnimationOnInteraction(Item):
var itemimage = TextureRect.new() var itemimage = TextureRect.new()
var item = null var item = null
func SoundOnInteraction(): func SoundOnInteraction(x):
var CorrectSound = preload("res://Sounds/standard.wav") var Sound = load('res://Sound/{x}.wav'.format(x))
$AudioStreamPlayer.stream = CorrectSound $AudioStreamPlayer.stream = Sound
$AudioStreamPlayer.play() $AudioStreamPlayer.play()
pass pass

View File

@ -4,29 +4,28 @@ func _ready():
pass # Replace with function body. pass # Replace with function body.
func _on_Btn_PlayGame_pressed(): func _on_Btn_PlayGame_pressed():
# Global.LoadSave()
# Global.GoToScene("river_intersection_home_2")
Global.LoadSave() Global.LoadSave()
#create gamemap on the fly Global.GoToScene("river_intersection_home")
var game_data = GlobalStructures.base_tilemap.new()
var map_data = [[]]
for x in range(150):
map_data.append([])
for y in range(150):
map_data[x].append(int(rand_range(0, 3)))
game_data.init_map(150, 150, "res://omgeving/Floor.tres",map_data, "res://omgeving/Floor.tres", map_data, "res://omgeving/Floor.tres", map_data, "res://omgeving/Floor.tres", map_data)
var game = load("res://base_tilemap/base_tilemap.tscn").instance()
game.load_scene(game_data)
#create gamemap on the fly - Obsolete as of 23 08 2021
#save this scene to global scenes # var game_data = GlobalStructures.base_tilemap.new()
Global.AddScene(self, "menu", false) # var map_data = [[]]
# for x in range(150):
#set this scene as main # map_data.append([])
Global.mainscene = "startmap1" # for y in range(150):
Global.AddScene(game, "startmap1", true) # map_data[x].append(int(rand_range(0, 3)))
# get_tree().get_root().add_child(game) # game_data.init_map(150, 150, "res://omgeving/Floor.tres",map_data, "res://omgeving/Floor.tres", map_data, "res://omgeving/Floor.tres", map_data, "res://omgeving/Floor.tres", map_data)
# var game = load("res://base_tilemap/base_tilemap.tscn").instance()
# game.load_scene(game_data)
#
#
# #save this scene to global scenes
# Global.AddScene(self, "menu", false)
#
# #set this scene as main
# Global.mainscene = "startmap1"
# Global.AddScene(game, "startmap1", true)
## get_tree().get_root().add_child(game)
func _on_Btn_LoadGame_pressed(): func _on_Btn_LoadGame_pressed():
Global.GoToScene("loadgame_screen") Global.GoToScene("loadgame_screen")

View File

@ -20,6 +20,7 @@ func _unhandled_input(event):
func _on_Settings_pressed(): func _on_Settings_pressed():
Global.GoToScene("menu") Global.GoToScene("menu")
func _on_Inventory_pressed(): func _on_Inventory_released():
var inventory_screen = preload("res://MiscScenes/Inventory.tscn").instance() var inventory_screen = preload("res://MiscScenes/Inventory.tscn").instance()
Global.AddScene(inventory_screen, "inventory_screen", true) Global.AddScene(inventory_screen, "inventory_screen", true)

View File

@ -1,6 +1,7 @@
[gd_scene load_steps=3 format=2] [gd_scene load_steps=3 format=2]
[ext_resource path="res://arrow_down.png" type="Texture" id=1] [ext_resource path="res://pictures/arrow_down.png" type="Texture" id=1]
[sub_resource type="GradientTexture" id=1] [sub_resource type="GradientTexture" id=1]

View File

@ -1,9 +1,9 @@
[gd_scene load_steps=7 format=2] [gd_scene load_steps=7 format=2]
[ext_resource path="res://MiscCodes/Menu.gd" type="Script" id=1] [ext_resource path="res://MiscCodes/loading_ring.gd" type="Script" id=1]
[ext_resource path="res://pictures/animations/Loading/loading_ring.png" type="Texture" id=2] [ext_resource path="res://MiscCodes/Menu.gd" type="Script" id=2]
[ext_resource path="res://MiscCodes/loading_ring.gd" type="Script" id=3] [ext_resource path="res://pictures/animations/Loading/loading_ring.png" type="Texture" id=3]
[ext_resource path="res://pictures/gui/backgrounds/treesbackground1.png" type="Texture" id=5] [ext_resource path="res://pictures/gui/backgrounds/treesbackground1.png" type="Texture" id=4]
[sub_resource type="DynamicFontData" id=1] [sub_resource type="DynamicFontData" id=1]
font_path = "res://ring_of_races_font.ttf" font_path = "res://ring_of_races_font.ttf"
@ -13,19 +13,19 @@ size = 30
font_data = SubResource( 1 ) font_data = SubResource( 1 )
[node name="Main Menu" type="Node2D"] [node name="Main Menu" type="Node2D"]
script = ExtResource( 1 ) script = ExtResource( 2 )
[node name="loading_ring" type="Sprite" parent="."] [node name="loading_ring" type="Sprite" parent="."]
visible = false visible = false
position = Vector2( 574.719, 228.63 ) position = Vector2( 574.719, 228.63 )
z_index = 1 z_index = 1
texture = ExtResource( 2 ) texture = ExtResource( 3 )
script = ExtResource( 3 ) script = ExtResource( 1 )
[node name="Background" type="TextureRect" parent="."] [node name="Background" type="TextureRect" parent="."]
margin_right = 1234.0 margin_right = 1234.0
margin_bottom = 768.0 margin_bottom = 768.0
texture = ExtResource( 5 ) texture = ExtResource( 4 )
stretch_mode = 2 stretch_mode = 2
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false

268
Ring of Races demo.html Normal file
View File

@ -0,0 +1,268 @@
<!DOCTYPE html>
<html xmlns='http://www.w3.org/1999/xhtml' lang='' xml:lang=''>
<head>
<meta charset='utf-8' />
<meta name='viewport' content='width=device-width, user-scalable=no' />
<link id='-gd-engine-icon' rel='icon' type='image/png' href='favicon.png' />
<title>Ring of Races demo</title>
<style type='text/css'>
body {
touch-action: none;
margin: 0;
border: 0 none;
padding: 0;
text-align: center;
background-color: black;
}
#canvas {
display: block;
margin: 0;
color: white;
}
#canvas:focus {
outline: none;
}
.godot {
font-family: 'Noto Sans', 'Droid Sans', Arial, sans-serif;
color: #e0e0e0;
background-color: #3b3943;
background-image: linear-gradient(to bottom, #403e48, #35333c);
border: 1px solid #45434e;
box-shadow: 0 0 1px 1px #2f2d35;
}
/* Status display
* ============== */
#status {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
display: flex;
justify-content: center;
align-items: center;
/* don't consume click events - make children visible explicitly */
visibility: hidden;
}
#status-progress {
width: 366px;
height: 7px;
background-color: #38363A;
border: 1px solid #444246;
padding: 1px;
box-shadow: 0 0 2px 1px #1B1C22;
border-radius: 2px;
visibility: visible;
}
@media only screen and (orientation:portrait) {
#status-progress {
width: 61.8%;
}
}
#status-progress-inner {
height: 100%;
width: 0;
box-sizing: border-box;
transition: width 0.5s linear;
background-color: #202020;
border: 1px solid #222223;
box-shadow: 0 0 1px 1px #27282E;
border-radius: 3px;
}
#status-indeterminate {
visibility: visible;
position: relative;
}
#status-indeterminate > div {
width: 4.5px;
height: 0;
border-style: solid;
border-width: 9px 3px 0 3px;
border-color: #2b2b2b transparent transparent transparent;
transform-origin: center 21px;
position: absolute;
}
#status-indeterminate > div:nth-child(1) { transform: rotate( 22.5deg); }
#status-indeterminate > div:nth-child(2) { transform: rotate( 67.5deg); }
#status-indeterminate > div:nth-child(3) { transform: rotate(112.5deg); }
#status-indeterminate > div:nth-child(4) { transform: rotate(157.5deg); }
#status-indeterminate > div:nth-child(5) { transform: rotate(202.5deg); }
#status-indeterminate > div:nth-child(6) { transform: rotate(247.5deg); }
#status-indeterminate > div:nth-child(7) { transform: rotate(292.5deg); }
#status-indeterminate > div:nth-child(8) { transform: rotate(337.5deg); }
#status-notice {
margin: 0 100px;
line-height: 1.3;
visibility: visible;
padding: 4px 6px;
visibility: visible;
}
</style>
</head>
<body>
<canvas id='canvas'>
HTML5 canvas appears to be unsupported in the current browser.<br />
Please try updating or use a different browser.
</canvas>
<div id='status'>
<div id='status-progress' style='display: none;' oncontextmenu='event.preventDefault();'><div id ='status-progress-inner'></div></div>
<div id='status-indeterminate' style='display: none;' oncontextmenu='event.preventDefault();'>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div id='status-notice' class='godot' style='display: none;'></div>
</div>
<script type='text/javascript' src='Ring of Races demo.js'></script>
<script type='text/javascript'>//<![CDATA[
var engine = new Engine;
var setStatusMode;
var setStatusNotice;
(function() {
const EXECUTABLE_NAME = 'Ring of Races demo';
const MAIN_PACK = 'Ring of Races demo.pck';
const INDETERMINATE_STATUS_STEP_MS = 100;
var canvas = document.getElementById('canvas');
var statusProgress = document.getElementById('status-progress');
var statusProgressInner = document.getElementById('status-progress-inner');
var statusIndeterminate = document.getElementById('status-indeterminate');
var statusNotice = document.getElementById('status-notice');
var initializing = true;
var statusMode = 'hidden';
var animationCallbacks = [];
function animate(time) {
animationCallbacks.forEach(callback => callback(time));
requestAnimationFrame(animate);
}
requestAnimationFrame(animate);
function adjustCanvasDimensions() {
var scale = window.devicePixelRatio || 1;
var width = window.innerWidth;
var height = window.innerHeight;
canvas.width = width * scale;
canvas.height = height * scale;
canvas.style.width = width + "px";
canvas.style.height = height + "px";
}
animationCallbacks.push(adjustCanvasDimensions);
adjustCanvasDimensions();
setStatusMode = function setStatusMode(mode) {
if (statusMode === mode || !initializing)
return;
[statusProgress, statusIndeterminate, statusNotice].forEach(elem => {
elem.style.display = 'none';
});
animationCallbacks = animationCallbacks.filter(function(value) {
return (value != animateStatusIndeterminate);
});
switch (mode) {
case 'progress':
statusProgress.style.display = 'block';
break;
case 'indeterminate':
statusIndeterminate.style.display = 'block';
animationCallbacks.push(animateStatusIndeterminate);
break;
case 'notice':
statusNotice.style.display = 'block';
break;
case 'hidden':
break;
default:
throw new Error('Invalid status mode');
}
statusMode = mode;
}
function animateStatusIndeterminate(ms) {
var i = Math.floor(ms / INDETERMINATE_STATUS_STEP_MS % 8);
if (statusIndeterminate.children[i].style.borderTopColor == '') {
Array.prototype.slice.call(statusIndeterminate.children).forEach(child => {
child.style.borderTopColor = '';
});
statusIndeterminate.children[i].style.borderTopColor = '#dfdfdf';
}
}
setStatusNotice = function setStatusNotice(text) {
while (statusNotice.lastChild) {
statusNotice.removeChild(statusNotice.lastChild);
}
var lines = text.split('\n');
lines.forEach((line) => {
statusNotice.appendChild(document.createTextNode(line));
statusNotice.appendChild(document.createElement('br'));
});
};
engine.setProgressFunc((current, total) => {
if (total > 0) {
statusProgressInner.style.width = current/total * 100 + '%';
setStatusMode('progress');
if (current === total) {
// wait for progress bar animation
setTimeout(() => {
setStatusMode('indeterminate');
}, 500);
}
} else {
setStatusMode('indeterminate');
}
});
function displayFailureNotice(err) {
var msg = err.message || err;
console.error(msg);
setStatusNotice(msg);
setStatusMode('notice');
initializing = false;
};
if (!Engine.isWebGLAvailable()) {
displayFailureNotice('WebGL not available');
} else {
setStatusMode('indeterminate');
engine.setCanvas(canvas);
engine.startGame(EXECUTABLE_NAME, MAIN_PACK).then(() => {
setStatusMode('hidden');
initializing = false;
}, displayFailureNotice);
}
})();
//]]></script>
</body>
</html>

458
Ring of Races demo.js Normal file

File diff suppressed because one or more lines are too long

BIN
Ring of Races demo.pck Normal file

Binary file not shown.

BIN
Ring of Races demo.wasm Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -187,7 +187,7 @@ pause_mode = 2
stream = ExtResource( 17 ) stream = ExtResource( 17 )
[node name="Tween" type="Tween" parent="."] [node name="Tween" type="Tween" parent="."]
[connection signal="pressed" from="Camera2D/Interactive/GameButtons/Inventory" to="background" method="_on_Inventory_pressed"] [connection signal="released" from="Camera2D/Interactive/GameButtons/Inventory" to="background" method="_on_Inventory_released"]
[connection signal="pressed" from="Camera2D/Interactive/GameButtons/MoveDown" to="Player" method="_on_TouchScreenButton_pressed"] [connection signal="pressed" from="Camera2D/Interactive/GameButtons/MoveDown" to="Player" method="_on_TouchScreenButton_pressed"]
[connection signal="pressed" from="Camera2D/Interactive/GameButtons/MoveRight" to="Player" method="_on_TouchScreenButton_pressed"] [connection signal="pressed" from="Camera2D/Interactive/GameButtons/MoveRight" to="Player" method="_on_TouchScreenButton_pressed"]
[connection signal="pressed" from="Camera2D/Interactive/GameButtons/MoveUp" to="Player" method="_on_TouchScreenButton_pressed"] [connection signal="pressed" from="Camera2D/Interactive/GameButtons/MoveUp" to="Player" method="_on_TouchScreenButton_pressed"]

View File

@ -198,3 +198,26 @@ permissions/write_sms=false
permissions/write_social_stream=false permissions/write_social_stream=false
permissions/write_sync_settings=false permissions/write_sync_settings=false
permissions/write_user_dictionary=false permissions/write_user_dictionary=false
[preset.1]
name="HTML5"
platform="HTML5"
runnable=true
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="./Ring of Races demo.html"
patch_list=PoolStringArray( )
script_export_mode=1
script_encryption_key=""
[preset.1.options]
vram_texture_compression/for_desktop=true
vram_texture_compression/for_mobile=false
html/custom_html_shell=""
html/head_include=""
custom_template/release=""
custom_template/debug=""

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/Ring of Races demo.png-9b998eb6041f0aa4e3d77e5c740a8d4e.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://pictures/Ring of Races demo.png"
dest_files=[ "res://.import/Ring of Races demo.png-9b998eb6041f0aa4e3d77e5c740a8d4e.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

View File

Before

Width:  |  Height:  |  Size: 403 B

After

Width:  |  Height:  |  Size: 403 B

View File

@ -2,15 +2,15 @@
importer="texture" importer="texture"
type="StreamTexture" type="StreamTexture"
path="res://.import/arrow_down.png-0f9f31559f7b0aff7042410857cea323.stex" path="res://.import/arrow_down.png-46267ad63ad28dd270d75fc67f53d229.stex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://arrow_down.png" source_file="res://pictures/arrow_down.png"
dest_files=[ "res://.import/arrow_down.png-0f9f31559f7b0aff7042410857cea323.stex" ] dest_files=[ "res://.import/arrow_down.png-46267ad63ad28dd270d75fc67f53d229.stex" ]
[params] [params]

BIN
pictures/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/favicon.png-90b25869eacfc9dcc32327e9ca7c0a3d.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://pictures/favicon.png"
dest_files=[ "res://.import/favicon.png-90b25869eacfc9dcc32327e9ca7c0a3d.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

View File

@ -21,7 +21,7 @@ _global_script_class_icons={
[application] [application]
config/name="Ring of Races demo" config/name="Ring of Races demo"
run/main_scene="res://Menu.tscn" run/main_scene="res://MiscScenes/Menu.tscn"
config/icon="res://pictures/gui/buttons/delete_ringofraces.png" config/icon="res://pictures/gui/buttons/delete_ringofraces.png"
[autoload] [autoload]