diff --git a/assets/bullet_cam.tscn b/assets/bullet_cam.tscn index 409ebfe..d4255d8 100644 --- a/assets/bullet_cam.tscn +++ b/assets/bullet_cam.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=12 format=4 uid="uid://ba0jycejax6n7"] +[gd_scene load_steps=12 format=4 uid="uid://neb8fxkrade0"] [ext_resource type="Script" path="res://scripts/bullet_cam.gd" id="1_uvdg3"] [ext_resource type="AudioStream" uid="uid://dqj4cx05f25jj" path="res://assets/Audio/punch-body-hard-SBA-300156881.wav" id="3_t6e3w"] @@ -95,7 +95,7 @@ script = ExtResource("1_uvdg3") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.789394) [node name="Camera3D" type="Camera3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.789394) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.35947) fov = 150.0 [node name="Cylinder" type="MeshInstance3D" parent="."] diff --git a/scripts/LevelManager.gd b/scripts/LevelManager.gd index 54681fc..cf59daa 100644 --- a/scripts/LevelManager.gd +++ b/scripts/LevelManager.gd @@ -150,7 +150,7 @@ func die(): else: SaveLoad.player_deaths = 1 SaveLoad.save_persistent_data() - + SaveLoad.clear_save_game_data() var deadmsg = DEAD_ANNOUNCE.instantiate() get_parent().add_child(deadmsg) var instance_dead = dead_player.instantiate() diff --git a/scripts/blunderbus.gd b/scripts/blunderbus.gd index 68542f6..d8d3763 100644 --- a/scripts/blunderbus.gd +++ b/scripts/blunderbus.gd @@ -53,8 +53,8 @@ func _ready(): start_rotation = self.rotation random_spread_start = random_spread_amt - ammo_current = level_control.ammo_current[gun_index] - ammo_reserve = level_control.ammo_reserve[gun_index] + #ammo_current = level_control.ammo_current[gun_index] + #ammo_reserve = level_control.ammo_reserve[gun_index] if fire_mode == 0: diff --git a/scripts/gun.gd b/scripts/gun.gd index 222be51..79594e9 100644 --- a/scripts/gun.gd +++ b/scripts/gun.gd @@ -49,17 +49,11 @@ var cycle_count_start var cycle_count var rng = RandomNumberGenerator.new() var gun_index -#var ammo_current -var ammo_reserve # Called when the node enters the scene tree for the first time. func _ready(): random_spread_start = random_spread_amt - ammo_current = level_control.ammo_current[gun_index] - ammo_reserve = level_control.ammo_reserve[gun_index] - - if fire_mode == 0: cycle_count = 1 cycle_count_start = 1 diff --git a/scripts/revolver_1.gd b/scripts/revolver_1.gd index d2ee6b8..0fb4230 100644 --- a/scripts/revolver_1.gd +++ b/scripts/revolver_1.gd @@ -67,8 +67,6 @@ var bullet_array = [] var rng = RandomNumberGenerator.new() var gun_index var casings_chamber_last -#var ammo_current -var ammo_reserve # Called when the node enters the scene tree for the first time. func _ready(): @@ -76,9 +74,6 @@ func _ready(): start_rotation = self.rotation random_spread_start = random_spread_amt - ammo_current = level_control.ammo_current[gun_index] - ammo_reserve = level_control.ammo_reserve[gun_index] - casings_chamber_last = max_ammo casing_array = [casing0,casing1,casing2,casing3,casing4,casing5] diff --git a/scripts/rocket_launcher.gd b/scripts/rocket_launcher.gd index 075e152..52d80ac 100644 --- a/scripts/rocket_launcher.gd +++ b/scripts/rocket_launcher.gd @@ -37,11 +37,8 @@ var cycle_count @onready var player = get_tree().current_scene.player @onready var level_control = get_tree().current_scene -@onready var ammo_current var rng = RandomNumberGenerator.new() var gun_index -#var ammo_current -var ammo_reserve # Called when the node enters the scene tree for the first time. func _ready(): @@ -49,9 +46,6 @@ func _ready(): start_rotation = self.rotation random_spread_start = random_spread_amt - ammo_current = level_control.ammo_current[gun_index] - ammo_reserve = level_control.ammo_reserve[gun_index] - if fire_mode == 0: cycle_count = 1 diff --git a/scripts/save_load.gd b/scripts/save_load.gd index 1e5d542..8e75cd8 100644 --- a/scripts/save_load.gd +++ b/scripts/save_load.gd @@ -7,11 +7,16 @@ var player_deaths var enemies_killed #GAME DATA +var data_cleared var player_loc var player_rot +var player_health +var player_money var held_guns +var current_gun var current_ammo var reserve_ammo +var enemies = [] ## SAVE DATA PATHS @@ -57,44 +62,79 @@ func save_game_data(): var level_control = get_tree().current_scene var player = level_control.player var file = FileAccess.open(game_save_path, FileAccess.WRITE) + #ASSIGN DATA TO VARIABLES + data_cleared = false player_loc = player.global_position player_rot = player.global_rotation + player_health = level_control.health + player_money = level_control.money held_guns = save_resource_path(level_control.held_guns) + current_gun = level_control.current_gun_index current_ammo = level_control.ammo_current reserve_ammo = level_control.ammo_reserve #SAVE DATA + file.store_var(data_cleared) file.store_var(player_loc) file.store_var(player_rot) + file.store_var(player_health) + file.store_var(player_money) file.store_var(held_guns) + file.store_var(current_gun) file.store_var(current_ammo) file.store_var(reserve_ammo) + file.store_var(enemies) file.close() +func clear_save_game_data(): + var file = FileAccess.open(game_save_path, FileAccess.WRITE) + data_cleared = true + file.store_var(data_cleared) + file.store_var(player_loc) + file.store_var(player_rot) + file.store_var(player_health) + file.store_var(player_money) + file.store_var(held_guns) + file.store_var(current_gun) + file.store_var(current_ammo) + file.store_var(reserve_ammo) + file.store_var(enemies) + func load_save_game_data(): var level_control = get_tree().current_scene var player = level_control.player if FileAccess.file_exists(game_save_path): var file = FileAccess.open(game_save_path, FileAccess.READ) - + #GET DATA - player_loc = file.get_var() - player_rot = file.get_var() - var held_guns_encoded = file.get_var() - held_guns = load_resource_path(held_guns_encoded) - current_ammo = file.get_var() - reserve_ammo = file.get_var() + data_cleared = file.get_var() - - #APPLY DATA - player.global_position = player_loc - player.global_rotation = player_rot - level_control.held_guns = held_guns - level_control.ammo_current = current_ammo - level_control.ammo_reserve = reserve_ammo + if !data_cleared: + player_loc = file.get_var() + player_rot = file.get_var() + player_health = file.get_var() + player_money = file.get_var() + var held_guns_encoded = file.get_var() + held_guns = load_resource_path(held_guns_encoded) + current_gun = file.get_var() + current_ammo = file.get_var() + reserve_ammo = file.get_var() + enemies = file.get_var() + + #APPLY DATA + player.global_position = player_loc + player.global_rotation = player_rot + level_control.health = player_health + level_control.money = player_money + level_control.held_guns = held_guns + player.gun.queue_free() + level_control.gun_spawn(current_gun) + level_control.ammo_current = current_ammo + level_control.ammo_reserve = reserve_ammo + file.close() else: print("no data saved...") @@ -123,8 +163,6 @@ func save_resource_path(array): var resource_path = i.resource_path if resource_path != "": final_array.append(resource_path) - print("Resource Path: ", resource_path) - print("FINAL ARRAY ", final_array) return final_array func load_resource_path(array): @@ -132,5 +170,4 @@ func load_resource_path(array): for i in array: var i_loaded = load(i) final_array.append(i_loaded) - print("loaded ",final_array) return final_array diff --git a/scripts/trackerGun.gd b/scripts/trackerGun.gd index d2188e9..0fbbf5a 100644 --- a/scripts/trackerGun.gd +++ b/scripts/trackerGun.gd @@ -36,7 +36,6 @@ extends Node3D @onready var player = get_tree().current_scene.player @onready var level_control = get_tree().current_scene -@onready var ammo_current @onready var tracker_marker = load("res://assets/tracker_marker.tscn") @onready var bullet : Resource = load("res://assets/tracker_bullet.tscn") @onready var tracker_indicator_material = tracker_indicator.get_surface_override_material(0) @@ -51,8 +50,7 @@ var cycle_count_start var cycle_count var rng = RandomNumberGenerator.new() var gun_index -#var ammo_current -var ammo_reserve + const tracker_null_color = Color(0.743, 0.359, 0) const tracker_assigned_color = Color(0, 0.853, 0) @@ -64,8 +62,6 @@ func _ready(): tracker_check_mesh.visible = false random_spread_start = random_spread_amt - ammo_current = level_control.ammo_current[gun_index] - ammo_reserve = level_control.ammo_reserve[gun_index] if fire_mode == 0: