1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2025-12-11 09:11:50 +00:00
Commit Graph

38 Commits

Author SHA1 Message Date
Даниїл Григор'єв
06cfc3d29a
Remove unused G_HAVE_ASSERT define
Not used anywhere except exposing BUILD_OPTIONS for mods.
2025-06-14 04:55:15 +03:00
Даниїл Григор'єв
3a20244e38
Use @ exclusively for root imports
Remove "root" resolve alias and now-redundant jsx-runtime alias.
2024-07-21 01:38:08 +03:00
Даниїл Григор'єв
ee11931c9f
Resolve @/jsx-runtime in webpack
TypeScript compiler on its own will only inject this import, but not
resolve it. The bundler is supposed to resolve the import, so just do
that.
2024-07-11 12:52:03 +03:00
cody-ferguson
6662cb2694 Remove all references of "G_IS_STANDALONE" 2024-06-19 13:47:50 -05:00
Даниїл Григор'єв
d8f378d7e1
Redo ESLint and TypeScript compiler config
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
2024-04-27 00:23:34 +03:00
Даниїл Григор'єв
c2855d528d
Slight improvements for the build process (#19)
* 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.
2024-04-14 19:03:27 +03:00
Bagel03
81df743334
Add support for JSX
Allows usage of JSX across the codebase, JSX is turned into regular HTML elements.
2023-10-24 16:58:53 +03:00
Bagel03
1eb264716a Add ts support 2023-03-04 21:32:47 -06:00
EmeraldBlock
24ceb6664d ES modules and config refactor
- 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
2023-03-04 00:46:55 -06:00
Thomas (DJ1TJOO)
2dc7f963fe
Removed china, wegame, gog and demo (#3)
* Removed build and global variables for china, wegame
* Removed google analitycs
2023-03-04 02:44:19 +02:00
tobspr
400ee8e737 Support for GOG 2022-07-18 14:18:02 +02:00
tobspr
8a669f1a58 Fix undefined variable 2022-06-16 12:01:12 +02:00
tobspr
197adf8120 Fix babel options 2022-06-16 11:58:49 +02:00
tobspr
2e1271ecb7 Fix es5 builds 2022-06-16 11:28:37 +02:00
tobspr
3b4ae39caa Try out transpiled-only builds 2022-06-16 10:35:58 +02:00
tobspr
222ea8c261 Merge steam-demo branch 2022-06-06 14:06:09 +02:00
Bagel03
f534a88f80
Fix that whole export debacle (#1370)
* Re-add setting exports

* Update webpack.production.config.js

* Update mod.js

* Slight change

* Update mod.js

* Update webpack.production.config.js

* Update webpack.config.js
2022-02-13 21:09:41 +01:00
tobspr
aa8d105e14 Revert being able to override exports since it breaks in prod 2022-02-03 20:26:29 +01:00
Bagel03
10fb7ddb5c
Whoops shouldn't have forgotten that (#1367)
Yea, should not have forgotten that :P
2022-02-03 08:40:24 +01:00
tobspr
c41aaa1fc5
Mod Support - 1.5.0 Update (#1361)
* initial modloader draft

* modloader features

* Refactor mods to use signals

* Add support for modifying and registering new transltions

* Minor adjustments

* Support for string building ids for mods

* Initial support for adding new buildings

* Refactor how mods are loaded to resolve circular dependencies and prepare for future mod loading

* Lazy Load mods to make sure all dependencies are loaded

* Expose all exported members automatically to mods

* Fix duplicate exports

* Allow loading mods from standalone

* update changelog

* Fix mods folder incorrect path

* Fix modloading in standalone

* Fix sprites not getting replaced, update demo mod

* Load dev mod via raw loader

* Improve mod developing so mods are directly ready to be deployed, load mods from local file server

* Proper mods ui

* Allow mods to register game systems and draw stuff

* Change mods path

* Fix sprites not loading

* Minor adjustments, closes #1333

* Add support for loading atlases via mods

* Add support for loading mods from external sources in DEV

* Add confirmation when loading mods

* Fix circular dependency

* Minor Keybindings refactor, add support for keybindings to mods, add support for dialogs to mods

* Add some mod signals

* refactor game loading states

* Make shapez exports global

* Start to make mods safer

* Refactor file system electron event handling

* Properly isolate electron renderer process

* Update to latest electron

* Show errors when loading mods

* Update confirm dialgo

* Minor restructure, start to add mod examples

* Allow adding custom themesw

* Add more examples and allow defining custom item processor operations

* Add interface to register new buildings

* Fixed typescript type errors (#1335)

* Refactor building registry, make it easier for mods to add new buildings

* Allow overriding existing methods

* Add more examples and more features

* More mod examples

* Make mod loading simpler

* Add example how to add custom drawings

* Remove unused code

* Minor modloader adjustments

* Support for rotation variants in mods (was broken previously)

* Allow mods to replace builtin sub shapes

* Add helper methods to extend classes

* Fix menu bar on mac os

* Remember window state

* Add support for paste signals

* Add example how to add custom components and systems

* Support for mod settings

* Add example for adding a new item type

* Update class extensions

* Minor adjustments

* Fix typo

* Add notification blocks mod example

* Add small tutorial

* Update readme

* Add better instructions

* Update JSDoc for Replacing Methods (#1336)

* upgraded types for overriding methods

* updated comments

Co-authored-by: Edward Badel <you@example.com>

* Direction lock now indicates when there is a building inbetween

* Fix mod examples

* Fix linter error

* Game state register (#1341)

* Added a gamestate register helper

Added a gamestate register helper

* Update mod_interface.js

* export build options

* Fix runBeforeMethod and runAfterMethod

* Minor game system code cleanup

* Belt path drawing optimization

* Fix belt path optimization

* Belt drawing improvements, again

* Do not render belts in statics disabled view

* Allow external URL to load more than one mod (#1337)

* Allow external URL to load more than one mod

Instead of loading the text returned from the remote server, load a JSON object with a `mods` field, containing strings of all the mods. This lets us work on more than one mod at a time or without separate repos. This will break tooling such as `create-shapezio-mod` though.

* Update modloader.js

* Prettier fixes

* Added link to create-shapezio-mod npm page (#1339)

Added link to create-shapezio-mod npm page: https://www.npmjs.com/package/create-shapezio-mod

* allow command line switch to load more than one mod (#1342)

* Fixed class handle type (#1345)

* Fixed class handle type

* Fixed import game state

* Minor adjustments

* Refactor item acceptor to allow only single direction slots

* Allow specifying minimumGameVersion

* Add sandbox example

* Replaced concatenated strings with template literals (#1347)

* Mod improvements

* Make wired pins component optional on the storage

* Fix mod examples

* Bind `this` for method overriding JSDoc (#1352)

* fix entity debugger reaching HTML elements (#1353)

* Store mods in savegame and show warning when it differs

* Closes #1357

* Fix All Shapez Exports Being Const (#1358)

* Allowed setting of variables inside webpack modules

* remove console log

* Fix stringification of things inside of eval

Co-authored-by: Edward Badel <you@example.com>

* Fix building placer intersection warning

* Add example for storing data in the savegame

* Fix double painter bug (#1349)

* Add example on how to extend builtin buildings

* update readme

* Disable steam achievements when playing with mods

* Update translations

Co-authored-by: Thomas (DJ1TJOO) <44841260+DJ1TJOO@users.noreply.github.com>
Co-authored-by: Bagel03 <70449196+Bagel03@users.noreply.github.com>
Co-authored-by: Edward Badel <you@example.com>
Co-authored-by: Emerald Block <69981203+EmeraldBlock@users.noreply.github.com>
Co-authored-by: saile515 <63782477+saile515@users.noreply.github.com>
Co-authored-by: Sense101 <67970865+Sense101@users.noreply.github.com>
2022-02-01 16:35:49 +01:00
tobspr
b3d1204d9c Wegame version & DLC Translation in Chinese 2021-05-25 09:19:57 +02:00
tobspr
931c8a5821
Puzzle DLC (#1172)
* Puzzle mode (#1135)

* Add mode button to main menu

* [WIP] Add mode menu. Add factory-based gameMode creation

* Add savefile migration, serialize, deserialize

* Add hidden HUD elements, zone, and zoom, boundary constraints

* Clean up lint issues

* Add building, HUD exclusion, building exclusion, and refactor

- [WIP] Add ConstantProducer building that combines ConstantSignal
and ItemProducer functionality. Currently using temp assets.
- Add pre-placement check to the zone
- Use Rectangles for zone and boundary
- Simplify zone drawing
- Account for exclusion in savegame data
- [WIP] Add puzzle play and edit buttons in puzzle mode menu

* [WIP] Add building, component, and systems for producing and
accepting user-specified items and checking goal criteria

* Add ingame puzzle mode UI elements

- Add minimal menus in puzzle mode for back, next navigation
- Add lower menu for changing zone dimenensions

Co-authored-by: Greg Considine <gconsidine@users.noreply.github.com>

* Performance optimizations (#1154)

* 1.3.1 preparations

* Minor fixes, update translations

* Fix achievements not working

* Lots of belt optimizations, ~15% performance boost

* Puzzle mode, part 1

* Puzzle mode, part 2

* Fix missing import

* Puzzle mode, part 3

* Fix typo

* Puzzle mode, part 4

* Puzzle Mode fixes: Correct zone restrictions and more (#1155)

* Hide Puzzle Editor Controls in regular game mode, fix typo

* Disallow shrinking zone if there are buildings

* Fix multi-tile buildings for shrinking

* Puzzle mode, Refactor hud

* Puzzle mode

* Fixed typo in latest puzzle commit (#1156)

* Allow completing puzzles

* Puzzle mode, almost done

* Bump version to 1.4.0

* Fixes

* [puzzle] Prevent pipette cheats (miners, emitters) (#1158)

* Puzzle mode, almost done

* Allow clearing belts with 'B'

* Multiple users for the puzzle dlc

* Bump api key

* Minor adjustments

* Update

* Minor fixes

* Fix throughput

* Fix belts

* Minor puzzle adjustments

* New difficulty

* Minor puzzle improvements

* Fix belt path

* Update translations

* Added a button to return to the menu after a puzzle is completed (#1170)

* added another button to return to the menu

* improved menu return

* fixed continue button to not go back to menu

* [Puzzle] Added ability to lock buildings in the puzzle editor! (#1164)

* initial test

* tried to get it to work

* added icon

* added test exclusion

* reverted css

* completed flow for building locking

* added lock option

* finalized look and changed locked building to same sprite

* removed unused art

* added clearing every goal acceptor on lock to prevent creating impossible puzzles

* heavily improved validation and prevented autocompletion

* validation only checks every 100 ticks to improve performance

* validation only checks every 100 ticks to improve performance

* removed clearing goal acceptors as it isn't needed because of validation

* Add soundtrack, puzzle dlc fixes

Co-authored-by: Greg Considine <gconsidine@users.noreply.github.com>
Co-authored-by: dengr1065 <dengr1065@gmail.com>
Co-authored-by: Sense101 <67970865+Sense101@users.noreply.github.com>
2021-05-23 16:32:05 +02:00
Tobias Springer
1ee03d7398 Adjustments to support chinese versions 2021-03-09 10:07:19 +01:00
Bjorn Stromberg
997fabd52c
Remove more unused dependencies (#527)
* Remove more unused dependencies

* Remove gulp-jsbeautifier
2020-08-07 09:16:23 +02:00
tobspr
722c8ef836 Start to rework the graphics for the wires layer, make wires cooler than belts 2020-06-30 12:38:20 +02:00
tobspr
17123fd7b9 Further work on the energy generator 2020-06-28 11:44:30 +02:00
tobspr
2e266f5f21 Get rid of 'builtins' file since its useless and causes performance issues 2020-06-27 10:51:52 +02:00
tobspr
b3de1f9207 Re-enable analytics 2020-06-24 17:59:43 +02:00
tobspr
724ee92990 Do not minify names in beta 2020-06-13 11:56:42 +02:00
tobspr
a2ee16589f Switch to steam 2020-06-07 12:56:02 +02:00
tobspr
e0facaf788 Fix keys being stuck, show savegame levels in main menu 2020-05-28 14:53:11 +02:00
tobspr
3f9fee211e Double belt speed 2020-05-17 15:56:00 +02:00
tobspr
c1d720ca52 Add notifications when saving and new upgrades are available, minor improvements 2020-05-16 12:43:11 +02:00
tobspr
c3e0cb5a46 Remove source maps and adjust targets 2020-05-15 09:09:37 +02:00
tobspr
85951615a9 Fix tslint errors 2020-05-14 08:56:18 +02:00
Tobias Springer
effc9514bb Fix sourcemaps not being generated 2020-05-09 17:19:27 +02:00
Tobias Springer
669ee3e9b6 Provide source maps since the game is public now anyways 2020-05-09 17:14:07 +02:00
Tobias Springer
93c6ea683d Initial commit 2020-05-09 16:45:23 +02:00