GithubHelp home page GithubHelp logo

trombloader's People

Contributors

clydejallorina avatar deadlykitten avatar electrostats avatar emmett-shark avatar guarde avatar guardevoir avatar hedgehog1029 avatar kamoh avatar legoandmars avatar nyxtheshield avatar ragesaq avatar wwrs 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  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  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

trombloader's Issues

Variable BPM support

More recent updates of Trombone Champ have added songs with variable beats per minute. The game does seem to have some sort of special behaviour for these tracks, where it hides the beat bars after a specific point in the track, although I'm unsure of if there's anything else going on in regards to how the data is actually stored/read, so actual functionality for custom charts may be limited.

At the very least, being able to hide the beat bars would be better than no variable BPM support at all.

A few suggestions for Unity/Trombackgrounds:

Just a few things that I thought useful when I created custom charts.
I have no idea how viable some of these are but ill write them down anyway.

A couple suggestions for new events:

  • Champ meter on
  • Champ meter off
  • Trombone On Event (could pass pitch, triggers once)
  • Trombone Held Event (could pass pitch, triggers every frame/timestep while note is held)
  • Trombone Off Event (could pass pitch, triggers once)
  • Note precision events for Nasty/Meh/Ok/Nice/Perfecto
  • Score Updated Event (Passes score)
  • Lyric event (for animating faces)
  • Have the NoteStart() and NoteEnd() events pass a pitch (or maybe a duration)
    Edit:
  • Cursor Position Updated (Track the position of the dot, rather than the mouse to accommodate for AutoToot; Passes Vector2)

Other nice things:

  • A simple 2-part If-This-Then-That logic script.
    • Has a function that can be used in triggers to pass values to the script
      (e.g.: if combo == 10 -> fire event)
  • A function to fade the Gameplay UI in or out, rather than having to slap a render texture over it
  • A function (or prefab) to translate the mouse position to a rotation with the set boundaries
    • Useful to tilt a character's head or body up/down without a needlessly complex setup of parent constraints and look-at constraints
  • A way to apply the projects lighting settings (skybox, fog, skylight...) to the project. maybe via a "UseCustomLighting" gameobject, similar to AddShadows and RemoveDefaultLights (I would love to be able to use fog!)
  • A way to test TromboneEvents within unity (like NoteStart, NoteEnd, etc....)

Notes:

  • The OnBeat()-event, actually fires every bar instead of every beat. Fixing it would probably break some backgrounds though

Black Screen Issue (Windows)

Currently have BepInEx v5.4.21
Downloaded v1.4.2 of Trombloader (latest version on github as of right now)

Songs load in the menu but when clicked on they do not load and the game gets stuck in a black screen.

Have not been able to find a solution, I have tried every version of trombloader I can find, but the others just straight up break the game.

BepInEx is correctly installed and I have a custom songs folder with custom songs in it.

Game freezes when you go back to character select with duplicate songs

I don't think this is an actual issue anyone else will have, but the game freezes if you have 49 charts with the same short and long name. Only happens if you return to the character select from the tracklist, then go back to the tracklist and try to play a song, otherwise everything plays normally.

Failed to patch void Gamecontroller

my custom charts dont show up here is my log file

