#EVTUI (Visual event editing tool)
1 messages ยท Page 10 of 1
(would've been great to have this when adjusting the camera for this event )
oh right mona does that
oh right does that
OK, pushed changes to the Windows bootstrap script to the branch.
i'll be having nightmares
i have no idea wtf is wrong here
its the introduction to mona scene when he's in jail
Yeah, I don't know either. Between that and the timeline issues specific to you, as far as I can tell....
no i'm talking about my script
oh lmao
fuck me man
rip
i'll try running it on my main drive since it's talking about my mount point
Have you tried fully deleting your clone and re-cloning from scratch? ๐
lmao now i't stalking about my mount point / bro what
yeah checking out the right branch and running batch script fails with afaict the same errors i had before
Booooo....
vs hates EVTUI...
time to delete it a-fuckin-gain!!
phrasing
im not even really using vs features though...
linux speak
uhh how do you clone a specific branch from terminal i'll try that this time
Clone, then git checkout psy/asset-management.
i just reflexively open it from vs and then do everything on commandline anyway
ive just been keeping this tab open always lol https://stackoverflow.com/questions/9153598/how-do-i-fetch-a-branch-on-someone-elses-fork-on-github
i just did git clone -b psy/asset-management https://github.com/DarkPsydeOfTheMoon/EVTUI.git according to some stackoverflow answer
Oh, dope, that also works.
I remembered the command this time, but forgot to cd into EVTUI...
yay my custom event is working
kinda
okay now that i deleted the duplicated camera its working properly (we can manage with the void as a wall)
it works
oh they moving
annbrine
deleting a second goddamn time, actually changing to the right branch, and then running the script and building works
this isnt apparent from the screencap but marukis shirt is trying to escape from his coat
lol
what about salty water?
my favorite kind of water
so it only shows initial positions?
from the looks of it yeah
evtui sucks all your memory
he's truly committed to reading it
my brain is already gaslighting me on if thats the right error
naturally i cant seem to reproduce
unreproducable errors..... 
i cant reproduce 
did someone take your ovaries
idk let me check
i went to check another discord and it froze my machine for a couple seconds then crashed again, only this time without the error popup
every copy of evtui is personalized
with how i'm the only one getting timeline problems... yeah
So it goes when you have a massive, sprawling piece of software maintained by a single dev ๐
oh, the eyes always vanish when away from the camera
thats some agressive lod
Yeah, GFDStudio seems to have some issues with scaling/distance in that way.
yusuke this is ann's room (so camera can actually update when changing the initial values, but models need a restart of the scene)
I am glad all the issues just seem to be garden-variety jank and not related to the changes. So... full speed ahead!
the environment looks fine, but the characters seem to get very pixelated. i wonder why its like that
The environment can also have issues like that, tbh, it's just less noticeable because it's rarely as intricate mesh-wise.
oh true
seems like changing model idle animations work without any restarts
because they are already loaded?
I guess?? But I didn't think it was hooked up to the renderer that way. Cool, though.
yeah it seems to just work

This thing truly does take on a life of its own in everyone's respective copy ๐
Interestingly enough I changed the first MSD for asset 5 into asset 3 and this happened. Which this anim happens later on in the event.
the same thing happened to sumi
do I have to do a fresh clone for this to work?
possibly
nope I just had to delete the AST and GFD Studio folders and run the batch script again
so how does the renderer work @faint plinth?
I'm guessing there's not quite a way to advance the timeline yet
since you said it'd be pretty difficult
not yet
OK, if anyone wants to try out the branch psy/asset-management, it's up + unmerged. I still need to do some cleanup, but some basic Windows testing would be nice ๐
What to expect:
- The bootstrap script needing to be re-run first!
- Events may take a few moments longer to load than before (for obvious reasons)
- The rendering tab will show some very basic blocking of the field and initial model positions + animations
- Assuming you're on P5R, fields should show up with their textures (but my initial tests of the P5 beta suggest field textures aren't working there just yet)
What not to expect (yet):
- Any responsiveness of the render to changes you make (without reloading, at least)
- Palace fields to show up at all, lol (black void be upon ye)
- Fields to look complete, because field objects aren't working yet
- Crashes... ideally. But this hasn't run on Windows yet, so it'd be nice to confirm that ๐
[Go to message!](#1216244753239248976 message)
just delete every frame until you get to the one you want
||/j||
it works fine on windows so far
true
btw I'm getting the temptation to try and make a 2d game engine
well, closing an event can crash the whole thing but hey its when closing
uh i dont think you are supposed to kiss someone by melting into their heads... but hey, you do you!
this feature is great
FINALLY

Energy of smashing your toys' faces together to make them kiss ๐ but that's just how blocking out a scene goes, lmfao.
Energy of smashing your toys' faces together to make them kiss
thats just making fanfics in general 
Well, true, but I meant the head melting part of it, lol.
Seems this is just pointers doing their magic, because I was able to scooch Sojiro over to a bar chair from the booth, lmao.
I'm still going to have to get much more sophisticated with things to get full reactivity working here, but it's a nice accidental aspect of the feature, I guess!
Yeah definitely, I mean even as it stands it's still leagues better than before.
Since before was literally nothing, lol.
He lurks....
dude got a bad haircut
The balding has hit him earlier than expected 
maruki respawned him incorrectly
if only i had a shido emoji 
Must be on the Switch
It is merged
๐ฅ
(You should all be able to move back to the main branch, in other words.)
what have you added since I last checked in?
or changed
It's more or less what was in the branch when I last recommended testing it. I just cleaned up some stuff, but nothing functionality-wise.
Ideal date: going to a jazz club and t-posing together ๐ฅฐ
shusumi asserting their dominance over the fandom
wait theres a bike there????
hawaii is scary without the background
Oh yeah, guess I need to load the skyboxes, too, lmao.... Not sure if those will straightforwardly come with loading field objects or not.
They should, stuff like sun glare and skyboxes are just objects
Yeah, but I don't know if the fields have pointers to them on a node (as is the case with other objects), or if I need to add them in separately.
They do
Oh? Nice.
Yeah, like 90% sure they all just have skybox bones that spawn in said skybox
looks pretty accurate for a beach at night
shit's dark
(remembers that the darts event is coded really wildly) Oh, I bet this one will look funny as h--
Yeah, Takemi, Kawakami, and Hifumi are the default models for some reason, and their models get replaced via script based on who you called. (I assume it's them both because then it's obvious if something went wrong for debugging, and also it's funny.)
Double Morgana is a mystery, lmfao.
Tag yourself, I'm Futaba's shoes lying abandoned on the floor.
I'm Morgana 1
This one also takes like five minutes to load because of the way I did the GAP-doesn't-exist backoff logic... lmao... I guess I need to rethink that...
I'm the plant
im the dartsless dart wall
if i ever have to make a fuckass event like that im going for the funniest default models i can think of
also opens jazz club
oh lol it crashes on close for me too
Huh. Anything in the logs after the crash?
oh i forgor to check, i immediately got distracted labeling some confidant abilities for this imhex pattern
uhh im not sure if theres anything useful but there are some gfd warnings at the bottom

@faint plinth clicking on a msg_ in 132_001 (ryuji's awakening cutscene) crashes for some reason
also playing bgm and sfx from the snd_ can often just crash, but the same ones throught the Audio tab dont
oh one last thing. any plans on supporting bgme framework? or at least allow manual input here (the new tracks should be able to be called in events right?)
Sounds like a job for the Put Error Catching In Every Button Click Handler PR I need to make so we stop getting so many unexplained crashes ๐

Hm, I don't know how BGME works -- I thought it was for battles only? Which is why I never considered adding support for it. If I'm wrong, I will. But if the modded cues are in BGM_42 then they're not going to get picked up by events anyway.
Events look at the regular BGM only.
I see 
should i
ryo?
Full support is going to take a bit of work, since it's not straightforwardly replacing cues in the same ACB. I'll put it in the same "TBD" category as Ryo audio support.
As for being able to select the cues anyway, listenability aside, hm....
I can change the dropdown into a numeric entry until there's support for audio frameworks, to unblock here. I was just hesitating because I like the dropdown, lol. But the same is already the case for Scr_, I suppose, where I want a dropdown but have numeric entry in the meantime....
i personally love entry + dropdown myself
good for customizability in case something doesnt get registered in the program while still having the easy to access list
Do you have an example of that?
Like, what does the dropdown show when you've entered a number that's not in it? Or are they not both showing at once?
i dont know the proper terminology for ux elements. but from what i've seen when using some tools, is that the dropdown shows the normal list when nothing appears, and the predictive text kicks in when you input something. basically, the input box is the value and the dropdown sets that value, but you can also just input stuff there.
honestly, just detecting the added stuff to bgm42 for a bgme dependency should work. CBT also has some it adds using that
tbh just do what you think is better that wont derail the current scope
Hm, I don't know if Avalonia has anything like that out of the box. This comes to mind, but no dropdown shows up until you've entered something, as far as I can tell.
That would be the ideal compromise, though.
i dont think there is any other mod that adds bgm entries right?
might not be necessary then. just check for bgme
Ryo can. Regardless, that's more implementation work that isn't as trivial as a check at the moment, so it would take a while to unblock you that way. A UI-based unblock would be quickest.
fair. you do have the audio tab to check for the numbers anyway so its not that much added friction
๐โโ๏ธ I'll change it to numeric entry until I figure something else out.
it's the same as ryo, those docs are hella old
only difference is putting files in MOD_FOLDER/BGME/GAME_NAME will apply some preconfigured settings for music 
the short of it is you assign your new track a cue id and stick it in BGME/P5R (or BGM_42.awb for legacy reasons)
you can use it for battles specifically but youre not limited to it, i dont think anyones done this but theres afaik nothing stopping someone from calling their custom cue in an evt
it indeed works with evts 
for battles specifically i wouldnt even recommend using bgme framework over reactive (if it has an entry for the encounter you need) or battle themes (if youre just messing with trash mobs) barring a discrete reason
using BGM_42 applies the stuff from docs (10k id shift between file id and game/script ID)
yeah ik
since removing that would break all old mods 
i was already familiar with it back before the core cue-adding functionality was moved to ryo
can always trust you to understand my stuff 
you cant trust me 
OK, pushed a fix for Snd_ to be able to use whatever cue IDs you enter numerically. (And also not crash if you try to play one not in the ACB.)
quick question
is there a particular reason rotations are locked at 180 degrees either way?
like can the game interpret higher values than that or was it just a UI choice you decided to make?
All vanilla events + the beta event editor cap it between -180 and +180.
I suspect higher numbers would be fine, but they wouldn't do anything different than what you can already do.
having it go all the way to 360 both ways would be more convenient though
capping it at 180 actually does make some stuff a bit annoying
if you remove the cap on manual input then you could also make characters spin a bunch of times :)
Like what? 
if it's already at 180 and would be easier to set it to like 200 for a rotation instead of going all the way back around
plus converting from blender to EVTUI was also a bit annoying in this regard since blender doesn't cap it at 180
I'd suggest either increasing the slider maximums or just making it so that manual input isn't capped
there's a lot of stuff that's like that I think, where there's strict maxes for the slider itself but not the manual input
Hmm, I'm not super inclined to change it from what vanilla does if it's not actually causing in-game issues, since both of those would be more or less solved when the rendering is complete.
But I do wonder... how does the game decide whether rotation is clockwise or counterclockwise?
vibes (i have no idea)
Like, if you rotated from 170ยฐ to -170ยฐ, would it go all the way around, or pick the smaller angle?
that's why I'm asking
like whether it's a hard limit or not
I mean, I do think it would be worth checking what the game actually does there with the numbers capped as they are.
Since, again, this cap is consistent with vanilla EVTs.
And if there's something we really can't do without removing the cap, then it's worth changing.
Otherwise, my inclination would be to just add a way to convert higher numbers directly to within the range, within the editor.
QoL dictates otherwise tbh
But would it still be an issue with the renderer?
I'm talking about this from a more user-input thing. it depends on how the game interprets EVT files
Removing the cap would also basically make the slider useless.
not really
Sliders with huge ranges kind of just need to use numerical entry.
that's why I suggested either increasing it to 360 both ways or removing the cap on manual input (as in what you type in the box)
๐
i.e., have the editor do the calculation for you.
fair
but I can think of one thing that you could do with this if the game can still interpret higher rotational values
The little spinny... lol.
make mona throw up?
yes
If we can figure out how the game decides whether to rotate clockwise or counter, you might be able to do that anyway, albeit with some steps.
it's worth it
in my mod?
yes
lol
she's so head over heels for her Senpai that she can't help it
well ig that the entire project is open source
I can probably just edit my local repo
and add the feature in for my own mod
fyi speed of the spin is determined by the duration
that unfortunately means she'll eventually stop spinning if you play this one for too long
I set it to 2500 frames
it doesn't affect the end of the scene btw
it still ends at the same point
but yes, the game can interpret angular values of above 180 degrees in either direction ๐
I'll be honest
I'm kinda wondering if I could do some more reverse engineering to find the angle of the models as interpreted by the EXE
and if the character ID is stored somewhere close, I could legit just have one of the characters always spin
@solemn zealot if I were to make one character in the game literally always spin
who should it be
yoshida
he'd only spin during his confidant though
okay
what about Kawakami
or a party member
I think as long as the character ID is always consistent (and it should be, I mean they're stored at a close offset even in regards to SP/HP so model shouldn't be too different)
then I should be able to do it to literally any character in the game
but I'd like it to be one you see more often
Did you end up using EvtTool to enter a bigger number here? I'm wondering where the apparent frame skips in her rotation are coming from 
yes
I think it's the Mla_ that's doing that
since that one has max and mins
Oh, true, if you only look at her legs the spinning looks much smoother.
yeah MRot doesn't impact head rotation
if I were to use the exe to make Sumi always spin though it might, idk though
to be more specific it's not gonna change what the character is looking at is what I meant
Okay, what if: the rotation entry stays the same, BUT there's an additional number entry for how many times the model spins around?
idk
sometimes it won't do all the spins
it's some mix of the duration and the angle
Possibly also the interpolation.
But I mean just in terms of "ways to effectively enter larger numbers that still maintains the smaller slider range for normal use cases."
I mean idk why it can't just be a slider with smaller more common values and then manually entering in a value into the textbox just isn't capped the same way
would it be tough to do that with the way you have it set up?
Decoupling them gets complicated fast.
Presumably you want the slider to indicate what you're seeing in the text box, but if you have a huge number there and then adjust the slider, would you expect it to jump back to the -180 to 180 range, or something else? Either way, nonintuitive.
And anyway, if you have a big number, is it not easier to know exactly where the rotation will end if the box shows the normalized degrees?
well stuff where I've seen this, the slider would go up to its own cap but wouldn't restrict the value from going further. It's just if you use the slider that's the cap
But then what happens if you use the slider after setting a big number? It jumps back down? Seems kind of annoying -- more so than being able to use the slider while still getting a big number.
I think it's gonna be a little inconsistent no matter what way it's handled
because if the duration is too small it'll actually stop before the rotations finish
there's a max speed it can rotate at I think
yeah that's usually what happens
as I said though, you don't really have to do this at all
Is the speed not related to interpolation?
if I find it more convenient I can literally just open your project in VS and edit it myself
I think it is, but there might be a strict maximum in the engine for how fast it can go
Interesting....
like beyond increasing the max a bit in both directions I can't really think of a use case for spinning beyond me just goofing off
and I mean like only up to 360 either way
Well, my current thought is to have a checkbox to the effect of Enable Multiple Rotations? If it's checked, then there's an additional numeric entry for Number of Rotations and either way, if you type a larger number into the textbox, it normalizes it to the usual range (unlike now where I think it just sets it to max?).
So basically... you always know where the rotation is going to end. And the normal use case stays the same.
If it normalizes the range for you, not sure if there's much use in extending it to 360.
could use some testing
but also idk if there's ever really a direct 360 degree rotation in any scenes beyond animations
so who knows how they handle it
like Sumire has a little spinning animation in her GAP file but obviously that's different from MRot
Seems like an actual animation would look better for most spinning use cases, true.
(Goofy ones aside.)
yeah but if switching from 180 to -170 makes the character turn all the way around, it'd be more useful to increase the max
I can check real quick
which event to use though
I'll test it with the scene where Ann makes an excuse not to spend time with Kamoshida
since I want to edit that one anyway
it won't let me select this one
because the other one completely overlaps it
Ooh, that is not supposed to happen, lol. Is this happening in a vanilla event that I can check and debug?
This would be good to know, yeah.
it happened when I added one and wanted to check the one it overlapped
how did i forget to mention this
yeah
it does it automatically
darn
maybe a better way to do quick arithmetic with it could work as a solution?
so like if you were to type in the box "180+30" it would set it to -150
but it's a small thing
i hate windows
the order added seems to have click priority, which can lead to this
You mean it has them turn all the way around?
no
it shortens the distance
Oooh.
Okay, so basically no point in going up to 360 if also normalizing automatically.
well maybe
I still hold the position it might be easier for me specifically, but again
counterpoint: 360 is a cool number. it reminds me of my xbox
your project is open source so I can legit just do that on my end
hmmm
I just decided to check the renderer for this particular scene lol
shujin has only 1 floor now ig
after p5 they might only need 1 floor for all the students they're gonna have left
some fields are split between multiple GFS files
are you loading all of the associated ones?
not entirely true
I noticed this just when doing some of my changes
the complex fields are all like that
they don't have a .MAP file, but there are multiple fields
Do they all have associated map files, or just multiple sub IDs that need to load?
i have noclipped in shujin before, and they dont have the floors you are not in loaded. is this related to that?
sub IDs
Probably related.
I see, I see....
That makes way more sense than the floor being a field object, lmfao.
I think it only loads the 0-indexed sub ID for field models at the moment.
OMFG. Based.
okay, no. fake news. there is even collision
try free cam instead of moving joker
just in case
so it does load it all, gotcha
why this screenshot goes so hard
I suggested freecam because sometimes optimization is determined by protagonist position rather than the camera
Welp, adding "load all fields matching the sub ID" to the unofficial list of things that need to be done to get fields working in the render.
with the correct offsets
loading them all into blender makes them overlap
:/
in unintended ways
...hmmm, if there's not a MAP file, where are those offsets coming from?
Hmmmmmm.
you mean major ID?
because they share the major ID, but have different sub IDs
iirc
Sorry, yeah, I mean all fields with the major/minor ID and whatever sub ID.
๐
Well, I assume only if the provided sub ID is zero.
Probably a similar hardcoded logic there to how character outfits get loaded when sub ID is zero.
...if it's from the skeleton, IDK where in the bones it would be....
Like, similar to field objects, but different??
maybe
I don't know much about how fields are loaded
but giving them all the same offset won't work, at least not for all of them
central street is the one I noticed that on
Yeah, but I added some logic that I thought handled it ๐ I'll check to see if I can replicate, but I swear I tested this exact case....
on the latest one?
(Which is to say, I'm sort of hoping that I just forgor and that this isn't a cross-platform issue where my fix doesn't work on Windows
)
A while ago, when I made the command duration responsive.
i still have no idea why powershell is like this...
maybe every copy really is personalized
If you've noticed it at all since being able to visibly increase command duration, then it'll still keep happening, because nothing relevant has changed since then.
I guess I'll test and see if I can reproduce it....
this has been a problem since I first started using EVTUI
I am very afraid that it's a platform-specific issue because it always works for me, historically ๐ญ
uh
@faint plinth I'm seeing a lot of copy pasting amongst the different commands
I decided to go ahead and change it just for me, but imma just make a global on my end to make editing the rotation maximums easier
...?
like this section here is copy and pasted for every single event command that uses rotations
Yes...?
feels like there'd be a better way to do it, but too late now
I do vaguely plan to make a rotation widget at some point to prevent that, but it wasn't as useful as having e.g. an animation widget, so I just didn't.
If I make the changes I suggested re: allowing users to specify a number of full rotations, it'd be part of widgetifying it.
I also hesitated to do it for rotations because I wasn't 100% sure if yaw/pitch/roll order was consistent across commands.
(I'm still not 100% sure, tbh.)
I wasn't certain if C# was like Java in that it forced you to use OOP
it does and I hate it now
It's basically exactly like Java, tbh.
I hate it
C++ ftw
no garbage collector no problem
but yeah
there's no reason I should absolutely have to store every variable within a class
I don't disagree 
anyway, I swapped out every rotation max and min with my global variable I made
I just set it to 360 for now
man
can't wait to have to do this again next update ๐ฅฒ
Will it really not be enough if it can take your inputs and convert them automatically? ๐
I just want to make your life difficult
my head's killing me
I haven't even gotten that much done today

138_001 (it crashes at the end)
okay... making a msg_ with the same message id and frame length didnt crash, so i went to the .json, copied the new message i did, and substituted the old one, and lo and behold, it loaded properly
there is a value that can crash then
this one doesnt crash for example
seems like this was copypasted from something else but msg_ doesnt use these values. and some wrong values just crash the editor
@faint plinth , the culprit is
{
"Unknown1": 16256,
"Unknown2": 0,
"Unknown3": "NaN"
}
i imagine other messages that were crashing before are similar cases
but i cant remember which ones they were rn 
"NaN" in specific
https://github.com/Secre-C/EvtTool using this
must be the string being there... but is it a string before conversion too?
I freaking went to bed early because of this migraine and I just woke up and it's still here
Urgh, yeah, there are a few old events where the offsets around these entries under Msg_ are messed up. Hence why you get floats that end up as NaN (i.e., not a number).
I've dug into it to see if it's possible to read them cleanly but I really do think they're just ancient and broken, and the game ignores those parts of the commands. No combination of version and endianness cleans them up.
...but obviously this shouldn't crash the tool if it doesn't crash the game, so I'll see what I can do to prevent it.
(I suspect it's mostly a UI bug re: NaN, since I don't think crashes were happening before I tried to display the entries.)
Palace field GFS files are determined by MAP files rather than being referenced directly by the indices provided in the EVT, unlike with overworld fields. (For Palace fields, those indices point to the MAP files, instead.) So they're basically just not gonna work until I get to parsing those MAP files.

idk why they handle it this way
atlus moment or is there a good reason?
.MAP literally doesn't do anything except reference GFS files
there's no reason they couldn't do what they were already doing
No idea, tbh, especially since we've confirmed that fields being broken across subfield GFS files are a thing for overworld fields....
I'd say it's for more precise positioning, but that also seems to be a thing subfields are capable of.
Mystery!
I knew about that ever since I did this

thats a deep cut
no, thats a giant lady
DDLC is almost 10 years old
holy shit im old
Do you think you'll contribute that parsing to the 010 template? The template is just broken and doesn't really work.
that's because it's inconsistent
the existing one works for most maps
but there's some weird endian nonsense with some of them that leads to it not working for all of them
why cant the maps be consistent are they stupid
I think it's because p5's engine was originally made for the ps3
so endian nonsense is a result of converting filetypes to work for newer hardware overtime
potentially
that's an assumption since there's a lot more little endian stuff here than in the ps3 version supposedly
why the heck can't visual studio find these projects
this is so annoying
IDK that I'll contribute directly, since I can't really test 010 templates myself. But my code could certainly be used as an example to fix the 010 template.
(Once that code exists, to be clear, lol.)
?
Linux moment.
I can test them if you want
there's a lot about atlus filestructures I wouldn't have understood without those templates
how'd you figure it out?
I read the templates and recreate them in other ways 
So they also help me, but not because I actually use 010.
Also, sometimes I just reverse-engineer things myself or use other repos that parse things to help.
coolio
...hmmmm, I think MAP files are actually necessary for subfield positioning. If I just switch the subfield for a Shujin event, the position loads just fine without me having to look inside the GFS for any special info. e.g.,
they straight up don't exist for non-palace fields though
so there's probably something we're missing
What I mean is -- we figured that overworld fields were using some other information for positioning, since the positioning wasn't working when you loaded them. But the positioning is loading here just fine.
i.e., if subfields do need additional positioning, a MAP file would be needed to do it. It just is not needed for overworld fields.

keep in mind
it's only some that didn't work properly
when I was adding in the natsuki, all the objects loaded in as they should
for the shujin entrance field
Granted, I also don't know how MAP positioning works, given that X/Y/Z are... bytes??
I think I've attempted to change the offsets in the .MAP files before and nothing changed, but you could do your own testing

btw a small thing: Switching from the Scripts tab and going back to it resets the scrolling, even though every other tab keeps the last scroll location. So a particularly long msg/flow can be quite of a pain to mess within the editor if you are constantly switching tabs. hopefully it shouldn't be too hard to store the scrolling in the scripts tab?
also, @faint plinth switching the file in the scripts tab can lag everything real badly
it does eventually get better tho
(been a thing for quite a while i just didnt report it)
SpyPigeon flagged that a while ago... it's in the pinned post re: script-related TODOs. I'm afraid this may be a Windows exclusive, so may take me a bit to pin down ๐
i have to remember to read those, but im a persona fan so
Some of this stuff is just the specific text editing widget I'm using, which has... both pros and cons, shall we say. So a bit hard to work around.
yeah i imagined
Pros: syntax highlighting and line numbers out of the box!
Cons: The lag, even at its best ๐
why does it lag is it stupid
Probably I'm not using it optimally, but it acts so differently from other Avalonia bits. Unforch.
custom character models are working perfectly fine so far
๐คญ
Ann's Persona: Sara Bellum from the Powerpuff Girls...
btw the amount of yuri that is about to transpire wouldnt be possible without you 
from rank 2 to 10, 1 romance rank, that makes 10 custom events at minimum
minimum
Brb, printing out this message and hanging it on my wall next to my diplomas 
clearly just as important
the camera can get 'stuck' when changing values and nodes around. in the actual event this is not the actual angle for a good 300ish frames.
deleting further camera nodes and having it be fixed confirms my suspicions. it is taking later camera values as reference if you mess with the initial camera node
seems to be caused by cut and delete. and adding a new csd does not change the renderer. this persist across restarts btw
I think CG noticed something similar with model animations. Not super worth digging into vs. actually proceeding to make the renderer responsive + able to show specific frames, but weird.
true it should fix itself then
I mean, hopefully ๐
seems to be caused by it stubbornly deciding one node as the initial one even after adding one before it in the timeline, so anything that would have it check the nodes again according to the timeline should fix hopefully
I'm pretty sure it's looking at commands in the order they were added rather than in chronological order, so yeah, that makes sense. If you move commands around they'll end up later in the order... although that may be related to the bug with long-duration commands preventing subsequent commands from being clickable 
IIRC my fix (that apparently isn't working on every machine for whatever reason) was to reorder the commands in memory but not to reorder them in the lower-level representation... but maybe that's making things more complicated in the long run.
man, just the 'first frame' rendering was all i needed to push this one far 
getting an easy preview of camera angles is in fact quite useful
Goddamn, I fear what black magic you'll manage when the rendering is actually responsive ๐ฑ
frame-perfectly executed shihoann kiss
Yuri-tested, yuri-approved: my wife also says this looks really cool and that it's an interesting, meaty Annshiho dynamic ๐
Lets gooo got the wife seal of approval
She kept trying to be like "ooh can I watch it after you" and then was baffled when I was still watching like seven minutes later, lmfaooo.


what we already have is infinitely better than anything we had before. with the current renderer its feasible to get much more precise coordinates in a reasonable amount of time than before, but that does have quite a bit of friction even aside from that node order bug.
responsive rendering, however...
- would allow me to get very precise camera positions and angles at any second
- would make moving characters around the scene easier, and two characters physically ||
|| interacting with each other way easier - the first two points can still be done with a first-frame renderer tho. however, what would benefit a lot of responsive rendering is timing. right now, you can only vibes-guess how many frames you need, but with responsive rendering, you can get timing of things in a ridiculously precise level. this is huge for sound effects and character interactions for example
tl;dr: responsive rendering = more better yuri
Timing may still take some work even with basic responsiveness in place
Like, 30FPS logic is confirmed and all, but some of the finer points aren't totally clear, especially re: model movement and rotation and interpolation and such.
But I'm sure that sort of thing will be easier to pin down over time as we get other things to work correctly.
Everything's a pain, but I wouldn't be here if I didn't enjoy the challenge ๐

I am honestly fascinated to learn how tf the whole "events follow 30fps logic even in the 60fps version of the game" thing works... especially since Wisteria tested changing the framerate in the EVT header and it DOES have an effect
Like are all the apparent frame counts just doubled?? Wild....
Oh, I pushed some changes that should in theory fix the crashes on old borked Msg_s (and crashing upon opening command editors in general) -- as well as normalizing angles rather than clipping them.
Relatedly, why the hell does % mean remainder and not actual modulo in C# 
the ps4 version of p5r was locked at 30 fps wasn't it?
but it's not that odd tbh, I think more frames just means smoother animations since it has more room for interpolation
but most 3d games don't really animate models beyond 30 fps from what I've seen
maybe some do nowadays, but not with the stuff I've seen before
What I mean is -- the game is supposedly at 60fps on PC, but event logic still functions at 30fps. So I don't know how the frame counts translate. I'm assuming it's not a weird case where events alone are back in actual 30fps, lmao.
and as I said, it's probably not that different from how other engines do it
the "framerate" is probably more like a tickrate in this case
so that it can match up with whatever framerate you actually play the game at
It certainly is. But the relation to the game's actual framerate is unclear.
timelines can be controlled with graph logic in blender, it's probably the same for most 3d engines imo
Like, when Wisteria increased the EVT "framerate" by enough, the game broke.
that's not very surprising lol
Which implies to me that we're still at least somewhat beholden to actual framerate, if indirectly.
if the actual event timeline system is designed for 30 fps/tps, and they never differ from that, then it's likely that the math they used for it expects around 30 fps
or tps, I mean
it's just weird that they call it fps ig
since that wouldn't really be accurate
if it were, you'd expect 60 fps to make events play at double speed
it's also possible that they modified the engine's logic and it actually did used to use frame counts instead of tick counts
but had to update it for the remaster since it would be on hardware that could do 60 fps or more
so they locked the events at a 30 fps timeline and just included new logic to make sure it doesn't look weird at higher frame counts
I think it's pretty common for console exclusives, at least in the past, to base all their timings on frame counters since then they could easily just cap the framerate
and even some PC releases base some logic on frames rather than ticks
like Doom Eternal's meat hook acceleration is based on frames rather than ticks
as a result, playing the game on lower settings and then using the weapon wheel can result in you gaining a lot of speed using the meathook
Lmao, yeah. It'll just be interesting to piece together what the actual logic is for P5R, which I'm sure will be a fun and cursed combination of things no matter what.
probably
it's probably not 100% precise either
considering they clearly didn't rewrite the way event timelines work, I imagine if you were to play the game on like 1000 fps somehow, that'd also cause some goofy results
game caps your framerate based on your display's refresh rate though so I doubt that'd be easy to test
even if you set it to 120, if your monitor is only 60hz it'll only go up to 60
I know this because I have a 60hz display lol
I really need to upgrade to like 144hz at some point
actually
it's cyber monday
let me check prices
@faint plinth i'm getting the bmd's not saving issue again, and there's no stray .msg files in the directory at all :/
yes, i am compiling before i save
rip my progress...
That's it, then.
Custom CPK directory names do wack stuff combined with emu at the moment. (It's in the pinned post as a TODO.)
no bmd emulator
i have it set to raw files
i was dependent on evtui because scriptgui stopped letting me drag files for some reason
just wine things
Or rename the CPK dir 
but organization
(Temporarily, lol)
don't mind me just trying to build script gui with your patched script tools...
I mean, if that works, all the better ๐
that's what I'm doing
once I get to a release phase for my mod, Imma change the directory names and move stuff around for the sake of my config
damn it shrinefox io 
I want to resolve the CPK dir jank so bad, but it's nontrivial and the rendering calls 
sadge
so even if you were to change the names of the folders it auto-creates, you'd still have to update every other instance where it looks for that directory?
to some variable that stores a custom directory name, anyway
The jank mostly just pertains to BF/BMD emu stuff.
couldn't build gfd studio either, rip
ah right
Things get weird with the empty files, basically.
yeah I remember that
again, not bmd emulator ๐ฅฒ
well putting the emulators aside
oh wtf?

would it be possible for you to add a feature that allows you to set custom CPK directory names? @faint plinth
oh nvm
i'm not using bmd emulator
That's what I mean by removing the jank. I want that very much, but it's like... boring nontrivial pipeline work I have yet to dig into.
Oh wait, I see... hm. I'd expect it to work, then. Welp....
if my SDL experiment goes well
since you understand events better than anyone, I kinda do wanna try to make an in-game event editor
I might ask for your help with making it
is there a way to see it logging what it's writing
since SDL hooks going well, with me figuring out how to read and write information in the game from a custom UI, would make this much more feasible
I don't think it logs that at the moment, but it definitely should.
Oh, wait, is it an original event?
i remember you said that it wasn't writing because of the msg files in the directory alongside the bmd, but there is none i removed them
correct
That's also known not to work. In the pinned post, as well.
@faint plinth, custom events work fine if you don't use the emulators
well
remember me creating the custom Hawaii event for Sumi? I had no trouble with that outside of using the emulators
which I ended up ditching and it was fine
BMD stuff gets weird if you've got a custom event and CPK directory, I think.
fair
but all you really have to do is copy any BMD and put it in the right directory with the right name
and BF
It's all tangled, lol, idfk. In theory when I manage to fix it it'll all get fixed at once because it just needs an overhaul.
then you can edit it just fine
that's what I did
I just copied over Hifumi's, deleted everything, and rewrote it
Idk why poor raven is cursed here, rip.
No, they're trying to do that separately because of the issues the tool has with not saving scripts as expected.
ah
yeah and my script gui is fucked
yikes
have you tried proton?
lemme see
it will default to ge since all my prefizxes are ge
gotcha
GE just alters the prefixes not the protontricks application itself
afaik, wine's way behind proton in terms of compatibility, even if proton is built on wine
i just don't like using proton because it requires me to use a steam game's prefix
with wine i can just double click an application and it'll open
you can add a non-steam application as an app on steam and then set it to use proton GE
nope it's still not letting me drag and drop
sure you still have to boot it from steam, but if you use steam enough that's a non-issue
you can browse
well i'd still have to select the prefix. i like double clicking and it opening automatically bc i'm lazy
what happened to him
he's just goofy
doesn't know if it's light or dark mode
darn
didn't work even when i named the directory en.cpk
You are cursed ๐
true
Transparency/logging re: what's actually getting saved and where would help here, though.
Oh, that can sometimes have an effect.
let's try
Windows pathing and thereby apps that are built for that expecting case-insensitivity... my nemesis....
Yeahhhh ๐
normally i'd put them in uppercase but all of gay joker's file extensions are in lowercase
I've been really struggling to get case sensitivity to behave cross-platform. I'm sure there's some obvious way I'm missing that isn't just "be on windows" or "do recursive regex filesearch" 
Okay, I thiiiink I fixed this with the changes I just pushed. (Basically: if you moved the new MAB_ command around at all, I think it might have suddenly worked, lol. But I was doing the command sorting that fixes this only when a command moves, not actually when one is added.)
will try when i can
its working
that and the first frame rendering thing
i wish you a very gay day
what exactly is a gay day? you go around kissing the same gender?
Every day is a gay day in my house ๐โโ๏ธ
Lucky
Gay used to mean happy
i know
not true
Did you know ๐
I mean Cross
yes
Hmmmm
the redux team all use cross
cross what art thou pronouns
guy
guy/guys
im so jealous 
im going insane how tf do i get these dumbasses to nod properly and not just tweak their heads at the speed of light
You may need to switch it to coordinate mode, set wherever they were looking at before, and then switch it back to nodding. The way the coordinates come into play no matter which MLa_ mode is active is confusing and something I still need to figure out....
I should really just make coordinates visible in all modes until I figure out whether/how they get set automatically in other modes....
๐โโ๏ธ
...a "you have unsaved changes. you sure?"-type prompt when closing the thing would be nice
It would... but that would also require a way to detect said changes, which doesn't have an obvious implementation. I do agree, though, so I'll think about that as I work on the general/vague More Intuitive Compiling/Saving task (which I am currently).
simpler to just have it always appear tbh lol
'are you sure you didnt missclick, dumbass?' prompt would def be useful too
Lmao, real. Work smarter, not harder.
and make it appear 50 times just to make sure
you need to do a captcha every time to close
Just a "do you want to save before closing?" popup might be nice. 50 times, yes 
Sigh, even then, I have been avoiding this file management overhaul work for like a full year now. But I think I can no longer avoid it re: more intuitive saving....
Simply necessary to de-jankify script stuff 
if you think about it, render view could help you avoid it more
That's the problem ๐
Render view would also benefit from it, though ๐๐๐
So characters stop randomly appearing in their winter fits in summer events and such, lolll.
just like me fr
99% of gamblers fix tech debt before it becomes a problem
so, when copying, it references the node instead of saving a 'copy' to the program's clipboard?
deleting is fine tho... i'm confused
Shallow copy moment ๐
I thought it was a deep copy, but seems like I missed a thing or two ๐ค
you missed the list inside a list inside a list inside a list 
isn't there a function like python copy.deepcopy in C#?
There definitely is, but there are a few separate objects associated with each command, and it's possible I missed deepcopying one of them.
Just to check: if you change any of the command-specific values, like message ID or whathaveyou, does that end up affecting all copies, or just the one you edited?
message id does use the new value on the original node on a new paste as well
so far everything i tried has the same behavior
I mean if you change the value after copypasting.
oh no, the value doesnt update
Okay, so... weird.
its only when pasting
OH WAIT, I see.
So the copy isn't shallow, but yeah, the copied reference is just a pointer.
That's much more expected, albeit unintuitive.
Hm, so maybe I need to do the deepcopy earlier.
yeah thats what i was speculating. i was just a bit confused how pasting from a copy of a deleted node didnt have an issue (and even used the last information since it was deleted).
The reference still exists in the clipboard, so all the info remains.
Sounds like the clipboard needs to hold a deepcopy rather than a shallow copy, though, instead of doing a deepcopy upon pasting.
oh yeah i just remembered of something else
clearing frames does not seem to properly delete the nodes. if i clear for example the middle of the evt, then add more frames, and then save: in the editor, everything looks normal... a bunch of empty space caused by clearing the frames that contained nodes, and then adding new frames back in. but when booting the game, you notice that the event is doing stuff that it shouldn't, and when you reopen the evt, you realize that the old nodes stuck around on the added frames that they used to be in
idk if i explained correctly
Ooh, I see. I'll see if I can fix both of these in a single PR.
for some reason previewing ryuji's animations is just... not working?
0 comes up as his t-pose and the rest are just blank
when i cycle through then go back to 0, now 0 is blank

what's his base animations id?
because most get kinda wack if not 1
er where would i find that
yeah these values for some reason get very weird
bruh why is my game shitting itself
it generally works normally ingame
i can't because for soome reason my screen goes black when i click test field
is your screen stupid
sometimes this happens because dxvk likes to shit itself
This is the issue where the game references a GAP that doesn't exist and is actually using that ID + 30. It's fixed for the renderer (you're looking at a scene where he starts out offscreen), but I haven't done the fix for the previews yet.
If you set it from 6 to 36 it should Just Work, in theory.
it's fine i only added a bit of dialogue. he will just stand there
dialogue in question
nvm reloaded corrupted my prefix again </3 (i should report this, probably)
they're so awakward just standing here... but i'm too lazy to do any work
I really love how much the wave of event editing right now is generally agreed on the "kinda clueless but ultimately well-meaning ally" Ryuji of it all 
he's an idiot not a bigot
as it should be 
ryuji's ageist tho 


not to be dramatic but this gave me chills lowkey ๐ญ I feel like this makes Ann's arc 10x better
thank you a lot. this makes me so happy to hear 
cough cough #1440097821834612838 cough cough
Omg there's so many great developments Im not even aware of!! For sure gonna keep this thread open ๐
Also, is it okay to ask questions in here for EVTUI or should I make a thread for that? 
probably here? seems more convenient
Most folks just ask here, since it'll just be me answering anyway, lol. But if you feel like something would be better suited to a thread, that's also totally fine. I don't think there's a wrong choice, really.
Okay! Great, Ill just ask here then. Im so bad at explaining so please forgive me if I word this in a confusing way...Im basically trying to figure out how to add in a new message between two existing ones. Like I would have to rename all the message numbers in adjustment, add those slots into msg.h, and then add them into the timeline by adding the msg then selecting the correct one in the drop down right? The thing is I cannot find my edited message there.
Sorry if that was confusing!
One issue you may be running into is that the tool's ability to find scripts with different path names is... a little broken at the moment ๐
However, if there are no existing mod edits to this event, it should be fine, just a multi-step process.
i think the actual name of the message only matters on the initials like MSG_ MND_ DVL_ right? the numbers do anything if referencing the id and not the order?
Basically: Add your new messages to the end of the .msg, or even in between other existing ones. The specific ordering and numbers don't matter as long as they don't overlap existing ones, but the message names do need to match the naming pattern! (Otherwise, you can use MsgR to just point to the index of the new one.)
But, crucially, you do need to press the Compile button after you've made your changes in the script tab for the new content to show up in the timeline.
example
No need to touch msg.h. It doesn't do anything, lol.
man i suck at using obs
ooooh! Wow I learned so much right now, thank you!
you can generally add stuff inbetween, but if something references a message by index, then that fecks everything up
for most events should be fine tho
the message in the msg file, not the nodes you see in the editor* (for clarification)
Thank you! But what does referencing a message by index mean? 
Okay Im gonna try it now! 
the MsgR node. Also, in flowscripts when you call a message with a number instead of its name
all messages have a numerical index as well as a name and can be called by one or the other
most events call by label which is good because theres not currently a way to force a message to have a specific index with script tools (meaning multiple mods adding messages can be a problem in cases where you need to call by index)
True, the name is more stable. It just requires your message to have the right pattern of name, but going by the game's own examples it should be easy to do so.
(Also going by the video above, which is an excellent little tutorial ๐)
I see! Thank you both for explaining. I dont think Im dealing with the number versions thankfully.
Looking closer, I'm actually surprised this works without matching the full major/minor/sub ID underscoring in the name pattern... I wonder what the game would do with this ๐ค
(Possibly I need to be stricter about which names are allowed to display, since some may not work and it'd be misleading to show them.)
It might just select MSG_000_0_0 or whatever under the hood, tbh. ("It" being EVTUI here. The name has to be parsed back into major/minor/sub ID for the actual command in the EVT.)
The string selection of message names here is a bit of smoke and mirrors ๐
can messages in bfs actually be called directly by the evt normally
jazz club handles that stuff in the bf and then i guess calls the procedure by scr_ command
I think they can only be called via Scr_.
at least its like this in the program
Yeah, that makes sense. It can find that message but not actually parse it. I should fix that! (Which means this message would not actually show up in the list.)
oh so that show this works
in flowscripts you can just return any name, but evts seem different
Wait this is actually what Im struggling with! When I click out it reverts back to blank even after I clicked my message
yeah give it some unique id that follows the pattern
Yeah, it actually constructs the name out of the major/minor/sub IDs.
So it needs to be like MSG_420_6_9 to actually get parsed properly.
I will definitely add that constraint to the Msg_ display to be less misleading.
so this just work in its own unique way
Yep!
morgana would never say sh*t 
Fortunately, you can at least tell whether it's going to work based on closing and reopening the Msg_ editor to see whether your selection sticks. Still annoying, but....
Ah, hm!
Wait so I named it 39? To be fair! This is a mod that Im editing so maybe thats why?
I think you need to get rid of one of the zeroes.
im not sure 4 digits work yeah
So MSG_039_0_0 should work.
omg I didnt even realize that
Maybe I will add a constraint so incorrect patterns can't be selected, plus a little โน๏ธ icon next to the name selection to explain what the pattern is.
Thank you !! I can be silly and miss things people would normally get immediately 
No worries -- it's not obvious or documented!
and like magic she's working! 
okay but whats the benefit for atlas in doing the ids this way specifically for evts
Lmao, I have no idea what the benefit is. I guess to give a way to make the specification not sensitive to message order, within the constraint of not having strings in commands.
But like... there are strings in EVTs. So I really don't see why they couldn't have one here....
he does it once when quoting ryuji
lmao
noooooo
oh yeah I remember that
I got an infinite loading screen...
I guess because I saved all and still had jokers models loaded...
That wouldn't save Joker's models or anything. So it's probably something with the msg or mod structure.
"Save all" just saves the EVT, ECS, BMD, and BF files related to the event.
does clicking the wrench print out any errors on the window below?
I wouldn't think that would lead to an infinite loading screen ๐ค
What do your added messages look like?
oh could it be because I didnt tick these options? I notice some of the others have them on
Theres like 3 msgs from NPCs and then 1 more thought bubble
these boxes dont cause this
I also wouldn't expect that to be the issue, no.
What do the messages you added into the BMD look like, I mean?
I wonder if it's something with voicelines or bustups.
Oh in the script?
Actually I did edit a voiceline
show the lines
Sorry the new ones or just the whole thing pasted in?
The new ones should be enough.
anything that was changed
[msg MSG_008_0_0 [Fad-Following Woman]]
[s][vp 8 0 0 0 6 0]You really dont know? Akechi-kun. You know,[n]the next-generation Detective Prince...?[n][f 1 3 65535][w][e]
[s][vp 8 0 0 0 6 0]Should we ask him for an autograph?[n]Would be worth bragging about[n]on the fansite...[n][f 1 3 65535][w][e]
[s][vp 8 0 0 0 6 0]And who's that with him?[n]Do you think she's his girlfriend...?[n][f 1 3 65535][w][e]
[msg MSG_039_0_0 [Forgetful Woman]]
[s][vp 8 0 0 0 5 0]...It certainly looks like a[n]date, doesnt it...?[n][f 1 3 65535][w][e]
[s][vp 8 0 0 0 5 0]...Hey![n]Are you pouting?[n][f 1 3 65535][w][e]
[sel SEL_010_0_0 top]
[s][f 0 8 2 1 2217]I didnt realize you're so popular..[clr 27][e]
[s]I know the feeling.[e]
[s]Should we tell them to leave us alone?[e]
[msg MSG_011_0_0 [Akechi]]
[s][bup 0 9 0 65535 0][f 4 10 65535 0 0][coop 9 10 9][vp 8 0 0 0 65535 0]I don't understand how, to be honest.[n][f 1 3 65535][w][e]
[s][f 4 10 65535 0 0][vp 8 0 0 0 65535 0]I'm sure she doesn't mean any harm,[n]but I don't want to cause any trouble[n]for the store.[n][f 1 3 65535][w][e]
[s][f 4 10 65535 0 0][vp 8 0 0 0 65535 0]Rumors could start about us as well[n]if we are not careful...[n][f 1 3 65535][w][e]
[msg MSG_012_0_0 [Akechi]]
[s][bup 0 9 0 65535 0][f 4 10 65535 0 0][coop 9 5 9][vp 8 0 0 0 65535 0]Is that so? At least, you're better[n]at blending in than me.[n][f 1 3 65535][w][e]
[s][bup 0 9 0 65535 0][f 4 10 65535 0 0][coop 9 5 9][vp 8 0 0 0 65535 0]Hopefully no one else notices,[n]it would be a bit of a problem if...[n][f 1 3 65535][w][e]
[msg MSG_015_0_0 [Gossipy Woman]]
[s][vp 8 0 0 0 16 0]Wait! gasp You guys, is that Goro Akechi!?[n][f 1 3 65535][w][e]
[s][vp 8 0 0 0 16 0]Quick, take a picture![n][f 1 3 65535][w][e]
[msg MSG_028_0_0 [Fad-Following Woman]]
[s][vp 8 0 0 0 6 0]Aww! If he was the real thing, I could've[n]bragged about meeting him online.[n][f 1 3 65535][w][e]
[msg MSG_040_0_0 [Forgetful Woman]]
[s][vp 8 0 0 0 5 0]Seriously? You need to get off that fansite.[n]It's all you talk about lately![n][f 1 3 65535][w][e]
[msg MSG_037_0_0 [Akechi]]
[s][bup 0 9 0 65535 0][f 4 10 65535 0 0][vp 8 0 0 0 65535 0]Looks like our coffee's gone cold. Why[n]don't we order new ones?[n][f 1 3 65535][w][e]
[s][bup 0 9 0 65535 0][f 4 10 65535 0 0][vp 8 0 0 0 65535 0]My treat.[n][f 1 3 65535][w][e]
[msg MSG_038_0_0 [Akechi]]
[s][vp 8 2 0 54422 65535 0]Here, let me walk you to the station.[n][f 1 3 65535][w][e]
[msg MND_041_0_0]
[s][vp 8 0 0 0 65535 0]Akech-san and I chatted[n]on our way back...[n][f 1 3 65535][w][e]
[s][vp 8 0 0 0 65535 0]...[n][f 1 3 65535][w][e]
[s][vp 8 0 0 0 65535 0]I noticed we received many[n]looks from people...[n][f 1 3 65535][w][e]
omg that was a lot ๐ please dont judge my writing...!
But that should be everything I changed
not related to the error, but just pointing out the missing i
omg thank you!
Well, nothing looks structurally wrong here. How did you place the Msg_s in the timeline, then?
Possibly you did put them too close together 
the text itself doesnt look like the issue. it compiles fine and the event loads normally
Like roughly this apart?
Maybe I made it too long? I did insert quite a few keyframes
i dont think msg_ spacing ever caused any issues for me
Might also be the Scr_ happening during the message.
Can you share the .EVT and .BMD (or .msg) directly so we can look through them? Or just the .EVT, since you already shared the new script content.
Im sorry, Im so new to this! I really appreciate you guys helping. Hopefully its not something simple Im missing.
Yes, let me grab it
It's very possible it's also something the tool is doing! And even if it isn't, it's helpful to know what common pitfalls are so we can possibly add failsafes around them ๐
Everyone is new to EVT editing, lol. Doing it in any detail is a pretty new art, relative to P5 modding generally.
girlkisser does black magic
Thank you for being so gracious! Its really appreciated ๐ฉท Here is the event:
(fingers crossed its not something silly)
I am still amazed how quickly she picked it up and managed to make such realistic events
the power of yuri compels me
omg I saw their ann's shadow-self video and it was sooo good
I never thought of Shiho x Ann but now I need to see their dynamic
it's the only Ann ship I really like
So true
the moment the render is out i'll do a closeup of an annshiho kiss as a tech demo
I saw that they kiss!
It makes me happy, I really like Shiho and felt bad she got pushed out the story
To be clear re: the changes: did you change the ones that match existing messages + add new entries for the ones that don't? As opposed to adding new messages with the same IDs as old ones.
I copied the message from the person I wanted and then changed the message number and the content of the message, and for some of them I added a new line?
Idk if that makes sense
So for this one:
[s][vp 8 0 0 0 6 0]You really dont know? Akechi-kun. You know,[n]the next-generation Detective Prince...?[n][f 1 3 65535][w][e]
[s][vp 8 0 0 0 6 0]Should we ask him for an autograph?[n]Would be worth bragging about[n]on the fansite...[n][f 1 3 65535][w][e]
[s][vp 8 0 0 0 6 0]And who's that with him?[n]Do you think she's his girlfriend...?[n][f 1 3 65535][w][e]```
...is the original message still in the BMD, in addition to the new one you made here...?
I guess I should just ask for the BMD or msg itself at this point, lol.
This is an original one that I edited
I'm pretty sure
I can send it, one sec!
These seem to be just the vanilla BMD/msg files.
Oh Im sorry! You wanted my edited ones or the original one?
The edited ones!

I can send other files but not these ones.
Weird!
Thats probably why it isnt working in the application either...Let me try again making a new bmd from evtui
Well, my other guesses:
- A lot of your messages have longer durations unnecessarily, since you copy/pasted them from other longer ones. You could probably shorten them to 1 frame under Frame Settings. I wouldn't necessarily expect that to be the issue, though.
- There are a few spots where you've only partially shifted things, so
Msg_commands haveScr_commands running in the middle of them. This could possibly break things....
It's also possible that the partial shift is an issue with the tool's frame-adding, but that's the main thing I'm noticing.
Hmm, maybe the scr thing is the issue? It seems my edited file doesnt want to work or upload for whatever reason.
My recommendation: try loading the game/event with only the script modded, without the modded EVT, to confirm whether the issue is there or in the EVT.
Thats a good idea
That should help us narrow it down, at least.
No it seems to load with the vanilla (well the original modded version)
So with your modded BMD, but without your modded EVT, it loads fine, and plays your modded versions of e.g. MSG_008_0_0?
No no sorry. The original file was from the mod R&V. That on its own plays fine without any of my edits.
Okay, what if you include your edited BMD, but not the edited EVT?
Actually I think I only tried it without the edited EVT...
Oh, hmmm. So then it probably is a BMD issue?
....oh, also, it looks like R&V also edits this event. So possibly that's the issue!
Oh!! Wait Im sorry I thought I said that 
I think you did! I'm sort of going through all the possible issues, haha.
So, the """vanilla""" R&V version works. If you've just been editing the BMD (or only trying to load the game with those edits, rather), then the issue could be something with the contents of the edits... or it could be how you've structured your mods relative to R&V.
Humm...I dont really know. I deleted the other version in the folder and just dropped them into where they were for R&V.
I think you are probably right that something is wrong with the contents of the bmd because they wont even upload to discord ๐ญ Like Idk what I did there lol
No idea what would happen that would also prevent it from being uploaded to Discord ๐
Even the .msg version of your modded BMD won't upload?
Looks reasonable at a glance, hmmm....
If this is specifically an issue with loading a custom BMD on top of R&V, it may be worth asking in that thread, too. But I'll dig and see if I can find anything.
Yeah I think Im going to do a simple test message edit and see if that works first
Good idea 
But that is a good idea! Ill open a thread about it then too. Thank you so much for all your help and trying your best, you didnt have to do that and it was super nice of you ๐ฉท
Hmmmm, question: if you Cut a command, then modify it, and then Paste it... would you still expect the same behavior? As in, you expect copy/paste to mean the pasted version matches the command at the time of copying, not at the time of pasting. But is this also true of cut/paste?
It's kind of a weird edge case, because I have a hard time imagining what someone expects if they modify something in-between cutting and pasting it, but....
how would you even edit between cut and paste
The original is still there until you paste. Only then does it get deleted.
I suppose I could have it get deleted when it's Cut rather than when it's Pasted, but that's not a thing with consistent behavior IME. Like, cut text tends to disappear when you cut it, but a cut file/folder in a GUI tends to stick around until it's pasted somewhere.
So the latter makes more sense to me as a similar feature... but then it does leave this weird edge case of being able to edit it between cut and paste.
...and at least on Ubuntu, a cut/pasted file that gets modified in-between does seem to paste in its modified state....
So
IDK. I'll do whatever seems intuitive here. But that's not obvious.
...copy/pasting files and folders also pastes the version as it was modified in-between copying and pasting. Soooo, I super don't know. Does copy/pasting commands feel more like copy/pasting text, or copy/pasting files? ๐ตโ๐ซ
I feel like with just about any software I've ever used that's meant for creating/editing files cut works just the same as with text and tbh i think the way it's handled with text is how it's actually meant to work (since after all you are cutting the selected portion and pasting it somewhere else)
certainly would be my expectation going in
Yeah, I can see that ๐ค
As long as deleting upon cutting wouldn't be annoying, I'm fine with doing it that way.
Okie doke, fixed the commands-not-actually-getting-deleted-upon-clearing-frames issue. Also made copy/cut/paste a bit more intuitive, hopefully -- the copied version won't reflect any modifications that happen to the original command after the fact, and cut commands are deleted from their original spot immediately rather than waiting until you paste them.
is it in the repo?
since that would be useful for me
the event I did where Ann ignored Kamoshida was made a bit weirder due to that issue
Yep, it's pushed!

is there a way i can like. move the preview, or...