#EVTUI (Visual event editing tool)

1 messages · Page 2 of 1

faint plinth
#

(And I need to add an in-tool way of handling config versioning issues like that....)

ocean acorn
#

ive only tried with latest, id just forked it that day

faint plinth
#

Weird! I'll have to check why else that might end up being null.

ocean acorn
#

i should note, when trying to pick a mod directory for new project, picking one thats already in use obviously isnt allowed but still lets me open existing project without crash (any project, not just the one i tried to use)

amber moth
#

Like it lets you create a new project with the same directory as another one already in use?

ocean acorn
#

no

#

if i pick a directory thats already in use it wont let me, but i can back out and load existing project without issue after
as opposed to crash if i go straight to opening existing project

amber moth
#

Yeah that's normal. Works for me too.

#

oh you mean in relation to your crashing issue I see.

faint plinth
#

Very weird that it crashes if you don't do that naohmm

#

Hmmmmm.

amber moth
#

if you want I could give you my version of EVTUI and see if it works?

ocean acorn
#

your version as in one you built (for win)?

amber moth
#

yeah.

ocean acorn
#

ok

amber moth
#

oh cool it's under the mb limit. This hopefully should be it. Just put it inside your user folder like when you build it.

faint plinth
#

Goddamn, this server allows big attachments.

amber moth
#

I think thats nitro actually. I got it because 100 mb wasn't enough for redux and the free boosts were nice.

amber moth
#

interesting

#

how exactly did you run it?

faint plinth
amber moth
#

just to cover bases

#

if you want to try. I did build an exe for it. should be in EVTUI\src\gui\bin\Debug\net8.0\win-x64.

ocean acorn
faint plinth
#

Can you sent the EVTUI user config yaml from appdata? If nothing's wrong there, I wonder if it's a permissions issue somehow.

#

...or just something weird with how C# is referencing the appdata directory on your machine.

ocean acorn
faint plinth
#

That's the one! Looks fine, though....

faint plinth
#

OK, so when you get this second failure... do you have modded files for the scripts (BMD/BF/msg/flow) of E495_040? And if so, what's the path to those modded files?

ocean acorn
#

i cant reproduce it

faint plinth
#

🥲

#

So it just works now...?

ocean acorn
#

yea

faint plinth
#

Oh yes but oh no....

ocean acorn
#

ive not actually edited the event it just happened one time and idr why

faint plinth
#

Weeeird. Yeah, it's because there's a conditional in the code that doesn't have a catch-all else, so if the directory structure of the mod is in some way unexpected, you can end up with a null path... some eventual file IO changes should hopefully get rid of this nonsense even by chance 🤞

#

(Or at least there should be a better error message at that point.)

ocean acorn
#

i could be misremembering what event it even was tbh
i have a copy of 491_010 in my will seed project folder, ill see what trying to load that does

#

nope that loaded fine

#

i did actually properly edit an event, it was the ohya doubt event i was looking at before and i changed the messages so the correct answer would...actually be correct
id already made a msg file without evtui that had the edits i needed and it still exported fine, though i ended up reverting the file since it had all messages instead of just changed ones

faint plinth
#

Oh, nice!

ocean acorn
#

also it occurs to me that it created an en.cpk folder and exported the dummy file to that, instead of the XtoDoubt folder i was using, although thats not a big deal its just funny

#

(i like to use funny or witty cpk names just because i can, though for the will seed cutscene mod i was thinking of splitting it into different folders for each ruler)

#

(maybe not though if the inconvenience of having to change folders a bunch outweighs it)

faint plinth
#

That's definitely part of the file IO changes I want to do -- it'd be nice to customize CPK folder names, to be able to edit files in multiple CPK folders for a given project if you have them, etc.

ocean acorn
#

i went and made another project again, using my existing rematch mod as the project folder (as for bosses that take two encounters i want to bridge them with little truncated versions of the scene that normally plays in between) and i had to do it twice because the first time crashed
i didnt do anything different except place a shortcut so idk what that was about

faint plinth
#

Well, finishing up the UI for the modeling commands is taking...... MUCH longer than I hoped. But it is almost there! Now with fancy color picker widgets and all.

amber moth
#

Looks awesome so far

faint plinth
#

Improvements to the preview widget are, uh... happening...? Hm.........

ocean acorn
#

NO! NOT THE T-POSE SHADOW JONKLER

faint plinth
#

It's too late... he got her pensivekechi

faint plinth
#

This will be fixed once Pherakki corrects the way additive (blend) animations are applied, but before that happens: some of my favorite horror shows"face animations" to come out of GFDLib's current implementation femc

#

Points to whoever can guess who the last image is supposed to be....

mellow gazelle
#

haruangry ?

weary pelican
#

What’s happening

#

Futaba is the only normal one everything else are are idk what they are

faint plinth
#

Lol. Facial expressions are animated differently than body animations, and the code behind GFDStudio (also used here) doesn't implement it properly (yet). So instead of smiles and blinks and stuff, you get...... those.

faint plinth
mellow gazelle
faint plinth
#

The model commands... are merged at last naosmiley

#

Remember when I thought I might try doing all the command implementations in one PR. Lol. Thank god I had the sense not to try to do that.

#

Anyway... now CG can get in there and find stuff I inevitably missed or need to fix 😁

#

Probably I'll start working on the camera commands next, so then we can actually get positioning/rotation into the previews.

amber moth
#

it's time

#

Actually it seems to happen with every other editable one like this.

#

I did get a bigger error to occur but I can't seem to figure out how to recreate it. Let me test more.

#

