This commit is contained in:
Holly Stubbs 2025-02-12 04:00:34 +00:00
parent c2afe78d7f
commit 81ef11964c
Signed by: tgpholly
GPG key ID: B8583C4B7D18119E
6 changed files with 63 additions and 19 deletions

View file

@ -37,41 +37,49 @@ enabled=PackedStringArray("res://addons/debug_menu/plugin.cfg")
player_forwards={ player_forwards={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":-1.0,"script":null)
] ]
} }
player_backwards={ player_backwards={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null)
] ]
} }
player_left={ player_left={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null)
] ]
} }
player_right={ player_right={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null)
] ]
} }
pause={ pause={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":true,"script":null)
] ]
} }
player_sprint={ player_sprint={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":9,"pressure":0.0,"pressed":true,"script":null)
] ]
} }
player_crouch={ player_crouch={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null)
] ]
} }
player_blink={ player_blink={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null)
] ]
} }

View file

@ -34,6 +34,7 @@ transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0,
[node name="CSGBox3D" type="CSGBox3D" parent="."] [node name="CSGBox3D" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.97521, -1.86909, -3.06) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.97521, -1.86909, -3.06)
visible = false
use_collision = true use_collision = true
size = Vector3(15.4238, 0.866943, 15.2599) size = Vector3(15.4238, 0.866943, 15.2599)

View file

@ -75,8 +75,8 @@ func readCString() -> String:
func readVector2() -> Vector2: func readVector2() -> Vector2:
return Vector2(readFloat(), readFloat()) return Vector2(readFloat(), readFloat())
func readVector3() -> Vector3: func readVector3(flipX: bool = false) -> Vector3:
return Vector3(readFloat(), readFloat(), readFloat()) return Vector3(-readFloat() if flipX else readFloat(), readFloat(), readFloat())
func readQuaternion() -> Quaternion: func readQuaternion() -> Quaternion:
var w = readFloat() var w = readFloat()

View file

@ -81,8 +81,8 @@ func _process(delta):
#FPSfactor = max(min(delta * 70, 5.0), 0.2) #FPSfactor = max(min(delta * 70, 5.0), 0.2)
#print(max(min(delta * 70, 5.0), 0.2)) #print(max(min(delta * 70, 5.0), 0.2))
CurTime = getMsec() CurTime = Time.get_ticks_usec()
ElapsedTime = (CurTime - PrevTime) / 1000.0 ElapsedTime = (CurTime - PrevTime) / 1000000.0
PrevTime = CurTime PrevTime = CurTime
FPSfactor = max(min(ElapsedTime * 70, 5.0), 0.2) FPSfactor = max(min(ElapsedTime * 70, 5.0), 0.2)

View file

@ -315,15 +315,10 @@ func _process(delta: float) -> void:
#print(str("movementSpeed:", movementSpeed, " angle:", angle, " CurrSpeed:", CurrSpeed)) #print(str("movementSpeed:", movementSpeed, " angle:", angle, " CurrSpeed:", CurrSpeed))
if not UnableToMove: if not UnableToMove:
#TranslateEntity Collider, Cos(angle)*CurrSpeed * FPSfactor, 0, Sin(angle)*CurrSpeed * FPSfactor, True var movementX = direction.x * CurrSpeed * Global.FPSfactor
#print(str(cos(angle) * CurrSpeed * 100000 * Global.FPSfactor), " ", str(sin(angle) * CurrSpeed * 100000 * Global.FPSfactor)) var movementZ = direction.z * CurrSpeed * Global.FPSfactor
#position.x += cos(angle) * CurrSpeed * 100000 * Global.FPSfactor position.x += movementX
#position.z += sin(angle) * CurrSpeed * 100000 * Global.FPSfactor position.z += movementZ
var movementX = (direction.x * CurrSpeed * 200) * Global.FPSfactor
var movementZ = (direction.z * CurrSpeed * 200) * Global.FPSfactor
#print(CurrSpeed, " ", direction.x, " ", direction.z, " ", str(movementX), " ", str(movementZ))
velocity.x = movementX
velocity.z = movementZ
var cameraRoll = max(min(Global.Sin(Shake / 2) * 2.5 * min(Injuries + 0.25, 3.0), 8.0), -8.0) var cameraRoll = max(min(Global.Sin(Shake / 2) * 2.5 * min(Injuries + 0.25, 3.0), 8.0), -8.0)
var cameraBob = (Global.Sin(Shake) / (20.0 + CrouchState * 20.0)) * 0.6 var cameraBob = (Global.Sin(Shake) / (20.0 + CrouchState * 20.0)) * 0.6

View file

