WeaponSling
Physical weapon sling for BONELAB: 11 strap models with real hardware. Visible body mounts and a hook that clips on with an animation, level light, lettering, wear, themes. Each gun remembers its look.
By for5team
| Date uploaded | a week ago |
| Version | 0.7.2 |
| Download link | for5team-WeaponSling-0.7.2.zip |
| Downloads | 114 |
| Dependency string | for5team-WeaponSling-0.7.2 |
This mod requires the following mods to function
LavaGang-MelonLoader
The World's First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono
Preferred version: 0.7.3bonelib-BoneLib
A BONELAB mod for making life easier for other mod creators.
Preferred version: 3.2.2README
Weapon Sling
A physical weapon sling for BONELAB. The strap is a real rope you can grab with both hands, stretch, and wear on your body, and your gun hangs from it and swings.
Version 0.7.2. Please report problems with the exact lines from
MelonLoader/Latest.logthat start with[Sling].
Features
- Mounts on your body, and a hook that clips on (0.7.0). The wear spots have real fixtures: a D-ring on a tab, a round ring or webbing loops. They appear while you hold a strap (or always, or never: Wear spots > Mounts and hook). Bring the strap close and its clip flies to the ring, swings about the bar and clicks shut; taking the strap off opens it again. A worn strap lies on your torso instead of passing through it.
- Reacts to the world (0.7.0). The strap follows the light of the level, creaks, rattles or rustles with its material, makes the controller hum when stretched, and lets go of your body when pulled hard enough (Breakaway).
- Lettering, patches and wear (0.7.0). A name tape or a patch on flat bands, lettering on the dog tag (pick a preset or write your own in
tag.txt), four wear levels, eight themes that set a whole look at once, sixteen charms with a second one beside the first, neon modes, many pictures from a folder, and looks you can share as a short line. - Realistic look. Everything is lit from where your head is, so metal, leather and fabric change as you move: sky and window reflections in the steel, brass and chrome, a soft sheen on fabric, real thread stitching along the edges of leather, padded and wide straps, band ends folded around the hardware (except the riveted claw hook), fine textures (twill webbing, leather grain, quilting, braid, rope fibre), glowing neon and polished steel chain.
- Physical strap with eleven looks and real hardware. Tactical webbing (the first model: flat band, flat rings, slide buckle), simple line, leather (thick stitched leather, brass claw hooks, tongue buckle with a keeper and a holed tail), padded (quilted cushion, quick-detach swivels, triglide with a tail), paracord (snap hooks and a cord lock), twisted rope (wound strands, snap hooks, thread whipping), chain (60 links, shackles), neon, cobra weave (thick striped band, screw-gate carabiners), bungee (thin elastic cord, snap hooks, cord lock) and wide combat (wide band with a centre stripe, shackles, ladder lock). Bands have thickness and rounded edges, narrow toward the fittings, and the loose tail of the adjuster lies on the band and bends with it. Switch in Color and look > Strap model. It sags when slack, pulls tight and gets a little thinner when stretched.
- Pick the hardware yourself. Color and look > Hardware and stripes: end fitting (ring, quick-detach swivel, snap hook, claw hook, carabiner, shackle), adjuster (none, slide, triglide, ladder lock, tongue buckle, cord lock), metal finish (steel, black, brass, gold, chrome, gunmetal), stripes and an accent colour.
- Eleven textures: webbing, plain, woodland / desert / urban / snow camo, cobra weave, braid, neoprene, carbon, or your own picture. Fifteen charms (two can hang at once): dog tag, carabiner, tassel, cartridge, skull, gold coin, key, whistle, magazine, grenade, flashlight, bell, feather, compass, glow stick.
- Strap length per gun (Strap length: longer, shorter, automatic; remembered) and smart length (longer guns get longer straps). Three look slots and Paint ALL straps. A metal clank when the strap snaps taut. Hold Grip and the trigger at the adjuster and slide your hand along the strap to change its length (away from the gun = longer). Surprise me picks a random look.
- Two-handed grab. Squeeze Grip with an empty hand next to the strap to hold that point. Hold two different points with two hands to stretch it.
- The gun hangs from the strap. While you hold the strap, the gun is carried by it and swings on it.
- Wear it anywhere: left or right shoulder, neck, chest, belly, back, left or right hip, left or right thigh, or a custom spot you save yourself. Each spot can be switched on or off and moved with sliders. All enabled spots work at once; the nearest one to your hand catches the strap. The popup tells you where: Sling attached - Belly.
- Hint dots show the enabled spots while you hold a strap, and the spot about to catch it lights up.
- Take it off. Grab the strap at its spot and yank it away. You get a popup: Sling removed.
- Manual calibration. Put the strap ends exactly where you want them: a small laser with a dot, place the REAR end, then the FRONT end. The strap appears between the two dots.
- Colors and looks. RGB sliders, presets (black, sand, olive, red, blue, white, camo), match the gun's color, webbing / plain / camo textures, or your own picture (
UserData/WeaponSling/strap.png). Paint a single strap without changing the others. - Wrap tape. Aim at any part of the gun and press the trigger: colored tape winds around it. As many wraps as you want, 10 color presets plus your own RGB, plain / warning stripes / camo, adjustable width and turns. A/X switches the color while you aim, B/Y undoes. Tape stays on the gun and is remembered per gun.
- Gun memory. Calibration, paint (the whole look: model, color, texture, charm, hardware) and tape are remembered per gun. Optionally the strap is attached automatically when you pick that gun up again.
- Cross-body mode. A shoulder strap that also pins to the opposite hip.
- Quick draw. With the strap worn, squeeze the trigger with an empty hand near the wear spot and the gun flies to your hand.
- Auto-fit length to the wear spot and your body size.
- Lies on the floor. A dropped or thrown gun leaves its strap lying on the ground instead of sinking into it (can be switched off).
- Feedback. Controller buzz and a click sound when the strap goes on or comes off.
- BoneMenu settings for everything. Changes apply instantly and are saved.
How to use
- Pick up a gun (or any item), then open BoneMenu > Sling > Attach strap to last held item. A strap appears on it. (Or use Calibrate strap on last held item to place both ends yourself.)
- Grab the strap with an empty hand (Grip). Hold it with one or both hands.
- Bring the held strap to a wear spot (the dots show where). It attaches. Yank it away to take it off.
- Trigger with an empty hand near the wear spot calls the gun to your hand.
Mounts and the hook
Sling > Wear spots > Mounts and hook. Mounts on the body: Auto (shown while you hold a strap and where one hangs), Always or Off. Mount style: D-ring on a tab, round ring or webbing loops. Hook animation switches the clip flying to the ring and snapping on/off (off = instant attach). Breakaway sets how hard a worn strap has to be pulled before it lets go (Off / Easy / Normal / Hard). Mounts follow the spot sliders, so after you move a spot, the ring moves with it.
Lettering, patches, wear and themes
Sling > Color and look > Strap model has Second charm and Themes; Hardware and stripes > Wear, patches and lettering has Wear, Patch on the band, Neon glow and the lettering buttons. The game menu has no text box, so lettering comes from a list of presets (Lettering: next / previous) or from the first line of UserData/WeaponSling/tag.txt (Lettering: read tag.txt; a slash starts a new line on the dog tag). Letters are A-Z, 0-9 and a few signs.
Sharing a look, many pictures, diagnostics
- Sling > Settings > Guns, sharing and diagnostics > Share my look copies a short line of numbers and writes
UserData/WeaponSling/look_export.txt. Take a look reads one from the clipboard, or fromlook_import.txt. - Put several PNG files into
UserData/WeaponSling/pictures; Color and look > Color > Next picture / Previous picture steps through them (choose the texture MyPicture). - Write a diagnostics report writes what the mod found (shader, light source, settings, pictures) to the log and
UserData/WeaponSling/report.txt. Please send it with a bug report.
Calibration
- Hold the gun or put it down in front of you, then BoneMenu > Sling > Calibrate strap on last held item, and close the menu.
- A laser with a dot comes out of your hand. Aim at the rear end spot of the gun and press the trigger. A blue dot stays there.
- Aim at the front end spot and press again. The strap appears.
- B / Y button: one step back (cancel at the first step). The laser comes from the hand that is not holding the gun, so the trigger never fires it.
If the laser does not point where your hand points, use Sling > Laser and calibration > Laser test and change Laser direction and Laser tilt until it matches.
Wrap tape
- Pick up the gun, then BoneMenu > Sling > Wrap tape > Start wrapping, and close the menu.
- A thin beam comes out of the hand that is not holding the gun, with a ring that shows where the tape would go.
- Aim at a part of the gun and press the trigger. The tape winds around that part. Do it again on other parts or on the same part.
- A / X on the beam hand: next color. B / Y: undo the last wrap (press again with nothing left to end the tool). The tool also ends after a few minutes without use, or with Stop wrapping.
- Colors, pattern, width, turns and winding axis are in Wrap tape > Tape colors and Wrap tape > Shape and pattern. If a wrap goes around the wrong way, set Wind around to one of the item's axes.
The beam uses the same hand, button, direction and range as calibration (Settings > Laser and calibration). Tape sits on the gun's collision shapes, so on some guns it floats or sinks a few millimetres; Distance from the part fixes that.
Strap models and charms
Sling > Color and look > Strap model: Model picks the look, Next model steps through them, Charm on the strap and Second charm hang charms from it, Show hardware (in Hardware and stripes) switches the metal parts off, Surprise me picks a random look. A strap you painted keeps its own model (Paint strap on last held item saves it for that gun); Strap follows global look (in More look options) releases it.
Custom wear spot
Sling > Wear spots > Lower body > Custom spot > Save here. Hold your hand where you want the strap to hang; the position is saved after 4 seconds.
Your own strap picture
Put a PNG named strap.png into UserData/WeaponSling, then choose the texture MyPicture (or the preset My texture) in Sling > Color and look, then press Reload the chosen picture under Color > Color. The picture is stretched once along the strap, so a long, thin image works best (for example 512x16). Colors multiply the picture, so use the White tint if you want it unchanged.
Requirements
- BONELAB on PC (Quest is not supported).
- MelonLoader and BoneLib (installed automatically by mod managers).
Multiplayer (Fusion)
The gun's position is synced by Fusion, so other players see it hanging and swinging. The strap itself is drawn only for players who have this mod, and its forces are applied on your own client.
Known limitations
- The strap does not pull on you or your hands, only on the gun.
- The strap lies on the floor and against walls, and (when Strap lies on the body is on) on your torso, which is approximated as an ellipse around the body spots. It passes through your arms, loose props and other players.
- Where the body spots are is a rough estimate from your head position. Use Body size and the per-spot sliders to fit them to you.
- If you do not calibrate a gun, the strap ends are picked automatically from its model (on the underside, rear and front) and may sit oddly on some items.
- Tape is built from the gun's collision shapes, so very simple colliders give a boxy wrap. Up to 12 wraps per gun.
- Up to 4 straps at a time. Straps are removed when the level changes (remembered guns get their strap back on pickup if auto-attach is on).
Files and settings
- Settings: BoneMenu > Sling, saved in
UserData/MelonPreferences.cfgunder[Sling],[Sling_Style]and[Sling_Wear]. - Remembered guns:
UserData/WeaponSling/guns.txt(plain text, safe to delete). - Other files in
UserData/WeaponSling:strap.pngand thepicturesfolder,tag.txt(your lettering),look_export.txt/look_import.txt(sharing looks),report.txt(diagnostics). - If a controller button is not detected on your setup, check the log for the line
Readable bool/float/int membersand setGripMethod,TriggerMethod,PrimaryMethodorSecondaryMethodin the config.
CHANGELOG
Changelog
0.18.0
Other players can see your straps (through Fusion). Nothing was compiled or tried in the game when this was written, and it has never been tried with other players, so please read the notes at the end. 0.17.0 and 0.16.0 are the fallbacks.
- What is sent. With Fusion installed and at least one other player in the server, every eighth of a second Sling sends the straps that hang on your body or whose gun is in a hand (at most three): the rope resampled to 12 points, written in a frame that follows your head but turns only about the vertical (millimetres, 2 bytes each), the width, and, every fourth packet, the look (model, texture, charms, fitting, adjuster, finish, stripes, colors), the patch and its lettering. Packets go on the unreliable channel to all other players. When you stop sharing, one empty packet follows so the others take your straps away at once.
- What is shown. A player who has Sling too sees each of your straps drawn with the same drawing code as their own, with your look, on your avatar: the rope follows your head's frame, glides to every new packet and is removed after 2 s without news, when you leave, when you are hidden or culled, when you are more than 40 m away, or when you switch sharing off. Nothing is simulated for it: no collisions, no sounds, no pulling, no dirt. The patch and lettering come from what you sent, not from the viewer's settings. At most 9 straps of other players are drawn.
- Switches (Settings > Other players (Fusion)): Show my straps to other players, Show the straps of other players (both on by default), and a button Fusion link: tell me what is going on that says whether the link is up and how many packets were sent and received.
- Without Fusion nothing changes. A separate class looks for Fusion's assembly; only when it is there (and the mod was built with it) is the Fusion part touched, inside try/catch, and whatever goes wrong switches only the sharing off. The Fusion part is the module system from Fusion's own wiki (a module, a module message and its data) and lives in
FusionLink.cs; it is compiled in only whenMods/LabFusion.dllexists at build time. - Build.
build.batnow keeps the log of the first build inbuild-1.log; if the build with the Fusion part fails, it builds once more without it (-p:SlingFusion=false) and says so; the first errors are then inbuild-1.log. - The self-test checks the packet maths (a millimetre is all that is lost; the head frame survives a tilted head; the lettering is cleaned). The support file has a new line "0.18.0:" with the state of the link.
Notes:
- Written against Fusion's source as of version 1.14.1 (the module API in its wiki). A Fusion that is much older or newer may have a different API: then the build with the Fusion part fails (and build.bat builds without it), or the link reports an error at startup (and sharing is off). Please tell me your Fusion version.
- Where a strap meets the gun on another player's screen can be a few centimetres off, because avatars differ in size and the gun is placed by Fusion, not by Sling. If strap and gun look far apart, or the strap looks wrong from another player's view, tell me what you saw.
- Everything here is new and untested. If the build fails, please send
build-1.log. If something looks wrong in the game, sendsupport.txt(line "0.18.0:") and the lines fromLatest.logthat start with[Sling].
A Russian menu with a language switch, and straps that get dirty with use. Nothing was compiled or tried in the game when this was written, so please read the notes at the end. 0.14.0 and 0.13.0 are the fallbacks.
Language:
- Russian menu (Settings > Language, popups and tips > Language / Yazyk, English by default): every name in the BoneMenu (menus, sections, buttons, sliders, the presets, themes, carry presets and tape colors) is translated. The popups, the log and the reports stay in English. The menu is built once when the game starts, so the change shows after the game is restarted. The names of the choices inside a picker (for example the names of the models) stay in English.
- A way back. The game's menu font may not have Cyrillic letters (this could not be checked). If the Russian menu shows squares, the way back is readable anyway: the Settings entry is called "(Settings)" in brackets, the section in it has "(Language)" in its name, and the switch itself is always called "Language / Yazyk" (in Cyrillic) in both languages. Set it to English and restart the game.
Dirt:
- Straps get dirty with use (Color and look > Dirt and cleaning, Slow by default). While a strap is worn or its gun is in your hand, and with every shot, it gathers dirt; it shows as the four wear levels you know from Wear (blotches, worn thread and metal), but for that one strap only. A full dirt takes about four hours of use in Slow, an hour and a half in Normal and twenty minutes in Fast. The wear level you choose in the menu is the floor: dirt never makes a strap look newer than that.
- Each gun remembers its own dirt (
dirt=inguns.txt). A message tells you when a strap gets to the next level. - Washing: Wash the strap on the last held item and Wash ALL straps (this also clears the remembered dirt of the guns that are not in the game right now).
Settings: two new ones (Language, DirtMode); they are part of the backup, restore and reset. The section Popups and tips of the Settings page is now called Language, popups and tips. The self-test checks that every menu name has a Russian translation.
Notes: all of this is new code that has not run in the game. If the build fails, please send the first compiler error. If something looks wrong in the game, send support.txt (it has a line "0.15.0:").
0.12.0
The things 0.11.0 said were left out: a shadow of the strap on the body, soft swinging of buckles and charms, a strap on both shoulders at once, and clearing away objects the mod might have left behind. A little more buzz in the hand as well. Nothing was compiled or tried in the game when this was written, so please read the notes at the end. 0.11.0 and 0.10.0 are the fallbacks.
Look:
- Shadow of the strap on the body (Realism and comfort > Light, shadow and motion > Shadow of the strap on your body, on by default): while the strap is worn, a soft dark band with faded edges lies on the body under it. It is darkest where the strap rests on the body and fades away as the strap lifts off, and towards the top and the bottom of the torso. It is drawn from the same simple body shape the strap rests on (so it follows the Body size setting), under the strap and over nothing else. It needs the shader that blends vertex colors; without it the shadow is simply not made.
- Soft swing (Light, shadow and motion > Soft swing, on by default): the charms, the two end fittings and the adjuster lean away from the way the strap moves and swing back with a few fading wobbles, like small pendulums. A strap that is still keeps its pieces still (the charms only breathe a little). A jump (a teleport, a long hitch) gives no kick. It is only the look of the pieces; nothing is pushed. With the switch off the charms sway gently as before.
- Low detail now also leaves out the shadow and the swing.
Carry:
- Both shoulders at once (Mounts and hook > Both shoulders at once, off by default): when you put the strap on one shoulder, it is hung on the other shoulder too, at the point half a strap away, as if you had made a second point by hand. It works only when both shoulder spots are switched on, the strap is not cross-body and the strap is long enough to reach; otherwise the strap just stays on the one shoulder. Yanking one clip off still frees only that clip.
Feel:
- The hand that holds the gun now also feels the strap pulling at it when the strap is stretched (lighter than the hand that holds the strap). It is the same switch as before: Buzz in the hand when the strap is stretched.
Safer:
- Clearing away what was left behind. Every object the mod makes belongs to a strap or a tape wrap, except the mounts on the body. After a level change, anything of the mod that is still alive (but a mount) was left behind and is now removed, with its mesh and material, and the log says how many. A new button (Guns, sharing and diagnostics > Safety and backups > Clean up objects left behind) does the same by hand, but only when no strap and no tape is in use. It never touches an object of the game.
- The report, the self-test and the support file say how many objects were removed, and how many are alive that are not mounts.
Settings: three new ones (BodyShadow, SoftSwing, AutoSecond); they are part of the backup, restore and reset like all the others. The Realism and comfort page is now in three groups to keep each page short.
Notes: all of this is new code that has not run in the game. If the build fails, please send the first compiler error. If something looks wrong in the game, send support.txt. Things that are guesses: where the real body is. The shadow lies on a simple body shape, and a body in the game can be a little bigger or smaller, so the shadow may float a little off the body or hide behind it (adjust Body size first). If your own body is not drawn in the game at all, the shadow will hang in the air as a dark band under the strap; switch it off then. How much the pieces swing (the strengths are chosen by eye, and the swing may be too much or too little). Whether the second shoulder clip lands where you would like it (it takes the point half a strap away from the first). Whether anything is ever left behind at all: the game may already clear most of it, so the clean-up may often find nothing.
0.11.0
A big round: the tape looks and behaves much more like real tape, the strap gets new looks, the mod watches its own health and can fix a bad day with one button, and there are carry presets. Nothing was compiled or tried in the game when this was written, so please read the notes at the end. 0.10.0 and 0.9.1 stay as safe fallbacks.
Wrap tape:
- 3 new patterns (11 in all): net, zigzag and Caution, a printed word on the tape. 3 new colors (19 in all): teal, lime, gold. The color pages are cut into pages of at most 8 entries as before.
- Wear (Wrap tape > Wear and color of new wraps): fresh, used, worn or ragged. Worn tape has dirt that gathers in patches and along the edges, pale frayed edges, a surface that is not quite flat (wrinkles and small blisters), and a slightly wavy free edge. Glossy tape loses its shine when it is worn or ragged. Every wrap has its own pattern of wrinkles.
- Loose end: the last bit of the tape lifts off the part, curls away and narrows to a tip. It grows out as the last turn goes on. Switch: Loose end on the same page (on by default for new wraps; wraps made before keep their square end).
- Unwinding: the eraser and undo no longer make the tape vanish; it is pulled off, turn by turn, backwards (a quarter of a second to a second). Many wraps taken off at once skip the animation.
- Color of new wraps: the one chosen (as before), the color of the gun (read from its material when the game allows it), or a color that stands out from the gun. When the gun's color cannot be read, the chosen color is used. Pressing the color button on the beam hand goes back to the chosen color.
- Wear and the loose end are remembered with every wrap in
guns.txt(two new fields at the end of atape=item; older lines are still read, and 0.10.0 can still read the new ones, it just ignores the two extra numbers). - Reset the tape settings also resets the new settings.
Strap:
- Stripe effect (Color and look > Hardware and stripes > Stripe effect): the accent stripes of flat bands can be plain, reflective (they flash when you look straight at them, more so in a dark level) or glow in the dark (they shine in dark levels and rest in daylight).
- 6 new metal finishes (12 in all): nickel, copper, titanium, blued steel, rose gold and aged brass. Copper and aged brass turn green with wear (verdigris), brass only a little: the higher the wear level, the greener they get.
- 6 new themes (14 in all): Night patrol, Hi-vis, Steampunk, Titan, Royal and Salvage. Themes can also set the stripe effect. The theme list is now cut into pages (Themes > More themes > Even more themes).
Carry:
- Carry presets (Wear spots > Carry presets): rifle on the back, rifle across the chest (cross-body), chest rig, sidearm on the hip, light kit, everywhere. A preset only switches wear spots on and off (and cross-body); the positions and your custom spot are not touched.
Safer and calmer:
- The mod slows itself down on purpose when it is slow. Every part of the mod is timed. When the mod alone uses more than 2.5 ms of a frame on average for 3 seconds, the strap becomes simpler (level 1: no stitches or patches, hardware lit less often; level 2: also no resting on loose objects and hands). When it is calm again for 20 seconds, it goes back, one level at a time. Switch: Settings > Guns, sharing and diagnostics > Safety and backups > Simplify by itself when slow.
- A part that keeps failing is paused for 2 seconds after 10 failures in a row instead of filling the log and eating time each frame. One failure that is followed by a success is not counted against it.
- Self-test (Safety and backups > Run the self-test): checks the shader, the head and hands, the buttons, the tables of finishes, pictures, tape patterns, colors, themes and carry presets, building a mesh and a material, and writing to the data folder. It says what each failure would mean in the game and writes
UserData/WeaponSling/selftest.txt. - Back up, restore and reset the settings (Safety and backups):
settings_backup.txtholds every setting (found by looking at the settings themselves, so settings added later are included), including the positions of the wear spots. Reset ALL settings asks twice (the same button within 8 seconds) and does not touchguns.txt. - One support file (Safety and backups > Write one support file):
support.txthas the diagnostics report, the self-test, all settings and the last 200[Sling]lines of the game log. If something is wrong, this one file is what to send. - The report lists the mod's own objects that are alive (so a leak would show) and the state of buttons, buzz and sounds.
Not done in 0.11.0, on purpose (all four are in 0.12.0): a shadow of the strap on the body, soft swinging of buckles and charms, a strap on both shoulders at once (the second wear point already did this by hand), and removing objects the mod might have left behind (they were only counted).
Notes: all of this is new code that has not run in the game. If the build fails, please send the first compiler error. If something looks wrong in the game, send support.txt. Things that are guesses: the look of the new patterns and of the wear (amount of dirt, size of the blisters), the length of the loose end, the budget of 2.5 ms before the mod simplifies itself, and how the reflective stripes look in different levels.
0.10.0
A round of many small improvements: more to choose from for the wrap tape, a mod that survives bad numbers and hiccups better, and a report that says where the time goes. Nothing was compiled or tried in the game when this was written, so please read the notes at the end. 0.9.1 stays a safe fallback.
Wrap tape:
- 16 colors (new: purple, cyan, gray, brown, maroon, silver). The color pages are Wrap tape > Tape colors (6), More colors (6) and Even more colors (4), and Your own color (RGB).
- 8 patterns (new: checks, carbon, cloth, chevrons, dots) and a finish (matte, satin, glossy) in Wrap tape > Shape and pattern. A glossy finish (and carbon) shines sharper, cloth and camo stay soft.
- Thickness of the tape (0.2 mm to 3 mm, 0.6 mm by default). Finish and thickness are remembered with every wrap in
guns.txt(older lines are still read). - Eraser mode (Wrap tape > Eraser mode): the beam turns red and the trigger takes off the wrap you aim at, not the newest one. It is switched off every time the game starts.
- The dot at the end of the beam is red where the tape cannot fit and white where the eraser has a wrap to take off.
- Reset the tape settings puts color, size, pattern, finish and thickness back to normal.
- Undo plays a sound, and a new wrap says Wrap 2 of 12.
- The tool ends by itself when the gun is more than 8 m away (thrown, or left in another level), and all tape goes away when the mod is switched off (what the guns remember stays).
- A wrap that cannot be drawn no longer leaves half-built objects in the scene; the log says why, once.
Strap:
- The rope puts itself right when a position is not a number, or when the gun or you were teleported far away (before, it could stay broken for good). The report counts these resets.
- Quick draw pulls the same at any frame rate. The pull used to be applied once per rendered frame, so it was stronger at 144 fps than at 60. It is now applied once per physics step. With several worn straps, quick draw picks the one nearest to your hand instead of the first.
- Settings > Guns, sharing and diagnostics > Most straps at the same time (1 to 8, 4 as before).
- The level light on the strap slowly forgets the brightest value it ever saw, so the strap does not stay dim for good after one bright moment.
- After a long hitch the rope takes a smaller step (at most 50 ms), so it does not jump.
Safer and calmer:
- Settings typed by hand are put back into range when the mod starts (a strap length of 0, 1000 rope points, a color of 7). The log and the report say how many were corrected.
- Repeated messages are shown once. The same popup within about a second is dropped, so a hint that comes back every frame cannot cover the screen.
- Haptics, button reading and the mounts are switched off only after five failures in a row (one hiccup used to switch them off until the game was restarted). A success starts the count again.
- guns.txt is written safely: to a side file first, then swapped in, with the previous version kept as
guns.bak. A line that cannot be read is skipped and the rest is kept;guns.bakis used only whenguns.txtis there but unreadable (deletingguns.txtstill means "forget everything"). - The first failure of each part of the mod is also shown on screen once, with where to find the diagnostics report.
Faster:
- The state of each controller button is read once per frame and hand, not once per question.
- What each hand holds, and the physics body of it, is asked of the game once per frame.
- Finding the nearest point of the strap uses squared distances, and the look of a strap is worked out once per frame.
Diagnostics:
- The report (Settings > Guns, sharing and diagnostics > Write a diagnostics report) now has a line for 0.10.0 (limits, corrected values, hidden repeats, skipped lines, tape state) and how much time each part of the mod uses (calls, average and slowest call, failures).
Notes: all of this is new code that has not run in the game. If the build fails, please send the first compiler error. If something looks wrong in the game, send the [Sling] lines of the log and the report. The 16 colors and 8 patterns only need the textures to draw; if a pattern looks flat, say which one.
0.9.1
The wrap tape was rebuilt so that it lies on the part instead of floating above it or sinking into it. Nothing was compiled or tried in the game when this was written, so please read the notes at the end.
- Tape that hugs the part. The tape used to follow the invisible collision shapes of the gun, which are often smaller than the model (the tape sank in, as if you could see through it) or bigger (it floated). Now it follows what you see: when the game lets the mod read the triangles of the gun's meshes, the outline of the part is taken from them at every height along the part (a slice every 5 mm). When it does not, the outline comes from the collision shapes (boxes exactly, others by rays) and is fitted to the bounding box of the part's mesh when that box clearly belongs to the same part. The log line [Sling] Wrap tape on ... says how many meshes could be read.
- It goes around any shape. The band is a ring of tangent lines around the outline, so it never cuts a corner and the corners get a small round instead of a point. It follows a cone, climbs a step and follows the length of the part: the band's two edges lie at their own heights, so it is not a flat cylinder any more.
- Each turn overlaps the one before. The lapped edge lies on the turn below with a thin step and a shadow line, the free edges are rounded, and the last turn does not hang loose.
- Real light. The tape is lit by the same model as the strap (a soft plastic sheen for plain and warning stripes, cloth for camo), from where your head is, and is lit again when the gun or your head moves.
- Narrow and short parts. If the part is shorter than the wished tape, the tape gets narrower (down to 1 cm) and uses fewer turns instead of hanging over the end; near the end of a part the tape is moved inward.
- Gap to the part (Wrap tape > Shape and pattern) replaces Distance from the part: it is the real gap between the part and the tape, 1 mm by default (it was 4 mm). The old setting is not read any more; wraps saved earlier keep their old gap until they are done again.
- Remembered tape now goes back on one wrap per frame, so picking up a gun with many wraps does not stall the game. The beam ring is refreshed from a cheaper, rougher fit and the winding direction is kept while the beam stays on the same collider.
- A full read-through of the 0.8.0 and 0.9.0 code found one small thing: a trigger that was already down at the moment of the grab counted as a fresh squeeze for moving the strap to another item. It needs a new squeeze now.
Notes: whether the game lets the mod read its meshes decides how good the fit is. Please send the [Sling] Wrap tape on ... and [Sling] Tape wrap placed: ... lines of the log if the tape sinks in or floats on some gun. Gap to the part can be raised a little in the meantime.
0.9.0
Five things at once. Nothing was compiled or tried in the game when this was written, so please read the notes at the end.
- The strap does not pass through your hands or loose objects. Until now it lay on the floor, the walls, your body and (since 0.8.0) the gun it hangs from, but passed through everything else. Now it also rests on your hands (a small ball around each palm) and on loose objects such as crates, bottles or another gun. Only the strap moves; nothing is pushed. The gun itself, its parts, your own body and anything that overlaps the strap's ends on the gun do not count. Switches: Settings > Realism and comfort > What the strap lies on (floor and walls, your body, the gun, loose objects, your hands).
- Move the strap to another gun in one motion. Hold the strap in one hand and an item in the other. When the strap point gets close to that item, a cyan dot appears on it; squeeze the trigger and the strap is on that item now, the old one is let go. A worn strap stays on the same spot of the body (and keeps its second point). Switch: Settings > Guns, sharing and diagnostics > Move the strap to the item in your other hand.
- A second point on the body (two-point sling). With the strap worn, take hold of another part of it (not next to the first clip) and bring that to a second wear spot: it hangs on both. The mount of the second spot catches it with its own clip and click. Yank the second clip away to free only that one; yank the first clip to take the whole strap off. A grab that starts inside a spot's catch zone does not count (the spots are dense around the chest): move the hand away first, then bring it in. The strap is lengthened for two points like for cross-body, and a spot that is too far for the strap is refused with a message. Switch: Wear spots > Mounts and hook > Second point. (A cross-body strap already has its two points, so it takes no third one.)
- Weight and swing. The pull of the strap used to feel the same for every gun. Now a heavy gun pulls the strap harder: it sags lower, swings longer and tugs harder at the hand, a light one hangs firmer. The slider Settings > Strap physics > Weight sets how much the gun's mass matters (0 = as before, default 0.7). The diagnostics report lists each gun's mass and its weight factor.
- Marks on the strap. When an empty hand comes within about 40 cm of a strap, small dots appear on it and grow as the hand gets closer: green where the strap is fixed to the gun, yellow at the length adjuster (grip + trigger), orange at the clip on your body (pull it away to take the strap off), and a faint blue dot at the point your hand would grab (turning white once it can). A short popup explains the colours once per game. Switch: Settings > Realism and comfort > Marks on the strap.
- The switch for the floor and walls moved from Strap physics to Realism and comfort > What the strap lies on; the Strap lies on the body and Strap lies on the gun switches moved there too. Their saved values are kept.
Notes: the hand ball (6.5 cm) and the weight reference (2.5 kg for a gun that feels like before) are first guesses. If a strap jitters at your hand, switch off Your hands; if guns hang too low or too high, change Weight. The [Sling] lines of the log and the diagnostics report say what was found.
0.8.0
- The strap lies on the gun. Until now the strap passed straight through the gun it hangs from. Now it rests on the gun's own solid parts: it drapes over the stock and the barrel, stays on top when the gun is lowered onto it, and does not cut through a thin part between two of its points. Only the strap moves; the gun is never pushed. Switch: Settings > Realism and comfort > Strap lies on the gun. The diagnostics report says how many solid parts of the gun each strap sees.
0.7.2
- The Ranger and Explorer themes now bring their own camouflage. Ranger wears the woodland camo and Explorer the desert camo (before, they were only coloured olive and sand). The other six themes are unchanged, and the texture can still be changed by hand afterwards (Color and look > Texture).
0.7.1
A bug-fix release after a full read-through of the code. Nothing new to learn: the same menu, the same settings.
- Pictures and sounds survive a level change. The game clears assets that nothing in a scene uses after a level loads. The textures the mod makes (the webbing, camo and weave pictures, your own picture, the lettering and patches) and the click, clank, creak and rustle sounds are now marked as kept, so a custom picture no longer turns plain and a sound no longer goes quiet after you change level.
- Mounts and the hook are lit from where your head is now. The body mounts and the clip that snaps onto them took the head position from the last frame in which a strap was drawn. They now read it themselves, so their light no longer lags or jumps when no strap is on screen.
- Version number raised so that the package can be uploaded to Thunderstore again.
0.7.0
Visible mounts on the body, a hook that really clips on, and twenty more things. The tactical webbing model (the first one) is kept exactly as it was.
Mounts and the hook animation
- Mounts on the body. The wear spots now have real fixtures: a D-ring on a tab, a round ring or webbing loops (Sling > Wear spots > Mounts and hook). They show automatically while you hold a strap (and where one hangs), or always, or never. A spot that is about to catch the strap lights up its ring; an occupied one stays visible for a moment.
- The hook snaps on. When you bring the strap to a mount, the clip flies to the ring, swings about its bar and clicks shut (a latch sound and a short buzz); taking the strap off opens it and it drops away. The strap now hangs from the clip, not from a point in the air. It can be switched off (Hook animation).
- Tick in the hand when a spot comes within reach.
The ten ideas
- Level light. The strap gets darker in a dark corridor and brighter outside (read from the game's light probes; falls back to ambient light, never below 45 percent). Settings > Realism and comfort > Level light.
- It lies on your body. A worn strap is pushed out of your torso instead of passing through it.
- Material sounds. Leather creaks, chain rattles, fabric rustles, tied to how the strap moves.
- Buzz while stretched. The controller hums more the tighter the held strap is pulled.
- Breakaway. A worn strap lets go of the body when pulled hard for long enough (Easy / Normal / Hard), like a safety release on a real sling.
- Length by hand. Hold Grip and the trigger at the adjuster and slide your hand along the strap: away from the gun makes it longer. It is remembered per gun.
- Lettering and patches. A name tape or a patch (star, red cross, chevrons, flag stripes) sewn on flat bands, and lettering on the dog tag, in a small built-in pixel font. Pick a preset text, or write your own in
UserData/WeaponSling/tag.txtand press Lettering: read tag.txt. - Wear. New / Used / Worn / Battered: scratches and dirt on the metal and a faded band.
- Many pictures. Put several PNG files into
UserData/WeaponSling/picturesand step through them with Next picture (strap.pngis still the first one). - Share a look. Settings > Guns, sharing and diagnostics > Share my look copies a short line and writes
look_export.txt; Take a look reads it from the clipboard orlook_import.txt.
Ten more
- Eight new charms: whistle, magazine, grenade, flashlight, bell, feather, compass, glow stick.
- A second charm can hang beside the first (Color and look > Strap model > Second charm).
- Eight themes that set a whole look at once: Operator, Ranger, Medic, Pirate, Explorer, Cyber, Parade, Ghost.
- Neon modes: running light, steady, breathing, rainbow.
- Low detail switch (no stitches or patches, hardware lit less often) for weaker computers.
- Diagnostics report: Write a diagnostics report puts what the mod found (shader, light source, settings, pictures) into the log and
UserData/WeaponSling/report.txt. - Three mount styles (D-ring on a tab, round ring, webbing loops).
- Hook animation switch (Hook animation): off gives the old instant attach.
- Tick when a spot is within reach (Tick when a spot is within reach).
- A dot at the point your hand would grab (switch in Realism and comfort).
Notes
- The look line (
look=inguns.txtand the look slots) has an optional 14th number for the second charm; older saves still load. - New menu pages: Mounts and hook, Wear, patches and lettering, Themes, Realism and comfort, Guns, sharing and diagnostics. Every page still has eight entries or fewer.
0.6.0
A realism pass. The straps no longer look like cartoons: lighting, materials, hardware and fine details were redone. The tactical webbing model (the first one) is kept exactly as it was.
- Real lighting. Every part is lit from where your head is, so metal and leather change as you move. The sky, a dark horizon and a bright window are reflected in the steel, brass and chrome; fabric has a soft sheen at grazing angles, leather a broad weak highlight, plastic a small hard one.
- Redrawn hardware. Claw hook, quick-detach swivel, snap hook, carabiner, shackle, triglide, ladder lock, tongue buckle and cord lock are rebuilt from smooth profiles (rounded bars, hinged gates, knurled barrels, a screw collar, pins, rivets) instead of simple blocks. The charms (dog tag, cartridge, skull, coin, key and the rest) too.
- Real stitching. Leather, padded and wide combat straps have a double row of thread along both edges and a boxed cross on each end, made of separate stitches that follow the band.
- Folded ends. On those straps the band folds over and wraps around the fitting like a real strap does (not with the claw hook: it is riveted straight onto the band).
- The right face to the player. Stitches and the adjuster's tail always sit on the side of the band you are looking at.
- Better materials. New, finer textures for webbing (twill), leather (grain, pores, burnished edges), quilting, cobra weave, braided cord and rope fibre. Textures are filtered at grazing angles, so they stay sharp on a strap seen from the side.
- Cords and rope. Paracord shows its braid, twisted rope has real strands with shadowed grooves, neon glows from the middle of the cord and fades at its edge.
- Chain. Polished steel links with reflections.
- Punched holes in the leather tail are round now.
0.5.0
Real hardware, more models and a lot more to choose from. The tactical webbing model is kept as it was.
- Realistic straps. Every model except Tactical webbing and Simple line is rebuilt with its own hardware, all made in code:
- Leather: thick leather with rounded edges, brass claw hooks, a tongue buckle with a leather keeper, a tail with holes.
- Padded: quilted cushion, quick-detach swivels (push button, rectangular loop), a triglide and a tail with a coloured tip.
- Paracord / Bungee: snap hooks (eye, barrel, spring gate) and a cord lock.
- Twisted rope: three wound strands, snap hooks, thread whipping on the ends.
- Chain: shackles with a pin.
- Bands have thickness, rounded edges, narrow toward the fittings, and stripes; the adjuster's tail lies on the band and bends with it.
- Three new models: Cobra weave (thick striped band, screw-gate carabiners), Bungee (thin cord) and Wide combat (wide band, shackles, ladder lock).
- Choose the hardware yourself (Color and look > Hardware and stripes): end fitting, adjuster, metal finish (six), stripes (centre, edges, three) and an accent colour.
- Seven new textures: desert, urban and snow camo, cobra weave, braid, neoprene, carbon (Woodland camo is the old camo). Seven new presets for them.
- Four new charms: cartridge, skull, gold coin, key.
- Strap length per gun: Strap length > Longer / Shorter / Automatic for the last held gun, remembered in
guns.txt(len=). Smart length (on by default): a new strap's length follows the distance between its two ends on the gun. - Look slots: three places to keep a look; Paint ALL straps paints every strap at once. The whole look (model, color, texture, charm, hardware, metal, stripes, accent) is now remembered per gun (
look=inguns.txt; older saves still load). - Metal clank when the strap snaps taut (Settings > Sounds).
- Safety net: if a strap model cannot be built or fails while drawing, that strap is drawn as a plain line and a
[Sling]warning is logged, instead of the mod breaking. - Surprise me now also picks the metal finish and an accent colour.
- Fixed: the package description in
manifest.jsonwas 256 characters long, and Thunderstore accepts at most 250. It is shorter now. - Menu: the colour sliders moved into Color and look > Color; every page still has eight entries or fewer. Rings and buckle is now Show hardware under Hardware and stripes. The texture CustomPng is called MyPicture.
0.4.1
Code review release: the whole mod was read through line by line.
- Restoring remembered tape picks the right part of the gun again: when several colliders contain the remembered point (a barrel inside the box of the whole body), the smallest one is used instead of the first one found.
- The hint shown when a wrap fails now names the right menu (Wrap tape > Shape and pattern).
- Strap on last held item follows global look now also erases the saved paint of that gun. Before, the paint came back from the gun memory the next time the gun was picked up.
- Switching Enabled off now removes the straps (they used to hang frozen in the air), and the menu buttons that need the mod (attach, calibrate, laser test, wrap tape) say so instead of silently doing nothing. What the guns remember stays.
- Internal: only the one game type that is needed (
Hand) is imported instead of a whole game namespace, so a name in a future game update can never clash with Unity names and break the build.
0.4.0
- Eight strap models. Color and look > Strap model > Model (or Next model):
- Tactical webbing (the 0.3.0 look), Simple line,
- Leather: stitched leather with brass rings and buckle,
- Padded: webbing with a quilted cushion in the middle, like a shoulder pad,
- Paracord: a round cord with a cord lock,
- Twisted rope: three strands that wind around the rope,
- Chain: 60 steel links, every second one turned a quarter,
- Neon: a glowing cord with a light that runs along it. Colors work on every model; camo and your own picture also work on the band and cord models.
- The model is remembered per gun when you press Paint strap on last held item (together with color and texture).
- Charms hang from the strap: dog tag, carabiner or tassel (Strap model > Charm on the strap).
- The strap gets thinner when stretched (can be switched off).
- Four new wear spots: left hip, right hip, left thigh, right thigh (hips are on, thighs are off by default). Wear spots is now split into Upper body and Lower body.
- Feel presets (Settings > Feel presets): soft bungee, normal, stiff.
- Surprise me: one button picks a random model, color and charm.
- Six more strap colors: brown, orange, purple, neon green, cyan, pink.
- Wrap tape: optional new random color after every wrap (Wrap tape > New random color after every wrap).
- Config: new entries
Charm,StretchThin,TapeRandom;StrapModelnow goes 0 to 7. Old settings andguns.txtfiles keep working.
0.3.0
- Real-looking sling. The strap is now a flat woven band with a stitched edge, a metal ring at each end and a slide buckle, drawn with real shading instead of a flat line. The old plain line is still available: Color and look > More look options > Model, and the rings and buckle can be switched off there.
- Better automatic strap ends. Attach strap now puts the ends on the underside of the item (rear near the stock, front toward the muzzle) instead of through the middle of the model, so it hangs like a real sling. Calibrated and remembered guns are unchanged.
- No more red strap. The strap no longer turns red when stretched (it can be switched back on in More look options). The default color is now dark webbing, and the default width is a bit wider. Colors saved by 0.2.0 are replaced once by the new defaults; after that your changes stay.
- Wrap tape. Sling > Wrap tape > Start wrapping: a beam with a ring preview comes out of your free hand. Aim at any part of the gun (barrel, handguard, stock, grip, magazine) and press the trigger: tape winds itself around that part, with a rip sound and a buzz. Repeat for as many wraps as you like.
- Colors: 10 presets (yellow, black, olive green, tan, white, red, orange, blue, pink, neon green) and your own RGB. While the beam is on, A/X switches to the next color, B/Y undoes the last wrap (a second press ends the tool).
- Patterns: plain, warning stripes, camo.
- Shape: width, number of turns, distance from the part, and the winding axis (automatic by default).
- Wraps follow the gun, are remembered per gun name and come back when you pick that gun up again. Remove and forget clears them.
- Menu reorganized: Remove and forget now holds all removing options, Settings holds the laser and gun-memory pages.
- Quick draw is paused while the tape or calibration beam is on, so the trigger never does two things at once.
- Auto-attach to saved guns now counts only guns that really had a strap (tape alone does not make a gun "saved").
- Config sections are unchanged; new entries:
StrapModel,ShowHardware,ConfigVersion,TapeR/G/B,TapeWidth,TapeTurns,TapeOffset,TapeAxis,TapePattern.
0.2.0
- Wear spots: left shoulder, right shoulder, neck, chest, belly, back and a custom spot you save yourself. Every spot can be switched on or off and moved with sliders. The nearest spot to your hand wins, and the popup names the spot ("Sling attached - Belly").
- Hint dots on the enabled spots while you hold a strap. The spot that will catch the strap lights up.
- Manual strap calibration: a small laser with a dot, place the REAR end, then the FRONT end on the gun. Dots stay on the gun, then the strap appears between them. Laser hand, button, direction and tilt are configurable, and there is a laser test.
- Colors and looks: RGB sliders, presets (black, sand, olive, red, blue, white, camo), match-the-gun color, webbing / plain / camo textures, and your own picture from
UserData/WeaponSling/strap.png. A strap can be painted individually. - Gun memory: calibration and paint are remembered per gun (
UserData/WeaponSling/guns.txt). Optional auto-attach when you grab a remembered gun (or any held item). - Cross-body mode: shoulder strap that also pins to the opposite hip.
- Quick draw: with the strap worn, squeeze the trigger with an empty hand near the wear spot and the gun flies to your hand.
- Auto-fit strap length to the wear spot and body size. The body frame ignores small head turns, so belly and back stay put when you look around.
- World collision: the strap lies on the floor and stops at walls instead of sinking through them. Only static geometry counts, so it never shoves your body, the gun or loose props. Switch: Settings > Strap physics > Strap lies on floor and walls.
- Feedback: controller buzz and click sounds on attach and remove.
- The menu is split into short pages (8 entries or fewer each).
- Trigger + grip near a worn strap draws the gun instead of grabbing the strap, and calibration aims with the hand that does not hold the gun.
- A held gun is no longer pulled by its own strap (it only drapes), so it does not fight your hand.
- Config sections:
[Sling],[Sling_Style],[Sling_Wear]. OldShoulderDrop,ShoulderSide,ShoulderRadiussettings are replaced by per-spot sliders andWearRadius.
0.1.0
- First release.
- Physical two-handed strap, shoulder carry, "Sling attached" / "Sling removed" popups.
- BoneMenu settings.