I also randomly got a null reference that crashed EVTUI. But I did figure out how to get that bigger error let me record it.

   at Avalonia.Rendering.Composition.Compositor.RequestCompositionUpdate(Action action)
   at Avalonia.Rendering.Composition.CompositingRenderer.AddDirty(Visual visual)
   at Avalonia.Visual.InvalidateVisual()
   at Avalonia.Reactive.LightweightObservableBase`1.PublishNext(T value)
   at Avalonia.AvaloniaObject.RaisePropertyChanged[T](AvaloniaProperty`1 property, Optional`1 oldValue, BindingValue`1 newValue, BindingPriority priority, Boolean isEffectiveValue)
   at Avalonia.PropertyStore.EffectiveValue`1.SetAndRaiseCore(ValueStore owner, StyledProperty`1 property, T value, BindingPriority priority, Boolean isOverriddenCurrentValue, Boolean isCoercedDefaultValue)
   at Avalonia.PropertyStore.ValueStore.ReevaluateEffectiveValues(IValueEntry changedValueEntry)
   at Avalonia.Styling.StyleInstance.Avalonia.Styling.Activators.IStyleActivatorSink.OnNext(Boolean value)
   at Avalonia.Styling.Activators.StyleActivatorBase.ReevaluateIsActive()
   at Avalonia.Controls.Classes.NotifyChanged()
   at Avalonia.Input.InputElement.UpdatePseudoClasses(Nullable`1 isFocused, Nullable`1 isPointerOver)
   at Avalonia.Input.InputElement.OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)
   at Avalonia.Controls.Control.OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)
   at Avalonia.Controls.Button.OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)
   at Avalonia.Animation.Animatable.OnPropertyChangedCore(AvaloniaPropertyChangedEventArgs change)
   at Avalonia.Input.InputElement.<>c.<.cctor>b__32_6(InputElement x, PointerEventArgs e)
   at Avalonia.Reactive.LightweightObservableBase`1.PublishNext(T value)
   at Avalonia.Interactivity.EventRoute.RaiseEventImpl(RoutedEventArgs e)
   at Avalonia.Interactivity.Interactive.RaiseEvent(RoutedEventArgs e)
   at Avalonia.Input.PointerOverPreProcessor.SetPointerOverToElement(IPointer pointer, IInputRoot root, IInputElement element, UInt64 timestamp, Point position, PointerPointProperties properties, KeyModifiers inputModifiers)
   at Avalonia.Input.PointerOverPreProcessor.OnNext(RawInputEventArgs value)
   at Avalonia.Reactive.LightweightObservableBase`1.PublishNext(T value)
   at Avalonia.Controls.TopLevel.HandleInput(RawInputEventArgs e)
   at Avalonia.Win32.WindowImpl.AppWndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam)
   at Avalonia.Win32.PopupImpl.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam)
   at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG& lpmsg)
   at Avalonia.Win32.Win32DispatcherImpl.RunLoop(CancellationToken cancellationToken)
   at Avalonia.Threading.DispatcherFrame.Run(IControlledDispatcherImpl impl)
   at Avalonia.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken)
   at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args)
   at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(AppBuilder builder, String[] args, Action`1 lifetimeBuilder)
   at EVTUI.Program.Main(String[] args) in C:\Users\Freeman Cavarretta\EVTUI\src\gui\Program.cs:line 21
Segmentation fault```
#

Yeah, was able to reproduce it now. It seems to only happen in the previews. You have to highlight the number then change it using the arrows.

#

MAA_ previews don't seem to have the error so you could look at those to see what the issue is.

#

Also I'm not sure if he's been added yet but it looks like joker can't be previewed at all.

#

also just noticed in the git console. idk if it means invalid as in the model doesn't have it. Or the opposite. But good to write down otherwise.

h_C_US1```
#

Another one if it is actually wrong.

h_B_MZ1```
amber moth
#

got a crash, here's the git error while I go recreate it.

   at OpenTK.Graphics.OpenGL.GL.DrawElements(OpenTK.Graphics.OpenGL.PrimitiveType, Int32, OpenTK.Graphics.OpenGL.DrawElementsType, Int32)
   at GFDLibrary.Rendering.OpenGL.GLVertexArray.Draw()
   at GFDLibrary.Rendering.OpenGL.GLMesh.Draw(OpenTK.Mathematics.Matrix4, GFDLibrary.Rendering.OpenGL.GLShaderProgram)
   at GFDLibrary.Rendering.OpenGL.GLModel.Draw(GFDLibrary.Rendering.OpenGL.GLShaderProgram, OpenTK.Mathematics.Matrix4 ByRef, OpenTK.Mathematics.Matrix4 ByRef, Double, GFDLibrary.Rendering.OpenGL.GLCamera)
   at GFDLibrary.Rendering.OpenGL.GLModel.Draw(GFDLibrary.Rendering.OpenGL.GLShaderProgram, GFDLibrary.Rendering.OpenGL.GLCamera, Double)
   at EVTUI.SceneModel.Draw(GFDLibrary.Rendering.OpenGL.GLShaderProgram, GFDLibrary.Rendering.OpenGL.GLCamera, Double)
   at EVTUI.SceneModel.Draw(GFDLibrary.Rendering.OpenGL.GLShaderProgram, GFDLibrary.Rendering.OpenGL.GLCamera)
   at EVTUI.ViewModels.GFDRenderingPanelViewModel.DrawScene()
   at EVTUI.Views.GFDRenderingPanel.OnOpenGlRender(Avalonia.OpenGL.GlInterface, Int32)
   at Avalonia.OpenGL.Controls.OpenGlControlBase.Update()
   at Avalonia.Rendering.Composition.Compositor.CommitCore()
   at Avalonia.Rendering.Composition.Compositor.Commit()
   at Avalonia.Media.MediaContext.CommitCompositorsWithThrottling()
   at Avalonia.Media.MediaContext.RenderCore()
   at Avalonia.Media.MediaContext.Render()
   at Avalonia.Threading.DispatcherOperation.InvokeCore()
   at Avalonia.Threading.DispatcherOperation.Execute()
   at Avalonia.Threading.Dispatcher.ExecuteJob(Avalonia.Threading.DispatcherOperation)
   at Avalonia.Threading.Dispatcher.ExecuteJobsCore(Boolean)
   at Avalonia.Threading.Dispatcher.Signaled()
   at Avalonia.Win32.Win32Platform.WndProc(IntPtr, UInt32, IntPtr, IntPtr)
   at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG ByRef)
   at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG ByRef)
   at Avalonia.Win32.Win32DispatcherImpl.RunLoop(System.Threading.CancellationToken)
   at Avalonia.Threading.DispatcherFrame.Run(Avalonia.Threading.IControlledDispatcherImpl)
   at Avalonia.Threading.Dispatcher.PushFrame(Avalonia.Threading.DispatcherFrame)
   at Avalonia.Threading.Dispatcher.MainLoop(System.Threading.CancellationToken)
   at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(System.String[])
   at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(Avalonia.AppBuilder, System.String[], System.Action`1<Avalonia.Controls.ApplicationLifetimes.IClassicDesktopStyleApplicationLifetime>)
   at EVTUI.Program.Main(System.String[])
Segmentation fault```
amber moth
#

For the MLa_ (head motion) the UNKOWN option seems to make characters have this frantic look around. You can see it on ryuji and joker but it happens pretty quick after the recording starts (don't worry about yusuke).

faint plinth
#

Oh god, all the segfaults 😅

#

Fortunately most of these seem to be a similar issue, except Joker not showing up for you, which is weird. He shows up fine for me 🤔

amber moth
#

He showed up a bit after that message. It was after I switched projects atleast.

#

I'll see if I can recreate it later. Gonna try out all of the speeds on this unkown

faint plinth
#

Still weird, but asset management still needs work -- including being able to see modded models and not just vanilla ones.

amber moth
#

Very true.

#

Also, it seems newly added versions of the MLa_ with this specific UNKOWN lookat breaks. Not exactly sure why.

faint plinth
#

Hmmmm. I wonder if it's a command version thing....

#

But it works if you just change it on an existing MLa_?

amber moth
#

oh I see just it being new causes it to break I think. Let me test with more of them.

#

Is direct supposed to be faster or is it supposed to be slower?

faint plinth
#

Direct is supposed to snap directly to the new position without animating the in-between, I think.

amber moth
#

It might be better to put direct under fast then. Since it would be faster than fast.

#

And yeah, it looks like new commands are broken.

faint plinth
#

Yeah, that's the order in the enum (direct = 0, slow = 1, etc.), but I should be able to rearrange it.

amber moth
#

What an odd order

faint plinth
#

Hmmmmm, I wonder what's different about the new ones other than command version 🤔 That might be it, anyway. I just leave it at default 0 but I should probably... not do that.

amber moth
#

i'll try other commands along with seeing if maybe just copying the command will work.

faint plinth
#

Good idea!

amber moth
#

Yeah it's new command only. Along with that a new MSD_ command worked (ann in the back). But i'll check more.

weary pelican
#

Something feels off

#

Can’t put my finger on it

amber moth
#

so true

#

I got this error saving while p5 was still opened, probably just change it to a "You can't save while the game is running dummy"

weary pelican
#

Imagine that happening

amber moth
#

A new MLc_ command works.

#

New MAt_ commands might not work. Needs more testing.

#

something looks different about ryuji's face

faint plinth
#

So, so far it's only new MLa_ commands that don't work?

amber moth
#

I think so. Off the top of your head what are some new ones that I haven't checked?

faint plinth
#

I mean, plenty 😅 I'm curious about movement and rotation, but those don't really have good previewing yet.

#

MFts isn't that important but could be fun to play with. In a different scene where they're actually walking, though.

amber moth
#

I will try all of them right nowsalute

faint plinth
amber moth
#

It does interact with the speed, was gonna show that but then got caught up with the command being broken.

faint plinth
#

Gotcha.

amber moth
#

I think thats it otherwise. I also don't think the unknown bool on the lookat does anything. Though I didn't test it specifically.

#

new versions of MAt_ work btw.

weary pelican
#

Looks normal to me

faint plinth
amber moth
#

might be a morgana specific thing. But i'll try and see if kasumi can take MAAB

#

Also, I don't know if this is comfirmation bias. But I think the unkown in MAt_ makes it attach faster.

weary pelican
amber moth
#

so I got another error on MAAB

#

wait huh

#

So I added a new MAAB, first the previews didn't work. Then after pressing the up arrow for the animatuon ID it gave an error. But now both the up arrow and the previews work.

#

this must be why before the previews for joker didn't work

weary pelican
#

Would’ve been easier with Akage

amber moth
#

I was able to reproduce it. Now I have to record it.

amber moth
faint plinth
#

Yeah, I definitely need to patch up this null issue, lol. I have no idea why it doesn't show up for me....

amber moth
#

might be windows only

faint plinth
#

But also, if you're pointing to asset 1, that's probably going to be the field model, which definitely won't work yet.

amber moth
#

number 2 is actually the field🤓

faint plinth
#

Joker is basically always 3. I think 1 is AltField...?

fossil kettle
faint plinth
#

LOL, yeah, that's a good workaround.

amber moth
#

Can you switch the models of asset IDs yet?

faint plinth
#

Not yet! I'm currently working on a PR to add an Assets tab to let you do that.

#

And to add new assets, etc.

amber moth
#

Right, I did see a new one there besides main (which totally didn't confuse me for a sec)

faint plinth
amber moth
#

Essentially, it'll do what joker is doing. It's an old video so don't worry about the dialogue. But every lookat option does the same thing just with a different direction according to what it does.

#

Also sorry, I had other stuff to do. So I couldn't test as much. I'll get back to it for a couple hours then continue tomorrow.

faint plinth
#

All good! I've been at work all day, anyway, and you've already been a big help.

amber moth
#

That just means I need to be a big big help.

faint plinth
amber moth
#

Could be worth looking into.

faint plinth
#

It'd be easy enough to just not hide them anymore, but you could also edit them when they're visible and then set the other options to something else that hides them, and they'd still apply. Just to see if it does anything.

amber moth
#

you could do a quick and dirty process to get them in EVTUI and I could test it?

faint plinth
#

They'll show up as editable if you pick Look-At and Coordinates as the motion and target types, respectively.

amber moth
#

oh i see

faint plinth
#

You could also try the Model target type and specify 101 as the helper ID to get the model to look at another model's right hand, as another example of stuff that currently gets hidden unless you've selected a certain setup.

#

I've been debating whether to use the "helper" or "bone" nomenclature, since they're called helpers in the code, but I feel like people usually refer to them as bones... and maybe they're different things? I don't know enough about modeling for that 😅

amber moth
#

I'm fairly sure they would be bones. But im not sure of it myself.

faint plinth
#

The beta editor calls them helpers, and GFDLib code has gfdHelperID as the property name of the IDs 🤷 so I dunno.

amber moth
#

I think we need to kill atlus

faint plinth
#

Might just be the GFD terminology to call them helpers, or maybe helpers are another piece related to bones...?

amber moth
#

Guess maybe if someone shows up in here that knows they can tell. But i'd say it's probably fine for now to call them helpers.

faint plinth
#

I love the chaos in these tests femc

amber moth
#

I couldn't find morgana's ID in 5 seconds so I chose the next best person.

#

MAIp works

faint plinth
#

Spoilers for ||Kasumi being dead|| 😱

weary pelican
#

I knew something was off

amber moth
#

Also this color picker is really cool, you did a good job ajda.FemcLove

faint plinth
#

I can't take credit for the color picker design, since it's out-of-the-box, but I'm glad you like it!

amber moth
#

I can't believe you would lie ajda. You made this : )

golden willow
#

(gfd has several built in functions to find helper nodes within a node hierarchy)

faint plinth
#

I see.... naotothink

amber moth
#

Im trying out different options but im not sure if MCSd actually works. Granted this could be just because it's a new command. I'll keep trying it though.

faint plinth
#

It gets used for ||Wakaba's third semester model|| a lot, so possibly you can find the events she's in and modify the MCSd commands for her model.

amber moth
#

I see, I shall look there then.

#

accidentally put in a wrong event ID and got this error

faint plinth
#

Hm, there's supposed to be a specific message for the event not existing, so not sure why that's not getting used. But I get the above, too, now.

amber moth
faint plinth
#

Wait, I'm lying, I was thinking of ML__....

amber moth
#

No see, it was all a 5d chess move. It wasn't lying.

faint plinth
#

Okay, it does actually get used in E511_080 on Joker and Akechi's models, starting at frame 159.

#

That is right after a Wakaba event in E511_070, so... NaotoFactual

amber moth
#

As I said, 5d chess move.

#

Seems as though after saving the event it can't find the akechi 3rd sem bustup and will hang infinitely.

#

actually wait let me try something rq

#

Bustups can apparently be dynamically loaded based on the date.

faint plinth
#

Oh, yeah, that's true.

amber moth
#

that would be cool to implement into EVTUI. Models can have the same thing as well (one that comes to mind is the buffet event).

faint plinth
#

I do plan to add variables like that at some point.

amber moth
#

awesome

#

I think the command worked. But I was too caught up with the bustups to actually record it.

#

though the colors didn't make sense

faint plinth
#

I could have the RGBA order wrong.

amber moth
#

seems like it adds these little rings around the bottom of them.

#

they don't do anything besides exist

#

i'll try out the other unkown options

faint plinth
#

Ooh! I mean, that makes sense. It just changes the color of the shadows cast by the models.

#

Was that the color you had in the editor?

amber moth
#

they looked different before but maybe I just wasn't looking correctly.

#

the unknown #1 doesn't seem to do anything.

#

one of them is 3 while the other is 1. And I don't see a difference.

#

it's hard to tell but the last 2 unknowns definitely control how far the shadow goes.

#

also finally turned back on the ui toggler

#

Unknown #4 controls the inner circle and #5 controls the outer circle.

#

for the colors. Unknown #3 seems to be in the inner one and #2 seems to be the outer circle.

#

still not sure about unknown #1

faint plinth
#

What's the difference between #3 and #4...? (Or #2 and #5?)

amber moth
#

2 and 3 are the colors and 4 and 5 are the diameters of the circles.

#

unkown #1 does something with it's visibility.

faint plinth
#

I see! Those look like the opposite colors of what's showing up 🤔

amber moth
#

that might be what unkown #1 is for also. Let me see rq

amber moth
#

let me try joker

#

doesn't seem to have done anything.

#

so for unknown #1 2 makes it invisible. 1 and 3 seem to do the same thing. You're seeing 1 rn

faint plinth
#

I switch between RGBA and ARGB in the editor, so clearly that's not correct here....

amber moth
#

Really?

faint plinth
#

Well, it looks like red and green values are getting mixed up between the two. So that'd be consistent with it needing to be RGBA and me getting it mixed around.

amber moth
#

i see

#

Oh yeah, so it's broken in a simlar way to the other one when it's made as a new command btw. It wasn't said before and I don't want the thought buried.

faint plinth
#

Broken as in it doesn't do anything, or broken as in the colors are wrong?

amber moth
#

the former, like the other command (I guess except that it still 'works').

#

I will test all of them tonight.

faint plinth
#

Can you sent your EVT with the MCSd edits? I'll see if I can work out the issue with the colors.

amber moth
faint plinth
#

YESSS.

amber moth
faint plinth
#

Is that pink color consistent with what you set in the editor?

amber moth
faint plinth
#

LOL, nope....

#

Definitely getting flipped somehow.

amber moth
faint plinth
# amber moth

Based on this, it looks like Joker's shadow is inverted while Akechi's is consistent with the editor. Does that seem consistent with what you've seen?

amber moth
amber moth
faint plinth
#

Right, I just mean in terms of editor vs. when the shadow is displayed. Although Unknown #1 may also invert the opacity, i.e., make it basically invisible....

#

But no, you have the same opacity for both, wh... femcmad

amber moth
#

I've got nothing on that front.

weary pelican
#

I think I saw a ghost ascending

amber moth
#

MSSs works aswell on sumi

faint plinth
#

Hm, it might be easier for me to track the issues in a document so I don't lose track of them....

#

Any chance you want to put your findings in a Google Doc? 😄

amber moth
#

I will tomorrow

faint plinth
#

Perfect naothumbsup

amber moth
#

are there any more you want me to test before I sleep?

faint plinth
#

You've given me lots of stuff to work with regardless, so go on to bed. And that list is comprehensive, so if you've covered that, we're good to go for now.

amber moth
#

awesome, I will go on to bed. Have a nice timefemc

faint plinth
#

Okay, I thiiink I fixed the color mismatch issue. And possibly also the backspacing null reference issue. You can try building from the branch psy/model-commands-tweaks to see if the fixes make sense.

amber moth
#

I will try it out in a bit

amber moth
#

trying it out now

#

I keep forgetting to say. The /s on .\scripts\bootstrap_win.bat are inverted. I don't really know how to use github to change it.

#

looks like the null reference was fixed. Trying out the color mismatch thing now

#

the colors are now correct (joker is the example here). I will see if I can figure out what the unknown is now

#

also for reference the unknown is on 1 currently. Trying 2 then 3

#

2 is visibility. I assumed it'd be so but wanted to make sure.

#

I'll put this in the google doc once im done btw

#

yeah it really looks like it does nothing. Unless it requires something else? I have no idea.

#

Anyways, google doc time

amber moth
#

if only I knew how to add videos without uploading them to youtube

amber moth
#

forgot to say, the text box works now

#

im almost done with documenting all of them.

amber moth
#

I missed testing MLw_ and it shows. Since I don't think it works when it's a new command.

#

there we go, all of them have been documented and most are completely fine. Just a couple that need testing/fixing.

faint plinth
#

So new MLa_ commands do work? And did you figure out anything with walking animations on MMD_?

amber moth
#

oh right, forgot about that whole thing

#

Let me test MLa again. And I didn't do that much testing with MMD

#

i'll test both of them

faint plinth
#

Might just be a matter of figuring out what each of the fields does. I'm not 100% sure how to get walking to work, either, since a lot of the walking "animations" are in fact just static poses.

amber moth
#

I wasn't really able to before due to having a bunch of other commands to document. But now I can look into it more.

#

oh also, whats the 'model ID' supposed to be?

faint plinth
#

That's for specifying a model (and that model's helper) that you want the main model to look at. You can do that instead of specifying exact coordinates.

amber moth
#

then that might not work currently. I need to make sure though

faint plinth
#

It's not used often, but I think it's in E511_310...? Seems like a command to get a character to look at their right hand, in that case.

amber moth
#

interesting, MLa does actually function now

#

need to record it

#

I wonder what made it bug last time?

faint plinth
#

Weird....

#

But it looks good!

amber moth
#

i'll mess around with MMD now

#

I just tried the MLa with the unknown bool and it seemed to actually change it.

#

Let me record it again

faint plinth
#

Oh yeah, I also think ML__ is missing from the document.

#

That seemed to work, other than the color stuff that's since been fixed.

amber moth
#

I don't think that was in the list iirc

faint plinth
#

It was, lol. But you did already test it, in any case.

amber moth
#

oh

#

oh right

#

theres a bit of stutter with it on. Very interesting.

faint plinth
#

Huh. It's definitely something, but not clear what it's supposed to be.

#

Oh, for new MCSd commands that don't seem to work, what did you set the Unknown to?

amber moth
#

all 3. 1 and 3 seem to be the same and 2 turns it off

faint plinth
#

Hmmmm. Wonder why it doesn't work....

amber moth
#

No idea honestly. Is it supposed to be 3 options or just 2?

faint plinth
#

It only ever appears as 0 and 3. I wonder if it's actually a bitfield for enabling/disabling the inner and outer circles, respectively....

#

So 1 and 3 should have the inner circle enabled, while 2 and 3 should have the outer circle enabled. 0 being neither, and 3 being both.

amber moth
#

I technically never tried 0. Let me see what happens.

faint plinth
#

I suspect nothing will show up, but we shall see.

amber moth
#

I suspect everything will show up

#

im correct

#

0 also makes it turn off

faint plinth
#

So it does turn off both inner and outer circles...? I think 2 is the biggest question -- whether that actually leaves the outer circle on. Might be hard to see.

amber moth
#

i'll retry them all right now

#

this is 1

#

this is 2

#

this is 3

faint plinth
#

Well, that's definitely just fully invisible for 2...

#

I still think it's a bitfield, but I have no idea what that second bit (the difference between 1 and 3) does naotothink

#

Clearly the first bit is to show/hide the shadow, though.

amber moth
#

i'll try different colors

faint plinth
#

If we don't find anything, I'll just split it into Enable model shadow? and Unknown checkboxes.

amber moth
#

here's what it looks like at 99 diameter

faint plinth
#

Does 1 look any different for those colors+diameters?

amber moth
#

im trying it out now

faint plinth
#

Might also not be diameters but rather something like blur radius/strength....

amber moth
#

no it definitely makes them bigger. Probably both

#

this is it at 1

faint plinth
#

No difference... Unknown it is!

amber moth
#

it truly is unknown

#

i'll look at MMD now

faint plinth
#

MCSd still doesn't work as a new command, though? Just to be clear?

amber moth
#

nope

#

MMDs that work don't even use the idle/moving animations

#

let me recreate it rq

#

this is what it looks like for reference

faint plinth
#

That probably means it uses the default settings for animations, then. So it's more about figuring out how to get the custom ones to work properly. (Maybe Enabled? should be Customize?)

amber moth
#

Yeah, im curious if it's might be a MCSd situation aswell. Just recreatingit now

#

It does have the unknown at 275 aswell.

#

It's both diffrerent and has no walking anim recreated compared to the actual event version.

#

recording it now

faint plinth
#

Can you share full screenshots of what the UI inputs look like for both?

amber moth
#

first two are the event version and the last two are the recreated version

faint plinth
#

The only thing I can think of is it actually does use the stuff in the Moving and Idle animations, even when not "Enabled"....

#

If you enable them all, does the info there match?

#

I also could have that checkbox switched around, so it should actually say Enabled is true in those cases 🤔

amber moth
#

oh yeah that seems to be the case

#

left is event right is recreated

faint plinth
#

I see... so then yeah, either Enabled actually is something else (seems unlikely because that's direct from the beta editor) or I just have it flipped in the UI.

amber moth
#

you have it flipped from the looks

faint plinth
#

Cool, that should be an easy fix, at least.

amber moth
#

anything else you want me to test?

amber moth
#

so it doesn't get lost

faint plinth
#

Hmmmm... I think the only thing left is the mystery of new MCSd commands not working, right? Or was there anything with MLw_?

amber moth
#

thank youfemc

sand smelt
#

np, thanks for documenting all this stuff

amber moth
#

it's no biggie. Im always glad to be of service

amber moth
#

I wonder if thats actually why it seemed 'broken' when I first tested it?

#

actually let me test it again on the original event

faint plinth
#

Could be. I wonder if it's like a "reset before looking around" thing....

amber moth
#

oh right. If I exit a event in EVTUI while the game is still running. Then go into a new event I get this error

faint plinth
#

My try/catch doesn't cover that case, eh? Wonder why....

amber moth
#

these names are confusing smh atlus

#

still need to figure out why the model thing wont work for MLw

#

wait no

#

thats MLa

#

;-;

faint plinth
#

lmao

amber moth
#

ohhh right

#

for some odd reason the couple times I tried MLw it wouldn't look around. I think, I need to look at it again

#

how many commands are left for implementing into EVTUI? Just curious

#

kinda wanna try out that free motion one

faint plinth
#

...many 😅

#

I'm trying to prioritize the ones folks would be interested in, though, so I can try to get that one in soon.

amber moth
#

nah it's fine. Just was curious really. Shame that I can't help out.

faint plinth
#

Beyond that, I also want to prioritize camera stuff so we can start previewing positioning and not just animations.

#

It's unfortunately pretty complicated to link up the parsing and UI bits, yeah pensivekechi Not much for it, really. But finishing up the model commands means I've added a lot of convenience functions, so maybe it'll go faster from here 🤷

amber moth
#

I believe in you ajdaFemcLove And i'll be sure to test every step of the way.

#

how tedious is it to commit on gh?

#

you could potentially commit a command once you finish it. Rather than doing a whole chunk of them then releasing it? idk how viable that would be.

faint plinth
#

It's not tedious or anything. I was grouping things more for organizational reasons, but if it makes sense to merge in even smaller chunks, we can do it that way.

amber moth
#

You don't have to. It was just a thought I had.

faint plinth
#

I can also just keep the branch updated on the repo rather than just locally, so you can test the working branches.

amber moth
#

Could work

faint plinth
#

Giant shoeless Sumi is truly... something. I sure hope I don't live to regret what I've released into the world 😅

amber moth
#

I can 1 up this rq

faint plinth
#

P5R but all the girls are 8ft tall dark

mellow gazelle
amber moth
#

also interesting thing. This event played the original VAs lines for takemi. No idea why.

faint plinth
#

RIP....

amber moth
#

he's not going to survive

#

8ft sae this is true

#

truly the perfect sae

faint plinth
amber moth
#

maybe tall joker is the answer

#

better idea

fossil kettle
#

Your power... mirrors my own...

amber moth
#

I do wonder why they even made this command a thing? I guess maybe for certain scenes?

faint plinth
#

It's probably more for items than character models, but lmao. Too much power to give us.

amber moth
#

very true

faint plinth
#

Okie-doke, merged the fixes from before + the additional MCSd and MMD_ fixes discussed since naothumbsup I couldn't see anything obviously wrong with newly added MCSd commands, so we'll leave that up to future investigation, I guess.

faint plinth
#

Oh yeah, I think my only other big remaining question is what the difference is between MAAB and MAB_ when animating an attached object.

amber moth
#

I'll look into it in a couple hours.

amber moth
#

im getting into it now. Sorry for taking so long.

#

MMD_ seems to work correctly now.

amber moth
#

opening the event with MCSds has them looking different even though I messed with both.

#

Gonna see what happens with a new version of them

#

these are the standard configurations of the original versions of them.

faint plinth
#

That all looks right to me.

amber moth
#

new MCSds work on this event specifically

#

so then theres something in this event that makes it work

faint plinth
#

Might be the ENV.

amber moth
#

on the frame the MCSds appear there are some ENV commands

#

so it could be that

faint plinth
#

Maybe it needs the EnLI...? I assume EnL0 is always set in the ENV, but maybe EnLI isn't 🤔 But I suppose it could be related to either one.

amber moth
#

let me see what happens if I delete them

#

was not the ENV commands there.

#

i'll see if theres any other ones before the command

faint plinth
#

Wow, is that what the laundromat usually looks like outside of third semester? I never noticed how extreme the saturation got there....

amber moth
#

it does look really weird now

#

but yeah, it's not the ENV commands

faint plinth
#

Hmmmmm. Weird!

amber moth
#

i'll keep picking at this event to see what it is

amber moth
#

are there any other events with MCSds in them?

#

just trying to cross reference stuff

faint plinth
#
EVENT/E100/E180/E184_001.EVT: 1, 1, 307
EVENT/E100/E180/E186_001.EVT: 1, 1, 1
EVENT/E200/E220/E225_001.EVT: 1000, 1000, 1000, 1000
EVENT/E200/E240/E243_401.EVT: 1, 1, 1, 36, 170
EVENT/E400/E400/E409_040.EVT: 1, 1, 1, 1, 1, 1, 1, 1
EVENT/E400/E480/E482_020.EVT: 1, 1
EVENT/E500/E510/E511_080.EVT: 159, 159
EVENT/E500/E510/E511_230.EVT: 1
EVENT/E700/E700/E703_200.EVT: 1
EVENT/E700/E720/E722_042.EVT: 1, 1, 1027
EVENT/E700/E720/E722_200.EVT: 1
#

Here are all the events that use it + the frames where you can find them.

amber moth
#

I see, I will check them out. Thank youfemc

#

Interesting how some of them get spawned in instantly.

faint plinth
#

That mostly makes sense. The event we've been looking at is a bit weird for having multiple different locations in the way it does.

amber moth
#

true

#

not even the field command can stop the shadow

#

could it be from any of these fields before stuff gets loaded in? Not sure if this was looked at in EVTUI.

#

511_080 and 184_001 respectfully

faint plinth
#

It is in the new branch I'm working on, but there's nothing in there that should relate to this, no.

amber moth
#

Why do you think that? Just curious really since I'm kinda doubting it's any of these commands in EVTUI

faint plinth
#

The event we're looking at doesn't have anything unusual there, either in terms of ENV definition or in terms of any unknown booleans.

#

Do you remember specific events where the command doesn't work?

amber moth
#

481_010 doesn't work (it's the giant shoeless kasumi one)

#

i'll try more events just to see.

faint plinth
#

That one does have an extra unknown boolean checked in the header, but that's the only big difference I can see.

amber moth
#

yeah the unknown bool is "never allow the MCSd command : )" iirc

#

does not work on 275_001

amber moth
#

there has to be something specific that does it.

#

Unless its something hardcoded which idk how that would work.

faint plinth
#

The one above doesn't have the thing checked in the header, so back to square one.

#

The shadows there seem to be different than the ones in the laundromat.

#

Like, the laundromat ones are just the circle things, while the above actually seem to be cast realistically from the model shapes.

amber moth
#

I forgot to screenshot it. But 521_021 also doesn't work.

#

also yes I forgot about giant sae

weary pelican
#

Where’s giant Akage

amber moth
#

in your mind

faint plinth
#

My uneducated guess is that somewhere in the actual .ENV file it defines what kind of shadows are cast, and only the lazy circle shadows count for this command 🤷

amber moth
#

Maybe? Though that feels to constricting

#

so I have good news

#

750_011 let me add the MCSd. While it also has the realtime shadows.

#

the 8ft tall valentines event

#

also good news. 752_000 also works with a new MCSd.

#

hmm, it seems like valentine/white day related events can use MCSd.

#

this is 754_000 btw

#

gonna try more valentines/white day events

#

522_040. Definitely seems like they have something specfic in common with eachother. Which make sense, but should help in finding what makes it happen.

#

also they translated this unused event almost. Which is cool

fossil kettle
#

is there a way to open up multiple events or evtui instances? i cant get evtui to open another instance if its already open and i'd like to look at another event as a reference while im working on a different event

amber moth
#

I don't think so sadly. If you could start up another exe of it them maybe it could work.

fossil kettle
#

yeah i cant get another exe of it to start up, ive tried the release and debug versions as well as the x64/x86 ones

amber moth
#

I just tried cloning a new one and even that doesn't work ;-;

fossil kettle
faint plinth
#

Aha, yeah, there's specifically code to block multiple instances from opening... it's to make sure you can't break stuff by editing the same file in multiple places naosmiley

#

I've thought about being able to use multiple events as reference, though, so I think that will be something worth implementing sooner or later.

amber moth
#

Maybe you could have it be that you can open multiple events, just not the one you're editing currently? So like you can't open 2 instances of 522_040. But you can open 522_040 and 754_000.

faint plinth
#

Yeah, I can think about how to make that happen 🤔

fossil kettle
#

Yeah it'd be nice if this window (or the project one) was accessible when an event is currently open

#

If you want to be extra cautious you can have it only permit read only mode

faint plinth
#

It breaks some of the assumptions in the backend code, but it'd be nice to have.

amber moth
#

i'd say only on a per project basis. Like only having 1 project open but multiple events open.

#

cause idk why you'd need 2 projects open at once

fossil kettle
faint plinth
#

Comparing between mods, maybe....

amber moth
#

I mean I'd be down with either. Just that opening multiple projects might be more work for you to redo.

fossil kettle
#

^^

faint plinth
#

Eh, not really 😄 If I can think of a good way to allow multiple editor windows without breaking everything, it would all be equally doable at that point.

#

I will ponder this....

amber moth
#

also, did you see any correlation between the events for MCSd?

#

I didn't try all of the valentines/white day events but they have to have the key to this. Since they all work with a new MCSd.

#

i'll try them now actually

amber moth
fossil kettle
#

SAME

#

for now you can move it with windows key + arrow keys

amber moth
#

wait you can? les go

#

it has some sort of lighting property here. Very interesting.

#

752_010 btw

#

if the next one has it im convinced

#

752_020

faint plinth
#

There's probably a way to do it, though.

amber moth
#

you could make it have a similar funcionality as windows key + arrows does.

#

something more streamlined though

faint plinth
#

Do you just want to be able to drag it around in general?

amber moth
#

I wouldn't really care either way. Just some way to move it between each monitor would be neat.

#

cause it's just the menu that doesn't move, unlike the events. So it only really needs to stay centered on the monitor.

faint plinth
#

Yeah, there are keyboard shortcuts I use on Ubuntu for moving it between workspaces like that, so IDK what the equivalent here would be 🤔

#

It should be possible to make the image in the middle drag the window around if you click it.

amber moth
#

If it's possible then I don't see why not.

#

unless it takes time to do of course.

weary pelican
faint plinth
# weary pelican Ajda is there a list of what the commands do cuz I know MSD are models and MSCL ...

There's a page on Amicitia that gives an overview of the commands. The only issue is that it's based on EvtTool output, so specific fields mentioned there don't relate to what they're called in EVTUI. (And also much of the more specific info is incomplete / out of date.) But it's still a good reference, I think, if you just want to know which commands generally do what.

Amicitia Wiki
EVT

EVT is a binary event format used by Atlus in Persona 5. It is used to setup cameras, objects, animations, dialog and more in cutscenes where you can't control the character. In other circumstances where dialog is shown but you still briefly control the character, those scenes are likely using BF instead.

faint plinth
# amber moth

All right, I've tried adding some of the windowing changes you (and Wisteria) wanted -- access to (+ draggability of) the main/splash menu at all times, ability to have multiple (unique) events open, etc. It's in the branch psy/more-flexible-windowing for now... since it's a pretty significant backend change, I'm going to ask that you test it from there for a bit to make sure stuff doesn't break horribly before I merge it into main 🙏

#

(I haven't had time to check out the other events re: MCSd stuff yet, though.)

faint plinth
faint plinth
#

I did some due diligence, but maybe keep extra copies of any modded events during initial testing, just in case 😅

fossil kettle
#

no issues so far, it seems to work super nicely

#

the only downside is you can't copy and paste things between two event editor windows but just being able to reference another event with the gui is really nice on its own

#

also the assets tab disappeared for some reason

#

also im not sure if this is related but the msgs are displaying in jp for some reason

#

instead of eng

#

okay reopening the evt fixed it

amber moth
#

seems like if you open another event after already opening one it stops being saveable. So only the new event that was loaded is saveable.

#

Which makes sense, given that it's using the same CPK to edit the events.

faint plinth
faint plinth
amber moth
#

i'll test it once you get rid of it

faint plinth
#

OK, pushed a potential fix to the branch naothumbsup

amber moth
#

oh, it didn't show me that you typed in here

#

smh

#

i'll test it now

faint plinth
# amber moth

Perfect!! Let me know if you hit any other issues.

amber moth
#

🫡

faint plinth
amber moth
#

I mean how it is now is already a major improvement.

faint plinth
#

Does moving around the main/splash menu work how you wanted?

amber moth
#

Yeah it works perfectly. I don't have any issues with it

#

@fossil kettle do you have any? Since you also tested it.

fossil kettle
#

only issue ive really run into is an occasional crash when trying to open a project when an event is already open

#

im not sure how to launch the program with a console log though

amber moth
#

do you have git?

fossil kettle
#

yes

amber moth
#

let me record my process for getting the console rq

faint plinth
amber moth
#

also rq ajda. For the windows script the slashes are the wrong slashes. it should be ./scripts/bootstrap_win.bat
not .\scripts\bootstrap_win.bat

#

or atleast thats what works for me every time I clone it.

faint plinth
#

Lol, okay, I can change it if that's easier for copypaste.

amber moth
#

It moreso for other people. Cause I think I only found out by searching online (though I can't remember my first time doing all of this). But I definitely was confused the first time.

amber moth
fossil kettle
#

im not really sure if its logging though?

amber moth
#

git logs it

fossil kettle
#

these kinda just look like build errors

#

or well

#

warnings

amber moth
#

I haven't had any real issues

#

i've used it exclusively for EVTUI

faint plinth
fossil kettle
#

its not that im having build problems its that idk if its actually logging stuff like program errors

faint plinth
#

It'll show error logs when it actually crashes, too.

fossil kettle
#

is there someway i can check

#

oh does it only log errors?

amber moth
#

just through the console

#

let me record what it looks like

faint plinth
#

It you're seeing warnings, you'll also see errors, so you should be good to go.

#

I should really add a general error catcher so this isn't needed....

fossil kettle
#

yeash i was just confused since im not seeing debug logs

mellow gazelle
fossil kettle
#

@faint plinth @amber moth okay it just crashed and didnt give me any kind of error message

faint plinth
amber moth
#

well im running windows 10.

fossil kettle
#

im pretty sure its only giving me a build log

amber moth
#

what net. do you have?

fossil kettle
amber moth
#

oh true

fossil kettle
#

i have net 9

amber moth
#

that might be it

fossil kettle
#

or well all of these

#

dont ask why i have net 3, i have no idea

faint plinth
#

I can't imagine why different dotnet versions would give you error messages or not, but I've been developing on 8, so IDK what happens if you try to use 9.

fossil kettle
#

can i just run it with net 8?? or do i have to uninstall net 9

#

i have net 8 installed so it should... work?

#

i think the problem is though im just

#

not getting any kind of debug log

amber moth
#

thats just a symptom

#

of whatever the issue is

fossil kettle
#

i feel like its user error

#

what does your log look like

amber moth
fossil kettle
#

i mean why would you need git specifically anyway?

#

cmd works fine

amber moth
#

because thats how I did it

#

and it works

#

and gives a debug log

#

which is what you were asking

fossil kettle
fossil kettle
#

why not try it with cmd on your end

amber moth
#

I didn't learn this through cmd. Just through git.

fossil kettle
#

i think you're missing the point 😅

#

regardless can you try it through cmd

amber moth
#

How many times did you load an event before it crashed?

fossil kettle
#

A handful, maybe about 5 or 6 times?

amber moth
#
   at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.File.CreateText(String path)
   at EVTUI.UserCache.SaveToYaml(User user) in C:\Users\Freeman Cavarretta\EVTUI\src\lib\FileIO\UserCache.cs:line 62
   at EVTUI.ProjectManager.SaveUserCache() in C:\Users\Freeman Cavarretta\EVTUI\src\lib\ProjectManager.cs:line 86
   at EVTUI.ProjectManager.LoadProject(Int32 projInd) in C:\Users\Freeman Cavarretta\EVTUI\src\lib\ProjectManager.cs:line 189
   at EVTUI.DataManager.LoadProject(Int32 ind) in C:\Users\Freeman Cavarretta\EVTUI\src\lib\DataManager.cs:line 77
   at EVTUI.ViewModels.ConfigurationPanelViewModel.TryLoadProject() in C:\Users\Freeman Cavarretta\EVTUI\src\gui\ConfigWindow\ConfigurationPanel\ConfigurationPanelViewModel.cs:line 360
   at EVTUI.Views.ConfigurationPanel.UseProject(Object sender, RoutedEventArgs e) in C:\Users\Freeman Cavarretta\EVTUI\src\gui\ConfigWindow\ConfigurationPanel\ConfigurationPanel.axaml.cs:line 120
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
   at Avalonia.Threading.SendOrPostCallbackDispatcherOperation.InvokeCore()
   at Avalonia.Threading.DispatcherOperation.Execute()
   at Avalonia.Threading.Dispatcher.ExecuteJob(DispatcherOperation job)
   at Avalonia.Threading.Dispatcher.ExecuteJobsCore(Boolean fromExplicitBackgroundProcessingCallback)
   at Avalonia.Threading.Dispatcher.Signaled()
   at Avalonia.Win32.Win32Platform.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam)
   at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG& lpmsg)
   at Avalonia.Win32.Win32DispatcherImpl.RunLoop(CancellationToken cancellationToken)
   at Avalonia.Threading.DispatcherFrame.Run(IControlledDispatcherImpl impl)
   at Avalonia.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken)
   at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args)
   at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(AppBuilder builder, String[] args, Action`1 lifetimeBuilder)
   at EVTUI.Program.Main(String[] args) in C:\Users\Freeman Cavarretta\EVTUI\src\gui\Program.cs:line 21
``` This should be it @faint plinth
#

also my git screen

faint plinth
#

Ah, yup, that seems likely....

amber moth
#

I don't think it's a net issue for you wisteria. Since this is mine.

#

Though I have no idea what else it could be.

fossil kettle
#

can you run dotnet --info and paste the output here

amber moth
#
 Version:           8.0.400
 Commit:            36fe6dda56
 Workload version:  8.0.400-manifests.56cd0383
 MSBuild version:   17.11.3+0c8610977

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.19045
 OS Platform: Windows
 RID:         win-x64
 Base Path:   C:\Program Files\dotnet\sdk\8.0.400\

.NET workloads installed:
Configured to use loose manifests when installing new manifests.
There are no installed workloads to display.

Host:
  Version:      9.0.0
  Architecture: x64
  Commit:       9d5a6a9aa4

.NET SDKs installed:
  5.0.408 [C:\Program Files\dotnet\sdk]
  8.0.400 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 5.0.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 8.0.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 3.1.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.15 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 9.0.0-rc.2.24473.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 9.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.1.8 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 7.0.15 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 8.0.2 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 8.0.8 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 9.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Other architectures found:
  x86   [C:\Program Files (x86)\dotnet]
    registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download
fossil kettle
#

pretty much the same as mine :/

amber moth
#

I never had a time cloning where this happened to me as well. So no real idea, has to be something though.

fossil kettle
#

hmm

#

@faint plinth could you look into having the program output its log to a txt file? like how reloaded-ii does it

faint plinth
#

Yeah, I want errors to be easier to track/share. Working on it naothumbsup

fossil kettle
faint plinth
#

This particular error is what I was afraid of with these changes, lol... time to actually fix how the user configs are handled, I guess....

amber moth
#

I think it'll be worth it in the long run. Still very glad for all of this thoughFemcLove

fossil kettle
#

@faint plinth quick question, does starting frame do anything in-game or is it just a visual thing for the gui? it doesnt seem to be doing anything for me in-game

faint plinth
#

But once I do that, I would expect them to do something 😅

fossil kettle
#

i think it does save that change

#

not sure if it does anything or not

#

not a huge deal since you can just use a framejump but its worth noting/checking up on

faint plinth
# fossil kettle

Oh, yeah, I see now where it gets saved... huh. Maybe it's only used for debugging...?

amber moth
#

I can probably look into it a bit more tomorrow. I'll also do the same for MCSd.

violet birch
faint plinth
violet birch
#

that's the hard part 😅

#

it's been a minute since i did any evt editing

#

090_100 has one

#

the newer unbuilt version of evt tool has a lot more things labeled

#

(and my fork has more potential labels)

#

90_101, 102, 103
92_001, 100
430_001
just to name a few with start frames > 100

faint plinth
faint plinth
fossil kettle
#

awesome! ill give it a test soon

#

works super well so far :)

