21 lines
548 B
Rust

use libpso::packet::login::{ShipList, ShipListEntry};
use libpso::utf8_to_utf16_array;
use crate::common::interserver::Ship;
use crate::login::character::SHIP_MENU_ID;
pub fn ship_list(ships: &[Ship]) -> ShipList {
let ships = ships.iter()
.enumerate()
.map(|(i, ship)| {
ShipListEntry {
menu: SHIP_MENU_ID,
item: i as u32,
flags: 0,
name: utf8_to_utf16_array!(ship.name, 0x11)
}
})
.collect();
ShipList::new(ships)
}