updated to TypeScript 5.2.

This commit is contained in:
Hendrik Brummermann 2023-09-03 00:02:12 +02:00
parent 20c3af19dd
commit 647b6f55be
5 changed files with 47 additions and 8 deletions

30
package-lock.json generated
View file

@ -1,13 +1,35 @@
{
"name": "stendhal",
"version": "1.0.0",
"lockfileVersion": 1,
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "stendhal",
"version": "1.0.0",
"license": "AGPL-3.0-or-later",
"dependencies": {
"typescript": "^5.1.0"
}
},
"node_modules/typescript": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
"integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
"node": ">=14.17"
}
}
},
"dependencies": {
"typescript": {
"version": "4.5.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.3.tgz",
"integrity": "sha512-eVYaEHALSt+s9LbvgEv4Ef+Tdq7hBiIZgii12xXJnukryt3pMgJf6aKhoCZ3FWQsu6sydEnkg11fYXLzhLBjeQ=="
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
"integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w=="
}
}
}

View file

@ -29,6 +29,6 @@
"homepage": "https://arianne-project.org",
"private": true,
"dependencies": {
"typescript": "^4.5.3"
"typescript": "^5.2.0"
}
}

View file

@ -0,0 +1,15 @@
/***************************************************************************
* (C) Copyright 2023-2023 - Stendhal *
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU Affero General Public License as *
* published by the Free Software Foundation; either version 3 of the *
* License, or (at your option) any later version. *
* *
***************************************************************************/
export interface ImageWithDimensions {
height: number;
width: number
}

View file

@ -21,6 +21,7 @@ import { EmojiSprite } from "../sprite/EmojiSprite";
import { SpeechBubble } from "../sprite/SpeechBubble";
import { TextSprite } from "../sprite/TextSprite";
import { SoundManager } from "../ui/SoundManager";
import { ImageWithDimensions } from "data/ImageWithDimensions";
declare var marauroa: any;
declare var stendhal: any;
@ -535,7 +536,7 @@ export class RPEntity extends ActiveEntity {
* @param {CanvasRenderingContext2D} ctx
* @param {Image} image
*/
drawSpriteImage(ctx: CanvasRenderingContext2D, image: CanvasImageSource) {
drawSpriteImage(ctx: CanvasRenderingContext2D, image: CanvasImageSource & ImageWithDimensions) {
var localX = this["_x"] * 32;
var localY = this["_y"] * 32;
if (image.height) { // image.complete is true on missing image files

View file

@ -10,6 +10,7 @@
* *
***************************************************************************/
import { ImageWithDimensions } from "data/ImageWithDimensions";
import { EmptySprite } from "./EmptySprite";
import { Sprite } from "./Sprite";
@ -24,7 +25,7 @@ import { Sprite } from "./Sprite";
export class ImageSprite implements Sprite {
/** The image to be drawn for this sprite. */
private image: CanvasImageSource;
private image: CanvasImageSource & ImageWithDimensions;
/**
* The identifier reference.
@ -39,7 +40,7 @@ export class ImageSprite implements Sprite {
* @param reference
* The sprite reference, or null.
*/
public constructor (image: CanvasImageSource | Sprite, reference?: object) {
public constructor (image: CanvasImageSource & ImageWithDimensions | Sprite, reference?: object) {
if (image instanceof Sprite) {
this.image = ImageSprite.createCompatibleImage(image);
} else {