violet birch
#

i dont have a save file that far in so i cant really test

amber moth
faint plinth
amber moth
#

oh

steel ruin
#

Im actually intrigued about this (probally again)

amber moth
#

how so

steel ruin
#

Because new tools are Cool and I probably said thus before

#

It's also an interesting insight into the evt files and flags

faint plinth
faint plinth
amber moth
#

i'll check

amber moth
#

the error for having 2 of the same event open works

amber moth
faint plinth
#

Nice... thread-locking saves the day 😎😎😎

amber moth
#

anything else you want me to test?

faint plinth
#

Hm, not related to these windowing changes, I don't think.

#

I am still curious about the difference between MAAB and MAB_ for attached objects, though, if you've got time to look into that.

amber moth
#

oh yeah, forgot about that. I'll look into it after I do some more testing with MCSd

#

okay, so good news. This 'toggle' for MCSd is inside the events somewhere.

#

I copied everything inside of event file 752_010 and put it into 481_010

#

And the shadow works correctly now.

faint plinth
#

Huh. What part didn't you change? Just the header?

#

Or you did change the header...?

amber moth
#

I mean everything. As in CTRL A then copy paste. It doesn't narrow that much down but atleast it shows that the toggle has to be somewhere in the EVT file.

#

I did try doing just the header (I think thats what it is) and it didn't make the shadows appear.

