Skip to content
This repository has been archived by the owner on Feb 3, 2023. It is now read-only.

Commit

Permalink
Implemented shell casings. Laid groundwork for separating client/serv…
Browse files Browse the repository at this point in the history
…er functinality and to handle a server-side player list. Fixed vignette on at start. FIxed pause menu on after startign the game. Lowered visual detail.
  • Loading branch information
unfa committed Jul 26, 2021
1 parent a562929 commit 595ff48
Show file tree
Hide file tree
Showing 13 changed files with 193 additions and 98 deletions.
17 changes: 9 additions & 8 deletions Game/.godot/editor/project_metadata.cfg
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
[editor_metadata]

executable_path="/data/Applications/Godot/4.0/godot"
executable_path="/data/Projects/Games/Liblast/Godot/godot"

[debug_options]

run_live_debug=true
run_reload_scripts=true
run_debug_instances=1
run_debug_instances=2

[recent_files]

scenes=[ "res://Main.tscn" ]
scripts=[ "NetworkedMultiplayerPeer", "LightmapProbe", "Node3D", "res://Player.gd" ]
scenes=["res://Main.tscn", "res://Assets/Characters/Player.tscn", "res://Assets/HUD/HUD.tscn", "res://Map.tscn", "res://Server.tscn", "res://Assets/Weapons/Handgun/Flash.tscn", "res://Assets/Weapons/Handgun/Casing.tscn", "res://Assets/Weapons/Weapon.tscn", "res://Assets/Maps/DM1/DM1.glb", "res://Assets/Props/BeerCan.glb"]
scripts=["Dictionary", "RigidBody3D", "OS", "Node3D", "Node", "MultiplayerAPI", "MeshInstance3D", "Input", "Callable", "@GlobalScope"]

[script_setup]

Expand All @@ -20,13 +20,14 @@ last_selected_language="GDScript"

[dialog_bounds]

project_settings=Rect2( 0, 29, 1920, 1006 )
editor_settings=Rect2( 1920, 29, 1920, 1051 )
search_help=Rect2(476, 495, 960, 540)
export=Rect2(533, 181, 900, 700)
project_settings=Rect2(0, 29, 1920, 1006)

[project_settings]

advanced_mode=true

[inspector_options]
[export_options]

material_preview_on_sphere=true
default_filename="Liblast Linux"
36 changes: 22 additions & 14 deletions Game/Assets/Characters/Player.gd
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
extends CharacterBody3D

@export var mouse_sensitivity := 0.35
#var speed := 15

@onready var hud = get_tree().root.get_node("Main").get_node("HUD")
@onready var crosshair = hud.get_node("Crosshair")
@onready var vignette = hud.get_node("Vignette")



@onready var head = $Head
@onready var camera = $Head/Camera
@onready var tween = $Head/Camera/Tween
Expand Down Expand Up @@ -53,7 +50,9 @@ var input_active = false
var player_info: PlayerInfo

var base_fov = 90
var view_zoom := 1.0 :
var view_zoom_target := 1.0
var view_zoom_direction = true
var view_zoom := view_zoom_target :
set(zoom):
view_zoom = zoom
camera.fov = base_fov / zoom
Expand Down Expand Up @@ -95,8 +94,12 @@ var jump := 14
var velocity := Vector3.ZERO
var gravity_vec := Vector3.ZERO

@puppetsync func set_info(info):
@puppetsync func set_info(info) -> void:
player_info = PlayerInfo.new(info['name'], info['team'].to_int(), Color(info['color']))
print("set_info - rpc called from ", get_tree().get_rpc_sender_id())

@master func update_info() -> void:
rpc(&'set_info', player_info.serialize())

@master func generate_info() -> void:
var player_name = ""
Expand All @@ -112,7 +115,7 @@ var gravity_vec := Vector3.ZERO

func _ready() -> void:
#Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
view_zoom = 1.0
view_zoom_target = 1.0

generate_info()

Expand Down Expand Up @@ -148,20 +151,18 @@ func _input(event) -> void:
# tween.remove_all()
# tween.interpolate_property(self, "view_zoom", view_zoom, 4.0, 0.5, Tween.TRANS_SINE, Tween.EASE_IN_OUT)
# tween.start()

