#archived-modding-development

1 messages ยท Page 128 of 1

opal hearth
#

if fixes itself if i start walking to the right, so that's alright at least.

copper nacelle
#

do you have infinite grimm by any chance

compact sedge
#

I have no idea why but this is a bug in infinite grimm

opal hearth
#

it's installed but this run is like 20 min in

compact sedge
#

I literally cannot explain why it happens

#

sorry

young walrus
#

Probably why your menus are weird too

opal hearth
#

fair nuff. should i uninstall it?

compact sedge
#

uh sure if it's messing stuff up

#

I'm so sorry

copper nacelle
#

tbh might be lightbringer

compact sedge
opal hearth
#

i only installed it cuz it said to with the grimmchild upgrades so i was like ๐Ÿคท alright

copper nacelle
#

hooked the shop's item awake

#

for sprite changing

compact sedge
#

holy shit someone else uses grimmchild upgrades

#

I'd better fix that mod up a bit

copper nacelle
#

use objectpoolspawnhook when

opal hearth
#

i haven't yet. this is my first run with it installed

copper nacelle
#

reminder that objectpoolspawnhook is god

#

spending like 2 hours trying to edit spawn object from global pool when it exists is fucking terrible

compact sedge
#

wait so have you killed nkg yet

#

lex

#

since ur only 20 minutes in

#

I assume no

opal hearth
#

nope lol.

compact sedge
#

ok

#

maybe it's not a bug with infinite grimm

#

I know it's a bug with infinite grimm

opal hearth
#

i uh... didn't in my vanilla playthru yet either.. x.x

compact sedge
#

but it should only happen after you kill NKG

#

and if it's happening before then I'm super duper confused

#

if you're not speedrunning right now I'd remove it and see if it still happens and if so report it to 56 because that might be a lightbringer bug

opal hearth
#

alrighty.

#

i will probs never speedrun, not my thing. :\

#

aka i'm not good at it

young walrus
#

Nobody is at the start

opal hearth
#

oh, no i mean i'm not good at it with any game lol

young walrus
#

Again.... Nobody is at the start

leaden hedge
#

people git gud with practice

opal hearth
#

๐Ÿคท

young walrus
#

I've run other games and my first ever HK run was 1.5 hours

copper nacelle
#

@compact sedge i meant the menu thing

leaden hedge
#

the implication that you can not git gud is false and extremely dumb

#

brolylegs is an invite level street fighter player with muscle dystrophy

copper nacelle
#

p sure my function fails half the time but it shouldn't break

leaden hedge
#

he plays with his mouth

#

and he got good

copper nacelle
#

i'll go fix that

leaden hedge
#

you're just lazy

opal hearth
#

or i'm just disinterested

compact sedge
#

ok but why the fuck would IG break the camera when you haven't killed grimm at all when it doesn't even do anything at that point

#

what

copper nacelle
#

why would lightbringer break the camera when it doesn't even touch the camera

young walrus
#

Because bugs

opal hearth
#

there's only so many things in life we're capable of gitting gud at, speedrunning isn't one i'm looking to git gud at

leaden hedge
#

then why even play the game at all

compact sedge
#

this game is broken

leaden hedge
#

there isn't a limit of how many thing you can git gud at

#

and speedrunning is a single skill

young walrus
#

Sure there's a limit. Lol

#

Lots of limits

compact sedge
#

git gud at shit u care about

opal hearth
#

idk why i'm being shit on for not caring about speedrunning lol. i play vidya games for other reasons.

young walrus
#

^

vagrant leaf
#

@copper nacelle stop making ur readmes .mds

copper nacelle
#

no

vagrant leaf
#

why

leaden hedge
#

because you said you'd never get good at, implying that you don't like it because you're bad

vagrant leaf
#

ree

compact sedge
#

what

leaden hedge
#

which implies people are magically good at things

compact sedge
vagrant leaf
#

wrong

compact sedge
#

ur a dungo

vagrant leaf
#

its gay

#

i cant even open .mds

leaden hedge
#

yeah you can

compact sedge
#

hey

leaden hedge
#

its a text file

compact sedge
#

have you tried notepad

vagrant leaf
#

yes

copper nacelle
#

any text editor

#

literally open it

compact sedge
#

I mean I knew you were bad with computers when you spent money on discord nitro

vagrant leaf
#

excuse me what the fuck

copper nacelle
opal hearth
#

where do i put this?

copper nacelle
#

mods folder

#

replaces old one

opal hearth
#

also, the camera bug seems fine now.

copper nacelle
#

might fix weird menus

#

neat

opal hearth
#

the charms still have no symbols in the shop but i'll try this DLL

copper nacelle
#

ty

rain cedar
#

Check modlog for errors

compact sedge
#

could loading dirtmouth twice cause camera errors

#

that's literally the only thing I could think of

#

and if so... wtf

#

worth a shot trying to fix I guess

opal hearth
#

at the very least, that error seems to be fine w/o it installed.

copper nacelle
#

but did the sprites fix

opal hearth
#

game is still startin up :3

compact sedge
#

ok guess loading dirtmouth twice does break it

#

aaaaaaaaa

#

this might cause weird behavior after killing NKG for the first time

#

but

opal hearth
#

nope, that didn't fix the sprites x.x

compact sedge
#

ok updated the modlinks

#

hopefully this breaks nothing

#

newest infinite grimm shouldn't have any camera problems in dirtmouth

opal hearth
#

oh shit, neat.

#

well, while you're here, does having infinite grimm on keep you from like, actually beating him the first time

compact sedge
#

no

opal hearth
#

ok good

compact sedge
#

you need to beat him once to unlock infinite grimm

opal hearth
#

cool cool

#

so uh, how do i check the mod error log

copper nacelle
#

reee that should've fixed sprites

#

if it was lightbringer's fault

opal hearth
#

ree indeeb. hrm.

copper nacelle
#

literally just

#
        private void Awake(On.ShopItemStats.orig_Awake orig, ShopItemStats self)
        {
            orig(self);
            if (!self.playerDataBoolName.StartsWith("gotCharm_")) return;
            string key = "Charms." + self.playerDataBoolName.TrimStart("gotCharm_".ToCharArray());
            if (Sprites.ContainsKey(key))
                GetAttr<GameObject>(self, "itemSprite").GetComponent<SpriteRenderer>().sprite = Sprites[key];
        }
opal hearth
#

