seeds: pressing new play now generates a new seed set
authorLukas Krickl <lukas@krickl.dev>
Fri, 25 Jul 2025 16:06:42 +0000 (18:06 +0200)
committerLukas Krickl <lukas@krickl.dev>
Fri, 25 Jul 2025 16:06:42 +0000 (18:06 +0200)
Added seed index to every map

12 files changed:
maps/map_bc.s
maps/map_be.s
maps/map_bw.s
maps/map_c.s
maps/map_ce.s
maps/map_cw.s
maps/map_tc.s
maps/map_te.s
src/mapgen.s
src/update.s
src/wram.s
tools/tms2map.py

index f61a90e66e69c954f19cf4566aa6cce2bb147353..23ca0057a1cca52e7398736c5b0e35d36203c23e 100644 (file)
@@ -10,7 +10,7 @@ dw bank8800
 dw bank8C00
 dw bank9000
 dw map_bc_exit_table
-dw 0
+dw 7
 
 map_bc_bg:
 
index 817ac6e92e96a4df347d864069577a746130b2e1..76090923de566bcd7f338734a7a5cae0fb991cb4 100644 (file)
@@ -10,7 +10,7 @@ dw bank8800
 dw bank8C00
 dw bank9000
 dw map_bw_exit_table
-dw 0
+dw 8
 
 map_be_bg:
 
index fbcceb6a7624b64f2906bd2452204fd4c2c1cc80..0cfada07dfbd4c4b3be1c8e67f787634f47dc03a 100644 (file)
@@ -10,7 +10,7 @@ dw bank8800
 dw bank8C00
 dw bank9000
 dw map_bw_exit_table
-dw 0
+dw 6
 
 map_bw_bg:
 
index 7ca2f0b5b82f648535beecfa6bdc85ad85dcb51c..cebf5788ab495c37090047382dc2dd006e58fc77 100644 (file)
@@ -10,7 +10,7 @@ dw bank8800
 dw bank8C00
 dw bank9000
 dw map_c_exit_table
-dw 0
+dw 4
 
 map_c_bg:
 
index eb9d07ae2116d496cde6caa27d5536db4fd1232d..b7e44988d78bdf66c189f943ac09b95584a7b629 100644 (file)
@@ -10,7 +10,7 @@ dw bank8800
 dw bank8C00
 dw bank9000
 dw map_ce_exit_table
-dw 0
+dw 5
 
 map_ce_bg:
 
index 7086460e5b63c3054b3abb2ca7f167117f754d19..05f04852300e00e41d0e260457268759f0b0964d 100644 (file)
@@ -10,7 +10,7 @@ dw bank8800
 dw bank8C00
 dw bank9000
 dw map_cw_exit_table
-dw 0
+dw 3
 
 map_cw_bg:
 
index 7c0f1bb311ae6ea0cac1b5dc11a8013eb15c646f..e3b324caec0440db2465adb678d094a0ba98e6c0 100644 (file)
@@ -10,7 +10,7 @@ dw bank8800
 dw bank8C00
 dw bank9000
 dw map_tc_exit_table
-dw 0
+dw 1
 
 map_tc_bg:
 
index 253104cba32e58a8f871b671b113500dccee89d1..15be87d3059909fdb0c655fd7c55310e81daeb1e 100644 (file)
@@ -10,7 +10,7 @@ dw bank8800
 dw bank8C00
 dw bank9000
 dw map_te_exit_table
-dw 0
+dw 2
 
 map_te_bg:
 
index 15b7ce2f97540907d6df3855663df1ae7f425116..54aace596ec7af0eb12ba0b713e5b415f3968aa6 100644 (file)
@@ -2,6 +2,18 @@
   ; generates a new set of seeds
   ; and places them into map_seeds
 mapgen_seed:
+  ld hl, map_seeds
+  ; 2 bytes per seed
+  ld b, FLOOR_MAP_COUNT*2
+  
+@loop:
+    push hl
+    call rand
+    pop hl
+    ld [hl+], a
+    dec b
+  jr nz, @loop REL
+
   ret
 
   ; places a rectangular room
index 8d0b92b35b41566b240ea2edc224abdae43a3986..64616b548a7eb5ab6b78e23fdec15998016dbaa9 100644 (file)
@@ -49,6 +49,10 @@ new_game_init:
   call unit_load_default_player
 
   ; init initial map
+  
+  ; load initial seed
+  call mapgen_seed
+
   call map_init
   
   call game_init
index 280cbecb270297cbcc7217ea4755cb9e680756a7..cd7e7dd5826a7b4bf696ff1df7cdee4328d0f528 100644 (file)
@@ -143,6 +143,8 @@ p0_units: .adv act_size * UNITS_MAX
   ; list of seeds used 
   ; for the current maps
   ; fill using mapgen_seed
+  ; the seeds will be accessed via the map's 
+  ; seed index
 map_seeds: .adv FLOOR_MAP_COUNT * 2
 
   ; map tiles and collision data
index de0889cc189a8738c8352912bb4b2ee359740710..41807413cf0e35e7ac3cc51c377a57371e049bb6 100755 (executable)
@@ -15,7 +15,7 @@ tile_bank2 = "bank8C00"
 tile_bank3 = "bank9000"
 exit_table = "map_c_exit_table"
 actor_table_ptr = "map_actor_table_null"
-map_seed_index = "0"
+map_seed_index = 0
 map_name = "noname"
 NAME_LEN = 8
 
@@ -110,7 +110,7 @@ def print_header(name):
     print("dw " + tile_bank2)
     print("dw " + tile_bank3)
     print("dw " + exit_table)
-    print("dw " + map_seed_index)
+    print("dw " + str(map_seed_index))
     print("")
     
 def get_flag(tile):
@@ -165,7 +165,7 @@ def get_map_props(root):
                 elif name == 'exit_table':
                     exit_table = value
                 elif name == 'seed_index':
-                    seed_index = int(value)
+                    map_seed_index = int(value)
 
     return