#EVTUI (Visual event editing tool)
1 messages ยท Page 14 of 1
start with HP, find what accesses it, use in game mechanics to reduce your party members' hp or the enemy's
compare common values
it's actually in the cheat engine tutorial
yeah lol I've been trying to poke at it for like a year now.
anyway
I still gotta find the template for that struct
I'll let you know if it has anything related to gender once I find it
I'll bet it does since there's enemies that target female members and such
my case is more complex than just a femc jonkle, so im unsure if a 'female' boolean would be enough 
also, the cat icon...
maybe
but in that case it's probably because the code for a female Ren just doesn't exist at all
it expects him to be male
Misogynist Atlus
i mean kap managed to get female equipment working
Do you mean equpping or the icon on the protectors?
considering i know c# im surprised when i remember ive never actually made a pr to this, though i would guess the script info and occasional testing is still really helpful :v
nah its not that
im talking of like, in mine makoto can also wear male clothes, and yusuke female clothes, as well as ann and yusuke being able to wear cat clothes. so yeah i need more than just a female check
well it'd exist for every character, not just Ren
so for most of those a female check would suffice
it even exists for shadows probably
since they use the same struct for battle as the party members do
nah. the male clothes would just turn into unisex icon with makoto in this case
i very want to know how ann and yusuke fit into cat sweaters :V
dont question it
talent
They both become cats
in your mod?
you can probably just edit tables for that
the gender icon is automated
or do you mean you want only Makoto to be able to wear either
Yeah it's about the icons and not specifically having them wear it.
oh
then this struct might not help
since you'd just be making the game think Ren is supposed to wear the female outfits
yeah the wearing is already done, and it makes every equipment unisex in the icon
well changing the struct for Ren would make the game think he's supposed to wear female clothes, it shouldn't change the icon theoretically
that's assuming that the struct's female/male value is what determines what you're allowed to wear and not just enemy AI
there's always the possibility there's another value somewhere else used for the outfits
Female protagonist mod made it so the 3rd will seed enemy can target joker (which it only targets female party members). So maybe you could look there?
currently I'm trying to find a way to get a struct for at least one of the party members from the SP/HP updating functions
but all the functions that reference it use local variables so it's tough
damn
is there anything that'd be hardcoded that uniquely accesses one specific character...
hrmm
and the reason I want that is because once you have one, the others are usually close by
and if it's static, it becomes a very reliable way to find the address during runtime
plus it can point me directly to the struct to test values with
Maybe the akechi party switch from sae to 3rd sem? idk if that's hardcoded though
they use bitflags for party members though don't they?
akedgy behavior is a butflag
what about lick behavior in kamoshida fight ๐ญ
idk if that'd help lol
they might just use a local variable to check whether a party member is female again
since you only have Ann at that point anyway
without mods
and locals don't help me that much since they're stored in registers
so it's very temporary
buttflag? 
im pretty sure its hardcoded to ann specifically
in the flowscript
not in the exe lol
in the context of p5r modding
hardcoded means your mom
if its in flowscript it is by definition not hardcoded
though
i meant that it checks a specific id in the flowscript
that does make me wonder
can flowscript get me the address for a specific party member
yes
that might work
๐ค โ๏ธ
which one returns the character ID again?
I'm gonna attempt to follow the logic of GET_PARTY
that will probably get the party member's id from the party index from 0 to 3
oh speaking of akedgy actually, special action prompts
sumire and akedgy have fallback prompt dialogue if you have them in party since theyre not supposed to be there for any special action, for sumire it just plays ryuji dialogue while akedgy has voiceless dummy dialogue
which should I use then?
the more direct the better since I don't wanna go through like 50 function calls to find the address
idk the specifics of what you are doing. but considering how its implemented in the flowscript, it most likely based on your active party... meaning that joker should always be 0 in theory
fair
joker's actual id tho is 1, 0 is 'none'
I'm gonna read SET_ITEM_NUM first to see where in that struct it calls the set item num functions I've already identified
should help
probably just because all integers have to have a 0 value
does GET_PARTY let you do anything with those party members btw or does it just return an int
its get so it just returns
you use PARTY_IN() and PARTY_OUT() for changing the party
this isn't related
but it does help me determine what the actual function I'm looking for may look like
๐
though idk how much that'd help
but we'll see
it might
hopefully this won't be too hard to figure out
btw anything with a question mark is my own assumption and not something I've confirmed yet
That one's correct. It's getting the arguments. (In this case, argument 0)
yeah I just assumed it since it's in every single flowscript function I've checked
but you can only get so much from static analysis
anyway I'm guessing that array might be what I'm looking for?
well one neat thing
party member structs are not stored in pointers for some reason it appears
they're all static
ofc I still need a pattern for stability but it should be easy to find
I think I found Joker
now I can look through references
the struct for characters is very large
so I'm gonna look for booleans and try changing them and see what happens
or rather, bytes
and just looking for lower values
if its only a number or another its boolean enough for me
...nice
I'll have to mess with display types since rn it's at 2 bytes and lower values like booleans would only be one byte
straw
interesting...
why the render discrepancy from render to preview tho 
... that was the last straw...
Hot drink with a straw!? We NEED to eat the rich ๐ค
Huh......
~~makoto's already on it ๐ซก ~~
It's probably something I'm doing with transparency / materials in the render specifically... but I thought I was doing the same for both things 
still missing the orange juice
If there's OJ in there, it might be an animation or something ๐
is it? i just placed this asset raw in there, and the game is loading the orange
Locked her in ๐
Man, I do not understand why the wall texture in Shujin looks so wack.
She took lock in literally
Pretty sure it's just the UV on the wall being broken.
she's in gay baby jail rip
Probably, but not sure where the UV bug would be, and why it only seems to affect these walls. I guess in how GFDStudio parses it?
If you load a Shujin field with textures in the actual GFDStudio program, does it still look like this?
one sec
looks like it
why there are a bunch of microwaves and ovens on the wall

