work on dungeon demo
|
@ -81,6 +81,12 @@ function main(){
|
||||||
returnType: "void",
|
returnType: "void",
|
||||||
params: [{type: "Shader *",name:"shader"},{type:"int",name:"shaderConstant"},{type:"int",name:"location"}]
|
params: [{type: "Shader *",name:"shader"},{type:"int",name:"shaderConstant"},{type:"int",name:"location"}]
|
||||||
})
|
})
|
||||||
|
api.functions.push({
|
||||||
|
name: "ImageReadPixel",
|
||||||
|
description: "Read a single pixel from an image",
|
||||||
|
returnType: "Color",
|
||||||
|
params: [{type: "Image *",name:"image"},{type:"int",name:"x"},{type:"int",name:"y"}]
|
||||||
|
})
|
||||||
|
|
||||||
// Define a new header
|
// Define a new header
|
||||||
const core = new RayLibHeader("raylib_core")
|
const core = new RayLibHeader("raylib_core")
|
||||||
|
@ -541,8 +547,8 @@ function main(){
|
||||||
ignore("Vector3ToFloatV")
|
ignore("Vector3ToFloatV")
|
||||||
ignore("MatrixToFloatV")
|
ignore("MatrixToFloatV")
|
||||||
ignore("QuaternionToAxisAngle")
|
ignore("QuaternionToAxisAngle")
|
||||||
core.exportGlobalConstant("DEG2RAD", "(PI/180.0)")
|
core.exportGlobalDouble("DEG2RAD", "(PI/180.0)")
|
||||||
core.exportGlobalConstant("RAD2DEG", "(180.0/PI)")
|
core.exportGlobalDouble("RAD2DEG", "(180.0/PI)")
|
||||||
|
|
||||||
const setOutParam = (fun: RayLibFunction, index: number) => {
|
const setOutParam = (fun: RayLibFunction, index: number) => {
|
||||||
const param = fun!.params![index]
|
const param = fun!.params![index]
|
||||||
|
@ -632,8 +638,8 @@ function main(){
|
||||||
core.exportGlobalStruct("Color", x.name, x.values, x.description)
|
core.exportGlobalStruct("Color", x.name, x.values, x.description)
|
||||||
})
|
})
|
||||||
api.enums.forEach(x => core.addEnum(x))
|
api.enums.forEach(x => core.addEnum(x))
|
||||||
core.exportGlobalConstant("MATERIAL_MAP_DIFFUSE", "Albedo material (same as: MATERIAL_MAP_DIFFUSE")
|
core.exportGlobalInt("MATERIAL_MAP_DIFFUSE", "Albedo material (same as: MATERIAL_MAP_DIFFUSE")
|
||||||
core.exportGlobalConstant("MATERIAL_MAP_SPECULAR", "Metalness material (same as: MATERIAL_MAP_SPECULAR)")
|
core.exportGlobalInt("MATERIAL_MAP_SPECULAR", "Metalness material (same as: MATERIAL_MAP_SPECULAR)")
|
||||||
core.writeTo("src/bindings/js_raylib_core.h")
|
core.writeTo("src/bindings/js_raylib_core.h")
|
||||||
core.typings.writeTo("examples/lib.raylib.d.ts")
|
core.typings.writeTo("examples/lib.raylib.d.ts")
|
||||||
const ignored = api.functions.filter(x => x.binding?.ignore).length
|
const ignored = api.functions.filter(x => x.binding?.ignore).length
|
||||||
|
|
|
@ -65,7 +65,7 @@ export class RayLibHeader extends QuickJsHeader {
|
||||||
|
|
||||||
addEnum(renum: RayLibEnum){
|
addEnum(renum: RayLibEnum){
|
||||||
console.log("Binding enum "+ renum.name)
|
console.log("Binding enum "+ renum.name)
|
||||||
renum.values.forEach(x => this.exportGlobalConstant(x.name, x.description))
|
renum.values.forEach(x => this.exportGlobalInt(x.name, x.description))
|
||||||
}
|
}
|
||||||
|
|
||||||
addApiStruct(struct: RayLibStruct){
|
addApiStruct(struct: RayLibStruct){
|
||||||
|
@ -118,9 +118,15 @@ export class RayLibHeader extends QuickJsHeader {
|
||||||
this.typings.constants.tsDeclareConstant(exportName, structName, description)
|
this.typings.constants.tsDeclareConstant(exportName, structName, description)
|
||||||
}
|
}
|
||||||
|
|
||||||
exportGlobalConstant(name: string, description: string){
|
exportGlobalInt(name: string, description: string){
|
||||||
this.moduleInit.statement(`JS_SetModuleExport(ctx, m, "${name}", JS_NewInt32(ctx, ${name}))`)
|
this.moduleInit.statement(`JS_SetModuleExport(ctx, m, "${name}", JS_NewInt32(ctx, ${name}))`)
|
||||||
this.moduleEntry.statement(`JS_AddModuleExport(ctx, m, "${name}")`)
|
this.moduleEntry.statement(`JS_AddModuleExport(ctx, m, "${name}")`)
|
||||||
this.typings.constants.tsDeclareConstant(name, "number", description)
|
this.typings.constants.tsDeclareConstant(name, "number", description)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exportGlobalDouble(name: string, description: string){
|
||||||
|
this.moduleInit.statement(`JS_SetModuleExport(ctx, m, "${name}", JS_NewFloat64(ctx, ${name}))`)
|
||||||
|
this.moduleEntry.statement(`JS_AddModuleExport(ctx, m, "${name}")`)
|
||||||
|
this.typings.constants.tsDeclareConstant(name, "number", description)
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -1620,6 +1620,8 @@ declare function easeElasticIn(t: number, b: number, c: number, d: number): numb
|
||||||
declare function setModelMaterial(model: Model, materialIndex: number, material: Material): void;
|
declare function setModelMaterial(model: Model, materialIndex: number, material: Material): void;
|
||||||
/** Set shader constant in shader locations array */
|
/** Set shader constant in shader locations array */
|
||||||
declare function setShaderLocation(shader: Shader, shaderConstant: number, location: number): void;
|
declare function setShaderLocation(shader: Shader, shaderConstant: number, location: number): void;
|
||||||
|
/** Read a single pixel from an image */
|
||||||
|
declare function imageReadPixel(image: Image, x: number, y: number): Color;
|
||||||
/** (PI/180.0) */
|
/** (PI/180.0) */
|
||||||
declare var DEG2RAD: number;
|
declare var DEG2RAD: number;
|
||||||
/** (180.0/PI) */
|
/** (180.0/PI) */
|
||||||
|
|
|
@ -29,7 +29,7 @@ let image = loadImage("resources/cubicmap.png"); // Load cubicmap image (RA
|
||||||
let cubicmap = loadTextureFromImage(image); // Convert image to texture to display (VRAM)
|
let cubicmap = loadTextureFromImage(image); // Convert image to texture to display (VRAM)
|
||||||
|
|
||||||
const mesh = genMeshCubicmap(image, new Vector3(1.0, 1.0, 1.0));
|
const mesh = genMeshCubicmap(image, new Vector3(1.0, 1.0, 1.0));
|
||||||
const model = loadModelFromMesh(mesh);
|
const floor = loadModelFromMesh(mesh);
|
||||||
|
|
||||||
// NOTE: By default each cube is mapped to one part of texture atlas
|
// NOTE: By default each cube is mapped to one part of texture atlas
|
||||||
let texture = loadTexture("resources/cubicmap_atlas.png"); // Load map texture
|
let texture = loadTexture("resources/cubicmap_atlas.png"); // Load map texture
|
||||||
|
@ -37,7 +37,7 @@ let texture = loadTexture("resources/cubicmap_atlas.png"); // Load map textur
|
||||||
//model.materials[0].maps[MATERIAL_MAP_DIFFUSE].texture = texture; // Set map diffuse texture
|
//model.materials[0].maps[MATERIAL_MAP_DIFFUSE].texture = texture; // Set map diffuse texture
|
||||||
const mat = loadMaterialDefault()
|
const mat = loadMaterialDefault()
|
||||||
setMaterialTexture(mat, MATERIAL_MAP_DIFFUSE, texture)
|
setMaterialTexture(mat, MATERIAL_MAP_DIFFUSE, texture)
|
||||||
setModelMaterial(model,0,mat)
|
setModelMaterial(floor,0,mat)
|
||||||
|
|
||||||
const mapPosition = new Vector3(-16.0, 0.0, -8.0); // Set model position
|
const mapPosition = new Vector3(-16.0, 0.0, -8.0); // Set model position
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ while (!windowShouldClose()) // Detect window close button or ESC key
|
||||||
|
|
||||||
beginMode3D(camera);
|
beginMode3D(camera);
|
||||||
|
|
||||||
drawModel(model, mapPosition, 1.0, WHITE);
|
drawModel(floor, mapPosition, 1.0, WHITE);
|
||||||
|
|
||||||
endMode3D();
|
endMode3D();
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ while (!windowShouldClose()) // Detect window close button or ESC key
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
||||||
unloadTexture(cubicmap);
|
unloadTexture(cubicmap);
|
||||||
unloadTexture(texture);
|
unloadTexture(texture);
|
||||||
unloadModel(model);
|
unloadModel(floor);
|
||||||
|
|
||||||
closeWindow(); // Close window and OpenGL context
|
closeWindow(); // Close window and OpenGL context
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -31,7 +31,7 @@ const texture = loadTexture("resources/cubicmap_atlas.png"); // Load map text
|
||||||
//model.materials[0].maps[MATERIAL_MAP_DIFFUSE].texture = texture; // Set map diffuse texture
|
//model.materials[0].maps[MATERIAL_MAP_DIFFUSE].texture = texture; // Set map diffuse texture
|
||||||
const mat = loadMaterialDefault()
|
const mat = loadMaterialDefault()
|
||||||
setMaterialTexture(mat, MATERIAL_MAP_DIFFUSE, texture)
|
setMaterialTexture(mat, MATERIAL_MAP_DIFFUSE, texture)
|
||||||
setModelMaterial(model,0,mat)
|
setModelMaterial(floor,0,mat)
|
||||||
|
|
||||||
// Get map image data to be used for collision detection
|
// Get map image data to be used for collision detection
|
||||||
const mapPixels = new Uint8Array(loadImageColors(imMap));
|
const mapPixels = new Uint8Array(loadImageColors(imMap));
|
||||||
|
@ -93,7 +93,7 @@ while (!windowShouldClose()) // Detect window close button or ESC key
|
||||||
clearBackground(RAYWHITE);
|
clearBackground(RAYWHITE);
|
||||||
|
|
||||||
beginMode3D(camera);
|
beginMode3D(camera);
|
||||||
drawModel(model, mapPosition, 1.0, WHITE); // Draw maze map
|
drawModel(floor, mapPosition, 1.0, WHITE); // Draw maze map
|
||||||
endMode3D();
|
endMode3D();
|
||||||
|
|
||||||
drawTextureEx(cubicmap, new Vector2(getScreenWidth() - cubicmap.width*4.0 - 20, 20.0), 0.0, 4.0, WHITE);
|
drawTextureEx(cubicmap, new Vector2(getScreenWidth() - cubicmap.width*4.0 - 20, 20.0), 0.0, 4.0, WHITE);
|
||||||
|
@ -112,7 +112,7 @@ while (!windowShouldClose()) // Detect window close button or ESC key
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
||||||
unloadTexture(cubicmap); // Unload cubicmap texture
|
unloadTexture(cubicmap); // Unload cubicmap texture
|
||||||
unloadTexture(texture); // Unload map texture
|
unloadTexture(texture); // Unload map texture
|
||||||
unloadModel(model); // Unload map model
|
unloadModel(floor); // Unload map model
|
||||||
|
|
||||||
closeWindow(); // Close window and OpenGL context
|
closeWindow(); // Close window and OpenGL context
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
|
@ -56,7 +56,7 @@ setShaderValue(shader, ambientLoc, new Vector4(0.1, 0.1, 0.1, 1.0), SHADER_UNIFO
|
||||||
// Assign out lighting shader to model
|
// Assign out lighting shader to model
|
||||||
const matModel = loadMaterialDefault()
|
const matModel = loadMaterialDefault()
|
||||||
matModel.shader = shader
|
matModel.shader = shader
|
||||||
setModelMaterial(model, 0, matModel)
|
setModelMaterial(floor, 0, matModel)
|
||||||
const matCube = loadMaterialDefault()
|
const matCube = loadMaterialDefault()
|
||||||
matCube.shader = shader
|
matCube.shader = shader
|
||||||
setModelMaterial(cube, 0, matCube)
|
setModelMaterial(cube, 0, matCube)
|
||||||
|
@ -99,7 +99,7 @@ while (!windowShouldClose()) // Detect window close button or ESC key
|
||||||
clearBackground(RAYWHITE);
|
clearBackground(RAYWHITE);
|
||||||
beginMode3D(camera);
|
beginMode3D(camera);
|
||||||
|
|
||||||
drawModel(model, vector3Zero(), 1.0, WHITE);
|
drawModel(floor, vector3Zero(), 1.0, WHITE);
|
||||||
drawModel(cube, vector3Zero(), 1.0, WHITE);
|
drawModel(cube, vector3Zero(), 1.0, WHITE);
|
||||||
|
|
||||||
// Draw spheres to show where the lights are
|
// Draw spheres to show where the lights are
|
||||||
|
@ -123,7 +123,7 @@ while (!windowShouldClose()) // Detect window close button or ESC key
|
||||||
|
|
||||||
// De-Initialization
|
// De-Initialization
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
||||||
unloadModel(model); // Unload the model
|
unloadModel(floor); // Unload the model
|
||||||
unloadModel(cube); // Unload the model
|
unloadModel(cube); // Unload the model
|
||||||
unloadShader(shader); // Unload shader
|
unloadShader(shader); // Unload shader
|
||||||
|
|
||||||
|
|
|
@ -68,7 +68,7 @@ setShaderValue(shader, ambientLoc, new Vector4(0.1, 0.1, 0.1, 1.0), SHADER_UNIFO
|
||||||
// Assign out lighting shader to model
|
// Assign out lighting shader to model
|
||||||
const matModel = loadMaterialDefault()
|
const matModel = loadMaterialDefault()
|
||||||
matModel.shader = shader
|
matModel.shader = shader
|
||||||
setModelMaterial(model, 0, matModel)
|
setModelMaterial(floor, 0, matModel)
|
||||||
setMaterialTexture(matModel, MATERIAL_MAP_DIFFUSE, texture)
|
setMaterialTexture(matModel, MATERIAL_MAP_DIFFUSE, texture)
|
||||||
const matCube = loadMaterialDefault()
|
const matCube = loadMaterialDefault()
|
||||||
matCube.shader = shader
|
matCube.shader = shader
|
||||||
|
@ -107,7 +107,7 @@ while (!windowShouldClose()) // Detect window close button or ESC key
|
||||||
clearBackground(RAYWHITE);
|
clearBackground(RAYWHITE);
|
||||||
beginMode3D(camera);
|
beginMode3D(camera);
|
||||||
|
|
||||||
drawModel(model, vector3Zero(), 1.0, WHITE);
|
drawModel(floor, vector3Zero(), 1.0, WHITE);
|
||||||
drawModel(cube, new Vector3(0,1,0), 1.0, WHITE);
|
drawModel(cube, new Vector3(0,1,0), 1.0, WHITE);
|
||||||
|
|
||||||
if (light.enabled) drawSphereEx(light.position, 0.2, 8, 8, light.color);
|
if (light.enabled) drawSphereEx(light.position, 0.2, 8, 8, light.color);
|
||||||
|
@ -128,7 +128,7 @@ while (!windowShouldClose()) // Detect window close button or ESC key
|
||||||
|
|
||||||
// De-Initialization
|
// De-Initialization
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
||||||
unloadModel(model); // Unload the model
|
unloadModel(floor); // Unload the model
|
||||||
unloadModel(cube); // Unload the model
|
unloadModel(cube); // Unload the model
|
||||||
unloadShader(shader); // Unload shader
|
unloadShader(shader); // Unload shader
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
node_modules/
|
||||||
|
main.js
|
||||||
|
editor.js
|
|
@ -0,0 +1,25 @@
|
||||||
|
{
|
||||||
|
"name": "bindings",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1",
|
||||||
|
"build": "webpack --config webpack.config.js",
|
||||||
|
"watch": "webpack --watch --config webpack.config.js --mode development"
|
||||||
|
},
|
||||||
|
"keywords": [],
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"devDependencies": {
|
||||||
|
"ts-loader": "^9.4.2",
|
||||||
|
"ts-node": "^10.9.1",
|
||||||
|
"typescript": "^5.0.4",
|
||||||
|
"webpack": "^5.82.0",
|
||||||
|
"webpack-cli": "^5.0.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"inkjs": "^2.2.1",
|
||||||
|
"reflect-metadata": "^0.1.13",
|
||||||
|
"rxjs": "^7.8.1"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,69 @@
|
||||||
|
# Changelog
|
||||||
|
|
||||||
|
## v9 (5th October, 2022)
|
||||||
|
|
||||||
|
- Added a small version of the limestone bricks, to match the red brick version.
|
||||||
|
- Added more small brick textures (red and limestone) with vines and grass.
|
||||||
|
- Added an archway cut-out version of the hedge texture.
|
||||||
|
- Added 3 dirt textures: one bare, one with stones, and one with a puddle.
|
||||||
|
- Added 3 sand textures: small pebbles, larger stones, and footsteps!
|
||||||
|
- Adjusted the colors of the grass texture.
|
||||||
|
|
||||||
|
## v8 (31st August, 2022)
|
||||||
|
|
||||||
|
- Updated the brick textures, increasing the spread of the bullet holes.
|
||||||
|
- Added 2 large sandstone brick textures.
|
||||||
|
- Added 2 steps textures to match the sandstone and red bricks.
|
||||||
|
- Renamed the existing step texture to ledge.
|
||||||
|
- Added 2 chain-link fence textures.
|
||||||
|
- Added 6 stucco textures, 3 of which have exposed red bricks.
|
||||||
|
- Added 3 hedge textures: sparse and dense variants, and a flowering variant.
|
||||||
|
- Added a grass texture.
|
||||||
|
- Adjusted the color of the BSOD terminal.
|
||||||
|
|
||||||
|
## v7 (26th August, 2022)
|
||||||
|
|
||||||
|
- Added 4 new brick textures, in 2 variants: large bricks and small bricks.
|
||||||
|
|
||||||
|
## v6 (8th July, 2022)
|
||||||
|
|
||||||
|
- Added 6 grid textures, with transparent versions.
|
||||||
|
- Added a brown slime textures.
|
||||||
|
- Added 6 new concrete textures, in two color variants.
|
||||||
|
- Added 2 new floor variants for both the tech lab and toxic lab themes.
|
||||||
|
- Added 2 new tech lab wall textures with air vents.
|
||||||
|
- The various support pillar textures have been split up into separate textures, rather then four compressed into each 64x64 texture.
|
||||||
|
- All of the textures have been lightened slightly.
|
||||||
|
|
||||||
|
## v5 (5th July, 2022)
|
||||||
|
|
||||||
|
- Added 30 new textures in a toxic waste lab theme: floors, ceiling lights, wall panels, support pillars and lights, doors, pipes, and slime.
|
||||||
|
- Added 6 new tech lab door textures for vertically opening doors.
|
||||||
|
- Added 6 new door trim textures.
|
||||||
|
|
||||||
|
## v4 (25th June, 2022)
|
||||||
|
|
||||||
|
- Added 4 computer panel textures, including one with a bullet hole, and one with the iconic BSOD!!!
|
||||||
|
- Added 6 door textures, in three trim variants: metal, yellow and red; with and without damage.
|
||||||
|
- Added versions of crates without pickup truck holes.
|
||||||
|
- Recolored the dark crate versions and gave them a unique design.
|
||||||
|
- Added crate tops for 64x64, 32x32, and 16x16.
|
||||||
|
- Added simplified pipes texture.
|
||||||
|
- Added 7 new tech walls, with no panel edges, ideal for making long corridors feel less repetitive.
|
||||||
|
|
||||||
|
## v3 (23rd June, 2022)
|
||||||
|
|
||||||
|
- Added 19 new stone tile ground textures, in three different variants: stone, mossy, and sandstone. For each variant there are two different layout patterns (square block and parquet), with various amounts of damage. The mossy version also has grass tuffs and water pools.
|
||||||
|
- Added 4 new crate textures, in smaller sizes: 32x16 and 16x16.
|
||||||
|
- Added 2 new rivets textures, for vertical strips of riveted metal, such as around doorways.
|
||||||
|
- Updated some of the crate textures to add in more details.
|
||||||
|
- Tweaked the lighting of most of the tech wall textures to soften them slightly.
|
||||||
|
- Improved the overview file, with labels to make it easier to find textures.
|
||||||
|
|
||||||
|
## v2 (21st June, 2022)
|
||||||
|
|
||||||
|
- Added 10 new textures, consisting of 5 different crates, in two color variants, in three different sizes: 64x64, 64x32, and 32x32.
|
||||||
|
|
||||||
|
## v1 (28th October, 2021)
|
||||||
|
|
||||||
|
- An initial collection of 58 textures, mostly tech facility themed.
|
|
@ -0,0 +1,20 @@
|
||||||
|
Retro Texture Pack
|
||||||
|
|
||||||
|
Created/distributed by Craig Smith (little-martian.dev)
|
||||||
|
Creation date: 05-10-2022
|
||||||
|
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
License: (Creative Commons Zero, CC0)
|
||||||
|
http://creativecommons.org/publicdomain/zero/1.0/
|
||||||
|
|
||||||
|
This content is free to use in personal, educational and commercial projects.
|
||||||
|
|
||||||
|
Support us by crediting Little Martian or little-martian.dev (this is not mandatory)
|
||||||
|
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
Donate: https://little-martian.itch.io/
|
||||||
|
|
||||||
|
Follow on Twitter for updates:
|
||||||
|
https://twitter.com/MartiansGame
|
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 905 B |
After Width: | Height: | Size: 874 B |
After Width: | Height: | Size: 928 B |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1022 B |
After Width: | Height: | Size: 778 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 892 B |
After Width: | Height: | Size: 913 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 767 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 671 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 2.2 KiB |