mirror of
https://git.ngram.ca/OpenJam/rc-servers
synced 2026-08-23 23:08:52 +00:00
Prefix all crates with oj_ and use release version of dependencies
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#![allow(dead_code)]
|
||||
|
||||
pub use rc_core::data::game_mode::GameMode;
|
||||
pub use oj_rc_core::data::game_mode::GameMode;
|
||||
|
||||
#[repr(u8)]
|
||||
#[derive(Copy, Clone)]
|
||||
|
||||
@@ -30,21 +30,21 @@ impl ItemShopBundle {
|
||||
|
||||
fn dump(&self, writer: &mut dyn Write) -> std::io::Result<usize> {
|
||||
let sku_bytes = self.sku.as_bytes();
|
||||
let mut total_len = writer.write(&rc_core::data::encode_7_bit_i32(sku_bytes.len() as i32))?;
|
||||
let mut total_len = writer.write(&oj_rc_core::data::encode_7_bit_i32(sku_bytes.len() as i32))?;
|
||||
total_len += writer.write(sku_bytes)?;
|
||||
|
||||
let bundle_name_key_bytes = self.bundle_name_key.as_bytes();
|
||||
total_len += writer.write(&rc_core::data::encode_7_bit_i32(bundle_name_key_bytes.len() as i32))?;
|
||||
total_len += writer.write(&oj_rc_core::data::encode_7_bit_i32(bundle_name_key_bytes.len() as i32))?;
|
||||
total_len += writer.write(bundle_name_key_bytes)?;
|
||||
|
||||
let sprite_bytes = self.sprite.as_bytes();
|
||||
total_len += writer.write(&rc_core::data::encode_7_bit_i32(sprite_bytes.len() as i32))?;
|
||||
total_len += writer.write(&oj_rc_core::data::encode_7_bit_i32(sprite_bytes.len() as i32))?;
|
||||
total_len += writer.write(sprite_bytes)?;
|
||||
|
||||
total_len += writer.write(&[self.is_sprite_full_size as u8])?;
|
||||
|
||||
let currency_bytes = self.currency.as_str().as_bytes();
|
||||
total_len += writer.write(&rc_core::data::encode_7_bit_i32(currency_bytes.len() as i32))?;
|
||||
total_len += writer.write(&oj_rc_core::data::encode_7_bit_i32(currency_bytes.len() as i32))?;
|
||||
total_len += writer.write(currency_bytes)?;
|
||||
|
||||
total_len += writer.write(&self.price.to_le_bytes())?;
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
pub use rc_core::data::cube_list;
|
||||
pub use oj_rc_core::data::cube_list;
|
||||
pub mod special_item;
|
||||
pub mod premium_config;
|
||||
pub mod palette;
|
||||
//pub mod client_config;
|
||||
pub mod crf_config;
|
||||
pub use rc_core::data::weapon_list;
|
||||
//pub use rc_core::data::movement_list;
|
||||
pub use oj_rc_core::data::weapon_list;
|
||||
//pub use oj_rc_core::data::movement_list;
|
||||
pub mod damage_boost;
|
||||
pub mod battle_arena_config;
|
||||
pub mod cpu_limits;
|
||||
pub mod cosmetic_limits;
|
||||
pub mod taunts_config;
|
||||
pub mod customisation_info;
|
||||
pub use rc_core::data::garage_bay;
|
||||
pub use oj_rc_core::data::garage_bay;
|
||||
pub mod custom_games;
|
||||
//pub use rc_core::data::tech_tree;
|
||||
//pub use oj_rc_core::data::tech_tree;
|
||||
pub mod item_shop_bundle;
|
||||
pub mod player_robopass_season;
|
||||
//pub use rc_core::data::weapon_upgrade;
|
||||
//pub use oj_rc_core::data::weapon_upgrade;
|
||||
pub mod player_rank;
|
||||
// pub use rc_core::data::robot_data;
|
||||
// pub use oj_rc_core::data::robot_data;
|
||||
pub mod quest;
|
||||
//pub use rc_core::data::auto_regen;
|
||||
//pub use rc_core::data::voting;
|
||||
//pub use oj_rc_core::data::auto_regen;
|
||||
//pub use oj_rc_core::data::voting;
|
||||
pub mod lobby;
|
||||
pub use rc_core::data::error_codes;
|
||||
//pub use rc_core::data::game_mode;
|
||||
pub use oj_rc_core::data::error_codes;
|
||||
//pub use oj_rc_core::data::game_mode;
|
||||
pub mod score_multipliers;
|
||||
//pub use rc_core::data::campaign;
|
||||
pub use rc_core::data::crf;
|
||||
//pub use oj_rc_core::data::campaign;
|
||||
pub use oj_rc_core::data::crf;
|
||||
|
||||
@@ -43,9 +43,9 @@ pub struct QuestInfo {
|
||||
|
||||
impl QuestInfo {
|
||||
fn dump(&self, writer: &mut dyn Write) -> std::io::Result<usize> {
|
||||
let mut total_len = rc_core::data::write_str_for_binreader(&self.id, writer)?;
|
||||
total_len += rc_core::data::write_str_for_binreader(&self.name, writer)?;
|
||||
total_len += rc_core::data::write_str_for_binreader(&self.description, writer)?;
|
||||
let mut total_len = oj_rc_core::data::write_str_for_binreader(&self.id, writer)?;
|
||||
total_len += oj_rc_core::data::write_str_for_binreader(&self.name, writer)?;
|
||||
total_len += oj_rc_core::data::write_str_for_binreader(&self.description, writer)?;
|
||||
total_len += writer.write(&self.xp.to_le_bytes())?;
|
||||
total_len += writer.write(&self.premium_xp.to_le_bytes())?;
|
||||
total_len += writer.write(&self.robits.to_le_bytes())?;
|
||||
|
||||
@@ -5,19 +5,19 @@ mod data;
|
||||
mod events;
|
||||
mod operations;
|
||||
|
||||
use polariton_auth::Handshake;
|
||||
use oj_polariton_auth::Handshake;
|
||||
use tokio::net;
|
||||
|
||||
use polariton::packet::{Data, Message, Packet, StandardMessage};
|
||||
use polariton::operation::{OperationResponse, Typed};
|
||||
|
||||
pub type UserTy = rc_core::UserState<()>;
|
||||
pub type UserTy = oj_rc_core::UserState<()>;
|
||||
|
||||
pub struct InitConfig {
|
||||
pub cubes: rc_core::persist::config::ConfigImpl,
|
||||
pub users: std::sync::Arc<rc_core::persist::user::UserImpl>,
|
||||
pub factory: std::sync::Arc<rc_core::factory::Factory>,
|
||||
pub parsers: rc_core::cubes::CubeParsers,
|
||||
pub cubes: oj_rc_core::persist::config::ConfigImpl,
|
||||
pub users: std::sync::Arc<oj_rc_core::persist::user::UserImpl>,
|
||||
pub factory: std::sync::Arc<oj_rc_core::factory::Factory>,
|
||||
pub parsers: oj_rc_core::cubes::CubeParsers,
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
@@ -26,10 +26,10 @@ async fn main() -> std::io::Result<()> {
|
||||
let args = cli::CliArgs::get();
|
||||
log::debug!("Got cli args {:?}", args);
|
||||
|
||||
let cubes = rc_core::persist::config::ConfigImpl::load(&args.assets).expect("Bad config data");
|
||||
let users = std::sync::Arc::new(rc_core::persist::user::UserImpl::load(&args.data, &cubes).await.expect("Bad user data"));
|
||||
let factory = std::sync::Arc::new(<rc_core::persist::config::ConfigImpl as rc_core::ConfigProvider<()>>::factory::<'_, '_>(&cubes).await.expect("Bad vehicle factory (CRF) config"));
|
||||
let parsers = rc_core::cubes::CubeParsers::new(&cubes);
|
||||
let cubes = oj_rc_core::persist::config::ConfigImpl::load(&args.assets).expect("Bad config data");
|
||||
let users = std::sync::Arc::new(oj_rc_core::persist::user::UserImpl::load(&args.data, &cubes).await.expect("Bad user data"));
|
||||
let factory = std::sync::Arc::new(<oj_rc_core::persist::config::ConfigImpl as oj_rc_core::ConfigProvider<()>>::factory::<'_, '_>(&cubes).await.expect("Bad vehicle factory (CRF) config"));
|
||||
let parsers = oj_rc_core::cubes::CubeParsers::new(&cubes);
|
||||
let init_ctx = std::sync::Arc::new(InitConfig {
|
||||
cubes,
|
||||
users,
|
||||
@@ -69,7 +69,7 @@ async fn process_socket(mut socket: net::TcpStream, address: std::net::SocketAdd
|
||||
};
|
||||
let (socket_r, socket_w) = socket.into_split();
|
||||
let (chann_tx, chann_rx) = tokio::sync::mpsc::unbounded_channel();
|
||||
let user_state = rc_core::UserState::<()>::new(init_ctx.users.clone(), chann_tx.clone());
|
||||
let user_state = oj_rc_core::UserState::<()>::new(init_ctx.users.clone(), chann_tx.clone());
|
||||
let ctx = polariton::packet::SerdesContext::from_boxed(Default::default(), enc);
|
||||
server.handle_async_with_channel(socket_r, socket_w, user_state, ctx, chann_tx, chann_rx).await;
|
||||
log::debug!("Goodbye connection from address {}", address);
|
||||
@@ -105,7 +105,7 @@ impl AuthError {
|
||||
}
|
||||
}
|
||||
|
||||
impl polariton_auth::AuthProvider<AuthError> for AuthImpl {
|
||||
impl oj_polariton_auth::AuthProvider<AuthError> for AuthImpl {
|
||||
fn validate(&mut self, params: &std::collections::HashMap<u8, Typed>) -> Result<std::collections::HashMap<u8, Typed>, AuthError> {
|
||||
if let Some(Typed::Str(token)) = params.get(&TOKEN_KEY) {
|
||||
if let Some(Typed::Str(service)) = params.get(&SERVICE_KEY) {
|
||||
@@ -208,7 +208,7 @@ async fn do_connect_handshake(
|
||||
let to_send = match handshake.authenticate(&packet3, &ctx) {
|
||||
Ok(x) => x,
|
||||
Err(h) => match h.extra {
|
||||
polariton_auth::AuthError::Validation(e) => {
|
||||
oj_polariton_auth::AuthError::Validation(e) => {
|
||||
e.log_err();
|
||||
return None;
|
||||
},
|
||||
|
||||
@@ -14,7 +14,7 @@ async fn do_save(params: ParameterTable<()>, user: &crate::UserTy) -> Result<Par
|
||||
let user_info = user.user()?;
|
||||
if let Some(Typed::Int(avatar)) = params.remove(&AVATAR_ID_PARAM_KEY) {
|
||||
if let Some(Typed::Bool(is_custom)) = params.remove(&IS_CUSTOM_PARAM_KEY) {
|
||||
let info = rc_core::persist::user::AvatarInfo {
|
||||
let info = oj_rc_core::persist::user::AvatarInfo {
|
||||
avatar_id: avatar,
|
||||
use_custom: is_custom,
|
||||
};
|
||||
|
||||
@@ -16,7 +16,7 @@ async fn do_save(params: ParameterTable<()>, _user: &crate::UserTy) -> Result<Pa
|
||||
if let Some(Typed::Int(format)) = params.remove(&FORMAT_PARAM_KEY) {
|
||||
log::debug!("Got custom avatar ({}B) with format {}", image.vec.len(), format);
|
||||
// TODO actually save image
|
||||
/*let info = rc_core::persist::user::AvatarInfo {
|
||||
/*let info = oj_rc_core::persist::user::AvatarInfo {
|
||||
avatar_id: 0,
|
||||
use_custom: true,
|
||||
};
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
use polariton_server::operations::Immediate;
|
||||
//use polariton::{operation::{Dict, ParameterTable, Typed}, serdes::TypePrefix};
|
||||
use rc_core::ConfigProvider;
|
||||
use oj_rc_core::ConfigProvider;
|
||||
|
||||
const PARAM_KEY: u8 = 36;
|
||||
|
||||
pub(super) fn client_config_provider(conf: &rc_core::ConfigImpl) -> Immediate<34, crate::UserTy> {
|
||||
pub(super) fn client_config_provider(conf: &oj_rc_core::ConfigImpl) -> Immediate<34, crate::UserTy> {
|
||||
let client_conf = conf.client_config();
|
||||
Immediate::new(|| {
|
||||
let mut params = std::collections::HashMap::with_capacity(1);
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
use polariton_server::operations::{Operation, OperationCode};
|
||||
use polariton::operation::{Typed, ParameterTable};
|
||||
use rc_factory::VehicleFactoryAdapter;
|
||||
use oj_rc_factory::VehicleFactoryAdapter;
|
||||
|
||||
const CODE: u8 = 86;
|
||||
|
||||
const FILTERS_PARAM_KEY: u8 = 92;
|
||||
const ITEMS_PARAM_KEY: u8 = 93;
|
||||
|
||||
async fn do_handling(params: ParameterTable<()>, _user: &crate::UserTy, factory: &std::sync::Arc<rc_core::factory::Factory>) -> Result<ParameterTable, i16> {
|
||||
async fn do_handling(params: ParameterTable<()>, _user: &crate::UserTy, factory: &std::sync::Arc<oj_rc_core::factory::Factory>) -> Result<ParameterTable, i16> {
|
||||
let mut params = params.to_dict();
|
||||
if let Some(Typed::Bytes(filters)) = params.remove(&FILTERS_PARAM_KEY) {
|
||||
let mut cursor = std::io::Cursor::new(filters.vec);
|
||||
let filters = crate::data::crf::ShopItemListFilters::parse(&mut cursor).map_err(|e| {
|
||||
log::error!("Failed to parse factory item query: {}", e);
|
||||
rc_core::data::error_codes::WebServicesError::UnexpectedError as i16
|
||||
oj_rc_core::data::error_codes::WebServicesError::UnexpectedError as i16
|
||||
})?;
|
||||
let vehicles = factory.list(filters.into_core()).await.map_err(|e| {
|
||||
log::error!("Failed to retrieve vehicles from factory: {}", e);
|
||||
rc_core::data::error_codes::WebServicesError::DatabaseError as i16
|
||||
oj_rc_core::data::error_codes::WebServicesError::DatabaseError as i16
|
||||
})?;
|
||||
let vehicles: Vec<_> = vehicles.into_iter().map(|x| crate::data::crf::ItemResult::from(x)).collect();
|
||||
params.insert(ITEMS_PARAM_KEY, crate::data::crf::ItemResult::as_transmissible(&vehicles));
|
||||
@@ -26,7 +26,7 @@ async fn do_handling(params: ParameterTable<()>, _user: &crate::UserTy, factory:
|
||||
}
|
||||
|
||||
pub struct CrfItemListProvider {
|
||||
factory: std::sync::Arc<rc_core::factory::Factory>,
|
||||
factory: std::sync::Arc<oj_rc_core::factory::Factory>,
|
||||
}
|
||||
|
||||
#[async_trait::async_trait]
|
||||
@@ -44,7 +44,7 @@ impl OperationCode for CrfItemListProvider {
|
||||
}
|
||||
}
|
||||
|
||||
pub(super) fn crf_item_list_query_provider(factory: &std::sync::Arc<rc_core::factory::Factory>) -> CrfItemListProvider {
|
||||
pub(super) fn crf_item_list_query_provider(factory: &std::sync::Arc<oj_rc_core::factory::Factory>) -> CrfItemListProvider {
|
||||
CrfItemListProvider {
|
||||
factory: factory.to_owned(),
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use polariton::operation::{ParameterTable, Typed, OperationResponse};
|
||||
use rc_factory::VehicleFactoryAdapter;
|
||||
use oj_rc_factory::VehicleFactoryAdapter;
|
||||
|
||||
const CODE: u8 = 166;
|
||||
|
||||
@@ -9,7 +9,7 @@ const SLOT_PARAM_KEY: u8 = 43; // in; int
|
||||
const FACTORY_ID_PARAM_KEY: u8 = 94; // in; int
|
||||
|
||||
|
||||
async fn do_handling(params: ParameterTable<()>, user: &crate::UserTy, factory: &std::sync::Arc<rc_core::factory::Factory>, weapon_order: &std::sync::Arc<rc_core::cubes::WeaponListParser>) -> Result<ParameterTable, i16> {
|
||||
async fn do_handling(params: ParameterTable<()>, user: &crate::UserTy, factory: &std::sync::Arc<oj_rc_core::factory::Factory>, weapon_order: &std::sync::Arc<oj_rc_core::cubes::WeaponListParser>) -> Result<ParameterTable, i16> {
|
||||
let mut params = params.to_dict();
|
||||
let user_info = user.user()?;
|
||||
let slot = if let Some(Typed::Int(slot)) = params.remove(&SLOT_PARAM_KEY) {
|
||||
@@ -22,14 +22,14 @@ async fn do_handling(params: ParameterTable<()>, user: &crate::UserTy, factory:
|
||||
// TODO charge for robot?
|
||||
let vehicle = factory.vehicle(factory_id as _).await.map_err(|e| {
|
||||
log::error!("Failed to retrieve vehicle {} (for copy-construct) from factory: {}", factory_id, e);
|
||||
rc_core::data::error_codes::WebServicesError::DatabaseError as i16
|
||||
oj_rc_core::data::error_codes::WebServicesError::DatabaseError as i16
|
||||
})?;
|
||||
if let Some((vehicle_to_copy, vehicle_meta)) = vehicle {
|
||||
// parse cube data for weapon order
|
||||
let mut cursor = std::io::Cursor::new(&vehicle_to_copy.cube_data);
|
||||
let weapons = weapon_order.guess_weapons(&mut cursor);
|
||||
// save to database
|
||||
let to_save = rc_core::persist::user::VehicleData {
|
||||
let to_save = oj_rc_core::persist::user::VehicleData {
|
||||
name: Some(vehicle_meta.name),
|
||||
slot,
|
||||
robot_data: vehicle_to_copy.cube_data,
|
||||
@@ -40,7 +40,7 @@ async fn do_handling(params: ParameterTable<()>, user: &crate::UserTy, factory:
|
||||
user_info.save_slot(to_save).await?;
|
||||
} else {
|
||||
log::warn!("Failed to retrieve (for copy-construct) non-existent factory vehicle {}", factory_id);
|
||||
return Err(rc_core::data::error_codes::WebServicesError::DatabaseError as i16);
|
||||
return Err(oj_rc_core::data::error_codes::WebServicesError::DatabaseError as i16);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -49,8 +49,8 @@ async fn do_handling(params: ParameterTable<()>, user: &crate::UserTy, factory:
|
||||
}
|
||||
|
||||
pub struct CrfItemPurchaseProvider {
|
||||
factory: std::sync::Arc<rc_core::factory::Factory>,
|
||||
weapon_order: std::sync::Arc<rc_core::cubes::WeaponListParser>,
|
||||
factory: std::sync::Arc<oj_rc_core::factory::Factory>,
|
||||
weapon_order: std::sync::Arc<oj_rc_core::cubes::WeaponListParser>,
|
||||
}
|
||||
|
||||
#[async_trait::async_trait]
|
||||
@@ -69,7 +69,7 @@ impl polariton_server::operations::OperationCode for CrfItemPurchaseProvider {
|
||||
}
|
||||
|
||||
|
||||
pub(super) fn crf_copy_to_bay_provider(factory: &std::sync::Arc<rc_core::factory::Factory>, weapon_order: std::sync::Arc<rc_core::cubes::WeaponListParser>) -> CrfItemPurchaseProvider {
|
||||
pub(super) fn crf_copy_to_bay_provider(factory: &std::sync::Arc<oj_rc_core::factory::Factory>, weapon_order: std::sync::Arc<oj_rc_core::cubes::WeaponListParser>) -> CrfItemPurchaseProvider {
|
||||
CrfItemPurchaseProvider {
|
||||
factory: factory.to_owned(),
|
||||
weapon_order,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use polariton_server::operations::{Operation, OperationCode};
|
||||
use polariton::operation::{Typed, ParameterTable};
|
||||
use rc_factory::VehicleFactoryAdapter;
|
||||
use oj_rc_factory::VehicleFactoryAdapter;
|
||||
|
||||
const CODE: u8 = 96;
|
||||
|
||||
@@ -8,7 +8,7 @@ const DATA_PARAM_KEY: u8 = 101; // in; dict
|
||||
const VERSION_PARAM_KEY: u8 = 99; // in; str
|
||||
const SUCCESS_PARAM_KEY: u8 = 103; // out; bool
|
||||
|
||||
async fn do_handling(params: ParameterTable<()>, user: &crate::UserTy, factory: &std::sync::Arc<rc_core::factory::Factory>) -> Result<ParameterTable, i16> {
|
||||
async fn do_handling(params: ParameterTable<()>, user: &crate::UserTy, factory: &std::sync::Arc<oj_rc_core::factory::Factory>) -> Result<ParameterTable, i16> {
|
||||
let mut params = params.to_dict();
|
||||
if let Some(Typed::Str(version)) = params.remove(&VERSION_PARAM_KEY) {
|
||||
if let Some(Typed::Dict(data)) = params.remove(&DATA_PARAM_KEY) {
|
||||
@@ -17,7 +17,7 @@ async fn do_handling(params: ParameterTable<()>, user: &crate::UserTy, factory:
|
||||
let prepared = user_info.prepare_factory_upload(upload_info.into_core()).await?;
|
||||
let success = factory.upload(prepared).await.map_err(|e| {
|
||||
log::error!("Failed to upload to factory: {}", e);
|
||||
rc_core::data::error_codes::WebServicesError::UnexpectedError as i16
|
||||
oj_rc_core::data::error_codes::WebServicesError::UnexpectedError as i16
|
||||
})?;
|
||||
params.insert(SUCCESS_PARAM_KEY, Typed::Bool(success));
|
||||
}
|
||||
@@ -26,7 +26,7 @@ async fn do_handling(params: ParameterTable<()>, user: &crate::UserTy, factory:
|
||||
}
|
||||
|
||||
pub struct CrfUploadProvider {
|
||||
factory: std::sync::Arc<rc_core::factory::Factory>,
|
||||
factory: std::sync::Arc<oj_rc_core::factory::Factory>,
|
||||
}
|
||||
|
||||
#[async_trait::async_trait]
|
||||
@@ -44,7 +44,7 @@ impl OperationCode for CrfUploadProvider {
|
||||
}
|
||||
}
|
||||
|
||||
pub(super) fn crf_upload_provider(factory: &std::sync::Arc<rc_core::factory::Factory>) -> CrfUploadProvider {
|
||||
pub(super) fn crf_upload_provider(factory: &std::sync::Arc<oj_rc_core::factory::Factory>) -> CrfUploadProvider {
|
||||
CrfUploadProvider {
|
||||
factory: factory.to_owned(),
|
||||
}
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
use polariton_server::operations::{Operation, OperationCode};
|
||||
use polariton::operation::{Typed, ParameterTable};
|
||||
use rc_factory::VehicleFactoryAdapter;
|
||||
use oj_rc_factory::VehicleFactoryAdapter;
|
||||
|
||||
const CODE: u8 = 87;
|
||||
|
||||
const ID_PARAM_KEY: u8 = 94;
|
||||
const DATA_PARAM_KEY: u8 = 95;
|
||||
|
||||
async fn do_handling(params: ParameterTable<()>, _user: &crate::UserTy, factory: &std::sync::Arc<rc_core::factory::Factory>) -> Result<ParameterTable, i16> {
|
||||
async fn do_handling(params: ParameterTable<()>, _user: &crate::UserTy, factory: &std::sync::Arc<oj_rc_core::factory::Factory>) -> Result<ParameterTable, i16> {
|
||||
let mut params = params.to_dict();
|
||||
if let Some(Typed::Int(id)) = params.remove(&ID_PARAM_KEY) {
|
||||
let vehicle = factory.vehicle(id as _).await.map_err(|e| {
|
||||
log::error!("Failed to retrieve vehicle {} from factory: {}", id, e);
|
||||
rc_core::data::error_codes::WebServicesError::DatabaseError as i16
|
||||
oj_rc_core::data::error_codes::WebServicesError::DatabaseError as i16
|
||||
})?;
|
||||
if let Some(vehicle) = vehicle {
|
||||
let vehicle_data = crate::data::crf::ItemData::from(vehicle.0);
|
||||
params.insert(DATA_PARAM_KEY, vehicle_data.as_transmissible());
|
||||
} else {
|
||||
log::warn!("Failed to retrieve non-existent factory vehicle {}", id);
|
||||
return Err(rc_core::data::error_codes::WebServicesError::InvalidRobot as i16);
|
||||
return Err(oj_rc_core::data::error_codes::WebServicesError::InvalidRobot as i16);
|
||||
}
|
||||
}
|
||||
Ok(params.into())
|
||||
}
|
||||
|
||||
pub struct CrfItemDataProvider {
|
||||
factory: std::sync::Arc<rc_core::factory::Factory>,
|
||||
factory: std::sync::Arc<oj_rc_core::factory::Factory>,
|
||||
}
|
||||
|
||||
#[async_trait::async_trait]
|
||||
@@ -44,7 +44,7 @@ impl OperationCode for CrfItemDataProvider {
|
||||
}
|
||||
}
|
||||
|
||||
pub(super) fn crf_item_data_provider(factory: &std::sync::Arc<rc_core::factory::Factory>) -> CrfItemDataProvider {
|
||||
pub(super) fn crf_item_data_provider(factory: &std::sync::Arc<oj_rc_core::factory::Factory>) -> CrfItemDataProvider {
|
||||
CrfItemDataProvider {
|
||||
factory: factory.to_owned(),
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use polariton_server::operations::{Operation, OperationCode};
|
||||
use polariton::{operation::{Dict, Typed}, serdes::TypePrefix};
|
||||
use rc_core::ConfigProvider;
|
||||
use oj_rc_core::ConfigProvider;
|
||||
|
||||
const PARAM_KEY: u8 = 16;
|
||||
|
||||
@@ -32,7 +32,7 @@ impl OperationCode for CubeInventoryProvider {
|
||||
}
|
||||
}
|
||||
|
||||
pub(super) fn cube_inv_provider<'a>(cubes: &'a rc_core::ConfigImpl) -> CubeInventoryProvider {
|
||||
let cube_ids = <rc_core::ConfigImpl as ConfigProvider<()>>::ids(cubes);
|
||||
pub(super) fn cube_inv_provider<'a>(cubes: &'a oj_rc_core::ConfigImpl) -> CubeInventoryProvider {
|
||||
let cube_ids = <oj_rc_core::ConfigImpl as ConfigProvider<()>>::ids(cubes);
|
||||
CubeInventoryProvider { cube_ids }
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
use polariton_server::operations::Immediate;
|
||||
use rc_core::ConfigProvider;
|
||||
use oj_rc_core::ConfigProvider;
|
||||
|
||||
const PARAM_KEY: u8 = 1;
|
||||
//const DEFAULT_CUBE_ID: u32 = 227205318;
|
||||
|
||||
pub(super) fn cube_list_provider(cubes: &rc_core::ConfigImpl) -> Immediate<2, crate::UserTy> {
|
||||
pub(super) fn cube_list_provider(cubes: &oj_rc_core::ConfigImpl) -> Immediate<2, crate::UserTy> {
|
||||
Immediate::new(|| {
|
||||
let mut params = std::collections::HashMap::with_capacity(2);
|
||||
params.insert(PARAM_KEY, cubes.cube_list());
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use polariton_server::operations::{Operation, OperationCode};
|
||||
use rand::Rng;
|
||||
use rc_core::ConfigProvider;
|
||||
use oj_rc_core::ConfigProvider;
|
||||
|
||||
const MAX_DELTA: u64 = 60 * 60 * 24; // 1 day
|
||||
|
||||
@@ -10,7 +10,7 @@ const MESSAGE_PARAM_KEY: u8 = 2;
|
||||
const DISPLAY_TIME_PARAM_KEY: u8 = 15;
|
||||
|
||||
pub struct DevMessageProvider<C: Clone> {
|
||||
messages: rc_core::persist::config::DevMessageProvider<C>,
|
||||
messages: oj_rc_core::persist::config::DevMessageProvider<C>,
|
||||
}
|
||||
|
||||
impl <C: Clone> DevMessageProvider<C> {
|
||||
@@ -49,7 +49,7 @@ impl <C: Clone> OperationCode for DevMessageProvider<C> {
|
||||
}
|
||||
}
|
||||
|
||||
pub(super) fn dev_message_provider(conf: &rc_core::ConfigImpl) -> DevMessageProvider<()> {
|
||||
pub(super) fn dev_message_provider(conf: &oj_rc_core::ConfigImpl) -> DevMessageProvider<()> {
|
||||
let messages = conf.login_messages();
|
||||
DevMessageProvider { messages }
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ RC_Planet_Neptune_01_CTF
|
||||
*/
|
||||
|
||||
pub struct GameEventsParamsProvider {
|
||||
sequence: std::sync::Mutex<rc_core::persist::config::GameEventSequence>,
|
||||
sequence: std::sync::Mutex<oj_rc_core::persist::config::GameEventSequence>,
|
||||
}
|
||||
|
||||
#[async_trait::async_trait]
|
||||
@@ -51,8 +51,8 @@ impl OperationCode for GameEventsParamsProvider {
|
||||
}
|
||||
}
|
||||
|
||||
pub(super) fn event_system_params_provider(conf: &rc_core::ConfigImpl) -> GameEventsParamsProvider {
|
||||
let game_seq = <rc_core::ConfigImpl as rc_core::ConfigProvider<()>>::gamemode_events(conf);
|
||||
pub(super) fn event_system_params_provider(conf: &oj_rc_core::ConfigImpl) -> GameEventsParamsProvider {
|
||||
let game_seq = <oj_rc_core::ConfigImpl as oj_rc_core::ConfigProvider<()>>::gamemode_events(conf);
|
||||
GameEventsParamsProvider {
|
||||
sequence: std::sync::Mutex::new(game_seq),
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
use polariton_server::operations::Immediate;
|
||||
|
||||
use rc_core::ConfigProvider;
|
||||
use oj_rc_core::ConfigProvider;
|
||||
|
||||
const PARAM_KEY: u8 = 1;
|
||||
|
||||
pub(super) fn game_mode_config_provider(conf: &rc_core::ConfigImpl) -> Immediate<113, crate::UserTy> {
|
||||
pub(super) fn game_mode_config_provider(conf: &oj_rc_core::ConfigImpl) -> Immediate<113, crate::UserTy> {
|
||||
let game_config = conf.game_mode_config();
|
||||
Immediate::new(move || {
|
||||
let mut params = std::collections::HashMap::with_capacity(1);
|
||||
|
||||
@@ -15,9 +15,9 @@ async fn do_handling(params: ParameterTable<()>, user: &crate::UserTy) -> Result
|
||||
if let Some(Typed::Int(index)) = params.remove(&INDEX_PARAM_KEY) {
|
||||
if let Some(Typed::Int(control_ty)) = params.remove(&CONTROL_TY_PARAM_KEY) {
|
||||
if let Some(Typed::Arr(control_options)) = params.remove(&CONTROL_OPTIONS_PARAM_KEY) {
|
||||
let mut controls = rc_core::persist::user::ControlData {
|
||||
let mut controls = oj_rc_core::persist::user::ControlData {
|
||||
slot: index,
|
||||
control_ty: rc_core::persist::user::ControlType::from_i32(control_ty)?,
|
||||
control_ty: oj_rc_core::persist::user::ControlType::from_i32(control_ty)?,
|
||||
vertical_strafing: false,
|
||||
sideways_driving: false,
|
||||
tracks_turn_on_spot: false,
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
use polariton_server::operations::Immediate;
|
||||
|
||||
//use rc_core::ConfigProvider;
|
||||
//use oj_rc_core::ConfigProvider;
|
||||
|
||||
const PARAM_KEY: u8 = 68;
|
||||
|
||||
pub(super) fn garage_slots_limit(_conf: &rc_core::ConfigImpl) -> Immediate<60, crate::UserTy> {
|
||||
pub(super) fn garage_slots_limit(_conf: &oj_rc_core::ConfigImpl) -> Immediate<60, crate::UserTy> {
|
||||
//let limit = conf.game_mode_config();
|
||||
Immediate::new(move || {
|
||||
let mut params = std::collections::HashMap::with_capacity(1);
|
||||
|
||||
@@ -18,7 +18,7 @@ async fn do_handling(params: ParameterTable<()>, user: &crate::UserTy) -> Result
|
||||
if let Some(Typed::Str(spawn)) = params.remove(&SPAWN_SKIN_PARAM_KEY) {
|
||||
if let Some(Typed::Str(death)) = params.remove(&DEATH_SKIN_PARAM_KEY) {
|
||||
let user_info = user.user()?;
|
||||
user_info.save_slot_customisations(rc_core::persist::user::CustomisationData {
|
||||
user_info.save_slot_customisations(oj_rc_core::persist::user::CustomisationData {
|
||||
uuid: uuid.string,
|
||||
bay: bay_skin.string,
|
||||
spawn: spawn.string,
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
use polariton::operation::{ParameterTable, OperationResponse};
|
||||
use rc_core::ConfigProvider;
|
||||
use oj_rc_core::ConfigProvider;
|
||||
|
||||
const CODE: u8 = 1;
|
||||
|
||||
const PARAM_KEY: u8 = 1;
|
||||
|
||||
pub(super) fn garage_upgrades_provider(conf: &rc_core::ConfigImpl) -> GarageUpgradesProvider {
|
||||
pub(super) fn garage_upgrades_provider(conf: &oj_rc_core::ConfigImpl) -> GarageUpgradesProvider {
|
||||
GarageUpgradesProvider {
|
||||
upgrades: <rc_core::ConfigImpl as ConfigProvider<()>>::garage_upgrades(conf),
|
||||
upgrades: <oj_rc_core::ConfigImpl as ConfigProvider<()>>::garage_upgrades(conf),
|
||||
}
|
||||
}
|
||||
|
||||
pub struct GarageUpgradesProvider {
|
||||
upgrades: rc_core::persist::config::GarageUpgrades,
|
||||
upgrades: oj_rc_core::persist::config::GarageUpgrades,
|
||||
}
|
||||
|
||||
impl GarageUpgradesProvider {
|
||||
|
||||
@@ -72,7 +72,7 @@ async fn do_save(params: ParameterTable<()>, user: &crate::UserTy) -> Result<Par
|
||||
if let Some(Typed::Arr(weapon_order)) = params.remove(&WEAPON_ORDER_PARAM_KEY) {
|
||||
let weapon_order_filtered: Vec<_> = weapon_order.items.into_iter().filter_map(|ty| if let Typed::Int(i) = ty { Some(i) } else { None }).collect();
|
||||
let user_info = user.user()?;
|
||||
let vehicle_data = rc_core::persist::user::VehicleData {
|
||||
let vehicle_data = oj_rc_core::persist::user::VehicleData {
|
||||
name: None,
|
||||
slot: slot_index,
|
||||
robot_data: robot_data.vec,
|
||||
|
||||
@@ -102,7 +102,7 @@ use polariton_server::operations::OperationsHandler;
|
||||
|
||||
pub fn handler(init_ctx: &crate::InitConfig) -> OperationsHandler<crate::UserTy> {
|
||||
OperationsHandler::new()
|
||||
.modify(rc_core::polariton::OpIdCopy)
|
||||
.modify(oj_rc_core::polariton::OpIdCopy)
|
||||
.add(eac::EacChallengeIgnorer)
|
||||
.add(more_auth::MoreLobbyAuth)
|
||||
.add(versioner::VersionTeller)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
//use polariton::serdes::TypePrefix;
|
||||
use polariton_server::operations::Immediate;
|
||||
use rc_core::ConfigProvider;
|
||||
use oj_rc_core::ConfigProvider;
|
||||
|
||||
const PARAM_KEY: u8 = 1;
|
||||
|
||||
pub(super) fn movement_config_provider(cubes: &rc_core::ConfigImpl) -> Immediate<62, crate::UserTy> {
|
||||
pub(super) fn movement_config_provider(cubes: &oj_rc_core::ConfigImpl) -> Immediate<62, crate::UserTy> {
|
||||
Immediate::new(|| {
|
||||
let mut params = std::collections::HashMap::with_capacity(2);
|
||||
params.insert(PARAM_KEY, cubes.movement_list());
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
use polariton_server::operations::Immediate;
|
||||
|
||||
use rc_core::ConfigProvider;
|
||||
use oj_rc_core::ConfigProvider;
|
||||
|
||||
const PARAM_KEY: u8 = 203; // bytes
|
||||
|
||||
pub(super) fn after_battle_vote_thresholds_provider(conf: &rc_core::ConfigImpl) -> Immediate<169, crate::UserTy> {
|
||||
pub(super) fn after_battle_vote_thresholds_provider(conf: &oj_rc_core::ConfigImpl) -> Immediate<169, crate::UserTy> {
|
||||
Immediate::new(|| {
|
||||
let mut params = std::collections::HashMap::with_capacity(1);
|
||||
params.insert(PARAM_KEY, conf.after_battle_vote_config());
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use polariton_server::operations::SimpleFunc;
|
||||
use polariton::{operation::{Dict, ParameterTable, Typed}, serdes::TypePrefix};
|
||||
|
||||
use rc_core::data::robot_data::*;
|
||||
use oj_rc_core::data::robot_data::*;
|
||||
|
||||
const PARAM_KEY: u8 = 1;
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
use polariton_server::operations::Immediate;
|
||||
|
||||
use rc_core::ConfigProvider;
|
||||
use oj_rc_core::ConfigProvider;
|
||||
|
||||
const PARAM_KEY: u8 = 37; // bytes
|
||||
|
||||
pub(super) fn auto_regen_config_provider(conf: &rc_core::ConfigImpl) -> Immediate<35, crate::UserTy> {
|
||||
pub(super) fn auto_regen_config_provider(conf: &oj_rc_core::ConfigImpl) -> Immediate<35, crate::UserTy> {
|
||||
Immediate::new(|| {
|
||||
let mut params = std::collections::HashMap::with_capacity(1);
|
||||
params.insert(PARAM_KEY, conf.regen_config());
|
||||
|
||||
@@ -2,13 +2,13 @@ use polariton_server::operations::{Immediate, SimpleFunc};
|
||||
use polariton_server::operations::{Operation, OperationCode};
|
||||
use polariton::operation::{ParameterTable, Typed};
|
||||
|
||||
use rc_core::ConfigProvider;
|
||||
use oj_rc_core::ConfigProvider;
|
||||
|
||||
const CAMPAIGNS_BYTES_PARAM_KEY: u8 = 64; // list of bytes (serialised data)
|
||||
const CAMPAIGNS_WAVES_PARAM_KEY: u8 = 70; // hashtable
|
||||
const CAMPAIGNS_VERSIONS_PARAM_KEY: u8 = 69; // hashtable
|
||||
|
||||
pub(super) fn singleplayer_campaigns_provider(conf: &rc_core::ConfigImpl) -> Immediate<65, crate::UserTy> {
|
||||
pub(super) fn singleplayer_campaigns_provider(conf: &oj_rc_core::ConfigImpl) -> Immediate<65, crate::UserTy> {
|
||||
Immediate::new(|| {
|
||||
let mut params = std::collections::HashMap::new();
|
||||
params.insert(CAMPAIGNS_BYTES_PARAM_KEY, conf.campaigns_parameters()); // first 4 bytes are i32 for length of the rest
|
||||
@@ -31,7 +31,7 @@ const CAMPAIGN_DIFFICULTY_PARAM_KEY: u8 = 23; // i32; in
|
||||
const CAMPAIGN_WAVES_PARAM_KEY: u8 = 75; // bytes; out
|
||||
|
||||
pub struct SingleplayerCompleteCampaignProvider {
|
||||
campaign_details: rc_core::persist::config::CompleteCampaignProvider,
|
||||
campaign_details: oj_rc_core::persist::config::CompleteCampaignProvider,
|
||||
}
|
||||
|
||||
impl <C: Send + 'static> Operation<C> for SingleplayerCompleteCampaignProvider {
|
||||
@@ -73,15 +73,15 @@ impl OperationCode for SingleplayerCompleteCampaignProvider {
|
||||
}
|
||||
}
|
||||
|
||||
pub(super) fn singleplayer_complete_campaign_provider(conf: &rc_core::ConfigImpl) -> SingleplayerCompleteCampaignProvider {
|
||||
let campaign_details: rc_core::persist::config::CompleteCampaignProvider = <rc_core::ConfigImpl as rc_core::ConfigProvider<()>>::campaign_details(conf);
|
||||
pub(super) fn singleplayer_complete_campaign_provider(conf: &oj_rc_core::ConfigImpl) -> SingleplayerCompleteCampaignProvider {
|
||||
let campaign_details: oj_rc_core::persist::config::CompleteCampaignProvider = <oj_rc_core::ConfigImpl as oj_rc_core::ConfigProvider<()>>::campaign_details(conf);
|
||||
SingleplayerCompleteCampaignProvider { campaign_details }
|
||||
}
|
||||
|
||||
const CAMPAIGN_WAVE_NUMBER_PARAM_KEYL: u8 = 73;
|
||||
|
||||
pub(super) fn singleplayer_save_complete_campaign_provider() -> SimpleFunc<68, crate::UserTy, impl (Fn(ParameterTable, &crate::UserTy) -> Result<ParameterTable, i16>) + Sync + Sync> {
|
||||
//let campaign_details = <rc_core::ConfigImpl as rc_core::ConfigProvider<()>>::campaign_details(conf);
|
||||
//let campaign_details = <oj_rc_core::ConfigImpl as oj_rc_core::ConfigProvider<()>>::campaign_details(conf);
|
||||
SimpleFunc::new(move |params, user: &crate::UserTy| {
|
||||
let mut params = params.to_dict();
|
||||
if let Some(Typed::Str(campaign_id)) = params.get(&CAMPAIGN_ID_PARAM_KEY) {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
use polariton_server::operations::Immediate;
|
||||
use rc_core::ConfigProvider;
|
||||
use oj_rc_core::ConfigProvider;
|
||||
|
||||
const PARAM_KEY: u8 = 210;
|
||||
|
||||
pub(super) fn tech_tree_layout_provider(cubes: &rc_core::ConfigImpl) -> Immediate<183, crate::UserTy> {
|
||||
pub(super) fn tech_tree_layout_provider(cubes: &oj_rc_core::ConfigImpl) -> Immediate<183, crate::UserTy> {
|
||||
Immediate::new(|| {
|
||||
let mut params = std::collections::HashMap::with_capacity(2);
|
||||
params.insert(PARAM_KEY, cubes.tech_tree_nodes(&vec![
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
use polariton_server::operations::Immediate;
|
||||
|
||||
use rc_core::ConfigProvider;
|
||||
use oj_rc_core::ConfigProvider;
|
||||
|
||||
pub const DEFAULT_WEAPON_ORDER_PARAM_KEY: u8 = 138;
|
||||
|
||||
pub(super) fn weapon_order_provider(conf: &rc_core::ConfigImpl) -> Immediate<118, crate::UserTy> {
|
||||
pub(super) fn weapon_order_provider(conf: &oj_rc_core::ConfigImpl) -> Immediate<118, crate::UserTy> {
|
||||
let weapon_orders = conf.weapon_keys();
|
||||
Immediate::new(|| {
|
||||
let mut params = std::collections::HashMap::with_capacity(1);
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
use polariton_server::operations::Immediate;
|
||||
use rc_core::ConfigProvider;
|
||||
use oj_rc_core::ConfigProvider;
|
||||
|
||||
const PARAM_KEY: u8 = 57;
|
||||
|
||||
pub(super) fn weapon_config_provider(cubes: &rc_core::ConfigImpl) -> Immediate<47, crate::UserTy> {
|
||||
pub(super) fn weapon_config_provider(cubes: &oj_rc_core::ConfigImpl) -> Immediate<47, crate::UserTy> {
|
||||
Immediate::new(|| {
|
||||
let mut params = std::collections::HashMap::with_capacity(2);
|
||||
params.insert(PARAM_KEY, cubes.weapon_list());
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
use polariton_server::operations::Immediate;
|
||||
use rc_core::ConfigProvider;
|
||||
use oj_rc_core::ConfigProvider;
|
||||
|
||||
const PARAM_KEY: u8 = 38;
|
||||
|
||||
pub(super) fn weapons_upgrade_provider(cubes: &rc_core::ConfigImpl) -> Immediate<82, crate::UserTy> {
|
||||
pub(super) fn weapons_upgrade_provider(cubes: &oj_rc_core::ConfigImpl) -> Immediate<82, crate::UserTy> {
|
||||
Immediate::new(|| {
|
||||
let mut params = std::collections::HashMap::with_capacity(2);
|
||||
params.insert(PARAM_KEY, cubes.weapon_upgrade_list());
|
||||
|
||||
Reference in New Issue
Block a user