Skip to content

Conversation

ninja-spotted
Copy link

Small revision of the translation and corrections

ozgurozbek and others added 13 commits December 2, 2022 03:07
translated all remaining English parts
fix typos
better convey meaning in some sentences
* Removed build and global variables for china, wegame
* Removed google analitycs
- switches to ES modules in gulp and src
- uses dengr's webpack configs and package.json, with modifications
- removes gulp/package.json
- removes babel stuff
- removes gulp-load-plugins, instead importing gulp plugins manually
- removes unused and trivial packages
- upgrades packages
- uses path/posix, for gulp
- removes __dirname in favor of relative urls
Allows usage of JSX across the codebase, JSX is turned into regular HTML elements.
* Remove deprecated TSLint config

* Remove jsconfig.json

jsconfig.json is an alternative name for tsconfig.json that has allowJs
set to true. Since the directory already contains a tsconfig.json file,
this file does nothing.

* Remove Gitpod configuration

Gitpod is not as useful in CE because we're focusing on standalone.
Also, the configuration was added just to promote the service and there
are other similar services which may be preferred by the user.

* Remove Travis CI configuration

Travis CI is not used in shapez anymore in favor of GitHub Actions. In
addition to that, CI setup for the community edition will be done once
the codebase is in a better condition.

* Remove CONTRIBUTORS and CONTRIBUTING.md

The contributors file is out of date and unneeded as GitHub now shows
all collaborators anyway - however it could be still used in the future
to show a list of contributors in the game. CONTRIBUTING.md contains the
text of CLA, which is not enforced in this repository.

* Replace VSC workspaces with regular settings files

VSCode workspaces don't provide much benefit in a source tree like
shapez. This commit also adds EditorConfig and ESLint VSCode extensions
to the recommended extensions list.

* Remove CI workflow for building the game

It hasn't been updated in a while and we don't need it for now. Once the
codebase is in a more managable state, a new workflow will be added.

* Remove some unused resources

There are still many resources left, but they will be removed along with
the relevant code later.
This fixes cssnano being unable to load the preset "advanced", after
the dependency for that was removed in commit 24ceb66.
Small revision of the translation and corrections
@CLAassistant
Copy link

CLAassistant commented Nov 15, 2023

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
2 out of 5 committers have signed the CLA.

✅ dengr1065
✅ ninja-spotted
❌ TcePrepK
❌ EmeraldBlock
❌ codeman4033
You have signed the CLA already but the status is still pending? Let us recheck it.

Bagel03 and others added 16 commits November 17, 2023 16:02
* Update Signal

* Update modal_dialogs

* Inputs

* Update factories

* Update tracked state

* Changed let to const where possible

* Add HUD typings

* improvements to typings

* fix exports not being exposed to mods

* fix signal typings

* remove TypedSignal

* fix all reported type errors

---------

Co-authored-by: Thomas B <[email protected]>
Co-authored-by: EmeraldBlock <[email protected]>
* Added information about community edition

* Update README.md

* README rewrite

---------

Co-authored-by: EmeraldBlock <[email protected]>
Restriction manager is completely removed as it's only useful for demo
version. Lots of other demo-related things are left, such as ad support
or extended telemetry. This should be cleaned up later.
* Unify the version source

Changes the development config to use version from package.json and
makes the production config use the same utility function. Also removes
the version file as it's no longer needed.

* Remove some Steam references from build process

Removes files needed to publish the game on Steam and related tasks that
can be only used by the developer anyway. Only the build process is
affected, the actual game part still supports Steam integration.

* Refactor/add packaging tasks

Adds new Gulp tasks to create a distributable package of the game. A
task for macOS is not provided because signing needs to be figured out
first. Package creation tasks are also aliased in package.json for
future usage in external tools or CI. Aside from that, alternative
methods of downloading the libGDX Texture Packer are dropped.
The gulpfile is in a subdirectory and the scripts need to take that into
account. While there's already one such script, I forgot to add the
arguments in the new ones.
…s#21)

* Remove ad support, analytics and Wegame leftovers