the weird thing is i didn't change ANY mods i had installed between the non randomized run i was ditzing around with yesterday and my randomized one today. i didn't have any sprite issues then.

copper nacelle
#

weird

opal hearth
#

i can't imagine why that would happen.

rain cedar
#

Modlog

copper nacelle
#

^

#

in saves folder

#

Save Files: %APPDATA%\..\LocalLow\Team Cherry\Hollow Knight\

rain cedar
#

My best guess is TrimStart maybe fucks with the string instead of just returning a new one

compact sedge
#

this is kinda weird and obscure but is there a way to render sprites that lets them overlap without their alphas adding?

opal hearth
#

should i pastebin this?

compact sedge
#

because the alternative is this weird and annoying 0-1px gap caused by int rounding

#

I can't figure out how to fix

copper nacelle
#

you can just send the file

#

either works

opal hearth
solemn rivet
compact sedge
#

are you trying to run every mod at once

copper nacelle
#

infinite grimm failed to load

opal hearth
#

as far as i could tell, these are supposed to be compatible

dusky lion
#

Running every mod in the Google Drive at once h

compact sedge
#

the new one I just updated

copper nacelle
#

idk it's just in the modlog

dusky lion
#

That would be the ultimate experience

compact sedge
#

what

dusky lion
#

Of crashing

compact sedge
#

oh

#

no

#

wait

#

what did I do wrong this time

copper nacelle
compact sedge
#

that's grimmchild upgrades unable to find infinite grimm

copper nacelle
#

idk why it got rid of the m

compact sedge
#

and I would have fixed that but I thought I was the only grimmchild upgrades user

#

so I never bothered

rain cedar
#

emes

compact sedge
#

I'll fix it if I can find a fix for sprite int rounding memes

leaden hedge
#

does csharp not have array slices ๐Ÿ˜ 

dusky lion
#

Mantis Lords became the Mantis Gods and now the Lost Kin is becoming the Lost Lord

copper nacelle
#

yes

dusky lion
#

Took their place

opal hearth
#

wtf

dusky lion
#

Now make Lost Kin spawn 3 of them

opal hearth
copper nacelle
#

wtf

#

do you have 2 dlls in your mods folder

#

wtf

#

trim start

#

trims any chars in the array from the start

dusky lion
#

Do you have 2 classes in your .dll

copper nacelle
#

not what i thought it did

rain cedar
#

Use substring

opal hearth
#

ohh, when you sent the updated lightbringer, i renamed the first one to lightbringer-backup thinking it wouldn't try to load it

compact sedge
#

Grimmchild Upgrades is not gonna work without infinite grimm and delete lightbringer-backup

copper nacelle
#

or name it lightbringer-backup.dll.bak or something

compact sedge
#

and I'll fix the upgrades one later today I guess once I figure out unity sprite memes

copper nacelle
#

also swapping to substring rn

opal hearth
#

the sprites are back.

copper nacelle
#

wtf

opal hearth
#

it might've been the lightbringer-backup

#

so whatever you fixed worked, it was just me not putting .bak at the end.

#

also angle, uninstalled, reinstalled infinite grimm, not having the camera error

dusky lion
#

Maybe it was just Lightbringer

#

First time I used Lightbringer none of the specially made sprites loaded in

#

And the 2nd time I launched the game it was perfectly fine

compact sedge
#

yeah I updated IG to fix it

copper nacelle
#

i fixed that bug i think

opal hearth
#

interesting

compact sedge
#

ok can someone tell me how to fix the y positions not always being perfect. is there sprite anti-aliasing I can do or something in unity?

#

notice the occasional 1px gap and 1px overlap between the cap and the trail

dusky lion
#

Inb4 Mystery pin

compact sedge
#

I didn't put it in meme so I hope not

hazy sentinel
#

just slap a 1 pixel rectangle in between them intenseface

compact sedge
#

but sometimes they overlap

#

I actually tried something similar tho

#

and when they overlap it's even worse because as they fade out you get a really bright line

#

caused by the two semi-transparent sprites both glowing

dusky lion
#

The sizes of the trail and caps are not procedural themselves, right?

compact sedge
#

no

copper nacelle
#

wow 0/10 not 100% procedural

compact sedge
#

I think the problem is that the screen position of the cap and trail is rounded

#

to the nearest pixel

#

and not

#

allowed to be in between pixels

#

idk tho

#

does anyone here even develop stuff for unity outside modding other than sean?

opal hearth
#

oh my god lol

#

guys

hazy sentinel
#

can you like

dusky lion
#

If Sean is the exception just ask him

hazy sentinel
#

floor both the y positions

#

or is that not a thing

opal hearth
#

now with the updated sprite thing in light bringer, i actually have a lance. before i just had like, a sword beam

copper nacelle
#

tf

opal hearth
#

i thought i just hadn't gotten the right charm

dusky lion
#

That same thing happened to me h

compact sedge
#

idk how I'm just telling the sprite to draw at a certain position in the game world. and then unity in the back end draws the sprite on screen

copper nacelle
#

i didn't even change that

#

w t f

compact sedge
#

based on your camera position

opal hearth
#

this changes everything lol

copper nacelle
#

reeeee that should've worked the first time

leaden hedge
#

what are you using spriterender or tk2d

copper nacelle
#

and i've never gotten the bug either

#

tk2d

compact sedge
#

spriterenderer

#

and he's using tk2d

opal hearth
#

i'm so sorry 56. i don't know what's going on. i thought that was working as intended

leaden hedge
#

which shader are you using

dusky lion
#

56 I thought you hated tk2d

copper nacelle
#

i do

compact sedge
#

idk I didn't add any shaders so I guess the unity default one?

#

I just have a unity game object with a spriterenderer

rain cedar
#

Wait hold up I don't develop for Unity outside of modding

#

I hate Unity

#

It's fucking garbage

compact sedge
#

how do you know so much then

rain cedar
#

Modding

copper nacelle
#

cause sean is sean

#

simple

compact sedge
#

dang

leaden hedge
#

probably pixel perfect is enabled

#

just align your sprites correctly in code smh

compact sedge
#

Let's pretend I can't

#

or if I can I have no idea how

#

consider they have to be rotated

copper nacelle
#

@opal hearth was the modlog you gave when the sword beam was there instead of the lance

compact sedge
#

and I can be 100% sure that their float positions are right

#

but not their actual int pixel positions

dusky lion
#

Modlogs only appear after crashing wha

opal hearth
#

yeah that's when it was still swordbeam

copper nacelle
#

