1
0
Fork 0
mirror of https://github.com/tonytins/dressupzack synced 2025-06-25 08:04:43 -04:00

Upgrade to Godot 4

This is the start of a major rewrite of the game, using varies add-ons whenever possible instead of reinventing the wheel. Not that it wasn't a good learning experience, but, yeah, glad Godot 4 is finally here.
This commit is contained in:
Tony Bark 2023-03-14 06:58:09 -04:00
parent 25257f722d
commit a1bd301c95
233 changed files with 6786 additions and 3446 deletions

View file

@ -1,108 +0,0 @@
# This project is licensed under the Artistic-2.0 license.
# See the LICENSE file in the project root for more information.
extends Node2D
const _TDU_VERSION = "0.2"
const _SAVE_FILE = "user://character.tdu"
onready var blank_accessory = preload("res://sprites/clothes/blank_top.png")
onready var base_top = preload("res://sprites/character/character_base_top.svg")
onready var base_bottom = preload("res://sprites/character/character_base_legs.svg")
onready var export_win = $Controls/Container/ExportWin
onready var import_win = $Controls/Container/ImportWin
onready var accessory = $Body/Accessory
#onready var underwear = $Undies
onready var bottom = $Body/Legs
onready var top = $Body/Top
# onready var eyes = $Body/Head/Eyes
# onready var mouth = $Body/Head/Mouth
func _process(delta):
if GameData.accessory != null:
accessory.texture = GameData.accessory
# if GameData.underwear != null:
# underwear.texture = GameData.underwear
if GameData.bottom != null:
bottom.texture = GameData.bottom
if GameData.top != null:
top.texture = GameData.top
func save_game():
var data_file = {
"version": _TDU_VERSION,
"game_ver": GameData.version,
"accessory": "res://sprites/clothes/blank_top.png",
"top": "res://sprites/clothes/blank_top.png",
"bottom": "res://sprites/character/character_base_legs.svg",
}
data_file["accessory"] = accessory.texture.resource_path
data_file["top"] = top.texture.resource_path
data_file["bottom"] = bottom.texture.resource_path
var file = File.new()
if file.open(_SAVE_FILE, File.WRITE) != 0:
print("Error opening file")
return
var json_file = to_json(data_file)
GameEvents.emit_signal("indicate")
file.store_line(json_file)
file.close()
func load_game():
var file = File.new()
if not file.file_exists(_SAVE_FILE):
print("File not found!")
return
if file.open(_SAVE_FILE, File.READ) != 0:
print("Error opening file")
return
var data = parse_json(file.get_as_text())
var top_texture = ImageTexture.new()
var accessory_texture = ImageTexture.new()
var bottom_texture = ImageTexture.new()
var top_image = Image.new()
var accessory_image = Image.new()
var bottom_image = Image.new()
GameEvents.emit_signal("indicate")
top_image.load(data["top"])
top_texture.create_from_image(top_image)
top.texture = top_texture
bottom_image.load(data["bottom"])
top_texture.create_from_image(top_image)
bottom.texture = top_texture
accessory_image.load(data["accessory"])
accessory_texture.create_from_image(top_image)
accessory.texture = accessory_texture
file.close()
func _on_clearBtn_pressed():
$Click.play()
GameData.accessory = blank_accessory
GameData.bottom = base_bottom
GameData.top = base_top
func _on_SaveBtn_pressed():
$Click.play()
save_game()
func _on_LoadBtn_pressed():
$Click.play()
load_game()

View file

@ -2,5 +2,5 @@
# See the LICENSE file in the project root for more information.
extends TextureButton
onready var player = $select
onready var character = preload("res://resources/character.tres")
@onready var player = $select
@onready var character = preload("res://resources/character.tres")

View file

@ -2,16 +2,16 @@
# See the LICENSE file in the project root for more information.
extends Control
export var version: String = "1.0.0"
@export var version: String = "1.0.0"
onready var character = preload("res://resources/character.tres")
onready var blank_accessory = preload("res://sprites/clothes/blank_top.png")
onready var base_top = preload("res://sprites/character/character_base_top.svg")
onready var base_bottom = preload("res://sprites/character/character_base_legs.svg")
@onready var character = preload("res://resources/character.tres")
@onready var blank_accessory = preload("res://sprites/clothes/blank_top.png")
@onready var base_top = preload("res://sprites/character/character_base_top.svg")
@onready var base_bottom = preload("res://sprites/character/character_base_legs.svg")
onready var export_btn = $CenterBtns/ButtonCtr/ExportBtn
onready var import_btn = $CenterBtns/ButtonCtr/ImportBtn
onready var http_request = $NewsWin/NewsBtns/HTTPRequest
@onready var export_btn = $CenterBtns/ButtonCtr/ExportBtn
@onready var import_btn = $CenterBtns/ButtonCtr/ImportBtn
@onready var http_request = $NewsWin/NewsBtns/HTTPRequest
func _ready():
var verLabel = $VersionLbl

View file

