Giter VIP home page Giter VIP logo

compaktcircuit's People

Contributors

telkine2018 avatar

Stargazers

Henning Schmiedehausen avatar Jacob Birkett avatar Peter Zaitcev / [USSX] Hares avatar

Watchers

 avatar

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

  1. Make a blueprint containing a modded signal in the processor icon (the settings component should also cause the issue, but I am not sure)
  2. Disable the mod providing that signal
  3. Import & deploy the blueprint

Blueprint

Mod required for game to not crash: Schall Virtual Signal

Blueprint
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

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:

  1. Enter processor
  2. Place a ghost of nested processor
  3. Exit processor
  4. 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:

  1. Place a ghost of nested processor
  2. Manually place a proper processor over it
  3. 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"

image
I have no idea how this got through. I've looked through the code multiple times to see where this A came from.

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-processor=A processor device with a computing power of dozens of internal basic combinators.\n тАв __CONTROL__compaktcircuit-click__ to edit.\n тАв __CONTROL__compaktcircuit-control-click__ to open settings.

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:

  1. Regular expressions are bad and can invoke side effects
  2. If you have a problem and you use a regular expression to solve it, you now have two problems
  3. 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

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.

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:
Notated memory cell

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:
image

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.