So basically, you can have different textures on different UV maps (UV0-9). And I guess for some reason GFD can't display UV2 correctly? Because the detail map was on UV2, but switching it to UV1 fixes it.
it was not scaled up by the looks of it
thats why so many squares, those are for windows and stuff
I guess it could also be a broken UV2 on this specific model. But idk how GFD handles different UV maps
This tool is so helpful, just want to thank the creator for saving me so much time
i have done so much in 3 months with this
this is not counting the small changes scattered everywhere that i used evtui for
โบ๏ธ
Ive been using it to arrange scenes before modifying FBNs, it makes it so much easier to know the coordinates you want and be able to preview it
Ooh, that's a cool use. It also makes me want to hurry up and get a release out so I can justify working on a dedicated map editor ๐
Oh yes please! I would love that especially with some of the plans I have
Even at the moment it makes stuff like this super quick
Well, compared to what I was doing before
excuse me gru?
Unrelated mod lol
why is he in a hoodie
add the one that turns the twins into minions B)
I plan on changing out the twins for a new velvet attendant, Abigail
On that note, I hate the title screen camera because they exported the GMD as just the camera so it just makes it uneditable in blender.
How so? I edited it before
I mean it is technically editable. But you can't export it
because the armature that generates from it doesn't have any bones
Garfield
no the camera
Oh Im stupid
Also, damn, I never would've figured this out. Good find! Now to figure out the best way to implement this in the patch ๐
Yeah, they exported the camera GMD without any bones, so then the blender addon can't actually import it correctly so it can't be exported.
Thats... irritating
same, but wetter ๐
np, idk if it's just UV2 that has this issue
I feel like I should take over the Blender tool maintenance at some point, honestly... I know Pherakki's code well enough, just been slow to understand how modeling stuff works.
I see these setting for In editor playback... does it work currently?
It displays some different (darkened) coloring for the frames prior to the starting frame. But since there isn't really "playback" at the moment, that's all it does for now ๐
Ah got it
Hmmm, GFDStudio doesn't really... have things in terms of UVs??
It has TextureMaps and TexCoords... but I don't know what actually corresponds to the UV maps in here ๐ฅ
I think TexCoords would, wouldn't they?
either that or it's an offset
regardless it's easier to modify the UVs using blender anyway
though for your purposes ig that won't do
Indeed it won't...
well it's gotta interpret UV maps somehow
Surely ๐คท But it's going to be annoying to interpret, given I still don't understand model stuff that well.
Welp... bet it's something to do with this
(GFDLib code on left, Blender plugin code on right)
It does have up to 2, I suppose... but it's missing a bunch of the texcoords (UVs???) that Blender has....
This might merit a help thread ๐ฅฒ
Eh, scratch this, I was referencing the ancient version of Blender GFS I have locally, lmao.
So I have no idea what the issue is. I'll probably make a help thread tomorrow if nobody around here can crack it.
(Made the thread~ let's see how far we get ๐ฅฒ)
Wish I knew how to help
You pinpointing the issue helped a ton! I wouldn't even know that much without your help.
But I want to help more
Maybe being able to read GFDStudio code can be your final motivating push to learn coding ๐
so true
Where would I look for the rendering?
I assume GFDLibrary.Rendering.OpenGL?
I've been looking at the Material and Mesh and TextureMap files in plain GFDLibrary, but it's possible the issue could be in the OpenGL parts of the Mesh/Material code ๐ค
Could it be this? I'm not sure if the matflags are specifically the UVs but theres only two which would line up with what we've been seeing.
oh right let me check if it's just UV2 that has the issue
I think those are just two groupings to accommodate the many material-related flags (see the matflags in the base Material code), but that seems like the type of issue we'd expect to see. Good idea checking other UVs!
They need to be imported from the relevant texture bin.
the textures are stored seperately
oh i see
Yeah, I can record how I do it in a sec
So apparently it looks like any UV above 2 seems to make the GMD file unopenable.
In a similar manner to empty meshes.
@faint plinth
well not similar in this case, since those have a different error.

I definitely haven't seen any references to texcoords or whatnot beyond 2, so that tracks.
Node attachment...... hm...
Semi off topic this is actually something that would be cool to add as an error to the blender addon. Since if you're doing heavy model editing it's pretty easy to accidentally create an empty mesh. And if you haven't experienced it before theres no real way to tell what you did wrong.
Might just be that it doesn't know to read ones past 2, so it throws off the binary reader offset.
That would make sense
But yeah, better handling of that sort of thing in the Blender tool would also be nice.
Might be worth making a thread for collecting Blender tool improvement ideas / bugs, whether I have time to fix them soon or not ๐
Hmmm, looking at the Blender code, it doesn't look like exporting beyond UV2 is actually supported...? So that may be the source of the error here.
That still doesn't explain the UV2 issues for GFDStudio, though.
weird
I mean I guess it does make sense because im like 90% sure the only things that use UV 3-9 are fields, which have been barely touched by modders.
That makes sense.
In the same way cathrine isn't supported by both of them because no one actually cared enough (learned that the hard way).

Okay it kinda is supported, but barely.
OK, texCoordChannels are what we're looking for I think, so I'll tinker around and see if I can break anything in a way that generates any leads, lol.
I wonder if this at all relates to floor textures not displaying properly in GFDStudio, too ๐ค
What floor texture is it?
You can see it in that same Shujin model. The floor is kinda visible but super dark. Before I figured it was a shader thing, but ๐คท
Yeah it just seems to be applying the 'night' texture fully for some reason. As removing it makes it look fine
Huh 
Wish I understood shaders better ๐ฅนBut I guess I'm learning it all now by necessity.
true
from a distance this looks like a stone wall
Now I'm wondering if this is all just like. The shader only using UV1 or something.
No, I put the night texture on UV1 and nothing changed
Was the night texture not already on UV1?
Truly an enigma
This is probably just a skill issue re: working with shaders, tbh.
Huh. It looks fine in GFDStudio on my end? Was there a regression at some point?
might've been. I'm using 10.2
@faint plinth looks like you might have a new lead
Might've been the metaphor stuff that caused it
Oh fuuuck
What version are you on?
A huge lead 
hello! i apologize if this is better suited for a help thread in #1045463242765504552 , and if it is, ill gladly post my problem there, just let me know 
im using EVTUI to make a custom event and for some reason, the MMD_ command isn't working as I intended it to work. the plan here is to make joker walk from coordinates (130.0,1700) to (170,0,1380) to then (100,0,1153). as far as im aware, the coordinates are correct as i tested them with the render (as seen in the image), but for some reason after adding the MMD_ command, he starts walking to another point. i've checked the model tab and there isn't another position command which could cause this. i attached some media to better visualize whats happening
if anyone could pinpoint what im doing wrong, it would be a huge help. thanks in advance!! ๐
Omg... he moonwalks away ๐ญ
Well, nothing is obvious to me here, but a few things:
- The coordinates you mention vs. the ones written on the images are slightly different. Is there a reason for that?
- What do the positions you want look like in the editor when the camera angle is as expected, rather than... seemingly flipped around?
Another thing is it looks like you're using a version from before some recent rendering improvements (i.e., Joker's kinda balding in some shots) -- it'd probably be worthwhile to update. I don't think that'd be the source of the issue or anything, but the more complete field rendering + reduced z-fighting + faster loading will probably be worth your while.
I fixed it. And it's so stupid 
This fixes so many texture issues I didn't realize were even related, oml ๐ฅน
Okay so I don't know if this is as stupid of a question as it seems to me (and I apologize in advance if it is) but whenever I make edits to the dialogue the changes are not present in game
Am I doing something wrong?
Are you compiling before you save the BMD, and making sure the file in your mod folder has been updated?
You compile with the little wrench correct?
Yep!
Should be, I will try it and make sure its updating the file in the folder
Message stuff can be kinda wonky and unintuitive at the moment. I'm hoping to overhaul it soon to be a bit more robust ๐
Okay, the file has definitely changed so I will test it again
Oh don't worry I understand I am working with unfinished tools
Lol, yeah, but even relative to the rest of the program ๐
Its working now! Thank you so much
Yay! 
Fem Jose... ๐ฎ
Oooh!
I still want Jose in the game so she replaces Caroline
She will also drive the Phantom Theives around Mementos instead of Morgana
I see, she's the new Velvet Room attendant you were mentioning?
Nope, I haven't fully decided on how to go about her design
Specifically the hair
Might take Inspiration from Labrys actually
Dang, you're adding a lot 
Basically, what if someone else was chosen to be the Wildcard
P5R already has enough plot holes that I can get away with a few of my own
Well its late and I did a good bit today, thanks for the help
lol
I was testing remote streaming to my phone :p
For some reason the display was set to 3840x2160??? Tho the culprit is the 300% scale
Considering how windows messes up my apps when turning off my pc monitor, it might be having these settings as the deafult ๐ญ
ah sorry about that!! it was late for me when i was testing, so i must have been drowsy and mistyped the coordinates ๐โโ๏ธ
the camera angle settings seem correct, as the positions are the same as seen in the renderer (with the exception of joker being rotated to his left). what puts me off a bit is the field's position not being the same as seen ingame (like you can see in the video, the field is shibuya's central street, with the characters being positioned in front of the library and the vending machines) looking rotated instead
i tried playing with the FS_ command's settings, changing what the base event had for all zeros, but nothing happened
huh, thats weird ๐ค i updated it a bit ago with git pull, but it says Already up to date.
but to be honest im a total noob with git stuff so i might be doing something wrong, ill look into it, thanks!
Oooh, the lack of field positioning in the preview is probably also part of it, if you're using anything but zeroes there. That should also be fixed in the latest version.
If it's not updating for you with a pull, possibly you're on a branch other than main? The simplest solution may just be to reclone EVTUI entirely, tbh. Your user data is stored elsewhere and will persist.
wait is it

