Git Product home page Git Product logo

3dashutils's Introduction

3DashUtils

A utility mod for 3Dash

It adds a menu (toggled by pressing tab) which gives you access to a bunch of different utilities and fixes.

You can also hold left shift to edit keybinds.

We have a discord server! Check it out here: https://discord.gg/dSBMSe6CZC

Installation

There are 2 versions of 3DashUtils available, one for BepInEx and one for MelonLoader

⚠ The BepInEx install does not work on 3DashPlus. If you are using 3DashPlus use the MelonLoader version!

BepInEx

  1. Download BepInEx
  2. Extract the downloaded zip file on top of your game (the BepInEx folder should be in the same folder as 3Dash.exe)
  3. Download 3DashUtils-BepInEx
  4. Extract the downloaded zip file into the BepInEx directory. If it doesn't exist you may need to create it yourself. After everything is done your folder structure should have these files:
3Dash Windows v1.2.1
├── BepInEx/
│   └── plugins/
│       └── 3DashUtils/
│           ├── Resources
│           └── 3DashUtils.dll
├── doorstop_config.ini
├── 3Dash.exe
└── winhttp.dll

MelonLoader

  1. Install MelonLoader.
  2. Download 3DashUtils-MelonLoader
  3. Extract the downloaded zip file into the game directory. After everything is done your folder structure should have these files:
3Dash Windows v1.2.1
├── Mods/
│   └── 3DashUtils.dll
├── UserData/
│   └── 3DashUtils/
│       └── Resources/
│           ├── jumpscare.mp3
│           └── jumpscare.png
└── 3Dash.exe

Features

  • General
    • Key Binding system
    • Feature rich UtilityMenu with multiple windows
    • Remember settings such as "show path" and "volume"
    • Apply volume setting to main menu music
  • Editor
    • CameraBypass (Allows you to move the editor camera outside of the normal area)
    • MoreLevelSlots (Allows you to have infinite editor levels)
    • LevelImportExport (Allows you to export and import levels to JSON format)
    • ObjectLimitBypass (Removes the limit for placing objects)
  • Player
    • Speedhack
    • NoClip
    • FastDeath (Removes/shortens the death animation)
    • NoPauseSuicide (Prevents dying from pressing backspace while paused)
    • InstantComplete (Triggers winning the level while the module is on, can be used as verify hack)
    • CheckpointFix (Tries to fix practice mode inconsitencies)
    • PracticeMusic (Adds the normal music to practice mode)
    • KeepCheckpoints (Does not remove checkpoints when entering/exiting practice mode, useful when editing levels)
  • Visual
    • CheatIndicator (Displays a red dot whenever any cheats are enabled)
    • ForcePlayerCamera (Forces the camera to look at the player)
    • HidePauseMenu (Make the pause menu invisible and unclickable)
    • ShowHitbosex (Shows the hitboxes of hazards, the player and other objects)
    • HitboxesOnDeath (Shows hitboxes after you die)
    • NoObjectFade (Makes objects fade in instantly instead of slowly growing)
    • RenderFullLevel (Loads the whole level at the same time. Can be laggy)
  • Shortcuts (These allow you to quickly navigate to different menus of the game quickly)
    • Main Menu
    • Level Editor
    • Online Levels
    • Offline Levels
    • Online Level by ID
    • Quit Game
  • Replays (These are buggy sometimes, unfortunately)
    • Allows you to record and play replays.
    • Currently for best results it's recommended to enable CheckpointFix and TargetFPS with Lock Delta enabled
    • Also make sure VSync is disabled, as it can mess with the Lock Delta Option
  • Misc
    • Fullscreen (Allows you to disable fullscreen and change the window resolution)
    • Jumpscare (Randomly jumpscares you when you die)
    • TargetFPS (Allows you to set a target framerate for the game to run at)
    • VSync (Allows you to enable VSync which locks the game's framerate to your monitor's refresh rate)
Potentially outdated image of the mod menu.

pic of mod menu

Lore

3dash_lore.mp4

Building

Optional Unity Steps (required for modifying assets such as cube skins)

  1. Download unity hub and unity version 2021.3.5f1
  2. In unity open the "Builder" (located inside of assets root)
  3. Click the "ASSET BUILDER" object at the top of the hierarchy
  4. Click the "build bundle" button on the AssetBundleMaker component
  5. This will bundle everything inside the "BundleMe" folder and copy the resulting bundles into the Resources folder of the main project

Regular Instructions

  1. Add a valid GamePath to the Directory.Build.props file
  2. use dotnet cli or visual studio or whatever else u use to compile code

3dashutils's People

Contributors

art0007i avatar slashedcodes avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

mysticax0lotl

3dashutils's Issues

replay system progress

The replay system exists, but it has a few issues.

  • Desyncs on some frame perfect clicks (sometimes)
  • ship gameplay desyncs (i guess because it heavily depends on momentum)

I think both of these issues come from the fact that FixedUpdate is called a different amount of times to the non-fixed update.
Maybe moving replay logic to FixedUpdate instead will fix some of these issues?

Other solutions include patching FixedUpdate itself (or it's every call site) and patching Time.fixedDeltaTime (or it's every call site) and then manually update FixedUpdate. Doing this (or things similar to it) might allow us to actually fix the laggy ui during lockDelta

Update: just found out about Physics.autoSimulation which does something similar to what i wanted to do with patching...
will need to check that out later

UPDATE 2:
I don't think its fixedupdate i just did a test and it seems to consistently run 4 times between every normal update (with lockDelta ON)

maybe it's the replay reader or writer having an "off by one" error

Update3: ive been messing with values and it's never quite right. i'm starting to lose hope on click replays ever working how they actually should...
there is some hope though, as I did find UniTAS which does work somehow, but they also patch every single monobehaviour and handle delta time manually completely.

implement practice checkpoint fix

cube bug fix and add proper fucking buffering why is the easiest piece of code to not make hardcoded but they couldnt fuckin implement proper buffering on god

implement layer bypass

this would allow you to go past layer -4 and +4 on z axis in editor

the problem is that the FlatEditor class (which manages the layers) has a hardcoded cap of 4 in each direction and changing this would not be easy

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.