#making-mods-general

1 messages · Page 32 of 1

oak dragon
#

o thx!

vernal crest
#

Sounds fair to me. And hopefully next time I forget about all this and go to ask you about it again I'll remember we had this conversation and will search for it instead of bugging you again like it's groundhog day lol

rancid temple
#

Lmao, that's fine, I don't mind complaining about it :P

#

Though it affecting you does make me actually want to do something about it, a lot easier to ignore when it's people I don't interact with ever again lol

#

(Definitely would love an excuse to abandon gutting my fish pond mod)

vernal crest
#

You have my blessing to abandon your fish pond mod for my sake SDVgunther

velvet narwhal
#

i'mma be honest, i don't use the fishponds

calm nebula
#

I love fish pond colors

vernal crest
#

I have one fish pond. I don't know what fish pond colours are though

worn coral
#

Thank you - yes the one that worked was after I added the suffixes, but it still throws that error on startup that it cannot load the tilesheet - is that coming from something else? (that's how it looks now for each edit data - same error and behaviour if I use the suffixed for both IDs or just one of them)

{ "Action": "EditData", "Target": "Data/AdditionalWallpaperFlooring", "When": { "TeasWoodLatticeWallpapers_Cotton": true }, "Entries": { "{{ModId}}": { "ID": "{{ModId}}_cotton", "Texture": "Mods/[CP] Tea's Wood Lattice Wallpapers/WoodLatticeWallpapers_Cotton", "IsFlooring": false, "Count": 149 } } },

rancid temple
#

Normally only a few fish recolor the water

#

I made a mod that lets you:
On its own: use their dye colors to recolor the water
Or, using content packs (ew): set custom colors for what each fish could dye it

lucid iron
#

by changing key i meant like this

rancid temple
#

Someone made a request that I use the method an older mod that used to do the same thing was doing with context tags instead and I'm actually kind of interested in that

lucid iron
#
"{{ModId}}_blossom": {
          "ID": "{{ModId}}_blossom",
#

incidentally ID should prob be Id? not sure if newtonsoft.json cares

rancid temple
#

Newtonsoft doesn't care

#

Or perhaps CP doesn't?

vernal crest
#

I did not know that fish could recolour a pond

lucid iron
#

you never had lava eel ukimasu2

uncut viper
#

newtonsoft does not care for case sensitivity

calm nebula
#

Base game took a nibble

#

(Scroll down to wafer colors)

rancid temple
#

Ooh

lucid iron
#

but ig the key in editdata superceeds whatever you put in Id

rancid temple
#

Am I free of the curse?

worn coral
calm nebula
#

Yeah

#

The ID and texture name are the same

rancid temple
#

I should probably actually read through this page more lol, I've only been doing an occasional search for when I was trying to see if something specific was solved

calm nebula
#

You could edit one texture if you wanted

uncut viper
worn coral
#

Well, technically it now does exactly what I want - and well too! But its weird that it's throwing a red error for the mod on load SDVpufferwaaah

rancid temple
#

Did you leave that other content.json in there?

#

The one that was the two Entries that were just {{ModId}}

worn coral
rancid temple
#

Fully restarted the game and all that?

worn coral
lucid iron
#

hm im unsure how you'd go about banning particular wallpaper from HHD's catalogue

worn coral
#

The setup with suffixes works perfectly - ticking the option in GMCM makes it immediately available in the catalogue and applies fine to walls, unticking takes it immediately out, swapping works fine now too

#

So no idea where the error is coming from SDVpufferchickcry

uncut viper
#

your Load action still confuses me regardless

calm nebula
#

It confused me tol

#

But I think it's okay

vernal crest
uncut viper
#

you have a folder called Mods inside your assets folder?

worn coral
#

The target without a path? Learned that from Cornucopia actually, found it by searching this channel

uncut viper
#

no, i understand that token, your paths confuse me

#

and choosing to use those targets

rancid temple
#

Definitely a lot of special characters and spaces for a Target but it should be fine in most locations

#

The FromFile is just assets/{{TargetWithoutPath}}.png so it should just be the part after Mods/ that it slaps in there

#

That token does not help the confusion between Targets being just an asset and not a path file lmao

lucid iron
#

usually ppl use mod id there as well, e.g.

    {
      "Action": "Load",
      "Target": "Mods/{{ModId}}/WoodLatticeWallpapers_Cotton",
      "FromFile": "assets/{{TargetWithoutPath}}.png"
    }
uncut viper
#

so thatd still be a [CP] Tea's ... folder inside the asssets folder thats already inside the mod folder called Tea's Wood Lattice Wallpapers?

rancid temple
#

Shouldn't be a folder, just a png named all that

worn coral
#

Ah, yeah no idea, I copied that from the wiki in the end because I couldn't get the usual way provide the paths to work - I have no idea why. I checked few other mods that add wallpapers too because I was confused, looked like they did the same

uncut viper
#

oh no, tyheres a slash there

worn coral
uncut viper
#

i didnt see the second slash

rancid temple
#

Oh there is

lucid iron
#

target without path makes it assets/WoodLatticeWallpapers_Cotton.png

rancid temple
#

I didn't either lmao

vernal crest
#

Lol you two were seriously confusing me

uncut viper
#

i would still do it with chu's example instead either way

brittle ledge
#

oh, congrats on your mod release rokugin!

rancid temple
#

My suggestion is "make your Targets and names way simpler"

uncut viper
#

special characters in asset names always make me wary even if it is fine 99% of the time

worn coral
vernal crest
#

Why do people even bother with having "Mods/" in their target when they use {{ModID}}? Just convention?

rancid temple
uncut viper
#

i think it was just confusing me bc the token is TargetWithoutPath but the asset name itself was making me think you were trying to use it as a path in order to get the asset to define the asset. that was being used as a path. i dont know

#

its too early for me to be thinking

velvet narwhal
vernal crest
#

Hey did you get the Spanish ai "translator" too Avi?

uncut viper
vernal crest
#

That makes sense Button

velvet narwhal
lucid iron
#

also helps to know if u are load tilesheet (into Maps/) or regular ol texture

velvet narwhal
vernal crest
#

Ooh no they're a different user

velvet narwhal
#

i don't know enough spanish to correlate if it's correct or not

vernal crest
#

My Sialia mod got a Spanish translation already and it clearly doesn't need one (it's not popular and it's not going to be) so it's just someone trawling for DP.

rancid temple
#

The wiki also uses the Mods/ in examples a lot

vernal crest
#

But I don't think yours could be anything but AI so quickly. That would be so much work for a real translation.

velvet narwhal
#

i think it's a bot

lucid iron
#

this guy medlook

worn coral
vernal crest
#

I reported it.

velvet narwhal
#

how do i-- report it

rancid temple
lucid iron
#

how can u know if dp is enabled for a mod

vernal crest
#

It says it in the permissions dropdown

rancid temple
#

Obviously there are conventions that will make your life easier and that of the people who are trying to help, but as long as you're not just doing wrong things, it's fine technically

velvet narwhal
#

nevermind i found it

lucid iron
#

ty

#

the person translating lance didnt opt into dp though

velvet narwhal
#

I JUST

rancid temple
#

If it's yours, it'll say near the top if you're opted in, if it's someone elses, they have to enable showing that

velvet narwhal
#

DON'T LIKE THAT MY IMAGE GOT STOLEN FOR THEIR HEADER

#

AND I CLEARLY STATED

lucid iron
#

yea fair nuff blobcatgooglyblep

velvet narwhal
#

it won't let me report for ai generated content SDVpufferflat

rancid temple
#

Too smol, needs to be at least 20% bigger

lucid iron
#

gotta make it h1 sized and bright yellow

hallow prism
velvet narwhal
#

it's not as if i'm stingy with my translators, my chinese translator gets 5% of my dp

vernal crest
#

Hmm there was an option for AI when I reported I thought.

uncut viper
#

not that im saying nexus shouldnt honour it, but do they honour permissions stuff like that if it isnt explicitly in the "Permissions" section? are they reasonable like that

#

ive never had to report anythin on nexus so idk if theyre more on the "yeah an actual human will look at this and apply reasonable judgment" side or the "a bot will scan your report and make a decision no you cannot appeal" side

velvet narwhal
#

oh this is also my permissions

#

ig i can just do stolen content? and put reason being like, 'didn't ask for permission' ?

#

2k lines of dialogue is a lot of freaking work

worn coral
vernal crest
#

That's what I did Avi. But SoraGodFallen was opted in to DP so we might get different outcomes idk

lucid iron
#

did u already have some wallpaper on the walls

#

replace all with new items

wise berry
#

I'm glad my mod already got a Spanish translation (from a real person who asked permission early on, I granted the permission, then I released several updates before they ended up releasing their translation so it only got finished and released recently SDVpuffercry)

worn coral
#

Actually, good point - let me start a whole new save and all that ( I'll delete the one that had some of those wallpapers added)

velvet narwhal
lucid iron
#

github is banned in china

wise berry
#

I guess that would assume they're based in China though

velvet narwhal
#

nevermind

#

i could always ask, but they're swamped with uni so i haven't bothered them recently

wise berry
#

I'm considering making a github available for my mod's i18n but I feel like its translators have gone MIA for long enough that it wouldn't matter

lucid iron
#

there's some mirrors they can use

worn coral
lucid iron
#

and ofc 🪜

calm nebula
#

I think gitlab is still in China

lucid iron
round dock
#

Hey y'all do y'all know by chance where to find the sprites for the food? SBVSob

worn coral
#

And thank you @calm nebula @uncut viper @rancid temple too of course ❤️

lucid iron
#

sprinobjects?

rancid temple
#

!springobjects

calm nebula
#

Yeah

ocean sailBOT
#

Most vanilla object sprites are in the Maps/springobjects asset. See a table of springobject sprites by index.

Some newer object sprites are in TileSheets\Objects_2. You can check the entry in Data/Objects to see where its sprite is stored; SpriteIndex is the position, and Texture is the asset name (defaulting to Maps/springobjects).

calm nebula
#

Maps ducking spring ducking objects

#

I wonder how many sprites of summerobjects Mr. CA drew

round dock
#

Maps! Thank you omg shy

rancid temple
#

I wonder if summer objects even had new sprites or if it was just a color filter of spring objects

round dock
#

I was this close to say "oh shoot do I have to count this" then saw the link lmao thank you everyone SDVwizardXD

rancid temple
#

I definitely didn't know about the table before SDVpufferflat

calm nebula
#

(You never have to count it lol)

#

Just open the data asset SDVpufferthumbsup

worn coral
#

Straight into bookmarks, this one

rancid temple
#

That command reminded me of the itemid command, turns out it does already have an itemids alias, so hurrah

gaunt orbit
#

oh, is there a new AT version?

rancid temple
#

No, unfortunately not

#

Just had to rebuild it for 1.6.9 because it was throwing an error

#

Not sure why that fixed it though

gaunt orbit
#

did 1.6.9 drop or is this just in prep?

rancid temple
#

Just beta

gaunt orbit
#

ah good, whew

rancid temple
#

Originally rebuilt just to see if I could debug the issue but then it stopped happening lmao

gaunt orbit
#

I figured I'd have to rewrite one of my AT patches

#

there's one particular transpiler for AT that I had to update for 1.6 so I would not be surprised if I have to tweak it for 1.6.9 as well

rancid temple
#

A patch to DrawInMenuPrefix, I haven't actually tested in game if it throws anything more than a warning

lone ice
#

Morning all! Anybody know what you'd use to set the condition for an event of having any of a category of item in your inventory? for example I have a furniture collection where everything is labeled with the category "collection_stolenitems" and their names start with "{{ModId}}_(F)" - can I use these, maybe with dynamic tokens?

#

I'm trying to avoid having to write out the entire list of item Ids

uncut viper
#

i dont think there is a vanilla way to do that, theres no precondition or GSQ (for a mail flag) you can use
(also, why do you have (F) in their names?)

lone ice
#

just to label them as furniture items since they're being sold in the store

#

alongside other items with similar names

uncut viper
#

their qualified item IDs are going to be (F){{ModId}}_(F) then

rancid temple
#

Only people with something like Lookup Anything would see it in game also

lone ice
#

I'm only worried about keeping the items straight for myself, i'm selling personal character items of different categories in a shop

#

like (F)Sebastian, (T)Sebastian, etc.

uncut viper
#

i only brought it up bc it has the potential to confuse you or others looking at your mod (like for compat. or something) but if you can keep it straight then it doesnt much matter

#

as long as you know that having that (F) in there does not qualify the item ID

rancid temple
#

Just don't be surprised when someone else brings it up again lol

lone ice
#

this is part of a very large personal complex mod we're not expecting many people to want lol

#

passion project, nothing more

uncut viper
#

the reason that other shop entries have (F) or (O) in them isnt just for descriptive purposes but technical ones

rancid temple
#

I just meant if you end up needing to ask someone else about something related to the items, most of the people who help in here will probably have the same question lol

lone ice
#

okay what would you recommend doing instead

rancid temple
#

I'm big on just plain naming my garbage lol

uncut viper
#

just removing the (F) and naming things differently

lone ice
#

yeah I got that you want me to do it differently lol

rancid temple
#

SebastionTool SebastionFurniture etc

uncut viper
#

like dont have a regular item called Sebastian and a furniture item called Sebastian but yeah, what roku said

rancid temple
#

You don't have to, I'm just saying you will run into questions about it

#

I don't actually care one way or another, it was a curiosity that has been sated

lone ice
#

that's fine, but does anyone have a suggestion for my problem?

uncut viper
#

i did answer that

rancid temple
#

I think that was answered, there's not really a way with CP

#

There's a mod called Event Preconditions Expanded, which proves you could roll a way with C#

#

But they don't have a solution for this particular problem

calm nebula
#

(You can trivially add gsq or event preconditions)

uncut viper
#

(with C# that is)

uncut viper
#

game state query

lone ice
#

ah

uncut viper
#

things like PLAYER_HAS_ITEM or SEASON_DAY

#

that you often see in Condition fields

lone ice
#

yeah

uncut viper
#

there just isnt one for item category unfortunately

#

just item IDs

lone ice
#

and no way to set it as "any id like this but {{fill in the blank}}?

uncut viper
#

nada, not in this context

lone ice
#

like it would work if I could say here's my item root {{characternames}}

velvet narwhal
#

if it's items in a shop, there's an actionsonpurchase that you could add a flag to each and every one of them

uncut viper
#

that is only possible in certain contexts (like shop entries) and not in this case, which is where you'd use a GSQ to set a mail flag

#

you can add a mail flag for the shop item on purchase yeah but it wouldnt be accurate to check if it was in their inventory at the time

lone ice
#

I just need it to be on purchase

#

that would be fine too

#

I just need some way of saying the player bought a stolen item

uncut viper
#

if you just wanna know they ever purchased it then yeah, ActionsOnPurchase in the shop entry

lone ice
#

ok thank you

uncut viper
#

you'd use the AddMail action listed here to set a mail flag

#

and then you can use that mail flag as your event precondition

lone ice
#

that should do the trick, thank you

velvet narwhal
#

the funniest problem i had: was trying to debug addmail and i forgot to actually activate my own mod in stardrop SDVpufferpain

#

i needa google sync for jsons, if it's possible to do a file-by-file basis i'll be a happy clam

rancid temple
#

This fucking guy didn't even turn the address to your mod into a link on his page, annoying

velvet narwhal
#

my shaky chihuahua syndrome is over, but i'm glad ya'll are here cause otherwise i would've been fuming for far longer

rancid temple
#

Didn't translate any of your config options

velvet narwhal
#

I WORKED HARD ON THAT

wise berry
#

Same!! Nothing like hating on stardew modding together chatting it out to resolve the jitters

velvet narwhal
#

I TRY TO KEEP THEM AS UP TO DATE AS POSSIBLE JUST FOR MY ZH TRANSLATOR --shoves a frito in my mouth

rancid temple
#

I think I'm riling you up again SDVkrobus

velvet narwhal
#

nah i'm fine

rancid temple
#

Also, I don't even know if this translation file provided would work

#

It has an error

velvet narwhal
#

if i get bug reports though i'mma hit em with a copy paste, "i am not responsible for other translations that aren't included in my mod, i appropriately settle out dp to my actual human translators"

rancid temple
#

Line 129, missed a comma

velvet narwhal
#

yeah i know

#

there's also a line somewhere that has a $action

#

so if that got machine translated it'll throw an error

#

i'm a nuisance, i have no rhyme or reason

uncut viper
#

is now a bad time to be a proponent of removing stuff like $action from your i18n /lh

velvet narwhal
#

i only have one of them, so y'know, to catch these machine translators, i'mma keep it in SDVkrobusgiggle

rancid temple
#

Well no results on the search so I bet it did lmao

velvet narwhal
#

oh wait did i remove it

rancid temple
#

Oh ok, I was about to say no results on yours either lmao

velvet narwhal
#

hold on gotta make a quick patch to add it in--

wise berry
#

Granted, any token or expression would kill a careless machine translation I imagine

rancid temple
#

Also the tokens in here, you're wild and crazy /lh

velvet narwhal
#

assuming they're using the stardew tool for it, they probably didn't ruin any of my i18n tokens

#

oh my commented tokens?

#

yeah that's how i keep track of my nonsense

rancid temple
#

Hm, nah, I saw a {{e11}}

velvet narwhal
#

oh

#

i thought i fixed all of those hold on

rancid temple
#

7 matches for {{e

velvet narwhal
#

shakes fist damn me and my ${{e103}} old portraits

#

there was even a broken one

rancid temple
#

The translation has a bunch of duplicate marriage gift entries

velvet narwhal
#

#{{e44}}

rancid temple
#

Like so many

velvet narwhal
#

oh jesus christ

#

wait did they try to copy my .jsons

#

my actual gifting dialogue is from line 710 to 808

#

but my giftinfo has like, 40 commented out items

rancid temple
#

Also, anyone know what a leer.txt is for?

uncut viper
#

doesnt that just mean read?

#

or similar?

#

so a readme.txt

rancid temple
#

Oh right, lmao, I wasn't thinking of the Spanish word

uncut viper
#

i dunno spanish but its got similar uh. whats the word. cognates? in languages i half know, so

spice inlet
#

leer would be empty in german

rancid temple
#

I only took a bit of Spanish, but I live in Arizona, which borders Mexico, so it's kind of all over the place

velvet narwhal
#

y'know i should've remembered about libro but is in fact 'read' in spanish

rancid temple
#

That said, no amount of understanding is really needed to see this shit was not done by hand lol

#

The only concession I could give is maybe if he's doing it entirely in notepad

round dock
#

(libro over here means book eyeshake)

velvet narwhal
#

i hate that i can't just not show translations on my mod page

rancid temple
#

Yeah kind of unfortunate that it's just a one way street in that regard

velvet narwhal
#

y'know

rancid temple
#

I don't want to give them more downloads but also I kind of want to see if their other translations are as fucked up lmao

velvet narwhal
#

i liked it cozy, where i didn't have to worry about my hard work getting yoinked, even though i get faceplanted by all of the yandere mods

#

they're not opted into dp at least

#

alright

#

i am absolved

#

washes hands

#

now you've got me editing my default.json because i realized there's a lot of $4b$ everywhere

rancid temple
#

Just drown outside translations in updates

velvet narwhal
#

TRUE

#

quite literally, my latest update added

#

*squints

#

126 lines

vernal crest
#

I should be asleep!!!!!

velvet narwhal
vernal crest
#

My body is betraying me!!

velvet narwhal
#

i'mma leave an entire block of comment code in my default.json now saying "if this was machine translated OOOGABOOGABOOGA"

rancid temple
#

Just do what I do: drink a bunch of caffeine expecting it to keep you awake and then be surprised when you fall asleep at the computer

vernal crest
#

I have managed to sleep at night and be awake during the day for like... one entire week. I don't want it to end SDVpuffersob

velvet narwhal
rancid temple
#

I miss when I could just stay awake for a full 24 hours so if I cooked my sleep schedule I would just wait and try again the next day

#

Now my body's like "You been up for what like 4 hours? Don't you think it's time to call it quits already"

calm nebula
#

I miss 36/12s

rancid temple
#

Haven't even gotten to the 36 yet lmao

velvet narwhal
#

i haven't done a 36 since i was like, 14

calm nebula
#

(What, are you expecting me to have work life balance?)

rancid temple
#

Just take your knitting to work and brandish the needles at people when they try to ask you for things

velvet narwhal
#

now i have an excuse to add all of this random dialogue that i left blank

vernal crest
#

I have work life balance. Zero work, zero life SDVpuffercoolest

rancid temple
#

Huh, I was looking at the New Today tab and there's another person who released 8 Spanish translations today

velvet narwhal
#

oh that's the one chu/e linked

calm nebula
velvet narwhal
#

just preemptively blocks that sora person

rancid temple
#

At least they actually turned the link to the original mod into a link lmao

vernal crest
#

Yeah but they're the dp farmer

rancid temple
#

Oh, hm

vernal crest
#

Whom I reported for translating my mod without permission

velvet narwhal
#

mine is less spiteful but i have a feeling they're trying to get up to that point

rancid temple
#

I would lead with that being the problem :P I don't know how DP farming would work now

#

Different Discord communities between the two as well

#

Harlock links to a discord with 6 people

velvet narwhal
#

same, they're trying to configure pathos' paycheck from nexus /j

rancid temple
#

Sora is a Discord with over 60

velvet narwhal
#

even with 6 people, good luck translating my 2k lines of dialogue that has dialogue code in it

#

my chinese translator took 2 months and that was when i was sub 1k lines

rancid temple
velvet narwhal
#

it's cause the sora guy uses ai generated pictures iirc

rancid temple
#

LMFAO, I just made it bigger and yeah, oof

vernal crest
#

We think the blue haired anime girl is meant to be Sialia

rancid temple
#

Like I know Nexus has been doing some image shenanigans but uh this doesn't look like that

velvet narwhal
#

on one hand, congrats to us, aba, we're popular enough for ripoffs, on the other, i'm still covered in salt

vernal crest
#

Lol I think in my case they must have just seen what was new because there's no way my mod is going to be capable of gaining any of the traction that yours is (and that's fine! It's a niche mod that I made for myself anyway).

hallow root
#

hi! can I ask some questions? I’m trying to make my first mod and it is not going well. I’m new to modding and coding in general so I’m sorry if the question is very basic/obvious

rancid temple
#

This is the place for it, ask away

hallow root
#

I used to use visual studio for mac but it is not supported anymore so I’ve switched to VS code. I followed the instructions on the wiki (and tried to adapt them as best I could to VS code). the issue is I’m not sure how to make a main entry point for the mod. i actually got it to build at one point (though it didnt work in sdv) but I can’t remember how and now it won’t even build. i think it’s because the code uses a internal sealed class. i’ve looked it up and it seems you need something like this: public static void Main(String[] args) but i’m not sure where to put it.
here’s what I’ve got so far (including the error message in the terminal):

rancid temple
#

You can just remove sealed from your ModEntry class

#

And remove OutputType from your project settings

ivory plume
#

(The internal sealed won't affect SMAPI. The error is because your project file is set up to create an executable instead of a library DLL.)

uncut viper
#

i imagine its probably bc doesnt have the mod builder package to do things properly without VS? since the sealed is fine

velvet narwhal
#

oh wow a pathos message

rancid temple
#

Honestly, I have no clue what sealed does lol

uncut viper
#

(i know nothing about building stuff in VSC)

calm nebula
uncut viper
#

sealed just means it cant be inherited i think

calm nebula
rancid musk
hallow root
oak dragon
#

hiiii I'm here again. My question is how can I use the menu in game in my mod (dialogue box, okbuttons, title etc.). I find "getSourceRectForStandardTileSheet" in Game1, and its second para “tileposition” seems that play a role to choose which texture used but why? And if it is "ID" indeed, where can I get the IDs of texture? Thanks!!

lucid iron
#

What kind of menu are you trying to make?

oak dragon
#

I put an Okbutton by "testokbutton = Game1.getSourceRectForStandardTileSheet(Game1.mouseCursors, 46);" successfully but I dont know how it works

uncut viper
#

thats just giving you a Rectangle which tells you where on the texture tilesheet that button texture is, but that wont have any functionality on its own

oak dragon
#

just a page called by pressing keys, i want to put some buttons on it

uncut viper
#

it technically doesnt even know thats a button texture, you can use it for anything

lucid iron
#

You can add it as a submodule to your repo

oak dragon
uncut viper
#

what you probably did is just place the texture of the button on the screen somewhere, but you need to do the "detect when that part of the screen is clicked" yourself, id probably recommend looking at existing menus to see how they do it

lucid iron
#

Back to original question about "IDs of texture" there's concept of sprite index for items but ultimately it translates to a rectangle (x y width height)

#

I usually find coords by looking at the image in gimp

uncut viper
#

and for things on cursors i wouldnt rely 100% on that exact getSourceRectForStandardTileSheet function cause cursors is definitely not a standard tilesheet where everything is 64x64 lol

#

(that is, "46" only worked there bc if you assume everything on cursors.png is 64x64 pixels, then its the 46th index, but its not always going to work nicely like that)

oak dragon
#

ohh wait you mean Game1.mouseCursors is a "big" png and include many 64x64 pixels texture, and what i did is cut "46"th out

uncut viper
#

it is a big PNG that includes many textures, but not all of them are 64x64

#

If you unpack your game files, you can look at cursors.png

#

!unpack

ocean sailBOT
#

Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!

lucid iron
#

A example of a texture that does follow a specific sprite size for sprite index is Maps/springobjects

uncut viper
#

however, that function you used takes 4 parameters, the last 2 are width and height. if you dont include them (which you did not) then it defaults to 64x64, which works out so that the 46th texture with that assumption is the OK button

#

you just cant always assume that its 64x64

lucid iron
#

It's made up of 16x16 textures

#

Cursors doesn't follow anything like that Bolb, best to just use the rect

oak dragon
#

oh god i just think mousecursors is MOUSE POINTER

uncut viper
#

abandon all reasonable assumptions like that when working with SDV

rancid temple
#

Be prepared to say "...but why though" a lot

uncut viper
#

cursors.png (which is what Game1.mouseCursors is) is a big mess of everything

oak dragon
#

it really confused me because I dont know why mouse cursor is here

#

thx a lot!!

uncut viper
#

it was probably intended to just be mouse cursors at the start but grew over time to hold a bunch of other things

velvet narwhal
#

"oh no, this sprite is too oddly shaped, well i use cursors a lot so i guess i'll throw it into there" --my thought process

rancid temple
#

Really, all I need to do is stop DTZ from running this prefix, because it's not needed in the first place

#

It's just hardcoding in a check that's already done

#

I dunno if I can do that though, maybe patch their prefix with my own prefix that stops their prefix from running

brittle pasture
#

I've patched another mod's postfix to change its results before

#

you need to provide the full namespace/type name, and pray they don't change it next update

uncut viper
#

why not transpile DTZ's entry function to stop the patch in the first place

calm nebula
rancid temple
#

Lmao, I lovehate that this is actually the solution

uncut viper
#

(this is very flashing id probably delete it)

velvet narwhal
#

yeah i realized after being mesmerized for far longer than i realized

uncut viper
#

i dont even remember what the locked door thing with DTZ was tbh

rancid temple
#

It's just checking if it's a festival day again

#

Like in the exact same line that it already checked that

uncut viper
#

oh yeah
vague memories returning to me

rancid temple
#

It's a full copy of the original method so it never returns true to the original

lucid iron
#

Why LilyDerp

rancid temple
#

Which is why my transpiler never gets a turn

calm nebula
#

(The real answer is because a lot of people aren't comfortable with transpilers)

lucid iron
#

DTZ is supposed to be wip right, ought to be possible to get that changed

rancid temple
#

If I had to guess, it's probably a remnant of an old solution to something that doesn't need to be there anymore

lucid iron
#

Along with their not loaded to content pipeline tilesheet I hope

uncut viper
brittle pasture
#

yeah dtz is old and wip for a long while

rancid temple
#

I still need to request repo access, I dunno if it always checked for custom festival days

uncut viper
#

its been a while but wasnt there also just another function that the festival check called along the way that coulda been postfixed instead

rancid temple
#

Hm, I'm not sure, I only see the one actual addition to this method

#

The rest of the diff is flagging __instance vs this

#

Oh there is another change near the bottom

#

Trying to get a character by name and setting a bool that defaults to true as true

uncut viper
#

if the bool can possibly be set to false beforehand by the rest of the function then that makes sense to me

rancid temple
#

Probably wouldn't in this case

#

New instantiation of a local variable and all

uncut viper
#

are you sure that isn't a decompile thing

rancid temple
#

I'm not sure, but in the decompile of the base game it doesn't set anything

#

It's entirely possible though, different dll's decompiling and all that

uncut viper
#

either way, "probably wouldn't" is just a synonym for "possibly could" so it gets a pass from me personally

rancid temple
#

Yeah, ultimately this doesn't matter, just the only other change I'm really seeing that differs

waxen ferry
#

Hey guys! Im not sure if this is the right channel. But does the love for cooking mod work with the newest version of smapi and stardew?

brittle pasture
uncut viper
#

this is not the right channel for that and I do not have the answer so all I can do is redirect

waxen ferry
#

i found it

rancid temple
#

I need to playthrough these expansions if just so I know what the desired behavior is when I'm nuking them with patches lmao

royal nimbus
#

when creating new map files to mod already existing rooms, what kind of json code do we need?

#

also its even more difficult doing this stuff with tiled for example because the layout is different on there than it is ingame. im guessing it was because of the update

rancid temple
#

Did you unpack the new files?

#

You have to unpack every time there's an update if you want the latest files

royal nimbus
#

yeah

#

i never unpacked anything before the latest update

rancid temple
#

Then I'm not sure what you mean

royal nimbus
#

the rooms are different. when i open its file in tiled the layout is different

uncut viper
#

if you open a vanilla map in Tiled it will look as it does in game. if it doesnt, then what you have opened is not a vanilla map

royal nimbus
#

okay .-.

#

tiled is also very tricky to use too

uncut viper
#

if you're opening a modded map to edit it but the modded map looks different in game, then that also just means the mod isnt actually using it

#

my point is that when you open Tiled the layout is not different, you just might be editing the wrong thing. what you see in Tiled is what you get in game

#

it is annoying/tricky to use sometimes though you are very correct there

rancid temple
#

The layers was the major thing to trip me up

#

Aside from that, I actually like Tiled

velvet narwhal
#

i learned that naming it Buildings2 (electricboogaloo) does absolutely nothing

royal nimbus
#

i see

rancid temple
#

It should make it render above Buildings

uncut viper
#

its also possible that the layout is different because you have two (or more) different mods all editing the same map you are editing

latent mauve
#

The 2 layers just change the render order

royal nimbus
#

yeah layers is def one thing im having trouble with

latent mauve
#

You still have to use TileData on the normal layers, and not the ones with a 2 on them

royal nimbus
#

ugh. its just so much for me to try and get a hang of <_>

uncut viper
#

its a lot! just gotta take it one step at a time

royal nimbus
#

i also edited it yesterday but it didnt show up in game. im sure cuz i didnt add anything json wise

waxen ferry
#

Hello all! whats the difference between the CP and RGB and all that for mods in my folders

rancid temple
#

Definitely a mod issue, this is what her room looks like for me

royal nimbus
#

yeah one step at a time cuz ima slow learner

velvet narwhal
#

isolation modding is the best way to figure out what you're doing, unless you absolutely need something like SVE

rancid temple
#

CP is short for Content Patcher

royal nimbus
#

yeah thats how it looks for me too aside from a few texture changes cuz of my mod wip

uncut viper
royal nimbus
#

ik

uncut viper
#

RGB stands for Red, Green, Blue and is used to define a colour

#

dont know where you're seeing RGB

latent mauve
#

For instance, I used Buildings2 to add a sink to my custom bathroom because the first Building layer is part of the wallpaper and I didn't want to break the decoratable aspect of the walls

waxen ferry
uncut viper
#

you can name your mod whatever you want, people just add [CP] out of convention

royal nimbus
#

mine doesnt have that in the name because there's more than just image edits. my mod title is just the name

uncut viper
#

CP does more than just image edits

royal nimbus
#

also good to kno

rancid temple
#

Are you using anything other than CP?

royal nimbus
#

oh

rancid temple
#

CP does a lot, everything related to the content pipeline

waxen ferry
#

ok so i have love of cooking and when i tried to launch i got 2 errors, that my ridgeside village was installed wrong (ill figure that out later) and that im missing love of cooking CP

rancid temple
uncut viper
#

this is also still the wrong channel

waxen ferry
#

oh oops

rancid temple
#

This channel is for creating mods

velvet narwhal
rancid temple
#

I like the visual effect you can get from some good layering

#

And also how badly you can fuck it all up from some bad layering lmfao

latent mauve
#

The ability to have a 2nd back layer has saved me so much headache.

velvet narwhal
#

my custom maps are a little crazy

latent mauve
#

Except now I tend to go in and make edits to all the tilesheets with rugs to make the rug flooring transparent

#

So that I can change the flooring under them xD

royal nimbus
#

okay so this looks simple but the 'x' and 'y' stuff seems iffy. idk how to get the right numbers for what im wanting to edit

latent mauve
#

Okay, for EditMap the x and y are your tile coordinates

#

If you hover over a tile in Tiled, it will show the coordinates on the bottom status bar

rancid temple
#

I'm reluctant to mention it, because I don't want to manifest it and have another compat issue, but the real thing this festival patch needs to account for is location context so that doors in the valley aren't locked for a festival in the city

uncut viper
#

is it a passive festival?

rancid temple
#

The answer to that is going to take a bit to find lol

crimson grove
#

This is a Contentpatcher question:
Is it possible to use EditImage in my own patch and override a file from another patch?

uncut viper
#

yes

#

if the other patch is from another mod, you just need to make sure your mod loads after theirs, with either a dependency or patch priority or both

rancid temple
#

Just to be sure, you're patching the thing they patched and not the image they're using to do their patch

uncut viper
#

if the patch you're overriding is also your own patch you just need to put it earlier in the file

#

(like if you wanna override it with a When condition for example)

crimson grove
uncut viper
#

if they are using a Load action to load the images then yes you can

rancid temple
#

It is in fact not a passive festival

brittle pasture
#

Just find what asset name they're using and patch that

uncut viper
#

if they are using internalassetkeys then no you cannot, but i dont think they are (idk off the top of my head for sure tho)

rancid temple
#

Well, you can't patch the internal asset key, but you could load your texture and then patch the thing the key is being used on

faint remnant
#

Is it possible in content patcher to lock a building behind a condition like a quest to where it doesn't show up in robins shop prior? Or would I just want to have the quest give some unique item or something that is used to build it?

uncut viper
#

buildings can have requirements set like that

brittle pasture
#

Yeah you can

#

BuildCondition field

rancid temple
#

Under the construction section

faint remnant
rancid temple
#

This one is kind of tricky because it used to be called blueprints but now it's buildings but the wiki is still blueprints

#

I'm not sure that can actually be changed without making a new page and moving everything

brittle pasture
#

You can set up a redirect

#

move stuff to Buildings and just have Blueprints point there

#

I should probably do it now that my account is no longer in new account jail

rancid temple
#

This feels like I'm risking angering Margot :P

uncut viper
#

(though if you do that remember to preserve the attributions)

brittle pasture
#

yeah just realized that too (look at the page history lol)

#

Eh maybe just do it the other way around

uncut viper
#

not wanting to risk fucking up not attributing the original authors is why i have not tried moving anything from the 1.6 migration page lol

brittle pasture
#

blueprint data is old, and lots of ppl worked on it

oak dragon
lucid iron
#

The author (focustense) is active here if u have questions

oak dragon
rancid temple
#

Alright @vernal crest the game will probably tell you eventually, but I just pushed out an update for Custom Locks Updated with a compat patch for DTZ

#

If you are still awake lol

lucid iron
#

i wish preserve_sheet_index_ and id_ context tags didnt turn all id to lower case

rancid temple
#

.ToUpper /j

#

Is it just a preference thing or is it messing with something?

lucid iron
#

well most mods have cased ids

#

i thought my mod broke vendace caviar from vmv but no it was just casing

rancid temple
#

Oh, didn't think context tags would have any kind of effect on it

thin hamlet
#

Can I make like forage-able minerals with CP?

rancid temple
#

I think this is more of a FTM thing?

thin hamlet
#

Like I can make normal nodes, I’m just wondering if i can make forage minerals with it

#

Oooo maybe

#

Ill look into that

#

I completely forgot about FTM :kek:

rancid temple
#

I mean, you can make objects and I think locations have forage data? That you add stuff to

#

But you don't have a ton of control over the spawns of stuff that way, just kinda chucks them into the random list

thin hamlet
#

Okay thanks

#

Ill do some digging

lucid iron
#

so the tag is actually supposed to be this, and it seems correct on latest nexus dl of vmv

preserve_sheet_index_lumisteria.mtvapius_whitevendace

but for some reason my mod folder had this

preserve_sheet_index_Lumisteria.MtVapius_WhiteVendace
#

bc it was just a difference of case i didnt notice at first KasumiDerp

rancid temple
#

Ah

lucid iron
#

still if this tag didnt have to do all lower i could have looked up the item directly, instead of going through item query

plucky reef
#

I am an evangelist for .tmx now, this rotate/flip function is huge.

royal nimbus
#

hey so i successfully edited a room in tiled and i partly got the code right with no errors but its not showing up in game. prob cuz i didnt add this portion but idk how to get the right x and y numbers from tiled. also this is how the room looks if anyone's curious. im pretty happy with it :3

calm nebula
#

Context tags are supposed to be case insensitive

hallow prism
#

(soi haven't see history of it)

lucid iron
#

no its right on the download

#

its prob nexus shenanigans resulting in my local version being wrong

hallow prism
#

oh

#

like not updating a file properly because change were minor or whatever?

#

kinda like "nexus ate my manifest" deal?

lucid iron
#

yea maybe

hallow prism
#

ok!

lucid iron
hallow prism
#

i remember one user not getting the proper product (and obtaining aged roe instead), maybe this was why... some weirdness like that (they never gave any extra info so i don't know)

lucid iron
#

my other issue (for my own mod) atm is that item query resolver cant actually find preserve_sheet_index_* (including vanilla sturgeon roe)

#

i think its cus this gets populated in Object not Item

brittle pasture
#

Are you using FLAVORED_ITEM?

lucid iron
#

nope but i prob should give up and use it LilyDerp

brittle pasture
#

outside of it you cannot make flavored items with item queries alone

#

not even with filtering

lucid iron
#

yea prob for the best MitsuYawn

#

my stupid reason for not using that was bc i only really needed the color for drawing roe

#

since i am not using the game's draw in menu function

#

oh but, wouldnt it hit the same issue?

#

FLAVORED_ITEM would need a case sensitive id, that preserved_item_index cannot give

calm nebula
#

huh, weird

brittle pasture
#

Ah I understand what you're trying to do now. In that case you can try ALL_ITEMS, take that part of the preserve id and filter by id_o_itemid

#

preserved_item_index_itemid to id_o_itemid basically

lucid iron
#

yea thats prob the only way LilyDerp

brittle pasture
#

then pass to FLAVORED_ITEM

calm nebula
#

were case-insensitive context tags reverted at some time?

lucid iron
#

i wish for Object._PopulateContextTags to unexist

calm nebula
#

( @ivory plume context tags. Supposed to be case sensitive or nah?)

ivory plume
#

I think they were always case-sensitive?

#

Even if we made the hash set case-insensitive, the game parses individual tags manually in a lot of places.

calm nebula
#

they were, then they were made not

ivory plume
calm nebula
#

(sorry)

plucky reef
#

since it's been a while, do I still need to re-list/replace all warps when I'm adding my farm-specific warps?

calm nebula
#

ItemContextTagManager also appears to be case sensitive

ivory plume
#

Oh, I see. ItemContextTagManager base tags are case-insensitive, but specific-item-instance tags are still case-sensitive.

calm nebula
#

oh, interesting

ivory plume
#

I'll look into making context tags fully case-insensitive in the next 1.6.9 beta patch.

calm nebula
#

thank you!

ivory plume
teal bridge
#

Thanks for the perspective. Similarly, I started off wanting to make it just a "MonoGame framework" and have no dependencies whatsoever on SV or SMAPI, but considering it's for UI, it was becoming too much of a hassle to try to build things with zero assumptions about game assets like sprites or dimensions or sounds, or a totally abstract input system that somehow makes all of Stardew's weird quirks go away, or even pushing it onto the user to figure out how to integrate with SV's bizarre menu system. So I gave up on the "Pure MonoGame" thing. Even now I'm struggling a bit trying to figure out how best to incorporate localized strings into common widgets.

NuGet would definitely be inconvenient too due to the version conflicts. Maybe once I get out of churn-mode and into maintenance-mode, that'll make more sense, but as soon as a package dependency is introduced then I have to be even more careful about any breaking changes.

plucky reef
#

oh thank Yoba, that's so much easier. I can just slap that in the map content.json?

ivory plume
#

You can put it directly in the .tmx map file, or edit it into the map via EditMap in content.json (whichever you prefer).

plucky reef
#

tysm! This saves me a lot of time.

ivory plume
#

Welcome!

gaunt orbit
plucky reef
#

I was thinking about that but then I would need some custom farm tile art, right?

#

And then people who are downloading a custom map mod would typically not be using the defaults, unless that's a dealbreaker for a lot of people.

gaunt orbit
#

What do you mean?

plucky reef
#

like if I'm downloading my map, and it replaces forest, I don't really care because I'm not going to be playing any of the default maps like riverland, standard, etc.

#

so the benefit would be to get a custom map tile on the map select screen, and a custom art on the map in game?

gaunt orbit
#

Oh I meant about the farm time art question

#

Ah yeah you would need an icon for the farm selection screen

plucky reef
#

I'll play around with it, if I can get something neat/unique enough to bother I'll try it.

uncut viper
#

well, you could just reuse one of the existing icons

plucky reef
#

Ah, I need more pixel art practice anyway. I'll give it a shot.

hallow prism
#

recoloring vanilla art is a good start 😄

lucid iron
#

hm so i can do FLAVORED_ITEM Roe * but not FLAVORED_ITEM 812 *?

wheat spruce
#

i think this question is possibly misguided but what is the quickest way to figure out which "number" Maps/springobjects or Tilesheets/crops something is (i.e. the number that shows up in a patchsummary not the coordinates)?

plucky reef
#

Side question, hot springs just work for regenning stamina, I assume because you're only ever in water when you're in the bathhouse, so I assume it's "player is in water, regen stam". Would it take a c# mod to adjust that behavior?

lucid iron
lucid iron
plucky reef
#

Nerf it in a specific location (farm cave).

#

I know the vague c# code in my head to do it but I have so little general knowledge of modding the game that it might not be the best route.

lone ice
#

Hi all! Is there a way to tell Content.json to include every .json in one folder without typing every name?

lucid iron
#

you can do it in a single Include, but you do have to type every name

lone ice
#

darn

#

ok

#

thanks

#

I have so many files (one per character) that I wanted an easy way to make sure I got them all

sacred umbra
#

Hey everyone! I'm trying to list all the context tags of all the items. Is there a good way to do that?

  1. debug listtags is not helpful because it requires that you are holding the item in the game. It would take forever to give my character each item and have them hold it.
  2. It seems based on some reading that there are hardcoded tags and generated tags. I want both. So I'm worried that creating a custom mod will not get both.
hallow prism
#

i'm not sure how you can achieve that, can i ask why you want achieve that in case it helps figuring a solution?

sacred umbra
#

The "better chests" mod for example uses context tags to sort items into chests. of course i want to sort my items in a specific way. Its hard deciding on a sorting design if you don't know what items have what tags. using debug listtags on the item I'm holding never really helps me. I set a chest to accept a certain tag and then another item i don't want to get sorted... well... it gets sorted. Its always in a way that i wasn't expecting. If i could see all the tags on a spreadsheet then i could come up with a sorting design i like.

#

It would also help me learn more about the tags and modding in general i guess. Maybe I should just make one of the beginner mods and start the modding journey and one day I'll have my own answer?

lucid iron
#

obviously this doesn't have any tags added by mods, but decent start

#

the functionality you want can be done via C#

#

oh u can also patch export Data/Objects

#

that should give you the static tags, but not these auto ones ofc

#

so it potentially misses context tags added by C# mod

sacred umbra
#

Yeah. I was thinking this would be more complicated because of the auto tags.

#

I guess i need to run a script while the game is running so that it catches the auto tags.

lucid iron
#

mods that are content patcher can only add static tags

#

so patch export covers those

sacred umbra
#

The auto tags are added at runtime right?

lucid iron
#

they get added when an object is created

sacred umbra
#

Interesting

lucid iron
#

the wiki documented the ones done by vanilla

calm nebula
#

You can literally just make the game instantiate every item and check the tags

#

Bimd that to a keybind

sacred umbra
#

haha. thats what i was just thinking now...

calm nebula
#

And dump to csv

lucid iron
#

yea not too hard to do Bolb

calm nebula
#

I bet you no more than 30 lines of code

lucid iron
#

i'd make it console commands

sacred umbra
#

hmm okay. sounds good. I'll start there.

calm nebula
#

!startmodding

ocean sailBOT
#

Making mods can be broadly divided into two categories:

Usually it’s easier to start with making content packs, since you don't need to learn programming.

calm nebula
#

!decompile

ocean sailBOT
sacred umbra
#

Oooh. I was wondering what people were using to decompile and read the base code

#

Thank you!

wheat spruce
#

Sanity check (i just counted by hand a few times): is pineapple #49 in Tilesheets/crops? SDVpufferfear

brittle pasture
#

That will give you every context tags, generated or not

rancid temple
#

Did a quick count and that seems correct

#

The giant crops don't count each one, you just count the spots where a crop would be if it was not the giant crops

wheat spruce
#

🤦‍♀️ thank you, I was counting by column not row

tender flicker
#

Heyy I'm really new to the modding (I'm trying to make custom map). I've researched as much I could, but I can't figure out one thing. I'd really like to have a specific tilesheet but don't know how to re-use it.
I want fall beach tilesheet but when i open beach map it's that spring one. (following steps from Re-using vanilla tilesets on the wiki)
My issue is I don't have animated tiles when I export, I guess, tiles itself and missing custom properties while i want animated and tiles with custom properties from that fall version

proud wyvern
next plaza
teal bridge
#

That's a "six to eight weeks" answer to cynical old me.

next plaza
#

Oh yeah, given how long it's taken I still don't expect it any time soon

#

Oh, yep, checking the feedback post it says 2025

proud wyvern
#

i'm just glad it's happening at all

#

also means i gotta look into creating reference assemblies for Cobalt Core

teal bridge
#

i'm just glad it's happening at all

6-8w does leave open some room for interpretation on that...

heady relic
#

For shirts when they're in the player's inventory, does the game use the first sprite for it on the shirt sprite page?

#

I can't find them listed in Objects, so as far as I can tell they're only directly referenced in Shirts.json, and as far as sprites are concerned I can only see shirts in the shirts sprite sheet

drowsy pewter
#

yes

velvet narwhal
# tender flicker Heyy I'm really new to the modding (I'm trying to make custom map). I've researc...

if you want the animations, you'd have to open a vanilla map, export the tilesheet as tsx and it should keep properties. You would have to duplicate the vanilla tilesheet that you want to use, name it something different like z_RyuFallTileVanilla, load that into data/maps, and use that. However you will not get seasonal tilesheets and it will conflict with mods that change vanilla tilesheet colors and it will be offputting. (The custom tilesheet will not change)

brave fable
#

(i'm so glad tsx export is standard practice now SDVdemetriums)

velvet narwhal
#

i say should with a grain of salt because i honestly just let tiled screw me up and take the tilesheet from a vanilla map if i've started from scratch

#

highlights tiles, copy, pastes into new map job done

brave fable
#

see last i did that i ended up with invalid tile gid errors and duplicate sheets

#

i don't blame tiled for that tho. my beloved

velvet narwhal
#

a completely blank new map? i think i've only had that when i tried to ref a specific seasonal tilesheet

brave fable
#

an existing working map

#

hence duplicate sheets haha

velvet narwhal
#

ah yeah that makes sense SDVpufferclueless my nap ruined my reading comprehension

brave fable
#

wow, i thought loc's cookbook animation was over the top. meanwhile ape's Book_Animation:

#

1024x32 SDVdemetriums just enough frames

teal bridge
#

That's what happens when you don't have a choreographer and can only play from beginning to end. At least, that's what I assume happened here.

velvet narwhal
#

(i forget, but if i'm editing gifttastes and the item doesn't exist, it just ignores it until it exists, right? i kinda wanted to avoid 'when' conditions for optional mods)

brave fable
#

might've just spent 5 mins losing my mind trying to find the summer boatjourneymap spritesheet in LooseSprites after seeing the winter sheet in there

#

how does this happen

teal bridge
#

Are the two winters the same?

#

They seem to be the same. So I'll go with "forgot it was there".

brave fable
#

loosesprites asset isn't even used! it's just another iq test

patent lanceBOT
#

@next plaza: look into marriage schedules with your 0 schedule fix (24h ago)

brave fable
#

i'm not sure if removing assets is on the table at all given things like maps/townindoors are still in the game, but it's worth asking since it seems like an oversight

next plaza
#

Remind me in 24 hours to look into marriage shcedules with my 0 schedule fix

patent lanceBOT
#

Oh okay, kittycatcasey (#6242241) (24h | <t:1726444187>)

next plaza
#

I'm busyyyyyyy

velvet narwhal
#

you made uber sad

tender flicker
velvet narwhal
tender flicker
#

Oh. Good to know!
Thank you!

stray hearth
#

Hi hi, im working on making an NPC, but she's not showing up in the game when I try to test run it. She shows up in the introduction quest, and the social tab, but isn't walking around in the game. I dont get any error messages from smapi either. Heres my dispo and content json. Any help would be greatly apprieciated!

velvet narwhal
#

Gift tastes

#

i was wondering what was missing, but essentially it needs the gift tastes to exist

#

!npc

ocean sailBOT
#
Creating a Custom NPC

Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:

  1. Tiakall has a great tutorial on making a custom NPC for 1.6:
    https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_a_Custom_NPC

  2. Custom NPCs received many improvements with 1.6. For changes made, see the migration guide:
    https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.6#Custom_NPCs

  3. Some information on the NPC wiki page is still relevant:
    https://stardewvalleywiki.com/Modding:NPC_data
    Just make sure you're checking the migration page and tutorial first as this page still has outdated information on it as well.

  4. Aviroen has put together a template that will allow you to easily create a romanceable NPC:
    https://stardewmodding.wiki.gg/wiki/Npc_template

stray hearth
#

ohhh, i would have never thought of that

#

thank you!!

velvet narwhal
#

i think ichor/tia went through a whole spiel about antisocial npcs that didn't have a gifttaste, and therefore they wouldn't function properly

teal bridge
#

Anyone else found that Game1.lastCursorMotionWasMouse does not always seem to be entirely accurate, and might happen to know what causes it to be temporarily inaccurate?

brave fable
#

yes, i remember having issues with it in sdv1.5 for love of cooking. if i want to check if the player is actively using a gamepad, i check Game1.options.gamepadControls

teal bridge
#

Doesn't that just tell you whether gamepad is enabled, not actively in use?

brave fable
#

there's also Game1.options.mouseControls, but this is just set to !Game1.options.gamepadControls

teal bridge
#

I usually see them used in combination.

brave fable
#

it's updated on every input, so moving the mouse, keyboard, or gamepad at all will flip the flags

#

you can find the code at CheckGamepadMode

teal bridge
#

Huh, you're right, it flips from true to false and seems to be actually correct, at least on the frame I'm breakpointing. I wonder why that other flag even exists.

brave fable
#

took me a bit of playing around to find the right way to check gamepad mode haha

calm nebula
#

this looks

teal bridge
#

Yes, I looked at that implementation but none of the underlying conditions were true. (Also there are many other places in the game where it seems to get set, some based on other conditions)

#

Of course that doesn't mean the conditions weren't true when it was checked, just that there's no easy way to trace what happened because of all the action at a distance...

#

Now that I look, Game1.options.gamepadControls is used far more often in the game code than Game1.lastCursorMotionWasMouse (143 times vs 24 times)

brave fable
#

safe to say mouseControls/gamepadControls is the way to go SDVpufferthumbsup

teal bridge
#

Yes, I think you're right, just finished changing a few dozen references.

brave fable
#

vs with the wise and ominous popups

teal bridge
#

For some reason it loves to pop that one up as soon as I switch away from the VS window.

ivory plume
brave fable
#

oh wow, townindoors is actually gone

#

now do GreenHouseInterior SDVdemetriums and WoodBuildings (and WizardHouseTiles (and skillTitles))

#

we will hide CA's dark past

lucid mulch
#

curious how many mods rely on them

brave fable
#

hopefully none, these spritesheets are terrible lol

velvet narwhal
#

aren't they awkwardly sized as well?

brave fable
#

good point, we should remove LooseSprites/Cursors too

teal bridge
#

.NET's GC is amazingly efficient sometimes. I mistakenly used a WeakReference for a transitive dependency and it was gone on the very next frame.

tiny zealot
#

@ivory plume at least in 1.6.8, if a toddler is wearing certain hats and jumps, the hat jumps and the toddler stays on the ground, i think due to the new_height calculation inside Child.cs:public override void draw(SpriteBatch b, float alpha = 1f). the effect can be seen here #modded-stardew message, although this is from a mod i am working on to let you toss older children.
is this intended behavior? (as far as i know, toddlers never jump in the unmodified game)

ivory plume
#

I don't think kids jump (in vanilla)? So handling that is likely just not implemented.

lucid iron
#

you can yeet babies

teal bridge
#

Does Jas's jump-rope count or is that not really a "jump"?

tiny zealot
#

that's just a spritesheet animation i think

tiny zealot
teal bridge
#

Behold, a drop-down list that actually works the way a drop-down list is supposed to work. The cursor focus system took a whole day to figure out.

I know, you say, "who cares, the users are never going to notice". They notice, even if they can't articulate what they notice. They're accustomed to suffering in silence.

ivory plume
lucid iron
#

anyone know what these r for

brave fable
#

those look like shop items to me

#

like so:

lucid iron
#

oh a border bolbclose

#

what about the blue one

uncut viper
#

qi shop?

lucid iron
#

right yea

uncut viper
#

maybe joja. dunno what the joja shops look like or if theyre normal

oak dragon
#

I find some pngs too but dnot know what these are for too. Can anyone tell me?

brave fable
#

item hover tooltip borders game menu borders SDVpufferthumbsup

lucid iron
#

the thin one is for item chest menus

#

and the rest is sliced up borders

#

oh and the gradient is the bg

oak dragon
#

got it . and what r these seems like part of whole border

lucid iron
#

yea basically

#

i dont recall of top of head where these r used though

plucky reef
ocean sailBOT
#

Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 10 Home, with 11 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

lucid iron
#

show json

plucky reef
#

the content.json?

lucid iron
#

ya

plucky reef
#

I have not fixed the warps yet so it's still the stuff from 2 years ago.

lucid iron
#

!json

ocean sailBOT
#

JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.

If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.

When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.

lucid iron
#

hm so is .mine png

#

or tsx

velvet narwhal
#

are you using something in the mine folder?

plucky reef
#

Oh I do need to make spring_outdoors a tsx for the animation but it's failing on mine first

lucid iron
#

"HasMod": "FlashShifter.StardewValleyExpandedCP" btw

plucky reef
#

the tilesheet, I remember reading something that the Mine folder is different for pathing.

lucid iron
#

if u want the :false form you have to use "HasMod |contains=FlashShifter.StardewValleyExpandedCP": false

velvet narwhal
#

"HasMod |contains=FlashShifter.StardewValleyExpandedCP": for the suffering way

#

yeah it's literally Mine/Mapname

plucky reef
#

I think the hasmod will be going away actually, going to use the fancy new warp methods that pathos gave.

velvet narwhal
#

same concept as TownInterior, no file extention

#

or is it mines, either way

#

it reads it properly if it's inside of the maps folder

lucid iron
#

no i think u do have to copy it

#

ah no its Maps/Mines/mine.png

#

so u can put Mines/mine instead of .mine i think?

velvet narwhal
#

<image source="Mines/volcano_caldera" width="144" height="320"/>

plucky reef
#

hey ok, that changed the error.

lucid iron
#

and remove ur .mine file

#

now that is cus u didnt name ur tilesheets with z_*

#

but if u just do additional farm it's not problem

#

since it whole new map wew

oak dragon
#

When I switch between fullscreen mode and window mode, the entries in the journal are offset.what happenedSDVemoteconfuse

lucid iron
#

wow a feature KasumiDerp

#

seems like vanilla bug, try it without mods?

oak dragon
#

yea

#

I just removed all mods

calm nebula
#

Fwiw menus breaking on resize is nothing new for this game

#

I had a list at some point

#

!officialbug

ocean sailBOT
oak dragon
#

oh governor is a robot.

brave fable
#

a couple of menus are fixed in 1.6.9:

Fixed issues when resizing the game window:

  • advanced game options layout being messed up;
  • collections page losing its selected tab and page;
  • social page losing its scroll position.
lucid iron
#

this is maybe 3many icons 5me

#

perhaps i limit to 2 columns

calm nebula
lucid iron
#

its not grounded

calm nebula
lucid iron
#

(electric means fuel)

calm nebula
#

On the width of the screen

lucid iron
#

yea i do decide how many col based on that

calm nebula
#

So lefauxmatt over ther with his football field shaped screen sees nine columns

brave fable
#

maybe a plus-icon instead of a lightning bolt SDVpufferthinkblob

calm nebula
#

Too late

lucid iron
#

though a single row could theoretically be very wide, if some modded machine add a ton of outputs

calm nebula
#

I'm already electrocuting am egg

velvet narwhal
#

microwaved eggs explode SDVpufferangy

calm nebula
#

Oh no

brave fable
#

new jas event with marnie's microwave incoming

calm nebula
#

Ten kilovolts babbbbyyyyy

brittle pasture
#

only raw eggs do that right, or have I been risking me life with boiled

calm nebula
#

You're not risking your life

#

You are risking having to clean the microwave

brave fable
plucky reef
#

Every time I get a hint and then slowly figure it out, another wrinkle forms on my smooth, holey brain.

velvet narwhal
lucid iron
#

say is there a microwave custom machine yet

oak dragon
lucid iron
#

joja™️ microwave that cooks joja™️ meals which u can only buy from jojamart

velvet narwhal
#

my next mod project after marlon expanded: more vanilla kid events:
"Jas commits a crime" ™️
"Vincent calls the cops"

oak dragon
#

Coin use

brittle pasture
#

it's so strange seeing the original version of the gif after a bazillion fandom animation

brave fable
#

ah the all-new Jojero™ juice press for use with joja fruit-themed press sachets.

  • requires house upgrade 4 for internet access & joja membership card
velvet narwhal
#

god where's that videoplayer mod for a tier 4 house upgrade, it plays youtube videos on your tv

oak dragon
#

Buy it with 50,000 g, then use it once 1,000 g

teal bridge
# lucid iron this is maybe 3many icons 5me

You can make the UI look a lot less busy by just adding whitespace - more comfortable margins, padding, etc. I'm not sure what the "+" does either?

If that scrolls down very far, then I'd consider having one longer scrolling UI and focusing on making individual entries easier to find/identify, vs. trying to show as many possible. For the example you showed, perhaps have an "all tab" for everything but also separate tabs for the input categories (fruits, vegetables, animal products, other artisan goods, etc.).

Just some thoughts, though. Design can be a pretty personal choice.

lucid iron
#

the (+) goes to a new menu to disable certain input items

#

i do have to add more margin yea

teal bridge
#

Do you need all those pluses? If it's a global list of items you can disable, then one button in a header row ought to be enough (to bring up that separate screen, tab, etc., where you can choose those items from a different list). If it's supposed to enable/disable that particular row then I thought that's what the checkbox was for.

lucid iron
#

hmm

#

i did think it'd be easier to find valid inputs to machine if i did it per row (aka per output rule)

#

but yea 1 button would make more sense to avg person i think Bolb

#

yea i gues i'll do tabs for this wew

#

i saw a ITabable but that just implements controls right, doesnt draw anything

teal bridge
#

Right, that just gives you the ability to intercept controller presses for trigger/shoulder buttons.

#

Some UIs also repurpose those buttons as a way to do large steps down a scrolling list (like scroll down an entire page).

#

Doesn't even necessarily have to be fully-fledged tabs though. Could just have a row of buttons at the top that act as filters?

lucid iron
#

nah it would have to be tabs, since they would be editing different data

#

rn this interface with the checks changes what MachineDataUtility.CanApplyOutput returns for a given output rule

brave fable
#

i use shoulder buttons to go between important buttons/regions with a lot of clickables inbetween, the world is your tabable oyster

#

but also please add padding haha

lucid iron
#

the items interface would prevent specific item from being placed regardless of rule matching status

teal bridge
#

Oh, one other thing you can do to make it a lot less busy is to hide the digits for single-item ingredients, which most of them are. That's also what vanilla generally does for stacks everywhere.

#

It not only helps cut the visual noise but also makes stacked requirements stand out a lot more (which they should).

lucid iron
#

yea Bolb

#

i have smol issue with wax barrel having 1 global beeswax and 1 more emc beeswax

#

did not write the rule building funcs for purpose of resolving identical stacks in the end bolbpopcornhat

brittle pasture
#

(it does?)

lucid iron
#

yea candles take 2 beeswax

#

LA also just shows 2

marsh wraith
wise berry
#

Did you load the files elsewhere? This file has a Format field at the top so it doesn't look like an Include file (not a correct one, anyway)

marsh wraith
#

( hi silicon :D ) and sorry, but what do u mean by "load files elsewhere"?

wise berry
#

Ohh lemme pull up your existing mod to use as an example

marsh wraith
#

okey!!

wise berry
#

Ah, so in there you're doing an EditImage action, so you haven't loaded any files in the past ehehe

#

It's very unintuitive SDVkrobusgiggle but you get the hang of it fast

marsh wraith
#

ooh okey gotcha, thank u!!!! :3

brave fable
#

it's quite intuitive SDVitembobo if you want an asset, you load it

wise berry
#

It's easy to learn SDVitemwumbus but not something that occurs via intuition

#

Okay that's just getting down to semantics

lucid iron
#

would it be more intuitive to draw an icon instead of checkbox think

frail elm
#

How couldi go about making a mod that replaces all instances of a characters name?

lucid iron
#

in addition to Data/Characters changes, you need to edit all dialog that mentions the npc by name

#

for easier mod compatibility, it will be better to do this in C#

brave fable
#

i'll be honest i figured it'd be a lot easier than it is to render a copy of the farmer facing left at half scale

#

my best efforts have him take off his shirt and also his arms (??)

#

it's best if you ignore the bread

teal bridge
#

As far as icon vs. checkbox, I think they're both fine - checkbox is more often used in the game as a "tick" - as in something having already been done like animal petted, gift given, etc. - but in GMCM it's used for on/off and everyone's going to be familiar with that too.

#

If it's focusable (for controllers) and has a tooltip then users will find it.

wise berry
brave fable
#

oh my god it's the flip arg on new FarmerSprite.AnimationFrame. it takes off his shirt. still no arms though?

#

his hat also doesn't seem to flip with flip

teal bridge
#

Oh, can the gold ones be enabled/disabled separately? If so, yeah, I agree it'd be more intuitive as an extension to the base rule vs. a separate rule.

vernal crest
#

Why doesn't the game actually do anything with the custom offset values the wiki tells me I can do for chairtiles SDVpufferchickcry

teal bridge
#

Either an extra control for row (resulting in half as many rows) or a multimodal toggle that cycles through quality.

wise berry
#

I guess that's not what's shown in the video but it would make sense to me that way ahaha

teal bridge
#

(I sure am glad I've never had to deal with FarmerSprite and never will)

brave fable
#

why does farmerrenderer.draw() take a Rectangle param (to set the source rectangle) and also an AnimationFrame param (to set the source rectangle) and also a CurrentFrame param (to set the source rectangle)

#

and then also a facing direction number (to set the source rectangle)

vernal crest
teal bridge
#

It wants to be really sure you give it the source rectangle.

wise berry
#

(was about to mention it but you were faster)

lucid iron
#

Beyond the position ig

vernal crest
teal bridge
#

Straw poll. Positioning a HUD with controller, can be positioned relative to any of these er... quadrants? Nineants? Areas of the screen. Preferred controls?

  • L1/R1 (shoulders) to move up/down grid cells, L2/R2 (triggers) to move left/right grid cells, and D-pad/left-stick for small movements within that cell; or
  • D-pad up/down to move up/down grid cells, D-pad left/right to move left/right grid cells, and left-stick only for fine tuning.

I like the apparent obviousness of having directional pad correspond to large directional movements, but it's also harder to use a stick for precise alignment than it is to use a pad. OTOH, while using shoulder/trigger buttons for grid snap would free up the d-pad, they're really not terribly intuitive and would probably require a lot more work on the button prompts.

brave fable
#

oooh i love the coordinates for farmersprite are x and position

#

i'd have LB/RB cycle forward/backward through each cell in numpad order

#

but i do also make bad decisions often

lucid iron
#

What about using modifier keys

teal bridge
#

Haha... hm, my image above probably makes it look like a clearly-visible logical grid although in practice it's more like "corners of the screen" (including the center as a "corner").

#

Users might not get that it would "wrap around" by repeatedly hitting RB.

lucid iron
#

Idk hold Y to move 32px at a time with dpad

teal bridge
#

Modifiers aren't helpful here, this isn't just about getting an absolute position, it's also about the alignment. There's a logical difference between all 9 of those squares.

vernal crest
#

I do not like the idea of using the stick for fine tuning. (But I hate controllers so my opinion may be worthless lol)

lucid iron
#

In that case the choosing the align should be different option than fine tuning yggy

teal bridge
#

Right - thus different controls for each. Trying to decide on specific control scheme.

#

(I may have worded it in a confusing way, but the two bullet points above were supposed to be the two distinct choices for control schemes)

lucid iron
#

Yeah but i think they can both be D Pad if it's just 2 different options to set

brave fable
#

i hat e e verything

teal bridge
#

Haha, what is that even supposed to be

#

Garbage can powered flying machine?

rancid temple
#

Stick for fine movements would probably be fine if there was a modifier to reduce how much the object moves with the stick

teal bridge
#

For sure, it would definitely be interpreting the "analog" stick as just single-pixel repeated movements similar to d-pad, as opposed to the extremely imprecise cursor-style movement.

#

They'd be basically equivalent. Still, it's much easier to just tap a d-pad button than it is to quickly move the stick in and out of the deadzone.

rancid temple
#

And then I think having the d-pad move sections is probably more intuitive

#

I was thinking about modifier and d-pad for precise movement instead of section movement, but then I was imagining accidentally hitting that and yeeting my shit

#

Even the other way around seems like it could get kind of annoying

brave fable
#

why does it look fine if i use the overload that doesnt use scale SDVpufferfush it's not fair

brave fable
teal bridge
#

Are you drawing sprites with a destination rect?

brave fable
#

it's ending me

#

simply using Game1.player.FarmerRenderer.draw()

teal bridge
#

I really don't want to look at farmer sprite code, but SpriteBatch is really unintuitive when you combine scale, origin and destination rect.

brave fable
#

destination rect can't be combined with either of those

#

but this is a sdv problem, not a spritebatch problem

teal bridge
#

And by "unintuitive" I mean "it was so confusing to me that I just said fuck it and switched to manually computing scale and using single-point draw instead"

brave fable
#

maybe it's fine if his shirt is off while he's facing left. maybe it makes sense he'd take it off

teal bridge
#

I'm guessing it's a transform order issue, regardless. Scaling being applied before translation while you're expecting it to work the other way.

#

(or vice versa... something like that)

brave fable
#

he might be going to the beach....

teal bridge
#

Just wait until you try rotation.

#

Honestly it looks like he's sitting on an imaginary toilet while wearing a trash can for some reason.

#

Seriously though, AnimatedSprite does use a transform origin which means the relationship between scale and position could be something other than what you expect. And we haven't even gotten to rotation...

old edge
#

hello I am working on adding lava logic to my custom map but when I load the mod it doesn't look for the map properly...

teal bridge
#

It could also very well explain why flip is behaving differently from how you expect, if parts of the sprite are flipping around a different origin point.

old edge
#
Mod crashed on entry and might not work correctly. Technical details:
Microsoft.Xna.Framework.Content.ContentLoadException: The content file was not found.
 ---> FileNotFoundException: Could not find file '/run/media/arony/f5082bc7-56fd-4cd6-8907-d636bcad9740/steamssd2023/SteamLibrary/steamapps/common/Stardew Valley/Content/CapeKeyMaze.xnb'.
File name: '/run/media/arony/f5082bc7-56fd-4cd6-8907-d636bcad9740/steamssd2023/SteamLibrary/steamapps/common/Stardew Valley/Content/CapeKeyMaze.xnb'
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)


#

how do I get my mod to look in maps in the content folder?

teal bridge
#

That's not an actual map in the vanilla content folder, so why are you trying to load from there?

#

Are you using GameContentHelper or Game1.content when you want ModContentHelper?

old edge
#

oh ok

#

i thought the content patcher loads the maps into the content

teal bridge
#

Neither content patcher nor SMAPI puts actual files into the content folder, it loads them as logical asset names.

old edge
#

hmm

teal bridge
#

You have to load them from your mod data, then they are available as asset names.

rancid temple
#

The pipeline is a separate idea from physical files, part of the reason it's kind of hard to make people understand that Target isn't a path lol

lucid mulch
#

If the game is reading from the content folder it means no mod resolved the loading of the asset at all

teal bridge
#

I found an offhand comment on the Harmony docs mentioning that Mono doesn't respect NoInlining annotations. Anyone know if this is still true, and if so, whether it means inlining behavior could be different for copies of the game running on Windows vs. Linux?

lucid mulch
#

Mono should only be relevant for Linux compatibility branch, otherwise it's using the regular .NET 6 runtime

teal bridge
#

Linux compatibility branch...?

lucid mulch
#

The compatibility branch on steam/other that still is still .net framework (and XNA for windows)

teal bridge
#

I am confused. Is the compatibility branch Microsoft .NET or Mono? Is it some ancient version of the game no one uses anymore or is it an actual parallel branch pushed with all game updates?

#

(Is it actually more compatible with... something? Somehow?)

rancid temple
#

Looks like its for 32 bit systems?

teal bridge
#

I see. So it's for uber potato PCs built from old AMC Gremlins. Can probably ignore those, then, thanks.

brave fable
#

i give up. fuck it

velvet narwhal
#

ET go home

plucky reef
#

Ok dumb question. The content.json for a custom farm has the handy arguments for warping into the farm from other maps. Do I still need warp arguments in the tile data of the map itself for leaving the farm?

vernal crest
#

Farm map warps are done via map properties, not tile data. You will need to add/edit some warps out of the farm in some way unless you copied from a vanilla map and all the warps are already there in the correct places.

plucky reef
#

makes sense ty

vernal crest
#

You can manage the warps in the map itself or via the json, btw

plucky reef
#

how so with json? I have this:

velvet narwhal
#

(there's no feasible way for me to set a configuration against having a custom farmhouse, right? except for just setting a bunch of uniqueIDs as a throwable error but i don't necessaryily want to do that)

plucky reef
#

And then I have like, "farmhouseentry".

vernal crest
#

Add the "AddWarps" field into your "EditMap" action for the farm, like so (obviously with different Target etc).

        {
            "LogName": "Edit National Park entry into Forest",
            "Action": "EditMap",
            "Target": "Maps/Forest",
            "AddWarps": [
                "-1 48 {{ModID}}_NationalPark 59 31",
                "-1 49 {{ModID}}_NationalPark 59 31"
            ],
        },
plucky reef
#

ah that was what I was doing before, but I thought you had to do full overrides in that case.

vernal crest
vernal crest
velvet narwhal
#

i've found a perpetual bug for one of my farmhouse events, where for some strange reason it nullifies and locks the player in place if they have a custom farmhouse obviously because the npcs can't move

plucky reef
#

like, all possible warps that supercede the other map's warps, including farm <-> other. Not just inserting one for farm -> other.

#

I am probably operating on imperfect information.

vernal crest
#

Ah right. Well, what you've got already covers the warps from other maps into your farm (I assume - I've never seen them before because I've never done a farm map lol) and then the AddWarps will cover the warps from the farm out to the other maps.

plucky reef
#

I will give it a shot tomorrow. The last time I did farm map was 2022 and it's Just Worked since, so revisiting it today has been a lot of head scratching of if I did it the way it was supposed to be back then or if I just had accidentally cobbled it together.

#

I like doing the warp changes inside a json over the map properties so that will be nice.

vernal crest
#

Yeah it is good being able to do stuff like that with the json. You could do all your object properties and stuff that way too I guess but so far I have not bothered.

brave fable
#

hi @ivory plume, i'm sorry in advance

FarmerRenderer.drawHairAndAccesories doesn't behave well for any scale != 1f and it gets worse if FarmerSprite.flip == true

today's use case is rendering a fake player at a smaller scale, but it's making me extremely sad. screenshot shows results with scale set to 0.5/1.0/2.0 and flip set to false/true, original farmer in the middle. test mod included if you like, i think it's just a matter of fixing a few draw calls which use Game1.pixelZoom instead of Game1.pixelZoom * scale, but i have no idea about the flip behaviour since the method doesn't seem aware of it any further than facingDirection

i'm sure there's a lot of red tape around farmer draw methods, but it'd be nice to see it fixed if it's worthwhile.
SDV 1.6.9.24258

velvet narwhal
ocean sailBOT
#

Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 10 Home, with 74 C# mods and 160 content packs.

hallow prism
#

the red error about not being able to switch? who is having it?

velvet narwhal
#

a user gave me this log, i've debugged this in isolation and i can run it just fine
by debug i mean i didn't bother to do debug ebi <event id> i let it run it's course

vernal crest
hallow prism
#

you can suggest :

  • they verify they have Data\Events\Custom_HighlandsOutpost
  • they reinstall fresh
  • they try again