indeed
AppData\Roaming\EVTUI
what about it?
thats where the data is stored
:oooo
I think her question was about field positioning, not the appdata. But it was sort of ambiguous lol.
damn
:3c
Yeah the fix is very funny
I'm hoping to merge the fix sometime today with a few other miscellaneous changes. Namely... I want to figure out how the hell Mona's metaverse animation IDs work, because they're apparently hardcoded similarly but also differently to the other PTs 
if you do i'd have to end my break on the spot (i wanna try out mona's facial animations so bad)
his body animations tend to be really over the top, so the subtler expressions rely on his bigass face being front and center
Oh, the facial animations are still only kind of working, for unrelated "material animations are not understood" reasons.
His big expressions should mostly work, but good point that he's not visible in the preview ๐
(short king...)

i think being able to move the preview camera would be best for future proofing
this reminds me
i should do a custom base animation id with the most animations i can find spread around randomly for each character
I know... I was struggling to get any responsiveness to scrolling gestures when I tried it a few weeks back ๐ญ
this way i can not have to worry over searching for exts when i need something
plus it makes the process smoother
Or to just like. Any gestures at all. RIP.
you have to hold shift and scroll
That wasn't the only one that wasn't working, but maybe I'll try again with that...
like, can yall believe that the extremely common 'take phone out from pocket, mess with it, put phone back on pocket' animation is per-event???????
Lmao, that's wild.
yeah
there must be some pretty cool anims i could implement in my own events if i had them in one place
theres lots of cool beta ones
where do i get the beta files
That'd be this one: https://archive.org/details/Persona5-Dec4th2015-ZeroSectorErrors
sigh... bye bye games im not even playing
half correct
theres also the 2016 one
Oh, did we get a dev editor in another one...?
Well they both have the same capabilities, just that 2016 also has different assets.
Ah, gotcha.
I haven't looked through all of the differences, I know lavenza's model is slightly different.
2016 and 2015
(what was i expecting from torrents of beta builds)
real ones download the zip
might as well help spread my seed
maybe
...although debugging field UVs actually made me aware that UV animations are a thing, so between that and DrawMode, I have a few more leads now to getting the rest of his animations working....
Also, this is making me wonder whether I've implemented the offsets for field objects correctly re: the field itself being offset ๐
Trapped forever behind that door...
this door would offset together with the field?
If it's a field object, I'd assume so. If it's an item, then no.
Field object as in, one that's not called explicitly but is referenced in the field model and loaded automatically.
I assume his chair is explicitly loaded?
i see! ill try it out, then. thank you once again for your help ๐
id also like to thank you for making this program, since its been a huge help for making custom events
good luck on the developing!!! its awesome so far
this is the only other noncharacter explicitally loaded
Thank you!! I'm glad you've been able to make use of it ๐ Hopefully now we can get your issues fixed, one way or another ๐
Hmmm...
floating ann and morgana
how the preview should look like (the + and - are swapped)
Oooh, interesting 
That may further explain NERO's issues...
y = 10 is actually moving the field downwards, while in the preview it moves upwards
and by the looks of it z is also inverted
Gotcha, field positioning is flipped...
and yeah the chair is supposed to move with the field
I guess the desks and stuff are?? In the field GFS directly???
the plants for example have the same issue as the chair
Oh, that makes much more sense.
I was baffled by nothing else seeming to be a field object, lol.
oh technically these arent the plants, but the stick used to give them support

