movement update

This commit is contained in:
Samuel Walker 2024-08-30 15:32:58 -06:00
parent 20e8375f18
commit 0135a07875

View File

@ -1,6 +1,6 @@
#include <genesis.h> #include <genesis.h>
#define SPEED 2 #define SPEED 5
Line l; Line l;
s16 angle = 0; s16 angle = 0;
@ -21,11 +21,11 @@ int dist(int ax, int ay, int bx, int by){
} }
void castRay(s16 angle){ void castRay(s16 angle){
if(angle >= 360) angle = angle - 360;
if(angle < 0) angle = 360 + angle;
u16 r,mx,my,mp,dof; u16 r,mx,my,mp,dof;
fix16 rx,ry,ra,xo,yo; fix16 rx,ry,ra,xo,yo;
s16 ind = (int)((float)angle/360.0f*1024.0f); s16 ind = (int)((float)angle/360.0f*1024.0f);
fix16 dy = sinFix16(ind); fix16 dy = sinFix16(ind);
fix16 dx = cosFix16(ind); fix16 dx = cosFix16(ind);
fix16 tan = FIX16(0); fix16 tan = FIX16(0);
@ -149,7 +149,15 @@ void render(){
mapscan(); mapscan();
if(angle >= 360) angle = angle - 360; if(angle >= 360) angle = angle - 360;
if(angle < 0) angle = 360 + angle; if(angle < 0) angle = 360 + angle;
castRay(angle-20);
BMP_drawLine(&l);
castRay(angle-10);
BMP_drawLine(&l);
castRay(angle); castRay(angle);
BMP_drawLine(&l);
castRay(angle+10);
BMP_drawLine(&l);
castRay(angle+20);
BMP_drawLine(&l); BMP_drawLine(&l);
BMP_showFPS(0); BMP_showFPS(0);
@ -180,10 +188,18 @@ void update(){
angle += 1; angle += 1;
} }
if(joy & BUTTON_UP) { if(joy & BUTTON_UP) {
l.pt1.y -= SPEED; s16 ind = (int)((float)angle/360.0f*1024.0f);
fix16 dy = sinFix16(ind);
fix16 dx = cosFix16(ind);
l.pt1.y += fix16ToInt(fix16Mul(dy, FIX16(SPEED)));
l.pt1.x += fix16ToInt(fix16Mul(dx, FIX16(SPEED)));
} }
if(joy & BUTTON_DOWN) { if(joy & BUTTON_DOWN) {
l.pt1.y += SPEED; s16 ind = (int)((float)angle/360.0f*1024.0f);
fix16 dy = sinFix16(ind);
fix16 dx = cosFix16(ind);
l.pt1.y -= fix16ToInt(fix16Mul(dy, FIX16(SPEED)));
l.pt1.x -= fix16ToInt(fix16Mul(dx, FIX16(SPEED)));
} }
} }