[INFO]:[Lightbringer] - Changed Sprite: Lances REEEEEEEEEEEEEEEEEEEEEEEEEEEE

dusky lion
#

Unless I'm gay which don't rule that out

compact sedge
#

wtf is ur name finch

dusky lion
#

e

copper nacelle
#

it's 59

opal hearth
#

also should i be getting a lance when i swing up and down or should that still be a nail swing?

rain cedar
#

LVIX

compact sedge
#

LIX u fuckn uncultured swine

dusky lion
#

Oh Roman numerals I do not exist

rain cedar
#

Shit I fucked up too

compact sedge
#

4 I in a row doesn't

dusky lion
#

I thought it was just the number of Is continuously going up

copper nacelle
#

never more than 3 in a row

dusky lion
#

Not roman numberals

#

e

leaden hedge
#

CDXX

hazy sentinel
#

XD

copper nacelle
#

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

#

uhh

opal hearth
#

should swinging up or down be a lance or the nail?

copper nacelle
#

nail

#

did you change anything before it became a lance

#

cause i'm confused as shit

opal hearth
#

okay, that's working well.

leaden hedge
#

if you have to rotate them good luck tbh on the sprite thing

compact sedge
#

uhh gr8 advice

leaden hedge
#

I'd recommend rendering them to a mesh

opal hearth
#

nah i just put your DLL in the folder

compact sedge
#

how I'd love to

copper nacelle
#

c o n f u s i o n

leaden hedge
#

well you can

#

its not hard ๐Ÿค”

copper nacelle
#

i mean i could run it on scene load too i guess

#

idk

opal hearth
#

and after deleting the previous lightbringer DLL that i called a backup, it's working as intended.

compact sedge
#

ugh ok I'll steal 56's floor code cuz it's the only mesh rendering code I know of

#

or maybe

leaden hedge
#

default shader won't be transparent but you can probably just steal the tk2d one

opal hearth
#

i was so confused as to when i'd end up with a big lance thing lol

compact sedge
#

screw it no caps on flame trail

copper nacelle
#

caps looks so much better tho

#

reee

compact sedge
#

I'll just add an effect to make them look less crap

opal hearth
#

apparently i never would've x.x

leaden hedge
#

oh

compact sedge
#

pseudocaps

leaden hedge
#

did you try putting them on the same object

#

as children of one

#

and then rotating the parent

compact sedge
#

uh can you have multiple spriterenders on one object

#

that's what I'm doing

#

but I can't put the caps on until after its rotated

#

for reasons

leaden hedge
#

and its misaligned vertically ๐Ÿค”

copper nacelle
#

@opal hearth did all the other sprites work

#

besides the lance

compact sedge
#

maybe it's because I'm forced to rotate the front cap an extra 180 degrees

            GameObject trailCap1 = new GameObject("redwingTrailCap1", typeof(SpriteRenderer),
                typeof(redwing_trail_cap_behavior));
            trailCap1.transform.parent = gameObject.transform;
            trailCap1.transform.localPosition = Vector3.zero;
            Vector3 trailParent1Eulers = gameObject.transform.rotation.eulerAngles;
            trailParent1Eulers.z += 180;
copper nacelle
#

also was the lance in your inventory

compact sedge
#

maybe that messes it up

copper nacelle
#

cause it's supposed to replace the nail in your inventory too

compact sedge
#

maybe I should make 2 sets of caps one facing one way and one the other way

leaden hedge
#

I dunno

opal hearth
#

i'm not sure what other sprites i'm looking for.

leaden hedge
#

did you try getting it to work in unity editor

copper nacelle
#

like

#

charms

#

and the inventory one

compact sedge
#

no fuck the unity editor way too much work

copper nacelle
#

my inventory one doesn't work for me

#

kill me

opal hearth
#

okay, so it is a lance in my inventory now. it wasn't before.

copper nacelle
#

fucking

#

reeeeee

compact sedge
#

esp since the way these trails are rendered

#

is based on the knight's movement

#

so

#

like

#

sounds like a PITA to port to unity editor

leaden hedge
#

you don't have to do any of that though ๐Ÿค”

opal hearth
#

also i actually still haven't gotten any charms. the randomizer gave me mothwing, shade, and mantis claw to start with and i haven't tried progressing any further since i started encountering the bugs

leaden hedge
#

just have a thing you can rotate and set the length of

copper nacelle
#

what about last playthrough

#

wasn't last playthrough also lightbringer

#

also pink gruz mother

compact sedge
#

I'll try two different sets of caps for the left and right side so no unique rotation needed and if that doesn't work then no caps or pseudocaps or weirdly colored caps or some caps that make it look ok

#

unless

#

can you build a sprite out of multiple texture2ds

opal hearth
#

the last playthru was also lightbringer, and the gruzmama was pink and a pain in my ass

leaden hedge
#

not quickly but yeah I guess ๐Ÿค”

copper nacelle
#

ok

#

so at least that works

opal hearth
#

i didn't finish that playthru, i was going to today and was like naaah i'll just start a randomized one

copper nacelle
#

finna put changesprites in like 6 different places

#

ez

compact sedge
#

ok I could premerge the first cap and the trail but I'd have to wait until the end to merge the end cap with the trail because I don't know when the end cap happens

opal hearth
#

"finna" oh no, i'm among my people.

copper nacelle
#

i just threw it in charm update and scene loaded

#

if this doesn't work

#

i die

dusky lion
#

56 dies rejoice

opal hearth
#

should i reupdate?

copper nacelle
#

not rn still testing

opal hearth
#

kk

leaden hedge
dusky lion
#

Use line tool imo

leaden hedge
#

paint doesn't have line tool

opal hearth
#

oh idr if i mentioned yesterday but i tested on a number of enemies, blackmoth doesn't seem to lower lance damage at all.

leaden hedge
#

oh wait it does

opal hearth
#

paint definitely has a line tool lmao

dusky lion
#

really makes u think

#

To quote 56

opal hearth
#

wtf is paint 3d is that a windows 10 thing

dusky lion
#

Yes

#

I have never touched it I have no clue what it does

#

I will do that now

opal hearth
#

hah. welp, one day i'll have a better processor. then i can stream and whatnot. yay

leaden hedge
dusky lion
#

haha

#

yes

copper nacelle
compact sedge
#

ok so here's the problem. I don't know how long the middle part is. the middle part grows over time and the end cap shouldn't be placed until the middle part is finished growing

leaden hedge
#