she aint growing bamboo
Okay, so added to the TODO for merging later:
- Invert field positioning (EDIT: including yaw, but pitch and roll are unused)
- Move field objects with the field
Oh, what about rotation? Is that also inverted?
on it
๐ซก
pft
its like those uncanny images that stuff looks recognizable but you cant really recognize what you are looking at
oh the buildings in the background should probably rotate too
uh....
looks like roll is not used
Huh, I figured those buildings were a subfield, but maybe they are also field objects...
No roll?? Huh...
so if i ever want to make like idk an event with shido's boat tilting, i'd need to do camera tricks anyway since you cant tilt the field
Seems like it ๐ค
Although I'll try to verify that with existing events.
I wonder... if you check Unknown #1 (in the FS__ command editor), does that allow pitch or roll? Or anything else?
nope
Lol, okay. Thanks for checking.
Fwiw, based on the preceding discussion, it may be worth waiting until the next update if you're working on an event with an offset field ๐
you can just pick your offset like you want in the preview and invert all of it for it to look like it ingame
ohh alright, will do ^^
I also need to figure out why the render responds to scale like this...
What's the setting actually called again?
Is there a way to play through events in the editor or is it just editing and viewing for now?
win10: scale and layout on display settings
There's no real playback yet, no. Hopefully soon ๐ The full scene render is quite new.
Seriously awesome work so far
Looking forward to seeing how this progresses, makes me wish we had something like this for The Royal Project
Thank you! โบ๏ธ Better late than never, but it does make me feel bad for some of the more ambitious projects that came before, haha.
Okay grandma lets get you to bed
barely an inconvenience

Lmaooo...
then haru turned into a power generator funniest shit i've ever seen
(is that what these things are???)
I thought they were air conditioners
๐ค
makes more sense i think
you leave that outside
Mm yeah
wait but arent these air conditioners?
The school is fairly big
deadass i think thats a power box at least
you're a power box
nuh uh im gay
Thats not mutually exclusive
it is, 'cause boxes have straight edges 
and curves

