tidyup
This commit is contained in:
parent
beea5f8efc
commit
7c21680926
26
src/game.rs
26
src/game.rs
|
@ -357,8 +357,11 @@ impl Game {
|
||||||
|
|
||||||
// a room has a palette, so handle palettes before rooms
|
// a room has a palette, so handle palettes before rooms
|
||||||
for palette in &game.palettes {
|
for palette in &game.palettes {
|
||||||
let new_id = self.add_palette(palette.clone());
|
insert_if_different(
|
||||||
insert_if_different(palette_id_changes.borrow_mut(), palette.id.clone(),new_id);
|
palette_id_changes.borrow_mut(),
|
||||||
|
palette.id.clone(),
|
||||||
|
self.add_palette(palette.clone())
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// a room has tiles, so handle before room
|
// a room has tiles, so handle before room
|
||||||
|
@ -427,8 +430,11 @@ impl Game {
|
||||||
// to insert any new room, we need to know the new IDs of every room
|
// to insert any new room, we need to know the new IDs of every room
|
||||||
// to maintain the integrity of exits and endings
|
// to maintain the integrity of exits and endings
|
||||||
for room in &game.rooms {
|
for room in &game.rooms {
|
||||||
let new_id = try_id(self.room_ids(), room.id.clone());
|
insert_if_different(
|
||||||
insert_if_different(room_id_changes.borrow_mut(), room.id.clone(), new_id);
|
room_id_changes.borrow_mut(),
|
||||||
|
room.id.clone(),
|
||||||
|
try_id(self.room_ids(), room.id.clone())
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// needs to be handled after palettes, tiles, items, exits, endings
|
// needs to be handled after palettes, tiles, items, exits, endings
|
||||||
|
@ -437,13 +443,14 @@ impl Game {
|
||||||
let mut room = room.clone();
|
let mut room = room.clone();
|
||||||
|
|
||||||
if room_id_changes.contains_key(&room.id) {
|
if room_id_changes.contains_key(&room.id) {
|
||||||
room.id = room_id_changes[&room.id].clone();
|
room.id = room_id_changes.get(&room.id).unwrap().clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
if room.palette_id.is_some() {
|
if room.palette_id.is_some() {
|
||||||
let key = room.palette_id.clone().unwrap();
|
let key = room.palette_id.clone().unwrap();
|
||||||
if palette_id_changes.contains_key(&key) {
|
if palette_id_changes.contains_key(&key) {
|
||||||
room.palette_id = Some(room_id_changes[&key].clone());
|
let new_id = palette_id_changes.get(&key).unwrap();
|
||||||
|
room.palette_id = Some(new_id.clone());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -471,7 +478,8 @@ impl Game {
|
||||||
room.exits = room.exits.iter().map(|exit| {
|
room.exits = room.exits.iter().map(|exit| {
|
||||||
let mut exit = exit.clone();
|
let mut exit = exit.clone();
|
||||||
if room_id_changes.contains_key(&exit.exit.room_id) {
|
if room_id_changes.contains_key(&exit.exit.room_id) {
|
||||||
exit.exit.room_id = room_id_changes[&exit.exit.room_id].clone();
|
let new_id = room_id_changes.get(&exit.exit.room_id).unwrap();
|
||||||
|
exit.exit.room_id = new_id.clone();
|
||||||
}
|
}
|
||||||
exit
|
exit
|
||||||
}).collect();
|
}).collect();
|
||||||
|
@ -484,7 +492,7 @@ impl Game {
|
||||||
ending
|
ending
|
||||||
}).collect();
|
}).collect();
|
||||||
|
|
||||||
self.add_room(room.to_owned());
|
self.add_room(room);
|
||||||
}
|
}
|
||||||
|
|
||||||
// a sprite has a dialogue ID, so we need to handle these after dialogues
|
// a sprite has a dialogue ID, so we need to handle these after dialogues
|
||||||
|
@ -506,7 +514,7 @@ impl Game {
|
||||||
if sprite.room_id.is_some() {
|
if sprite.room_id.is_some() {
|
||||||
let key = sprite.room_id.clone().unwrap();
|
let key = sprite.room_id.clone().unwrap();
|
||||||
if room_id_changes.contains_key(&key) {
|
if room_id_changes.contains_key(&key) {
|
||||||
sprite.room_id = Some(room_id_changes[&key].clone());
|
sprite.room_id = Some(room_id_changes.get(&key).unwrap().clone());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue