[-] daddybutter@lemmy.world 24 points 1 month ago

Z-library was a massive pirate repository for ebooks.

[-] daddybutter@lemmy.world 16 points 1 month ago

I've seen a bunch of people recommend this and I've played around with it a bit since they initially added frame gen to Lossless Scaling. It never feels smooth. There's always some stutter/jitter in the frames that makes it feel terrible, even when it's "100+ fps". Definitely feels worse than a native 60. Also worse than AMDs fluid motion frames option which does feel and look smoother. I leave it installed and come back from time to time to see if it's improved but it's just not something I've found to be enjoyable or an improvement to my gaming experience.

20
Patch 3.23 is LIVE (robertsspaceindustries.com)

Lots of people having issues getting into queue for download, but it's finally live! Let's goooooo!

[-] daddybutter@lemmy.world 11 points 4 months ago

I know how much we hate Reddit here but I've had great success with meeting people through local area subreddits. Many will have a monthly meetup and you can just go hang out and meet people in a low pressure environment. Then as people get to know each other smaller groups can form. Some also have Discords which can be a nice way to ease into the group before getting out there in person.

[-] daddybutter@lemmy.world 13 points 5 months ago

I had GFiber for a bit and had no issues with torrenting via private trackers and no VPN.

[-] daddybutter@lemmy.world 14 points 6 months ago

Not sure if that was a typo but OP mentioned OnlyOffice, not OpenOffice. I don't think OnlyOffice has ever tried to get me to make an account or do things on the cloud. I keep both Only and Libre installed. I like the UI of Only better, but Libre is more functional, at least as far as spreadsheets go which is my main use.

[-] daddybutter@lemmy.world 22 points 6 months ago

Or Nicotine+ (a great Soulseek client)

[-] daddybutter@lemmy.world 21 points 6 months ago

their shotty ass methodology.

In case you didn't know, that should be "shoddy" as in "made or done poorly"

[-] daddybutter@lemmy.world 14 points 6 months ago

Works fine for me with FF 121.1.0. Do you have an extension that might be messing with it?

[-] daddybutter@lemmy.world 81 points 7 months ago* (last edited 7 months ago)

Unsafe site: 1377
All-purpose: 1337

[-] daddybutter@lemmy.world 13 points 7 months ago

So how do I go about switching away from Authy? Go to every site I have 2FA enabled and remove/readd with the new app?

[-] daddybutter@lemmy.world 18 points 8 months ago

Schitt's Creek and Ted Lasso are great feel good shows with inclusive themes.

9
submitted 9 months ago* (last edited 9 months ago) by daddybutter@lemmy.world to c/godot@programming.dev

Solution: I removed the else statement from the integrated_forces process and left the two lines from the condition within the process and it fixed it :) Before:

func _integrate_forces(state):
	if Input.is_action_pressed("move_up"):
		state.apply_force(thrust.rotated(rotation))
	if Input.is_action_pressed("strafe_left"):
		state.apply_force(thrust.rotated(rotation + 4.712))
	if Input.is_action_pressed("strafe_right"):
		state.apply_force(thrust.rotated(rotation + 1.5708))
	if Input.is_action_pressed("move_down"):
		state.apply_force((thrust.rotated(rotation) * -1))
	else:
		state.apply_force(Vector2())
		Globals.player_rotation = rotation

After:

func _integrate_forces(state):
	if Input.is_action_pressed("move_up"):
		state.apply_force(thrust.rotated(rotation))
	if Input.is_action_pressed("strafe_left"):
		state.apply_force(thrust.rotated(rotation + 4.712))
	if Input.is_action_pressed("strafe_right"):
		state.apply_force(thrust.rotated(rotation + 1.5708))
	if Input.is_action_pressed("move_down"):
		state.apply_force((thrust.rotated(rotation) * -1))
	state.apply_force(Vector2())
	Globals.player_rotation = rotation

