diff --git a/Spaceinator.project.gmx b/Spaceinator.project.gmx
index 6d6be44..6b0b710 100644
--- a/Spaceinator.project.gmx
+++ b/Spaceinator.project.gmx
@@ -16,14 +16,13 @@
sprites\spr_enemy
sprites\spr_asteroid
sprites\spr_boom
- sprites\spr_empty
background\bg_space
-
+
@@ -31,7 +30,6 @@
-
rooms\rm_game
diff --git a/objects/obj_air.object.gmx b/objects/obj_air.object.gmx
deleted file mode 100644
index 2c4e293..0000000
--- a/objects/obj_air.object.gmx
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
diff --git a/objects/obj_controller.object.gmx b/objects/obj_controller.object.gmx
index e2ad267..286716d 100644
--- a/objects/obj_controller.object.gmx
+++ b/objects/obj_controller.object.gmx
@@ -48,7 +48,43 @@
1
- step_counter++;
+ /// Every Frame Global Code.
+step_counter++;
+
+
+
+
+
+
+
+ 1
+ 603
+ 7
+ 0
+ 0
+ -1
+ 2
+
+
+ self
+ 0
+ 0
+
+
+ 1
+ /// Draw Debug Screen
+
+var chunkRelX = obj_player.x % 256
+var chunkRelY = obj_player.y % 256
+
+var chunkX = (obj_player.x - chunkRelX) / 256,;
+var chunkY = (obj_player.y - chunkRelY) / 256;
+
+
+
+draw_text(10,10,"X: "+string(obj_player.x)+"#Y: "+string(obj_player.y));
+draw_text(10,40,"CrX: "+string(chunkRelX)+"#CrY: "+string(chunkRelY));
+draw_text(10,70,"CX: "+string(chunkX)+"#CY: "+string(chunkY));
@@ -71,7 +107,8 @@
1
- if(window_get_fullscreen())
+ /// Set fullscreen
+if(window_get_fullscreen())
{
window_set_fullscreen(0);
}
diff --git a/objects/obj_controller_world_gen.object.gmx b/objects/obj_controller_world_gen.object.gmx
index f81b847..6c58a52 100644
--- a/objects/obj_controller_world_gen.object.gmx
+++ b/objects/obj_controller_world_gen.object.gmx
@@ -25,7 +25,10 @@
1
-
+ loaded_chunks[64] = 0;
+//load_chunk(0,0);
+
+
@@ -47,7 +50,15 @@
1
- generate_world();
+ var chunkRelX = obj_player.x % 256
+var chunkRelY = obj_player.y % 256
+
+var chunkX = (obj_player.x - chunkRelX) / 256,;
+var chunkY = (obj_player.y - chunkRelY) / 256;
+
+if(loaded_chunks[0] == 0)
+ loaded_chunks[0] = load_chunk(chunkX,chunkY);
+
diff --git a/objects/obj_player.object.gmx b/objects/obj_player.object.gmx
index f53a863..616cfd5 100644
--- a/objects/obj_player.object.gmx
+++ b/objects/obj_player.object.gmx
@@ -25,8 +25,10 @@
1
- image_speed = 0;
+ /// Player creation code.
+image_speed = 0;
image_index = 1;
+
@@ -49,7 +51,8 @@ image_index = 1;
1
- direction = image_angle
+ /// Player per frame
+direction = image_angle
if(speed > 0)
speed -= 1
@@ -58,6 +61,7 @@ if(speed > 20)
view_xview[0] = x - view_wview[0]/2;
view_yview[0] = y - view_hview[0]/2;
+
diff --git a/scripts/generate_chunk.gml b/scripts/generate_chunk.gml
new file mode 100644
index 0000000..1ab203d
--- /dev/null
+++ b/scripts/generate_chunk.gml
@@ -0,0 +1,20 @@
+///generate_chunk()
+
+var chunk_grid = ds_grid_create(128,128);
+
+for(var xx = 0; xx < 128; xx++)
+{
+ for(var yy = 0; yy < 128; yy++)
+ {
+ if(random_range(0,10) > 5)
+ {
+ chunk_grid = obj_asteriod;
+ }
+ else
+ {
+ chunk_grid = 0;
+ }
+ }
+}
+
+
diff --git a/scripts/generate_world.gml b/scripts/generate_world.gml
index 8496fef..a2b5448 100644
--- a/scripts/generate_world.gml
+++ b/scripts/generate_world.gml
@@ -17,9 +17,7 @@ for(var xx = startx; xx < xmax; xx+=32)
{
for(var yy = starty; yy < ymax;yy+=32)
{
-
-
- if(!place_free(xx,yy))
+ if(place_empty(xx,yy))
{
instance_create(xx,yy,obj_air);
diff --git a/scripts/load_chunk.gml b/scripts/load_chunk.gml
new file mode 100644
index 0000000..ecd18a8
--- /dev/null
+++ b/scripts/load_chunk.gml
@@ -0,0 +1,48 @@
+///load_chunk(cx,cy);
+
+var cx = argument0
+var cy = argument1
+
+var chunk_grid = ds_grid_create(256,256);
+var filename = string(cx)+","+string(cy)+".spr";
+if(file_exists(filename)) // Load Chunk
+{
+ ini_open(filename);
+ for(var xx = 0; xx < 256; xx++)
+ {
+ for(var yy = 0; yy < 256; yy++)
+ {
+ var nm = string(xx)+string(yy);
+ var c = ini_read_real("XYV",nm,0);
+ chunk_grid[xx,yy] = c;
+ if(c != 0)
+ instance_create(xx,yy,c);
+ }
+ }
+ ini_close();
+}
+else // Generate Chunk
+{
+ ini_open(filename);
+ for(var xx = 0; xx < 256; xx++)
+ {
+ for(var yy = 0; yy < 256; yy++)
+ {
+ var nm = string(xx)+string(yy);
+ if(random_range(0,10) > 5)
+ {
+ ini_write_real("XYV",nm,obj_asteriod);
+ chunk_grid[xx,yy] = obj_asteriod;
+ instance_create(cx+xx,cy+yy,obj_asteriod);
+ }
+ else
+ {
+ ini_write_real("XYV",nm,0);;
+ chunk_grid[xx,yy] = 0;
+ }
+ }
+ }
+ ini_close();
+}
+return chunk_grid;
+
diff --git a/sprites/spr_empty.sprite.gmx b/sprites/spr_empty.sprite.gmx
deleted file mode 100644
index 09d34af..0000000
--- a/sprites/spr_empty.sprite.gmx
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
- 0
- 0
- 0
- 0
- 0
- -1
- 1
- 0
- 31
- 0
- 31
- 0
- 0
-
- 0
-
- 0
- 32
- 32
-
- images\spr_empty_0.png
-
-