combine code entry with debug, add code visual, fix non-symbol keys in cheat codes

This commit is contained in:
Haze Weathers 2023-01-12 01:22:09 -05:00
parent 349a46b8fa
commit fa58ac21a1
6 changed files with 61 additions and 44 deletions

View file

@ -1,9 +1,10 @@
[gd_scene load_steps=6 format=2] [gd_scene load_steps=7 format=2]
[ext_resource path="res://scripts/scaling.gd" type="Script" id=1] [ext_resource path="res://scripts/scaling.gd" type="Script" id=1]
[ext_resource path="res://graphics/borders/prideborder.png" type="Texture" id=2] [ext_resource path="res://graphics/borders/prideborder.png" type="Texture" id=2]
[ext_resource path="res://maps/cave.tscn" type="PackedScene" id=3] [ext_resource path="res://maps/cave.tscn" type="PackedScene" id=3]
[ext_resource path="res://scripts/crt.gdshader" type="Shader" id=4] [ext_resource path="res://scripts/crt.gdshader" type="Shader" id=4]
[ext_resource path="res://scripts/theme.tres" type="Theme" id=5]
[sub_resource type="ShaderMaterial" id=1] [sub_resource type="ShaderMaterial" id=1]
shader = ExtResource( 4 ) shader = ExtResource( 4 )
@ -47,3 +48,14 @@ handle_input_locally = false
render_target_update_mode = 3 render_target_update_mode = 3
[node name="Map" parent="ViewportContainer/Viewport" instance=ExtResource( 3 )] [node name="Map" parent="ViewportContainer/Viewport" instance=ExtResource( 3 )]
[node name="CheatLayer" type="CanvasLayer" parent="ViewportContainer/Viewport"]
layer = 127
[node name="CheatLabel" type="Label" parent="ViewportContainer/Viewport/CheatLayer"]
anchor_right = 1.0
anchor_bottom = 1.0
margin_bottom = -4.0
theme = ExtResource( 5 )
align = 2
valign = 2

View file

@ -14,8 +14,7 @@ script = ExtResource( 1 )
[node name="Console" type="Label" parent="."] [node name="Console" type="Label" parent="."]
anchor_right = 1.0 anchor_right = 1.0
margin_bottom = 14.0 size_flags_vertical = 2
size_flags_vertical = 0
[node name="Panel" type="Panel" parent="Console"] [node name="Panel" type="Panel" parent="Console"]
show_behind_parent = true show_behind_parent = true

View file

@ -18,7 +18,6 @@ config/icon="res://icon.png"
Game="*res://game.tscn" Game="*res://game.tscn"
Debug="*res://objects/debug.tscn" Debug="*res://objects/debug.tscn"
CodeEntry="*res://scripts/code_entry.gd"
[display] [display]

View file

@ -1,37 +0,0 @@
extends Node
const ENTRY_SEQUENCE = ["4", "1", "5"]
var entry_index = 0
var entry = false
var code = ""
func _input(event):
if event is InputEventKey && event.is_pressed():
var character = OS.get_scancode_string(event.scancode)
if entry:
if event.scancode == KEY_ENTER:
_enter_code()
entry = false
code = ""
else:
code += character
else:
if character == ENTRY_SEQUENCE[entry_index]:
entry_index += 1
if entry_index >= ENTRY_SEQUENCE.size():
entry = true
entry_index = 0
_on_entry()
func _on_entry():
Game.play_sound(Game.a_die, Game.ac_cheat)
func _enter_code():
match code:
"30385":
Debug.print("Woohoo crystals!")
"1989":
for enemy in get_tree().get_nodes_in_group("enemy"):
enemy.queue_free()

View file

@ -1,17 +1,25 @@
extends CanvasLayer extends CanvasLayer
#Console by hazel #Console by hazel
#Const
const ENTRY_SEQUENCE = ["4", "1", "5"]
#Export #Export
export var max_lines: int = 10 export var max_lines: int = 10
export var opacity: float = 0.5 export var opacity: float = 0.5
#Onready #Onready
onready var console: Label = $Console onready var console = $Console
onready var code_label = get_parent().get_node("Main/Control/ViewportContainer/Viewport/CheatLayer/CheatLabel")
##Runtime ##Runtime
var lines: int = 0 var lines: int = 0
var time: float = 0.0 var time: float = 0.0
var n: int = 0 var n: int = 0
var debug = false var debug = false
# cheat code entry
var entry_index = 0
var entry = false
var code = ""
func _ready(): func _ready():
#Auto do debug when playtesting #Auto do debug when playtesting
@ -26,7 +34,7 @@ func _ready():
func _physics_process(delta): func _physics_process(delta):
#DEBUG #DEBUG
if debug == true && !CodeEntry.entry && !CodeEntry.entry_index > 0: if debug == true && !entry && !entry_index > 0:
#Show console #Show console
if Input.is_action_just_pressed("debug_show"): if Input.is_action_just_pressed("debug_show"):
console.visible = !console.visible console.visible = !console.visible
@ -67,9 +75,44 @@ func print(text):
else: else:
console.text += str(text) console.text += str(text)
func _on_visible_toggled(button_pressed): func _on_visible_toggled(button_pressed):
if button_pressed: if button_pressed:
console.visible = true console.visible = true
else: else:
console.visible = false console.visible = false
func _input(event):
if event is InputEventKey && event.is_pressed():
var character = OS.get_scancode_string(event.scancode)
if character.length() > 1:
character = ""
if entry:
if event.scancode == KEY_ENTER:
_enter_code()
entry = false
code = ""
elif event.scancode == KEY_BACKSPACE:
code.erase(code.length() - 1, 1)
else:
code += character
code_label.text = code
else:
if character == ENTRY_SEQUENCE[entry_index]:
entry_index += 1
if entry_index >= ENTRY_SEQUENCE.size():
entry = true
entry_index = 0
_on_entry()
func _on_entry():
Game.play_sound(Game.a_star, Game.ac_cheat)
func _enter_code():
match code:
"30385":
Debug.print("Woohoo crystals!")
"1989":
Game.play_sound(Game.a_die, Game.ac_die)
for enemy in get_tree().get_nodes_in_group("enemy"):
enemy.queue_free()

View file

@ -3,6 +3,7 @@ extends Control
var multiple = 1 var multiple = 1
onready var viewport = $ViewportContainer onready var viewport = $ViewportContainer
onready var border = $TextureRect onready var border = $TextureRect
onready var cheat_label = $ViewportContainer/Viewport/
# SCALE MODE: INTEGER, FIT, FILL # SCALE MODE: INTEGER, FIT, FILL
export var scale_mode = 0 export var scale_mode = 0
# INTEGER SCALE SETTINGS # INTEGER SCALE SETTINGS