well I don't see how that matters

compact sedge
#

no I mean the length of the middle part is variable

leaden hedge
#

I don't see how that matters

rain cedar
#

It's variable length but you should still know the length of it, yeah?

compact sedge
#

my point is this. isn't making a composite texture like this at runtime really expensive?

rain cedar
#

Probably

leaden hedge
#

you wouldn't make a composite texture

#

its uv mapped

compact sedge
#

IDK what these words meme

#

mean

leaden hedge
#

uv mapping is how gpus do texture lookups

#

so you basically say the bit at the left of your mesh used the left 40% of your texture

#

the center uses the center 20% and the right uses the right 40%

#

and no matter how much your mesh changes it'll just stretch the texture across the mesh

compact sedge
#

this seems like a giant rabbit hole and I have no idea where to start

leaden hedge
#

however you'd just hide the end cap until it starts to spawn

compact sedge
#

Maybe I'll look into this. might be a good idea for when I add nukes

leaden hedge
#

uv mapping isn't that complicated

compact sedge
#

any good documentation on doing it in code in unity

#

or is this the part where I really need the editor

leaden hedge
#

I'd probably mess around with it in editor but meshes aren't that complicated

#

they are just an array of vertices, normals and uvs

#

and each uv is mapped to a vertex, and the shader interps between them to figure out what to draw

#

so if you had a quad with the uvs (0,0) (0,0.5) (0.5,0) (0.5,0.5) it'd read from the top left half of your texture

compact sedge
#

ur bringing up bad engineering memories

leaden hedge
#

oh and theres an array of triangles

opal hearth
#

uh, so nailsmith said "upgrade nail to strengthen dash", is this not going to strengthen my lance too, or should i be doing another run without blackmoth?

leaden hedge
#

which are just positions of vertices in the vertex array

compact sedge
#

it depends on how lance damage is calculated

leaden hedge
#

i.e. (0,1,2) is make a triangle with the first 3 vertices

copper nacelle
#

lance is directly from nailsmith upgrades

#

iirc

#

so it should strengthen

leaden hedge
#

although theres a 50% chance that faces the wrong way intenseface

compact sedge
#

yeah

#

ok

#

so

#

if you wanna know

#

blackmoth makes the nail do 1 dmg

#

by hooking on hit instance

#

and checking if the attacking gameobject has "Slash" in the name

opal hearth
#

all my testing yesterday had me killing enemies in the same amount of hits with and without blackmoth active

compact sedge
#

so it depends on how 56 programmed the lance I guess

opal hearth
#

i don't mod, idk anything about programing. what's hooking besides being a twitch thot?

compact sedge
#

it means that every time HitInstance is run

#

it runs the blackmoth code

#

and the blackmoth code can modify the hitInstance damage

#

hitinstance is a thing that happens whenever an enemy is hit

#

or for each frame you're using an attack like cdash or sharp shadow

copper nacelle
#
            HeroController.instance.playerData.beamDamage =
                3 + HeroController.instance.playerData.nailSmithUpgrades * 3;
leaden hedge
#

not using getint

#

b&

copper nacelle
#

re

compact sedge
#

it doesn't matter how you set the beamDamage if the beam hit instance object has Slash in the name

#

but it doesn't

#

probably

#

because it's a beam

copper nacelle
#

grubber fly beam

#

Grubberfly BeamL/D/R/U

leaden hedge
#

whens 8 direction attacks

copper nacelle
#

never

leaden hedge
#

nice

compact sedge
#

just use the grubberfly beam with blackmoth

#

and by beam I mean your body

opal hearth
#

i don't have it yet

compact sedge
#

once you get it go kill infinite grimm and mantis gods

#

shouldn't be too hard

copper nacelle
#

kill infinite grimm

#

big think

compact sedge
#

do 3000 dmg in one frame

#

it might kill him

#

not 100% sure

#

I didn't make his health actually infinite

copper nacelle
#

add an component with an ondestroy that spawns another one

leaden hedge
#

add an component with an ondestroy that spawns another two intenseface

compact sedge
#

I hate when I'm an idiot and get a null ref because I did something stupid

#

and then I have to relaunch the game to test the fixed one and it takes 45 secs

copper nacelle
#

put hk on a ramdisk and dnspy out the tc screen

compact sedge
#

so why isn't a gameobject's rotation set to the parent's rotation automatically?

leaden hedge
#

it should

finite thistle
#

fun fact in the last version i played cyclone slash actually worked perfectly fine with blackmoth
as in it did normal damage

#

instead of low damage

compact sedge
#

yes cyclone slash doesn't have Slash in the gameobject name

#

it's called Whirlwind iirc

copper nacelle
#

ironic

finite thistle
#

good meme

compact sedge
#

look the whole blackmoth damage thing is so silly and what's even sillier is the way I had to undo it

#

which is by effectively rewriting TC's damage calculation code

copper nacelle
#

add an instance var to blackmoth via pr and then unhook its hook

compact sedge
#

it has an instance var

#

I could probably use that lul

finite thistle
#

game keeps saying thee's a new version of debug available

copper nacelle
#

unhook its hook

#

ez

#

unity broke the version check

#

ignore it

finite thistle
#

is it not built for lifeblood or some shit

#

also enemy scan no longer works

compact sedge
#

but I'd be throwing away lots of good code I wrote

leaden hedge
#

do you even need an instance to remove other mods hooks

finite thistle
#

cant clone markoth anymore sadgrub

copper nacelle
#

no

compact sedge
#

like 3 hours of good code

copper nacelle
#

you can reflection it iirc

compact sedge
#

oh wait no I can't do it @copper nacelle becuase if I unhook it sharp shadow will do normal damage

#

and I don't want to override the blackmoth sharp shadow dmg

copper nacelle
finite thistle
#

wait so the enemy panel is just busted or

copper nacelle
#

lifeblood broke it

finite thistle
#

cool

#

and

copper nacelle
#

dll i just attached has it fixed

finite thistle
#

good

#

thank

rain cedar
#

I'm still gonna wait like a year to accept the pr

copper nacelle
#

re

finite thistle
#

maybe i'll finally get around to mantis gods too

leaden hedge
#

he has more important things to fix

copper nacelle
#

typos

leaden hedge
#

like random typos in the comments of modhooks