#

this part is the header right?

faint plinth
#

Yeah, the stuff up top.

amber moth
#

shadow potentially spotted

#

on joker

faint plinth
amber moth
#

so it has to do with either the alt field or field command

faint plinth
#

Ahhh, THAT makes sense.

amber moth
#

it's in the field command

#

though something about this seems weird

#

left is the shadow-less event. And right is the shadow existing event.

#

That Field1C doesn't do it. So it has to be either the resource ID or the Anim ID

#

which is just really weird and im not sure what exactly we can do with that

#

okay, figured it out

#

so it seems to be connected to the Resource ID and the Field1C. The resource ID I assume needs to be the same as one that has the shadows. And then the field1C needed to be 0 or it would crash immediately.

#

anim ID isn't connected to it so it doesn't change the outcome.

faint plinth
#

Hummm... so how does this relate to different events in Leblanc having different behavior? Which IDs are different there?

amber moth
#

What events specifically?

faint plinth
#

You were showing different events, all in Leblanc, where sometimes the shadow worked and sometimes it didn't.

#

Not sure which were which, exactly.

amber moth
#

No they all worked

#

atleast iirc

faint plinth
#

Oh, huh. Didn't it not work in the one with Sae?

amber moth
#

ah

#

let me look at the EVT file

amber moth
#

