Giter VIP home page Giter VIP logo

resonite-mods's Introduction

Resonite-Mods

Discord Latest release AGPL-3 Lines of code

This repository contains some of my mods for Resonite using MonkeyLoader.

Note that the license is AGPL, meaning you might be obligated to provide the source code (with any modifications you've made) for these mods if someone asks you when you're using them. This is meant to stop people from creating private malicious clients. I may choose to change the license in the future to a more permissive one.

Warning

No warranty is provided for these mods, and they're provided as-is. Please have a look at the source code & build from source for maximal safety. I also recommend mirroring this git repository if you want to make sure you always have access to the source code.

Mod list

If you want the feature enough to get the mod for it, you should probably also go give a thumbs up on the issue tracker if there is one.

Screenmode Tweaks

Small tweaks to make screen (desktop) mode less miserable.

Current options include:

  • Changing vSync
  • Setting max focused FPS
  • Setting max unfocused FPS

Latest Log

Creates a symbolic link in the Resonite folder named Latest.log to the latest log file that was created on launch.

So you can keep following the file (with tail -F Latest.log on linux for example) without needing to constantly change the filename and such.

Linux Fixes

Fixes the most annoying bugs that I come accross whilst playing Resonite on linux.

Currently implements:

  • Centers mouse on context menu open
  • Fixes being able to rotate the grabbed object
  • Reverses the reverse mouse scroll direction.

Privacy Shield

A few attempts at improving privacy slightly.

The main feature is making all requests (excluding local:// and resdb://) require you granting permission to it, instead of just logix ones. It uses the same domain allowlist/blocklist as the normal logix requests. So no more tracking pixels!

The other semi-sensible feature is spoofing the local timezone. It's disabled by default, and any changes will require a restart.

Also includes a slightly questionable feature, FPS spoofing. Questionable as it might also just break some things, doesn't really protect you, and can be summarized as:

Your scientists were so preoccupied with whether or not they could, they didn't stop to think if they should.

The FPS spoofing allows sensible values (so pick like between 30-60), and disables with anything else (so -1 for example). It doesn't spoof anything other than the Local User's FPS (so dT or the PerformanceMetrics component will leak your real FPS). But it does at least currently provide some privacy from some session user manager type of UIs. I'd kindly ask you to not to try to work around this if you're making tools, at least if your tool isn't opt-in. Since I think that this is a somewhat decent way to opt-out of FPS tracking.

For developers

Getting started

Since YellowDogManStudios has said to not distribute the reference packages, building the mods becomes a pain in the ass. Please go voice your concern on their issue tracker (#456) to make this shit less painful. It really should just be dotnet build and it works because everything is public, but nooooo.

You need to get the reference packages for the game, for example with the ReferencePackageGenerator After that, add them to a feed dotnet nuget add source --username lj --password ghp_ --store-password-in-clear-text --name ResoniteModdingGroup https://nuget.pkg.github.com/ResoniteModdingGroup/index.json style, though of course replacing this with a local fs feed for example

Building

Ensure that the required DLL's (listed in the Directory.build.props file and in the individual .csproj files) can be found from standard installation paths (check Directory.build.props). Then use the dotnet build command to build. A few examples include running dotnet build ScreenmodeTweaks/ScreenmodeTweaks.csproj to build ScreenmodeTweaks in development mode or dotnet build -c Release Resonite-Mods.csproj to build all the mods in release mode.

Alternatively you can try to open the folder in Visual Studio, but I cannot provide help for using that. If you do want to improve the situation, do feel free to contribute!

Contacting & contributing

Contact me on the FrooxEngine Modding discord server, elsewhere, and/or possibly send me git patches if you've already written any code that you'd like to get merged.

Also if anyone from the Resonite team is reading this, do feel free to get in touch!

resonite-mods's People

Contributors

eia485 avatar ljoonal avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

eia485

resonite-mods's Issues

LinuxFixes suggestion: Fix the (move|scroll)-on-button-(down|up) bug

Upstream issue: Neos-Metaverse/NeosPublic#2930

Firstly, thank you so much for fixing the broken rotation and the backwards scroll wheel.

The problem I've mentioned in the linked issue has been a pain for the past... however many months now? It's fixed in more recent releases of the Unity Input library, and if I recall correctly, the backwards scroll wheel is also fixed in more recent releases.

In short, Neos repeats the previous mouse motion OR scroll wheel event whenever a mouse button is pressed or released.

More detail is provided in the upstream issue.

I'm not sure how much work this involves, but I would love to see this bug fixed.

(Side note before anyone asks: I am not able to use Discord. But I can be found in-game as GreaseMonkey.)

LatestLog mod upstream issue

Couldn't find one that perfectly matches the issue (quickly opening the latest log), closest one found was Neos-Metaverse/NeosPublic#2634

Not really an issue with the base game in itself but more with just scripting in general, so unless other people would want to have a single log file too, not worth opening a new issue about.

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.