1
1
#include once "SDL2/SDL.bi"
2
2
3
3
#define FULLSCREEN 1
4
- #define SCREEN_X 1920 ' 352'1920'352
5
- #define SCREEN_Y 1080 ' 198'1080'198
4
+ #define SCREEN_X 352 '1920'352
5
+ #define SCREEN_Y 198 '1080'198
6
6
#define HALF_X SCREEN_X \ 2
7
7
#define HALF_Y SCREEN_Y \ 2
8
8
#define TO_RAD 0.0174532925
12
12
#define MAP_WIDTH 1024
13
13
#define MAP_HEIGHT 1024
14
14
#define HEIGHT_RATIO 127 *(SCREEN_Y/ 300 )
15
- #define PREC ( 2 ^ 11 )
16
- #define PREC_SHIFT 11
15
+ #define PREC ( 2 ^ 14 )
16
+ #define PREC_SHIFT 14
17
17
#define MAX_DISTANCE 4096 *PREC ' 300
18
+ #define MAX_INT ( 2 ^ 16 )
18
19
19
20
'// TIMER FUNCTIONS ===================================================
20
21
declare function UpdateSpeed (save_time as integer = 1 ) as double
@@ -504,18 +505,18 @@ sub main()
504
505
dim vr as Vector
505
506
dim vray as Vector
506
507
507
- dim dx as integer , dy as integer
508
+ dim dx as uinteger , dy as uinteger
508
509
dim ax as integer , ay as integer
509
510
dim ex as integer , ey as integer
510
- dim x_dx as integer , x_dy as integer
511
- dim y_dx as integer , y_dy as integer
511
+ dim x_dx as uinteger , x_dy as uinteger
512
+ dim y_dx as uinteger , y_dy as uinteger
512
513
dim x_ax as integer , x_ay as integer
513
514
dim y_ax as integer , y_ay as integer
514
- dim x_ex as integer , x_ey as integer
515
- dim y_ex as integer , y_ey as integer
516
- dim lx as integer , ly as integer
515
+ dim x_ex as uinteger , x_ey as uinteger
516
+ dim y_ex as uinteger , y_ey as uinteger
517
+ dim lx as uinteger , ly as uinteger
517
518
dim xHit as integer , yHit as integer
518
- dim xDist as integer , yDist as integer
519
+ dim xDist as uinteger , yDist as uinteger
519
520
dim dist as integer
520
521
dim dc as double
521
522
dim sliceSize as single
@@ -850,7 +851,7 @@ sub main()
850
851
851
852
fx += abs(iif(vray.x > 0 , map->w- 1 -px, -px)/vray.x)
852
853
853
- if fx > 524288 then fx = 524288
854
+ if fx > MAX_INT then fx = MAX_INT
854
855
xDistMax = fx*PREC
855
856
856
857
if py < 0 or py >= map->h then
@@ -859,7 +860,7 @@ sub main()
859
860
860
861
fy += abs(iif(vray.y > 0 , map->h- 1 -py, -py)/vray.y)
861
862
862
- if fy > 524288 then fy = 524288
863
+ if fy > MAX_INT then fy = MAX_INT
863
864
yDistMax = fy*PREC
864
865
865
866
distMax = iif(xDistMax < yDistMax, xDistMax, yDistMax)
@@ -873,13 +874,13 @@ sub main()
873
874
fx = iif(vray.x > 0 , -px, MAP_WIDTH-px)
874
875
end if
875
876
fy = vray.y*abs(fx/vray.x)
876
- if fy > 524288 then fy = 524288
877
- if fy < - 524288 then fy = - 524288
877
+ if fy > MAX_INT then fy = MAX_INT
878
+ if fy < -MAX_INT then fy = -MAX_INT
878
879
ex = iif(vray.x >= 0 , 0 , - 1 )
879
880
ey = 0
880
881
881
882
fo = abs(fx/vray.x)
882
- if fo > 524288 then fo = 524288
883
+ if fo > MAX_INT then fo = MAX_INT
883
884
xDist = fo*PREC
884
885
885
886
dx = (fx+px)*PREC
@@ -894,13 +895,13 @@ sub main()
894
895
fy = iif(vray.y > 0 , -py, MAP_HEIGHT-py)
895
896
end if
896
897
fx = vray.x*abs(fy/vray.y)
897
- if fx > 524288 then fx = 524288
898
- if fx < - 524288 then fx = - 524288
898
+ if fx > MAX_INT then fx = MAX_INT
899
+ if fx < -MAX_INT then fx = -MAX_INT
899
900
ex = 0
900
901
ey = iif(vray.y >= 0 , 0 , - 1 )
901
902
902
903
fo = abs(fy/vray.y)
903
- if fo > 524288 then fo = 524288
904
+ if fo > MAX_INT then fo = MAX_INT
904
905
yDist = fo*PREC
905
906
906
907
dy = (fy+py)*PREC
0 commit comments