so it seems to be a per field basis

faint plinth
amber moth
#

It seems like that. At the very least only certain fields can have the shadows.

#

I wonder if it's hardcoded?

faint plinth
#

Might be something in the lighting and/or materials.

amber moth
#
EVENT/E100/E180/E186_001.EVT: 1, 1, 1
EVENT/E200/E220/E225_001.EVT: 1000, 1000, 1000, 1000
EVENT/E200/E240/E243_401.EVT: 1, 1, 1, 36, 170
EVENT/E400/E400/E409_040.EVT: 1, 1, 1, 1, 1, 1, 1, 1
EVENT/E400/E480/E482_020.EVT: 1, 1
EVENT/E500/E510/E511_080.EVT: 159, 159
EVENT/E500/E510/E511_230.EVT: 1
EVENT/E700/E700/E703_200.EVT: 1
EVENT/E700/E720/E722_042.EVT: 1, 1, 1027
EVENT/E700/E720/E722_200.EVT: 1```
Just to bring it back for easy access.
faint plinth
#

Are you able to mess around with some of the checkboxes on the Field assets in the psy/header-and-object-tabs branch to see which one(s) seem to have an effect on crashing with shadows?

amber moth
#

Yeah I can try messing around with it.

faint plinth
#

Or did you make note of any specific non-zero values that crashed?

amber moth
#

you mean for the field1C or the resource ID?

faint plinth
#

If it's just 1 like the event above, then that means the Field can't be checked as "common"... interesting.

#

I meant the thing that's Field1C in the EvtTool release, yeah.

amber moth
#

oh I see

faint plinth
amber moth
#

looks like 2 works

#

I just changed it in the EVT file since it was easier

faint plinth
#

Even numbers should work, and odd numbers should crash. But in that branch, you should just be able to check/uncheck the "Common?" box for the field asset, to the same effect.

amber moth
#

fine i'll reclone it

faint plinth
#

I'll try to merge the other branch within a day or two so this branch can start having the multi-window benefits 😄

amber moth
#

I have not seen this asset tab before wow this is a lot

#

ticking on the common box crashed it

faint plinth
#

Okay, cool. Confirmed....

#

Now, why it works this way, I have no idea. But that was some excellent sleuthing. Nice work!

amber moth
#

Thanks, later on i'll try different fields it works on. So maybe we can figure out how to change the fields to make them work.

#

Then maybe have it as a dependency mod for event editor mods who want to use the command or something

faint plinth
# amber moth

Although...... does it still crash if you check Common when there aren't MCSd commands?

amber moth
#

i'll check that now

#

still crashes

faint plinth
#

Ha, okay. So it's probably more to do with the specified animations not being available in the common files.

#

That makes more sense.

amber moth
faint plinth
#

It's probably more a matter of figuring out where the field animations live and preventing users from selecting invalid animations, or at least warning them about it.

#

I haven't looked into field animations yet, so I'm not sure what the path patterns are for them.

#

Character model stuff is super prevented from crashing, even in silly ways, so I'm kind of surprised field animations aren't similarly ironclad.

amber moth
#

I assume because they're not as messed with often.

faint plinth
#

True....

amber moth
#

I figured out why joker didn't load before I think

#

cause I changed the model ID to what it should be because our mod uses a different model ID for a different outfit. So then it doesn't show up.

faint plinth
#

Oooh, I see. Wisteria's hack of making a MOD.CPK containing your models would probably work here, but I'll get working on an actual solution for modded assets.

amber moth
#

@fossil kettle where exactly did you put the mod.cpk in the files for it to work?

fossil kettle
#

steamapps\common\P5R\CPK

amber moth
#

oh, makes sense. Thanksfemc

fossil kettle
faint plinth
#

Btw, @fossil kettle, I think I fixed the crashing in the multi-window branch. It seems to be fixed for CG, at least.

fossil kettle
#

nice! i'll test it sometime soon

amber moth
#

gonna test the anim stuff now.

amber moth
#

im thinking it's that they can use both but MAAB is just more preferable since it deals specifically with attached models.

#

They probably used the same code as MAB_ and tweaked it a bit for attached models.

#

let me check out all of the unknowns

#

seems like the unknown(debug) doesn't really do anything.

faint plinth
#

I wouldn't expect the debug stuff to show up in-game, yeah.

amber moth
#

🤓

faint plinth
#

I include it for completeness, but most likely it's just for Atlus's event editor.

amber moth
#

would be cool to see what it does

faint plinth
#

We'd have to get some Royal beta builds for real for that 😄

amber moth
#

is it not in regular P5?

#

damn

faint plinth
#

Yeah, it's not in the P5 beta editor.

amber moth
faint plinth
amber moth
#

Maybe they didn't have an easy way to select different assets with their setup so they had to use MAAB?

#

no idea

#

Cause it works the exact same

faint plinth
#

It shall remain a mystery for now, I guess....

amber moth
#

still trying these unknowns. They don't seem to be doing anything

violet birch
#

which command/fields are you looking at?

amber moth
#

MAB_, just trying to document these currently

violet birch
#

not a whole lot of help without the evt field numbers

#

but i know fields 38 and 3c are static values

faint plinth
#

They're mostly from the bitfield. EVTUI parses things differently from EvtTool.

violet birch
#

gotcha

amber moth
#

unless it's like MCSd these unknowns don't do anything.

faint plinth
#

This is what the MAB_ parsing looks like, if that's at all helpful in comparing to EvtTool output. These should fall in the same order as the fields from EvtTool, although one of them is split in half (the two UInt16s).

#

(Probably not helpful, but it's hard to get a one-to-one comparison....)

amber moth
#

All in all I think we need to kill atlus

violet birch
#

this is what it looks like in evt tool. fairly similar logic

amber moth
#

@faint plinth anything else you want me to test?

faint plinth
#

Hm, not really at the moment, unless you spot any other unknowns you want to test.

amber moth
#

theres an unknown on the MAt_ so i'll look at that rq

#

so thats what it does

#

actually

#

need to test it again

faint plinth
#

Changes the attachment point...? 🤔

amber moth
#

yeah no, does nothing

#

I forgot that I deleted the MAAB when testing and didn't put it back

faint plinth
#

Ah, gotcha. Well, who knows... it might be clearer what these things do once folks get into other events and stuff breaks as a result.

amber moth
#

it changed the shading on the bag

#

morgana's

#

it's more lighter with the unknown off

faint plinth
#

Interesting! Something with sharing the parent object's shader or not, maybe...?

amber moth
#

might be, let me test some stuff

#

doesn't work with blusumi this is so sad

faint plinth
#

Aw..... It doesn't work whether checked or unchecked?

amber moth
#

I will try

#

what are some other shader things can I mess with

weary pelican
#

Sumi the Hedgehog hello?

faint plinth
amber moth
#

it was prophesized by charlie the chocolate factory

#

she even has a ponytail

#

and the same bangs

#

wow

faint plinth
#

The prophecy 🙏

amber moth
#

Sumire! You're turning sumire, Sumire!

amber moth
#

looks like it also works with normal models aswell

#

I think?

faint plinth
#

His harassment has escalated....

#

It's hard to tell much from the screenshots, but seems the same, other than the cinemascope, which is unrelated 🤷

amber moth
#

doesn't look like it works actually. So maybe it's just certain models?

faint plinth
#

Oh, okay! That's the unknown checkbox again?

amber moth
#

yeah

#

wanted to see what would happen if it wasn't a premade item model like the morgana bag

amber moth
#

do the other shoe options here work?

#

I didn't think to try it

faint plinth
#

These should all work, but the model needs to have corresponding nodes. Most don't, or only have one or two of these.

#

I think all vanilla models have at most shoe_0 and shoe_1...? But 2 and 3 should also work, based on the old MSSs thread.

amber moth
#

I see, good to know.

faint plinth
#

(It is Nodes and not Meshes, apparently, so I've since edited the text there accordingly.)

faint plinth
#

Went ahead and merged the multi-windowing branch, so now psy/header-and-object-tabs has all the newest features (so, the new Basics/Assets tabs + the flexible windowing, etc.) ✌️
If it breaks... we'll figure it out from there!

faint plinth
# amber moth

I've figured out at least some of this.... For field assets, those last 3 IDs don't mean the same things they do for character assets. The first one is the (optional) player field animation file ID, the second is the crowd (.CLT) major ID, and the third is the crowd minor ID. How that interacts with the Common? check, or whether that check also means something different for field assets, I'm still not sure.

amber moth
#

looks like everything works

amber moth
#

seems like an event with MCSd togglability already on it doesn't crash when common is checked

#

when the 481 event is in the same configuration as this event it still crashes

faint plinth
#

I suspect it may actually be the Crowd (iirc that event uses CwP_...?) commands causing the crash when you toggle Common? on that field asset.

amber moth
#

i see

#

i'll try it

amber moth
faint plinth
#

Hm, then possibly also the numbers in "animation ID"s for that field asset. What happens if you remove the Crowd commands and also set those IDs all to -1?

amber moth
#

And this is 752.

faint plinth
#

Hmmmmm.

#

I see, I see.

faint plinth
#

Can you share the edited 481 event?

amber moth
#

oh sure

faint plinth
# amber moth still crashes

Okay, I think I'm a bit confused. The vanilla version of E481_010.EVT already has Common? checked. In the message I'm replying to, though, you mentioned that the crash happened when the field was checked as common, with or without MCSd... but that doesn't make sense if it's checked by default. Unless you only checked with a modded field ID, I guess...?

amber moth
faint plinth
#

Ah, okay. Well... that means there's a lot going on here that could break things, lol.

amber moth
#

yes

#

im pretty sure it works fine up until the anim IDs are changed.

#

then they crash with common on

faint plinth
#

Interesting... well, the crashing is something in general with field assets and crowd files and possibly player animations, but I don't think we know enough about field-related files yet to work it out exactly.

amber moth
#

soon it will all be revealed

faint plinth
#

Well, one possible reason is that F003_002 doesn't have a basic CLT file:

FIELD/NPC/F003_010.CLT```
...so it probably won't work if `Common?` is checked, because it'll be looking for that file.
#