The game may be somewhat broken in a few places, but it doesn't matter
for now. This is still not the end.

* Remove Steam SSO and demo stuff

Steam SSO is completely removed, a few things from demo like simplified
level sets are gone as well. Puzzle DLC on the other hand is now always
"owned" and will ask for a token to log in.

Removes

* Use shapez dialogs for Puzzle DLC token input

Yes, this sucks *a lot*. But it's a temporary measure, trust me :P

* Simplify HTML tasks

Removes the web (demo) index.html page and makes HTML tasks independent
of the build variant. This might not be the best solution, but it works
for now.
…r-games#22)

* Update Electron dependencies

This will break some mods and a few things were deprecated, but the
Electron wrapper will be replaced anyway.

* Add macOS and arm64 packaging tasks

As @chunkybanana has tested the general approach to building shapez on
macOS, I can now add these tasks. Aside from that, now there are tasks
to build for the 64-bit ARM variant of each system and a task that
builds packages for all platforms and architectures at once. A bug where
localConfig wasn't created when building for the first time was also
fixed.
Cache busting is not required in standalone context.
commit 1763437
Author: EmeraldBlock <[email protected]>
Date:   Fri Dec 8 23:03:51 2023 -0600

    update readme

commit 8c1c3a0
Author: EmeraldBlock <[email protected]>
Date:   Fri Dec 8 23:00:05 2023 -0600

    fix bugs

commit ea881e6
Author: EmeraldBlock <[email protected]>
Date:   Fri Dec 8 22:46:46 2023 -0600

    expose all tasks with old api

commit fa6d7a3
Author: EmeraldBlock <[email protected]>
Date:   Fri Dec 8 21:51:20 2023 -0600

    switch to exported gulp tasks

commit 348b19a
Author: EmeraldBlock <[email protected]>
Date:   Mon Nov 20 22:55:38 2023 -0600

    parallelize dev build

commit 56de73e
Author: EmeraldBlock <[email protected]>
Date:   Mon Nov 20 20:44:10 2023 -0600

    use promises in gulpfile

commit 6ab5437
Author: EmeraldBlock <[email protected]>
Date:   Mon Nov 20 20:33:36 2023 -0600

    make java -version print again

commit b0e4cf5
Author: EmeraldBlock <[email protected]>
Date:   Mon Nov 20 20:14:13 2023 -0600

    use promises for gulp tasks
Refactor gulp setup; switch from webpack watch to gulp.watch exclusively
Many configuration files in this repository were created a long time
ago, then were modified as problems occurred. Now that there is
TypeScript support, it makes sense to clean up this mess, at least by
making small steps. This configuration is based on strict settings, but
most of these are currently disabled - otherwise it would be too hard to
work with existing JavaScript code. The downside of this change is
pollution of files with warnings and errors, even though they are valid.

- ESLint/TypeScript upgraded
- TS configuration is now shared between arbitrary Node scripts, Gulp
  files and the Electron wrapper
- A few eslint-disable comments are removed
dengr1065 and others added 29 commits June 14, 2025 22:11
Change most, but not all usages. This is mostly to please the linter,
but Object.hasOwn is also slightly shorter, especially when compared to
the proper form, Object.prototype.hasOwnProperty...
Don't set the non-existent "opaque", "webkitOpaque" and "mozOpaque"
properties on a canvas. Keep using { alpha: false } when initializing
the context, which is the correct way.
Remove chokidar built-in event debouncing/aggregating and replace it
with a basic custom implementation with a 250ms settle delay.
Not a performance improvement, just something that needed to be done.
Slightly simplifies the structure and removes useless functions
(changing the seed resets the RNG anyway - it is better to create a new
instance instead).
* Fix tsconfig scopes affecting html.js

Since it's quite hard to use a DOM library type there, remove the type
entirely.

* Remove environment variables check

Nothing is using them anymore. It can be added back if needed later.

* Refactor Texture Packer downloading

Refactor local-config.js tasks file into a generic "environment"
category consisting of checking if Java is installed, downloading the
runnable Texture Packer if it's not yet downloaded and copying the local
configuration template; update README accordingly.

