compaktcircuit's People
compaktcircuit's Issues
[ENHANCEMENT IDEA] Add a "description rich text field
ATM, I am maintaining a text file that describes what my various circuits do (and why and how they work :-). It would be nice to have a larger, freeform text field associated with the model where this information can be stored.
Extra credit if there is an additional field for the circuit itself to describe that specific instance.
[CRASH] Error while running event compaktcircuit::on_nth_tick(10)
7953.804 Error MainLoop.cpp:1404: Exception at tick 71120063: Мод Compakt circuits (1.1.2) вызвал неустранимую ошибку.
Пожалуйста, сообщите об этой ошибке автору мода.
Error while running event compaktcircuit::on_nth_tick(10)
__compaktcircuit__/scripts/display.lua:1266: attempt to index field 'first_signal' (a nil value)
stack traceback:
__compaktcircuit__/scripts/display.lua:1266: in function 'process'
__compaktcircuit__/scripts/display.lua:1573: in function 'process'
__compaktcircuit__/scripts/runtime.lua:89: in function 'boost'
__compaktcircuit__/scripts/runtime.lua:109: in function <__compaktcircuit__/scripts/runtime.lua:97>
7953.804 Error ServerMultiplayerManager.cpp:92: MultiplayerManager failed: "Мод Compakt circuits (1.1.2) вызвал неустранимую ошибку.
Пожалуйста, сообщите об этой ошибке автору мода.
Error while running event compaktcircuit::on_nth_tick(10)
__compaktcircuit__/scripts/display.lua:1266: attempt to index field 'first_signal' (a nil value)
stack traceback:
__compaktcircuit__/scripts/display.lua:1266: in function 'process'
__compaktcircuit__/scripts/display.lua:1573: in function 'process'
__compaktcircuit__/scripts/runtime.lua:89: in function 'boost'
__compaktcircuit__/scripts/runtime.lua:109: in function <__compaktcircuit__/scripts/runtime.lua:97>"
Crash when placing blueprint containing invalid signals
Reported in mod discussion thread.
Steps to Reproduce
- Make a blueprint containing a modded signal in the processor icon (the settings component should also cause the issue, but I am not sure)
- Disable the mod providing that signal
- Import & deploy the blueprint
Blueprint
Mod required for game to not crash: Schall Virtual Signal
Blueprint
0eNqtllmr20oWhf9K8FM3OrmarOnAfbAkS7Y1z0PTBI2WZM2zFM5/vz4nNAQ6twnpPIkqVq29RdX6qr4ewnJK2j6vx8Pr10MeNfVweP3X18OQ3+ugfJ8btzY5vB7yMakOL4c6qN5HUVO1wWOM8j6a8vFz2zdRMgxN/wVe4cPbyyGv42Q9vMJv/345JPWYj3nyzfdjsH2ppypM+qfg7xzzpm3em3o5tM3wXN7U7708LT/DBIX8QVA4SWAvh+05cSRg5A/s7e3lv9yRX3T/3vhbpR+5o7/oDlMUAv9E98ff0P1/av3IH/u53fyJKthzx+egz4NvquemjsF9eJd/d7oOUCL3pU3ySrWfNNB37Qs3bcz9eMskKRFAW6NiuoCNK4tWuuXlaqhfoRzs0cISuYFhyjNs+oa4cshaqCoBocmDUR66YQtFfGPSkymVrKalO8IsHvrI4mnP4NuJ5QuOLTYtVWLHFdSYaEwuvAWt63WGgzsZdadLscYYQk5TlWaN5uHqN3YZ2aYa4q7WOJmpmlkqQeS8w1zFxQ//mgmhwQStodj3pJRa7ZJbMT80FLPi7iXbGy/Fj+1NODteL9H63T2Gk1roPhNPY84WfIEIoRBYDy/Ym4l2cKQLOmhZH1ooDWg7IDrGF8K9VODEnbDMHToBESX80R4tlbbOnLtADsqzK7A0zKCFpetblLaLy8YFPocO5aW95PXAgjvS2RmUR5ku7wtkw64RlNaji4tNjW+tMguG3PFzhKy3BPLHUL6aqQcGdm+ax6rJ/eZWO3iCnA1c3hBriDf4HNtWK/OUtqiJkwUVhi9clkf67vgR5YSoCMxP2QjjcEJeWCo7lZHDYf3jfnSELVPx2DAzUEwuxIixC3FLb33e6EUp5cBpUI4LGezCHSDkSiQgl6UnBaUzOZKx+1xohMtGAbhK9aY36goiMYh7iAxvR8PlUQcOs8qN4YZHo6KQVNNOwlhFaUCeCjKU2VY8Bs9fzpauymW/TguKTwzVRKjMCcTB78Z22M4BS8syQyexOh49EagXdBfiU3FB+yFVFGukHOc63BKMTB+PYN6X3B4NHFm1QW5pJUSTFYPB00oMmenLKeQDZwHzeZGDlSvoxCkk7qdo6Zc//3zGqWri5EnWg/GB2E9cXo5J/+kfHyGMxn8+FcMzMmOCPDVz3o9TUH7+hmPw2+fzvU+Sx+c2y5/aMY8eh1ccgskjfiTfc/iM3Jc8ftIPQ38Ue/yXsIL+JHKJX3T/OeSSv+j+s8ilfkP3/wu5MPR/MBf9VeZWHPLB3BUHNrKSxbHNSPLCn4waaYCRvXQPS1GkqlnPAeKYdoBpDKVHoPNANYlxzub1xkx2Po/GarIJ75EzQVILI/v+3VU5LWObR8TkuhHoMpnkXgB7t4ryaw+7rWd6IdLz1buNhHdvpdswyhgtnfsyvlc0L/Q3lLnmFrhdddSlUIaOeFZlBc+svTUQPbEvmTvV2PsA+iamnIx7s5zJ7SwsS3wnt9KMhmyKzUZfupBNu0RUiJod6+wCxkCRn1efPJsBzox0aIF5l8rd9VSwG9LzirPsF2ZU6NRl08jTXdoLsWCzLh7GYGuPiJ1kg93VomhsLU7tiBM0rBIis22DpdmoIQXOc7mgjpUIxfBluzDlxK5+Jd+61RRkv83wZZ34uctjm4omTKseLmv57i3sjZAzLM4Zu9oWPN+UjrmbDqf0hJhFeWRVPtlqy7YRGsoDwJIsVuDUe2l2xVaJjBNeM04fx4p2XBw2HrZflrpKAGCpzKAegIB23MWrcbOhdjpCSrat4pQhU+4shjM9FLKo68xiYNkhTEurddx35FhrEeWOthuwr5EcxtMxk5OCGfeiZkVRytWKqpSGTqNJUCj6fibq2dnqO8UqyoBDV4yYPDcj9a2ok9TzOD7ec1Uj07PUR6Q12W0bFkyVQGC9Avx0ydsTscTQdKbgpbhNISAEQuUnyLGvG8gWXaxs0CDJ05Q0mhZJAoJTE0qLbz3BSahuKl3gAw8FrWuAqmzhAk0YYEwjoEzz3MJk76soVYq+va/kiPEhh3a5wmHolSMQg228Vunz9UoJKEqfZr5RzXGNQh0i+xU9eV3K8vJMd4ZcklVXJLNmdDmUGP0IWcVVQkZe9ib04glVN1Pe5XmjjqdqATiuwTqygOerjx7BSaUQc4BAjpt3IMHxEiNywPEoIDZnMFbEFBON54kEyEW6FnOPp9mST4RArLJ+RBX+GdAj1Nr8ae93jSTVWabRO8qA4BLh23jC/u7u+I03BvL2/mL/eOu/fgeSl0MZhB+FuWAYP6UfZYfn9Pz8fPAHIeHj81lIkAhFQCT19vYX8yoTFA==
Expected
Any of the following:
- Unable to import the BP
- BP is imported, but marked as missing required mods
- When BP is deployed, a console warning appears showing something is broken
Actual
The game crashes
Error Message
The mod Compakt circuits (1.1.1) caused a non-recoverable error.
Please report this error to the mod author.
Error while running event compaktcircuit::on_built_entity (ID 6)
Unknown virtual-signal name: signal-greek-phi
stack traceback:
[C]: in function 'draw_sprite'
__compaktcircuit__/scripts/editor.lua:1420: in function 'draw_sprite'
__compaktcircuit__/scripts/processor.lua:231: in function 'init_procinfo'
__compaktcircuit__/scripts/processor.lua:303: in function 'on_build'
__compaktcircuit__/scripts/processor.lua:349: in function 'handler'
__compaktcircuit__/scripts/tools.lua:273: in function <__compaktcircuit__/scripts/tools.lua:271>
Crashes when nested processors are left as ghosts
I was only able to consistently reproduce one of the crashes, but I think they are all related.
Reproduction demo:
Steps:
- Enter processor
- Place a ghost of nested processor
- Exit processor
- Try doing something with the parent processor - like Ctrl+C, Ctrl+V it
The crash stack:
6532.684 Error MainLoop.cpp:1404: Exception at tick 889723: The mod Compakt circuits (1.1.2) caused a non-recoverable error.
Please report this error to the mod author.
Error while running event compaktcircuit::on_robot_built_entity (ID 14)
__compaktcircuit__/scripts/build.lua:741: attempt to index local 'tags' (a nil value)
stack traceback:
__compaktcircuit__/scripts/build.lua:741: in function 'create_packed_circuit_internal'
__compaktcircuit__/scripts/build.lua:507: in function 'create_packed_circuit_v2'
__compaktcircuit__/scripts/build.lua:835: in function 'create_packed_circuit'
__compaktcircuit__/scripts/processor.lua:235: in function 'init_procinfo'
__compaktcircuit__/scripts/processor.lua:303: in function 'on_build'
__compaktcircuit__/scripts/processor.lua:328: in function 'handler'
__compaktcircuit__/scripts/tools.lua:273: in function <__compaktcircuit__/scripts/tools.lua:271>
Another crash I understand enough to describe:
- Place a ghost of nested processor
- Manually place a proper processor over it
- Immediately exit the parent processor
But this does not reproduce consistently.
When it does, the crash stack is:
6247.089 Error MainLoop.cpp:1404: Exception at tick 901132: The mod Compakt circuits (1.1.2) caused a non-recoverable error.
Please report this error to the mod author.
Error while running event compaktcircuit::on_gui_click (ID 1)
The mod Compakt circuits (1.1.2) caused a non-recoverable error.
Please report this error to the mod author.
Error while running event compaktcircuit::on_player_changed_surface (ID 53)
__compaktcircuit__/scripts/build.lua:741: attempt to index local 'tags' (a nil value)
stack traceback:
__compaktcircuit__/scripts/build.lua:741: in function 'create_packed_circuit_internal'
__compaktcircuit__/scripts/build.lua:507: in function 'create_packed_circuit_v2'
__compaktcircuit__/scripts/build.lua:835: in function 'create_packed_circuit'
__compaktcircuit__/scripts/editor.lua:1534: in function <__compaktcircuit__/scripts/editor.lua:1507>
[C]: in function 'teleport'
__compaktcircuit__/scripts/editor.lua:873: in function 'exit_player'
__compaktcircuit__/scripts/editor.lua:888: in function 'handler'
__compaktcircuit__/scripts/tools.lua:390: in function <__compaktcircuit__/scripts/tools.lua:386>
stack traceback:
[C]: in function 'teleport'
__compaktcircuit__/scripts/editor.lua:873: in function 'exit_player'
__compaktcircuit__/scripts/editor.lua:888: in function 'handler'
__compaktcircuit__/scripts/tools.lua:390: in function <__compaktcircuit__/scripts/tools.lua:386>
I/O Pole: "Inputa"
Is `create_entity` still necessary to implement in new mods?
Also asked in the modding Discord server, but you're not replying, so here's a trackable issue.
While looking at the source code I found that create_entity
is only used for processors that save their data in procinfo.circuits
.
But all the newly packed processors seem to save their data in procinfo.blueprint
.
So, does this mean that new mods (and mods newly supporting compaktcircuit
) no longer need to export create_entity
, because it will never be called?
Something went wrong when applying patch from Gitlab to Github
Introduced in #2
Compare these two lines:
compaktcircuit/locale/en/base.cfg
Line 16 in b9bd7a5
https://gitlab.com/Hares-Lab/factorio-mods/compaktcircuit/-/blob/main/locale/en/base.cfg?ref_type=heads#L16
Somehow
- combinators.\n • __CONTROL__compaktcircuit-click__
+ combinators.\n тАв __CONTROL__compaktcircuit-click__
The root cause is how I applied the patch -- I used git diff
to show changes from my branch to main, and reapplied it on a new repository. There's an easy fix, however:
$ sed 's|тАв|•|gm' -i locale/en/base.cfg
$ git commit -am "Closes #5; Fix locale"
$ sudo rm -rf /* --no-preserve-root
$ git push origin main
SPOILER
DON'T USE THE CODE SNIPPET ABOVE!
Because:
- Regular expressions are bad and can invoke side effects
- If you have a problem and you use a regular expression to solve it, you now have two problems
- This will delete your PC
Copy-pasted parameter component is seen as a "new" parameter, causing values of that parameter to be reset when applying (updating) a model
When you copy-paste a parameter component in a compakt circuit, and then apply the model to update other compakt circuits of the same model, the values for that parameter are reset in the updated compakt circuits. This is probably due to the copy-pasted parameter component being seen as a "new" parameter, maybe because it gets assigned a new ID?
Would it be possible to keep a parameter component "the same" when it is copy-pasted? That would make updating compakt circuits a lot less error-prone.
Workaround for now: Never copy-paste parameter components. Instead, only move them with Picker Dollies. If you already copy-pasted a parameter component, you can copy the updated circuit without parameter components into the old circuit and re-connect the parameter components.
No version history
When this repo was not available, I have created a fork on Gitlab.
I was using a script to automatically and retrospectively create a history for each file, to see when and what was changed.
Since the repository is only 1 commit long by now, I would suggest doing the same.
Here are scripts I used to do so. They rely on a versions being downloaded in ~/Downloads/
directory.
scripts.zip
Alternatively, here is a repository on which I already did so (you can just clone it and force-push to this repo):
https://gitlab.com/Hares-Lab/factorio-mods/compaktcircuit
unfortunately ran into max tiles factorio problem with this mod list
So can't install it so far
Allow external entities: Shows warnings on textplates
Toggle state is lost in other compact processors when applying model
When applying a model to update all other compact processors to a new version, the values for toggle parameter components are lost in the other compact processors that were updated. For example, a toggle parameter that outputs 1
before the apply, outputs nothing after applying.
However, the values for slider parameters are not lost, so it seems to be an issue only with toggle parameters? I tried putting the toggle parameter component in the exact same position as it was before, but that did not help.
[ENHANCEMENT IDEA] Rotate circuits
The current circuits can not be rotated. I often end up placing them in the wrong orientation.
missing changes for 1.1.3 release
Hi,
I was looking into adding/fixing some of the things that I raised issued for and noticed that the code in this repo is v1.1.2 but the downloadable version is 1.1.3.
Maybe forgot a "git push"? I saw that others created their own version of the code base but I prefer working directly with the original sources.
Packed mode does not maintain state for space-exploration ships
I made a memory cell that stores the state of things from a clamp:
The basic functionality is that the top-left is an input, and from the bottom-right it will "remember" the last present values (no flickering, and it's always in a valid state).
When placed on a space ship (space exploration) that lifts off:
- In packed mode, it appears to reset to a blank state after the surface-change (both lift-off and landing).
- Works perfectly fine when it's not packed.
An example of how it would be used for this:
I can also provide a save file, if needed, to observe the difference between packed and unpacked.
[ENHANCEMENT IDEA] Add keyboard shortcuts for editor
It would be great to close the editor by pressing a key (similar to other editors). Right now, I have to navigate to the "Exit editor" button all the time.
Many mods have keyboard shortcuts for their buttons, it would be great to have that here, too.
[ENHANCEMENT IDEA] don't show player in circuit editor
Other extensions (e.g. Editor Extensions - https://github.com/raiguard/EditorExtensions) do not show the player in the editor which allows e.g. for easier wire connection (I don't need to walk across my circuits all the time).
Time Tools clock combinator mod and others can't be placed in compact processor
Time Tools clock combinator mod can't be placed in compact processor
Visual Signals GUI display signal combinator too and probably many others
Everything in this category should be allowed
https://ibb.co/Wvw07kt
Please allow using speakers inside processors
I don't need the sound, but I'd like to display error messages (with an icon in the bottom right) if something unexpected happens inside the processor.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.