Item Debug
Put any prop in the world onto your character and recolour yourself, from an in-game panel. Big Walk never hands you a backpack solo, so worn gear cannot otherwise be tested. A tool for modders.
CHANGELOG
Changelog
1.1.4
Palette colours now stay. Picking one was writing it to the save but never putting it on your character, so the colour you saw was painted straight onto the meshes and lasted exactly until the next time anything repainted you — changing camera view being the usual one, at which point the game put back the colour it still believed you were wearing. It is now worn as well as saved.
A free colour was never actually being applied. The panel said it had, and the colour appeared for a moment, but the call failed every time and the "keep it painted" that a free colour is supposed to turn on for you was left off — which looked like a colour that would not stay rather than one that had not worked. Free colours are now painted the way the nose already was, and hold.
The nose takes the colour. It never did. The nose has a second thing writing to it every frame for the mouth animation, and that was overwriting the colour as fast as it was applied — which is also why it flickered rather than simply staying the wrong colour. The colour is now written after that, so it lands.
A free colour no longer disappears when you change view. It is put back the instant anything repaints you, rather than a fraction of a second later on a timer, and it survives closing the panel: paint yourself, close the panel, carry on playing.
New: Rainbow. Cycle the hue like the last level of the game, with the whole body as one colour or the three parts a third of the wheel apart chasing each other. Speed is on a slider, and saturation, brightness and repaint rate are in the config file.
The Colour tab scrolls. It had grown taller than the screen, which put Refresh and Log a report below the bottom edge with no way to reach them.
New: a key for the report. F10 or . writes it to the log with or without the panel open.
ReportKeys in the config file.
The report is much more useful for a colour that will not apply: it now names the shader property the
colour is written to, lists what every material on your body will accept, and marks any that cannot
take the colour at all. LogRepaints in the config file adds a running account of every repaint,
which tells apart a colour painted over, a look that never changed, and a hook that never fires.
Removed: the per-part Random button. It read "Random head" and did the same job as clicking a swatch. Random each part stays.
1.1.3
The panel could pick the wrong player. It looked for whoever owned a camera when the game had not yet said which character was yours, and in a multiplayer session that could settle on somebody else — at which point filling a slot or changing a colour acted on them rather than on you. It now asks the game directly and never guesses.
The Gear tab refuses to run in a multiplayer session. Pinning a prop is not a local preview: it moves the prop for everyone and is written into the save, and the prop list is sorted nearest-first, so in company the top of it is whatever the person next to you is carrying. This is a solo tool for testing worn gear, and it now says so instead of finding out the hard way. Props held by another player are refused as well.
Filling and clearing a slot as a guest never actually worked, and the panel said it had. Both now check whether you are the host and use the game's own request to the host when you are not.
Hold is still a local preview only — the prop appears in your hands on your screen and nowhere else — and the status line now says that rather than implying the game has been told.
Fixed a fault that could throw once a second forever after your character was replaced, once "Keep it painted" had been switched on. Closing the panel now also switches that off.
1.1.2
New icon. No code changes.
1.1.1
A colour mixed with the RGB sliders no longer disappears when you change camera view.
A free colour is yours alone and is not saved, so anything that rebuilds your character puts the palette colour back — and cycling the view does exactly that. Painting one now switches on "Keep it painted" for you, which rides over it. Untick it if you would rather it did not.
Log a report now also lists every renderer the colour is written to, with the material it wears and whether a level-of-detail group controls it. That is the dump for working out why recolouring made something show up that you had not noticed before.
1.1.0
Adds a Colour tab. Nothing about the gear side changed, beyond the panel growing a tab bar.
Colour — head, torso and legs are coloured separately, so pick one along the top, or Whole body to put a single colour on all three, and then pick a swatch. The swatches are the game's own palette and picking one is the same change the game itself would make: it is saved, and anyone playing with you sees it. A white border marks what you are wearing and a * marks the colours the game means to be earned rather than picked, which this being a debug tool are pickable anyway. Random recolours the selection, Random each part gives head, torso and legs one each, and Put them back returns the colours the character had when you first changed something.
Underneath that, three sliders mix any colour at all onto whichever parts you tick. That one is yours alone — not saved, nobody else sees it, and it lasts until something repaints you, which going in or out of third person will. Keep it painted re-applies it a few times a second and rides over that; RepaintInterval in the config file sets the pace.
New default key: the panel opens with ' (or F9), not \. The Big Person View mod's free camera takes \, and two mods on one key is a problem only whoever installs both ever sees. If you already have a config file it is untouched, so your \ keeps working — change ToggleKeys by hand if you want the new default.
Fixed: the panel could make the game crawl. Two separate causes. Unity requires an IMGUI panel to draw the same number of controls throughout a frame, and a Refresh rebuilding the slot list, or the filter box narrowing the prop list, broke that — after which Unity throws once per control, every frame, for as long as the panel is open. And separately, the slot and prop rows were being rebuilt from scratch every frame, which for the slots meant reading a prop name out of the game per slot per frame. Rows are now rebuilt when something changes, when you type in the filter, and otherwise twice a second.
Log a report now also writes the three look ids and their colours.
Fixed props with no save name being listed as [notSavable]. The check for "no name" was looking for the wrong word, so every unnamed prop in the world got it stuck on the end of its label — and into what the filter box searches.
Performance — the colour swatches were rebuilding their layout on every mouse movement, and the prop list was building a label for every prop in the world rather than the sixty it shows. Both are done once now.
The panel no longer leaves Unity's drawing state unbalanced if something inside it goes wrong, which could previously affect anything else drawing on screen that frame.
1.0.0
First release. An in-game panel that puts any prop in the loaded world into any slot on your character — backpack, belt, blindfold — or straight into your hands, plus a report of every slot and its contents to the BepInEx log.