@ -47,21 +47,27 @@ static func ReadVRTS(reader:BufferStuffReader):
vrtsChunk.tex_coord_set_size = reader.readInt() vrtsChunk.tex_coord_set_size = reader.readInt()
while reader.offset < reader.buffer.size(): while reader.offset < reader.buffer.size():
var vertex = reader.readVector3() var vertex = reader.readVector3(true)
vrtsChunk.vertices.push_back(vertex) vrtsChunk.vertices.push_back(vertex)
if vrtsChunk.containsNormals: if vrtsChunk.containsNormals:
var normal = reader.readVector3() var normal = reader.readVector3(true)
vrtsChunk.normals.push_back(normal) vrtsChunk.normals.push_back(normal)
if vrtsChunk.containsColors: if vrtsChunk.containsColors:
var color = reader.readColor() var color = reader.readColor()
vrtsChunk.colors.push_back(color) vrtsChunk.colors.push_back(color)
for i in range(vrtsChunk.tex_coord_set_size):
vrtsChunk.uv.push_back(reader.readVector2())
for i in range(vrtsChunk.tex_coord_sets): for i in range(vrtsChunk.tex_coord_sets):
for i1 in range(vrtsChunk.tex_coord_set_size): for i1 in range(vrtsChunk.tex_coord_set_size):
vrtsChunk.uv.push_back(reader.readVector2()) if i == 0:
vrtsChunk.uv[i1].x = reader.readFloat()
else:
vrtsChunk.uv[i1].y = reader.readFloat()
print(vrtsChunk.uv)
return vrtsChunk return vrtsChunk
static func ReadTRIS(reader:BufferStuffReader): static func ReadTRIS(reader:BufferStuffReader):
@ -79,13 +85,44 @@ static func ReadMesh(reader:BufferStuffReader):
var chunks = ReadChunks(reader) var chunks = ReadChunks(reader)
for chunk in chunks: for chunk in chunks:
var chunkReader = BufferStuffReader.create(chunk.bytes)
if chunk.name == "VRTS": if chunk.name == "VRTS":
meshChunk.verts = ReadVRTS(reader) meshChunk.verts = ReadVRTS(chunkReader)
elif chunk.name == "TRIS": elif chunk.name == "TRIS":
meshChunk.surfaces = ReadTRIS(reader) meshChunk.surfaces = ReadTRIS(chunkReader)
return meshChunk return meshChunk
static func CreateMesh(meshData: B3DMesh):
var arr_mesh = ArrayMesh.new()
var arr = []
arr.resize(Mesh.ARRAY_MAX)
#var parentShart = Node3D.new()
#for i in range(meshData.verts.vertices.size()):
#var point = meshData.verts.vertices[i]
#var shit = Label3D.new()
#shit.position = point
#shit.text = "HELECOPTER"
#parentShart.add_child(shit)
#return parentShart
arr[Mesh.ARRAY_VERTEX]=meshData.verts.vertices
arr[Mesh.ARRAY_TEX_UV]=meshData.verts.uv
arr[Mesh.ARRAY_INDEX]=meshData.surfaces.triangles
var meshInstance = MeshInstance3D.new()
arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arr)
meshInstance.mesh = arr_mesh
var mat = StandardMaterial3D.new()
mat.albedo_color = Color(randi() % 255 / 255.0, randi() % 255 / 255.0, randi() % 255 / 255.0)
#mat.albedo_texture = activeAlbedo
#mat.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA_DEPTH_PRE_PASS if activeAlbedoHasAlpha else BaseMaterial3D.TRANSPARENCY_DISABLED
meshInstance.set_surface_override_material(0, mat)
meshInstance.create_trimesh_collision()
return meshInstance
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()
@ -95,6 +132,7 @@ static func ReadNode(reader:BufferStuffReader):
node.rotation = reader.readQuaternion().get_euler() node.rotation = reader.readQuaternion().get_euler()
var chunks = ReadChunks(reader) var chunks = ReadChunks(reader)
print(chunks)
for chunk in chunks: for chunk in chunks:
var chunkReader = BufferStuffReader.create(chunk.bytes) var chunkReader = BufferStuffReader.create(chunk.bytes)
if chunk.name == "NODE": if chunk.name == "NODE":
@ -103,6 +141,8 @@ static func ReadNode(reader:BufferStuffReader):
node.bone = ReadBone(chunkReader) node.bone = ReadBone(chunkReader)
elif chunk.name == "MESH": elif chunk.name == "MESH":
node.mesh = ReadMesh(chunkReader) node.mesh = ReadMesh(chunkReader)
node.add_child(CreateMesh(node.mesh))
return node return node