view_zoom = 4.0
view_zoom_direction = true
view_zoom_target = 4.0

if Input.is_action_just_released("view_zoom"):
# tween.remove_all()
# tween.interpolate_property(self, "view_zoom", view_zoom, 1.0, 0.25, Tween.TRANS_SINE, Tween.EASE_IN_OUT)
# tween.start()
view_zoom_direction = false
view_zoom_target = 1.0

view_zoom = 1.0

# rpc_unreliable(&'aim', event)
aim(event)
# rpc(&'aim', event)


if Input.is_action_just_pressed("trigger_primary"):
weapon.rpc(&'trigger', 0, true)
elif Input.is_action_just_released("trigger_primary"):
Expand All @@ -170,7 +171,14 @@ func _input(event) -> void:
weapon.rpc(&'trigger', 1, true)
elif Input.is_action_just_released("trigger_secondary"):
weapon.rpc(&'trigger', 1, false)


func _process(delta):
if view_zoom_direction and view_zoom < view_zoom_target:
view_zoom = min(view_zoom_target, view_zoom + delta * 4)
elif not view_zoom_direction and view_zoom > view_zoom_target:
view_zoom = max(view_zoom_target, view_zoom - delta * 4)


func _physics_process(delta):
# rpc_unreliable(&'set_global_transform', global_transform)
# head.rpc_unreliable(&'set_rotation', head.get_rotation())
Expand Down
1 change: 1 addition & 0 deletions Game/Assets/HUD/HUD.tscn
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ stream = ExtResource( 3 )
script = null

[node name="Vignette" type="TextureRect" parent="."]
modulate = Color(1, 1, 1, 0)
anchor_right = 1.0
anchor_bottom = 1.0
texture = ExtResource( 1 )
Expand Down
2 changes: 1 addition & 1 deletion Game/Assets/UI/Menu.gd
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ func _ready():
$Back.hide()

func open_menu(path : String):
var menu = load(path).instance()
var menu = load(path).instantiate()
menu.previous_menu = self
get_parent().add_child(menu)
hide()
Expand Down
12 changes: 11 additions & 1 deletion Game/Assets/Weapons/Handgun/Casing.gltf.import
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ path="res://.godot/imported/Casing.gltf-2dbae5f7e896c690e0ad2c5617eec138.scn"
[deps]

source_file="res://Assets/Weapons/Handgun/Casing.gltf"
dest_files=[ "res://.godot/imported/Casing.gltf-2dbae5f7e896c690e0ad2c5617eec138.scn" ]
dest_files=["res://.godot/imported/Casing.gltf-2dbae5f7e896c690e0ad2c5617eec138.scn"]

[params]

Expand All @@ -25,4 +25,14 @@ animation/import=true
animation/fps=15
import_script/path=""
_subresources={
"meshes": {
"Casing_Cylinder": {
"generate/lods": 1
}
},
"nodes": {
"PATH:Casing_LOD1": {
"import/skip_import": true
}
}
}
9 changes: 2 additions & 7 deletions Game/Assets/Weapons/Handgun/Casing.tscn
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,14 @@ radius = 0.0119513
height = 0.0560047

[node name="Casing" type="RigidBody3D"]
mass = 0.1
mass = 0.01
physics_material_override = SubResource( 1 )
continuous_cd = true
script = null

[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D( -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0 )
transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0)
shape = SubResource( 2 )
script = null

[node name="Casing" parent="." instance=ExtResource( 1 )]

[node name="Casing_LOD0" parent="Casing" index="0"]
visible = false