a way to highlight all mab_ with assetid 6 would be nice
unfortunately a ctrl f would have to be more involved because of the nodes formatting
I've been thinking about doing something for that... like, having an Asset ID row within each category row on the timeline.
[Go to message!](#1216244753239248976 message)
I've been thinking about doing something for that... like, having an Asset ID row within each category row on the timeline.
[Go to message!](#1216244753239248976 message)
it did twice
...why did it copy twice...
Well, whatever, lmao. Point being: I have some ideas, but it'll take some UI shenanigans.
a 'replace all' for certain values would be useful for big events (i can just edit the json for these cases for now)
Search/replace is also a Nice To Have I've mentioned... a very long time ago, but it's on the proverbial list.
Someone
uuuuh joker thats not how you hold a phone
he's flexing
What have I done...
that should've been shadow sae's boss form lol
these beauty standards are getting impossible lately 
Oops lol
you're just not trying hard enough
anyone can get a giraffe neck with some exercise
Note: do not click use common animations for sae
lol
maybe she's related to Aigis
this happens for most characters
loading wrong animations in general caused many giraffe necks
Yeah, shouldn't be surprised
maybe they all are related to Aigis
honest question: does she have clothes or is she like a pokemon in that this is part of her body?
Yes.
the ribbon and uniform hide the giraffe neck
but without it, it's a lot more obvious
It looks so wrong without the ribbon
also is her skin realistic? where it looks like a normal human would have fat, is it soft?
idk if they ever specify it tbh
idr
I would assume no
i dont think they specify most of the weirder things here tbh
a Kirijo scientist got horny? idk
humanity in a nutshell
the limbs seem to be different from the torso though at least
why the fuck they went ultra realistic everywhere but the limb joints?
answer: it looks cool
I mean she got her mind from a little girl so... idk
rule of cool
did she?
oh so like Halo logic
Not a person lol, was an old site that people would post memes to (hence the name)
It's been down for years but gifs probably got reposted from it to places like tenor while it was still up
I thought that the personality just came naturally from the materials they used
(i know its a site i was joking. but good to know of its history)
I have seen P4A's story, but it's been a while
so idr details revealed in it that well
i have yet to play it
It gives a lot more info on that whole project
all I know is that they turned Akihiko into an absolute chad
man be dodging bullets
literally
that's his intro
turned?
which one was first, pq or arena?
blame pq then
PQ isn't canon arena is
but for some reason they flanderized every character there
Oop LMFAO ๐ญ but yeah I actually used to have an account on it even wayyy back in the day (made it back in 2013) so I've got memories of it still lol
In arena only Akihiko really
PQ2 is canon I think, but yeah they probably retconned PQ for it
it's in a weird state of being inconsequential though
does it matter if the qs are canon if no one remembers?
they like doing that
I think the only spin off that actually matters to persona lore besides arena is dancing
Strikers maybe
(Strikers is a sequel, not a spinoff)
Ah true
sequel off
it's a spin off in gameplay, but a sequel in story
I haven't played tactica game since tactics games were just never something I was super into
finally ๐
Anyway state of spinoffs aside I now have to figure out how I want this new scene to go
And learn how to make characters walk
make it gay idk
See if you have the same issues with character movement that NERO has been having ๐ฅฒ
Redoing the Joker introduction to caretaker but with sae in her apartment
I like Sojiro but think that the cut idea of joker living with Sae while she is trying to catch the phantom theives is super interesting
if you dont plan on using leblanc again, i'd recommend just turning its field into the niijima apartment one
there is a lot of stuff that calls leblanc that would be hell to hunt down
which issue?
[Reply to:](#1216244753239248976 message) which issue?
hello! i apologize if this is better suited for a help thread in #1045463242765504552 , and if it is, ill gladly post my problem there, just let me know 
im using EVTUI to make a custom event and for some reason, the MMD_ command isn't working as I intended it to work. the plan here is to make joker walk from coordinates (130.0,1700) to (170,0,1380) to then (100,0,1153). as far as im aware, the coordinates are correct as i tested them with the render (as seen in the image), but for some reason after adding the MMD_ command, he starts walking to another point. i've checked the model tab and there isn't another position command which could cause this. i attached some media to better visualize whats happening
if anyone could pinpoint what im doing wrong, it would be a huge help. thanks in advance!! ๐
[Go to message!](#1216244753239248976 message)
bruh
remove bezier curve @open crown
for mmd to go to a specific location, you have to use linear
Quick question, is this the destination or where they start?
destination
they start where they are atm
Oh, really? What does bezier curve actually do, then??
bezier takes the destination you input and creates some formula logic, aka it's not actually where you want to go, but part of some weird thing
basically iy does this, but the p2 for some reason is not the destination you input. i haven't done any maths to know where that is being fed
the moment i saw the issue i was going to isntantly ask the interpolation type
Damn, I figured it was just interpolation between frames, not literally making the path completely different ๐ญ
yup its dumb
I wonder if it requires at least two points in the path to work correctly...
tactica main story is meaningfully canon afaict, dlc not so much
bezier curves are handy for animation though since you can customize them pretty easily on a graph
and linear interpolation is not the most natural looking thing
could be good to test this
I might also be able to see this in the beta editor ๐ค
Huh, okay... the beta editor shows three points in the movement for a bezier curve for every one point shown in a linear counterpart. But how those three are calculated from the inputs, I'm still not exactly sure.
this is being hell 
So... slight issue
I know you said the script editor was WIP but it keeps deleting large portions of the script
never had this issue wth
Is it just not actually saving your script?
Nope, it wipes the whole thing past a certain point
Okay, that's a new one 
are you doing a new event?
okay then idk what is happening 
did you click on the wrench at the top left and then hit save
Yep
I never closed the editor I dont know why this happened
No idea how this one would be happening ๐ฅฒ
damn
Second time it happened to me, at first thought I had done it accidentally
When have you noticed it happening? When opening up fresh, or between switching tabs...?
Switching between tabs
Hmmmmmmm.
Well, I'll look into it ๐ฌ Sorry, that's a pretty nasty bug to run into. But thanks for reporting ๐ซก
Np, I thankfully hadn't gotten too far into the next part of my script
no chance of another program overriding this? like a notepad left open?
I don't have it open in another program
yeah i have 0 clue how this is happening
ยฏ_(ใ)_/ยฏ
btw whats your OS?
Windows 10
cant be that then
Anything showing up in the logs? Should be in the EVTUI appdata folder, but it gets overwritten if you've started a new session since then.
I guess the way to debug is to switch back and forth 'til I see it happen...
I have unfortunately started a new session
talking of losing progress, this reminded me i should probably backup my year-old mod in the cloud
(i already lost one like that for another game
)
I lost my first SM64 mod, kinda sad about that now
i wonder how long its been there, surely serious data loss like that would be caught sooner if its been doing that for a while
i say like i had any chance of personally catching it even though i always use emulation for everything
well this uses emulation
Maybe it was something I did but it's happened twice and I don't know the cause either time
oh
you do get a lot of these errors because it doesnt do hooks tho
however it worksโข
tbh i havent even bothered using the script tab 98% of the time because it just does not mesh all that well with an emulation workflow in its current state
mostly i just pull it up when i need to see what the flowscript/messagescript looks like but dont rly use it for actual editing
if im understanding right it sounds like its writing the entire flowscript to the .flow file in FEmulator/BF?
which definitely would not work but is consistent with the behavior ive seen with messagescripts, which similarly write the entire file instead of just new + changed messages
(i cant remember if ive ever tried saving bf through evtui, i definitely have tried bmds though)
it works perfectly fine, just spits errors
wait im just noticing the two screencaps arent even referring to the same-ass event
i wasnt trying to show the same
same thing
i dont understand what the behavior youre reporting is
just the error in the log lol
it worked!!!! thank you so much ๐
may your yuri crops be plentiful
duplicate procedure declaration is what it sounds like, youre trying to declare two procedures with the same name which isnt allowed
in an emulator context id typically expect this to happen if the mod's .flow has a procedure incorrectly named ProcedureName instead of ProcedureName_hook, but if evtui is just straight writing the entire flow then thatd do it too
yeah thats what i said
it just makes the files themselves without hooking
its good for new events tho
yes, and i was asking to confirm that i was understanding the problem correctly
its kinda ๐ญ when i think about it, cus im realizing with wrong bmd emu behavior the file should still build but be wrong in a way that defeats the point of merging whilst wrong bf emu behavior will just die entirely
From that description it kinda sounds like they might have kept it working the same as it did with PMD's then...
(For reference the way it works in PMD is that they use 3 (4 for the very first plot/position in a curve only) values for each plot, with the first two basically being positions to interpolate towards during the curve and the last being the destination)
I could be off-base tho, no idea if they did or didn't change anything for EVT lol
(also it occurs to me, for non-emu usage does it have a copy of the uncompiled edited msg/flow on hand somewhere or does it re-decomp...)
It has a working directory (separate from the mod directory) where it keeps decomped files, but they don't persist when you close.
ah
Same with compiled files if emulation is switched on. Those are kept to the working directory.
i c
i dont think its common but comp/decomp mistakes do happen so repeatedly re- and decomping the same file could lead to photocopy-of-a-photocopy type issues
(also rip if somone uses a switch statement and no emu)
Best I can figure for this is it's some kind of concurrency issue that's cutting off the string in the process, but also IDK how that would work, since that's usually only an issue with concurrent file streams, and switching tabs shouldn't involve any I/O....
(you can use switch in flowscript but it looks so ugly if decomped)
I'll just be careful from now on and be sure to send in a log if it happens again
I still wouldn't expect that to happen while it's open, though, since the string to be shown in the text editor is kept in memory and compilation is mostly for other things + validation.
i know, im thinking of the case of if someone closes and reopens the event
Yeah ๐คท Not sure if there's a good way around that, except to maybe keep a decompiled copy in the mod directory alongside the compiled version. And only start from the compiled version if it doesn't exist...? But my concern then would be that it could be misleading in some edge cases of how the decompiled version was last edited.
I'd be up for workflow suggestions, but there's not a super obvious best practice that wouldn't have some pitfalls.
(Workflow suggestions specifically for the non-emu case, that is.)
i feel like for non-emu, compile and save should just be one thing
True, the saving step requires too many clicks.
for emu having compile separate makes sense as a validation feature so you dont have to boot the game to make sure the file will actually build properly (though should prob still clarify that it doesnt actually write to the mod's .msg file), but i dont think its all that pointful for non-emu since theres no reason to save anyway if it doesnt compile
You are a madwoman (affectionate). Lmfao.
you never called me a madman 
you're a mad pigeon
Don't worry, you're a madman (affectionate) for sure ๐
lol
But yeah, I plan to fully change the design of the scripts tab, because there's just no version of the current layout that could accommodate everything that needs doing.
Minimally, some kind of side panel that shows the different versions of each file (compiled/dummy/decompiled) and lets you view how the scripts will look after any merging, makes compiling/saving more clear, etc.
dont forget the yuri button
actually, speaking of emu, im now having the thought of like two textboxes where one is a (possibly hideable) read-only copy of the original decomped flowscript/messagescript (if there is an original file), while the other is initially empty if you havent yet made a file in FEmulator/BF/FEmulator/BMD but is where you can put your function hooks/new functions/new messages/changed messages
and then hitting compile (if we're keeping it to use as a validation feature) saves the latter to the working directory, then runs TryCompileWithImports using original file as base and working directory .flow/.msg as an imported file and tells you if compilation succeeded
(if were using compile that way, actually, would it be worth also writing the edit file to FEmulator if compilation succeeds? i can see the utility of saving without compiling just so you have the edit file on hand in a place where it needs to be anyway, but is there a reason to compile and not save...?)
honestly, who needs a break?
i have yuri waiting for me
Failed to close editor window due to unhandled exception:
System.Collections.Generic.KeyNotFoundException: The given key 'EVTUI.Views.EditorWindow' was not present in the dictionary.
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at EVTUI.Views.LandingPage.EditorClosed(Object sender, CancelEventArgs e) in C:\Users\coder\Desktop\p5rmodding\EVTProgram\EVTUI\src\gui\MainWindow\LandingPage\LandingPage.axaml.cs:line 151
oh yeah happened when closing it for the day
Bit janky (and writing Sae's dialogue is quite difficult) but good for the moment
Something along these lines, yeah ๐ค
It might be worth saving on every successful compile, tbh, but if there's different behavior on a failed compile, I'm not sure how to clearly communicate that.
i guess the read-only copy of original script isnt required but would def be a convenience, particularly with emu since if youre hooking a function then you probably want to copy-paste it into your import file
for a failed emu compile i probably wouldnt want to write that to the actual import file in FEmulator since i know for a fact it wont work
unless ig i was fine sticking a broken file there for now with the intent to fix it later
tho if i already know its broken id prob just save without compiling first
idk. maybe there could be a popup on compile error like "this file doesnt work, save anyway?"
actually, thinking about this, being able to manually save the uncompiled edited flow is prob useful regardless of if compilation works, so that you can come back to it if you close and reopen without compiling and your changes are still there
I def want a read-only version of the original to be available, whether at the same time or not.
You mean in the non-emu case? Or effectively keeping two decomped versions around--one that's the actual latest but broken, and one that's the last version that worked (and is presumably the one in FEmulator)...?
in the non-emu case yeah
Gotcha.
Hmmm... not sure where would be the best place to keep it.
Or just give the user the option to save it somewhere, maybe ๐ค
it could just be in the working directory still, though if the user needs to find the actual file that might be a little out of the way
(and ofc if theres unsaved changes then give ye olde "save and close/close without saving/cancel" prompt on close)
(i guess that applies to other things too lol)
Well, the working directory gets wiped between sessions, so it'd need to be somewhere else to persist ๐ But having an optional persistent cache like that isn't a bad idea.
Hm, hm, having a cache in the appdata for storing copies of the scripts that you don't actually want in the mod folder ๐ค Or maybe a user-defined path for keeping drafts, so they'll show up in the editor but be clear they're not the ones in the mod? Hm hm hm....
That would be handy
Yeah ๐ค ๐ค ๐ค
Maybe even just straight up keep a "Drafts" directory on the same level of the mod dir as the essentials and femulator folders, lol.
if you want user to decide path but dont want them to go out of their way to load the file every time then youll probably want to store the path to the saved file in the project config too (inb4 some user has to move it though)
I think straight up a "Save As Draft" option to put things in that Draft folder outside of essentials/femulator may be the way to go ๐
Like, I could have a separate path in the config for that, but... it might be simpler to keep things predictable? Unless such a folder would break anything.
(actually, then again if theres multiple files youd want to do this for then a save and close option might be a pain in the ass)
I think in general there needs to be a way to see much more clearly what files are being saved.
Like, show the files it changed after saving?
Not sure the best way to do it, but probably also that, if not have a more specific list of files that are being saved ahead of time.
i think maybe at minimum list the files with unsaved changes
Unsaved changes would be kind of annoying to track...
Like, obviously it'd be nice, but.
understandable have a nice day
(How would the unsaved ones be shown in the first place?)
as long as the user can find it easily enough it prob doesnt matter too much where, yeah
Just to be sure, name the folder "FOR_THE_LOVE_OF_GOD_THE_DRAFTS_ARE_RIGHT_HERE", but "Drafts" is good too
"EVTUI-Drafts"
Dont want any confusion after all
What is an EH-VEE-TWO-EYE?
Is it an instrument
(How do yall pronounce this? I just think "Eeveetwai")
I just say all the letters, lol.
same
I am incapable of that
My wife calls it "ev-twee" ๐
Based wife
lmao
Why much word if few word do trick
I pronounce all stuff like this in the least amount of effort possible
Why is getting a model to move along with a rotated parent node actually so annoying......
WorldTransform my beloathed 
On the bright side, if I do figure this out, MAt_ previewing should be a trivial extension.
I believe in you ajda
Thank you ๐ฅฒ
mat_ preview would be huuuuge
i spent way too much time trying to get an attached item to look right ๐ญ
Mmmm is this what I think it is?
Is there a way to select scenes to play in game easily?
The test field (I forget what the mod is called)
Yes thank you thats it
i switched to cachy os (purely for the aur) so here's an arch version of the batch script
on arch libvlc-dev is included with vlc and libx11 is needed
sorry use this instead
oop gtk-sharp-2 isn't on the package list but it is on the aur i'll change it to yay
there we go
cachy os has net 10, 9. 8, 7, and 6 we ballin
fedora only had 9 and 8
hey ajda guess what
it was a fedora problem
my timeline is fine now LMAOO
or maybe gtk sharp fixed it
I am banging my head against the wallllllll 
(thank you for the script though, lol)
np
I'll add it to the repo. Also lmao at there somehow being a Fedora-specific UI bug...... why...
because fuck you i guess? lmao
it's probably more like ana valonia bug on fedora
i can make a fedora vm and see if i can recreate it on a clean install of fedora
also these 3 should cover most distros. i don't know of any distros based on anything other than debbian, fedora, or arch
Yeah, that should more or less cover it.
Coming soon... MacOS installation script?!?
(Lmao. No.)
Pretty sure MacOS doesn't even support OpenGL without some serious shenanigans.
Because there's already OpenGL built into GFDStudio, and I'm not about to figure out how Vulkan works when I already barely understand graphical stuff, lollll.
I FINALLY FIGURED IT OUT GRAGHHH
Just create an invisible root-of-all-roots node that's now the parent of all subfield and field object root nodes. And do any translation/rotation on that ๐ฅด
Simple as 
it's a really old version of opengl, they've been using their own graphics api called metal for the past decade
this also means they never supported vulkan
correct
even at the time the dolphin blog post i screenshotted from was made (nov 2018) opengl 4.6 was already out a year before 
i can validate the point of paper mario ttyd being unplayable since I tried that in the back of class lol
LMFAOOO
yeah the bounding box games are few but they bring weak/non-supporting hardware to it's knees fr
at least smash bros melee/brawl worked well, i could upscale those to 2x while playing at full speed
mario galaxy frequently dropped to 50% but i still beat it anyway lol
not surprising, those games are heavy on EFB peeks which tend to be pretty intensive esp. before the dolphin devs did their many different optimizations on them haha
not too surprising that melee/brawl worked well since i don't think they really do much that's impactful (brawl does have a few effects that took a while for dolphin to emulate right but melee had basically no issues for most of dolphin's existence since its really not too complicated and also it's melee lol)
(the most insane part was that i had the wiimote bound to IJKL)

not even using a mouse... scarey...
(though going by you saying "in the back of class" then you were probably on a laptop or something i assume so a trackpad would've been not much better lmfao)
Looking through field init scripts for figuring out how resIDs work and re-discovered this instead... I forgot about this evidence of an earlier version of the Akechi confidant where even Rank 1 doesn't seem to be automatic (or, at least, not automatic from the original scene) โ
[Royal Restoration Project Intensifies]
(The event doesn't actually exist though, obviously
)
mmm it might be hard to implement
ehh
disabling the first rank up shoildn't be hard
I was joking, because this is all there is left to go on, lol.
It would be fully conjecture and an original event.
yeah lol i feel like it wouldnt be worth it anyway
No sheets ๐ญ Bro......

shame they cut buying sheets
My beloved PQ sheetsโฆ
can you be a demon in the sheets if you have none?
wait are these the scrapped room decorations
another thing for me to add...
The script for spawning the catbed was still in iirc, just not called
I assume itโs still there in P5R
And I think one of the cat beds doesnโt have collision
it'll be fully fleshed out in p5r but still cut for some reason
Tfw almost all of the the Satanael scenesโ assets were still in the files in base P5
Which scripts spawn in objects like this?
i kinda see why they cut back the decorations, chuck enough of these in and leblanc attic is no longer dingy-ass, but also theyre so cool 
I'm trying to figure out how RESHND stuff works for field objects not defined in the GFS ๐ฅฒ
The fieldโs init script
it's a flow procedure in the leblanc init iirc
i'd say that going out of your way to get these decorations should give you the luxury of a cool room
seriously wtf atlus what are those requirements???
Makes sense. I've been looking at that and nothing has jumped out at me re: RESHND definition. They may yet be hardcoded...
Kichijoji init is crazyโฆ
I swear this reshnd stuff is sounding very familiar
We made a mod way back to add a velvet door right before the black mask boss, and I think it touched on that
Way way back 
tf does reshnd even stand for?
DC was mentioning that, but it seems like the person working on it primarily no longer had the files or anything.
Resource handle!
Resource handle
Yes that would be me 
thats... not a good abreviation methinks
well thats atlus for ya
i forgot his futon is held up by crates lmao
LOLLL, I see.
I think you could specify a specific reshnd in the FBN if it was spawned that way
i never noticed
why doesn't he just put it on the floor... that's more comfortable than crates
OR in a node property if spawned that way
And I assume you remember nothing about how it could be recreated? Figured I'd ask
also it makes fics where joker has s*x on that dinky thing even funnier. that shit isn't holding up
clearly joker can only sleep at a very specific height its just what he's used to
Very cross-file sorta thing 
The FBN is the main thing I was wondering about. Since there are a number of field-related file types that refer to RESHNDs, but none obviously defining them. Except FBN -- I couldn't tell whether it was referencing or defining.
futons are meant to be put ont he ground anyway... unless it's a matress
i mean matresses on the floor aren't that bad either
Defining, I believe
(i actually dont like sleeping at floor level. blame my autism?)
why did they reemove this bro
Side note on the topic of velvet doorโฆ
can someone bring back the room decorations?
@clever talon The Velvet Room math formula
there isnt a mod that does that?
I assume you both talked about it in discord dms right? Theoretically if you both were discussing it, the files could still be there in your dms. Long shot but I just had the thought.
it's probnably too complicated
i dont imagine how it would be
Files might still be around. I can look
fgnfdjignb YES
who what when where why
if i let the r&v folks know they'll want some custom ones for kasumi for sure
sierra
(points ping-blame finger at Sierra) ๐
I was attempting to deal mental damage to you again
(...is using beta assets allowed?)
i dont think atlus will particularly care
also i dont think beta has any unique assets aside from 2 or 3 things
most of them made it to retail ps3
nah atlus will deploy an atomic bomb right at the location of your computer
lavenza is different
well yeah, and ryuji's shirt
but most of the stuff made it in in some way
even stuff like beta anims
akechi's are still in p5r for example, black mask still has some of them
(the enemy)
4 whole years ago
and you couldnt find them when i asked
You asked????
YES?
WELL THERE THEY ARE NOW
I'm simply way better at asking
delivering a pipe bomb to DMs
Well the greater good has been found so atleast that outweighs the bad
Remember the Velvet Room entrance math formula
dont they have like 5 variations of that thing
depending on the facing angle of the door

So the context is
Have you ever wondered how the game knows where to put you after you leave the velvet room?

i was thinking of the math they do for the cutscene to position joker before entering
also sierra i found something incredibly cursed again while looking for that
you know how the game has confidant NPCs?
the NPC on the Velvet Room door is technically the Fool Arcana confidant
which is INCREDIBLY cursed
which means that one is in corptable
Every field with a velvet room door has a part of itโs script dedicated to a big math formula that essentially combines the field major ID, Minor ID, and Entrance ID all into a single number, which is then stored in a count and used to know where to put you when you leave
what the
var40 = ( FLD_GET_MAJOR() * 1000000 );
var41 = ( FLD_GET_MINOR() * 10000 );
var42 = ( FLD_GET_DIV_INDEX() * 100 );
var39 = ( ( ( var40 + var41 ) + var42 ) + var38 );
SET_COUNT( 158, var39 );```
๐จ
var38 is the entranceid which they sometimes assign manually
in this example they set it to 5

yep
It is EXTREMELY annoying and I'm pissed at apple because of it
however m1 and m2 users can install asahi fedora (such as I have) to run any opengl apps however its annoying to need a whole other OS for it....
the worst part about it is that the max version is gl 4.1, so its not like support is missing it's just that all versions up until deprecation are completely absent
so its simply a partial implementation.....
Fields are looking soooo much better now ๐ฅน I gotta clean up the branch, but it should be ready for testing pretty soon.
Holy shit im pogging so champ rn

Anti-alising when?
Jk this is looking great
ajda might die if they have to find a way to put anti aliasing in lol
When I can be bothered to switch to a framework that actually supports antialiasing and other apparently "fancy" features, i.e., not Avalonia's built-in interface ๐ I tried all the usual OpenGL antialiasing tricks but apparently they aren't supported unless I switch to Silk.NET or something similar ๐
So, a bit of a pain, but I'll get around to it eventually, probably ๐คญ
rtx when


I swear, the Leblanc init script doesn't make any sense. Attic events may all look depressing like this for the foreseeable, even if I do get the flowscript interpreter running ๐
There are ostensibly procedures for setting up the furniture in the attic, but so many of them contain dead-end or empty code that I'm fairly convinced it's actually hardcoded....
considering atlus, entirely possible
I think Leblanc and Shujin both are likely to contain a lot more hardcoding than we're even already aware of, yeah ๐ซค
Actually, that reminds me...
wait what
I was looking at F003_102 that's used for certain events (namely cheating events), which seems to just be a Leblanc dupe. It doesn't have its own init script, though, and seems to use the regular Leblanc's (F003_002) files and resIds.
Would this sort of resource-sharing across fields be hardcoded, or stored in a table somewhere? 
if its a dupe it wouldnt need extra stuff
itd just have everything necessary
PS3 had a LOT of dupes, because they'd just take whatever piece of geometry they needed for X event and chop off all the triangles that were not seen on screen
It has some unaccounted-for resIDs that it shares with the main field (64004 and 64005), and I don't know where those would be coming from if not some shared resource. But I could definitely be missing something (or it's a Big H moment regardless of resource sharing).
Yeah, the doors leading into and out the classroom have hardcoded commands that had to be ripped out and then redone from scratch.
i dont think there's any instance of X field loading files that belong to Y
but... why?
Okay, that's good to know then 
we are simply not on the level of comprehending atlus' genius
atlu's developers are an enigma
what you can find is the keyfree system
those reuse existing fields and change stuff
as an example, when Shiho jumps off the roof, that playable section is a keyfree event
but it happens on the actual Shujin field IDs, not different ones
That's true, although I doubt that would affect regular events.

they could be doing some jank like loading a keyfree and loading the event from there
one can never be too sure with atlus
i specifically remember when backporting some p5r events to p5 that some event sequences in the beginning of the game were event calls from keyfree scripts and not from the scheduler
not quite
I think it's also just used to mean "non-event"? Like that's not actually a KFEvent.
there's a flow command to call a key free script
which loads field X but now all of the field's loose assets are instead loading from the key free folder from the key free event's ID
so stuff like the scripts, the fbn file, htb, fnt, etc
im kinda lost on the topic rn so idk if this is what we are talking about? 
yes
as an example
CALL_KF_EVENT( 147, 101, 1, 807 );
this should be the school section during the shiho thing keyfree event from 4/15
is there a list of these anywhere?
There's a bunch of files in FIELD/KF_EVENT/ in both BASE.CPK and EN.CPK, but that's about all you get for documentation here, lol.
Actually, I kinda wonder whether the "evidence" I have of these RESHNDs is just copypasta from a version that would've been in Actual Leblanc....
A Keyfree event is an event where you actually have some control
Like the small part in Jokerโs hometown where you can move him manually
so your keys are free... oh this makes sense
The various field fixes I've been mentioning are in the branch psy/field-fixes, if anyone wants to give it a test before I clean up and merge 
(It very much does require a dependency update because of the GFD patch that fixes UVs ๐ )
did you open a PR for the gfd thing?
No
I haven't done any PRing for it before, since the use cases are pretty different and I often don't know how useful it'd be... buuut this is a pretty simple and objective bugfix, so I don't really have an excuse ๐


(i'm supposed to be taking a break)