[Message: BepInEx] BepInEx 5.4.21.0 - TromboneChamp (18.11.2022 22:08:40)
[Info : BepInEx] Running under Unity v2019.3.11.13561645
[Info : BepInEx] CLR runtime version: 4.0.30319.17020
[Info : BepInEx] Supports SRE: False
[Info : BepInEx] System platform: Bits64, Windows
[Message: BepInEx] Preloader started
[Info : BepInEx] Loaded 1 patcher method from [BepInEx.Preloader 5.4.21.0]
[Info : BepInEx] 1 patcher plugin loaded
[Info : BepInEx] Patching [UnityEngine.CoreModule] with [BepInEx.Chainloader]
[Message: BepInEx] Preloader finished
[Message: BepInEx] Chainloader ready
[Message: BepInEx] Chainloader started
[Info : BepInEx] 1 plugins to load
[Info : BepInEx] Loading [TrombLoader 1.4.2]
[Info :TrombLoader] Plugin TrombLoader is loaded!
[Error : HarmonyX] Failed to patch void GameController::tryToLoadLevel(string filename): System.Exception: Parameter "customtrack" not found in method void GameController::tryToLoadLevel(string filename)
at HarmonyLib.Public.Patching.HarmonyManipulator.EmitCallParameter (System.Reflection.MethodInfo patch, System.Boolean allowFirsParamPassthrough, Mono.Cecil.Cil.VariableDefinition& tmpObjectVar, System.Collections.Generic.List`1[HarmonyLib.Public.Patching.HarmonyManipulator+ArgumentBoxInfo]& tmpBoxVars) [0x007ae] in <474744d65d8e460fa08cd5fd82b5d65f>:0
at HarmonyLib.Public.Patching.HarmonyManipulator.WritePrefixes (HarmonyLib.Internal.Util.ILEmitter+Label returnLabel) [0x00179] in <474744d65d8e460fa08cd5fd82b5d65f>:0
at HarmonyLib.Public.Patching.HarmonyManipulator.WriteImpl () [0x0022c] in <474744d65d8e460fa08cd5fd82b5d65f>:0
[Message: BepInEx] Chainloader startup complete

No CustomSongs file

here is my LogOutput[Message: BepInEx] BepInEx 5.4.21.0 - trombonechamp (30/10/2023 17:12:41)
[Info : BepInEx] Running under Unity v2019.4.40.16762411
[Info : BepInEx] CLR runtime version: 4.0.30319.17020
[Info : BepInEx] Supports SRE: False
[Info : BepInEx] System platform: Bits64, Windows
[Message: BepInEx] Preloader started
[Info : BepInEx] Loaded 1 patcher method from [BepInEx.Preloader 5.4.21.0]
[Info : BepInEx] 1 patcher plugin loaded
[Info : BepInEx] Patching [UnityEngine.CoreModule] with [BepInEx.Chainloader]
[Message: BepInEx] Preloader finished
[Message: BepInEx] Chainloader ready
[Message: BepInEx] Chainloader started
[Info : BepInEx] 1 plugins to load
[Error : BepInEx] Could not load [TrombLoader 2.1.0] because it has missing dependencies: ch.offbeatwit.baboonapi.plugin (v2.1.0 or newer)
[Message: BepInEx] Chainloader startup complete

Black Screen Issue (MacOS)

The game loads correctly and can see custom songs in the menu, but when trying to play them the screen goes black and does not load. Currently using the latest TrombLoader version (v1.4.2).

Trombloader is unable to load songs on MacOS

A friendly Mac user and I successfully installed BepInEx to the game on a MacOS device.
However attempting to load a custom chart resulted in a blackscreen with notes faintly visible and no music playing.

The following error occurs as the plugin is attempting to load the .ogg (at Plugin.GetClipAudioSync)

UriFormatException: Invalid URI: The Authority/Host could not be parsed.
  at UnityEngineInternal.WebRequestUtils.MakeInitialUrl (System.String targetUrl, System.String localUrl) [0x000c8] in <a5f78ef8005a453aa863503f7ed64467>:0 
  at UnityEngine.Networking.UnityWebRequest.set_url (System.String value) [0x00007] in <a5f78ef8005a453aa863503f7ed64467>:0 
  at UnityEngine.Networking.UnityWebRequest..ctor (System.String url, System.String method, UnityEngine.Networking.DownloadHandler downloadHandler, UnityEngine.Networking.UploadHandler uploadHandler) [0x0001a] in <a5f78ef8005a453aa863503f7ed64467>:0 
  at UnityEngine.Networking.UnityWebRequestMultimedia.GetAudioClip (System.String uri, UnityEngine.AudioType audioType) [0x0000e] in <7e5e565e073b4587968ebb6ef13b9047>:0 
  at TrombLoader.Plugin+<GetAudioClipSync>d__5.MoveNext () [0x00045] in <67e261e65508417587fb3c8ce428cf63>:0 
  at TrombLoader.Class_Patches.GameControllerStartPatch.Prefix (GameController __instance) [0x007f6] in <67e261e65508417587fb3c8ce428cf63>:0 
  at GameController.Start () [0x00005] in <2c1bd930c016469ea082019b9c08a9e7>:0

The above error is followed by a flood of NullReferenceExceptions until the game was closed

One possible cause I've considered is the different file path compared to Windows or Linux as well as the use of backslashes in the file uri.
So I tried this:

public IEnumerator GetAudioClip(string path, Action callback = null)
	{
	if (SystemInfo.operatingSystemFamily == OperatingSystemFamily.MacOSX)
		{
			path = "file://" + path;
		}
	else
		{
			path = "file:\\\\" + Path.GetFullPath(path);
		}			

Which turned out unsuccessful and resulted in an identical error...
Since I don't want to annoy our friendly community member by throwing poop at the wall until something sticks ill create an issue instead.

I've attached the Player.log of the first time they attempted to load a song with an unaltered Build of Trombloader 1.4.2
(For the sake of their privacy I've replaced all instances of their username with "USERNAME")

Player.log

Method for detecting what tromboner the player has selected for backgrounds

Having a way to determine which tromboner the player has selected (via an event or some other method) would, for example, let backgrounds selectively pick out what tromboner model to use for an animation.

The only issue I can see with this is if the game adds more tromboners in the future, or if custom tromboners were made available through a mod, so maybe a fallback solution should also be included to prevent backgrounds from potentially breaking in the future.

Allow bgdata events to be fired when in mixed order

Right now, BGdata events have to be sorted by time to properly fire
It's also handled in LateUpdate() and can only be fired one at a time.

Both of these could cause issues with events being fired properly, and this should be reworked

Patching

In step 2 it says "Step 2: Patch Trombone Champ with BepInEx"

How exactly does one "patch" Trombone Champ with BepInEx

Black screen

When I paste trombloader.dll file to bepinex/plugins folder, the game black screen, when i delete it, the game doesnt black screen.

[Message: BepInEx] BepInEx 5.4.21.0 - TromboneChamp (2023/01/03 23:42:38)
[Info : BepInEx] Running under Unity v2019.3.11.13561645
[Info : BepInEx] CLR runtime version: 4.0.30319.17020
[Info : BepInEx] Supports SRE: False
[Info : BepInEx] System platform: Bits64, Windows
[Message: BepInEx] Preloader started
[Info : BepInEx] Loaded 1 patcher method from [BepInEx.Preloader 5.4.21.0]
[Info : BepInEx] 1 patcher plugin loaded
[Info : BepInEx] Patching [UnityEngine.CoreModule] with [BepInEx.Chainloader]
[Message: BepInEx] Preloader finished
[Message: BepInEx] Chainloader ready
[Message: BepInEx] Chainloader started
[Info : BepInEx] 1 plugins to load
[Info : BepInEx] Loading [TrombLoader 1.4.1]
[Info :TrombLoader] Plugin TrombLoader is loaded!
[Message: BepInEx] Chainloader startup complete

Here's the log file from bepinex, I tried v6 pre release and also 5.4.21
OS: Windows 11 22H2 x64

macOS trombackground tests

Figured I'd list the charts I've tested on here.

Baka Mitai

The entire frame is pink, up until the camera zooms in enough on the trombone photo (trombone jump-scare).

Battle! (Battle Tower)

Lighting appears to be broken, skybox is black. No shadows. Custom models are invisible aside from some eyes. Ground is missing specular highlights. This was the full version of the background, not the lite version.
Battle Tower 2

Battle Tower

Bubblegum K.K. (Qumu Remix)

Everything mostly appears correct, although there are no shadows.

Chariots of Fire

Windows are completely opaque, shadows are missing. Some lighting errors, especially as the camera switches to show the trombone player.

Chariots of Fire

Chariots of Fire 2

Close in the Distance

Trombone is missing shading, otherwise looks fine.

Deja Vu

Lighting appears to be slightly darker than it should be. The headlights don’t emit any light, and the lens flares on them aren't rendered correctly. The windshield is also opaque.
Deja Vu

Detonate

Can barely see a thing due to the smoke effect missing transparency. Possibly some other rendering errors, but hard to see due to the smoke. At least the coloured lighting appears to work correctly?
Detonate

Disco Decent

Renders perfectly, although on a 16:10 display the image is letterboxed with grey bars, but that's not our problem.

Don’t Stop Believin’

Looks completely borked, likely transparency related.
Don't Stop Believin'

Escape From the City

Initially seemed okay aside from the pink sky and slightly incorrect lighting, but after a camera cut goes completely pink.
Escape from the City

The Fitnessgram Pacer Test

The colours seem to be slightly off, but otherwise it looks perfect and the numbers pop up correctly.
The FItnessgram Pacer Test

Trombone Silliness

Lighting is too bright and it’s nothing but pink outside the window.
Trombone Silliness

Hopeful Dynamis

Same transparency issue as Detonate with the same smoke texture.
Hopeful Dynamis

In The End

Looks perfect, including the transparent layers used in select scenes. Videos all work.

Kass’ Theme

Skybox is pink, lighting is broken, some textures appear to just be black, and the custom models are almost entirely missing, and I think I recognise that smoke texture from somewhere 🤔. Also you can see the confetti lol.
Kass' Theme
Kass' Theme 2

Lagtrain

Everything is pink, only this time you can’t even see the UI. This uses a custom shader in the UI layer, so it’s obviously not going to work here.

Live and Learn

Pink sky, and the ground is black. Lighting seems to be correct, at least.
Live and Learn

Never Gonna Give You Up

Missing the shadow on the floor in that one specific shot, otherwise is fine.

One Winged Angel

Slight lighting differences, the red ground at the start is darker and missing some specularity. Sephiroth’s face is all kinds of fucked up, and his dress is entirely black. Skybox at the start is black instead of grey.
One Winged Angel
One Winged Angel 2

Picture Perfect

Scene is slightly darker than it should be. Particles are missing transparency and the bushes are pink. Skybox is also black. The pictures that fly in seem to work fine.
Picture Perfect

Pink Yesterday

Lighting and shadow issues, along with the usual problems with transparent textures on the ground and trees. The letterbox also doesn’t quite fully scale vertically to 16:10, although that’s not a TrombLoader issue.
Pink Yesterday

REFLECT

Transparency issues with the bubbles. The water caustics effect may also be affected by this, since it’s now showing as a static spotlight. Shadows are missing, but the custom lighting otherwise seems to work fine (including colour changes), along with the flashes in the background. The tromboner that appears at the end is incorrectly scaled, although this was more likely the result of a bug with TrombLoader that I had to work around by fucking with the scaling, and that bug seems to no longer exist.
REFLECT

Rolling Girl

Everything is pink aside from the table and trombone, up until it switches to a video which looks fine.
Rolling Girl

Romeo and Cinderella (Project Sekai Version)

Miku and her friends are all pink, along with the screens in the background. Tansparent effects, such as the lights, seem to be mostly working fine.
Romeo and Cinderella

Rude Buster (Trombone Champ Remix)

The characters are all pink and are sitting in cylinders. The tables have some large brown circles on them, which might be from the candles that are usually there. There’s also an extra set of white curtains that’s not supposed to be there.
Rude Buster

Song of the Wielders

Works perfectly, aside from an issue on 16:10 displays. Again, not our problem.

Teo

The whole scene is pink, aside from the tromboner.

Add ".trombackgroun" support as a precaution

I've seen discord sometimes strip trombackground files into just .trombackgroun occasionally. Might have to do with a hardcoded file extension limit.

I haven't seen it cause any problems yet, but it could be worth checking for both types just in case.

Patching

In step 2 it says "Step 2: Patch Trombone Champ with BepInEx"

How exactly does one "patch" Trombone Champ with BepInEx

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.