Added progress & major dialog bugfix
This commit is contained in:
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="7dca0d73f2612d088326ffc420d70d33"
|
||||||
|
dest_md5="4441e90ddb4675a44bc124eeb8d327f5"
|
||||||
|
|
Binary file not shown.
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="3be96f8f0b1f368b29579f8fe6c79e53"
|
||||||
|
dest_md5="fb332b986c94f47353bb21064d61380b"
|
||||||
|
|
BIN
client/.import/logo.png-16478c0ca154a2aed3564dd7592b1a68.stex
Normal file
BIN
client/.import/logo.png-16478c0ca154a2aed3564dd7592b1a68.stex
Normal file
Binary file not shown.
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="6c5effbee182861293c67eb96f5fb23e"
|
||||||
|
dest_md5="9a076a710fba7054180bf80ce4546229"
|
||||||
|
|
Binary file not shown.
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="e2da7fb14b8d464f2eaa56db492be5df"
|
||||||
|
dest_md5="9b1d426abdf28a2ad8eba161f0c4bb57"
|
||||||
|
|
Binary file not shown.
BIN
client/Assets/Art/Objects/transport_ship.aseprite
Normal file
BIN
client/Assets/Art/Objects/transport_ship.aseprite
Normal file
Binary file not shown.
BIN
client/Assets/Art/Objects/transport_ship.png
Normal file
BIN
client/Assets/Art/Objects/transport_ship.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 506 B |
34
client/Assets/Art/Objects/transport_ship.png.import
Normal file
34
client/Assets/Art/Objects/transport_ship.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/transport_ship.png-91a36c9b8473447e3e25d444470232bc.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Art/Objects/transport_ship.png"
|
||||||
|
dest_files=[ "res://.import/transport_ship.png-91a36c9b8473447e3e25d444470232bc.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
|
BIN
client/Assets/Art/Objects/wall_light.aseprite
Normal file
BIN
client/Assets/Art/Objects/wall_light.aseprite
Normal file
Binary file not shown.
BIN
client/Assets/Art/Objects/wall_light.png
Normal file
BIN
client/Assets/Art/Objects/wall_light.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 121 B |
34
client/Assets/Art/Objects/wall_light.png.import
Normal file
34
client/Assets/Art/Objects/wall_light.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/wall_light.png-7d6cb84c22a36afd5e1ab9e6d92961a6.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Art/Objects/wall_light.png"
|
||||||
|
dest_files=[ "res://.import/wall_light.png-7d6cb84c22a36afd5e1ab9e6d92961a6.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
|
BIN
client/Assets/Art/head_bg_less.png
Normal file
BIN
client/Assets/Art/head_bg_less.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 732 KiB |
34
client/Assets/Art/head_bg_less.png.import
Normal file
34
client/Assets/Art/head_bg_less.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/head_bg_less.png-4020d2069c2abefde54565f4a9dc2338.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Art/head_bg_less.png"
|
||||||
|
dest_files=[ "res://.import/head_bg_less.png-4020d2069c2abefde54565f4a9dc2338.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
|
BIN
client/Assets/Art/logo.aseprite
Normal file
BIN
client/Assets/Art/logo.aseprite
Normal file
Binary file not shown.
BIN
client/Assets/Art/logo.png
Normal file
BIN
client/Assets/Art/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 853 B |
34
client/Assets/Art/logo.png.import
Normal file
34
client/Assets/Art/logo.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/logo.png-16478c0ca154a2aed3564dd7592b1a68.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Art/logo.png"
|
||||||
|
dest_files=[ "res://.import/logo.png-16478c0ca154a2aed3564dd7592b1a68.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
|
@ -10,7 +10,8 @@ names = {
|
|||||||
"intro_meet_ceo": 4,
|
"intro_meet_ceo": 4,
|
||||||
"intro_science": 1,
|
"intro_science": 1,
|
||||||
"intro_science_followup": 3,
|
"intro_science_followup": 3,
|
||||||
"intro_text": 2
|
"intro_text": 2,
|
||||||
|
"intro_transportship": 6
|
||||||
}
|
}
|
||||||
story = {
|
story = {
|
||||||
1: {
|
1: {
|
||||||
@ -671,6 +672,25 @@ not be too far out of reach.",
|
|||||||
"type": "line"
|
"type": "line"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
6: {
|
||||||
|
"available_nid": [ ],
|
||||||
|
"groups": [ "Introduction" ],
|
||||||
|
"human_readable_description": "Interact with landed transportship",
|
||||||
|
"name": "intro_transportship",
|
||||||
|
"nodes": {
|
||||||
|
1: {
|
||||||
|
"graph_offset": Vector2( 40, 40 ),
|
||||||
|
"links": {
|
||||||
|
|
||||||
|
},
|
||||||
|
"rect_size": Vector2( 324, 137 ),
|
||||||
|
"slot_amount": 1,
|
||||||
|
"text": "This seems to be a Ravenetworks transport, but it's empty. Is this
|
||||||
|
suppose to be carrying the biological shipment?",
|
||||||
|
"type": "line"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
available_dids = [ ]
|
available_dids = [ ]
|
||||||
|
15
client/Nodes/Wall Light.tscn
Normal file
15
client/Nodes/Wall Light.tscn
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
[gd_scene load_steps=3 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://Assets/Art/basic_light.png" type="Texture" id=1]
|
||||||
|
[ext_resource path="res://Assets/Art/Objects/wall_light.png" type="Texture" id=2]
|
||||||
|
|
||||||
|
[node name="Wall Light" type="Sprite"]
|
||||||
|
texture = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="Light2D" type="Light2D" parent="."]
|
||||||
|
texture = ExtResource( 1 )
|
||||||
|
texture_scale = 3.0
|
||||||
|
energy = 1.1
|
||||||
|
shadow_enabled = true
|
||||||
|
shadow_filter = 5
|
||||||
|
shadow_filter_smooth = 0.5
|
7
client/Scenes/Area2D.gd
Normal file
7
client/Scenes/Area2D.gd
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
extends "res://Scripts/Component/Interactable.gd"
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
connect("interacted", self, "_on_interact")
|
||||||
|
|
||||||
|
func _on_interact():
|
||||||
|
$Speaker.start_dialog("intro_transportship")
|
BIN
client/Scenes/Credits.scn
Normal file
BIN
client/Scenes/Credits.scn
Normal file
Binary file not shown.
Binary file not shown.
@ -5,6 +5,7 @@ signal finished_text
|
|||||||
signal message_list_empty
|
signal message_list_empty
|
||||||
|
|
||||||
func speak(message):
|
func speak(message):
|
||||||
|
done = false
|
||||||
spoken_text = ""
|
spoken_text = ""
|
||||||
for character in message:
|
for character in message:
|
||||||
soundQueue.append(character)
|
soundQueue.append(character)
|
||||||
@ -24,6 +25,7 @@ var speaker = "default"
|
|||||||
var soundQueue = []
|
var soundQueue = []
|
||||||
var spoken_text = ""
|
var spoken_text = ""
|
||||||
var playing_speech = false
|
var playing_speech = false
|
||||||
|
var done = true
|
||||||
export var voice_pitch : float = 1
|
export var voice_pitch : float = 1
|
||||||
|
|
||||||
func play_audio():
|
func play_audio():
|
||||||
@ -61,7 +63,9 @@ func play_audio():
|
|||||||
print("No sound for: " + str(speaker))
|
print("No sound for: " + str(speaker))
|
||||||
else:
|
else:
|
||||||
playing_speech = false
|
playing_speech = false
|
||||||
emit_signal("finished_text")
|
if len(soundQueue) == 0:
|
||||||
|
emit_signal("finished_text")
|
||||||
|
done = true
|
||||||
|
|
||||||
func del_obj(obj):
|
func del_obj(obj):
|
||||||
obj.queue_free()
|
obj.queue_free()
|
||||||
|
@ -13,7 +13,7 @@ var did : int
|
|||||||
var choices : int = 1
|
var choices : int = 1
|
||||||
var selected_choice : int = -1
|
var selected_choice : int = -1
|
||||||
export var speaker_name = ""
|
export var speaker_name = ""
|
||||||
|
var final_display_message = ""
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
story_reader.read(story_file)
|
story_reader.read(story_file)
|
||||||
@ -30,16 +30,22 @@ func _on_text_update():
|
|||||||
func start_dialog(record : String):
|
func start_dialog(record : String):
|
||||||
start_dialog_did(story_reader.get_did_via_record_name(record))
|
start_dialog_did(story_reader.get_did_via_record_name(record))
|
||||||
|
|
||||||
|
func intialize_dialog():
|
||||||
|
if not gui:
|
||||||
|
gui = get_node("/root/World/GUI")
|
||||||
|
|
||||||
|
|
||||||
func start_dialog_did(dialog_id : int):
|
func start_dialog_did(dialog_id : int):
|
||||||
gui = get_node("/root/World/GUI")
|
intialize_dialog()
|
||||||
if not gui.is_in_dialog():
|
if not gui.is_in_dialog():
|
||||||
nid = 1
|
nid = 1
|
||||||
did = dialog_id
|
did = dialog_id
|
||||||
|
|
||||||
process_message(story_reader.get_text(did, nid))
|
process_message(story_reader.get_text(did, nid))
|
||||||
|
|
||||||
func has_next_node():
|
func has_next_node():
|
||||||
return story_reader.has_slot(did, nid, 0)
|
return story_reader.has_slot(did, nid, 0)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func process_message(message):
|
func process_message(message):
|
||||||
gui.clear_choices()
|
gui.clear_choices()
|
||||||
@ -62,6 +68,7 @@ func process_message(message):
|
|||||||
i = i + 1
|
i = i + 1
|
||||||
|
|
||||||
speak(message)
|
speak(message)
|
||||||
|
final_display_message = message
|
||||||
|
|
||||||
func _on_choice(decision):
|
func _on_choice(decision):
|
||||||
move_dialog_forward(decision)
|
move_dialog_forward(decision)
|
||||||
@ -75,5 +82,6 @@ func move_dialog_forward(decision = 0):
|
|||||||
gui.finish_dialog()
|
gui.finish_dialog()
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
if(Input.is_action_just_pressed("ui_accept") and choices == 0 and playing_speech == false):
|
if(Input.is_action_just_pressed("ui_accept") and choices == 0 and final_display_message == gui.current_dialog()):
|
||||||
|
print("YEET")
|
||||||
move_dialog_forward(0)
|
move_dialog_forward(0)
|
||||||
|
@ -3,7 +3,7 @@ extends "res://Scripts/Component/Interactable.gd"
|
|||||||
func _ready():
|
func _ready():
|
||||||
connect("interacted", self, "_on_interact")
|
connect("interacted", self, "_on_interact")
|
||||||
$Speaker.speaker_name = "Dr.Thadd"
|
$Speaker.speaker_name = "Dr.Thadd"
|
||||||
$Speaker.start_dialog("intro_science")
|
#$Speaker.start_dialog("intro_science")
|
||||||
|
|
||||||
func _on_interact():
|
func _on_interact():
|
||||||
$Speaker.start_dialog("intro_science_followup")
|
$Speaker.start_dialog("intro_science_followup")
|
||||||
|
12
client/Scripts/Singletons/CreditsManager.gd
Normal file
12
client/Scripts/Singletons/CreditsManager.gd
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
const SCROLL_SPEED = 25
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
$"/root/MusicManager".play_music("Dystopian/The Story Continues")
|
||||||
|
|
||||||
|
func _process(delta):
|
||||||
|
$Scolling.rect_position.y = $Scolling.rect_position.y - delta * SCROLL_SPEED
|
||||||
|
|
||||||
|
if abs($Scolling.rect_position.y) > $Scolling.rect_size.y + 100:
|
||||||
|
get_tree().change_scene("res://Scenes/Title.scn")
|
@ -5,6 +5,7 @@ var looping : bool = false
|
|||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
main_player = self
|
main_player = self
|
||||||
|
bus = "Music"
|
||||||
|
|
||||||
func play_music(song, loop=true):
|
func play_music(song, loop=true):
|
||||||
var audio_file = "res://Assets/Music/" + song + ".ogg"
|
var audio_file = "res://Assets/Music/" + song + ".ogg"
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
extends CanvasLayer
|
extends CanvasLayer
|
||||||
|
|
||||||
func is_in_dialog():
|
func is_in_dialog():
|
||||||
return in_dialog
|
return in_dialog or $Dialog.is_visible_in_tree()
|
||||||
|
|
||||||
var in_dialog = false
|
var in_dialog = false
|
||||||
|
|
||||||
|
func current_dialog():
|
||||||
|
return $Dialog/Textbox/Body.text
|
||||||
|
|
||||||
func set_dialog(message, speaker=""):
|
func set_dialog(message, speaker=""):
|
||||||
$Dialog.show()
|
$Dialog.show()
|
||||||
in_dialog = true
|
in_dialog = true
|
||||||
|
9
client/default_bus_layout.tres
Normal file
9
client/default_bus_layout.tres
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[gd_resource type="AudioBusLayout" format=2]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
bus/1/name = "Music"
|
||||||
|
bus/1/solo = false
|
||||||
|
bus/1/mute = false
|
||||||
|
bus/1/bypass_fx = false
|
||||||
|
bus/1/volume_db = -5.04538
|
||||||
|
bus/1/send = "Master"
|
@ -25,6 +25,8 @@ MusicManager="*res://Scripts/Singletons/MusicManager.gd"
|
|||||||
|
|
||||||
[display]
|
[display]
|
||||||
|
|
||||||
|
window/size/width=1280
|
||||||
|
window/size/height=720
|
||||||
window/stretch/mode="2d"
|
window/stretch/mode="2d"
|
||||||
window/stretch/aspect="keep_width"
|
window/stretch/aspect="keep_width"
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user