Skip to content

Commit

Permalink
Merge commit 'bb1217f2ccb7573e97d047513d09fbd542eac798'
Browse files Browse the repository at this point in the history
  • Loading branch information
CosmoMyzrailGorynych committed Nov 7, 2022
2 parents 641145e + bb1217f commit a7f5bc2
Show file tree
Hide file tree
Showing 998 changed files with 5,989 additions and 4,655 deletions.
4 changes: 1 addition & 3 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,7 @@ pack-deploy-release:
needs: ["lint", "build"]
script:
- gulp -f devSetup.gulpfile.js
- gulp packages --buildNum=$CI_COMMIT_TAG
- gulp deployItchOnly --buildNum=$CI_COMMIT_TAG
- gulp sendGithubDraft --buildNum=$CI_COMMIT_TAG
- gulp deploy --buildNum=$CI_COMMIT_TAG
only:
- tags
- master
Expand Down
60 changes: 60 additions & 0 deletions app/Changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,63 @@
## v3.1.0

*Mon Nov 07 2022*

### ✨ New Features

* Adds TypeScript support (#369 by @markmehere)
* Allow multiple projects open at once (#378 by @markmehere)
* `ct.res.groups` and `group` field in rooms and templates.
* Support for Apple Silicon builds (#368 by @markmehere)

### ⚡️ General Improvements

* Add context menu to the room editor to delete, copy, and paste items
* Better French translations (#371 by @rtauziac aka Crazyrems)
* Clean up gulpfile from unneeded packages and remove builds after zipping them
* Complete patrons tab, add a little shoutout to the starting screen
* `ct.capture`: add `portion` method (by Tho_mas), fix `object` method
* Define types for all the keys of IProject
* Do not minify HTML/CSS if not minifying JavaScript (#364 by @markmehere)
* Lossless image optimization for ct.js assets (#374 by @FlipFloop)
* Notepad now accepts free text (#376 by @markmehere)
* Tabbable copies and improved keyboard support in the room editor (#372 by @markmehere)
* Tooltip and alt-click for palette color removal (#375 by @markmehere)
* :globe_with_meridians: Add Turkish translation by Sarpmanon from our Discord server!
* :globe_with_meridians: Update Dutch translation, by GambleBranch
* :globe_with_meridians: Update Brazilian Portuguese translation (#384 by @leedigital)
* :globe_with_meridians: Update Chinese Simplified translations (#385 by @emaoshushu)
* :globe_with_meridians: Better French translation (#393 by @FlipFloop)
* :globe_with_meridians: Update Russian translation

### 🐛 Bug Fixes

* Add a missing name field to IStyle interface
* Apply changes in the properties panel when saving a room
* Delete typings on reset all (#373 by @markmehere)
* Examples on Mac should be clonable only (can't save inside the app itself)
* Fix a dumb typo in project-selector tag
* Fix a tiny typo at russian description of Frame End event
* Fix broken Pointer Enter, Pointer Leave events
* Fix custom property cloning link issue (#388 by @firecakes)
* Fix issues with timer events in the Catsteroids example
* Fixed bug of not showing texture and sound gallery when ctjs is run outside of your home directory (#386 by @leedigital)
* Names of content types should be marked as required
* Remove Wheel Scroll event — it was never supported by pixi.js v5.3.9. Use Actions and ct.pointer inputs instead.

### 📝 Docs

* :bento: Update vuepress to v2-beta-51
* :bug: Fix English headers in informative blocks on Russian locale
* :zap: Update several Russian pages

### 🌐 Website

* :pencil: Update changelog for v3.0.1

### 🌻 Misc

* :arrow_up: Upgrade to Monaco 0.34 (#377 by @markmehere)

## v3.0.1

*Mon Sep 12 2022*
Expand Down
Binary file modified app/ct_ide.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions app/data/boosters.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
cats:
- Dēmētrius ille
- GAKONS

businessCats:
- myOmochi Games

sponsors:
- Alexandr Chubutkin
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .../ct.libs/3d/projection/img/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .../ct.libs/3d/projection/img/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .../ct.libs/3d/projection/img/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .../ct.libs/3d/projection/img/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .../ct.libs/3d/projection/img/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified app/data/ct.libs/3d/projection/img/r6ab031e8b734.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified app/data/ct.libs/3d/projection/img/re2209288edd5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified app/data/ct.libs/3d/projection/img/splash.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified app/data/ct.libs/assert/AssertYield.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
27 changes: 23 additions & 4 deletions app/data/ct.libs/capture/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,17 @@
const downloadTexture = function (canvas, name) {
if (name) {
name = name.toString();
if (name.lastIndexOf('.png') !== name.screenshots.length - 4) {
if (!name.endsWith('.png')) {
name += '.png';
}
}
const a = document.createElement('a');
a.setAttribute('href', canvas.toDataURL('image/png'));
screenshots++;
a.setAttribute('download', name || `${ct.meta.name || 'Screenshot'}_${screenshots}.png`);
a.setAttribute(
'download',
name || `${ct.meta.name || 'Screenshot'}_${screenshots}.png`
);
a.style.display = 'none';
document.body.appendChild(a);
a.click();
Expand All @@ -23,12 +26,28 @@
height: ct.pixiApp.renderer.height
});
ct.pixiApp.renderer.render(ct.pixiApp.stage, renderTexture);
var canvas = ct.pixiApp.renderer.extract.canvas(renderTexture);
const canvas = ct.pixiApp.renderer.extract.canvas(renderTexture);
downloadTexture(canvas, name);
},
portion(x, y, width, height, name) {
const rec = new PIXI.Rectangle(x, y, width, height);
const renderTexture = PIXI.RenderTexture.create({
width: ct.pixiApp.renderer.width,
height: ct.pixiApp.renderer.height
});
ct.pixiApp.renderer.render(ct.pixiApp.stage, renderTexture);
renderTexture.frame = rec;
const canvas = ct.pixiApp.renderer.extract.canvas(renderTexture);
downloadTexture(canvas, name);
},
object(obj, name) {
var canvas = PIXI.Extract.canvas(obj);
const prevX = obj.x,
prevY = obj.y;
obj.x = obj.y = 0;
const canvas = ct.pixiApp.renderer.extract.canvas(obj, obj.getBounds());
downloadTexture(canvas, name);
obj.x = prevX;
obj.y = prevY;
}
};
})();
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified ...bs/gamepad/GamepadTest/img/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified ...bs/gamepad/GamepadTest/img/[email protected]
Binary file modified ...bs/gamepad/GamepadTest/img/[email protected]
Binary file modified ...bs/gamepad/GamepadTest/img/[email protected]
Binary file modified ...bs/gamepad/GamepadTest/img/[email protected]
Binary file modified ...bs/gamepad/GamepadTest/img/[email protected]
Binary file modified ...bs/gamepad/GamepadTest/img/[email protected]
Binary file modified ...bs/gamepad/GamepadTest/img/[email protected]
Binary file modified ...bs/gamepad/GamepadTest/img/[email protected]
Binary file modified ...bs/gamepad/GamepadTest/img/[email protected]
Binary file modified ...bs/gamepad/GamepadTest/img/[email protected]
Binary file modified ...bs/gamepad/GamepadTest/img/[email protected]
Binary file modified ...bs/gamepad/GamepadTest/img/[email protected]
Binary file modified ...bs/gamepad/GamepadTest/img/[email protected]
Binary file modified ...bs/gamepad/GamepadTest/img/[email protected]
Binary file modified ...bs/gamepad/GamepadTest/img/[email protected]
Binary file modified app/data/ct.libs/gamepad/GamepadTest/img/rc886c2450bb3.png
Binary file modified app/data/ct.libs/gamepad/GamepadTest/img/splash.png
Binary file modified ...nherit/InheritanceTest/img/[email protected]
Binary file modified ...nherit/InheritanceTest/img/[email protected]
Binary file modified ...nherit/InheritanceTest/img/[email protected]
Binary file modified app/data/ct.libs/inherit/InheritanceTest/img/r428ea16b4401.png
Binary file modified app/data/ct.libs/inherit/InheritanceTest/img/re8d64a493cce.png
Binary file modified app/data/ct.libs/inherit/InheritanceTest/img/splash.png
23 changes: 21 additions & 2 deletions app/data/ct.libs/place/module.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,38 +15,46 @@
"fields": [{
"name": "Partitioning",
"name_Ru": "Подразделение",
"name_Br": "Particionamento",
"type": "h2"
}, {
"name": "Grid size X",
"name_Ru": "Размер сетки по X",
"name_Br": "Tamanho da grade em X",
"help": "Tells ct.place how to spacially group copies. This should be at least as large as the horizontal side of the biggest colliding sprite of your game.",
"help_Ru": "Указывает, как ct.place должен делить копии по группам. Значение должно быть как минимум равно ширине самой большой копии с коллизией.",
"help_Br": "Define como o ct.place deve dividir as copies em grupos. O valor deve ser pelo menos igual à largura do maior sprite em colisão do seu jogo",
"key": "gridX",
"default": 512,
"type": "number"
}, {
"name": "Grid size Y",
"name_Ru": "Размер сетки по Y",
"name_Br": "Tamanho da grade em Y",
"help": "Tells ct.place how to spacially group copies. This should be at least as large as the vertical size of the biggest colliding sprite of your game.",
"help_Ru": "Указывает, как ct.place должен делить копии по группам. Значение должно быть как минимум равно высоте самой большой копии с коллизией.",
"help_Br": "Define como o ct.place deve dividir as copies em grupos. O valor deve ser pelo menos igual à altura do maior sprite em colisão do seu jogo",
"key": "gridY",
"default": 512,
"type": "number"
}, {
"name": "Debug mode",
"name_Ru": "Режим отладки",
"name_Br": "Modo de depuração",
"type": "h2"
}, {
"name": "Enable",
"name_Ru": "Включить",
"help": "Displays collision shapes, collision groups and partitions. It will also write additional keys to most colliding objects. Doesn't work on hidden objects.",
"help_Ru": "Показывает маски столкновений, группы коллизии и подразделение по сетке. Будет также добавлять дополнительные свойства большинству объектам с коллизией. Не работает на спрятанных объектах",
"help_Br": "Mostra as máscaras de colisão, grupos de colisão e partições. Ele também escreverá propriedades adicionais para muitos dos objetos colidindo. Não funciona em objetos ocultos",
"key": "debugMode",
"default": false,
"type": "checkbox"
}, {
"name": "Debug text size",
"name_Ru": "Размер текста в режиме отладки",
"name_Br": "Tamanho do texto de depuração",
"key": "debugText",
"default": 16,
"type": "number",
Expand All @@ -55,6 +63,7 @@
"templateExtends": [{
"name": "Collision group",
"name_Ru": "Группа столкновений",
"name_Br": "Grupo de colisão",
"type": "text",
"collect": true,
"collectScope": "place::cgroup",
Expand All @@ -63,6 +72,7 @@
"tileLayerExtends": [{
"name": "Collision group",
"name_Ru": "Группа столкновений",
"name_Br": "Grupo de colisão",
"type": "text",
"collect": true,
"collectScope": "place::cgroup",
Expand All @@ -72,15 +82,18 @@
"collisions": {
"name": "Collisions",
"name_Ru": "Столкновения",
"name_Br": "Colisões",
"icon": "copy"
}
},
"events": {
"collisionTemplate": {
"name": "Collision with a template",
"name_Ru": "Столкновение с шаблоном",
"name_Br": "Colisão com um template",
"parameterizedName": "Collides %%template%% template",
"parameterizedName_Ru": "Столкновение с шаблоном %%template%%",
"parameterizedName_Br": "Quando colidir com %%template%%",
"icon": "copy",
"useAssetThumbnail": true,
"applicable": ["template"],
Expand All @@ -89,6 +102,7 @@
"template": {
"name": "Template",
"name_Ru": "Шаблон",
"name_Br": "Template",
"type": "template"
}
},
Expand All @@ -98,22 +112,26 @@
"other": {
"type": "Copy",
"description": "What collides with your copy",
"description_Ru": "То, что столкнулось с копией"
"description_Ru": "То, что столкнулось с копией",
"description_Br": "O que colide com sua copy"
}
}
},
"collisionCGroup": {
"name": "Collision with a group",
"name_Ru": "Столкновение с группой",
"name_Br": "Colisão com um grupo",
"parameterizedName": "Collides %%group%% group",
"parameterizedName_Ru": "Столкновение с группой %%group%%",
"parameterizedName_Br": "Quando colidir com %%group%%",
"icon": "copy",
"applicable": ["template"],
"category": "collisions",
"arguments": {
"group": {
"name": "Group",
"name_Ru": "Группа",
"name_Br": "Grupo",
"type": "string"
}
},
Expand All @@ -123,7 +141,8 @@
"other": {
"type": "Copy | PIXI.Sprite",
"description": "What collides with your copy. PIXI.Sprite is a ct.js tile",
"description_Ru": "То, что столкнулось с копией. PIXI.Sprite — это плитка тайлсета"
"description_Ru": "То, что столкнулось с копией. PIXI.Sprite — это плитка тайлсета",
"description_Br": "O que colide com a sua copy. PIXI.Sprite é um tile do ct.js"
}
}
}
Expand Down
Binary file modified app/data/ct.libs/place/place.explanation.png
Binary file modified app/data/ct.libs/pointer/pointerTestSuite/img/splash.png
Binary file modified app/data/ct.libs/sprite/SlimeExample.png
Binary file modified app/data/ct.libs/sprite/SlimeExample_Blink.gif
Binary file modified app/data/ct.libs/sprite/SlimeExample_Result.gif
Binary file modified app/data/ct.libs/sprite/SlimeExample_Wiggle.gif
Binary file modified app/data/ct.libs/storage/StorageTest/img/r8c2faf5bd3bd.png
Binary file modified app/data/ct.libs/storage/StorageTest/img/r9fd8cb99e8fa.png
Binary file modified app/data/ct.libs/storage/StorageTest/img/splash.png
Binary file modified .../ct.libs/vkeys/example/img/[email protected]
Binary file modified .../ct.libs/vkeys/example/img/[email protected]
Binary file modified .../ct.libs/vkeys/example/img/[email protected]
Binary file modified .../ct.libs/vkeys/example/img/[email protected]
Binary file modified .../ct.libs/vkeys/example/img/[email protected]
Binary file modified .../ct.libs/vkeys/example/img/[email protected]
Binary file modified .../ct.libs/vkeys/example/img/[email protected]
Binary file modified .../ct.libs/vkeys/example/img/[email protected]
Binary file modified .../ct.libs/vkeys/example/img/[email protected]
Binary file modified app/data/ct.libs/vkeys/example/img/r327605a96468.png
Binary file modified app/data/ct.libs/vkeys/example/img/rd898171008c4.png
Binary file modified app/data/ct.libs/vkeys/example/img/splash.png
1 change: 1 addition & 0 deletions app/data/ct.release/res.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
sounds: {},
textures: {},
skeletons: {},
groups: [/*@groups@*/][0],
/**
* Loads and executes a script by its URL
* @param {string} url The URL of the script file, with its extension.
Expand Down
13 changes: 1 addition & 12 deletions app/data/cursorErase.svg
5 changes: 1 addition & 4 deletions app/data/cursorRotate.svg
Loading

0 comments on commit a7f5bc2

Please sign in to comment.