Hey guys, making some progress on this game but having a weird issue and I can't figure out what's happening. I'm instancing a ship scene into the level scene based on player selection. Weapon projectile instancing happens in the level scene. Fixed weapons shoot straight forward and this works fine as I'm moving and rotating until I hold the key to move backward, then all of the shots continue firing in the same direction I was facing when I started holding the key. Video example. This was all working fine prior to instancing the player into the scene. Here's the code I'm working with (please disregard the messy code lol).

level.gd:

extends Node2D
class_name LevelParent

var selected_ship = Globals.player_selected_ship
var format_ship_resource_path = "res://scenes/ships/ship_%s.tscn"
var ship_resource_path = format_ship_resource_path % selected_ship

var laser_scene: PackedScene = preload("res://scenes/weapons/laser.tscn")

func _ready():
	var ship_scene = load(ship_resource_path)
	var ship = ship_scene.instantiate()
	$Player.add_child(ship)
	ship.connect("shoot_fixed_weapon", _shoot_fixed_weapon)
	ship.connect("shoot_gimbal_weapon", _shoot_gimbal_weapon)
	
func _shoot_gimbal_weapon(pos,direction):
	var laser = laser_scene.instantiate() as Area2D
	laser.position = pos
	laser.rotation_degrees = rad_to_deg(direction.angle()) + 90
	laser.direction = direction
	$Projectiles.add_child(laser)
	
func _shoot_fixed_weapon(pos, direction):
	var laser = laser_scene.instantiate() as Area2D
	laser.position = pos
	laser.rotation_degrees = rad_to_deg(Globals.player_rotation)
	Globals.fixed_hardpoint_direction = Vector2(cos(Globals.player_rotation),sin(Globals.player_rotation))
	laser.direction = Globals.fixed_hardpoint_direction.rotated(-1.5708)
	$Projectiles.add_child(laser)

ship_crescent.gd:

extends ShipTemplate


var can_boost: bool = true

#Weapons variables
var can_shoot: bool = true
#hardpoint type should use 0=fixed, 1=gimbal, 2=turret
#later add ability to have mixed hardpoints
var hardpoint_type: int = 0

#Signals
signal shoot_gimbal_weapon(pos,direction)
signal shoot_fixed_weapon(pos,direction)

func _ready():
	Globals.boost_max = boost_max

func _process(delta):
	Globals.player_pos = global_position
	#Build out section to target planetary bodies/NPCs/etc for auto routing
	if Input.is_action_just_pressed("get_cords"):
		print(str(Globals.player_pos))
	#weapon aiming toggle, remove later after hardpoints developed
	if Input.is_action_just_pressed("gimbal_toggle"):
		if hardpoint_type == 0:
			hardpoint_type += 1
		else:
			hardpoint_type -= 1
		
	if can_boost == false:
		_boost_recharge(boost_regen*delta)
		print("boost max: " + str(boost_max))
		print("boost regen: " + str(boost_regen))
		print("global boost level: " + str(Globals.boost_level))
		if Globals.boost_level == boost_max:
			can_boost = true
			print("can boost: Boost recharged!")
	### WEAPONS ###
	#Remove LaserTimer when weapon modules are set up
	
	#Fixed weapon code
	var player_direction = (Globals.player_pos - $FixedHardpointDirection.position).normalized()
	if Input.is_action_just_pressed("fire_primary") and can_shoot and Globals.laser_ammo > 0 and hardpoint_type == 0:
		Globals.laser_ammo -= 1
		var hardpoint_positions = $HardpointPositions.get_children()
		can_shoot = false
		$Timers/LaserTimer.start()
		for i in hardpoint_positions:
			print("ship shot fired")
			shoot_fixed_weapon.emit(i.global_position, player_direction)
	#Gimbal weapon code
	var gimbal_direction = (get_global_mouse_position() - position).normalized()
	if Input.is_action_just_pressed("fire_primary") and can_shoot and Globals.laser_ammo > 0 and hardpoint_type == 1:
		Globals.laser_ammo -= 1
		var hardpoint_positions = $HardpointPositions.get_children()
		can_shoot = false
		$Timers/LaserTimer.start()
		for i in hardpoint_positions:
			shoot_gimbal_weapon.emit(i.global_position, gimbal_direction)
	#Add turret (auto aim system) later