compact sedge
#
            double multiplier = 1;
            float fsmMultiplier = 1;
            if (PlayerData.instance.GetBool("equippedCharm_25"))
            {
                multiplier *= 1.5;
            }
            if (PlayerData.instance.GetBool("equippedCharm_6") && PlayerData.instance.GetInt("health") == 1)
            {
                fsmMultiplier = 1.75f;
            }

            if (hitter.GameObject.name.Contains("Great"))
            {
                multiplier = 2.5 * fsmMultiplier;
                fsmMultiplier = 1;
            }

can I just point out I need two separate multipliers for nail damage in this stupid game.

finite thistle
#

hk code is quality

#

top notch

#

10/10

compact sedge
#

because multiplier rounds nearest and fsmMultiplier is a float that always rounds down and applies AFTER the first mulitplier

#

and order of multipliers matters when you round

#

also notice how great slash doesn't use the fsmMultiplier for FotF but regular slash does

#

also I'm 85% sure you can substitute dash master for nailart master and still get the 1.75x bonus on great slash at 1 hp. but that might have been a blackmoth thing

#

and I swear to god if that second to last sentence is true I'm quitting HK modding

#

nvm I think the wiki is wrong and FotF always applies to greatslash

#

ok when I don't rotate the caps they appear inside the trail sprite

#

time to learn meshes

#

fuck

#

fuckkkkkkkkkkkk

#

I don't even know where to start

rain cedar
#

Look on the bright side

#

This game will always be better to mod than salt & sanctuary

#

Code for respawning the character in that

CharMgr.character[PlayerMgr.GetMainPlayer().charIdx].update.Respawn(PlayerMgr.GetMainPlayer());```
compact sedge
#

TBH I could port redwing to almost any unity game.

#

so long as it had half-decent mod hooks

#

and a player with a transform I could use

#

ok @leaden hedge you know any good guides for learning this stuff because all I found was a reddit post with 1 vote, 2 answers one telling me to use a random asset store package and the other asking me why I would do that when I could just render the sprite directly

rain cedar
#

The wonders of looking up unity questions

leaden hedge
compact sedge
#

so what if I wanna add a second quad to the mesh

leaden hedge
#

add 6 vertexes instead of 4

compact sedge
#

and 8 for a third one

leaden hedge
#

and add 2 extra tris

compact sedge
#

and the vertexes represent the size in game right?

leaden hedge
#

yeah the position of that vertex

compact sedge
#

and if I do all this it should also make my fire affected by the lighting of the scene, right?

leaden hedge
#

there is no lighting

compact sedge
#

what about the like blueness of dirtmouth

#

how is that done

leaden hedge
#

itd depend on the material though

buoyant obsidian
#

I think the blueness is just post processing

#

you can edit a lot of that

#

I remember making the saturation and lighting color crazy for a Shitmodst 2 concept

leaden hedge
#

its not lighting either way

#

the materials are unlit

compact sedge
#

why aren't my quad triangles generated automatically

#

like why set them by hand

leaden hedge
#

it doesn't know what direction you want them

compact sedge
#

why would it matter

leaden hedge
#

because it'll either face inwards or outwards

#

faces only render one way

compact sedge
#

ok and I'm using meshfilter or meshrenderer or what

leaden hedge
#

also for more complex shapes it has no chance of guessing how your vertices are combined

#

its a meshrenderer you want

compact sedge
#

ok cuz tutorial uses meshfilter

compact sedge
#

oh I see I gotta combine the texture2ds beforehand

#

huh

#

this just might work

opal hearth
compact sedge
#

ok so how to I tell my game to map the first x pixels of my texture2d to the first quad and the second x pixels to the second quad etc etc

#

that's where I'm lost

leaden hedge
#

the uv variable

compact sedge
#

ohh I see

#

so like this then?

uv = new Vector2[8]
                {
                    new Vector2(0, 0),
                    new Vector2(0, 1),
                    new Vector2(leftCapWidthPercentage, 1),
                    new Vector2(leftCapWidthPercentage, 0),
                    new Vector2(leftCapWidthPercentage + middleWidthPercentage, 1),
                    new Vector2(leftCapWidthPercentage + middleWidthPercentage, 1),
                    new Vector2(1, 1),
                    new Vector2(1, 1)
                }
leaden hedge
#

yeah I guess that might work

compact sedge
#

there's no way this code is gonna work

#

I really hope it works tho because I have no idea how to debug it if not

#

ok nothing appeared but no exceptions

#

oh I forgot my triangles

flat forum
#

HMMM

compact sedge
#

I'm going to sleep. I'll figure this crap out tomorrow

flat forum
#

ok

#

have a nice night

#

Radiant Dreams

compact sedge
#

Will do elderbug

opal hearth
#

anyone know why the grass in the dream world is always at max volume even if in game volume is turned down?

leaden hedge
#

good code

opal hearth
#

good answer

rain cedar
#

External volume slider always

#

I don't trust a single program to obey its internal volumes

opal hearth
#

i suppose that isn't a terrible idea

rain cedar
#

I think dnspy can't actually handle nested switches

#

When I edit methods with those without touching the switch at all it's compiling them to non-equivalent if statements

leaden hedge
#

wouldn't surprise me

#

who would actually code nested switches

rain cedar
#

The salt and sanctuary devs

#

The one I'm working with right now is

switch(num)
{
case 1:
case 2:
     switch (num)
     {
     case 1:
          //stuff
          break;
     case 2:
          //stuff
          break;
     }
     //stuff
break;
default:
//stuff
}```
leaden hedge
#

๐Ÿค”

#

that doesn't even make sense

rain cedar
#

If I edit stuff in the same method it gets changed to some shit that makes no sense like this

