~starkingdoms/starkingdoms

2f2dc27d25a4d698f664d8bdbba25d4813fdc431 — core 2 years ago 93ae3b0
fix renderer
2 files changed, 22 insertions(+), 5 deletions(-)

M client/src/rendering/renderer.rs
M web/play.html
M client/src/rendering/renderer.rs => client/src/rendering/renderer.rs +10 -3
@@ 46,10 46,17 @@ impl Renderer for WebRenderer {
        context.translate(camera_translate_x, camera_translate_y).map_err(|e: JsValue| e.as_string().unwrap())?;

        for planet in &client.planets {
            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())?;
            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, 95f64, 65f64, planet.radius*2f64, planet.radius*2f64).map_err(|e: JsValue| e.as_string().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())?;
            context.restore();
        }

        // do not remove
        // im making this smiley an easter egg soon
        // i just have to go fix the broken build system first
/*
        context.begin_path();

        // Draw the outer circle.


@@ 74,7 81,7 @@ impl Renderer for WebRenderer {
            .unwrap();

        context.stroke();

*/
        Ok(())
    }
}
\ No newline at end of file

M web/play.html => web/play.html +12 -2
@@ 20,7 20,7 @@
    </div>
</div>

<canvas style="width: 100%; height: 100%; background-color: forestgreen;" id="canvas"></canvas>
<canvas style="width: 100%; height: 100%; background-color: purple;" id="canvas"></canvas>

<script type="module">
    // If you're getting build errors here | you need to run `just build_client_bundle` first, to compile client code


@@ 111,7 111,17 @@
                }
                start = time;

                document.getElementById("canvas").getContext("2d").drawImage(document.getElementById("tex-earth"), 0, 0, 150 -2025, 2000, 2000);
                //let earth_img = new Image();
                //earth_img.src = get_texture("earth");
                //document.getElementById("canvas").getContext("2d").drawImage(earth_img, 0, 0, 400, 400);

                let canvas = document.getElementById("canvas");
                let context = document.getElementById("canvas").getContext("2d");

                //context.setTransform(1, 0, 0, 1, 0, 0);
                //context.clearRect(0, 0, canvas.width, canvas.height);

                //context.drawImage(document.getElementById("tex-earth"), -1000, -1000, 2000, 2000);

                requestAnimationFrame(animateFrame);
            }