@ -1,10 +1,12 @@
extends WindowDialog
extends Window
onready var news_list = $News
onready var http_request = $NewsBtns/HTTPRequest
@onready var news_list = $News
@onready var http_request = $NewsBtns/HTTPRequest
func _on_HTTPRequest_request_completed(result, response_code, headers, body):
var api_request = parse_json(body.get_string_from_utf8())
var test_json_conv = JSON.new()
test_json_conv.parse(body.get_string_from_utf8())
var api_request = test_json_conv.get_data()
if api_request["feed"] != null:
var news_items = api_request["feed"]

View file

@ -2,10 +2,10 @@
# See the LICENSE file in the project root for more information.
extends TextureRect
onready var timer = $Timer
@onready var timer = $Timer
func _ready():
GameEvents.connect("indicate", self, "_on_indicate")
GameEvents.connect("indicate",Callable(self,"_on_indicate"))
func _on_indicate():
show()

View file

@ -2,72 +2,16 @@
# See the LICENSE file in the project root for more information.
extends TabContainer
onready var character = preload("res://resources/character.tres")
onready var blank_accessory = preload("res://sprites/clothes/blank_top.png")
onready var base_top = preload("res://sprites/character/character_base_top.svg")
onready var base_bottom = preload("res://sprites/clothes/owo_censor.svg")
@onready var character = preload("res://resources/character.tres")
@onready var blank_accessory = preload("res://sprites/clothes/blank_top.png")
@onready var base_top = preload("res://sprites/character/character_base_top.svg")
@onready var base_bottom = preload("res://sprites/clothes/owo_censor.svg")
onready var pants_grid = $Pants/PantsScroll/PantsGrid
onready var shirts_grid = $Shirts/ShirtsScroll/ShirtsGrid
@onready var pants_grid = $Pants/PantsScroll/PantsGrid
@onready var shirts_grid = $Shirts/ShirtsScroll/ShirtsGrid
#onready var undies_grid = $Underwear/UndiesScroll/UndiesGrid
onready var accs_grid = $Accessoires/AccsScroll/AccsGrid
func list_files_in_directory(path):
var files = []
var dir = Directory.new()
dir.open(path)
dir.list_dir_begin()
while true:
var file = dir.get_next()
if file == "":
break
elif not file.begins_with("."):
files.append(file)
dir.list_dir_end()
return files
func load_dlc(dlc_pack):
var usr_dir = "user://dlc/"
var dlc_path = usr_dir + dlc_pack
var load_pck = ProjectSettings.load_resource_pack(dlc_path, false)
print_debug("Loaded " + dlc_path + ": " + str(load_pck))
# Check if the DLC is actually there
if load_pck == true:
@onready var accs_grid = $Accessoires/AccsScroll/AccsGrid
# Loads the DLC
ProjectSettings.load_resource_pack(dlc_path, false)
var dir = Directory.new()
dir.list_dir_begin()
# Lists the files in each of their respective directories
var shirts_dir = "res://scenes/dlc/shirts/"
var pants_dir = "res://scenes/dlc/pants/"
var dlc_shirts = list_files_in_directory(shirts_dir)
var dlc_pants = list_files_in_directory(pants_dir)
# Make sure each file actually exist, instance them
# and add them to their respective tabs
for shirt in dlc_shirts:
if dir.file_exists(shirts_dir + shirt):
var init = load(shirts_dir + shirt).instance()
shirts_grid.add_child(init)
print_debug("Initialized: " + shirts_dir + shirt)
for pants in dlc_pants:
if dir.file_exists(pants_dir + pants):
var init = load(pants_dir + pants).instance()
shirts_grid.add_child(init)
print_debug("Initialized: " + pants_dir + pants)
func _ready():
load_dlc("emojidlc.pck")
pass
func _on_removeAccessory_pressed():
character.accessory = blank_accessory

40
scripts/zack_casey.gd Normal file
View file

@ -0,0 +1,40 @@
# This project is licensed under the Artistic-2.0 license.
# See the LICENSE file in the project root for more information.
extends Node2D
const _TDU_VERSION = "0.2"
const _SAVE_FILE = "user://character.tdu"
@onready var blank_accessory = preload("res://sprites/clothes/blank_top.png")
@onready var base_top = preload("res://sprites/character/character_base_top.svg")
@onready var base_bottom = preload("res://sprites/character/character_base_legs.svg")
@onready var export_win = $Controls/Container/ExportWin
@onready var import_win = $Controls/Container/ImportWin
@onready var accessory = $Body/Accessory
#onready var underwear = $Undies
@onready var bottom = $Body/Legs
@onready var top = $Body/Top
# onready var eyes = $Body/Head/Eyes
# onready var mouth = $Body/Head/Mouth
func _process(delta):
if GameData.accessory != null:
accessory.texture = GameData.accessory
# if GameData.underwear != null:
# underwear.texture = GameData.underwear
if GameData.bottom != null:
bottom.texture = GameData.bottom
if GameData.top != null:
top.texture = GameData.top
func _on_clearBtn_pressed():
$Click.play()
GameData.accessory = blank_accessory
GameData.bottom = base_bottom
GameData.top = base_top