if (num - 1 >= 1)
{
     //stuff
}
else
{
     //stuff
}```
leaden hedge
#

thats literally

if( num == 1 || num == 2 ){
    if( num == 1)
        //stuff
    if(num == 2)
        //stuff
} else {
    //stuff
}
rain cedar
#

Yes that's what I've edited it to

leaden hedge
#

you can probably just do

if( num == 1  )
    //stuff
else if ( num == 2 )
    //stuff
else 
    //stuff
rain cedar
#

You're forgetting the stuff right after the nested switch

leaden hedge
#

oh

#

yeah I guess the first one makes the most sense then

rain cedar
#

The best part about this game is it's not unity

#

The worst part is the devs like switches way too much

#

Also ternary

leaden hedge
#

I don't know how that got past the compiler

rain cedar
copper nacelle
#

wtf

leaden hedge
#

hey nothing wrong with ternaries

#

switches are gay though

rain cedar
#

There's everything wrong with ternary when you use it like that

leaden hedge
#

it was probably formatted better precompiler

rain cedar
#

Hopefully

copper nacelle
#

wtf

#

isn't goto like a sin

vagrant leaf
rain cedar
#

Randomizer has goto

#

But only for explicit fallthroughs in switches

#

Also idk man that screenshot looks perfectly fine

copper nacelle
#

@vagrant leaf good things

#

is .18 seconds too fast to react to

leaden hedge
#

no

rain cedar
#

That's reactable

vagrant leaf
#

what are misc skips

#

also what do restrictions do

rain cedar
#

Skips that don't fit in the other categories

#

Miscellaneous

copper nacelle
#

requirements to beat game

vagrant leaf
#

ah

copper nacelle
#

how long can i go with it still being reactable

vagrant leaf
#

but give like

#

example of a misc skip

copper nacelle
#

.15 seconds felt like living death

leaden hedge
#

like .14

rain cedar
#

Make it 0 seconds

copper nacelle
#

i did that

#

severe agony

rain cedar
#

Reactable but only if instead of reacting you get lucky

copper nacelle
#

i mean it also plays the anim

#

so it's a bit more than .18 rn

leaden hedge
#

are you reacting to visual or audio stimuli

copper nacelle
#

both idk

rain cedar
#

Audio is easier

leaden hedge
#

.25s for visual .15s for audio

#

are in the comfy range for pretty much everyone on the planet

copper nacelle
#

so then i'll do like .2

vagrant leaf
#

enemy rando is fuck

copper nacelle
#

what

vagrant leaf
#

king's pass is just filled with husks but when i kill them crystal hunters come out

copper nacelle
#

nice

vagrant leaf
#

are enemies coming out of dead enemies normal things

rain cedar
#

Wtf I can't use dnspy for shit around these switches

#

It just breaks all of them

copper nacelle
#

if you have a .edu email you could try like

#

the jetbrains one

leaden hedge
#

just look at startup on overheads on any professionally made fighting game to see how fast something should be to be reactable

rain cedar
#

Whatever the fuck that is

#

No way it works

leaden hedge
#

that will work

copper nacelle
#

wtf

leaden hedge
#

its a hashtable

#

thats what it should be

rain cedar
#

Ok but readability of that is -20

leaden hedge
#

well yeah because its not supposed to be read

rain cedar
#

And it won't recompile because of the <PrivateImplementationDetails> thing

leaden hedge
#

its supposed to be fast

copper nacelle
#

jeez the difference between .2 and .18 is absurd

vagrant leaf
#

also do you have to restart game for enemy rando changes to not die

copper nacelle
#

wdym

vagrant leaf
#

if you mess with enemy rando settings

#

do you have to go back to title

#

and back in

copper nacelle
#

uhh

#

idk

vagrant leaf
#

is this traitor lord

copper nacelle
#

square is my favorite enemy

#

very difficult

vagrant leaf
#

it's making traitor lord noises

#

and when the traitor lord title card showed the scream effect came from that direcion

#

please fix

rain cedar
#

No

vagrant leaf
#

sad

rain cedar
#

If you just wait like 12-15 years for Kerr's dog to die he'll get back to modding

leaden hedge
#

assassinate the dog

#

its the only option

dusky lion
#

Alternatively assassinate Kerr and the dog will continue to make mods

#

The quality of the mods themselves I cannot guarantee

exotic dune
#

depends on which dog kerr has
undertale turned out alright

dusky lion
#

I hate to be a complete idiot but attempting to download the enemy types for Enemy Randomizer results in this. 56 says I simply don't have enough ram but he wants confirmation on that.

rain cedar
#

download hollowwoke

dusky lion
#

wha t

copper nacelle
#

download the enemy types

rain cedar
#

But yeah that's an out of memory error

#

Get more ram

dusky lion
#

I want to cease exist

#

Is 8 gigabytes not enough?

rain cedar
#

I guess not

#

Close chrome

#

It uses like 15

copper nacelle
#

^

rain cedar
#

Really though 8 GB isn't enough anymore

#

I'm over 8 just with all my normal shit open

#

No games running

dusky lion
#

Closing everything did not work

#

Well guess I'll die

rain cedar
#

Show memory usage in task manager

dusky lion
#

Keep in mind I had everything besides HK closed

rain cedar
#

Maybe you can allocate more to HK somehow

#

It's probably not using all that's available

#

Also wtf 93% disk

dusky lion
#

Oh shit I didn't even notice that

#

Now it is at 1-2%

#

What even

rain cedar
#

Very nice

dusky lion
#

After one computer crash Hollow Knight has the most priority for memory

#

Can confirm it did not work

#

Death is nigh

rain cedar
#

Guess you'll have to play other mods

ornate rivet
#

what's the difference between public void Start() and public override void Initialize()

opal hearth
#

uh so i just dreamnailed lurien, went and did that lil dream bit. and i'm stuck on a white screeb now

leaden hedge
#

Start is for monobehaviours

#

Initialize is for mods

ornate rivet
#

ok thanks

rain cedar
#

@opal hearth That's a vanilla game bug

opal hearth
#

oh. fair enough, thanks

ornate rivet
#

how do I start a coroutine

#

I tried using StartCoroutine(some coroutine);

#

but because my class isn't a monospace it gives errors

#

also, are coroutines like threads in java?

leaden hedge
#

no

ornate rivet
#

ok then

leaden hedge
#

you need a monobehaviour to run a coroutine

#

just doing something like

    GameObject go = new GameObject();
    go.addComponent<MyComponent>();

and put your StartCoroutine in the Start() function of your MyComponent class

ornate rivet
#

ok thanks

#

the MyComponent class should be a monobehavior?

rain cedar
#

Yes

ornate rivet
#

ok thanks

rain cedar
#

You don't actually need a new class

#

I'm like 90% sure this works

new GameObject().AddComponent<MonoBehaviour>().StartCoroutine(stuff());
ornate rivet
#

ok I'll try it

#

it says cannot implicitly convert unityengine.coroutine to unityengine.gameobject

rain cedar
#

Then don't try to store a coroutine in a gameobject

#

I'm assuming right now you have something like

GameObject thing = new GameObject().AddComponent<MonoBehaviour>().StartCoroutine(stuff());
ornate rivet
#

oh

#

I understand now

#

thanks

tight swan
#

do i need to download "Scenes.rar" in the enemy randomizer thing

compact sedge
#

no

#

but you do need modcommon

tight swan
#

and that is?

compact sedge
#

a mod

#

in the drive

tight swan
#

ok i have both enemy randomizer and modcommon

solemn rivet
#

and the API

tight swan
#

ok done

solemn rivet
#

now sacrifice a goat to the gods

tight swan
#

how do i draw the pentagram

solemn rivet
tight swan
#

which animals' blood zote

solemn rivet
#

if you need more help, you can check the pins

#

if that's not enough, just ask here

tight swan
#

uhh k

compact sedge
#

idk that pins give good instructions on installing for mac

#

basically

#

right click on the hollow_knight.app

#

and there's some folder in there that has assembly-csharp.dll in there

#

in that folder copy your new assembly-csharp (overwriting the old one) and also the mods folder

solemn rivet
#

oh mac

compact sedge
#

mac has a BS file system structure for the HK install

#

idk why

#

I blame unity

solemn rivet
#

yeah, it's not that hard to find

#

check every Managed folder

#

one of them is the right one

tight swan
#

can't find it

compact sedge
#

ok so let's clear a few things up

#

are you on the public beta

tight swan
#

just left

compact sedge
#

you can be on it if you want

#

but

#

you have to tell me if you're on it or not

tight swan
#

not on it

compact sedge
#

ok

#

question 2

#

which modding api did you download

tight swan
#

1.3.1.5 Mac OS

compact sedge
#

ok

#

believe it or not

#

that's the wrong one

#

download the windows one

tight swan
#

uh k

solemn rivet
#

wut

compact sedge
#

wyza's silly

#

the mac and linux ones are out of date

#

by a lot

#

and the assemblies are identical

#

it's just the folder structure difference

#

actually that's not quite true

#

the assemblies are slightly different which causes a few bugs on mac and linux lifeblood stable

#

but on lifeblood beta they're the same

#

100%

tight swan
#

ok i got the windows one

compact sedge
#

ok now can you right click your hollow knight app

#

and show contents

tight swan
#

yes

compact sedge
#

ok so in Contents-> Resources -> Data -> Managed

#

put the modding api assembly and make a folder called Mods

#

capital M

tight swan
#

ok found it

compact sedge
#

and in the mods folder

#

put your mods you want to install

hazy sentinel
#

step 1 for Mac modding is to install windows

solemn rivet
#

the actual dlls

#

not the zips

compact sedge
#

misspelled linux

tight swan
#

where do i put the Mods folder

compact sedge
#

inside Managed

tight swan
#

ok so now it should work?

#

oh it seems its working

#

hollowb hank you

mystic phoenix
#

i can;t get debug to work and i'm not 100% sure what i'm doing wrong

solemn rivet
#

did you install everything correctly?

#

which game version are you running?

#

do you have API installed?

#

does the game launch?

#

so many questions, so little time

mystic phoenix
#

the debug menu shows up i just dont know how to affect it

solemn rivet
#

oh

#

just... Click it?

#

pause so you can see the cursor

mystic phoenix
#

oh ok got it

#

once i;ve hidden it how do i bring it back up again?

young walrus
#

F1

#

The button you used to hide it

solemn rivet
#

how's gdq mick?

mystic phoenix
#

i hid it by hitting the hide menu button

young walrus
#

Pretty good. This is probably My favorite venue I've been to for it

solemn rivet
#

nice

mystic phoenix
#

and f1 doesnt do stuff in game on my laptop

solemn rivet
#

fn+f1?

copper nacelle
#

^

young walrus
#

Have to hold down fn to actually press f1

#

Otherwise you're doing brightness of the screen or some shit

solemn rivet
#

mine's volume control

copper nacelle
#

mine's 1

mystic phoenix
#

ok got it

#

mine opens the bing search for how to get help in windows 10

#

(the first hornet fight had just started being frustrating so i wanted to use debug and make myself op and then make myself. not op anymore)

solemn rivet
#

oh boi

young walrus
#

Oh boy....

#

May as well keep yourself OP then

solemn rivet
#

hornet1 is far from being a hard boss compared to future bosses

#

just sayin

tight swan
#

to uninstall the mods i just need to delete the mods folder and the assembly?

copper nacelle
#

yeah

#

or you can hit verify game integrity

tight swan
#

oh k

copper nacelle
#

or if you backed up the original assembly-csharp just swap that out

#

which lets you swap between unmodded and modded p fast

tight swan
#

kk thx

clever latch
#

Hey guys. Looking to get into modding hk. Any tips? I want to be able to equip as many charms as i want for fun

exotic venture
#

you don't need to mod anything for that

rain cedar
#

Use a save editor to set your notches really high

exotic venture
#

you can just grab a savefile editor

#

or set notch cost to every charm to 0 zote

#

of* every charm

clever latch
#

sounds simple

#

Where can i get a save file editor? Just google for it?

copper nacelle
clever latch
#

Tyvm

compact sedge
#

ok assuming distanceMoved is the right value and gets larget over time, why doesn't this code run every frame make my mesh longer?

memeFilter.mesh.vertices[4] = new Vector3(capWidth + distanceMoved, capHeight, 0.01f);
memeFilter.mesh.vertices[5] = new Vector3(capWidth + distanceMoved, capHeight, 0.01f);
memeFilter.mesh.vertices[6] = new Vector3(capWidth + distanceMoved, capHeight, 0.01f);
memeFilter.mesh.vertices[7] = new Vector3(capWidth + distanceMoved, capHeight, 0.01f);
#

also how come I can't change the opacity of the mesh with
c.a = ALPHA
memeRenderer.material.color = c

#

I really have no idea wtf I'm doing

#

maybe I shouldn't be listening to kdt

leaden hedge
#

your material probably ignores alpha

compact sedge
#

idk what shaders exist so I'm using Particles/Additive

#

and I have a texture set

#

and idk where to tell it to not ignore alpha

#

but the elephant in the room is it doesn't grow like it's supposed to

#

my UV is (should be) set properly. And I drew out my vector on paper and my traingles look right too

leaden hedge
#

mesh.Clear();

compact sedge
#

assuming triangles is a int array where each 3 ints refer to the indexes of verticies

leaden hedge
#

yes they are

compact sedge
#

does Clear() mean I need to recreate the whole mesh

#

even if only some things change

leaden hedge
#

yes

compact sedge
#

what if I just create a new one

leaden hedge
#

although you can just make a backup

compact sedge
#

with the object allocator

leaden hedge
#

probably pretty slow to do everyframe

compact sedge
#

how is it any faster to use clear

#

object allocator is faster than setting the values by hand

leaden hedge
#

oh you might not need to call Clear

compact sedge
#

in fact that doesn't help

leaden hedge
#

just doing

memeFilter.mesh.vertices = new []{
    memeFilter.mesh[0],
    memeFilter.mesh[1],
    memeFilter.mesh[2],
    memeFilter.mesh[3],
    new Vector3(capWidth + distanceMoved, capHeight, 0.01f),
    new Vector3(capWidth + distanceMoved, capHeight, 0.01f),
    new Vector3(capWidth + distanceMoved, capHeight, 0.01f),
    new Vector3(capWidth + distanceMoved, capHeight, 0.01f)
};

should work

compact sedge
#

well even doing the clear thing it didn't fix the problem

leaden hedge
#

well Clear is for triangles apparently

#

the issue is you need a new mesh

#

well new set of vertices

compact sedge
#

yeah well ofc that's not helping either because as I said even using clear didn't fix it

leaden hedge
#

clear isn't for vertexes ๐Ÿค”

#

its for triangles

#

unless you remade the entire mesh

#

inwhich case your distanceMoved is probably wrong

compact sedge
#

even remaking the entire mesh broke it

#

and distanceMoved is correct I tried logging it

#

I'm probably doing something wrong somewhere else

#

but idk what

leaden hedge
#

well whats it doing

compact sedge
#

uh would you mind looking at my code? It's getting the distanceMoved by looking at the knight transform while you're dashing

#

ok it can def be cleaned up a lot

#

but I'm just trying to get it to work 100% first

leaden hedge
#

well that definitely won't work or even compile atm intenseface

compact sedge
#

oh it compiles

leaden hedge
#

146 has you setting a mesh to an object that doesn't exist

compact sedge
#

but it doesn't work

leaden hedge
#

unless Mesh m is a global var

compact sedge
#

oh right I forgot to comment that out

#

lol let me git push

#

sorry try refreshing it

leaden hedge
#

let me load up unity

#

and monodevelop

compact sedge
#

thanks cuz I really don't know what I'm doing especially in regards to using unity for testing/developing this stuff.

leaden hedge
#

I assume one of two things, your code to resize it isn't being ran, or your calculations are wrong

compact sedge
#

well probably the latter because it says it's being run

leaden hedge
compact sedge
#

woah what are those knight sprites on the bottom right

leaden hedge
#

heres the code for that

compact sedge
#

to the left of the nail slashes

leaden hedge
#

thorns?

compact sedge
#

oh is that the void part at the end

#

where it rips off the mask

leaden hedge
#

depends on which point you're looking at

#

theres thorn sprites, shade soul sprites and ending cutscene sprites

compact sedge
#

are the triangles right

leaden hedge
#

yes

compact sedge
#

ok

leaden hedge
#

well they seem right

compact sedge
#

I had to draw out the mesh on paper

leaden hedge
#

if they were wrong tris would be facing the wrong way

#

and you wouldn't see them

compact sedge
#

uhh

leaden hedge
#

well actually with particle unlit you would because thats 2 way

compact sedge
#

well I don't see the middle part so maybe I messed em up

#

oh nvm

leaden hedge
#

but literally any other it'd be backwards

#

does the right cap appear in the right spot?

compact sedge
#

I haven't added the right cap yet

leaden hedge
#

have you tried just loading a white texture

compact sedge
#

oh god I think you're on to something

#

no wonder my texture angle is 90 degrees wrong

#

I probably copied the xs to ys

#

or something

#

uhh well that part looks right

#

hmm

leaden hedge
#

oh erm

#

something actually might be wrong

#

I think your tris are wrong

compact sedge
#

meme

#

ok

#

idk what tris are supposed to look like

#

as in what the proper order is

#

for them

#

which one should the first, second, and third thing be

#

for an arbitrary triangle t

leaden hedge
#
            triangles = new int[] { 
                0, 1, 2, 
                0, 2, 3, 
                1, 2, 4, 
                5, 4, 1, 
                4, 5, 6, 
                6, 7, 5
            }
compact sedge
#

ok I can try that

leaden hedge
#

this still isn't right but its closer intenseface

#

uvs are wrong now

compact sedge
#

well it sorta works slightly better than before

leaden hedge
#

like I said uvs are wrong now

#

top half of middle and bottom of end don't work

compact sedge
#

what should the uvs look like

leaden hedge
#
            vertices = new Vector3[]
            {
                new Vector3(0, 0, 0.01f),
                new Vector3(x1, 0, 0.01f),
                new Vector3(x1, y1, 0.01f),
                new Vector3(0, y1, 0.01f),
                new Vector3(x1, y1, 0.01f),
                new Vector3(x1, y1, 0.01f),
                new Vector3(x1, y1, 0.01f),
                new Vector3(x1, y1, 0.01f)
            },
            uv = new Vector2[8]
            {
                new Vector2(0, 0),
                new Vector2(.4f, 0),
                new Vector2(.4f, 1),
                new Vector2(0, 1),
                new Vector2(.6f, 1),
                new Vector2(.6f, 0),
                new Vector2(1, 1),
                new Vector2(1, 0)
            },
            triangles = new int[] { 
                2, 1, 0, 
                3, 2, 0, 
                1, 4, 5, 
                1, 2, 4, 
                6, 7, 5,
                6, 5, 4, 
            }

???

#

maybe something like this intenseface

compact sedge
#

.4f should be leftCapWidthPercentage right

#

because it's more like 0.07f

leaden hedge
#

yeah although it definitely shouldn't be that small

#

the center should only be one pixel wide

compact sedge
#

wha

leaden hedge
#

your central texture is identical along its length

#

and it'll just get stretched

#

so no reason for it to be more than one pixel

compact sedge
#

my texture is split up like this:

first 150 px of width is my left side
middle 1800 px of width is the middle part
last 150 px of width is my right side

#

since I thought I needed to merge the caps and middle into one texture

leaden hedge
#

yeah you do

#

but your middle texture just repeats the same "column"

#

afaik

compact sedge
#

yes but the column isn't perfectly identical

#

it is right now for basic testing

#

but the column is procedurally generated

#

like everything else

#

with slightly varying colors and opacities

#

for some uniqueness

leaden hedge
compact sedge
leaden hedge
#

your alpha colour should work btw

compact sedge
#

it doesn't show the end cap or the other part

leaden hedge
#

ok weird