I think if you have -1s there and common isn't checked, it will skip looking for a crowd file. But if you check common, it'll look for the one for that field, no matter what the latter two ID values are.

faint plinth
#

That seems to be what you've been finding already, no?

amber moth
#

oh

#

I wasn't reading correctly then

#

mb

faint plinth
#

Finally figured out how the "starting frame" stuff works... that and the marker frames are all editor-only--as in, they're saved in the EVT so you can limit and mark-up your playback range for editing purposes, but they don't affect the in-game playback. The branch now makes that clear, allows you to mark frames, and (as a result) only has two (Royal-only) unknown flags left in the header 🙏

#

I still want to add some better visuals to the Assets tab, and once I've done that, hopefully this branch can be merged. Aaaand then on to the next stuff (more commands, hex editing mode for commands to cover un-implemented ones, etc.).

faint plinth
#

One thing I'm currently pondering re: assets... there are a lot of assets for which there don't seem to be external animation files, like Items (/Props, in EvtTool terms). But on rare occasions, they do have non-default numbers in the files.

As far as I can tell, this doesn't do anything... but is it worth leaving in the UI for now just for the sake of experimentation? Probably, but I'm not sure how to label it... maybe just Possibly Unused #1, Possibly Unused #2, etc.

amber moth
#

do you want me to test them aswell?

