Code Monkey home page Code Monkey logo

squeak-through's Introduction

Squeak Through 1.8.2
====================

Version 1.8.2 was released February 21, 2021, and was tested using Factorio v1.1.25.
It primarily features code by Nommy, with contribution from Lupin and Foxite, and is maintained by Supercheese, who is grateful for strong community support.

This small mod reduces the collision boxes for many structures, allowing you to "squeak through" them while walking around your base.
Say goodbye to the frustration of having your path blocked by your steam engines or solar panels when walking around your base!

You can toggle the collision box shrinking for each type of entity using the in-game mod settings. Altering these settings will require you to restart the game.


Note to modders:
----------------
Squeak Through will look for the entity prototype value "squeak_behaviour", which if set to false will mean the entity is excluded from having its bounding box adjusted. Simply adding:

    squeak_behaviour = false

in the relevant entity prototype should suffice.


See also the associated forum thread: http://www.factorioforums.com/forum/viewtopic.php?f=91&t=16476

squeak-through's People

Contributors

foxite avatar greg2010 avatar nickkeane avatar suprcheese avatar voidus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

squeak-through's Issues

ST messing with entities in other mods which already have perfectly passable collision boxes

Hi,

I've had to give up my leisure time to tweak one of my mods to undo unwanted changes created by your mod. The entity in question was a 2x2 lamp which already had an extremely generous collision box which was perfectly possible to walk around. Your mod reduced the collision box so much that the lamps could be placed in a way that made them overlap. This was completely unintended and unwanted behaviour and it was me that had to field the complaints and undo the damage. I shouldn't have to add conditional code to my mods to safeguard them against unwanted interference by third parties. Nor should I have to maintain an exception list for every mod I make and pressure you to include it in your code.

Squeak Through should stop messing with entities from other mods, period. Confine it to vanilla entities where the properties are well known. Other modders are perfectly capable of designing their own collision boxes how they want them.

I will be marking ST as "incompatible" in any future mod I publish until this issue is resolved.

Appearance of trees/forests on the map changes during chunk updates

I have encountered an unpleasant problem. For example, when I cut down a tree,
it seems that the map is updated for this chunk. Afterwards the forest looks much thinner than before, probably the map also uses the hitboxes to calculate its representation. This unfortunately leads to very unsightly artifacts everywhere on the map where I was active.

Actually not a big problem, but it's a thorn in my eye, since I deliberately play on a densely forested map for visual reasons.

Fortunately the effect can be reversed and I can fix the optics in the places where it really bothers me.

At this point a thank you for your super mod!

Before:
before

After:
after

Proposed fix for compatibility issues

Squeak Through should look for a property named "squeak_behaviour" (or some other name) on modded entities. The property will allow mod authors to stop ST from causing problems with their entities.
The property is a boolean where true tells ST to enable squeaking for this entity, and false tells it to ignore the entity.
If the property does not exist, then the user will decide what to do with it, by changing a setting. Possible values for this setting:

  • Opt-in: entities that do not specify squeak_behaviour will not be affected
  • Opt-out: entities that do not specify squeak_behaviour will be affected
  • Force: all entities will be affected, regardless of squeak_behaviour. The user should be warned not to report bugs when using this, as it effectively disables this whole system. I'm proposing this option for users who do not experience problems from the current state of ST, so that they won't have to change their muscle-memory.

I recommend that the default value for the user setting should be Opt-out, as it does not change the status quo for mods that don't utilize this.

I'm willing to implement this, but I'll have to find the time to do so, and I can't tell when I can get started. I have implemented this feature, see PR below.

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.