#Spaceflight physics based controls
func _integrate_forces(state):
	if Input.is_action_pressed("move_up"):
		state.apply_force(thrust.rotated(rotation))
	if Input.is_action_pressed("strafe_left"):
		state.apply_force(thrust.rotated(rotation + 4.712))
	if Input.is_action_pressed("strafe_right"):
		state.apply_force(thrust.rotated(rotation + 1.5708))
	if Input.is_action_pressed("move_down"):
		state.apply_force((thrust.rotated(rotation) * -1))
	else:
		state.apply_force(Vector2())
		Globals.player_rotation = rotation
	#REWORK boost mechanic. button hold (gradual) vs press (instant), increase cooldown, adjust boost length, add fuel/special requirements for use
	if Input.is_action_just_pressed("boost") and can_boost:
		can_boost = false
		Globals.boost_level = 0
		#$Timers/BoostRecharge.start()
		state.apply_impulse((thrust.rotated(rotation) * 2))
	var rotation_direction = 0
	if Input.is_action_pressed("turn_right"):
		rotation_direction += 1
	if Input.is_action_pressed("turn_left"):
		rotation_direction -= 1
	state.apply_torque(rotation_direction * torque)

#modify later to remove globals. Base boost data on ship equipment
func _boost_recharge(recharge_rate):
	Globals.boost_level = clamp(Globals.boost_level + recharge_rate, 0, boost_max)
	print(Globals.boost_level)

#Timer timeout functions
func _on_boost_timer_timeout():
	print("boost depleted")

func _on_boost_recharge_timeout():
	print("boost timer recharged!")
	can_boost = true

func _on_laser_timer_timeout():
	can_shoot = true
2
submitted 10 months ago* (last edited 10 months ago) by daddybutter@lemmy.world to c/godot@programming.dev

Hey y'all, throwing a little project together in Godot 4.1 to practice stuff I learned after a tutorial project. I've set up two markers as my projectile spawn points, but the shots are spawning slightly off from the markers and I can't figure out why. Code and pics below. ~~I "fixed" it by shifting the player sprite2D 5 pixels to the right. Not sure why the spawns are being offset though.~~ NVM that only fixed it at the starting position, the shots are way off when rotating. In editor you can see the markers at the two tips on the ship.

In game you can see the shots spawning just to the side of the markers.

Edit: I broke the formatting posting on mobile 🙃

This snippet is from the player script

` var player_direction = (Globals.player_pos - $FixedHardpointDirection.position).normalized()

if Input.is_action_just_pressed("fire_primary") and can_shoot and Globals.laser_ammo > 0 and hardpoint_type == 0:

	Globals.laser_ammo -= 1

	var hardpoint_positions = $ShotStartPositions.get_children()

	can_shoot = false

	$Timers/LaserTimer.start()

	for i in hardpoint_positions:

		player_shot_fixed_weapon.emit(i.global_position, player_direction)

`

And this is from the level script

` func _shoot_fixed_weapon(pos, direction):

var laser = laser_scene.instantiate() as Area2D

laser.position = pos

laser.rotation_degrees = rad_to_deg(Globals.player_rotation)

direction.x = cos(Globals.player_rotation)

direction.y = sin(Globals.player_rotation)

Globals.fixed_hardpoint_direction = Vector2(direction.x,direction.y)

print(Globals.fixed_hardpoint_direction)

laser.direction = Globals.fixed_hardpoint_direction.rotated(-1.5708)

$Projectiles.add_child(laser)

`

view more: next ›

daddybutter

joined 10 months ago