[editable path="Casing"]
81 changes: 41 additions & 40 deletions Game/Assets/Weapons/Handgun/Flash.tscn
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PackedFloat32Array( 0, 0.025, 0.1 ),
"transitions": PackedFloat32Array( 1, 0.420448, 1 ),
"times": PackedFloat32Array(0, 0.025, 0.1),
"transitions": PackedFloat32Array(1, 0.420448, 1),
"update": 0,
"values": [ Color( 4, 4, 3, 1 ), Color( 4, 2, 0.3, 1 ), Color( 0, 0, 0, 1 ) ]
"values": [Color(4, 4, 3, 1), Color(4, 2, 0.3, 1), Color(0, 0, 0, 1)]
}
tracks/1/type = "value"
tracks/1/path = NodePath("MeshInstance3D:position")
Expand All @@ -25,10 +25,10 @@ tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PackedFloat32Array( 0, 0.025, 0.1 ),
"transitions": PackedFloat32Array( 1, 1, 1 ),
"times": PackedFloat32Array(0, 0.025, 0.1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [ Vector3( -0.535305, 0.124179, 0 ), Vector3( -0.620616, 0.124179, 0 ), Vector3( -1.57472, 0.124179, 0 ) ]
"values": [Vector3(-0.535305, 0.124179, 0), Vector3(-0.620616, 0.124179, 0), Vector3(-1.57472, 0.124179, 0)]
}
tracks/2/type = "value"
tracks/2/path = NodePath("MeshInstance3D:scale")
Expand All @@ -37,10 +37,10 @@ tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PackedFloat32Array( 0, 0.025, 0.1 ),
"transitions": PackedFloat32Array( 1, 1, 1 ),
"times": PackedFloat32Array(0, 0.025, 0.1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [ Vector3( -0.336758, -0.0845939, -0.0845939 ), Vector3( -0.299894, -0.119659, -0.119659 ), Vector3( -0.197144, -0.00375807, -0.00375807 ) ]
"values": [Vector3(-0.336758, -0.0845939, -0.0845939), Vector3(-0.299894, -0.119659, -0.119659), Vector3(-0.197144, -0.00375807, -0.00375807)]
}
tracks/3/type = "value"
tracks/3/path = NodePath("OmniLight3D:light_color")
Expand All @@ -49,10 +49,10 @@ tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PackedFloat32Array( 0, 0.025, 0.05, 0.1 ),
"transitions": PackedFloat32Array( 1, 1, 1, 1 ),
"times": PackedFloat32Array(0, 0.025, 0.05, 0.1),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [ Color( 1, 1, 1, 1 ), Color( 1, 0.933333, 0.380392, 1 ), Color( 1, 0.637428, 0.415262, 1 ), Color( 0, 0, 0, 1 ) ]
"values": [Color(1, 1, 1, 1), Color(1, 0.933333, 0.380392, 1), Color(1, 0.637428, 0.415262, 1), Color(0, 0, 0, 1)]
}

[sub_resource type="Animation" id=2]
Expand All @@ -64,10 +64,10 @@ tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PackedFloat32Array( 0 ),
"transitions": PackedFloat32Array( 1 ),
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [ Color( 0, 0, 0, 1 ) ]
"values": [Color(0, 0, 0, 1)]
}

[sub_resource type="Animation" id=3]
Expand All @@ -79,10 +79,10 @@ tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PackedFloat32Array( 0 ),
"transitions": PackedFloat32Array( 1 ),
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [ Color( 4, 2, 0.3, 1 ) ]
"values": [Color(4, 2, 0.3, 1)]
}
tracks/1/type = "value"
tracks/1/path = NodePath("MeshInstance3D:position")
Expand All @@ -91,10 +91,10 @@ tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PackedFloat32Array( 0 ),
"transitions": PackedFloat32Array( 1 ),
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [ Vector3( -0.620616, 0.124179, 0 ) ]
"values": [Vector3(-0.620616, 0.124179, 0)]
}
tracks/2/type = "value"
tracks/2/path = NodePath("MeshInstance3D:scale")
Expand All @@ -103,10 +103,10 @@ tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PackedFloat32Array( 0 ),
"transitions": PackedFloat32Array( 1 ),
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [ Vector3( -0.299894, -0.119659, -0.119659 ) ]
"values": [Vector3(-0.299894, -0.119659, -0.119659)]
}
tracks/3/type = "value"
tracks/3/path = NodePath("OmniLight3D:light_color")
Expand All @@ -115,19 +115,19 @@ tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PackedFloat32Array( 0 ),
"transitions": PackedFloat32Array( 1 ),
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [ Color( 1, 1, 1, 1 ) ]
"values": [Color(1, 1, 1, 1)]
}

