summaryrefslogtreecommitdiff
path: root/src/islandgen.moon
diff options
context:
space:
mode:
Diffstat (limited to 'src/islandgen.moon')
-rw-r--r--src/islandgen.moon57
1 files changed, 42 insertions, 15 deletions
diff --git a/src/islandgen.moon b/src/islandgen.moon
index 1fdd3eb..1e5b83d 100644
--- a/src/islandgen.moon
+++ b/src/islandgen.moon
@@ -82,23 +82,45 @@ class IslandGraphicsComponent extends world.GraphicsComponent
--bind.lamp1 = vec4(world.world_x + (0.5 * 4 * aspect) - 0.3, world.world_y + (0.5 * 4 * (aspect_inv)) + 0.7, 0, 2.2) --no idea why these magic numbers
--bind.lamp2 = vec4(0,0,0,3)
buf_size: () =>
- 6
+ squares = 16
+ triangles_per_square = 2
+ vertexes_per_triangle = 3
+ floats_per_vertex = 3
+ squares * triangles_per_square * vertexes_per_triangle
+ --6
populate_buf: (geom_view, normal_view, offset) =>
z = 0
size = 10
- --@lamp = world.level.add_lamp(vec4(0,0,0,3))
- geom_view[1] = vec3(-size,-size,z)
- geom_view[2] = vec3(-size,size,z)
- geom_view[3] = vec3(size,size,z)
- geom_view[4] = vec3(size,size,z)
- geom_view[5] = vec3(size,-size,z)
- geom_view[6] = vec3(-size,-size,z)
- normal_view[1] = vec2(sprites.rocks_normal.s1, sprites.rocks_normal.t1)
- normal_view[2] = vec2(sprites.rocks_normal.s1, sprites.rocks_normal.t2)
- normal_view[3] = vec2(sprites.rocks_normal.s2, sprites.rocks_normal.t2)
- normal_view[4] = vec2(sprites.rocks_normal.s2, sprites.rocks_normal.t2)
- normal_view[5] = vec2(sprites.rocks_normal.s2, sprites.rocks_normal.t1)
- normal_view[6] = vec2(sprites.rocks_normal.s1, sprites.rocks_normal.t1)
+ --@lamp = world.level.add_lamp(vec4(0,0,10,2))
+ fuv = sprites.rocks_normal
+ floor = (geom, uv, offset, start, finish) ->
+ geom[offset + 0] = vec3(start.x,start.y,z)
+ geom[offset + 1] = vec3(start.x,finish.y,z)
+ geom[offset + 2] = vec3(finish.x,finish.y,z)
+ geom[offset + 3] = vec3(finish.x,finish.y,z)
+ geom[offset + 4] = vec3(finish.x,start.y,z)
+ geom[offset + 5] = vec3(start.x,start.y,z)
+ normal_view[offset + 0] = vec2(fuv.s1, fuv.t1)
+ normal_view[offset + 1] = vec2(fuv.s1, fuv.t2)
+ normal_view[offset + 2] = vec2(fuv.s2, fuv.t2)
+ normal_view[offset + 3] = vec2(fuv.s2, fuv.t2)
+ normal_view[offset + 4] = vec2(fuv.s2, fuv.t1)
+ normal_view[offset + 5] = vec2(fuv.s1, fuv.t1)
+ x_panels = 4
+ y_panels = 4
+ x_stride = (size * 2) / x_panels
+ y_stride = (size * 2) / y_panels
+ j = 1
+ for floorx = 1,x_panels
+ for floory = 1,y_panels
+ floor(
+ geom_view,
+ normal_view,
+ j,
+ vec2(-size + (x_stride*(floorx-1)), -size + (y_stride*(floory-1))),
+ vec2(-size + (x_stride*floorx), -size + (y_stride*floory))
+ )
+ j += 6
class WaterGraphicsComponent extends world.GraphicsComponent
action: (bind) =>
@@ -177,7 +199,12 @@ gen.protogen = (seed) ->
IslandGraphicsComponent("island")
})
ecs.Entity(nil, {
- WaterGraphicsComponent("water")
+ water: WaterGraphicsComponent("water")
+ spawner1: fish.SpawnFishComponent("spawner",{},vec4(10.3,-10,15,15))
+ spawner2: fish.SpawnFishComponent("spawner",{},vec4(-10,10.3,15,15))
+ spawner3: fish.SpawnFishComponent("spawner",{},vec4(-15,-15,9.7,10))
+ spawner4: fish.SpawnFishComponent("spawner",{},vec4(-15,-15,10,9.7))
})
+ --ecs.Entity(nil, {
gen