PRIMER COMMIT

This commit is contained in:
Julianlozafermin 2024-11-12 18:51:04 +01:00
commit 431d51726f
152 changed files with 8050 additions and 0 deletions

2
.gitattributes vendored Normal file
View File

@ -0,0 +1,2 @@
# Normalize EOL for all files that Git considers text files.
* text=auto eol=lf

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
# Godot 4+ specific ignores
.godot/
/android/

Binary file not shown.

View File

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://c6xdocgeumijg"
path="res://.godot/imported/01_-_Contra_-_NES_-_Title.ogg-35980cf5556e9bb3ccd9237a0eebd257.oggvorbisstr"
[deps]
source_file="res://BGM-SFX/01_-_Contra_-_NES_-_Title.ogg"
dest_files=["res://.godot/imported/01_-_Contra_-_NES_-_Title.ogg-35980cf5556e9bb3ccd9237a0eebd257.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

View File

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://buick78fh6ono"
path="res://.godot/imported/03_-_Contra_-_NES_-_Jungle.ogg-51729c44753525bcf09920b6a1ff8a88.oggvorbisstr"
[deps]
source_file="res://BGM-SFX/03_-_Contra_-_NES_-_Jungle.ogg"
dest_files=["res://.godot/imported/03_-_Contra_-_NES_-_Jungle.ogg-51729c44753525bcf09920b6a1ff8a88.oggvorbisstr"]
[params]
loop=true
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

View File

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://bfg6xiqjtn21e"
path="res://.godot/imported/10_-_Contra_-_NES_-_Stage_Clear.ogg-55dd80d47ef2cb948b432f8a2722c36e.oggvorbisstr"
[deps]
source_file="res://BGM-SFX/10_-_Contra_-_NES_-_Stage_Clear.ogg"
dest_files=["res://.godot/imported/10_-_Contra_-_NES_-_Stage_Clear.ogg-55dd80d47ef2cb948b432f8a2722c36e.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

View File

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://bfgv4rmbq256v"
path="res://.godot/imported/11_-_Contra_-_NES_-_Game_Over.ogg-463f37e8f2f01fbfc0ba53c03fcc48f9.oggvorbisstr"
[deps]
source_file="res://BGM-SFX/11_-_Contra_-_NES_-_Game_Over.ogg"
dest_files=["res://.godot/imported/11_-_Contra_-_NES_-_Game_Over.ogg-463f37e8f2f01fbfc0ba53c03fcc48f9.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

BIN
BGM-SFX/Contra SFX (10).wav Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cbrnse2ul2vn4"
path="res://.godot/imported/Contra SFX (10).wav-88f46ff2ea0fa656f181ddb4c50f4aa6.sample"
[deps]
source_file="res://BGM-SFX/Contra SFX (10).wav"
dest_files=["res://.godot/imported/Contra SFX (10).wav-88f46ff2ea0fa656f181ddb4c50f4aa6.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
BGM-SFX/Contra SFX (12).wav Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bos3aiooloiad"
path="res://.godot/imported/Contra SFX (12).wav-0aba2a47b7fdd7fc7ffbceb3a0dd7742.sample"
[deps]
source_file="res://BGM-SFX/Contra SFX (12).wav"
dest_files=["res://.godot/imported/Contra SFX (12).wav-0aba2a47b7fdd7fc7ffbceb3a0dd7742.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
BGM-SFX/Contra SFX (13).wav Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://c4ppyu1lal0js"
path="res://.godot/imported/Contra SFX (13).wav-d63e25a1b708476da4e7a530952cb70e.sample"
[deps]
source_file="res://BGM-SFX/Contra SFX (13).wav"
dest_files=["res://.godot/imported/Contra SFX (13).wav-d63e25a1b708476da4e7a530952cb70e.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
BGM-SFX/Contra SFX (14).wav Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://fk3c8vl61ylr"
path="res://.godot/imported/Contra SFX (14).wav-0f3d3720bca18b07f85c5d0f4f1748f9.sample"
[deps]
source_file="res://BGM-SFX/Contra SFX (14).wav"
dest_files=["res://.godot/imported/Contra SFX (14).wav-0f3d3720bca18b07f85c5d0f4f1748f9.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
BGM-SFX/Contra SFX (15).wav Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://dl50lvss7ndnp"
path="res://.godot/imported/Contra SFX (15).wav-bd79614139fe3928c6cf81178ae304b9.sample"
[deps]
source_file="res://BGM-SFX/Contra SFX (15).wav"
dest_files=["res://.godot/imported/Contra SFX (15).wav-bd79614139fe3928c6cf81178ae304b9.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
BGM-SFX/Contra SFX (18).wav Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://by5830tstw0y7"
path="res://.godot/imported/Contra SFX (18).wav-4359ff6a37f6f5e9154b7390a2efddf1.sample"
[deps]
source_file="res://BGM-SFX/Contra SFX (18).wav"
dest_files=["res://.godot/imported/Contra SFX (18).wav-4359ff6a37f6f5e9154b7390a2efddf1.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
BGM-SFX/Contra SFX (19).wav Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cvf3s8lskc1gf"
path="res://.godot/imported/Contra SFX (19).wav-ec1d3f5397eff073541dcef3ae904c36.sample"
[deps]
source_file="res://BGM-SFX/Contra SFX (19).wav"
dest_files=["res://.godot/imported/Contra SFX (19).wav-ec1d3f5397eff073541dcef3ae904c36.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
BGM-SFX/Contra SFX (2).wav Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://durqufkgt8bvq"
path="res://.godot/imported/Contra SFX (2).wav-fbd57cd966f38865484db0a5a99050a1.sample"
[deps]
source_file="res://BGM-SFX/Contra SFX (2).wav"
dest_files=["res://.godot/imported/Contra SFX (2).wav-fbd57cd966f38865484db0a5a99050a1.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
BGM-SFX/Contra SFX (22).wav Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bcuxibpeo6cu5"
path="res://.godot/imported/Contra SFX (22).wav-7faf61530a7c5c86d40535d24b3d32a6.sample"
[deps]
source_file="res://BGM-SFX/Contra SFX (22).wav"
dest_files=["res://.godot/imported/Contra SFX (22).wav-7faf61530a7c5c86d40535d24b3d32a6.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
BGM-SFX/Contra SFX (29).wav Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://maxdqq2n72io"
path="res://.godot/imported/Contra SFX (29).wav-b9cb7cd45bbd6ee8ccaeedf1c3ccb0b7.sample"
[deps]
source_file="res://BGM-SFX/Contra SFX (29).wav"
dest_files=["res://.godot/imported/Contra SFX (29).wav-b9cb7cd45bbd6ee8ccaeedf1c3ccb0b7.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
BGM-SFX/Contra SFX (9).wav Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://wy28dhu5jvdr"
path="res://.godot/imported/Contra SFX (9).wav-73cb587e71e219aaf3ba025ea0cc2856.sample"
[deps]
source_file="res://BGM-SFX/Contra SFX (9).wav"
dest_files=["res://.godot/imported/Contra SFX (9).wav-73cb587e71e219aaf3ba025ea0cc2856.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://dcnaj44fxtsp"
path="res://.godot/imported/Super C SFX (12).wav-9a14d22f4595ae16fa7b872d60805a09.sample"
[deps]
source_file="res://BGM-SFX/Super C SFX (12).wav"
dest_files=["res://.godot/imported/Super C SFX (12).wav-9a14d22f4595ae16fa7b872d60805a09.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://do6eyu6e3k8af"
path="res://.godot/imported/Super C SFX (13).wav-b5ce2d07020ca660090646f51cbe2b82.sample"
[deps]
source_file="res://BGM-SFX/Super C SFX (13).wav"
dest_files=["res://.godot/imported/Super C SFX (13).wav-b5ce2d07020ca660090646f51cbe2b82.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
Font/PressStart2P.ttf Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://l5qkyo43m28e"
path="res://.godot/imported/PressStart2P.ttf-536ec68fbb2e86aeb7eaab44897a9514.fontdata"
[deps]
source_file="res://Font/PressStart2P.ttf"
dest_files=["res://.godot/imported/PressStart2P.ttf-536ec68fbb2e86aeb7eaab44897a9514.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=1
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

59
Scripts/Boss.gd Normal file
View File

@ -0,0 +1,59 @@
extends Node2D
var turret1 = 3
var turret2 = 3
var core = 10
var turn = true
var currentBullet = preload("res://scenes/bullet_enemy2.tscn")
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _on_gun_body_entered(body):
if(body.is_in_group("player_bullet")):
turret1-=1
if(turret1 == 0):
$Gun.queue_free()
func _on_gun_2_body_entered(body):
if(body.is_in_group("player_bullet")):
turret2-=1
if(turret2 == 0):
$Gun2.queue_free()
func _on_core_body_entered(body):
if(body.is_in_group("player_bullet")):
if(turret1 > 0 || turret2 > 0):
return
core-=1
if(core == 0):
$Core.queue_free()
$Barrier.queue_free()
func _on_timer_timeout():
turn = !turn
if(turn && turret1 > 0):
var newBullet = currentBullet.instantiate()
var lvl = get_tree().get_first_node_in_group("level")
lvl.add_child(newBullet)
for c in newBullet.get_child_count():
newBullet.global_position = $Gun/Sp1.global_position
elif(!turn && turret2 > 0):
var newBullet = currentBullet.instantiate()
var lvl = get_tree().get_first_node_in_group("level")
lvl.add_child(newBullet)
for c in newBullet.get_child_count():
newBullet.global_position = $Gun2/Sp2.global_position
func _on_visible_on_screen_notifier_2d_screen_entered():
$Timer.start()

39
Scripts/BridgeArea.gd Normal file
View File

@ -0,0 +1,39 @@
extends Area2D
var phase = 0
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _on_body_entered(body):
if(body.is_in_group("player") && phase == 0):
$Timer.start()
func process_phases():
phase += 1
match(phase):
1:
$AnimationPlayer.play("explosion1")
$Sprite2D.global_position = $A1.global_position
$Bridge.queue_free()
2:
$AnimationPlayer.play("explosion1")
$Sprite2D.global_position = $A2.global_position
$Bridge2.queue_free()
3:
$AnimationPlayer.play("explosion1")
$Sprite2D.global_position = $A3.global_position
$Bridge3.queue_free()
4:
queue_free()
func _on_animation_player_animation_finished(anim_name):
process_phases()
func _on_timer_timeout():
process_phases()

53
Scripts/BulletSub2.gd Normal file
View File

@ -0,0 +1,53 @@
extends CharacterBody2D
const SPEED = 180.0
var alive = true
var angle = 0
func _ready():
var allPlayers = get_tree().get_nodes_in_group("player")
for p in allPlayers:
add_collision_exception_with(p)
func _physics_process(delta):
var collision = move_and_slide()
if(collision):
for i in get_slide_collision_count():
var collidedObj = get_slide_collision(i)
if(collidedObj.get_collider().is_in_group("powerupcontainer")):
collidedObj.get_collider().explodes()
alive = false
queue_free()
elif(collidedObj.get_collider().is_in_group("enemy")):
collidedObj.get_collider().death()
queue_free()
func _on_visible_on_screen_notifier_2d_screen_exited():
queue_free()
func setVelocity(faceDirection):
match(faceDirection):
"Right":
calcFinalVelocity(0)
"Left":
calcFinalVelocity(180)
"Up":
calcFinalVelocity(90)
"Down":
calcFinalVelocity(270)
"RightUp":
calcFinalVelocity(45)
"RightDown":
calcFinalVelocity(315)
"LeftUp":
calcFinalVelocity(135)
"LeftDown":
calcFinalVelocity(225)
func calcFinalVelocity(rAngle):
angle += rAngle
var angle_in_radians = deg_to_rad(angle)
velocity.x = SPEED * cos(angle_in_radians)
velocity.y = SPEED * sin(angle_in_radians) * -1
get_parent().rotation_degrees = angle * -1

59
Scripts/Enemy1.gd Normal file
View File

@ -0,0 +1,59 @@
extends CharacterBody2D
const SPEED = 80.0
const JUMP_VELOCITY = -200.0
var currentVelocity
enum states {none, run, jump}
var currentState = states.none
var points = 20
# Get the gravity from the project settings to be synced with RigidBody nodes.
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
func _ready():
velocity.x = -SPEED
currentVelocity = velocity.x
func _physics_process(delta):
velocity.x = currentVelocity
# Add the gravity.
if not is_on_floor():
velocity.y += gravity * delta
if(currentState == states.run):
decideAction()
else:
if(currentState == states.none):
currentState = states.run
var collision = move_and_slide()
if(collision):
for i in get_slide_collision_count():
var collidedObj = get_slide_collision(i)
if(collidedObj.get_collider().is_in_group("player")):
collidedObj.get_collider().death()
elif(collidedObj.get_collider().is_in_group("player_bullet")):
collidedObj.get_collider().queue_free()
var mainNode = get_tree().get_nodes_in_group("main")[0]
if(collidedObj.get_collider().is_in_group("id_p1")):
mainNode.setP1Score(points)
else:
mainNode.setP2Score(points)
death()
func decideAction():
randomize()
if(randi_range(0,1) == 1):
velocity.x = -velocity.x
$Sprite2D.flip_h = !$Sprite2D.flip_h
currentVelocity = velocity.x
else:
$AnimationPlayer.play("jump")
velocity.y = JUMP_VELOCITY
currentState = states.jump
func death():
queue_free()

50
Scripts/EnemyMachine.gd Normal file
View File

@ -0,0 +1,50 @@
extends Area2D
var turret_active
var can_shot
var currentBullet = preload("res://scenes/bullet_enemy.tscn")
var lifes = 3
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
if(turret_active):
var players = get_tree().get_nodes_in_group("player")
if(players.size() > 1):
if(abs(players[0].global_position.x - get_parent().global_position.x) < abs(players[1].global_position.x - get_parent().global_position.x)):
$Sprite2D.look_at(players[1].global_position)
else:
$Sprite2D.look_at(players[0].global_position)
elif(players.size() == 1 && players[0] != null):
$Sprite2D.look_at(players[0].global_position)
if(can_shot):
shot()
get_node("cooldown").start()
func shot():
can_shot = false
var newBullet = currentBullet.instantiate()
var lvl = get_tree().get_first_node_in_group("level")
lvl.add_child(newBullet)
for c in newBullet.get_child_count():
newBullet.get_child(c).calcFinalVelocity(-$Sprite2D.rotation_degrees)
newBullet.global_position = $Sprite2D/Aim.global_position
func _on_cooldown_timeout():
can_shot = true
func _on_visible_on_screen_notifier_2d_screen_entered():
turret_active = true
$cooldown.start()
func _on_body_entered(body):
if(body.is_in_group("player_bullet")):
lifes-= 1
body.queue_free()
if(lifes == 0):
queue_free()

36
Scripts/PowerUp1.gd Normal file
View File

@ -0,0 +1,36 @@
extends CharacterBody2D
# Get the gravity from the project settings to be synced with RigidBody nodes.
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
var clValue = 300
var powerType = 1
func _ready():
generatePowerUp()
func _physics_process(delta):
# Add the gravity.
if not is_on_floor():
velocity.y += gravity * delta
if is_on_floor():
velocity.x = 0
var collision = move_and_slide()
if(collision):
for i in get_slide_collision_count():
var collidedObj = get_slide_collision(i)
if(collidedObj.get_collider().is_in_group("player")):
collidedObj.get_collider().currentBullet = collidedObj.get_collider().get("bulletP" + str(powerType))
queue_free()
func setVelocity(xVelocity, yVelocity):
velocity.x = clamp(xVelocity, -clValue, clValue)
velocity.y = clamp(yVelocity, -clValue, clValue)
func generatePowerUp():
randomize()
powerType = randi_range(1,2)
$Sprite2D.frame = powerType

View File

@ -0,0 +1,38 @@
extends CharacterBody2D
const SPEED = 100.0
var amplitude = 100.0
var elapsed_time = 0.0
var alive = true
var powerUp1 = preload("res://scenes/power_up_1.tscn")
func _physics_process(delta):
velocity.x = -SPEED
elapsed_time += delta
var sine_wave = sin(elapsed_time / 0.1)
velocity.y = sine_wave * amplitude
var collision = move_and_slide()
if(collision):
for i in get_slide_collision_count():
var collidedObj = get_slide_collision(i)
if(collidedObj.get_collider().is_in_group("player_bullet")):
explodes()
func _on_visible_on_screen_notifier_2d_screen_exited():
queue_free()
func explodes():
if(!alive):
return
var newPowerUp = powerUp1.instantiate()
var lvl = get_tree().get_first_node_in_group("level")
lvl.add_child(newPowerUp)
newPowerUp.setVelocity(velocity.x, velocity.y)
newPowerUp.global_position = global_position
alive = false
queue_free()

38
Scripts/PowerUpMachine.gd Normal file
View File

@ -0,0 +1,38 @@
extends Area2D
var alive = true
var powerUp1 = preload("res://scenes/power_up_1.tscn")
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _on_body_entered(body):
if(body.is_in_group("player_bullet")):
explodes()
func _on_animation_player_animation_finished(anim_name):
if(anim_name == "opened"):
$AnimationPlayer.play("opened_closed")
elif(anim_name == "closed"):
$AnimationPlayer.play("closed_opened")
elif(anim_name == "opened_closed"):
$AnimationPlayer.play("closed")
elif(anim_name == "closed_opened"):
$AnimationPlayer.play("opened")
func explodes():
if(!alive || $AnimationPlayer.current_animation != "opened"):
return
var newPowerUp = powerUp1.instantiate()
var lvl = get_tree().get_first_node_in_group("level")
lvl.add_child(newPowerUp)
newPowerUp.setVelocity(100, -300)
newPowerUp.global_position = global_position
alive = false
queue_free()

3
Scripts/Singleton.gd Normal file
View File

@ -0,0 +1,3 @@
extends Node
var playerNumbers = 1

58
Scripts/bulletNormal.gd Normal file
View File

@ -0,0 +1,58 @@
extends CharacterBody2D
const SPEED = 180.0
var alive = true
func _ready():
var allPlayers = get_tree().get_nodes_in_group("player")
for p in allPlayers:
add_collision_exception_with(p)
func _physics_process(delta):
var collision = move_and_slide()
if(collision):
for i in get_slide_collision_count():
var collidedObj = get_slide_collision(i)
if(collidedObj.get_collider().is_in_group("powerupcontainer")):
collidedObj.get_collider().explodes()
alive = false
queue_free()
elif(collidedObj.get_collider().is_in_group("enemy")):
collidedObj.get_collider().death()
var mainNode = get_tree().get_nodes_in_group("main")[0]
if(is_in_group("id_p1")):
mainNode.setP1Score(collidedObj.get_collider().points)
else:
mainNode.setP2Score(collidedObj.get_collider().points)
queue_free()
func _on_visible_on_screen_notifier_2d_screen_exited():
queue_free()
func setVelocity(faceDirection):
match(faceDirection):
"Right":
calcFinalVelocity(0)
"Left":
calcFinalVelocity(180)
"Up":
calcFinalVelocity(90)
"Down":
calcFinalVelocity(270)
"RightUp":
calcFinalVelocity(45)
"RightDown":
calcFinalVelocity(315)
"LeftUp":
calcFinalVelocity(135)
"LeftDown":
calcFinalVelocity(225)
func calcFinalVelocity(angle):
var angle_in_radians = deg_to_rad(angle)
velocity.x = SPEED * cos(angle_in_radians)
velocity.y = SPEED * sin(angle_in_radians) * -1
func death():
queue_free()

52
Scripts/bulletP1.gd Normal file
View File

@ -0,0 +1,52 @@
extends CharacterBody2D
const SPEED = 180.0
var alive = true
var angle = 0
func _ready():
var allPlayers = get_tree().get_nodes_in_group("player")
for p in allPlayers:
add_collision_exception_with(p)
func _physics_process(delta):
var collision = move_and_slide()
if(collision):
for i in get_slide_collision_count():
var collidedObj = get_slide_collision(i)
if(collidedObj.get_collider().is_in_group("powerupcontainer")):
collidedObj.get_collider().explodes()
alive = false
queue_free()
elif(collidedObj.get_collider().is_in_group("enemy")):
collidedObj.get_collider().death()
queue_free()
func _on_visible_on_screen_notifier_2d_screen_exited():
queue_free()
func setVelocity(faceDirection):
match(faceDirection):
"Right":
calcFinalVelocity(0)
"Left":
calcFinalVelocity(180)
"Up":
calcFinalVelocity(90)
"Down":
calcFinalVelocity(270)
"RightUp":
calcFinalVelocity(45)
"RightDown":
calcFinalVelocity(315)
"LeftUp":
calcFinalVelocity(135)
"LeftDown":
calcFinalVelocity(225)
func calcFinalVelocity(rAngle):
angle += rAngle
var angle_in_radians = deg_to_rad(angle)
velocity.x = SPEED * cos(angle_in_radians)
velocity.y = SPEED * sin(angle_in_radians) * -1

23
Scripts/bulletP1Parent.gd Normal file
View File

@ -0,0 +1,23 @@
extends Node2D
const SPEED = 180.0
# Called when the node enters the scene tree for the first time.
func _ready():
get_child(0).calcFinalVelocity(0)
get_child(3).calcFinalVelocity(45)
get_child(1).calcFinalVelocity(315)
get_child(2).calcFinalVelocity(330)
get_child(4).calcFinalVelocity(60)
var allBullets = get_tree().get_nodes_in_group("player_bullet")
for b in allBullets:
get_child(0).add_collision_exception_with(b)
get_child(1).add_collision_exception_with(b)
get_child(2).add_collision_exception_with(b)
get_child(3).add_collision_exception_with(b)
get_child(4).add_collision_exception_with(b)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass

18
Scripts/bullet_p2.gd Normal file
View File

@ -0,0 +1,18 @@
extends Node2D
# Called when the node enters the scene tree for the first time.
func _ready():
get_child(0).calcFinalVelocity(0)
get_child(1).calcFinalVelocity(0)
get_child(2).calcFinalVelocity(0)
var allBullets = get_tree().get_nodes_in_group("player_bullet")
for b in allBullets:
get_child(0).add_collision_exception_with(b)
get_child(1).add_collision_exception_with(b)
get_child(2).add_collision_exception_with(b)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass

20
Scripts/cam.gd Normal file
View File

@ -0,0 +1,20 @@
extends Camera2D
const SPEED = 7
const OFFSET = 25
var target = Vector2()
var end
# Called when the node enters the scene tree for the first time.
func _ready():
target = global_position
end = get_tree().get_nodes_in_group("end")[0]
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
if(global_position.x < end.global_position.x):
global_position = lerp(global_position, target, delta*SPEED)
func _on_area_2d_body_entered(body):
if(body.is_in_group("player")):
target = Vector2(global_position.x + OFFSET, global_position.y)

53
Scripts/enemyBullet.gd Normal file
View File

@ -0,0 +1,53 @@
extends CharacterBody2D
const SPEED = 180.0
var alive = true
func _ready():
var allEnemy = get_tree().get_nodes_in_group("enemy")
for p in allEnemy:
add_collision_exception_with(p)
var allPlatforms = get_tree().get_nodes_in_group("ground")
for p in allPlatforms:
add_collision_exception_with(p)
func _physics_process(delta):
var collision = move_and_slide()
if(collision):
for i in get_slide_collision_count():
var collidedObj = get_slide_collision(i)
if(collidedObj.get_collider().is_in_group("player")):
collidedObj.get_collider().death()
queue_free()
func _on_visible_on_screen_notifier_2d_screen_exited():
queue_free()
func setVelocity(faceDirection):
match(faceDirection):
"Right":
calcFinalVelocity(0)
"Left":
calcFinalVelocity(180)
"Up":
calcFinalVelocity(90)
"Down":
calcFinalVelocity(270)
"RightUp":
calcFinalVelocity(45)
"RightDown":
calcFinalVelocity(315)
"LeftUp":
calcFinalVelocity(135)
"LeftDown":
calcFinalVelocity(225)
func calcFinalVelocity(angle):
var angle_in_radians = deg_to_rad(angle)
velocity.x = SPEED * cos(angle_in_radians)
velocity.y = SPEED * sin(angle_in_radians) * -1
func death():
queue_free()

57
Scripts/enemyBullet2.gd Normal file
View File

@ -0,0 +1,57 @@
extends CharacterBody2D
const SPEED = 180.0
var alive = true
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
func _ready():
calcFinalVelocity(180)
var allEnemy = get_tree().get_nodes_in_group("enemy")
for p in allEnemy:
add_collision_exception_with(p)
var allPlatforms = get_tree().get_nodes_in_group("ground")
for p in allPlatforms:
add_collision_exception_with(p)
func _physics_process(delta):
velocity.y += gravity * delta
var collision = move_and_slide()
if(collision):
for i in get_slide_collision_count():
var collidedObj = get_slide_collision(i)
if(collidedObj.get_collider().is_in_group("player")):
collidedObj.get_collider().death()
queue_free()
func _on_visible_on_screen_notifier_2d_screen_exited():
queue_free()
func setVelocity(faceDirection):
match(faceDirection):
"Right":
calcFinalVelocity(0)
"Left":
calcFinalVelocity(180)
"Up":
calcFinalVelocity(90)
"Down":
calcFinalVelocity(270)
"RightUp":
calcFinalVelocity(45)
"RightDown":
calcFinalVelocity(315)
"LeftUp":
calcFinalVelocity(135)
"LeftDown":
calcFinalVelocity(225)
func calcFinalVelocity(angle):
var angle_in_radians = deg_to_rad(angle)
velocity.x = SPEED * cos(angle_in_radians)
velocity.y = SPEED * sin(angle_in_radians) * -1
func death():
queue_free()

181
Scripts/player1.gd Normal file
View File

@ -0,0 +1,181 @@
extends CharacterBody2D
const SPEED = 100.0
const JUMP_VELOCITY = -300.0
enum player_states {idle, run, jump, crouch, aimUp, water, dead}
var current_state = player_states.idle
var canShot = true
var normalBullet = preload("res://scenes/bullet_normal.tscn")
var bulletP1 = preload("res://scenes/bullet_p1.tscn")
var bulletP2 = preload("res://scenes/bullet_p2.tscn")
var currentBullet = normalBullet
var minCamera
var maxCamera
# Get the gravity from the project settings to be synced with RigidBody nodes.
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
var direction
var vDirection
func _ready():
var allPlayers = get_tree().get_nodes_in_group("player")
for p in allPlayers:
add_collision_exception_with(p)
var cam = get_tree().get_nodes_in_group("camera")
minCamera = cam[0].get_node("min")
maxCamera = cam[0].get_node("max")
func _physics_process(delta):
# Add the gravity.
if not is_on_floor() && current_state != player_states.water:
velocity.y += gravity * delta
if(current_state != player_states.dead):
$AnimationPlayer.play("jump")
current_state = player_states.jump
else:
get_tree().get_nodes_in_group("spawnPoint")[0].global_position.x = global_position.x
# Handle Jump.
if(current_state != player_states.dead):
if Input.is_action_just_pressed("ui_accept") and (is_on_floor() || current_state == player_states.water):
velocity.y = JUMP_VELOCITY
current_state = player_states.jump
direction = Input.get_axis("ui_left", "ui_right")
vDirection = Input.get_axis("ui_up", "ui_down")
if(vDirection):
if is_on_floor():
if vDirection > 0:
if(current_state == player_states.idle):
$AnimationPlayer.play("crouch")
current_state = player_states.crouch
else:
if(current_state == player_states.idle):
$AnimationPlayer.play("aim_up")
current_state = player_states.aimUp
elif current_state == player_states.water:
if(vDirection > 0):
$AnimationPlayer.play("swim_hide")
else:
if current_state == player_states.crouch || current_state == player_states.aimUp:
current_state = player_states.idle
if current_state != player_states.crouch && (current_state != player_states.water || !vDirection):
if direction:
velocity.x = direction * SPEED
if is_on_floor():
if(!vDirection):
if(current_state != player_states.water):
$AnimationPlayer.play("run")
current_state = player_states.run
else:
$AnimationPlayer.play("swim")
elif(current_state == player_states.water):
$AnimationPlayer.play("swim")
elif(vDirection > 0):
$AnimationPlayer.play("down_right")
current_state = player_states.run
elif(vDirection < 0):
$AnimationPlayer.play("up_right")
current_state = player_states.run
elif (current_state == player_states.water):
if(!vDirection):
$AnimationPlayer.play("swim")
$spr.flip_h = (direction > 0)
else:
velocity.x = move_toward(velocity.x, 0, SPEED)
if is_on_floor() && current_state != player_states.aimUp:
if(current_state != player_states.water):
$AnimationPlayer.play("idle")
current_state = player_states.idle
else:
$AnimationPlayer.play("swim_idle")
elif(current_state == player_states.water && !vDirection):
$AnimationPlayer.play("swim_idle")
if(global_position.x < minCamera.global_position.x && velocity.x < 0):
velocity.x = 0
elif(global_position.x > maxCamera.global_position.x && velocity.x > 0):
velocity.x = 0
var collision = move_and_slide()
if(current_state != player_states.dead):
if(collision):
for i in get_slide_collision_count():
var collidedObj = get_slide_collision(i)
if(collidedObj.get_collider().is_in_group("water")):
current_state = player_states.water
elif(collidedObj.get_collider().is_in_group("powerup")):
currentBullet = get("bulletP" + str(collidedObj.get_collider().powerType))
collidedObj.get_collider().queue_free()
elif(collidedObj.get_collider().is_in_group("enemy") || collidedObj.get_collider().is_in_group("enemy_bullet")):
death()
if(Input.is_action_just_pressed("p1_shoot") && canShot):
var newBullet = currentBullet.instantiate()
var lvl = get_tree().get_first_node_in_group("level")
lvl.add_child(newBullet)
var faceDirection = getFacingDirection()
if(currentBullet == normalBullet):
get_tree().get_nodes_in_group("main")[0].createSFX(10)
for c in newBullet.get_child_count():
newBullet.get_child(c).setVelocity(faceDirection)
newBullet.get_child(c).add_to_group("id_p1")
newBullet.global_position = get_node("SpawnPositions/Aim_" + faceDirection).global_position
canShot = false
$Timer.start()
func getFacingDirection():
var fDirection = ""
if(!vDirection && !direction):
if($spr.flip_h):
fDirection = "Right"
else:
fDirection = "Left"
elif(direction):
if(direction > 0):
fDirection = "Right"
else:
fDirection = "Left"
if(vDirection):
if(vDirection < 0):
fDirection += "Up"
else:
fDirection += "Down"
elif(vDirection):
if(vDirection < 0):
fDirection += "Up"
else:
fDirection += "Down"
return fDirection
func _on_timer_timeout():
canShot = true
func death():
get_tree().get_nodes_in_group("main")[0].createSFX(18)
$AnimationPlayer.play("death")
current_state = player_states.dead
velocity.x = 0
set_collision_layer_value(1, false)
set_collision_mask_value(1, false)
$Respawn.start()
func _on_respawn_timeout():
var main = get_tree().get_nodes_in_group("main")[0]
main.lives_p1 -= 1
main.respawnP1()
queue_free()

178
Scripts/player2.gd Normal file
View File

@ -0,0 +1,178 @@
extends CharacterBody2D
const SPEED = 100.0
const JUMP_VELOCITY = -300.0
enum player_states {idle, run, jump, crouch, aimUp, water, dead}
var current_state = player_states.idle
var canShot = true
var normalBullet = preload("res://scenes/bullet_normal.tscn")
var bulletP1 = preload("res://scenes/bullet_p1.tscn")
var bulletP2 = preload("res://scenes/bullet_p2.tscn")
var currentBullet = normalBullet
# Get the gravity from the project settings to be synced with RigidBody nodes.
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
var direction
var vDirection
var minCamera
var maxCamera
func _ready():
var allPlayers = get_tree().get_nodes_in_group("player")
for p in allPlayers:
add_collision_exception_with(p)
var cam = get_tree().get_nodes_in_group("camera")
minCamera = cam[0].get_node("min")
maxCamera = cam[0].get_node("max")
func _physics_process(delta):
# Add the gravity.
if not is_on_floor() && current_state != player_states.water:
velocity.y += gravity * delta
if(current_state != player_states.dead):
$AnimationPlayer.play("jump")
current_state = player_states.jump
else:
get_tree().get_nodes_in_group("spawnPoint")[0].global_position.x = global_position.x
# Handle Jump.
if(current_state != player_states.dead):
if Input.is_action_just_pressed("H") and (is_on_floor() || current_state == player_states.water):
velocity.y = JUMP_VELOCITY
current_state = player_states.jump
direction = Input.get_axis("A", "D")
vDirection = Input.get_axis("W", "S")
if(vDirection):
if is_on_floor():
if vDirection > 0:
if(current_state == player_states.idle):
$AnimationPlayer.play("crouch")
current_state = player_states.crouch
else:
if(current_state == player_states.idle):
$AnimationPlayer.play("aim_up")
current_state = player_states.aimUp
elif current_state == player_states.water:
if(vDirection > 0):
$AnimationPlayer.play("swim_hide")
else:
if current_state == player_states.crouch || current_state == player_states.aimUp:
current_state = player_states.idle
if current_state != player_states.crouch && (current_state != player_states.water || !vDirection):
if direction:
velocity.x = direction * SPEED
if is_on_floor():
if(!vDirection):
if(current_state != player_states.water):
$AnimationPlayer.play("run")
current_state = player_states.run
else:
$AnimationPlayer.play("swim")
elif(current_state == player_states.water):
$AnimationPlayer.play("swim")
elif(vDirection > 0):
$AnimationPlayer.play("down_right")
current_state = player_states.run
elif(vDirection < 0):
$AnimationPlayer.play("up_right")
current_state = player_states.run
elif (current_state == player_states.water):
if(!vDirection):
$AnimationPlayer.play("swim")
$spr.flip_h = (direction > 0)
else:
velocity.x = move_toward(velocity.x, 0, SPEED)
if is_on_floor() && current_state != player_states.aimUp:
if(current_state != player_states.water):
$AnimationPlayer.play("idle")
current_state = player_states.idle
else:
$AnimationPlayer.play("swim_idle")
elif(current_state == player_states.water && !vDirection):
$AnimationPlayer.play("swim_idle")
if(global_position.x < minCamera.global_position.x && velocity.x < 0):
velocity.x = 0
elif(global_position.x > maxCamera.global_position.x && velocity.x > 0):
velocity.x = 0
var collision = move_and_slide()
if(current_state != player_states.dead):
if(collision):
for i in get_slide_collision_count():
var collidedObj = get_slide_collision(i)
if(collidedObj.get_collider().is_in_group("water")):
current_state = player_states.water
elif(collidedObj.get_collider().is_in_group("powerup")):
currentBullet = get("bulletP" + str(collidedObj.get_collider().powerType))
collidedObj.get_collider().queue_free()
elif(collidedObj.get_collider().is_in_group("enemy") || collidedObj.get_collider().is_in_group("enemy_bullet")):
death()
if(Input.is_action_just_pressed("G") && canShot):
var newBullet = currentBullet.instantiate()
var lvl = get_tree().get_first_node_in_group("level")
lvl.add_child(newBullet)
var faceDirection = getFacingDirection()
for c in newBullet.get_child_count():
newBullet.get_child(c).setVelocity(faceDirection)
newBullet.get_child(c).add_to_group("id_p2")
newBullet.global_position = get_node("SpawnPositions/Aim_" + faceDirection).global_position
canShot = false
$Timer.start()
func getFacingDirection():
var fDirection = ""
if(!vDirection && !direction):
if($spr.flip_h):
fDirection = "Right"
else:
fDirection = "Left"
elif(direction):
if(direction > 0):
fDirection = "Right"
else:
fDirection = "Left"
if(vDirection):
if(vDirection < 0):
fDirection += "Up"
else:
fDirection += "Down"
elif(vDirection):
if(vDirection < 0):
fDirection += "Up"
else:
fDirection += "Down"
return fDirection
func _on_timer_timeout():
canShot = true
func death():
$AnimationPlayer.play("death")
current_state = player_states.dead
velocity.x = 0
set_collision_layer_value(1, false)
set_collision_mask_value(1, false)
$Respawn.start()
func _on_respawn_timeout():
var main = get_tree().get_nodes_in_group("main")[0]
main.lives_p2 -= 1
main.respawnP2()
queue_free()

19
Shaders/player_2.gdshader Normal file
View File

@ -0,0 +1,19 @@
shader_type canvas_item;
void fragment() {
// Get the color of the pixel from the texture.
vec4 pixel = texture(TEXTURE, UV);
// Get the blue component of the pixel color.
float blue_component = pixel.b;
// If the blue component is greater than 0.5, set the pixel color to red.
if (blue_component > 0.7) {
pixel.r = 0.8;
pixel.g = 0.0;
pixel.b = 0.0;
}
// Set the pixel color to the shader's output.
COLOR = pixel;
}

BIN
Sprites/contraj1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bem0puvhvb2fn"
path="res://.godot/imported/contraj1.png-762e83162787823eb82b241f95edf972.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/contraj1.png"
dest_files=["res://.godot/imported/contraj1.png-762e83162787823eb82b241f95edf972.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Sprites/contraj2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dklxajofta1kd"
path="res://.godot/imported/contraj2.png-95f5253cf90ba22f9d971f36df9c2c87.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/contraj2.png"
dest_files=["res://.godot/imported/contraj2.png-95f5253cf90ba22f9d971f36df9c2c87.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Sprites/enemigo_base.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://wcxuabeva6d1"
path="res://.godot/imported/enemigo_base.png-824de64affbc2e1b4f06250c46d800a3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/enemigo_base.png"
dest_files=["res://.godot/imported/enemigo_base.png-824de64affbc2e1b4f06250c46d800a3.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Sprites/enemigo_selva.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 883 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bf5u01k4o15gy"
path="res://.godot/imported/enemigo_selva.png-f672a455652f4df8086d24162a24a969.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/enemigo_selva.png"
dest_files=["res://.godot/imported/enemigo_selva.png-f672a455652f4df8086d24162a24a969.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Sprites/enemigos.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c7ke8gv6cxquv"
path="res://.godot/imported/enemigos.png-926a2695b8608c0d85aa17604106ae78.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/enemigos.png"
dest_files=["res://.godot/imported/enemigos.png-926a2695b8608c0d85aa17604106ae78.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Sprites/explosiones.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ccwai1enfyly1"
path="res://.godot/imported/explosiones.png-6cf8d066f14951667a8ccebcfbaf99c8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/explosiones.png"
dest_files=["res://.godot/imported/explosiones.png-6cf8d066f14951667a8ccebcfbaf99c8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Sprites/j1_down.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ddjnqffxnohth"
path="res://.godot/imported/j1_down.png-886e02f0a9cf0dea0f9a5d02a5efa342.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/j1_down.png"
dest_files=["res://.godot/imported/j1_down.png-886e02f0a9cf0dea0f9a5d02a5efa342.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Sprites/j1_idle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 803 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bxrthk1syjq0q"
path="res://.godot/imported/j1_idle.png-04053815b9506b8db363cd0c8c309aba.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/j1_idle.png"
dest_files=["res://.godot/imported/j1_idle.png-04053815b9506b8db363cd0c8c309aba.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Sprites/j1_run.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

34
Sprites/j1_run.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://42jbdfqg673e"
path="res://.godot/imported/j1_run.png-bdb07bd89070f87a520003b2ea38c11e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/j1_run.png"
dest_files=["res://.godot/imported/j1_run.png-bdb07bd89070f87a520003b2ea38c11e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Sprites/j1_salto.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 960 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bbmsw2jai28mv"
path="res://.godot/imported/j1_salto.png-cf30ff555b12ffcb29cdb6ede643a7f2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/j1_salto.png"
dest_files=["res://.godot/imported/j1_salto.png-cf30ff555b12ffcb29cdb6ede643a7f2.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Sprites/j1_water.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 543 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://87jobbti0q8i"
path="res://.godot/imported/j1_water.png-2b46fb5509083a0025998dc5a61e493c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/j1_water.png"
dest_files=["res://.godot/imported/j1_water.png-2b46fb5509083a0025998dc5a61e493c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Sprites/j2_down.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 472 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bmy5lnam18kd5"
path="res://.godot/imported/j2_down.png-c71e1b58503fe5c350dcffa4d257dec6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/j2_down.png"
dest_files=["res://.godot/imported/j2_down.png-c71e1b58503fe5c350dcffa4d257dec6.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Sprites/j2_idle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 761 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cu1lqdueootwm"
path="res://.godot/imported/j2_idle.png-6963da30c660cf7b3b9003511edd9df8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/j2_idle.png"
dest_files=["res://.godot/imported/j2_idle.png-6963da30c660cf7b3b9003511edd9df8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Sprites/j2_run.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

34
Sprites/j2_run.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d2s5hb5xk1wky"
path="res://.godot/imported/j2_run.png-19d5d40d9235b02d8f8b35e087ebc982.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/j2_run.png"
dest_files=["res://.godot/imported/j2_run.png-19d5d40d9235b02d8f8b35e087ebc982.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Sprites/j2_salto.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 879 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dx8dwdthq742y"
path="res://.godot/imported/j2_salto.png-42631490d7ea1d87710c137cf8d9a324.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/j2_salto.png"
dest_files=["res://.godot/imported/j2_salto.png-42631490d7ea1d87710c137cf8d9a324.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bq3id50u04uu0"
path="res://.godot/imported/maquina_boss_arma.png-c1070235a296cca31acbb380d2ef58ee.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/maquina_boss_arma.png"
dest_files=["res://.godot/imported/maquina_boss_arma.png-c1070235a296cca31acbb380d2ef58ee.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 641 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ck83usvgfx4qq"
path="res://.godot/imported/maquina_boss_base - copia.png-492cde579cc7e833f59a9943d32ed8de.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/maquina_boss_base - copia.png"
dest_files=["res://.godot/imported/maquina_boss_base - copia.png-492cde579cc7e833f59a9943d32ed8de.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://1dfeq4hqwq5m"
path="res://.godot/imported/maquina_boss_base.png-22226a46ac9a227af4c6670b0c702e6c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/maquina_boss_base.png"
dest_files=["res://.godot/imported/maquina_boss_base.png-22226a46ac9a227af4c6670b0c702e6c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://plxgkoh6d7nj"
path="res://.godot/imported/maquina_boss_vida.png-60749f875859152865c8a93f974ab75b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/maquina_boss_vida.png"
dest_files=["res://.godot/imported/maquina_boss_vida.png-60749f875859152865c8a93f974ab75b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Sprites/maquinas.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://crk8h5dnwf6i8"
path="res://.godot/imported/maquinas.png-e7f38aea2e76f068807c04f85c7985e7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/maquinas.png"
dest_files=["res://.godot/imported/maquinas.png-e7f38aea2e76f068807c04f85c7985e7.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Sprites/muerte_j1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b0x8mf13gbktm"
path="res://.godot/imported/muerte_j1.png-30d31631e4261fd4e2232bdd926c9e71.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/muerte_j1.png"
dest_files=["res://.godot/imported/muerte_j1.png-30d31631e4261fd4e2232bdd926c9e71.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Sprites/muerte_j2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Some files were not shown because too many files have changed in this diff Show More