faint plinth
#

Yeah, maybe that's the way to do it. I'll leave the fields in there with Unknown/Unused labels so you know which ones are still mysteries.

It'll be kind of hard to test, tbh, since for all I know they could point to something other than animations... but I can at least point you toward the events where there are non-default values.

amber moth
#

That would be cool

faint plinth
#

Went ahead and updated the main branch to have the Basics and Assets tabs, because I don't feel like letting that continue to block other things I want to be doing 😅 So the new tabs are still a little barebones--I want to add more previewing, adding/deleting assets, etc., but I can't be bothered for now~~ and I'm trying not to let the PR sizes balloon any more than necessary~~.

#

Basically, all header and objects/assets fields should be editable -- just no add/delete yet. It shouldn't actually be hard to do that soon, at least.

faint plinth
#

Oh, I actually have a question related to script emulation... BF/BMD emulation doesn't account for embedded BFs/BMDs in EVTs, does it? I assume it doesn't and you'd need to compile them back into the EVT to mod them, but it's worth checking.

amber moth
#

I don't think so. Since it's an issue for the navi lines and idk why they'd be different.

faint plinth
#

Navi lines are in the exe, though, right? As opposed to being in an EVT.

#

Probably still ends up working the same way, but 🤷

amber moth
#

EVT is two letters off of EXE so it's probably true

