aboutsummaryrefslogtreecommitdiff
path: root/examples/game/raylib.tm
diff options
context:
space:
mode:
Diffstat (limited to 'examples/game/raylib.tm')
-rw-r--r--examples/game/raylib.tm36
1 files changed, 18 insertions, 18 deletions
diff --git a/examples/game/raylib.tm b/examples/game/raylib.tm
index 5e58e996..b2ba53d7 100644
--- a/examples/game/raylib.tm
+++ b/examples/game/raylib.tm
@@ -4,44 +4,44 @@ use <raylib.h>
use <raymath.h>
struct Color(r,g,b:Byte,a=Byte(255); extern)
-struct Rectangle(x,y,width,height:Num32; extern):
- func draw(r:Rectangle, color:Color):
+struct Rectangle(x,y,width,height:Num32; extern)
+ func draw(r:Rectangle, color:Color)
DrawRectangleRec(r, color)
-struct Vector2(x,y:Num32; extern):
+struct Vector2(x,y:Num32; extern)
ZERO := Vector2(0, 0)
- func plus(a,b:Vector2->Vector2; inline):
+ func plus(a,b:Vector2->Vector2; inline)
return Vector2(a.x+b.x, a.y+b.y)
- func minus(a,b:Vector2->Vector2; inline):
+ func minus(a,b:Vector2->Vector2; inline)
return Vector2(a.x-b.x, a.y-b.y)
- func times(a,b:Vector2->Vector2; inline):
+ func times(a,b:Vector2->Vector2; inline)
return Vector2(a.x*b.x, a.y*b.y)
- func negative(v:Vector2->Vector2; inline):
+ func negative(v:Vector2->Vector2; inline)
return Vector2(-v.x, -v.y)
- func dot(a,b:Vector2->Num32; inline):
+ func dot(a,b:Vector2->Num32; inline)
return ((a.x-b.x)*(a.x-b.x) + (a.y-b.y)*(a.y-b.y))
- func cross(a,b:Vector2->Num32; inline):
+ func cross(a,b:Vector2->Num32; inline)
return a.x*b.y - a.y*b.x
- func scaled_by(v:Vector2, k:Num32->Vector2; inline):
+ func scaled_by(v:Vector2, k:Num32->Vector2; inline)
return Vector2(v.x*k, v.y*k)
- func divided_by(v:Vector2, divisor:Num32->Vector2; inline):
+ func divided_by(v:Vector2, divisor:Num32->Vector2; inline)
return Vector2(v.x/divisor, v.y/divisor)
- func length(v:Vector2->Num32; inline):
+ func length(v:Vector2->Num32; inline)
return (v.x*v.x + v.y*v.y).sqrt()
- func dist(a,b:Vector2->Num32; inline):
+ func dist(a,b:Vector2->Num32; inline)
return a.minus(b).length()
- func angle(v:Vector2->Num32; inline):
+ func angle(v:Vector2->Num32; inline)
return Num32.atan2(v.y, v.x)
- func norm(v:Vector2->Vector2; inline):
- if v.x == 0 and v.y == 0:
+ func norm(v:Vector2->Vector2; inline)
+ if v.x == 0 and v.y == 0
return v
len := v.length()
return Vector2(v.x/len, v.y/len)
- func rotated(v:Vector2, radians:Num32 -> Vector2):
+ func rotated(v:Vector2, radians:Num32 -> Vector2)
cos := radians.cos() or return v
sin := radians.sin() or return v
return Vector2(cos*v.x - sin*v.y, sin*v.x + cos*v.y)
- func mix(a,b:Vector2, amount:Num32 -> Vector2):
+ func mix(a,b:Vector2, amount:Num32 -> Vector2)
return Vector2(
amount.mix(a.x, b.x),
amount.mix(a.y, b.y),