Compare commits
No commits in common. '140173c7348b4f9de273ac8320ed87dd3717c4d0' and '3352518f0829d29bdc0f184bb6a91fe19d84d0b5' have entirely different histories.
140173c734
...
3352518f08
@ -1,9 +0,0 @@ |
|||||||
root = true |
|
||||||
|
|
||||||
[*] |
|
||||||
charset = utf-8 |
|
||||||
end_of_line = lf |
|
||||||
indent_style = tab |
|
||||||
indent_size = 4 |
|
||||||
trim_trailing_whitespace = true |
|
||||||
insert_final_newline = true |
|
@ -1,5 +1,8 @@ |
|||||||
/.godot/ |
|
||||||
/.import/ |
/.import/ |
||||||
/export.cfg |
/.mono/ |
||||||
/export_credentials.cfg |
/bin/ |
||||||
|
/build/ |
||||||
|
/lib/ |
||||||
*.translation |
*.translation |
||||||
|
export_presets.cfg |
||||||
|
mono_crash.* |
||||||
|
@ -0,0 +1,30 @@ |
|||||||
|
{ |
||||||
|
"version": "0.2.0", |
||||||
|
"configurations": [{ |
||||||
|
"name": "Play in Editor", |
||||||
|
"type": "godot-mono", |
||||||
|
"mode": "playInEditor", |
||||||
|
"request": "launch", |
||||||
|
"preLaunchTask": "build" |
||||||
|
},{ |
||||||
|
"name": "Launch (Linux)", |
||||||
|
"type": "godot-mono", |
||||||
|
"request": "launch", |
||||||
|
"mode": "executable", |
||||||
|
"executable": "${workspaceRoot}/build/linux/${workspaceFolderBasename}.x86_64", |
||||||
|
"executableArguments": [ "--path", "${workspaceRoot}" ] |
||||||
|
},{ |
||||||
|
"name": "Launch (Windows)", |
||||||
|
"type": "godot-mono", |
||||||
|
"request": "launch", |
||||||
|
"mode": "executable", |
||||||
|
"executable": "${workspaceRoot}/build/windows/${workspaceFolderBasename}.exe", |
||||||
|
"executableArguments": [ "--path", "${workspaceRoot}" ] |
||||||
|
},{ |
||||||
|
"name": "Attach", |
||||||
|
"type": "godot-mono", |
||||||
|
"request": "attach", |
||||||
|
"address": "localhost", |
||||||
|
"port": 23685 |
||||||
|
}] |
||||||
|
} |
@ -0,0 +1,17 @@ |
|||||||
|
{ |
||||||
|
"editor.tabSize": 4, |
||||||
|
"editor.insertSpaces": true, |
||||||
|
|
||||||
|
"files.trimTrailingWhitespace": true, |
||||||
|
"files.trimFinalNewlines": true, |
||||||
|
"files.insertFinalNewline": true, |
||||||
|
|
||||||
|
"files.exclude": { |
||||||
|
"**/.git": true, |
||||||
|
"**/*.import": true, |
||||||
|
}, |
||||||
|
|
||||||
|
"[markdown]": { |
||||||
|
"files.trimTrailingWhitespace": false, |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
{ |
||||||
|
"version": "2.0.0", |
||||||
|
"tasks": [{ |
||||||
|
"group": "build", |
||||||
|
"label": "build", |
||||||
|
"type": "shell", |
||||||
|
"command": "msbuild", |
||||||
|
"args": [ |
||||||
|
"/property:GenerateFullPaths=true", |
||||||
|
"/consoleloggerparameters:NoSummary", |
||||||
|
"/t:build", |
||||||
|
], |
||||||
|
"presentation": { "reveal": "silent" }, |
||||||
|
"problemMatcher": "$msCompile" |
||||||
|
}] |
||||||
|
} |
@ -0,0 +1,5 @@ |
|||||||
|
<Project Sdk="Godot.NET.Sdk/3.3.0"> |
||||||
|
<PropertyGroup> |
||||||
|
<TargetFramework>net472</TargetFramework> |
||||||
|
</PropertyGroup> |
||||||
|
</Project> |
@ -1,67 +0,0 @@ |
|||||||
[preset.0] |
|
||||||
|
|
||||||
name="Linux/X11" |
|
||||||
platform="Linux/X11" |
|
||||||
runnable=true |
|
||||||
custom_features="" |
|
||||||
export_filter="all_resources" |
|
||||||
include_filter="" |
|
||||||
exclude_filter="" |
|
||||||
export_path="build/linux/YourFortV.x86_64" |
|
||||||
patch_list=PoolStringArray( ) |
|
||||||
script_export_mode=1 |
|
||||||
script_encryption_key="" |
|
||||||
|
|
||||||
[preset.0.options] |
|
||||||
|
|
||||||
texture_format/bptc=false |
|
||||||
texture_format/s3tc=true |
|
||||||
texture_format/etc=false |
|
||||||
texture_format/etc2=false |
|
||||||
texture_format/no_bptc_fallbacks=true |
|
||||||
binary_format/64_bits=true |
|
||||||
binary_format/embed_pck=false |
|
||||||
custom_template/release="" |
|
||||||
custom_template/debug="" |
|
||||||
|
|
||||||
[preset.1] |
|
||||||
|
|
||||||
name="Windows Desktop" |
|
||||||
platform="Windows Desktop" |
|
||||||
runnable=true |
|
||||||
custom_features="" |
|
||||||
export_filter="all_resources" |
|
||||||
include_filter="" |
|
||||||
exclude_filter="" |
|
||||||
export_path="build/windows/YourFortV.exe" |
|
||||||
patch_list=PoolStringArray( ) |
|
||||||
script_export_mode=1 |
|
||||||
script_encryption_key="" |
|
||||||
|
|
||||||
[preset.1.options] |
|
||||||
|
|
||||||
texture_format/bptc=false |
|
||||||
texture_format/s3tc=true |
|
||||||
texture_format/etc=false |
|
||||||
texture_format/etc2=false |
|
||||||
texture_format/no_bptc_fallbacks=true |
|
||||||
binary_format/64_bits=true |
|
||||||
binary_format/embed_pck=false |
|
||||||
custom_template/release="" |
|
||||||
custom_template/debug="" |
|
||||||
codesign/enable=false |
|
||||||
codesign/identity="" |
|
||||||
codesign/password="" |
|
||||||
codesign/timestamp=true |
|
||||||
codesign/timestamp_server_url="" |
|
||||||
codesign/digest_algorithm=1 |
|
||||||
codesign/description="" |
|
||||||
codesign/custom_options=PoolStringArray( ) |
|
||||||
application/icon="" |
|
||||||
application/file_version="" |
|
||||||
application/product_version="" |
|
||||||
application/company_name="" |
|
||||||
application/product_name="" |
|
||||||
application/file_description="" |
|
||||||
application/copyright="" |
|
||||||
application/trademarks="" |
|
@ -1,26 +0,0 @@ |
|||||||
class_name Game |
|
||||||
extends Node |
|
||||||
|
|
||||||
static var INSTANCE : Game |
|
||||||
static var NETWORK : Network |
|
||||||
static var WORLD : World |
|
||||||
static var PLAYERS : Node |
|
||||||
static var LOCAL_PLAYER : Player |
|
||||||
|
|
||||||
func _enter_tree() -> void: |
|
||||||
INSTANCE = self |
|
||||||
NETWORK = $Network |
|
||||||
WORLD = $World |
|
||||||
PLAYERS = $Players |
|
||||||
LOCAL_PLAYER = $"Players/1" |
|
||||||
|
|
||||||
func change_world(world: World) -> void: |
|
||||||
remove_child(WORLD) |
|
||||||
WORLD.queue_free() |
|
||||||
|
|
||||||
world.name = "World" |
|
||||||
add_child(world) |
|
||||||
WORLD = world |
|
||||||
|
|
||||||
LOCAL_PLAYER.chunk_loader.tracked_chunks.clear() |
|
||||||
LOCAL_PLAYER.position = Vector2.ZERO |
|
@ -1 +0,0 @@ |
|||||||
uid://4rqg0th44b4y |
|
@ -1,63 +0,0 @@ |
|||||||
[gd_scene load_steps=13 format=3 uid="uid://bxhfecc34tahh"] |
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://17f8yypfxgq8" path="res://hud/background.png" id="1_hve3p"] |
|
||||||
[ext_resource type="Script" uid="uid://4rqg0th44b4y" path="res://game.gd" id="1_mfdv2"] |
|
||||||
[ext_resource type="Script" uid="uid://6cd3jkc185pa" path="res://hud/background.gd" id="2_mfdv2"] |
|
||||||
[ext_resource type="Script" uid="uid://yhfl5jhw8xw1" path="res://world/world.gd" id="3_hve3p"] |
|
||||||
[ext_resource type="Script" uid="uid://cayck3pgtxys6" path="res://network/network.gd" id="4_iotsf"] |
|
||||||
[ext_resource type="PackedScene" uid="uid://dnuy2pdb7p1gy" path="res://player/player.tscn" id="4_lc2xo"] |
|
||||||
[ext_resource type="PackedScene" uid="uid://jv30ao4ppc3h" path="res://hud/escape_menu/escape_menu.tscn" id="5_215e1"] |
|
||||||
[ext_resource type="Script" path="res://scripts/hud/Health.gd" id="6_7sc4i"] |
|
||||||
[ext_resource type="PackedScene" uid="uid://br618d1sbfgie" path="res://hud/radial_menu.tscn" id="7_80cx4"] |
|
||||||
[ext_resource type="Texture2D" uid="uid://cjvxdbr5eplcj" path="res://hud/cursor.png" id="8_e8heu"] |
|
||||||
[ext_resource type="Script" uid="uid://dm2ux2aj8pdpn" path="res://hud/cursor.gd" id="9_rvswv"] |
|
||||||
[ext_resource type="PackedScene" uid="uid://vbqf8dv4enpe" path="res://hud/weapon_info.tscn" id="10_boyg6"] |
|
||||||
|
|
||||||
[node name="Game" type="Node"] |
|
||||||
script = ExtResource("1_mfdv2") |
|
||||||
|
|
||||||
[node name="Background" type="TextureRect" parent="."] |
|
||||||
modulate = Color(0.278431, 0.286275, 0.301961, 1) |
|
||||||
offset_right = 1280.0 |
|
||||||
offset_bottom = 720.0 |
|
||||||
mouse_filter = 2 |
|
||||||
texture = ExtResource("1_hve3p") |
|
||||||
stretch_mode = 1 |
|
||||||
script = ExtResource("2_mfdv2") |
|
||||||
|
|
||||||
[node name="Network" type="Node" parent="."] |
|
||||||
script = ExtResource("4_iotsf") |
|
||||||
|
|
||||||
[node name="World" type="Node" parent="."] |
|
||||||
script = ExtResource("3_hve3p") |
|
||||||
|
|
||||||
[node name="Players" type="Node" parent="."] |
|
||||||
|
|
||||||
[node name="1" parent="Players" instance=ExtResource("4_lc2xo")] |
|
||||||
|
|
||||||
[node name="Camera" type="Camera2D" parent="Players/1"] |
|
||||||
|
|
||||||
[node name="HUD" type="CanvasLayer" parent="."] |
|
||||||
|
|
||||||
[node name="EscapeMenu" parent="HUD" instance=ExtResource("5_215e1")] |
|
||||||
visible = false |
|
||||||
z_index = 100 |
|
||||||
|
|
||||||
[node name="RadialMenu" parent="HUD" node_paths=PackedStringArray("cursor", "player") instance=ExtResource("7_80cx4")] |
|
||||||
visible = false |
|
||||||
cursor = NodePath("../../CursorLayer/Cursor") |
|
||||||
player = NodePath("../../Players/1") |
|
||||||
|
|
||||||
[node name="Health" type="Node2D" parent="HUD"] |
|
||||||
script = ExtResource("6_7sc4i") |
|
||||||
|
|
||||||
[node name="CursorLayer" type="CanvasLayer" parent="."] |
|
||||||
process_mode = 3 |
|
||||||
layer = 2 |
|
||||||
follow_viewport_enabled = true |
|
||||||
|
|
||||||
[node name="Cursor" type="Sprite2D" parent="CursorLayer"] |
|
||||||
texture = ExtResource("8_e8heu") |
|
||||||
script = ExtResource("9_rvswv") |
|
||||||
|
|
||||||
[node name="WeaponInfo" parent="CursorLayer/Cursor" instance=ExtResource("10_boyg6")] |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/background.png-34463f2717b0502091d019b33ae7e4f3.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/background.png" |
||||||
|
dest_files=[ "res://.import/background.png-34463f2717b0502091d019b33ae7e4f3.stex" ] |
||||||
|
|
||||||
|
[params] |
||||||
|
|
||||||
|
compress/mode=0 |
||||||
|
compress/lossy_quality=0.7 |
||||||
|
compress/hdr_mode=0 |
||||||
|
compress/bptc_ldr=0 |
||||||
|
compress/normal_map=0 |
||||||
|
flags/repeat=1 |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 314 B After Width: | Height: | Size: 314 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/block.png-60e5fe55f4421ac5893119a21190be18.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/block.png" |
||||||
|
dest_files=[ "res://.import/block.png-60e5fe55f4421ac5893119a21190be18.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 |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/cursor.png-3b96f8448db3dedf6af5b6b7fc13768f.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/cursor.png" |
||||||
|
dest_files=[ "res://.import/cursor.png-3b96f8448db3dedf6af5b6b7fc13768f.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 |
Before Width: | Height: | Size: 313 B After Width: | Height: | Size: 313 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/AK47.png-b3a2177e704ef07670dcc3fbcf5fe2b5.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/AK47.png" |
||||||
|
dest_files=[ "res://.import/AK47.png-b3a2177e704ef07670dcc3fbcf5fe2b5.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 241 B After Width: | Height: | Size: 241 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/Blunderbuss.png-f9541a9afbcc7503436ddb33d87600bd.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/Blunderbuss.png" |
||||||
|
dest_files=[ "res://.import/Blunderbuss.png-f9541a9afbcc7503436ddb33d87600bd.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 338 B After Width: | Height: | Size: 338 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/BowArrow.png-6b5dd8d866365f0485866a478b6a0cd1.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/BowArrow.png" |
||||||
|
dest_files=[ "res://.import/BowArrow.png-6b5dd8d866365f0485866a478b6a0cd1.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 255 B After Width: | Height: | Size: 255 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/ColtSingleActionArmy.png-4ffeb11f8b9db175b4a4529b4533c26c.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/ColtSingleActionArmy.png" |
||||||
|
dest_files=[ "res://.import/ColtSingleActionArmy.png-4ffeb11f8b9db175b4a4529b4533c26c.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 168 B After Width: | Height: | Size: 168 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/Derringer.png-43093e7c64541e63c047f9a45f88d5c6.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/Derringer.png" |
||||||
|
dest_files=[ "res://.import/Derringer.png-43093e7c64541e63c047f9a45f88d5c6.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 231 B After Width: | Height: | Size: 231 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/DoubleBarrel.png-0d2a0a5877ea0832296b59ab69073d32.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/DoubleBarrel.png" |
||||||
|
dest_files=[ "res://.import/DoubleBarrel.png-0d2a0a5877ea0832296b59ab69073d32.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 308 B After Width: | Height: | Size: 308 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/FNScar.png-6b3a68f387ec6ab89122d03cf241a16f.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/FNScar.png" |
||||||
|
dest_files=[ "res://.import/FNScar.png-6b3a68f387ec6ab89122d03cf241a16f.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 243 B After Width: | Height: | Size: 243 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/LaserPistol.png-5913c4141046557751080b5a6a4dcbb9.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/LaserPistol.png" |
||||||
|
dest_files=[ "res://.import/LaserPistol.png-5913c4141046557751080b5a6a4dcbb9.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 229 B After Width: | Height: | Size: 229 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/M1911.png-fb90f2bf6081ebaaa4570e1f13d26084.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/M1911.png" |
||||||
|
dest_files=[ "res://.import/M1911.png-fb90f2bf6081ebaaa4570e1f13d26084.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/M1Garand.png-8ea72bda0579460c0ab21455199ddf51.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/M1Garand.png" |
||||||
|
dest_files=[ "res://.import/M1Garand.png-8ea72bda0579460c0ab21455199ddf51.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 227 B After Width: | Height: | Size: 227 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/MP40.png-541ce9f02220339ddd77f7c18bfb102c.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/MP40.png" |
||||||
|
dest_files=[ "res://.import/MP40.png-541ce9f02220339ddd77f7c18bfb102c.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 218 B After Width: | Height: | Size: 218 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/MauserC96.png-e3f26ff256559f76cbf4380e8c78de28.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/MauserC96.png" |
||||||
|
dest_files=[ "res://.import/MauserC96.png-e3f26ff256559f76cbf4380e8c78de28.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 244 B After Width: | Height: | Size: 244 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/MoneyLauncher.png-38558cda7f759b8a828a02520ae7fa9d.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/MoneyLauncher.png" |
||||||
|
dest_files=[ "res://.import/MoneyLauncher.png-38558cda7f759b8a828a02520ae7fa9d.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 249 B After Width: | Height: | Size: 249 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/P90.png-b84ced4c3b84daba88bcb46f3f2fb629.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/P90.png" |
||||||
|
dest_files=[ "res://.import/P90.png-b84ced4c3b84daba88bcb46f3f2fb629.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 356 B After Width: | Height: | Size: 356 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/PlasmaBlaster.png-662106c2dd5c775f0121fd667460ead0.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/PlasmaBlaster.png" |
||||||
|
dest_files=[ "res://.import/PlasmaBlaster.png-662106c2dd5c775f0121fd667460ead0.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 257 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/RocketLauncher.png-fa5fe47507c4a5106da9783313b29ce2.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/RocketLauncher.png" |
||||||
|
dest_files=[ "res://.import/RocketLauncher.png-fa5fe47507c4a5106da9783313b29ce2.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 237 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/Sawed-OffWinchester1897.png-1828856c6c85c4c85f9f239d881cc72a.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/Sawed-OffWinchester1897.png" |
||||||
|
dest_files=[ "res://.import/Sawed-OffWinchester1897.png-1828856c6c85c4c85f9f239d881cc72a.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 305 B After Width: | Height: | Size: 305 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/SuperSoaker.png-ad26a5aee73722ca7f641ac2f8616b8a.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/SuperSoaker.png" |
||||||
|
dest_files=[ "res://.import/SuperSoaker.png-ad26a5aee73722ca7f641ac2f8616b8a.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 291 B After Width: | Height: | Size: 291 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/ThombsonSMG.png-3e71e65b4033797b49413ad61792d18e.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/ThombsonSMG.png" |
||||||
|
dest_files=[ "res://.import/ThombsonSMG.png-3e71e65b4033797b49413ad61792d18e.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 233 B After Width: | Height: | Size: 233 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/Uzi.png-1c37865966347d689e7d0d5728dc5079.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/Uzi.png" |
||||||
|
dest_files=[ "res://.import/Uzi.png-1c37865966347d689e7d0d5728dc5079.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 221 B After Width: | Height: | Size: 221 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/WaltherP38.png-c8185be1b2a1769c60b86322c1f29049.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/WaltherP38.png" |
||||||
|
dest_files=[ "res://.import/WaltherP38.png-c8185be1b2a1769c60b86322c1f29049.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 239 B After Width: | Height: | Size: 239 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/Winchester1873.png-1b4ec1d71f56d7af98fb910a51fa5323.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/Winchester1873.png" |
||||||
|
dest_files=[ "res://.import/Winchester1873.png-1b4ec1d71f56d7af98fb910a51fa5323.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 234 B After Width: | Height: | Size: 234 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/Winchester1897.png-a4adb39ab0537aef28a489a5a9e49483.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/guns/Winchester1897.png" |
||||||
|
dest_files=[ "res://.import/Winchester1897.png-a4adb39ab0537aef28a489a5a9e49483.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=true |
||||||
|
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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.0 KiB |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/hit_decal.png-774262fc5a2cc970463c1e1e2886a094.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/hit_decal.png" |
||||||
|
dest_files=[ "res://.import/hit_decal.png-774262fc5a2cc970463c1e1e2886a094.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=false |
||||||
|
svg/scale=1.0 |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/icon.png-3866f89624e56ede0f5895d50d47f7c1.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/icon.png" |
||||||
|
dest_files=[ "res://.import/icon.png-3866f89624e56ede0f5895d50d47f7c1.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=true |
||||||
|
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 |
Before Width: | Height: | Size: 742 B After Width: | Height: | Size: 742 B |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="StreamTexture" |
||||||
|
path="res://.import/player.png-3013952efb05378239c0b5ec08f70756.stex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://gfx/player.png" |
||||||
|
dest_files=[ "res://.import/player.png-3013952efb05378239c0b5ec08f70756.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 |
@ -1,4 +0,0 @@ |
|||||||
class_name PhysicsLayer |
|
||||||
|
|
||||||
const WORLD := 0b00000001 |
|
||||||
const PLAYERS := 0b00000010 |
|
@ -1 +0,0 @@ |
|||||||
uid://bix4ydqnn8tyf |
|
@ -1,10 +0,0 @@ |
|||||||
class_name Background |
|
||||||
extends TextureRect |
|
||||||
|
|
||||||
func _process(delta: float) -> void: |
|
||||||
var offset := Vector2(8.0, 8.0) |
|
||||||
var tile_size := texture.get_size() |
|
||||||
var viewport_origin := -get_viewport().canvas_transform.origin |
|
||||||
var viewport_size := get_viewport_rect().size |
|
||||||
position = (viewport_origin / tile_size).floor() * tile_size - offset |
|
||||||
size = ((viewport_size + offset) / tile_size + Vector2.ONE).ceil() * tile_size |
|
@ -1 +0,0 @@ |
|||||||
uid://6cd3jkc185pa |
|
@ -1,34 +0,0 @@ |
|||||||
[remap] |
|
||||||
|
|
||||||
importer="texture" |
|
||||||
type="CompressedTexture2D" |
|
||||||
uid="uid://17f8yypfxgq8" |
|
||||||
path="res://.godot/imported/background.png-5a6727418e72aaf1aa4ee59c6ce8f6b2.ctex" |
|
||||||
metadata={ |
|
||||||
"vram_texture": false |
|
||||||
} |
|
||||||
|
|
||||||
[deps] |
|
||||||
|
|
||||||
source_file="res://hud/background.png" |
|
||||||
dest_files=["res://.godot/imported/background.png-5a6727418e72aaf1aa4ee59c6ce8f6b2.ctex"] |
|
||||||
|
|
||||||
[params] |
|
||||||
|
|
||||||
compress/mode=0 |
|
||||||
compress/high_quality=false |
|
||||||
compress/lossy_quality=0.7 |
|
||||||
compress/hdr_compression=1 |
|
||||||
compress/normal_map=0 |
|
||||||
compress/channel_pack=0 |
|
||||||
mipmaps/generate=false |
|
||||||
mipmaps/limit=-1 |
|
||||||
roughness/mode=0 |
|
||||||
roughness/src_normal="" |
|
||||||
process/fix_alpha_border=true |
|
||||||
process/premult_alpha=false |
|
||||||
process/normal_map_invert_y=false |
|
||||||
process/hdr_as_srgb=false |
|
||||||
process/hdr_clamp_exposure=false |
|
||||||
process/size_limit=0 |
|
||||||
detect_3d/compress_to=1 |
|
@ -1,20 +0,0 @@ |
|||||||
class_name Cursor |
|
||||||
extends Node2D |
|
||||||
|
|
||||||
## Position of the cursor in HUD coordinates. |
|
||||||
var hud_position: Vector2 |
|
||||||
|
|
||||||
func _ready() -> void: |
|
||||||
Input.mouse_mode = Input.MOUSE_MODE_HIDDEN |
|
||||||
|
|
||||||
func _notification(what: int) -> void: |
|
||||||
# TODO: Keep mouse visible when it was pressed down in the game window. |
|
||||||
# Meaning the game will continue to receive mouse move updates. |
|
||||||
match what: |
|
||||||
NOTIFICATION_WM_MOUSE_ENTER: visible = true |
|
||||||
NOTIFICATION_WM_MOUSE_EXIT: visible = false |
|
||||||
|
|
||||||
func _process(delta: float) -> void: |
|
||||||
# FIXME: Fix flickering mouse position when player moves. |
|
||||||
position = get_global_mouse_position() |
|
||||||
hud_position = get_viewport().get_mouse_position() |
|
@ -1 +0,0 @@ |
|||||||
uid://dm2ux2aj8pdpn |
|
@ -1,34 +0,0 @@ |
|||||||
[remap] |
|
||||||
|
|
||||||
importer="texture" |
|
||||||
type="CompressedTexture2D" |
|
||||||
uid="uid://cjvxdbr5eplcj" |
|
||||||
path="res://.godot/imported/cursor.png-f5d5b937f215ed4ffd5a25acc5a94b3a.ctex" |
|
||||||
metadata={ |
|
||||||
"vram_texture": false |
|
||||||
} |
|
||||||
|
|
||||||
[deps] |
|
||||||
|
|
||||||
source_file="res://hud/cursor.png" |
|
||||||
dest_files=["res://.godot/imported/cursor.png-f5d5b937f215ed4ffd5a25acc5a94b3a.ctex"] |
|
||||||
|
|
||||||
[params] |
|
||||||
|
|
||||||
compress/mode=0 |
|
||||||
compress/high_quality=false |
|
||||||
compress/lossy_quality=0.7 |
|
||||||
compress/hdr_compression=1 |
|
||||||
compress/normal_map=0 |
|
||||||
compress/channel_pack=0 |
|
||||||
mipmaps/generate=false |
|
||||||
mipmaps/limit=-1 |
|
||||||
roughness/mode=0 |
|
||||||
roughness/src_normal="" |
|
||||||
process/fix_alpha_border=true |
|
||||||
process/premult_alpha=false |
|
||||||
process/normal_map_invert_y=false |
|
||||||
process/hdr_as_srgb=false |
|
||||||
process/hdr_clamp_exposure=false |
|
||||||
process/size_limit=0 |
|
||||||
detect_3d/compress_to=1 |
|
@ -1,26 +0,0 @@ |
|||||||
class_name EscapeMenu |
|
||||||
extends Control |
|
||||||
|
|
||||||
@export var return_button : Button |
|
||||||
|
|
||||||
func _unhandled_input(event: InputEvent) -> void: |
|
||||||
if event.is_action_pressed("ui_cancel"): |
|
||||||
toggle() |
|
||||||
|
|
||||||
func toggle() -> void: |
|
||||||
if visible: close() |
|
||||||
else: open() |
|
||||||
func open() -> void: |
|
||||||
if visible: return |
|
||||||
# get_tree().paused = true |
|
||||||
return_button.grab_focus() |
|
||||||
visible = true |
|
||||||
func close() -> void: |
|
||||||
if not visible: return |
|
||||||
# get_tree().paused = false |
|
||||||
visible = false |
|
||||||
|
|
||||||
func _on_quit_pressed() -> void: |
|
||||||
get_tree().quit() |
|
||||||
func _on_return_pressed() -> void: |
|
||||||
close() |
|
@ -1 +0,0 @@ |
|||||||
uid://bmeafg5lumxiy |
|
@ -1,128 +0,0 @@ |
|||||||
[gd_scene load_steps=6 format=3 uid="uid://jv30ao4ppc3h"] |
|
||||||
|
|
||||||
[ext_resource type="Theme" uid="uid://4tevy1my8joc" path="res://hud/theme/ui_theme.tres" id="1"] |
|
||||||
[ext_resource type="Script" uid="uid://bmeafg5lumxiy" path="res://hud/escape_menu/escape_menu.gd" id="2_d0mme"] |
|
||||||
[ext_resource type="PackedScene" uid="uid://bqvs0e08m6hug" path="res://hud/escape_menu/escape_menu_appearance.tscn" id="3_hj3go"] |
|
||||||
[ext_resource type="PackedScene" uid="uid://7jb7w5ef8aw2" path="res://hud/escape_menu/escape_menu_multiplayer.tscn" id="4_1g7ww"] |
|
||||||
[ext_resource type="PackedScene" uid="uid://uu2v0w84blem" path="res://hud/escape_menu/escape_menu_world.tscn" id="4_f42q7"] |
|
||||||
|
|
||||||
[node name="EscapeMenu" type="Control" node_paths=PackedStringArray("return_button")] |
|
||||||
process_mode = 3 |
|
||||||
layout_mode = 3 |
|
||||||
anchors_preset = 15 |
|
||||||
anchor_right = 1.0 |
|
||||||
anchor_bottom = 1.0 |
|
||||||
grow_horizontal = 2 |
|
||||||
grow_vertical = 2 |
|
||||||
theme = ExtResource("1") |
|
||||||
script = ExtResource("2_d0mme") |
|
||||||
return_button = NodePath("CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Return") |
|
||||||
|
|
||||||
[node name="Background" type="ColorRect" parent="."] |
|
||||||
layout_mode = 0 |
|
||||||
anchor_right = 1.0 |
|
||||||
anchor_bottom = 1.0 |
|
||||||
color = Color(0, 0, 0, 0.501961) |
|
||||||
|
|
||||||
[node name="CenterContainer" type="CenterContainer" parent="."] |
|
||||||
layout_mode = 1 |
|
||||||
anchors_preset = 15 |
|
||||||
anchor_right = 1.0 |
|
||||||
anchor_bottom = 1.0 |
|
||||||
grow_horizontal = 2 |
|
||||||
grow_vertical = 2 |
|
||||||
|
|
||||||
[node name="PanelContainer" type="PanelContainer" parent="CenterContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="MarginContainer" type="MarginContainer" parent="CenterContainer/PanelContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
theme_override_constants/margin_left = 4 |
|
||||||
theme_override_constants/margin_top = 4 |
|
||||||
theme_override_constants/margin_right = 4 |
|
||||||
theme_override_constants/margin_bottom = 4 |
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer"] |
|
||||||
custom_minimum_size = Vector2(0, 13) |
|
||||||
layout_mode = 2 |
|
||||||
text = "Escape Menu" |
|
||||||
horizontal_alignment = 1 |
|
||||||
vertical_alignment = 1 |
|
||||||
|
|
||||||
[node name="HSeparator" type="HSeparator" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="TabContainer" type="TabContainer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
size_flags_vertical = 3 |
|
||||||
theme_override_constants/side_margin = 0 |
|
||||||
current_tab = 1 |
|
||||||
use_hidden_tabs_for_min_size = true |
|
||||||
|
|
||||||
[node name="Appearance" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/TabContainer" instance=ExtResource("3_hj3go")] |
|
||||||
visible = false |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="Multiplayer" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/TabContainer" instance=ExtResource("4_1g7ww")] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="World" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/TabContainer" instance=ExtResource("4_f42q7")] |
|
||||||
visible = false |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="HSeparator2" type="HSeparator" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="Quit" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
text = " " |
|
||||||
|
|
||||||
[node name="RichTextLabel" type="RichTextLabel" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Quit"] |
|
||||||
layout_mode = 1 |
|
||||||
anchors_preset = 8 |
|
||||||
anchor_left = 0.5 |
|
||||||
anchor_top = 0.5 |
|
||||||
anchor_right = 0.5 |
|
||||||
anchor_bottom = 0.5 |
|
||||||
offset_left = -44.0 |
|
||||||
offset_top = -4.5 |
|
||||||
offset_right = 44.0 |
|
||||||
offset_bottom = 4.5 |
|
||||||
grow_horizontal = 2 |
|
||||||
grow_vertical = 2 |
|
||||||
mouse_filter = 1 |
|
||||||
bbcode_enabled = true |
|
||||||
text = "Quit Game [color=#999999](Alt+F4)[/color]" |
|
||||||
fit_content = true |
|
||||||
scroll_active = false |
|
||||||
autowrap_mode = 0 |
|
||||||
|
|
||||||
[node name="Return" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
text = " " |
|
||||||
|
|
||||||
[node name="RichTextLabel" type="RichTextLabel" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Return"] |
|
||||||
layout_mode = 1 |
|
||||||
anchors_preset = 8 |
|
||||||
anchor_left = 0.5 |
|
||||||
anchor_top = 0.5 |
|
||||||
anchor_right = 0.5 |
|
||||||
anchor_bottom = 0.5 |
|
||||||
offset_left = -49.5 |
|
||||||
offset_top = -4.5 |
|
||||||
offset_right = 49.5 |
|
||||||
offset_bottom = 4.5 |
|
||||||
grow_horizontal = 2 |
|
||||||
grow_vertical = 2 |
|
||||||
mouse_filter = 1 |
|
||||||
bbcode_enabled = true |
|
||||||
text = "Return to Game [color=#999999](Esc)[/color]" |
|
||||||
fit_content = true |
|
||||||
scroll_active = false |
|
||||||
autowrap_mode = 0 |
|
||||||
|
|
||||||
[connection signal="pressed" from="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Quit" to="." method="_on_quit_pressed"] |
|
||||||
[connection signal="pressed" from="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Return" to="." method="_on_return_pressed"] |
|
@ -1,27 +0,0 @@ |
|||||||
class_name EscapeMenuAppearance |
|
||||||
extends CenterContainer |
|
||||||
|
|
||||||
@export var display_name : LineEdit |
|
||||||
@export var color_preview : TextureRect |
|
||||||
@export var color_slider : Slider |
|
||||||
|
|
||||||
var INVALID_CHARS := RegEx.create_from_string("\\s") |
|
||||||
|
|
||||||
func _ready() -> void: |
|
||||||
color_slider.value = randf() |
|
||||||
color_preview.modulate = Color.from_hsv(color_slider.value, 1.0, 1.0) |
|
||||||
|
|
||||||
func _on_display_name_text_changed(new_text: String) -> void: |
|
||||||
var valid_text := INVALID_CHARS.sub(new_text, "", true) |
|
||||||
if valid_text == new_text: return |
|
||||||
|
|
||||||
var previous_caret_column = display_name.caret_column |
|
||||||
display_name.text = valid_text |
|
||||||
display_name.caret_column = previous_caret_column - (new_text.length() - valid_text.length()) |
|
||||||
|
|
||||||
func _on_hue_value_changed(value: float) -> void: |
|
||||||
color_preview.modulate = Color.from_hsv(color_slider.value, 1.0, 1.0) |
|
||||||
|
|
||||||
func _on_visibility_changed() -> void: |
|
||||||
if is_visible_in_tree(): return # only run when hiding |
|
||||||
# TODO: Apply name and color to local player. |
|
@ -1 +0,0 @@ |
|||||||
uid://cn2xq3f6mtmd2 |
|
@ -1,65 +0,0 @@ |
|||||||
[gd_scene load_steps=3 format=3 uid="uid://bqvs0e08m6hug"] |
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://cn2xq3f6mtmd2" path="res://hud/escape_menu/escape_menu_appearance.gd" id="1_w5wcg"] |
|
||||||
[ext_resource type="Texture2D" uid="uid://bghhc7sjlstuv" path="res://player/player.png" id="2_57ibk"] |
|
||||||
|
|
||||||
[node name="Appearance" type="CenterContainer" node_paths=PackedStringArray("display_name", "color_preview", "color_slider")] |
|
||||||
script = ExtResource("1_w5wcg") |
|
||||||
display_name = NodePath("MarginContainer/VBoxContainer/ContainerName/DisplayName") |
|
||||||
color_preview = NodePath("MarginContainer/VBoxContainer/ContainerColor/Preview") |
|
||||||
color_slider = NodePath("MarginContainer/VBoxContainer/ContainerColor/Hue") |
|
||||||
metadata/_tab_index = 0 |
|
||||||
|
|
||||||
[node name="MarginContainer" type="MarginContainer" parent="."] |
|
||||||
layout_mode = 2 |
|
||||||
theme_override_constants/margin_left = 6 |
|
||||||
theme_override_constants/margin_top = 6 |
|
||||||
theme_override_constants/margin_right = 6 |
|
||||||
theme_override_constants/margin_bottom = 4 |
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="ContainerName" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/ContainerName"] |
|
||||||
custom_minimum_size = Vector2(36, 0) |
|
||||||
layout_mode = 2 |
|
||||||
text = "Name:" |
|
||||||
|
|
||||||
[node name="DisplayName" type="LineEdit" parent="MarginContainer/VBoxContainer/ContainerName"] |
|
||||||
custom_minimum_size = Vector2(142, 0) |
|
||||||
layout_mode = 2 |
|
||||||
size_flags_horizontal = 3 |
|
||||||
max_length = 20 |
|
||||||
caret_blink = true |
|
||||||
|
|
||||||
[node name="ContainerColor" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/ContainerColor"] |
|
||||||
custom_minimum_size = Vector2(36, 0) |
|
||||||
layout_mode = 2 |
|
||||||
text = "Color:" |
|
||||||
|
|
||||||
[node name="Preview" type="TextureRect" parent="MarginContainer/VBoxContainer/ContainerColor"] |
|
||||||
layout_mode = 2 |
|
||||||
texture = ExtResource("2_57ibk") |
|
||||||
|
|
||||||
[node name="Hue" type="HSlider" parent="MarginContainer/VBoxContainer/ContainerColor"] |
|
||||||
layout_mode = 2 |
|
||||||
size_flags_horizontal = 3 |
|
||||||
max_value = 1.0 |
|
||||||
step = 0.0 |
|
||||||
scrollable = false |
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer"] |
|
||||||
custom_minimum_size = Vector2(0, 12) |
|
||||||
layout_mode = 2 |
|
||||||
theme_override_colors/font_color = Color(0.6, 0.6, 0.6, 1) |
|
||||||
text = "(Close Menu to apply changes.)" |
|
||||||
|
|
||||||
[connection signal="visibility_changed" from="." to="." method="_on_visibility_changed"] |
|
||||||
[connection signal="text_changed" from="MarginContainer/VBoxContainer/ContainerName/DisplayName" to="." method="_on_display_name_text_changed"] |
|
||||||
[connection signal="value_changed" from="MarginContainer/VBoxContainer/ContainerColor/Hue" to="." method="_on_hue_value_changed"] |
|
@ -1,77 +0,0 @@ |
|||||||
class_name EscapeMenuMultiplayer |
|
||||||
extends CenterContainer |
|
||||||
|
|
||||||
# TODO: Display and update player count. |
|
||||||
const STATUS_DEFAULT := [ "No connection" , Color.ORANGE ] |
|
||||||
|
|
||||||
const STATUS_CLIENT_CONNECTING := [ "Connecting ..." , Color.YELLOW ] |
|
||||||
const STATUS_CLIENT_CONNECTED := [ "Connected (%d player%s)" , Color.GREEN ] |
|
||||||
const STATUS_CLIENT_FAILED_TO_CONNECT := [ "Failed to connect" , Color.RED ] |
|
||||||
const STATUS_CLIENT_DISCONNECTED := [ "Disconnected" , Color.ORANGE ] |
|
||||||
const STATUS_SERVER_DISCONNECTED := [ "Server disconnected" , Color.ORANGE ] |
|
||||||
|
|
||||||
const STATUS_SERVER_RUNNING := [ "Server running (%d player%s)" , Color.GREEN ] |
|
||||||
const STATUS_SERVER_STOPPED := [ "Server stopped" , Color.ORANGE ] |
|
||||||
|
|
||||||
const STATUS_ERROR_ALREADY_IN_USE := [ "Already in use" , Color.RED ] |
|
||||||
const STATUS_ERROR_CANT_CREATE := [ "Cant create" , Color.RED ] |
|
||||||
|
|
||||||
@onready var status_label : Label = %Status |
|
||||||
@onready var port_box : SpinBox = %Port |
|
||||||
@onready var address_edit : LineEdit = %Address |
|
||||||
|
|
||||||
@onready var open_close_button : Button = %OpenClose |
|
||||||
@onready var dis_connect_button : Button = %DisConnect |
|
||||||
|
|
||||||
func _ready() -> void: |
|
||||||
_update_status(STATUS_DEFAULT) |
|
||||||
Game.NETWORK.status_changed.connect(_on_status_changed) |
|
||||||
|
|
||||||
func _on_hide_address_toggled(toggled_on: bool) -> void: |
|
||||||
address_edit.secret = toggled_on |
|
||||||
|
|
||||||
func _on_status_changed(new_status: Network.Status, old_status: Network.Status) -> void: |
|
||||||
match new_status: |
|
||||||
Network.Status.SINGLEPLAYER: |
|
||||||
match old_status: |
|
||||||
Network.Status.CLIENT_CONNECTING: _update_status(STATUS_CLIENT_FAILED_TO_CONNECT) |
|
||||||
Network.Status.CLIENT_CONNECTED : _update_status(STATUS_SERVER_DISCONNECTED) |
|
||||||
Network.Status.SERVER_RUNNING : _update_status(STATUS_SERVER_STOPPED) |
|
||||||
open_close_button.text = "Open Server" |
|
||||||
dis_connect_button.disabled = false |
|
||||||
dis_connect_button.text = "Connect" |
|
||||||
open_close_button.disabled = false |
|
||||||
|
|
||||||
Network.Status.CLIENT_CONNECTING: |
|
||||||
_update_status(STATUS_CLIENT_CONNECTING) |
|
||||||
dis_connect_button.text = "Disconnect" |
|
||||||
open_close_button.disabled = true |
|
||||||
|
|
||||||
Network.Status.CLIENT_CONNECTED: |
|
||||||
_update_status(STATUS_CLIENT_CONNECTED) |
|
||||||
|
|
||||||
Network.Status.SERVER_RUNNING: |
|
||||||
_update_status(STATUS_SERVER_RUNNING) |
|
||||||
open_close_button.text = "Close Server" |
|
||||||
dis_connect_button.disabled = true |
|
||||||
|
|
||||||
func _on_open_close_pressed() -> void: |
|
||||||
if open_close_button.text == "Open Server": |
|
||||||
match Game.NETWORK.start_server(int(port_box.value)): |
|
||||||
ERR_ALREADY_IN_USE: _update_status(STATUS_ERROR_ALREADY_IN_USE) |
|
||||||
ERR_CANT_CREATE : _update_status(STATUS_ERROR_CANT_CREATE) |
|
||||||
else: |
|
||||||
Game.NETWORK.stop_server() |
|
||||||
|
|
||||||
func _on_dis_connect_pressed() -> void: |
|
||||||
if dis_connect_button.text == "Connect": |
|
||||||
var address := address_edit.text if address_edit.text else "localhost" |
|
||||||
if Game.NETWORK.connect_to_server(address): _update_status(STATUS_ERROR_CANT_CREATE) |
|
||||||
else: |
|
||||||
Game.NETWORK.disconnect_from_server() |
|
||||||
# Without this it would (incorrectly?) display "failed to connect". |
|
||||||
_update_status(STATUS_CLIENT_DISCONNECTED) |
|
||||||
|
|
||||||
func _update_status(status: Array) -> void: |
|
||||||
status_label.text = status[0] |
|
||||||
status_label.modulate = status[1] |
|
@ -1 +0,0 @@ |
|||||||
uid://bu37wh6sy6bdl |
|
@ -1,92 +0,0 @@ |
|||||||
[gd_scene load_steps=2 format=3 uid="uid://7jb7w5ef8aw2"] |
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://bu37wh6sy6bdl" path="res://hud/escape_menu/escape_menu_multiplayer.gd" id="1_0u4gd"] |
|
||||||
|
|
||||||
[node name="Multiplayer" type="CenterContainer"] |
|
||||||
script = ExtResource("1_0u4gd") |
|
||||||
metadata/_tab_index = 1 |
|
||||||
|
|
||||||
[node name="MarginContainer" type="MarginContainer" parent="."] |
|
||||||
layout_mode = 2 |
|
||||||
theme_override_constants/margin_left = 6 |
|
||||||
theme_override_constants/margin_top = 6 |
|
||||||
theme_override_constants/margin_right = 6 |
|
||||||
theme_override_constants/margin_bottom = 4 |
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="ContainerStatus" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/ContainerStatus"] |
|
||||||
custom_minimum_size = Vector2(36, 0) |
|
||||||
layout_mode = 2 |
|
||||||
text = "Status:" |
|
||||||
|
|
||||||
[node name="Status" type="Label" parent="MarginContainer/VBoxContainer/ContainerStatus"] |
|
||||||
unique_name_in_owner = true |
|
||||||
layout_mode = 2 |
|
||||||
size_flags_horizontal = 3 |
|
||||||
size_flags_vertical = 5 |
|
||||||
|
|
||||||
[node name="ContainerServer" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/ContainerServer"] |
|
||||||
custom_minimum_size = Vector2(36, 0) |
|
||||||
layout_mode = 2 |
|
||||||
text = "Port:" |
|
||||||
|
|
||||||
[node name="Port" type="SpinBox" parent="MarginContainer/VBoxContainer/ContainerServer"] |
|
||||||
unique_name_in_owner = true |
|
||||||
layout_mode = 2 |
|
||||||
min_value = 1024.0 |
|
||||||
max_value = 65535.0 |
|
||||||
value = 42005.0 |
|
||||||
alignment = 2 |
|
||||||
|
|
||||||
[node name="OpenClose" type="Button" parent="MarginContainer/VBoxContainer/ContainerServer"] |
|
||||||
unique_name_in_owner = true |
|
||||||
layout_mode = 2 |
|
||||||
size_flags_horizontal = 3 |
|
||||||
text = "Open Server" |
|
||||||
|
|
||||||
[node name="ContainerClient" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/ContainerClient"] |
|
||||||
custom_minimum_size = Vector2(36, 0) |
|
||||||
layout_mode = 2 |
|
||||||
text = "Address:" |
|
||||||
|
|
||||||
[node name="Address" type="LineEdit" parent="MarginContainer/VBoxContainer/ContainerClient"] |
|
||||||
unique_name_in_owner = true |
|
||||||
custom_minimum_size = Vector2(120, 0) |
|
||||||
layout_mode = 2 |
|
||||||
placeholder_text = "localhost" |
|
||||||
caret_blink = true |
|
||||||
|
|
||||||
[node name="DisConnect" type="Button" parent="MarginContainer/VBoxContainer/ContainerClient"] |
|
||||||
unique_name_in_owner = true |
|
||||||
custom_minimum_size = Vector2(57, 0) |
|
||||||
layout_mode = 2 |
|
||||||
size_flags_horizontal = 3 |
|
||||||
text = "Connect" |
|
||||||
|
|
||||||
[node name="ContainerHideAddress" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="HideAddress" type="CheckBox" parent="MarginContainer/VBoxContainer/ContainerHideAddress"] |
|
||||||
layout_mode = 2 |
|
||||||
button_pressed = true |
|
||||||
text = "Hide Address" |
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/ContainerHideAddress"] |
|
||||||
layout_mode = 2 |
|
||||||
theme_override_colors/font_color = Color(0.6, 0.6, 0.6, 1) |
|
||||||
text = "(for streamers etc.)" |
|
||||||
|
|
||||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/ContainerServer/OpenClose" to="." method="_on_open_close_pressed"] |
|
||||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/ContainerClient/DisConnect" to="." method="_on_dis_connect_pressed"] |
|
||||||
[connection signal="toggled" from="MarginContainer/VBoxContainer/ContainerHideAddress/HideAddress" to="." method="_on_hide_address_toggled"] |
|
@ -1,72 +0,0 @@ |
|||||||
class_name EscapeMenuWorld |
|
||||||
extends CenterContainer |
|
||||||
|
|
||||||
@onready var save_file_dialog : FileDialog = %SaveFileDialog |
|
||||||
@onready var load_file_dialog : FileDialog = %LoadFileDialog |
|
||||||
|
|
||||||
@onready var filename_label : Label = %Filename |
|
||||||
@onready var playtime_label : Label = %Playtime |
|
||||||
@onready var last_saved_label : Label = %LastSaved |
|
||||||
|
|
||||||
@onready var quick_save_button : Button = %QuickSave |
|
||||||
@onready var save_as_button : Button = %SaveAs |
|
||||||
@onready var load_from_button : Button = %LoadFrom |
|
||||||
|
|
||||||
var current_world : String |
|
||||||
|
|
||||||
func _ready() -> void: |
|
||||||
# Hide "Quick Save" button until world is loaded/saved, and `current_world` is set. |
|
||||||
quick_save_button.visible = false |
|
||||||
save_as_button.text = "Save World As..." |
|
||||||
|
|
||||||
DirAccess.make_dir_recursive_absolute(World.WORLDS_DIR) |
|
||||||
var global_path := ProjectSettings.globalize_path(World.WORLDS_DIR) |
|
||||||
save_file_dialog.current_path = global_path |
|
||||||
load_file_dialog.current_path = global_path |
|
||||||
|
|
||||||
# this.GetClient().StatusChanged += OnStatusChanged; |
|
||||||
|
|
||||||
func _process(delta: float) -> void: |
|
||||||
var playtime := Game.WORLD.playtime |
|
||||||
var seconds := floori(playtime ) % 60 |
|
||||||
var minutes := floori(playtime / 60 ) % 60 |
|
||||||
var hours := floori(playtime / (60 * 60) ) % 24 |
|
||||||
var days := floori(playtime / (60 * 60 * 24)) |
|
||||||
|
|
||||||
var str = "" |
|
||||||
if days > 0: str += "%dd " % days |
|
||||||
str += "%02dh %02dm %02ds" % [ hours, minutes, seconds ] |
|
||||||
playtime_label.text = str |
|
||||||
|
|
||||||
|
|
||||||
func _on_quick_save_pressed() -> void: |
|
||||||
_on_save_file_dialog_file_selected(current_world) |
|
||||||
|
|
||||||
func _on_save_as_pressed() -> void: |
|
||||||
save_file_dialog.invalidate() |
|
||||||
save_file_dialog.popup_centered() |
|
||||||
func _on_save_file_dialog_file_selected(path: String) -> void: |
|
||||||
Game.WORLD.save(path) |
|
||||||
current_world = path |
|
||||||
filename_label.text = path.get_file() |
|
||||||
last_saved_label.text = _unix_time_to_string(Game.WORLD.last_saved) |
|
||||||
quick_save_button.visible = true |
|
||||||
save_as_button.text = "Save As..." |
|
||||||
|
|
||||||
func _on_load_from_pressed() -> void: |
|
||||||
load_file_dialog.invalidate() |
|
||||||
load_file_dialog.popup_centered() |
|
||||||
func _on_load_file_dialog_file_selected(path: String) -> void: |
|
||||||
var world := World.load(path) |
|
||||||
if not world: return |
|
||||||
Game.INSTANCE.change_world(world) |
|
||||||
|
|
||||||
current_world = path |
|
||||||
filename_label.text = path.get_file() |
|
||||||
last_saved_label.text = _unix_time_to_string(world.last_saved) |
|
||||||
quick_save_button.visible = true |
|
||||||
save_as_button.text = "Save As..." |
|
||||||
|
|
||||||
func _unix_time_to_string(time: int) -> String: |
|
||||||
var d := Time.get_datetime_dict_from_unix_time(time) |
|
||||||
return "%04d-%02d-%02d %02d:%02d" % [ d.year, d.month, d.day, d.hour, d.minute ] |
|
@ -1 +0,0 @@ |
|||||||
uid://q1o7rlr8roy1 |
|
@ -1,121 +0,0 @@ |
|||||||
[gd_scene load_steps=2 format=3 uid="uid://uu2v0w84blem"] |
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://q1o7rlr8roy1" path="res://hud/escape_menu/escape_menu_world.gd" id="1_ayi2r"] |
|
||||||
|
|
||||||
[node name="World" type="CenterContainer"] |
|
||||||
script = ExtResource("1_ayi2r") |
|
||||||
metadata/_tab_index = 2 |
|
||||||
|
|
||||||
[node name="SaveFileDialog" type="FileDialog" parent="."] |
|
||||||
unique_name_in_owner = true |
|
||||||
auto_translate_mode = 1 |
|
||||||
title = "Save World" |
|
||||||
size = Vector2i(781, 320) |
|
||||||
mode_overrides_title = false |
|
||||||
access = 2 |
|
||||||
filters = PackedStringArray("*.yf5 ; YourFortV") |
|
||||||
use_native_dialog = true |
|
||||||
|
|
||||||
[node name="LoadFileDialog" type="FileDialog" parent="."] |
|
||||||
unique_name_in_owner = true |
|
||||||
auto_translate_mode = 1 |
|
||||||
title = "Load World" |
|
||||||
size = Vector2i(781, 320) |
|
||||||
ok_button_text = "Load" |
|
||||||
mode_overrides_title = false |
|
||||||
file_mode = 0 |
|
||||||
access = 2 |
|
||||||
filters = PackedStringArray("*.yf5 ; YourFortV") |
|
||||||
use_native_dialog = true |
|
||||||
|
|
||||||
[node name="MarginContainer" type="MarginContainer" parent="."] |
|
||||||
layout_mode = 2 |
|
||||||
theme_override_constants/margin_left = 6 |
|
||||||
theme_override_constants/margin_top = 6 |
|
||||||
theme_override_constants/margin_right = 6 |
|
||||||
theme_override_constants/margin_bottom = 4 |
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"] |
|
||||||
custom_minimum_size = Vector2(180, 0) |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer"] |
|
||||||
custom_minimum_size = Vector2(58, 0) |
|
||||||
layout_mode = 2 |
|
||||||
text = "Filename:" |
|
||||||
|
|
||||||
[node name="Filename" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer"] |
|
||||||
unique_name_in_owner = true |
|
||||||
layout_mode = 2 |
|
||||||
size_flags_horizontal = 3 |
|
||||||
theme_override_colors/font_color = Color(0.6, 0.6, 0.6, 1) |
|
||||||
text = "-not saved yet-" |
|
||||||
|
|
||||||
[node name="HBoxContainer2" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer2"] |
|
||||||
custom_minimum_size = Vector2(58, 0) |
|
||||||
layout_mode = 2 |
|
||||||
text = "Playtime:" |
|
||||||
|
|
||||||
[node name="Playtime" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer2"] |
|
||||||
unique_name_in_owner = true |
|
||||||
layout_mode = 2 |
|
||||||
size_flags_horizontal = 3 |
|
||||||
theme_override_colors/font_color = Color(0.6, 0.6, 0.6, 1) |
|
||||||
text = "000d 00h 00m 00s" |
|
||||||
|
|
||||||
[node name="HBoxContainer3" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer3"] |
|
||||||
custom_minimum_size = Vector2(58, 0) |
|
||||||
layout_mode = 2 |
|
||||||
text = "Last Saved:" |
|
||||||
|
|
||||||
[node name="LastSaved" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer3"] |
|
||||||
unique_name_in_owner = true |
|
||||||
layout_mode = 2 |
|
||||||
size_flags_horizontal = 3 |
|
||||||
theme_override_colors/font_color = Color(0.6, 0.6, 0.6, 1) |
|
||||||
text = "0000-00-00 00:00" |
|
||||||
|
|
||||||
[node name="HSeparator" type="HSeparator" parent="MarginContainer/VBoxContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="HBoxContainer4" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="QuickSave" type="Button" parent="MarginContainer/VBoxContainer/HBoxContainer4"] |
|
||||||
unique_name_in_owner = true |
|
||||||
custom_minimum_size = Vector2(112, 17) |
|
||||||
layout_mode = 2 |
|
||||||
size_flags_horizontal = 3 |
|
||||||
text = "Quick Save" |
|
||||||
|
|
||||||
[node name="SaveAs" type="Button" parent="MarginContainer/VBoxContainer/HBoxContainer4"] |
|
||||||
unique_name_in_owner = true |
|
||||||
custom_minimum_size = Vector2(0, 17) |
|
||||||
layout_mode = 2 |
|
||||||
size_flags_horizontal = 3 |
|
||||||
text = "Save As..." |
|
||||||
|
|
||||||
[node name="HBoxContainer5" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] |
|
||||||
layout_mode = 2 |
|
||||||
|
|
||||||
[node name="LoadFrom" type="Button" parent="MarginContainer/VBoxContainer/HBoxContainer5"] |
|
||||||
unique_name_in_owner = true |
|
||||||
custom_minimum_size = Vector2(80, 17) |
|
||||||
layout_mode = 2 |
|
||||||
size_flags_horizontal = 3 |
|
||||||
text = "Load World From..." |
|
||||||
|
|
||||||
[connection signal="file_selected" from="SaveFileDialog" to="." method="_on_save_file_dialog_file_selected"] |
|
||||||
[connection signal="file_selected" from="LoadFileDialog" to="." method="_on_load_file_dialog_file_selected"] |
|
||||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/HBoxContainer4/QuickSave" to="." method="_on_quick_save_pressed"] |
|
||||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/HBoxContainer4/SaveAs" to="." method="_on_save_as_pressed"] |
|
||||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/HBoxContainer5/LoadFrom" to="." method="_on_load_from_pressed"] |
|
@ -1,87 +0,0 @@ |
|||||||
# TODO: Make this work again. |
|
||||||
class_name Health |
|
||||||
extends Node2D |
|
||||||
|
|
||||||
const TIME_VISIBLE := 1.0 |
|
||||||
const TIME_FADE := 1.5 |
|
||||||
|
|
||||||
@export var player : Player |
|
||||||
|
|
||||||
@export var segments := 6 |
|
||||||
@export var inner_radius := 14 |
|
||||||
@export var outer_radius := 24 |
|
||||||
@export var separation := 2.0 |
|
||||||
|
|
||||||
@onready var start_angle := (TAU / 4) - (TAU / segments / 2) |
|
||||||
|
|
||||||
var health : float |
|
||||||
var visibility_timer : float |
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void: |
|
||||||
visible = false |
|
||||||
|
|
||||||
|
|
||||||
func _process(delta: float) -> void: |
|
||||||
if not player: |
|
||||||
visible = false |
|
||||||
return |
|
||||||
|
|
||||||
if player.health.current >= 1.0: |
|
||||||
if !visible: return |
|
||||||
if visibility_timer > TIME_VISIBLE + TIME_FADE: |
|
||||||
visible = false |
|
||||||
return |
|
||||||
if visibility_timer > TIME_VISIBLE: |
|
||||||
modulate = Color(Color.WHITE, 1.0 - (visibility_timer - TIME_VISIBLE) / TIME_FADE) |
|
||||||
visibility_timer += delta |
|
||||||
|
|
||||||
else: |
|
||||||
visible = true |
|
||||||
modulate = Color.WHITE |
|
||||||
visibility_timer = 0.0 |
|
||||||
|
|
||||||
position = player.get_global_transform_with_canvas().origin; |
|
||||||
health = player.health.current; |
|
||||||
|
|
||||||
|
|
||||||
func _draw() -> void: |
|
||||||
for i in segments: |
|
||||||
var angle_1 := start_angle + TAU * ( i / float(segments)) |
|
||||||
var angle_3 := start_angle + TAU * ((i + 1) / float(segments)) |
|
||||||
var angle_2 := (angle_1 + angle_3) / 2 |
|
||||||
|
|
||||||
var sep_1 := separation * Vector2.from_angle(angle_1 + TAU / 4) |
|
||||||
var sep_2 := separation * Vector2.from_angle(angle_3 - TAU / 4) |
|
||||||
|
|
||||||
draw_colored_polygon([ |
|
||||||
inner_radius * Vector2.from_angle(angle_2) , |
|
||||||
inner_radius * Vector2.from_angle(angle_1) + sep_1, |
|
||||||
outer_radius * Vector2.from_angle(angle_1) + sep_1, |
|
||||||
outer_radius * Vector2.from_angle(angle_2) , |
|
||||||
outer_radius * Vector2.from_angle(angle_3) + sep_2, |
|
||||||
inner_radius * Vector2.from_angle(angle_3) + sep_2, |
|
||||||
], Color(Color.BLACK, 0.4)) # antialiased = true |
|
||||||
|
|
||||||
for i in segments: |
|
||||||
var fullness := clampf((health * segments) - i, 0.0, 1.0) |
|
||||||
if fullness <= 0.1: return |
|
||||||
|
|
||||||
var angle_1 := start_angle + TAU * ( i / float(segments)) |
|
||||||
var angle_3 := start_angle + TAU * ((i + 1) / float(segments)) |
|
||||||
var angle_2 := (angle_1 + angle_3) / 2 |
|
||||||
|
|
||||||
var sep_1 := separation * Vector2.from_angle(angle_1 + TAU / 4) |
|
||||||
var sep_2 := separation * Vector2.from_angle(angle_3 - TAU / 4) |
|
||||||
|
|
||||||
var _inner_radius_2 = inner_radius + 1 |
|
||||||
var _outer_radius_2 = lerpf(inner_radius, outer_radius, fullness) - 1 |
|
||||||
|
|
||||||
draw_colored_polygon([ |
|
||||||
inner_radius * Vector2.from_angle(angle_2) , |
|
||||||
inner_radius * Vector2.from_angle(angle_1) + sep_1, |
|
||||||
outer_radius * Vector2.from_angle(angle_1) + sep_1, |
|
||||||
outer_radius * Vector2.from_angle(angle_2) , |
|
||||||
outer_radius * Vector2.from_angle(angle_3) + sep_2, |
|
||||||
inner_radius * Vector2.from_angle(angle_3) + sep_2, |
|
||||||
], Color(Color.RED, 0.5)) # antialiased = true |
|
@ -1 +0,0 @@ |
|||||||
uid://b12ppoaf6wls4 |
|
@ -1,114 +0,0 @@ |
|||||||
class_name RadialMenu |
|
||||||
extends Node2D |
|
||||||
|
|
||||||
const TIME_FADE := 0.6 |
|
||||||
const TIME_VISIBLE := 0.4 |
|
||||||
|
|
||||||
@export var cursor : Cursor |
|
||||||
@export var player : Player |
|
||||||
|
|
||||||
@export var min_segments := 8 |
|
||||||
@export var inner_radius := 32.0 |
|
||||||
@export var outer_radius := 64.0 |
|
||||||
@export var separation := 2.0 |
|
||||||
|
|
||||||
@onready var label := $Label as Label |
|
||||||
@onready var start_angle := (TAU / 4) - (TAU / min_segments / 2) |
|
||||||
|
|
||||||
var visibility_timer: float |
|
||||||
|
|
||||||
var hovered: Item: |
|
||||||
get: return hovered |
|
||||||
set(value): hovered = value; label.text = str(value.name) if value else "" |
|
||||||
|
|
||||||
func _unhandled_input(event: InputEvent) -> void: |
|
||||||
if not player or not player.health.is_alive: return |
|
||||||
|
|
||||||
if event.is_action_pressed("interact_select"): |
|
||||||
position = cursor.hud_position.round() |
|
||||||
visible = true |
|
||||||
modulate = Color.WHITE |
|
||||||
|
|
||||||
hovered = player.inventory.equipped |
|
||||||
player.inventory.equipped = null |
|
||||||
|
|
||||||
visibility_timer = INF |
|
||||||
|
|
||||||
var select_dec := event.is_action_pressed("interact_select_dec") |
|
||||||
var select_inc := event.is_action_pressed("interact_select_inc") |
|
||||||
if select_dec != select_inc: # xor would be more fitting here |
|
||||||
if visible and visibility_timer == INF: |
|
||||||
var cursor_offset := to_local(cursor.hud_position) |
|
||||||
if cursor_offset.length() > inner_radius: return |
|
||||||
else: |
|
||||||
position = player.get_global_transform_with_canvas().origin |
|
||||||
hovered = player.inventory.equipped |
|
||||||
|
|
||||||
visible = true |
|
||||||
modulate = Color.WHITE |
|
||||||
visibility_timer = TIME_FADE + TIME_VISIBLE |
|
||||||
|
|
||||||
var items := player.inventory.get_items() |
|
||||||
if items.is_empty(): return |
|
||||||
|
|
||||||
var new_index := 0 |
|
||||||
if hovered: |
|
||||||
var index := hovered.get_index() |
|
||||||
var diff := 1 if select_inc else -1 |
|
||||||
new_index = posmod(index + diff, items.size()) |
|
||||||
hovered = items[new_index] |
|
||||||
player.inventory.equipped = hovered |
|
||||||
queue_redraw() |
|
||||||
|
|
||||||
func _process(delta: float) -> void: |
|
||||||
if not player or not player.health.is_alive: visible = false |
|
||||||
if not visible: return |
|
||||||
|
|
||||||
visibility_timer -= delta |
|
||||||
if visibility_timer <= 0.0: visible = false |
|
||||||
if visibility_timer < TIME_FADE: modulate = Color(Color.WHITE, visibility_timer / TIME_FADE) |
|
||||||
if visibility_timer < INF: return |
|
||||||
|
|
||||||
var cursor_offset := to_local(cursor.hud_position) |
|
||||||
var angle := cursor_offset.angle() - start_angle |
|
||||||
var index := floori(fmod((angle / TAU + 1), 1) * min_segments) |
|
||||||
|
|
||||||
var items := player.inventory.get_items() |
|
||||||
if cursor_offset.length() > inner_radius and index < items.size() and items[index] != hovered: |
|
||||||
hovered = items[index] |
|
||||||
|
|
||||||
if not Input.is_action_pressed("interact_select"): |
|
||||||
player.inventory.equipped = hovered |
|
||||||
visibility_timer = TIME_FADE |
|
||||||
|
|
||||||
queue_redraw() |
|
||||||
|
|
||||||
func _draw() -> void: |
|
||||||
var items := player.inventory.get_items() |
|
||||||
var segments := maxi(min_segments, items.size()) |
|
||||||
for i in segments: |
|
||||||
var angle_1 := start_angle + TAU * ( i / float(segments)) |
|
||||||
var angle_3 := start_angle + TAU * ((i + 1) / float(segments)) |
|
||||||
var angle_2 := (angle_1 + angle_3) / 2 |
|
||||||
|
|
||||||
var sep_1 := separation * Vector2.from_angle(angle_1 + TAU / 4) |
|
||||||
var sep_2 := separation * Vector2.from_angle(angle_3 - TAU / 4) |
|
||||||
|
|
||||||
var is_hovered := i < items.size() and items[i] == hovered |
|
||||||
var inner_radius_2 := inner_radius + (5.0 if is_hovered else 0.0) |
|
||||||
var outer_radius_2 := outer_radius + (5.0 if is_hovered else 0.0) |
|
||||||
|
|
||||||
var color := Color(0.1, 0.1, 0.1, 0.7 if is_hovered else 0.4) |
|
||||||
draw_colored_polygon([ |
|
||||||
inner_radius_2 * Vector2.from_angle(angle_1) + sep_1, |
|
||||||
outer_radius_2 * Vector2.from_angle(angle_1) + sep_1, |
|
||||||
(outer_radius_2 + separation) * Vector2.from_angle(angle_2) , |
|
||||||
outer_radius_2 * Vector2.from_angle(angle_3) + sep_2, |
|
||||||
inner_radius_2 * Vector2.from_angle(angle_3) + sep_2, |
|
||||||
], color) |
|
||||||
|
|
||||||
if i < items.size(): |
|
||||||
var sprite := items[i] |
|
||||||
var pos := (inner_radius_2 + outer_radius_2) / 2 * Vector2.from_angle(angle_2) |
|
||||||
if sprite.centered: pos -= sprite.texture.get_size() / 2 |
|
||||||
draw_texture(sprite.texture, pos, sprite.modulate) |
|
@ -1 +0,0 @@ |
|||||||
uid://doey28skdr0ty |
|
@ -1,24 +0,0 @@ |
|||||||
[gd_scene load_steps=3 format=3 uid="uid://br618d1sbfgie"] |
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://doey28skdr0ty" path="res://hud/radial_menu.gd" id="1_pmlck"] |
|
||||||
[ext_resource type="Theme" uid="uid://4tevy1my8joc" path="res://hud/theme/ui_theme.tres" id="2_ahx0k"] |
|
||||||
|
|
||||||
[node name="RadialMenu" type="Node2D"] |
|
||||||
script = ExtResource("1_pmlck") |
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="."] |
|
||||||
anchors_preset = 8 |
|
||||||
anchor_left = 0.5 |
|
||||||
anchor_top = 0.5 |
|
||||||
anchor_right = 0.5 |
|
||||||
anchor_bottom = 0.5 |
|
||||||
offset_left = -29.0 |
|
||||||
offset_top = -16.0 |
|
||||||
offset_right = 29.0 |
|
||||||
offset_bottom = 16.0 |
|
||||||
grow_horizontal = 2 |
|
||||||
grow_vertical = 2 |
|
||||||
theme = ExtResource("2_ahx0k") |
|
||||||
horizontal_alignment = 1 |
|
||||||
vertical_alignment = 1 |
|
||||||
autowrap_mode = 2 |
|
@ -1,40 +0,0 @@ |
|||||||
[remap] |
|
||||||
|
|
||||||
importer="font_data_dynamic" |
|
||||||
type="FontFile" |
|
||||||
uid="uid://swxa7umqpfwu" |
|
||||||
path="res://.godot/imported/HeartbitXX.ttf-0f40fa5f8905572711540edfa78ad592.fontdata" |
|
||||||
|
|
||||||
[deps] |
|
||||||
|
|
||||||
source_file="res://hud/theme/HeartbitXX.ttf" |
|
||||||
dest_files=["res://.godot/imported/HeartbitXX.ttf-0f40fa5f8905572711540edfa78ad592.fontdata"] |
|
||||||
|
|
||||||
[params] |
|
||||||
|
|
||||||
Rendering=null |
|
||||||
antialiasing=0 |
|
||||||
generate_mipmaps=false |
|
||||||
disable_embedded_bitmaps=true |
|
||||||
multichannel_signed_distance_field=false |
|
||||||
msdf_pixel_range=8 |
|
||||||
msdf_size=48 |
|
||||||
allow_system_fallback=true |
|
||||||
force_autohinter=false |
|
||||||
hinting=0 |
|
||||||
subpixel_positioning=0 |
|
||||||
keep_rounding_remainders=true |
|
||||||
oversampling=0.0 |
|
||||||
Fallbacks=null |
|
||||||
fallbacks=[] |
|
||||||
Compress=null |
|
||||||
compress=true |
|
||||||
preload=[{ |
|
||||||
"chars": [], |
|
||||||
"glyphs": [], |
|
||||||
"name": "New Configuration", |
|
||||||
"size": Vector2i(16, 0) |
|
||||||
}] |
|
||||||
language_support={} |
|
||||||
script_support={} |
|
||||||
opentype_features={} |
|
Before Width: | Height: | Size: 232 B |
@ -1,34 +0,0 @@ |
|||||||
[remap] |
|
||||||
|
|
||||||
importer="texture" |
|
||||||
type="CompressedTexture2D" |
|
||||||
uid="uid://c7rhuvmdwfkk" |
|
||||||
path="res://.godot/imported/checkbox_check.png-bbe69d46e6b7f8266782ba329dde8bcf.ctex" |
|
||||||
metadata={ |
|
||||||
"vram_texture": false |
|
||||||
} |
|
||||||
|
|
||||||
[deps] |
|
||||||
|
|
||||||
source_file="res://hud/theme/checkbox_check.png" |
|
||||||
dest_files=["res://.godot/imported/checkbox_check.png-bbe69d46e6b7f8266782ba329dde8bcf.ctex"] |
|
||||||
|
|
||||||
[params] |
|
||||||
|
|
||||||
compress/mode=0 |
|
||||||
compress/high_quality=false |
|
||||||
compress/lossy_quality=0.7 |
|
||||||
compress/hdr_compression=1 |
|
||||||
compress/normal_map=0 |
|
||||||
compress/channel_pack=0 |
|
||||||
mipmaps/generate=false |
|
||||||
mipmaps/limit=-1 |
|
||||||
roughness/mode=0 |
|
||||||
roughness/src_normal="" |
|
||||||
process/fix_alpha_border=true |
|
||||||
process/premult_alpha=false |
|
||||||
process/normal_map_invert_y=false |
|
||||||
process/hdr_as_srgb=false |
|
||||||
process/hdr_clamp_exposure=false |
|
||||||
process/size_limit=0 |
|
||||||
detect_3d/compress_to=1 |
|
Before Width: | Height: | Size: 219 B |