Compare commits

..

5 Commits

Author SHA1 Message Date
265f2a2c70 toc 2025-01-06 20:41:16 -08:00
3c516badd4 include map in binary 2025-01-06 20:41:16 -08:00
00dce54aea outrageous resize hack 2025-01-06 20:41:16 -08:00
1c86219dbe begone root 2025-01-04 01:12:27 -08:00
cee5731e6c begone flex 2025-01-04 01:05:34 -08:00
4 changed files with 15 additions and 22 deletions

View File

@@ -59,10 +59,13 @@ impl std::fmt::Display for LoadError{
}
impl std::error::Error for LoadError{}
pub fn load<P:AsRef<std::path::Path>>(path:P)->Result<strafesnet_common::map::CompleteMap,LoadError>{
pub fn load_file<P:AsRef<std::path::Path>>(path:P)->Result<strafesnet_common::map::CompleteMap,LoadError>{
//blocking because it's simpler...
let file=std::fs::File::open(path).map_err(LoadError::File)?;
match read(file).map_err(LoadError::ReadError)?{
load(file)
}
pub fn load<R:Read+std::io::Seek>(reader:R)->Result<strafesnet_common::map::CompleteMap,LoadError>{
match read(reader).map_err(LoadError::ReadError)?{
#[cfg(feature="snf")]
DataStructure::StrafesNET(map)=>Ok(map),
#[cfg(feature="roblox")]

View File

@@ -211,13 +211,13 @@ pub async fn setup_and_start(title:String){
setup_context,
);
if let Some(arg)=std::env::args().nth(1){
let path=std::path::PathBuf::from(arg);
//if let Some(arg)=std::env::args().nth(1){
//let path=std::path::PathBuf::from(arg);
window_thread.send(TimedInstruction{
time:integer::Time::ZERO,
instruction:WindowInstruction::WindowEvent(winit::event::WindowEvent::DroppedFile(path)),
instruction:WindowInstruction::WindowEvent(winit::event::WindowEvent::DroppedFile("".into())),
}).unwrap();
};
//};
println!("Entering event loop...");
let root_time=chrono::Utc::now();

View File

@@ -25,8 +25,10 @@ impl WindowContext<'_>{
}
fn window_event(&mut self,time:integer::Time,event:winit::event::WindowEvent){
match event{
winit::event::WindowEvent::DroppedFile(path)=>{
match crate::file::load(path.as_path()){
winit::event::WindowEvent::DroppedFile(_path)=>{
//match crate::file::load_file(path.as_path()){
let data=include_bytes!("/run/media/quat/Files/Documents/map-files/verify-scripts/maps/bhop_snfm/5692152916.snfm");
match crate::file::load(std::io::Cursor::new(data.as_slice())){
Ok(map)=>self.physics_thread.send(TimedInstruction{time,instruction:crate::physics_worker::Instruction::ChangeMap(map)}).unwrap(),
Err(e)=>println!("Failed to load map: {e}"),
}

View File

@@ -2,7 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1"/>
<title>Strafe Client</title>
<base data-trunk-public-url />
@@ -13,25 +13,13 @@
width: 100%;
height: 100%;
}
.root {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
}
.main-canvas {
margin: 0;
/* This allows the flexbox to grow to max size, this is needed for WebGPU */
flex: 1;
/* This forces CSS to ignore the width/height of the canvas, this is needed for WebGL */
contain: size;
}
</style>
</head>
<body>
<div class="root">
<canvas class="main-canvas" id="canvas"></canvas>
</div>
<canvas class="main-canvas" id="canvas"></canvas>
<link data-trunk rel="rust" href="../strafe-client/Cargo.toml"/>
</body>
</html>