all repos — engine.git @ 70d5a5f53436c4848616132f2ff47c4036adc224

Unnamed repository; edit this file 'description' to name the repository.

src/player/state.odin

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
package player

import cm "../common"
import sim "../simulation"

Player :: struct {
	id: int,
	walkForce: cm.iFP,
	walkDrag: cm.iFP,
	groundDrag: cm.iFP,
	rightward: [3]cm.iFP,
	foward: [3]cm.iFP,
	//Might Turn into a pointer of a pointer if the Heap fucks with me
	kinematics: ^[dynamic]Maybe(sim.DerivX), 
	clientKinematics: ^[dynamic]Maybe(DerivXFloat),
	aabb: ^[dynamic]Maybe(AABB),
	collision: ^[dynamic]Maybe(proc(e1: int, e2: int))
}

Command :: enum {
	MOVE_FOWARDS,
	MOVE_BACKWARDS,
	STRAFE_LEFT,
	STRAFE_RIGHT,
	JUMP
}

player: Player
camera: rl.Camera3D
cameraFoward: [3]f32