Update 6.8

This commit is contained in:
chardub
2026-07-10 15:42:06 -04:00
parent 5b85e72cb2
commit 6a6f126a18
7871 changed files with 493194 additions and 224826 deletions
@@ -45,28 +45,122 @@ class TilemapRenderer
# 6 => [["Water rock", "Sea deep"], []]
EXTRA_AUTOTILES = {
1 => { #route-field
996 => "flowers_orange[10]",
991 => "flowers_pink[10]",
999 => "flowers_yellow[10]",
1007 => "flowers_blue[10]",
1015 => "flowers_purple[10]",
1023 => "flowers_red[10]",
1031 => "flowers_grey[10]",
1039 => "flowers_white[10]",
1 => { # route-field
996 => "flowers_orange[10]",
991 => "flowers_pink[10]",
999 => "flowers_yellow[10]",
1007 => "flowers_blue[10]",
1015 => "flowers_purple[10]",
1023 => "flowers_red[10]",
1031 => "flowers_grey[10]",
1039 => "flowers_white[10]",
# water rocks
1162 => "water_rock_large01[5]", 1163 => "water_rock_large02[5]",
1170 => "water_rock_large03[5]", 1171 => "water_rock_large04[5]",
1173 => "water_rock_medium[10]",
# water cliffs
1363 => "water_rock10", 1364 => "water_rock11",
1389 => "water_rock01", 1391 => "water_rock09",
1381 => "water_rock_shore08", 1382 => "water_rock_shore09",
#water cliffs
1363 => "water_rock10", 1364 => "water_rock11",
1389 => "water_rock01", 1391 => "water_rock09",
1381 => "water_rock_shore08", 1382 => "water_rock_shore09",
1377 => "water_rock08", 1379 => "water_rock07",
1384 => "water_rock_shore01", 1385 => "water_rock02", 1387 => "water_rock06", 1397 => "water_rock_shore07",
1392 => "water_rock_shore02", 1393 =>"water_rock03", 1394 => "water_rock04", 1395 => "water_rock05", 1396 => "water_rock_shore06",
1401 =>"water_rock_shore03", 1402 =>"water_rock_shore04", 1403 =>"water_rock_shore05",
1377 => "water_rock08", 1379 => "water_rock07",
1384 => "water_rock_shore01", 1385 => "water_rock02", 1387 => "water_rock06", 1397 => "water_rock_shore07",
1392 => "water_rock_shore02", 1393 => "water_rock03", 1394 => "water_rock04", 1395 => "water_rock05", 1396 => "water_rock_shore06",
1401 => "water_rock_shore03", 1402 => "water_rock_shore04", 1403 => "water_rock_shore05",
},
2 => { #small-town
8 => { # route-cycling
996 => "flowers_orange[10]",
991 => "flowers_pink[10]",
999 => "flowers_yellow[10]",
1007 => "flowers_blue[10]",
1015 => "flowers_purple[10]",
1023 => "flowers_red[10]",
1031 => "flowers_grey[10]",
1039 => "flowers_white[10]",
# water rocks
1162 => "water_rock_large01[5]", 1163 => "water_rock_large02[5]",
1170 => "water_rock_large03[5]", 1171 => "water_rock_large04[5]",
1173 => "water_rock_medium[10]",
# water cliffs
1363 => "water_rock10", 1364 => "water_rock11",
1389 => "water_rock01", 1391 => "water_rock09",
1381 => "water_rock_shore08", 1382 => "water_rock_shore09",
1377 => "water_rock08", 1379 => "water_rock07",
1384 => "water_rock_shore01", 1385 => "water_rock02", 1387 => "water_rock06", 1397 => "water_rock_shore07",
1392 => "water_rock_shore02", 1393 => "water_rock03", 1394 => "water_rock04", 1395 => "water_rock05", 1396 => "water_rock_shore06",
1401 => "water_rock_shore03", 1402 => "water_rock_shore04", 1403 => "water_rock_shore05",
},
2 => { # small-town
996 => "flowers_orange[10]",
991 => "flowers_pink[10]",
999 => "flowers_yellow[10]",
1007 => "flowers_blue[10]",
1015 => "flowers_purple[10]",
1023 => "flowers_red[10]",
1031 => "flowers_grey[10]",
1039 => "flowers_white[10]",
},
5 => { # Rustboro
996 => "flowers_orange[10]",
991 => "flowers_pink[10]",
999 => "flowers_yellow[10]",
1007 => "flowers_blue[10]",
1015 => "flowers_purple[10]",
1023 => "flowers_red[10]",
1031 => "flowers_grey[10]",
1039 => "flowers_white[10]",
},
6 => { # Dewford Town
# water rocks
1162 => "water_rock_large01[5]", 1163 => "water_rock_large02[5]",
1170 => "water_rock_large03[5]", 1171 => "water_rock_large04[5]",
1173 => "water_rock_medium[10]",
# water cliffs
1363 => "water_rock10", 1364 => "water_rock11",
1389 => "water_rock01", 1391 => "water_rock09",
1381 => "water_rock_shore08", 1382 => "water_rock_shore09",
1377 => "water_rock08", 1379 => "water_rock07",
1384 => "water_rock_shore01", 1385 => "water_rock02", 1387 => "water_rock06", 1397 => "water_rock_shore07",
1392 => "water_rock_shore02", 1393 => "water_rock03", 1394 => "water_rock04", 1395 => "water_rock05", 1396 => "water_rock_shore06",
1401 => "water_rock_shore03", 1402 => "water_rock_shore04", 1403 => "water_rock_shore05",
},
7 => { # Sea Route
# Mangroves
1062 => "mangrove_small_2[15]", 1063 => "mangrove_small_1[15]",
1088 => "mangrove_1_left[15]", 1089 => "mangrove_1_right[15]", 1090 => "mangrove_2_left[15]", 1091 => "mangrove_2_right[15]",
1092 => "mangrove_3_left[15]", 1093 => "mangrove_3_center_left[15]", 1094 => "mangrove_3_center_right[15]", 1095 => "mangrove_3_right[15]",
# water rocks
1162 => "water_rock_large01[5]", 1163 => "water_rock_large02[5]",
1170 => "water_rock_large03[5]", 1171 => "water_rock_large04[5]",
1173 => "water_rock_medium[10]",
# water cliffs
1363 => "water_rock10", 1364 => "water_rock11",
1389 => "water_rock01", 1391 => "water_rock09",
1381 => "water_rock_shore08", 1382 => "water_rock_shore09",
1377 => "water_rock08", 1379 => "water_rock07",
1384 => "water_rock_shore01", 1385 => "water_rock02", 1387 => "water_rock06", 1397 => "water_rock_shore07",
1392 => "water_rock_shore02", 1393 => "water_rock03", 1394 => "water_rock04", 1395 => "water_rock05", 1396 => "water_rock_shore06",
1401 => "water_rock_shore03", 1402 => "water_rock_shore04", 1403 => "water_rock_shore05",
},
12 => { # Slateport
# water rocks
1162 => "water_rock_large01[5]", 1163 => "water_rock_large02[5]",
1170 => "water_rock_large03[5]", 1171 => "water_rock_large04[5]",
1173 => "water_rock_medium[10]",
#
996 => "flowers_orange[10]",
991 => "flowers_pink[10]",
999 => "flowers_yellow[10]",
@@ -78,55 +172,15 @@ class TilemapRenderer
},
5 => { #Rustboro
996 => "flowers_orange[10]",
991 => "flowers_pink[10]",
999 => "flowers_yellow[10]",
1007 => "flowers_blue[10]",
1015 => "flowers_purple[10]",
1023 => "flowers_red[10]",
1031 => "flowers_grey[10]",
1039 => "flowers_white[10]",
},
6 => { #Dewford Town
#water cliffs
1363 => "water_rock10", 1364 => "water_rock11",
1389 => "water_rock01", 1391 => "water_rock09",
1381 => "water_rock_shore08", 1382 => "water_rock_shore09",
1377 => "water_rock08", 1379 => "water_rock07",
1384 => "water_rock_shore01", 1385 => "water_rock02", 1387 => "water_rock06", 1397 => "water_rock_shore07",
1392 => "water_rock_shore02", 1393 =>"water_rock03", 1394 => "water_rock04", 1395 => "water_rock05", 1396 => "water_rock_shore06",
1401 =>"water_rock_shore03", 1402 =>"water_rock_shore04", 1403 =>"water_rock_shore05",
},
7 => { #Sea Route
#water rocks
1173 => "water_rock_medium[15]",
#water cliffs
1363 => "water_rock10", 1364 => "water_rock11",
1389 => "water_rock01", 1391 => "water_rock09",
1381 => "water_rock_shore08", 1382 => "water_rock_shore09",
1377 => "water_rock08", 1379 => "water_rock07",
1384 => "water_rock_shore01", 1385 => "water_rock02", 1387 => "water_rock06", 1397 => "water_rock_shore07",
1392 => "water_rock_shore02", 1393 =>"water_rock03", 1394 => "water_rock04", 1395 => "water_rock05", 1396 => "water_rock_shore06",
1401 =>"water_rock_shore03", 1402 =>"water_rock_shore04", 1403 =>"water_rock_shore05",
},
23 => { #outdoor
1232 => "flowers_orange[10]",
1240 => "flowers_pink[10]",
1248 => "flowers_yellow[10]",
1256 => "flowers_blue[10]",
1264 => "flowers_purple[10]",
1272 => "flowers_red[10]",
1280 => "flowers_grey[10]",
1288 => "flowers_white[10]",
23 => { # outdoor
1232 => "flowers_orange[10]",
1240 => "flowers_pink[10]",
1248 => "flowers_yellow[10]",
1256 => "flowers_blue[10]",
1264 => "flowers_purple[10]",
1272 => "flowers_red[10]",
1280 => "flowers_grey[10]",
1288 => "flowers_white[10]",
},
30 => {
@@ -138,11 +192,114 @@ class TilemapRenderer
2660 => "flowers_red[10]",
2668 => "flowers_grey[10]",
2676 => "flowers_white[10]",
},
31 => { #Underwater
1096 => "kelp_top[20]",
1104 => "kelp_middle[20]",
1112 => "kelp_bottom[20]",
}
}
WIND_TREE_AUTOTILES = {
1 => { #Route-field
1 => { # Route-field
864 => "tree_sway_single_1",
865 => "tree_sway_single_2",
872 => "tree_sway_single_3",
873 => "tree_sway_single_4",
880 => "tree_sway_single_5",
881 => "tree_sway_single_6",
866 => "tree_sway_group_1",
867 => "tree_sway_group_2",
874 => "tree_sway_group_3",
875 => "tree_sway_group_4",
},
7 => { # Route-sea
864 => "tree_sway_single_1",
865 => "tree_sway_single_2",
872 => "tree_sway_single_3",
873 => "tree_sway_single_4",
880 => "tree_sway_single_5",
881 => "tree_sway_single_6",
866 => "tree_sway_group_1",
867 => "tree_sway_group_2",
874 => "tree_sway_group_3",
875 => "tree_sway_group_4",
1055 => "mangrove_small_1_wind_1",
1063 => "mangrove_small_1_wind_2",
1066 => "mangrove_2_wind_1",
1067 => "mangrove_2_wind_2",
1074 => "mangrove_2_wind_3",
1075 => "mangrove_2_wind_4",
1082 => "mangrove_2_wind_5",
1083 => "mangrove_2_wind_6",
},
8 => { # Route-cycling
864 => "tree_sway_single_1",
865 => "tree_sway_single_2",
872 => "tree_sway_single_3",
873 => "tree_sway_single_4",
880 => "tree_sway_single_5",
881 => "tree_sway_single_6",
866 => "tree_sway_group_1",
867 => "tree_sway_group_2",
874 => "tree_sway_group_3",
875 => "tree_sway_group_4",
},
2 => { # small-town
# trees
864 => "tree_sway_single_1",
865 => "tree_sway_single_2",
872 => "tree_sway_single_3",
873 => "tree_sway_single_4",
880 => "tree_sway_single_5",
881 => "tree_sway_single_6",
866 => "tree_sway_group_1",
867 => "tree_sway_group_2",
874 => "tree_sway_group_3",
875 => "tree_sway_group_4",
},
5 => { # Rustboro
# trees
864 => "tree_sway_single_1",
865 => "tree_sway_single_2",
872 => "tree_sway_single_3",
873 => "tree_sway_single_4",
880 => "tree_sway_single_5",
881 => "tree_sway_single_6",
866 => "tree_sway_group_1",
867 => "tree_sway_group_2",
874 => "tree_sway_group_3",
875 => "tree_sway_group_4",
},
9 => { # Route Forest
# trees
864 => "tree_sway_single_1",
865 => "tree_sway_single_2",
872 => "tree_sway_single_3",
873 => "tree_sway_single_4",
880 => "tree_sway_single_5",
881 => "tree_sway_single_6",
866 => "tree_sway_group_1",
867 => "tree_sway_group_2",
874 => "tree_sway_group_3",
875 => "tree_sway_group_4",
},
12 => { # Slateport
864 => "tree_sway_single_1",
865 => "tree_sway_single_2",
872 => "tree_sway_single_3",
@@ -150,15 +307,13 @@ class TilemapRenderer
880 => "tree_sway_single_5",
881 => "tree_sway_single_6",
866 => "tree_sway_group_1",
867 => "tree_sway_group_2",
874 => "tree_sway_group_3",
875 => "tree_sway_group_4",
},
2 => { #small-town
#trees
13 => { # Mauville
864 => "tree_sway_single_1",
865 => "tree_sway_single_2",
872 => "tree_sway_single_3",
@@ -166,39 +321,6 @@ class TilemapRenderer
880 => "tree_sway_single_5",
881 => "tree_sway_single_6",
866 => "tree_sway_group_1",
867 => "tree_sway_group_2",
874 => "tree_sway_group_3",
875 => "tree_sway_group_4",
},
5 => { #Rustboro
#trees
864 => "tree_sway_single_1",
865 => "tree_sway_single_2",
872 => "tree_sway_single_3",
873 => "tree_sway_single_4",
880 => "tree_sway_single_5",
881 => "tree_sway_single_6",
866 => "tree_sway_group_1",
867 => "tree_sway_group_2",
874 => "tree_sway_group_3",
875 => "tree_sway_group_4",
},
9 => { #Route Forest
#trees
864 => "tree_sway_single_1",
865 => "tree_sway_single_2",
872 => "tree_sway_single_3",
873 => "tree_sway_single_4",
880 => "tree_sway_single_5",
881 => "tree_sway_single_6",
866 => "tree_sway_group_1",
867 => "tree_sway_group_2",
874 => "tree_sway_group_3",
@@ -220,6 +342,7 @@ class TilemapRenderer
@load_counts = {}
@bridge = 0
@changed = true
@last_weather_type = nil
end
def [](filename)
@@ -301,6 +424,7 @@ class TilemapRenderer
end
EXPANDED_AUTOTILES_FOLDER = "Graphics/Autotiles/ExpandedAutotiles/"
def add(filename)
return if nil_or_empty?(filename)
if @bitmaps[filename]
@@ -311,7 +435,7 @@ class TilemapRenderer
# Try to load expanded autotile from cache first
cached_path = File.join("Graphics", "Autotiles/ExpandedAutotiles", "#{filename}.png")
if safeExists?(cached_path)
#echoln "Loading cached expanded autotile for #{filename}"
# echoln "Loading cached expanded autotile for #{filename}"
bitmap = RPG::Cache.load_bitmap(EXPANDED_AUTOTILES_FOLDER, filename)
duration = AUTOTILE_FRAME_DURATION
@@ -345,7 +469,6 @@ class TilemapRenderer
@load_counts[filename] = 1
end
def remove(filename)
super
return if @load_counts[filename] && @load_counts[filename] > 0
@@ -538,18 +661,18 @@ class TilemapRenderer
@autotiles.remove(filename)
end
def get_autotile_overrides(tileset_id,map_id)
def get_autotile_overrides(tileset_id, map_id)
base_overrides = EXTRA_AUTOTILES[tileset_id] || {}
return base_overrides unless $game_weather
wind_overrides =WIND_TREE_AUTOTILES[tileset_id] || {}
if $game_weather.map_current_weather_type(map_id) == :Wind && WIND_TREE_AUTOTILES[tileset_id]
wind_overrides = WIND_TREE_AUTOTILES[tileset_id] || {}
if $game_weather.map_current_weather_type(map_id) == :Wind || $game_weather.map_current_weather_type(map_id) == :Storm && WIND_TREE_AUTOTILES[tileset_id]
return base_overrides.merge(wind_overrides)
end
return base_overrides
end
def add_extra_autotiles(tileset_id,map_id)
overrides = get_autotile_overrides(tileset_id,map_id)
def add_extra_autotiles(tileset_id, map_id)
overrides = get_autotile_overrides(tileset_id, map_id)
return if !overrides || overrides.empty?
overrides.each do |tile_id, filename|
@autotiles.add(filename)
@@ -570,9 +693,11 @@ class TilemapRenderer
@need_refresh = true
end
INVISIBLE_WALL_TILE_ID = 384
def refresh_tile_bitmap(tile, map, tile_id)
tile.tile_id = tile_id
if tile_id < TILES_PER_AUTOTILE
if tile_id < TILES_PER_AUTOTILE || (Settings::HOENN && tile_id == INVISIBLE_WALL_TILE_ID)
tile.set_bitmap("", tile_id, false, false, 0, nil)
tile.shows_reflection = false
tile.bridge = false
@@ -592,7 +717,7 @@ class TilemapRenderer
# end
filename = nil
extra_autotile_hash = get_autotile_overrides(map.tileset_id,map.map_id)
extra_autotile_hash = get_autotile_overrides(map.tileset_id, map.map_id)
if extra_autotile_hash && extra_autotile_hash[tile_id]
# Custom tile_id override
@@ -644,8 +769,8 @@ class TilemapRenderer
end
def refresh_tile_z(tile, map, y, layer, tile_id)
if tile.underwater_tile#tile.shows_reflection -2000
tile.z = -5
if tile.underwater_tile # tile.shows_reflection -2000
tile.z = -5
elsif tile.bridge && $PokemonGlobal.bridge > 0
tile.z = 0
else
@@ -768,6 +893,16 @@ class TilemapRenderer
end
@old_color = @color.clone
end
# Check for updated weather
current_weather = $game_weather&.map_current_weather_type($game_map.map_id)
if current_weather != @last_weather_type
tileset_id = $game_map.tileset_id
add_extra_autotiles(tileset_id, $game_map.map_id)
refresh
@last_weather_type = current_weather
end
# Recalculate autotile frames
@tilesets.update
@autotiles.update