[sub_resource type="StandardMaterial3D" id=4]
blend_mode = 1
shading_mode = 0
albedo_color = Color( 4, 2, 0.3, 1 )
albedo_color = Color(4, 2, 0.3, 1)
albedo_texture = ExtResource( 1 )
uv1_scale = Vector3( 0.25, 0.25, 0.25 )
uv1_offset = Vector3( 0.25, 0.25, 0.25 )
uv1_scale = Vector3(0.25, 0.25, 0.25)
uv1_offset = Vector3(0.25, 0.25, 0.25)
uv1_triplanar = true
proximity_fade_distance = 3.94

Expand All @@ -140,7 +140,7 @@ rings = 8
blend_mode = 1
shading_mode = 0
vertex_color_use_as_albedo = true
albedo_color = Color( 3, 3, 3, 1 )
albedo_color = Color(3, 3, 3, 1)
albedo_texture = ExtResource( 1 )
billboard_mode = 3
particles_anim_h_frames = 2
Expand All @@ -149,14 +149,14 @@ particles_anim_loop = false

[sub_resource type="QuadMesh" id=7]
material = SubResource( 6 )
size = Vector2( 0.3, 0.3 )
size = Vector2(0.3, 0.3)

[sub_resource type="Curve" id=8]
_data = [ Vector2( 0, 0 ), 0.0, 8.69697, 0, 0, Vector2( 0.501742, 0.918182 ), -1.36667, -1.36667, 0, 0, Vector2( 1, 0.0363636 ), -3.03219, 0.0, 0, 0 ]
_data = [Vector2(0, 0), 0.0, 8.69697, 0, 0, Vector2(0.501742, 0.918182), -1.36667, -1.36667, 0, 0, Vector2(1, 0.0363636), -3.03219, 0.0, 0, 0]

[sub_resource type="Gradient" id=9]
offsets = PackedFloat32Array( 0, 0.0568182, 0.454545, 0.746212, 1 )
colors = PackedColorArray( 1, 1, 1, 1, 2, 1.7, 0.7, 1, 1, 0.682129, 0.34375, 1, 0.675781, 0.355111, 0.0976715, 1, 0, 0, 0, 1 )
offsets = PackedFloat32Array(0, 0.0568182, 0.454545, 0.746212, 1)
colors = PackedColorArray(1, 1, 1, 1, 2, 1.7, 0.7, 1, 1, 0.682129, 0.34375, 1, 0.675781, 0.355111, 0.0976715, 1, 0, 0, 0, 1)

[node name="Flash" type="Node3D"]
script = ExtResource( 2 )
Expand All @@ -166,11 +166,11 @@ autoplay = "Off"
anims/Flash = SubResource( 1 )
anims/Off = SubResource( 2 )
anims/RESET = SubResource( 3 )
blend_times = [ ]
blend_times = []
script = null

[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D( -0.299894, 0, 0, 0, -0.119659, 0, 0, 0, -0.119659, -0.620616, 0.124179, 0 )
transform = Transform3D(-0.299894, 0, 0, 0, -0.119659, 0, 0, 0, -0.119659, -0.620616, 0.124179, 0)
visible = false
mesh = SubResource( 5 )
surface_material_override/0 = null
Expand All @@ -185,9 +185,9 @@ lifetime_randomness = 0.2
fixed_fps = 120
mesh = SubResource( 7 )
particle_flag_rotate_y = true
direction = Vector3( 0, 1, 0 )
direction = Vector3(0, 1, 0)
spread = 0.0
gravity = Vector3( 0, 0, 0 )
gravity = Vector3(0, 0, 0)
initial_velocity = 12.0
initial_velocity_random = 0.9
damping = 100.0
Expand All @@ -208,8 +208,9 @@ autostart = true
script = null

[node name="OmniLight3D" type="OmniLight3D" parent="."]
transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.230188, 0 )
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.160545, 0)
light_energy = 5.0
light_bake_mode = 0
shadow_enabled = true
shadow_blur = 8.0
omni_range = 100.0
Expand Down
Loading

0 comments on commit 595ff48

Please sign in to comment.