stuffs
This commit is contained in:
parent
ae8b17a347
commit
c2afe78d7f
7 changed files with 55 additions and 48 deletions
|
@ -1,7 +1,8 @@
|
||||||
[gd_scene load_steps=6 format=3 uid="uid://bw0tk6ml7gayq"]
|
[gd_scene load_steps=7 format=3 uid="uid://bw0tk6ml7gayq"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://src/DynamicMap.gd" id="1_mytgt"]
|
[ext_resource type="Script" path="res://src/DynamicMap.gd" id="1_mytgt"]
|
||||||
[ext_resource type="Script" path="res://src/TempDebugCamera.gd" id="2_co6fy"]
|
[ext_resource type="Script" path="res://src/TempDebugCamera.gd" id="2_co6fy"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dm33ofcbh8sht" path="res://scenes/world/Player.tscn" id="3_58gow"]
|
||||||
|
|
||||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_tvhkv"]
|
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_tvhkv"]
|
||||||
sky_top_color = Color(0.483795, 0.593484, 0.746094, 1)
|
sky_top_color = Color(0.483795, 0.593484, 0.746094, 1)
|
||||||
|
@ -22,8 +23,10 @@ script = ExtResource("1_mytgt")
|
||||||
environment = SubResource("Environment_d5g72")
|
environment = SubResource("Environment_d5g72")
|
||||||
|
|
||||||
[node name="CameraPivot" type="Node3D" parent="."]
|
[node name="CameraPivot" type="Node3D" parent="."]
|
||||||
|
visible = false
|
||||||
|
|
||||||
[node name="Camera3D" type="Camera3D" parent="CameraPivot"]
|
[node name="Camera3D" type="Camera3D" parent="CameraPivot"]
|
||||||
|
fov = 74.0
|
||||||
script = ExtResource("2_co6fy")
|
script = ExtResource("2_co6fy")
|
||||||
|
|
||||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||||
|
@ -35,3 +38,6 @@ use_collision = true
|
||||||
size = Vector3(15.4238, 0.866943, 15.2599)
|
size = Vector3(15.4238, 0.866943, 15.2599)
|
||||||
|
|
||||||
[node name="Label3D" type="Label3D" parent="."]
|
[node name="Label3D" type="Label3D" parent="."]
|
||||||
|
|
||||||
|
[node name="Player" parent="." instance=ExtResource("3_58gow")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.74637, 0)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=10 format=3 uid="uid://dm33ofcbh8sht"]
|
[gd_scene load_steps=9 format=3 uid="uid://dm33ofcbh8sht"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://src/Player.gd" id="1_n772d"]
|
[ext_resource type="Script" path="res://src/Player.gd" id="1_n772d"]
|
||||||
[ext_resource type="Texture2D" uid="uid://rfpsi4xnxdu" path="res://GFX/BlinkIcon.png" id="2_kjp08"]
|
[ext_resource type="Texture2D" uid="uid://rfpsi4xnxdu" path="res://GFX/BlinkIcon.png" id="2_kjp08"]
|
||||||
|
@ -7,10 +7,9 @@
|
||||||
[ext_resource type="Texture2D" uid="uid://c5p7utpptgtww" path="res://GFX/BlinkMeter.jpg" id="5_iwhsa"]
|
[ext_resource type="Texture2D" uid="uid://c5p7utpptgtww" path="res://GFX/BlinkMeter.jpg" id="5_iwhsa"]
|
||||||
[ext_resource type="Texture2D" uid="uid://den5phi138pyh" path="res://GFX/StaminaMeter.jpg" id="6_g44nt"]
|
[ext_resource type="Texture2D" uid="uid://den5phi138pyh" path="res://GFX/StaminaMeter.jpg" id="6_g44nt"]
|
||||||
|
|
||||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_bsew3"]
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_w1ang"]
|
||||||
|
radius = 0.15
|
||||||
[sub_resource type="BoxMesh" id="BoxMesh_vju81"]
|
height = 0.3
|
||||||
size = Vector3(1, 2, 1)
|
|
||||||
|
|
||||||
[sub_resource type="SeparationRayShape3D" id="SeparationRayShape3D_u64q7"]
|
[sub_resource type="SeparationRayShape3D" id="SeparationRayShape3D_u64q7"]
|
||||||
length = 0.5
|
length = 0.5
|
||||||
|
@ -19,20 +18,16 @@ length = 0.5
|
||||||
script = ExtResource("1_n772d")
|
script = ExtResource("1_n772d")
|
||||||
|
|
||||||
[node name="Head" type="Node3D" parent="."]
|
[node name="Head" type="Node3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.75, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.65, 0)
|
||||||
|
|
||||||
[node name="Camera" type="Camera3D" parent="Head"]
|
[node name="Camera" type="Camera3D" parent="Head"]
|
||||||
|
|
||||||
[node name="Collision" type="CollisionShape3D" parent="."]
|
[node name="Collision" type="CollisionShape3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.15, 0)
|
||||||
shape = SubResource("CylinderShape3D_bsew3")
|
shape = SubResource("CapsuleShape3D_w1ang")
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Collision"]
|
|
||||||
visible = false
|
|
||||||
mesh = SubResource("BoxMesh_vju81")
|
|
||||||
|
|
||||||
[node name="SepRay1" type="CollisionShape3D" parent="."]
|
[node name="SepRay1" type="CollisionShape3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.5, -0.55)
|
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.5, -0.155)
|
||||||
shape = SubResource("SeparationRayShape3D_u64q7")
|
shape = SubResource("SeparationRayShape3D_u64q7")
|
||||||
|
|
||||||
[node name="RayCast3D" type="RayCast3D" parent="SepRay1"]
|
[node name="RayCast3D" type="RayCast3D" parent="SepRay1"]
|
||||||
|
@ -41,7 +36,7 @@ enabled = false
|
||||||
target_position = Vector3(0, -0.55, 0)
|
target_position = Vector3(0, -0.55, 0)
|
||||||
|
|
||||||
[node name="SepRay2" type="CollisionShape3D" parent="."]
|
[node name="SepRay2" type="CollisionShape3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.5, -0.55)
|
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.5, -0.155)
|
||||||
shape = SubResource("SeparationRayShape3D_u64q7")
|
shape = SubResource("SeparationRayShape3D_u64q7")
|
||||||
|
|
||||||
[node name="RayCast3D" type="RayCast3D" parent="SepRay2"]
|
[node name="RayCast3D" type="RayCast3D" parent="SepRay2"]
|
||||||
|
@ -50,7 +45,7 @@ enabled = false
|
||||||
target_position = Vector3(0, -0.55, 0)
|
target_position = Vector3(0, -0.55, 0)
|
||||||
|
|
||||||
[node name="SepRay3" type="CollisionShape3D" parent="."]
|
[node name="SepRay3" type="CollisionShape3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.5, -0.55)
|
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.5, -0.155)
|
||||||
shape = SubResource("SeparationRayShape3D_u64q7")
|
shape = SubResource("SeparationRayShape3D_u64q7")
|
||||||
|
|
||||||
[node name="RayCast3D" type="RayCast3D" parent="SepRay3"]
|
[node name="RayCast3D" type="RayCast3D" parent="SepRay3"]
|
||||||
|
|
|
@ -3,14 +3,14 @@ extends Node3D
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
#add_child(RMesh.LoadRMesh("GFX\\map\\gatea_opt.rmesh", RoomTemplate.new()))
|
#add_child(RMesh.LoadRMesh("GFX\\map\\gatea_opt.rmesh", RoomTemplate.new()))
|
||||||
#B3D.Load("GFX\\npcs\\106_2.b3d")
|
#B3D.Load("GFX\\npcs\\106_2.b3d")
|
||||||
#add_child(B3D.Load("GFX\\apache.b3d"))
|
add_child(B3D.Load("GFX\\apache.b3d"))
|
||||||
|
|
||||||
#RMesh.LoadRMesh(self, roomInfo["mesh path"])
|
#RMesh.LoadRMesh(self, roomInfo["mesh path"])
|
||||||
|
|
||||||
#CreateMap()
|
#CreateMap()
|
||||||
IntroEnabled = true
|
IntroEnabled = true
|
||||||
LoadRoomTemplates("Data\\rooms.ini")
|
#LoadRoomTemplates("Data\\rooms.ini")
|
||||||
CreateMap()
|
#CreateMap()
|
||||||
|
|
||||||
var IntroEnabled: bool
|
var IntroEnabled: bool
|
||||||
var I_Zone: MapZones = MapZones.new()
|
var I_Zone: MapZones = MapZones.new()
|
||||||
|
@ -835,14 +835,11 @@ func CreateMap():
|
||||||
#Flip
|
#Flip
|
||||||
#Until KeyHit(28)
|
#Until KeyHit(28)
|
||||||
#EndIf
|
#EndIf
|
||||||
#
|
|
||||||
#
|
for y1 in range(MapHeight):
|
||||||
#For y = 0 To MapHeight
|
for x1 in range(MapWidth):
|
||||||
#For x = 0 To MapWidth
|
MapTemp[x1][y1] = min(MapTemp[x1][y1], 1)
|
||||||
#MapTemp(x, y) = Min(MapTemp(x, y),1)
|
|
||||||
#Next
|
|
||||||
#Next
|
|
||||||
#
|
|
||||||
#Local d.Doors
|
#Local d.Doors
|
||||||
#Local shouldSpawnDoor%
|
#Local shouldSpawnDoor%
|
||||||
#For y = MapHeight To 0 Step -1
|
#For y = MapHeight To 0 Step -1
|
||||||
|
|
|
@ -9,6 +9,7 @@ var audioCache: Dictionary
|
||||||
var videoToPlay: String
|
var videoToPlay: String
|
||||||
var clickSound: AudioStreamPlayer
|
var clickSound: AudioStreamPlayer
|
||||||
var music: AudioStreamPlayer
|
var music: AudioStreamPlayer
|
||||||
|
var player: Player
|
||||||
|
|
||||||
var FPSfactor: float
|
var FPSfactor: float
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
extends CharacterBody3D
|
extends CharacterBody3D
|
||||||
|
class_name Player
|
||||||
|
|
||||||
var head: Node3D
|
var head: Node3D
|
||||||
var camera: Camera3D
|
var camera: Camera3D
|
||||||
|
@ -11,6 +12,7 @@ var sprintBar: Control
|
||||||
var Hud: Control
|
var Hud: Control
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
Global.player = self
|
||||||
head = $Head
|
head = $Head
|
||||||
camera = $Head/Camera
|
camera = $Head/Camera
|
||||||
floorRay = $FloorRay
|
floorRay = $FloorRay
|
||||||
|
@ -317,8 +319,8 @@ func _process(delta: float) -> void:
|
||||||
#print(str(cos(angle) * CurrSpeed * 100000 * Global.FPSfactor), " ", str(sin(angle) * CurrSpeed * 100000 * Global.FPSfactor))
|
#print(str(cos(angle) * CurrSpeed * 100000 * Global.FPSfactor), " ", str(sin(angle) * CurrSpeed * 100000 * Global.FPSfactor))
|
||||||
#position.x += cos(angle) * CurrSpeed * 100000 * Global.FPSfactor
|
#position.x += cos(angle) * CurrSpeed * 100000 * Global.FPSfactor
|
||||||
#position.z += sin(angle) * CurrSpeed * 100000 * Global.FPSfactor
|
#position.z += sin(angle) * CurrSpeed * 100000 * Global.FPSfactor
|
||||||
var movementX = (direction.x * CurrSpeed * 500) * Global.FPSfactor
|
var movementX = (direction.x * CurrSpeed * 200) * Global.FPSfactor
|
||||||
var movementZ = (direction.z * CurrSpeed * 500) * Global.FPSfactor
|
var movementZ = (direction.z * CurrSpeed * 200) * Global.FPSfactor
|
||||||
#print(CurrSpeed, " ", direction.x, " ", direction.z, " ", str(movementX), " ", str(movementZ))
|
#print(CurrSpeed, " ", direction.x, " ", direction.z, " ", str(movementX), " ", str(movementZ))
|
||||||
velocity.x = movementX
|
velocity.x = movementX
|
||||||
velocity.z = movementZ
|
velocity.z = movementZ
|
||||||
|
@ -327,9 +329,10 @@ func _process(delta: float) -> void:
|
||||||
var cameraBob = (Global.Sin(Shake) / (20.0 + CrouchState * 20.0)) * 0.6
|
var cameraBob = (Global.Sin(Shake) / (20.0 + CrouchState * 20.0)) * 0.6
|
||||||
|
|
||||||
camera.rotation.x = deg_to_rad(Rotation.x)
|
camera.rotation.x = deg_to_rad(Rotation.x)
|
||||||
camera.rotation.z = deg_to_rad(cameraRoll)
|
camera.rotation.z = deg_to_rad(cameraRoll * 0.5)
|
||||||
camera.position.y = cameraBob
|
camera.position.y = cameraBob
|
||||||
head.position.y = 1.15 + 0.6 * (1 - CrouchState)
|
#head.position.y = 1.15 + 0.6 * (1 - CrouchState)
|
||||||
|
head.position.y = cameraBob + 0.9 + CrouchState * -0.3
|
||||||
head.rotation.y = deg_to_rad(Rotation.y)
|
head.rotation.y = deg_to_rad(Rotation.y)
|
||||||
|
|
||||||
var CollidedFloor = false
|
var CollidedFloor = false
|
||||||
|
@ -407,7 +410,7 @@ func rotateStepSepRay():
|
||||||
$SepRay1/RayCast3D.force_raycast_update()
|
$SepRay1/RayCast3D.force_raycast_update()
|
||||||
$SepRay2/RayCast3D.force_raycast_update()
|
$SepRay2/RayCast3D.force_raycast_update()
|
||||||
$SepRay3/RayCast3D.force_raycast_update()
|
$SepRay3/RayCast3D.force_raycast_update()
|
||||||
var maxSlopeAngleDot = RAY_MOVE_VEC.rotated(RAY_MAX_SLOPE_ROT, floor_max_angle / 4).dot(RAY_MOVE_VEC)
|
var maxSlopeAngleDot = RAY_MOVE_VEC.rotated(RAY_MAX_SLOPE_ROT, floor_max_angle / 1.25).dot(RAY_MOVE_VEC)
|
||||||
var isTooSteep = false
|
var isTooSteep = false
|
||||||
if $SepRay1/RayCast3D.is_colliding() and $SepRay1/RayCast3D.get_collision_normal().dot(RAY_MOVE_VEC) < maxSlopeAngleDot:
|
if $SepRay1/RayCast3D.is_colliding() and $SepRay1/RayCast3D.get_collision_normal().dot(RAY_MOVE_VEC) < maxSlopeAngleDot:
|
||||||
isTooSteep = true
|
isTooSteep = true
|
||||||
|
|
|
@ -84,6 +84,8 @@ static func ReadMesh(reader:BufferStuffReader):
|
||||||
elif chunk.name == "TRIS":
|
elif chunk.name == "TRIS":
|
||||||
meshChunk.surfaces = ReadTRIS(reader)
|
meshChunk.surfaces = ReadTRIS(reader)
|
||||||
|
|
||||||
|
return meshChunk
|
||||||
|
|
||||||
static func ReadNode(reader:BufferStuffReader):
|
static func ReadNode(reader:BufferStuffReader):
|
||||||
var node = B3DNode.new()
|
var node = B3DNode.new()
|
||||||
node.name = reader.readCString()
|
node.name = reader.readCString()
|
||||||
|
@ -104,6 +106,9 @@ static func ReadNode(reader:BufferStuffReader):
|
||||||
|
|
||||||
return node
|
return node
|
||||||
|
|
||||||
|
static func ReadBrush(reader:BufferStuffReader):
|
||||||
|
pass
|
||||||
|
|
||||||
static func Load(filePath: String):
|
static func Load(filePath: String):
|
||||||
var correctedPath = filePath.replace("\\", "/")
|
var correctedPath = filePath.replace("\\", "/")
|
||||||
|
|
||||||
|
@ -126,11 +131,11 @@ static func Load(filePath: String):
|
||||||
if chunk.name == "TEXS":
|
if chunk.name == "TEXS":
|
||||||
ReadTextures(chunkReader, parsedResult)
|
ReadTextures(chunkReader, parsedResult)
|
||||||
elif chunk.name == "BRUS":
|
elif chunk.name == "BRUS":
|
||||||
continue
|
ReadBrush(chunkReader)
|
||||||
elif chunk.name == "NODE":
|
elif chunk.name == "NODE":
|
||||||
resultScene.add_child(ReadNode(chunkReader))
|
resultScene.add_child(ReadNode(chunkReader))
|
||||||
|
|
||||||
print(parsedResult.textures[0].name)
|
print(resultScene)
|
||||||
return resultScene
|
return resultScene
|
||||||
else:
|
else:
|
||||||
print(str("Unknown b3d version. ", version))
|
print(str("Unknown b3d version. ", version))
|
||||||
|
|
|
@ -445,10 +445,10 @@ static func LoadRMesh(file: String, rt: RoomTemplate):
|
||||||
var range = reader.readFloat() / 2000.0
|
var range = reader.readFloat() / 2000.0
|
||||||
var lcolor = ReadString(reader).split(" ")
|
var lcolor = ReadString(reader).split(" ")
|
||||||
var intensity = min(reader.readFloat() * 0.8, 1.0)
|
var intensity = min(reader.readFloat() * 0.8, 1.0)
|
||||||
#r%=Int(Piece(lcolor,1," "))*intensity
|
var r = int(lcolor[0]) / 255 * intensity
|
||||||
#g%=Int(Piece(lcolor,2," "))*intensity
|
var g = int(lcolor[1]) / 255 * intensity
|
||||||
#b%=Int(Piece(lcolor,3," "))*intensity
|
var b = int(lcolor[2]) / 255 * intensity
|
||||||
#
|
|
||||||
#Local lt.LightTemplates = AddTempLight(rt, temp1,temp2,temp3, 2, range, r,g,b)
|
#Local lt.LightTemplates = AddTempLight(rt, temp1,temp2,temp3, 2, range, r,g,b)
|
||||||
var angles = ReadString(reader)
|
var angles = ReadString(reader)
|
||||||
#pitch#=Piece(angles,1," ")
|
#pitch#=Piece(angles,1," ")
|
||||||
|
@ -496,14 +496,14 @@ static func LoadRMesh(file: String, rt: RoomTemplate):
|
||||||
temp1 = -reader.readFloat()
|
temp1 = -reader.readFloat()
|
||||||
temp2 = reader.readFloat()
|
temp2 = reader.readFloat()
|
||||||
temp3 = reader.readFloat()
|
temp3 = reader.readFloat()
|
||||||
var angles = ReadString(reader)
|
var angles = ReadString(reader).split(" ")
|
||||||
#pitch = Piece(angles,1," ")
|
if Global.player and is_instance_valid(Global.player):
|
||||||
#yaw#=Piece(angles,2," ")
|
Global.player.position.x = temp1
|
||||||
#roll#=Piece(angles,3," ")
|
Global.player.position.y = temp2
|
||||||
#If cam Then
|
Global.player.position.z = temp3
|
||||||
#PositionEntity cam,temp1,temp2,temp3
|
Global.player.camera.rotation.x = deg_to_rad(angles[0].to_float())
|
||||||
#RotateEntity cam,pitch,yaw,roll
|
Global.player.head.rotation.y = deg_to_rad(angles[1].to_float())
|
||||||
#EndIf
|
Global.player.camera.rotation.z = deg_to_rad(angles[2].to_float())
|
||||||
elif temp1s == "model":
|
elif temp1s == "model":
|
||||||
var modelPath = ReadString(reader)
|
var modelPath = ReadString(reader)
|
||||||
if modelPath != "":
|
if modelPath != "":
|
||||||
|
|
Loading…
Add table
Reference in a new issue