* Prepare environment only at postinstall

Remove environment.prepare task from default build pipelines, add a
postinstall script that calls the task, using environment.js as the
gulpfile to speed it up.

* Remove "docs" tasks and types generation script

Remove tasks from docs.js as they are unlikely to do anything meaningful
nowadays. Also remove the buildTypes script as it doesn't work anymore.
A better solution will be provided in the future.

* Simplify some globs

Use additional gulp.src options instead of specifying more or complex
globs.

* Extract built-temp location to a variable

Add the src/js/built-temp directory as a new variable in config.js,
replace all existing references to built-temp with this variable.
Remove the behavior of automatically opening developer tools when
launched with --dev command line switch. As --hide-devtools switch is
now unused, remove it as well.
Remove the canvas context loss handling as it was incorrect, simplify
the error conditions in makeOffscreenBuffer and remove commented out
code.
These files do not describe existing JS types and instead define their
own. Usage of .d.ts extension prevents these types from being emitted
when using emitDeclarationOnly, which affects generation of typings for
mod development.
Remove the check of URL beginning with data:image. This is an old API,
so leave other quirks as-is.
Remove globalConfig properties that are not used anywhere, simplify
mobile device detection (mostly unused for normal builds) and merge or
inline config constants where it makes sense.
Unlikely to be used and can be replicated with mods in a much better
way.
Remove lastCanvas/lastContext cache for reusing canvas as creating a new
canvas does not cause performance issue. Additionaly, remove smoothing
classes and buffer registration as they are not used anywhere. Finally,
remove redundant stageDestroyed calls in the InGameState.
Remove some unused classes, mixins and variables, then inline ones that
have just a few usages. Also remove a few redundant properties and
replace align-items: center + justify-items: center with place-items:
center.
Replace --ui-scale inline style on the <html> element with font-size set
to UI scale * 10px and modify SCSS D(...) mixin to use the rem unit
instead of multiplying by var(--ui-scale). This makes it possible to get
rid of mixin hell and makes following UI scale in external stylesheets
(mods) much easier.
Replace all instances of D() and S() mixins with rem units. Also,
replace deprecated slash division with math.div as suggested by
dart-sass. Finally, remove the mixins as they are no longer used.
shapez used to have a nice error handler, but later it was removed. To
help debug game in both development and release cases, add a simple
error handler/screen that displays the error stack trace, lists the
installed mods and shows some build information. It also allows copying
this information to the system clipboard.

Having such an error screen should make mod development easier once the
local mod error handling is removed.
Remove try/catch wrappers that just log and/or rethrow the error, use
the cause chain for rethrows with descriptions. Remove inner try/catch
for mod loading to make errors more obvious.
Update some webpack dependencies and remove unused ones. Replace
worker-loader with built-in worker loading functionality and remove
default/implied options from the webpack configuration files.
* Handle directories in mod protocol handler
Previously we would return an error about a file not existing, which kinda makes sense, considering a directory isn't a file.
Now with this commit, if the url resolve to a directory, it will return a json array with the relative paths of the file in that directory.

* Make directory index work with ASAR archives

Also fix directory index having higher priority than normal requests and
simplify URL handling.

---------

Co-authored-by: Даниїл Григор'єв <[email protected]>
Update electron package from 31.3.0 to 37.2.3, with Chromium 138 and
Node.js 22.17. Also follow the electron-packager -> @electron/packager
rename and upgrade the package.
Remove functions in logging.js that are no longer used. As this action
makes the circular-json npm package unused, drop it as well.
Remove old Logger class and replace it with a new implementation that
keeps the location of the log calls (for display in devtools). Remove
internals of the old implementation and their one external usage.
Remove PostCSS plugins that are no longer needed, fix some styles and
partially remove the need to use a .keybinding class on kbd elements.
Move KEYCODES and related functions to a separate file. No further
refactoring is done yet.
Add a cleanup override for HUDSettingsMenu that detaches its input
receiver in case it is attached (i.e. when using the menu buttons to
open settings or return to main menu).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.