faint plinth
#

True....

ocean acorn
#

i didnt know that was a thing dark
persona essentials does handle embedded bfs/bmds in (p3p/p4g) tbls so it could prolly be done

faint plinth
#

Lol, to be fair, I'm not sure that any EVTs used in the final game have embedded scripts (because they all use the external ones everyone is familiar with). It might only be unused ones that have them. In which case, I don't even know if the final game supports such embedding....

#

It'll definitely be worth a test once I handle it properly in the UI.

ocean acorn
#

i feel like its probably not worth it if the game itself doesnt even use that feature, but out of curiosity what evts do this (and do they have content thatd be interesting to restore)

faint plinth
#

Hmmm, let me see....

#

A few that have embedded BF scripts....

#

...and a few that have embedded BMDs.

ocean acorn
#

on a whim i searched p5rmsg.txt (i think the one included in modding-resources? its a ps4 dump in specific) for e090_001 and found it in multiple event paks. it has the lines you get from a newly fused persona
how do those work in final?

amber moth
#

iirc after the fusion the msg pops up and once you finish the dialogue it ends

ocean acorn
#

no i mean internally

amber moth
#

thought so

#

no idea then

faint plinth
#

Yeah, hm... And that BMD does exist externally. So let me see if I can figure out what's inside of the embedded one, if anything....

#

Okay, interesting. So there definitely aren't any actual embedded BMDs or BFs, but the flag that gets set in the beta P5 editor for embedding them still exists and is sometimes set to true... so it looks like this was just. Deprecated, I guess.

#

Like, I know that's what flag it is from messing with the beta editor, but it doesn't seem to do anything anymore naotoshrug

ocean acorn
#

same sitch with final og p5?

faint plinth
#

Seems so, at least if the beta files are any indicator. All of them give the offsets and sizes for all embedded BFs/BMDs as zero.

#

Even the ones where the flag for them is set to true.

#

Net zero information 😅

#

I swear it's a thing naosmiley But since the editor is older than the files in the beta, it must have been deprecated somewhere in-between, I guess.

#

...OH, I get it now. It's actually a flag for whether there's an external script or not.

#

...But I still don't know if it actually gets used.

#

OKAY, I think I got it. The flag is set when the default BF/BMD path name is being overridden -- so basically all of the E090_ events use this so they can share that same E090_001.BMD script. If it's not set, it uses the default script path based on the event IDs.

#

TL;DR: Just kidding, there are no embedded scripts. But there is a way of pointing to a script other than the canonical one the event would use based on its IDs.

faint plinth
#

Cool... I pushed some changes to more accurately reflect what the header/"Basics" fields mean, then. Although I still need to make sure the script editor parts pick up the right files when there's a custom path specified.

amber moth
#

sorry, got a sore throat and forgot about this. I'm testing it now

#

pretty sure the slashes are backwards

#

well for windows atleast

#

in any case it does seem to work. Just need to mess around with it a bit

#

it seems to load now but it just crashes

#

the slashes do seem to matter. Just wanted to confirm it.

#

but the text always defaults to all caps whether or not you changed it in EVTUI. Which makes sense but still wanted to confirm it.

amber moth
#

but it still crashes when loaded

#

for both BF and BMD

faint plinth
#

🤔🤔🤔🤔🤔

#

The way the game does it is with forward slashes and lowercases.

faint plinth
#

Usually paths embedded in files (e.g., CPKs) use forward slashes and are case-insensitive afaik, so I'm interested in the specific crash scenarios here.

#

That is, unless none of them are actually used and the paths break even in the vanilla game 🫠

amber moth
#

i'll check it out now. Sorry, was in the shower.

amber moth
#

this is E096_001 standard in EVTUI

#

trying it out now

#

looks like it loads and doesn't crash

faint plinth
#

👀

amber moth
#

i'll try out other events that have it

#

168_011

#

also works

faint plinth
#

Okay, cool. So what about it breaks when you try to format the file paths in the same way?

amber moth
#

From what I can tell once it tried loading the file it just crashed

#

as in the BMD or bf

faint plinth
#

How did you include the file in your mod / what were the contents?

amber moth
#

For the BMD I tested I just copied the original 481_010 BMD and then renamed it. And for the BF I just changed the slashes and made it all caps.

#

i'll mess around a bit more

#

I see

#

right

#

So when you go to 'save' an EVT. If you're messing with a new EVT you HAVE to also save both the BMD and BF or else it wont create the files.

faint plinth
#

Oh, sure.

amber moth
#

so now this works with the custom BMD path

#

I know thats what it is because I didn't do that with 481_010 and it wouldn't load.

amber moth
amber moth
faint plinth
#

🧓

#

Lol, I meant that as in a "right, that's how it works" way.

#

I would like to make it clearer in the UI at some point when you're actually creating new files in your mod directory.

amber moth
#

I knew that before hand but I just completely forgot about it. Then remembered.

faint plinth
#

I think the way I want it to work eventually is that you have to explicitly create a new modded file for each file type in order to make edits -- and when you do, you also can select the "CPK" folder name.

amber moth
amber moth
faint plinth
#

Does it seem like a reasonable approach?

amber moth
#

Just trying to wrap my head around your explanation. So like how it is now in EVTUI but it's more visible that you are creating it rather than 'saving' and giving more options for what happens with them?

faint plinth
#

Yeah, my idea is that there would be more explicit marking of vanilla files vs. modded files, and you can always see the vanilla files, but if you want to edit, there will be a button that lets you create a modded file from a vanilla one of your choice.

#

This would also let you have multiple edits of the same file for a mod if you have multiple CPK directories that users can configure.

amber moth
#

I see, yeah I agree with that. Would be really cool.

faint plinth
#

You'd still need to save each file explicitly, but it would be more flexible and, I hope, clearer what files you have.

#

Okay, cool femc

faint plinth
#

Got a new branch for adding/deleting assets naocool It needs a little more polish before merging, but so far it seems to work without issue!

#

I also moved around the tab organization a bit because the nested tabs were starting to feel unnecessary. But I'm open to feedback re: what tab ordering (/ default tab to be open at the start of a session) is most intuitive.

amber moth
#

Honestly I feel like it'd be better if the timeline tab was the thing that shows up at session start rather than the basics tab. The timeline tab will be the main thing you edit in the editor. So having it be front and center when you open up the event will make that interaction better I feel.

#

Also on the topic of the assets tab. Can you make it have a conformation when you try and delete an asset (do you really want to delete this?) since I can foresee accidentally deleting assets being an annoyance.

#

And 2 things, when adding a new asset. You can't reposition assets. So if you add a new one it just stays at the bottom. And while I do like how it takes over the number from a previously deleted asset the lack of repositioning makes it out of place.

amber moth
#

About the nested tabs. I feel like now there are too many tabs. I'm not sure why but it feels crowded. I think at least nesting the basics tab in either the timeline or assets tab would be best. Since basics doesn't really have that many things you can change. And like I said before you really wont be editing any of the options in it that much.

#

My ordering would be Timeline>Assets>Audio>Scripts>Render

#

Other than what I've said I have no real issues. Works fine from my testing. You did a great job on this.femc

faint plinth
#

👀📝📝

#

I was especially wondering about the Timeline tab being the main one, so that's very helpful feedback!

#

Lol, and re: the Assets tab organization -- here's a relevant sneak preview of some of my (disorganized) mockups/notes for things I want to add to it.

#

Hopefully the nested nature of Delete would help prevent mistakes, but I can still add an Are You Sure? dialogue if you think that would be helpful. Could do the same for deleting commands, too....

amber moth
#

Yeah I think that works better

#

since that would be a lot harder to fat finger

#

wdym by 'related commands'? Like for example every single MAB_ that character asset 3 is under?

#

if so I'm not so sure. Since that can be pretty catastrophic if fat fingered.

faint plinth
#

It would definitely need an Are You Sure? dialogue, but I'm thinking it would be a convenient shortcut in case you don't want to dig through and find all the commands for that asset manually after deleting it.

amber moth
#

Yeah alright, I can get behind that. Also wdym by IO? I have seen it a couple times but idk specifically what it means.

faint plinth
#

In what context?

amber moth
#

when you ask if you sort by IO by default.

faint plinth
#

(Also, I definitely think bulk operations like this are a good impetus for an undo feature, so I'm actively thinking about that.)

#

OH, that says ID, lol.

amber moth
#

lol

faint plinth
#

Usually IO means Input/Output, so like file reading/writing. But that's only really in the backend code.

amber moth
#

ahhh