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
|