@@ 35,45 35,57 @@ impl Renderer for WebRenderer {
}
let client_data = client.client_data.as_ref().unwrap();
- context.set_transform(1f64, 0f64, 0f64, 1f64, 0f64, 0f64).map_err(|e: JsValue| e.as_string().unwrap())?;
- context.clear_rect(0f64, 0f64, typed_canvas_element.width() as f64, typed_canvas_element.height() as f64);
+ //let camera_translate_x = -client.x + (typed_canvas_element.width() / 2) as f64;
+ let viewer_size_x = typed_canvas_element.width() as f64;
+ //let camera_translate_y = -client.y + (typed_canvas_element.height() / 2) as f64;
+ let viewer_size_y = typed_canvas_element.height() as f64;
- let camera_translate_x = -client.x + (typed_canvas_element.width() / 2) as f64;
- let camera_translate_y = -client.y + (typed_canvas_element.height() / 2) as f64;
+ context.set_transform(1f64, 0f64, 0f64, 1f64, 0f64, 0f64).map_err(|e: JsValue| e.as_string().unwrap())?;
+ context.clear_rect(0f64, 0f64, viewer_size_x, viewer_size_y);
- context.translate(camera_translate_x, camera_translate_y).map_err(|e: JsValue| e.as_string().unwrap())?;
+ // *dont* translate the camera. we're movign everything else around us. cameracentrism.
+ // only translation will be to center our core module.
+ //context.translate(camera_translate_x, camera_translate_y).map_err(|e: JsValue| e.as_string().unwrap())?;
+ context.translate(viewer_size_x / 2.0, viewer_size_y / 2.0).map_err(|e: JsValue| e.as_string().unwrap())?;
for planet in &client.planets {
- context.save();
+ //context.save();
- context.set_transform(1f64, 0f64, 0f64, 1f64, 0f64, 0f64).map_err(|e: JsValue| e.as_string().unwrap())?;
- context.translate(-planet.x, -planet.y).map_err(|e: JsValue| e.as_string().unwrap())?;
+ //context.set_transform(1f64, 0f64, 0f64, 1f64, 0f64, 0f64).map_err(|e: JsValue| e.as_string().unwrap())?;
+ //context.translate(-planet.x, -planet.y).map_err(|e: JsValue| e.as_string().unwrap())?;
let texture_image = document.get_element_by_id(&format!("tex-{}", planet.planet_type.as_texture_id())).unwrap().dyn_into::<HtmlImageElement>().unwrap();
- context.draw_image_with_html_image_element_and_dw_and_dh(&texture_image, -planet.radius, -planet.radius, planet.radius * 2f64, planet.radius * 2f64).map_err(|e: JsValue| e.as_string().unwrap())?;
+ // pos:
+ //debug!("P {} {}", planet.x - planet.radius - client.x, planet.y - planet.radius - client.y);
+ debug!("P {} {}", planet.x - planet.radius - /*client.x*/0f64, planet.y - planet.radius - /*client.y*/100f64);
+ context.draw_image_with_html_image_element_and_dw_and_dh(&texture_image, planet.x - planet.radius - /*client.x*/0f64, planet.y - planet.radius - /*client.y*/100f64, planet.radius * 2f64, planet.radius * 2f64).map_err(|e: JsValue| e.as_string().unwrap())?;
- context.restore();
+ //context.restore();
}
for player in &client.players {
context.save();
- context.translate(player.x, player.y).map_err(|e: JsValue| e.as_string().unwrap())?;
+ //context.translate(player.x, player.y).map_err(|e: JsValue| e.as_string().unwrap())?;
context.set_text_align("center");
context.set_font("30px Segoe UI");
- context.set_fill_style(&JsValue::from_str("white"));
-
+ context.set_fill_style(&JsValue::from_str("white")); // CssStyleColor
context.fill_text(&player.username, 0f64, -35f64).map_err(|e: JsValue| e.as_string().unwrap())?;
- context.rotate(player.rotation).map_err(|e: JsValue| e.as_string().unwrap())?;
+ context.rotate(player.rotation).map_err(|e: JsValue| e.as_string().unwrap())?; // fwip
let texture_image = document.get_element_by_id("tex-hearty").unwrap().dyn_into::<HtmlImageElement>().unwrap();
- context.draw_image_with_html_image_element_and_dw_and_dh(&texture_image, -25f64, -25f64, 50f64, 50f64).map_err(|e: JsValue| e.as_string().unwrap())?;
+ debug!("H {} {}", player.x - 25f64 - client.x, player.y - 25f64 - client.y);
+ context.draw_image_with_html_image_element_and_dw_and_dh(&texture_image, player.x - 25f64 - client.x, player.y - 25f64 - client.y, 50f64, 50f64).map_err(|e: JsValue| e.as_string().unwrap())?; // sktch
+
+ //context.rotate(-player.rotation).map_err(|e: JsValue| e.as_string().unwrap())?; // fwoop
context.restore();
}
+ context.scale(0.25f64, 0.25f64).map_err(|e: JsValue| e.as_string().unwrap())?;
+
// do not remove
// im making this smiley an easter egg soon
// i just have to go fix the broken build system first
@@ 105,4 117,4 @@ impl Renderer for WebRenderer {
*/
Ok(())
}
-}>
\ No newline at end of file
+}