Skip to content
Snippets Groups Projects
Select Git revision
  • 82f4ab803381d5b5d29f07d1fc5e016000d8dcc2
  • main default protected
2 results

main.js

Blame
  • main.js 5.38 KiB
    
    import Canvas from "../../hampsterengine/src/canvas.js";
    import Engine from "../../hampsterengine/src/engine.js";
    import Keyboard from "../../hampsterengine/src/keyboard";
    import {FontRenderer, Stars} from "./objects";
    
    import SoundBox from "./sb-player-small";
    // import {mus_DEMOSONG} from "./songs/DEMOSONGDONOTCOMMIT";
    
    // dependencies used for debugging. comment out code that uses this and they won't be included
    import Stats from "stats.js";
    
    // Images
    import font from "../img/font.webp";
    
    // Rooms
    import {rm_mainMenu} from "./rooms/mainMenu";
    import {rm_game} from "./rooms/game";
    // import {rm_DEBUG_button} from "./rooms/debug_button";
    // import {rm_DEBUG_mouse} from "./rooms/debug_mouse";
    // import {rm_DEBUG_music} from "./rooms/debug_music";
    import {rm_DEBUG_INCURSION} from "./rooms/debug_incursion";
    import {rm_DEBUG_text} from "./rooms/debug_text";
    import {rm_DEBUG_stars} from "./rooms/debug_stars";
    import {rm_DEBUG_sprites} from "./rooms/debug_sprites";
    
    // Music
    // There is none
    
    // Parse query parameters
    const query = new URLSearchParams(window.location.search);
    window.query = query;
    
    // Init the engine and canvas
    const canvas = new Canvas(c);
    const engine = new Engine(canvas);
    const assets = engine.assetStore;
    const keyboard = new Keyboard();
    assets.addImage('font', font);
    
    const fontRenderer = new FontRenderer(assets.get`font`);
    window.fR = fontRenderer
    // const mouse = new Mouse(engine);
    // window.mouse = mouse;
    
    engine.debug = query.get`debug`;
    window.debug = engine.debug;
    
    canvas.width = 256;
    canvas.height = 240;
    
    canvas.setScale();
    canvas.ctx.imageSmoothingEnabled = false;
    
    const floor = Math.floor;
    const u = _=> {
        const w = innerWidth;
        const h = innerHeight;
        const wS = floor(w/256);
        const hS = floor(h/240);
        const s=Math.min(wS,hS);
        canvas.width = 256*s;
        canvas.height= 240*s;
        canvas.pixelRatio = s;
        canvas.setScale(canvas.scale);
        canvas.ctx.imageSmoothingEnabled = false;
    }
    u();addEventListener('resize', u, !0);
    
    engine.running = false; // Game uses this as a pause state actually