#Same flowscript errors every time I recompile
1 messages · Page 2 of 1
i'm so confused
it seems to be working perfectly fine on some days
7/25, yuko and chihiro, both available
i might need someone to test for me, maybe my save files are screwed >.>
like mitsuru and akinari keep randomly having their flags turned on
when they're not available and shouldn't even be available on some daya
if anyone wants to test
i have to start getting ready for work so i'm gonna take a quick break from this
only works for the bedroom and gekkoukan 2-f classroom
i really wish you could set day with mod menu
I think @strange pollen found some way of doing this?
Not practical enough to use for debugging
you have to delete the entire scheduler up until the day you want to go to then load a save
sadge
i guess i just need to find someone with a male save around mid december???
all the saves online are complete game file saves 🥹
can you convert P3P PC saves to P3P PSP?
oh wait the main data file is the same it just doesn’t have the param.sfo data?
lol it literally is, you just need to decrypt
hallelujah
hallelunah actually
it is not that easy, and i am back to square one
i don't wanna assume it just works and believe i fucked up my save file using mod menu, but i'm inclined to believe that now :/
i expanded the list right
to include 3 more names
except it broke it more 🫠
[sel LIST_OF_PEOPLE top]
[s]Hang out with no one? You friendless loser?[e] 1
[s]Hang out with Akinari?[e] 0
[s]Hang out with Mitsuru?[e] 0
[s]Hang out with Yuko?[e] 0
[s]Hang out with Chihiro?[e] 0
[s]Hang out with Bebe?[e] 0
[s]Hang out with Fuuka?[e] 0
[s]Hang out with Aigis?[e] 0
[s]Hang out with Yukari?[e] 0
[s]Cancel.[e] 1
100000001 should equal 257 or 513?
oh wait i had it backwards fuck me
0 is show, 1 is hide
510
quick question
how come when i press back to hit cancel, it never hits the cancel option
why is circle confirm too wtf
and great
1/6 wednesday
akinari shows up
ok aigis working
a binary operator is not a valid if statement?
11/10/2023 3:45:41 PM Error: (4621:0061) A binary operator is not a valid statement
11/10/2023 3:45:41 PM Error: (4621:0058) Failed to compile if statement body
11/10/2023 3:45:41 PM Error: (4546:0000) Failed to emit procedure body
11/10/2023 3:45:41 PM Error: One or more errors occured during compilation!
11/10/2023 3:45:41 PM Error: One or more errors occured while executing task!
knew that adding that was gonna fuck with things guhghghgfhghhrskcfz
oh wait
does || not mean or?
i thought it meant or >.>
ill just rework it i guess
so if || doesn't mean or, how do you do or?
just gonna reply to this so i can easily jump to it later
also is it safe to assume 2008 is the gourmet king considering he's not listed lol
weird
his name is nozomi
not listed
today is 7/24
he's at the mall and i believe ready to rank up
flag 2008 is off
it does mean or; you just wrote your if statements very incorrectly and the compiler's getting getting confused
for lines ~4552 to ~4617 you have a bunch of CMM_CHK_LVLUP if statements which have one too many closing brackets:
if ( CMM_CHK_LVLUP( 25 ) == 1 ) )
they should look like this:
if ( CMM_CHK_LVLUP( 25 ) == 1 )
then for line ~4619 you forgot to close the entire check in brackets for the if statement, which im guessing is causing the compiler to interpret || incorrectly or something
so this:
if ( ( CMM_CHK_LVLUP( var43 ) == 1 ) && BIT_CHK( 1994 ) ) || ( ( CMM_CHK_LVLUP( var43 ) == 1 ) && BIT_CHK( 1995 ) ) || ( ( CMM_CHK_LVLUP( var43 ) == 1 ) && BIT_CHK( 1996 ) )
should look like this:
if ( ( ( CMM_CHK_LVLUP( var43 ) == 1 ) && BIT_CHK( 1994 ) ) || ( ( CMM_CHK_LVLUP( var43 ) == 1 ) && BIT_CHK( 1995 ) ) || ( ( CMM_CHK_LVLUP( var43 ) == 1 ) && BIT_CHK( 1996 ) ) )
you made the same mistake with the var17 if statements after; they look like this in your file:
if var17 == 4
when they should look like this:
if (var17 == 4)
changing those fixes gets rid of those compiler errors for me (although it still fails to compile but i think thats because im not using an outdated/incorrect flowscript library rather than anything else being wrong with the script)
~~jesus christ thats a wall of text im sorry
~~
oh thanks for correcting that
i gotta get good with these brackets istg man
do you know how to make it go to a specific option when i press back @balmy echo ?
also thank you for all the corrections again
that looks wayyyyy cleaner than 3 similar if statements in a row
currently when i press circle to go back, it just acts like confirm lol
so it selects what i'm hovering over lmao
You use SEL_DEFKEY for that like so; the first parameter defines the button that should select an option when pressed, and the second defines which option should be selected by that button
So for example SEL_DEFKEY(14, 4) should IIRC select the 4th option in a selection box when pressing circle
ohhh that's what the 14 is for
oh and it's currently set to 8, which is nothing, which is why it selects the current option 
got it
thanks for that
Np
and uh
it should be safe to leave comments somewhere in the file right
like all i do is put // after something and then i can leave a comment?
i kinda wanna explain what the cmm_get_lvl values correlate to for readability for other people
just because i don't think amicitia wiki has spaces for that kinda stuff lol
i'm still getting the binary operator error like before
nevermind
i apparently didn't fix it when i thought i did 😭
ok we're good lol
Yep 👍
cool cool
still need to program in the night time guys like tanaka and mamoru
and then maya
still gotta figure out which bit flag the moon is honestly
considering he's not 2008 i'm a little confused
ok it's not 1991 or 2002 despite those being missing
and it's not 2008
man how tf do you use imhex
is there a max number you can have for this binary stuff? currently i'm at 131k and wondering if i need to split it between two pages or something
I used an enum that I'd made myself for visible rankup ready for the social link ids so I guess it's just wrong. There's not one on the wiki and I kinda assumed I would've got it right back then (clearly not lol)
The max is probably 32 bits. So 32 options
I think you should be right
i can probably find him really easily one second
24?
that can't be right, akinari is 24
wait
akinari is 25 
so
if i'm understanding this
i've been checking if akinari is ready to rank up, but checking if nozomi is ready to hang out?
and that's why he's been showing up on random days like wednesday 
so i guess that means akinari is actually bit flag 2008
i think at least?
2006 seems to be on on this sunday
despite nozomi not being here 
oh because he's available every day 🥹
so i have to add a check for whether or not you're max rank with him
got it
2008 is akinari, 2006 is nozomi
value 24 is nozomi
ughghghggh why am i getting a billion compiling errors now of all times
it compiled fine before and i cleaned it up, now old stuff is breaking
11/10/2023 5:17:47 PM Error: (4592:0007) Unexpected top-level statement type: CMM_CHK_LVLUP:
11/10/2023 5:17:47 PM Error: One or more errors occured during compilation!
11/10/2023 5:17:47 PM Error: One or more errors occured while executing task!
is this
if ( ( CMM_CHK_LVLUP( 24 ) == 1 ) && BIT_CHK( 2006 ) )
not correct?
unexpected top level statement, what does that even mean
says it's dying at the first bracket
do i only need one set of brackets?
do i need to put brackets around the bit_chk?
no, you don't
literally never had this compiling issue until i changed them to be && bit_chk
do i really have to undo all of that 😔
i wanted to make it nice and clean with no nested if statements
like
what's the difference
It looks fine to me 
yeah same
and like
someone in the server had the same problem
all they said was "woooh i solved it" 
could I have the msg as well pls
I think the actual error's up here
oh
Yeah, line 4588. The first bracket should be {
lol
yeah i knew it was something dumb 
jesus christ
that solved it 😭
you're using that vs code extension in that screenshot yeah?
that's why the red bracket is highlighted?
That was without any extension actually
I guess plain text files have some basic formatting as well 
oh weird
i've been using notepad++
maybe there's a different language setting i need to use besides just plain C
ok that's everyone programmed in, time to test
thanks for all the help so far btw
C should be fine, it'd be the closest to what flowscript is
oop, i forgot to update my math 🫠
ok it should work now
mitsuru still showing up on 12/12 despite not being available 
oof, 12/12 evening still shows mitsuru and yuko
i guess i might need to add a time of day check too
think i might've messed up somewhere
7/24 seems to be working, kazushi and hidetoshi listed
but cancel appears to be gone too
and sel_defkey doesn't appear to be working either
now i gotta figure out why cancel isn't showing up
[s]Hang out with no one? You friendless loser?[e] 0
[s]Hang out with Akinari?[e] 1
[s]Hang out with Mitsuru?[e] 1
[s]Hang out with Yuko?[e] 1
[s]Hang out with Chihiro?[e] 1
[s]Hang out with Bebe?[e] 1
[s]Hang out with Fuuka?[e] 1
[s]Hang out with Aigis?[e] 1
[s]Hang out with Yukari?[e] 1
[s]Hang out with Hidetoshi?[e] 1
[s]Hang out with at the bookstore?[e] 1
[s]Hang out with Kazushi?[e] 1
[s]Hang out with Maiko?[e] 1
[s]Hang out with Kenji?[e] 1
[s]Hang out with Mamoru?[e] 1
[s]Hang out with Keisuke?[e] 1
[s]Hang out with Maya?[e] 1
[s]Hang out with Tanaka?[e] 1
[s]Hang out with Nozomi?[e] 1
[s]Cancel.[e] 0
hm somethingg got messed up somewhere
if i'm understanding it right
is 524286
and if akinari was available, i'd subtract 2
and if nozomi is available id subtract 262142
whoops, missed mutatsu 😅
ok so it's actually 1048574 with mutatsu added
hmmmmmmmmmmmmm
ok so maybe i was wrong about the nozomi flag thing
he is definitely flag 24
but him being flag 2006 is debatable
ok no he's flag 2006, my selection stuff just broke somehow
he is here on 7/24
and when i press square to bring up his names, he isn't listed
this is just like the rest of em
which should be correct
i'm so confused 
all the checks pass right, he is ready to rank up, that is his flag and all
it subtracts his value dropping his spot to zero making him show up on the list
but he just doesn't???????????
i have to take off for work now, if anyone is interested in testing, here you go
nope, still doesn't show up on the list 
everyone else appears to work including kazushi
there's also the high chance that he's just not flag 2006 🤔
i can't look into it right now, gotta leave in 5 minutes
gotta love being at work, looking at this screenshot, and realizing that the formatting seems to be completely off 🫠
i won’t be home for like 4.5 hours
unless that amount of extra spaces at the end is doing nothing 
ok nevermind........................
they all have that many spaces, that's fun
i really have no idea 
i've triple checked everything
he is flag 2006 i know that
he is ready to rank up, and according to cmmscript.bf he is value 24 for cmm checks
he just doesn't appear for some reason
i think something is just going wrong with my math and hiding the very last option honestly
12/12, cancel still doesn't show up
except 12/13, cancel does show up ughghghghgh
ok akinari really is 2008
and i guess judgement is 2007?
so would that make nozomi flag 2007 or 2006 then
2006 
ok it's not about hiding the last option either as on 7/24 the cancel option is showing
i think i just need to redo the math on all of these
i'm beginning to believe there's probably a value limit or something because this is just annoying
wait so
you can do // for comments
but not \ for comments?
oh eveb discord fucked with it, okay
my bad
WE GOT NOZOMI SHOWING UP 
i got rid of the stupid "you have zero friends" message because it was dumb, redid my math too
oh and i fixed bebe too because for some reason he was 29 instead of 20?
added comments indicating who's who too so it's more readable for others
ok we are not winning
it's 12/12 and people are still being listed when they're not available
ok warping programmed in
i need to add the whole "you're already here"
now, do i take the easy way and just modify the script depending on the field to print that message instead, or do i take the hard way and have it fetch the field id just so i can copy and paste easier 
ok yeah definitely need to add that night check as the bit check still passes even if it's night time
i should probably sleep
but what is on the docket
add a message about being on the same field already
add it to the rest of the normal fields
add a way to check if you can start their social link but haven't yet
figure out femc bit flags and value and then add an if bit_chk( 4104) at the beginning with separate message list too
sleebin
we back at this
i wanna try and tackle having the rank show up in the name
i'm familiar with the get_lv check stuff
not familiar with actually setting that variable and having it show up
so time to read up on that
oh wait that's dead simple
msgvar = 1
var 2 4 1
msgvar = 2
var 2 4 2
do i need to int those though?
and is there a limit like everything else?
that was so fucking simple oh my lord
ok clean up time
oh i totes fucked up the formatting, that's why it looks jank compared to P4G
worked out
time to add a check so it prints a message about no one being available if no one is available
no idea how to do that cleanly honestly
this feels like a jank solution but it makes the most sense to me
ok that works
now how do i add a night check
is night time 3 or 5 though >.>
i'm not familiar with all the times
i'm pretty sure 5 is night time
man you know what would be great
you know how you can check bit flags in game
if you could check functions in game, that'd be incredible
i'm sure there's probably a way with cheat engine
Like check what the return values are?
Cuz if that's what you wanna do what you could do is set a message variable to what X function returns and then make a message display that uses that msg variable
(disregard this if that's not what you meant haha)
oh that's so smart
yeah i need to know if night time is 5
i think it is as it seems after school is 4
thanks for that idea, i'm gonna try that
No problem 
ok yeah that's 5
thanks for that
now i gotta figure out how to do a proper check so it ignores day time links
i kinda want to avoid nested if statements but i may need to add more to each character
ok very ugly solution but a solution nonetheless
mutatsu and tanaka are the only night time links i believe
i need to try and figure out how to warp directly on top of the person honestly
i'm sure there's like, a method to it all and everything
some of them start at the bottom and some don't, i don't really get it
you know if there's a way to get the 3rd position in the field data?
like it's field( major, minor, cursor position, and then something else)
i wanna get cursor position i just don't know hiw
Hmmm no clue unfortunately
rip that idea
you cannot warp directly onto a person
just static constant places on the map
sad stuff
ok great, the no one is available message plays normally
time to work out that same field stuff now
still debating on the easy way and hard way honestly
it would save me a lot of time to do it the easy way, but if i needed to fix it later it might be a little difficult
i should probably work on integrating it into normal square menu first
ok it's integrated now, great
gonna try setting up some PC merging
if anyone would like to test
lemme know if it even works, i can't play PC to test this stuff
currently it only works in the classroom, just as a test
ok integrated into the menu nice and easily too
these last few are gonna be a little difficult
i feel like i should just take the easy way out and say that you're already there depending on the field honestly
is there a better way of phrasing "you're already on that field" in a way that doesn't involve anything super technical
i kinda want to make it technical though..........
awwww man
you can't just put a name for the msgvar :/
is there a better way of going about this?
Find a friend uses "X is nearby."
that's perfect, i like that
thanks for that
now i just gotta figure out how to set var 2 4 11 to be kazushi hmmmmm
oh.............
sad 
There's some function that puts a social link's name and stuff in message vars, maybe that's what you want. Visible rankup ready uses it
In vanilla I'm pretty sure it's only used for when you check a social link's rank (i.e. instead of clicking spend time with, you click check rank or whatever it's called)
weird, i'm not finding the code for it
i'm searching "var( 7, "
to try and find where it says the value but it says it doesn't exist
since the msg data say it's var 7
ill find it, don't worry
I'm pretty sure it's EVT_FUNCTION_0014( x ); where x is the social link's id
really?
weird
i didn't see anywhere where it set the message variable for rankup ready
thanks, i was almost there haha
yeah like
how does it get set then?
That function sets it
oh
It sets a bunch of things including the social link's name, arcana, and some other stuff
Name's the only one you'd care about though
yeah yeah just one question
where does it say that that is msgvar 7?
because msgvar7 is already taken, ill have to change that
It just is
oh it just is?
Yeah, personally I'd just do one message for each link and not bother with that
this game is a poison sometimes
yeah yeah same lol
i ain't about to do all of that lmao
thanks though, maybe some other time
one more q though
it doesn't happen to store cursor position of the character, does it?
You wouldn't actually be able to use it for all of them anyway, Bunkichi and Mitsuo (the book store couple) get some weird name printed out by it so I had to give them a custom message in visible rankup ready
I've got no idea
rip, alright no biggie
In p4g the 3rd argument of call field is a position in the field and I used that to teleport the player as close as I could to each link. (The positions are ones used like when leaving specific shops so they're all next to shops and stuff like that)
Idk if p3p does something like that as well though
yeah that's what i'm trying to do too right
Would p3p even have a need for something like that
like for instance, on field 6, 7 which is the corridor with mitsuru
After all "player position" in this case is just a cursor
1-4 work perfectly, and warp to different room cursors
anything above that spawns you in the void
id like it to warp directly on top of mitsuru's cursor
if (var17 == 1) // Mitsuru
{
FADE( 1, 0 );
FUNCTION_000F();
CALL_FIELD( 6, 7, 1, 0 );
}
like this
6, 7, 1-4, 0 all work fine
Maybe you could add in new points, idk how exactly you'd do that though. One of the files almost certainly contains them
mmmm maybe
a file? not a procedure?
ill have to look into that
thanks for all the help so far again
also
is it cheap if i just adjust every bf file depending on the field to play the message about them being nearby
or should i actually do an automatic check and actually make it copy and pasteable
I'd do it in code but I guess either way would work
I'd expect there's something that gets the current field id and you could just check that
yeah i'm just trying to wrap my head around how i would store that major and minor number and compare it
like i know how to get it, the functions are labeled
like
if ( ( get_field_major() ) && ( get_field_minor() ) ) == and then it just falls off
i tried checking mod menu but i guess there's no failsafe if you're on the same field already?
i think i'm already using like 20 msgvars too, and there's probably a limit of 32 like everything else
if(GET_FIELD_MAJOR() == 1 && GET_FIELD_MINOR() == 1)
{
// .. do stuff
}
Something like that
Or store the major and minor in a variable earlier and do the equivalent
int fieldMajor = GET_FIELD_MAJOR();
int fieldMinor = GET_FIELD_MINOR();
// ... later on
if(fieldMajor == 1 && fieldMinor == 1)
{
// .. do stuff
}
this job is taking everything out of me 😭
yeah that works better
thank you swine, you're the best
i'd do !fieldmajor if i wanted it to be false, yeah?
or is it != ?
i think it's !fieldmajor, that's how bit_chks are
If you just do !fieledMajor that check that field major is 0 since 0 is false and anything else is true
You'd want fieldMajor != someNumber (I assume)
oh yeah that's correct
alright thank you
if (var17 == 0) // Akinari
{
if(fieldMajor == 12 && fieldMinor == 1)
{
MSG( NARI_NEARBY );
}
else
{
FADE( 1, 0 );
FUNCTION_000F();
CALL_FIELD( 12, 1, 0, 0 );
}
}
this seems correct
easy!
Yeah, that seems right
thanks swine again
game crash
not only does the menu not come up but it also crashes when i leave the classroom
that's gonna be fun to figure out
if anyone's curious
i hope i didn't hit the var limit :/
no?
no i'm nowhere near it
oh i think i just int the variables incorrectly lol
so you can't int the variable and declare it's value in one line in P3P i'm pretty sure
yeah that fixed it
you need to int, then declare it's values on a separate line for P3P
ok, added a way to return to the top if it says they're right there
wooooh it works
pc merging time
updated PC merge
i feel like this one is kinda jank
like it could probably fit in better somehow
i just don't know how
is there a fast and easy way to batch unpack one file from a bunch of abins?
i really don't wanna have to individually, one by one, do each abin for the normal fields
there's like 60
ok just about 32 bf files in total
it's weird knowing there's only like 32 normal fields you can access every day
god that took ages
i ain't doing bf merging for this one, fuck that
now i gotta merge all of these back 
fun times

i'm gonna lose it
i forgot to adjust sel_defkey for all of them
so they default to the social links option.LNDJEA IDHKCSJB ;NDJXklzkn'ma,ZX
aSA
god that sucks holy shit
is there a way i can like, batch increase the sel defkey by 1 😭
ok it seems to be working perfectly besides that
nothing i can do but hunker down and do it all over again
finally fixed
god i'm drained
not fixed 🫠
i'm about to lose my fucking mind
nothings working holy shit
i grabbed from the wrong ones
no idea why faculty office warp point is putting me in the roof but alright

i'm gonna lose my mind wtf
if you select faculty office hallway from the quick travel menu, it takes you to a random version that has literally zero ways of leaving
why? why would it do that?
i literally have no idea
there are no hit icons, you can't leave
did it seriously take me to 006 008?
why is it doing that wtf 😭
ok
it's taking me to 006 007
it literally is just a dupe
unless 006 011 is the dupe????????????
i'm so confused wtf
ok what the fuck
mitsuru is now in this weird field version?
ok is 006 007 not the correct field because wtf
bro istg if it's some binary shit that i have to adjust i'm gonna lose my god damn mind
oops, guess i missed a field in the dorm room
ok it seems to just be gekkoukan high that has these problems
i have absolutely zero clue why this is happening
maybe i fucked up something somewhere
here is gekkoukan high hallway field
is it the 473?
i'm assuming this is hiding like we talked about before
if i have to redo all of these istg
did i break my game >.>
i just put my original file back, no mod
broken
what the hell happened
sorry narrowed it down
i appear to have done something when adding b06_07.abin
i probably replaced n06_07.bf with h06_07.bf >.>
yup that was it
lesson? don't fucking do that i guess 
god i really do not want to have to do bf merging for this shit
why is windows so shit at the most basic of things
i have to power cycle my entire computer just so i can batch rename some fucking files
why does macos know that when i click rename and change the extension, it changes the entire extension
.bf.flow becomes .flow not .bf.flow because .bf.flow again because you're incredibly fucking stupid
ok sadly swine's template doesn't seem to work perfectly for the init_2f file >.>
tried to fix it up, but nada
a lot of them are still busted
I: Pattern exited with code: 0
I: Evaluation took 0.0069902s
I: SocialLink::SEES: 1985
I: SocialLink::Junpei: 0
I: SocialLink::Hidetoshi: 0
I: SocialLink::OldCouple: 0
I: SocialLink::Yukari: 0
I: SocialLink: 1986
I: SocialLink::Mitsuru: 0
I: SocialLink::Aigis: 0
I: SocialLink::Yuko: 0
I: SocialLink::Chihiro: 0
I: SocialLink::Rio_Track: 2018
I: SocialLink::Rio_Keendo: 0
I: SocialLink::Koromaru: 0
I: SocialLink::Maya: 0
I: SocialLink::Saori_Photography: 0
I: SocialLink::Saori_Art: 1987
I: SocialLink::Saori_Music: 0
I: SocialLink::Maiko: 0
I: SocialLink::Pharos: 0
I: SocialLink::Bebe: 0
I: SocialLink::Tanaka: 1988
I: SocialLink::Rio: 0
I: SocialLink::Mamoru: 0
I: SocialLink::???: 0
I: SocialLink::Akinari: 0
I: SocialLink::???: 2020
I: SocialLink::Shinjiro: 0
I: SocialLink::???: 0
oh wait
i sorta understand
but i don't know what to do about it
the data chunks seem to be larger than 2 bytes
what do i do about that though 
man how do i change bit sizes, i don't get imhex
yeah i have no idea
ok if i'm understanding it right
the c1 is some indicator for a value
and the 07 is like 19?
and the 94 is some other number
how do i turn that 94 into a number?
ok well they all either start with 19 or start with 20
here is the femc file in case anyone wants to look
oh shit i just realized
i could technically add a mode to warp to NEW social links
because even if they're not a social link yet, if they're ready to hang out their bit flag is on 👀
just tested with akinari, no link started, flag 2008 is on
i think i got it mostly charted out but i'm afraid it may be incorrect in some spots
the part that's like
driving me nuts right
is this
why is yuko's procedure in here >.>
all that's left is ken right, but i don't know if it's ken
i feel like it should be ken though >.>
for some reason akihiko is listed twice, shinjiro isn't, and junpei isn't either
man i wish i knew what 0x10 meant 
google say it means 16 but that can't be right
wait
if shinjiro is moon, wouldn't he be 24 like nozomi?
then none of the boys get two slots 
so who is 9 and 10
i think ken is just 9 and 10 judging off his bit flags here
2059 and 2060
it's just 16 in hexadecimal lol
yeah but like
16 doesn't work 
unless
saori is 9 and 10
and ken is 16 and 17.........
that
that..
that makes sense
wow
UGHHHHHHHHHHHHHHHHHHHHHHHHHHH
YOU'RE CORRECT GUHGHGHGHGHGHRBDFISJALFHCKBALN;HSIYFBVF
this seems to be mostly correct honestly
actually
can someone check bit flag 2059 and 2060 for me if possible
those appear to be the bit flags for ken it seems
i don't have a femc save with ken unlocked yet 
{
None = 0,
SEES = 1,
Junpei = 2,
Hidetoshi = 3,
OldCouple = 4,
Yukari = 5,
Fuuka = 6,
Mitsuru = 7,
Aigis = 8,
Saori Library = 9,
Saori_ Health= 10,
Rio_Track = 11,
Rio_Keendo = 12,
Koromaru = 13,
Ryoji = 14,
Ryoji = 15,
Ken = 16,
Ken = 17,
Maiko = 18,
Pharos = 19,
Bebe = 20,
Tanaka = 21,
Mutatsu = 22,
Akihiko = 23,
Akihiko = 24,
Akinari = 25,
Judgement = 26,
Shinjiro = 27
};
i just realized
there's an entire possibility i am just not applying the hexpat file right 
as i just checked it with the normal file that swine did, and it appears to be broken in the same way
ok yeah found what it is ugh
the u8 part, breaks it :DDDDDD
so it's breaking on the 0x10 part
OOP
ok progress
no longer errors out right
still getting a bunch of 0's :/
ok so for some reason it's reading almost the entire file as just the something data
here's what i'm working with right
I: SocialLink::OldCouple: 1985
I: SocialLink::Yukari: 0
I: SocialLink: 0
I: SocialLink::Mitsuru: 0
I: SocialLink::Aigis: 0
I: SocialLink::Saori_Library: 0
I: SocialLink::Saori_Health: 0
I: SocialLink::Rio_Track: 0
I: SocialLink::Rio_Keendo: 0
I: SocialLink::Koromaru: 148
I: SocialLink::???: 1993
I: SocialLink::Ryoji: 0
I: SocialLink::???: 0
I: SocialLink::Ken: 0
I: SocialLink::Maiko: 0
I: SocialLink::Pharos: 0
I: SocialLink::Bebe: 0
I: SocialLink::Tanaka: 0
I: SocialLink::Mutatsu: 0
I: SocialLink::???: 172
I: SocialLink::Akihiko: 2004
I: SocialLink::Akinari: 0
I: SocialLink::Judgement: 0
I: SocialLink::Shinjiro: 0
I: SocialLink::???: 0
I: SocialLink::???: 0
I: SocialLink::???: 0
I: SocialLink::???: 0
and what i'm getting right
i'm probably butchering the hell out of this template file
even more progress
i got it to mostly align with the 4 bytes for the flag right
except the values are wayyyyy too large
ok actually i did not
i'm gonna wait for swine to update the template, this is ridiculous
what a waste...........
thanks to swine for updating the template
the fucking bit flags are the exact same 😭
ok it seems to be off by one
junpei is 2018 but my script says 1986?
how would i fix that 
ok wait
1985 is also on?
god my head hurts trying to understand this
apparently bit flag 2018 is on, but junpei and book store are available to rank up
meaning something is off
god this shit just sucks man
ok only one working seems to be the old couple
which means they are DEFINITELY bit flag 2018
ok junpei is actually 1985??????
which would explain why they don't show up in the list because i don't check bit flag 1985
did i fuck up my template or something
why is this happening?
@toxic pond look at this when you get a chance, i'm done with all of this for tonight
i need to sleep
I: Pattern exited with code: 0
I: Evaluation took 0.0094624s
I: SocialLink::SEES: 1985
I: SocialLink::Junpei: 1986
I: SocialLink::Hidetoshi: 2018
I: SocialLink::OldCouple: 1987
I: SocialLink::Yukari: 1988
I: SocialLink: 2020
I: SocialLink::Mitsuru: 1989
I: SocialLink::Aigis: 1990
I: SocialLink::Saori_Library: 1992
I: SocialLink::Saori_Health: 1993
I: SocialLink::Rio_Track: 1994
I: SocialLink::Rio_Keendo: 1995
I: SocialLink::Koromaru: 1996
I: SocialLink::???: 2028
I: SocialLink::Ryoji: 1999
I: SocialLink::???: 2000
I: SocialLink::Ken: 2001
I: SocialLink::Maiko: 2003
I: SocialLink::Pharos: 2004
I: SocialLink::Bebe: 2005
I: SocialLink::Tanaka: 2006
I: SocialLink::Mutatsu: 2007
I: SocialLink::???: 2008
I: SocialLink::Akihiko: 0
I'm pretty sure the problem's just that the social link enum's wrong.
I thought of a way to actually get the social link ids correct a few minutes ago. If you use that function that sets the social link name in the message var it should be easy to tell who's who.
I don't think I'll do it tonight but I will tomorrow
Alright, so I've documented the social link ids now and found that they seemingly aren't 1:1 with the entries in npcSwitchFlag.dat. There must be a few non social link npcs that it also controls or something like that...
I think I'm going to have to do some guessing and checking 
thanks swine
i really do appreciate all the help you’ve been putting into this
i owe you one
maybe i need to buy you a steam game because it’s sooooo much help >.>
also by documented do you mean on amicitia wiki or something?
oh i see it
there’s two flags for romance? that’s interesting
love the barf emoji for ken romance
king shit right there
I've documented almost all of them manually, but there are a few that I can't work out. So, I worked out somewhat how those other dat files I mentioned before worked so now I should be able to work out the rest since I can find the texture (and probably name if I needed to) for each
awesome
i’ll be able to work on this some more in like 2 ish hours when i’m off and home
i wonder if i need to do a rank up check for the romance flags 
like would i just do cmm chk lvlup for 23 if i wanted to akihiko
or would i do 23 || 24
I think just checking both is usually fine
yeah that makes sense
thanks again
im assuming all i’d need to do to update it for femc is just do a bit_chk(4104) at the beginning and put her stuff in that if statement
then put the male ones in a if bit_chk(4103)
obviously changing the messages
All good. I think I'm going to stop for now though, either I've been looking at this for too long and am being dumb or the game is doing some serious trolling with these files...
So I remember, here are the current hexpats for npcSwitchFlag and those m.dat files. The ones that I've got // confirmed next to are ones where I actually changed the flag in game and saw them disappear, the others are based off the m.dat files. I feel like I must be misunderstanding them somehow though because for somee of them my findings disagree with the id I see in the m.dat file. If it's something you actually need to know (might be fine without it) then I'll look more into it another day
sweet, thanks for all the help
all i have to do for the first hexpat is change the names for the numbers yeah?
there are 28 m.dat files 
oh wait 28 for 28 links?
oh wait the m aren't for the bit flags?
I only looked at the male ones of which there are only 26 iirc.
They seem to have information about which texture to use for each npc or something along those lines
ohhhh
I think the d.dat files might have something on the flags, I didn't really look into them much though
yeah i saw your comment about m2.dat having both ken, akihiko, and koro all in it
so i was gonna look into em
i'm actually needing the femc bit flags 💀
that's literally all i'm waiting on
so i hope this is correct
I: Pattern exited with code: 0
I: Evaluation took 0.0456114s
I: NPC::Kenji: 1985
I: NPC::Aki_Ken_Koro: 1986
I: NPC::Hidetoshi: 2018
I: NPC::OldCouple: 1987
I: NPC::Yukari: 1988
I: NPC: 2020
I: NPC::Mitsuru: 1989
I: NPC::???: 1990
I: NPC::Yuko: 1992
I: NPC::Chihiro: 1993
I: NPC::Kazushi_1: 1994
I: NPC::Kazushi_2: 1995
I: NPC::Kazushi: 1996
I: NPC::???: 2028
I: NPC::Keisuke_1: 1999
I: NPC::Keiseuke_2: 2000
I: NPC::Keisuke_3: 2001
I: NPC::Maiko_1: 2003
I: NPC::Keisuke: 2004
I: NPC::Maiko: 2005
I: NPC::Bebe: 2006
I: NPC::Tanaka: 2007
I: NPC::Mutatsu: 2008
I: NPC::Mamoru: 0
just with incorrect names
lemme adjust the templates with the correct names
great i'm even more confused 
kenji is 2 on amicitia, but he's 1 in the template
do i just move everyone up one?
so junpei is 1?
No, the social link ids don't directly correspond to their index in this file
oh 🫠
Yeah, that's why I've been having such a hard time lol
yeah
so if i'm understanding you right
you don't know which bit flags go to the femc links?
but they're potentially in d.dats, not npcswitchflag.dat?
I'm pretty sure they're in npcswitchflag.dat, they just might also be in the d.dat files lol. When I looked at them very briefly I saw the same numbers that were in npcswitchflag
yeahhhh
i do know one thing
old couple is still 2018 for femc
and junpei is 1985
that's all i know 💀
those might be backwards, who knows
i just know that they were both on on one day
i just got off work so i got like 3 ish hours to tinker with this
thanks for everything so far
they probably are just the same bit flags just moved around a bit
All good. So, basically there are two ways I worked out the (hopefully?) correct flags for mc:
- Find a s.link npc in the world then go through all the undocumented flags, turning any that are on, off, until they dissapear (you have to reload the field for that to actually happen)
- Look at the
m.datfile for each index then find the corresponding texture infield2d/npcwhich should in theory tell you who each one is for. Although I found some weird results (textures didn't match up with what I expect) so maybe it's more complicated than that...
cool beans, sounds easy enough
did you happen to write down those bit flags for mc anywhere?
i wanna compare and make sure what i have are correct
as i don't have enough early saves to check people like kenji
I was getting confused with Fuuka, Mitsuru, and Yukari so they might be wrong but the rest should be what the hexpat spits out (the ones like Kazushi_1 were based on the m files so I wouldn't necessarily trust them either):
I: NPC::Kenji: 1985
I: NPC::Aki_Ken_Koro: 2017
I: NPC::Hidetoshi: 1986
I: NPC::OldCouple: 2018
I: NPC::Yukari: 1987
I: NPC: 1988
I: NPC::Mitsuru: 1989
I: NPC::???: 1990
I: NPC::Yuko: 1992
I: NPC::Chihiro: 1993
I: NPC::Kazushi_1: 1994
I: NPC::Kazushi_2: 1995
I: NPC::Kazushi: 1996
I: NPC::???: 2026
I: NPC::Keisuke_1: 1997
I: NPC::Keiseuke_2: 1998
I: NPC::Keisuke_3: 1999
I: NPC::Maiko_1: 2000
I: NPC::Keisuke: 2030
I: NPC::Maiko: 2001
I: NPC::Bebe: 2003
I: NPC::Tanaka: 2004
I: NPC::Mutatsu: 2005
I: NPC::Mamoru: 2006
I: NPC::Nozomi: 2007
I: NPC::Akinari: 2008
I: NPC::???: 0
oh wow i was way off
Why nqn
you put fuuka in colons lol
which is an emote
apparently in multiple servers you're in
Ohh
ok i was wayyyyy off with some of mine
Well I didn't do that, ImHex did. I'm not sure why
Umm ignore that, idk
I have a feeling these aren't really for individual social link npcs but perhaps for positions on the map since some of the m files have the texture ids of multiple npcs. I'm guessing in those cases at different times of the year one npc replaces the other
Anyway, that's not really relevant for your needs
4 keisukes?
Yeah, idk why lol
and 2 maikos lol
Keisuke should be the actual one I think
Those ones are based off the m files, idk what they're for. The one that's just Keisuke is when I actually found him on the map (2030)
no maya?
She has no npc
Check the bf where you interact with the pc in your room, it'd be in there somewhere
I'd do the same with any of the ones where you can start them by interacting with something other than an npc like that as well. I have a feeling the flags I've got for them are wrong, if they are that'd be a place to find the correct ones for sure
oh like the book store yeah
ok yeah maya is not flag 2026
weird, the template says 2026
seems like the only way it activates maya is if it does a cmm chk levelup
and if it's day time
bit flag 2639?
?
this whole process is confusing the hell out of me
why did they have to make it so complicated.....
i can't even check if any of your new bit flags are correct because i don't have a single save ready to hang out with any of the adjusted people
and no one seems to want to test my mod 🫠
That doesn't seem that complicated to me...
If 2639 is off you play the message saying that you can now play the mmo and turn it on (so that message only ever plays once)
right
but 2639 isn't the, i'm available check
that's the, i have been started, check
I think you'd have a much better time if you made a project post. Very few people are going to come to the modder help post titled "Same flowscript errors everytime I recompile"
the game only prints the "i am ready" message if you're available to rank up
so true 😔
i should make a project post
What's the file? I'll take a quick look
h07_19.bf in b07_19.abin
concept thread made
thanks for that idea
i keep forgetting that i can do that honestly >.>
It seems like this condition (on line 2329 for me) is what you should check
if ( ( ( CHK_DAYS_STARTEND( 4, 19, 4, 28 ) || ( CMM_GET_LV( 14 ) == 10 ) ) || BIT_CHK( 2803 ) ) || BIT_CHK( 4103 ) )
Since if it's false then it seemingly goes on to the selections where you can choose to play the mmo. So, you'd want to check for not that (i.e. put a ! in front of the whole thing)
If she's available that's what you'd expect. You can only do it if all of those are false
So both flags should be off plus it needs to be past that date
yeah yeah
so, it'd be !BIT_CHK( 2803) in the line of code for maya?
yeah that should be right
if 2803 is false, then show maya
I'd just put the entire thing, so
if(!(( ( CHK_DAYS_STARTEND( 4, 19, 4, 28 ) || ( CMM_GET_LV( 14 ) == 10 ) ) || BIT_CHK( 2803 ) ) || BIT_CHK( 4103 )))
{
// let you spend time with Maya...
}
ok lol
did you mean to put the exclamation there?
that would be false for everything though?
Or if you prefer
if(!CHK_DAYS_STARTEND( 4, 19, 4, 28 ) && CMM_GET_LV( 14 ) != 10 && !BIT_CHK( 2803 ) && !BIT_CHK( 4103 ))
{
// let you spend time with Maya...
}
Yeah, that's the whole point
It should only let you if none of those things are true

thank you for remaining positive through my stupidity
ok maya should be correct
book store, bebe, keisuke, kazushi, and student council next
hey so uhhhhh
that 2803 flag?
used elsewhere
guess it's fine, since it's literally just 1987 still lol
wait they're 2018 in the find a friend file 
yukari is 1987
this the type of shit that drives me nuts 😭
fantastic, momaru definitely isn't working
yeah mamoru is flag 2006, can confirm that
ok so book store is flag 1987 it seems
yeah they're 1987, cool
and hidetoshi is 1986, got it
mitsuru is 1989 definitely
yuko is definitely 1992
1988 is yukari
no idea what 1990 is though
1994-1996 is kazushi, that's the same
kenji is 1985
You've documented a bunch of P3P functions right? Could you send me them pls. I think I saw you sent them somewhere but I can't be bothered looking for that message 😄
ty
i meant to update the PR i made to the main branch but have been slacking hard 💀
nozomi is flag 2007, you were correct
maiko doesn't appear to be flag 2000?
unless she just doesn't appear unless the day is right
it's daytime for me
7/24 friday
that might be the case because akinari didn't appear either
oh lol
ok so i confirmed as many as i could
i don't know what bit flags aigis and fuuka are
but they're not 1990 and 1988
unless aigis also doesnt appear unless the day is right 🤔
Maiko's 2001 (based on my message)
2001?
oh my bad
oop 💀
she does appear if you enable flag 2001
so akinari isn't flag 2008
he's something else
When I did him I hadn't actually started his sl, maybe there's a non-social link version of the npc and that's what 2008 was
hmmm maybe
yeah because there are steps before you can hang out with him
you need koromaru to get his fountain pen
lemme check the field for his quest specific flow stuff
i don't think he even appears in the field data >.>
unless they're in n
weird, i cannot find the steps towards unlocking akinari
it's in cmmscript.bf?
that's very weird but alright
oh wait
that's funny
remember that weird 540 value you kept getting?
it's the fountain pen quest check
ok there's not really a bit flag in here
2725?
i guess 2725 is just establishing you having talked to them
ok akinari's quest stuff is contained inside of cmmscript.bf but maya's whole unlocking isn't???
very weird
yeah no bit flag stuff :/
and he's basically not even a part of his own field
unless 540 is the akinari bit flag check 
that’d be so weird
i’m gonna test that in a second
ok it's not that
that didn't make him show up
ok time to test tanaka and mutatsu
ok 2004 is tanaka
but 2005 isn't mutatsu
so 2008 isn't akinari, 1990 isn't aigis, 2005 isn't mutatsu, and 2026 isn't maya
i still have no idea what fuuka's is
everyone else is figured out
2005 is on on 12/19
i really have no idea what 2005 could be
it's also on 7/24 friday
so someone that is available both friday and saturday
assuming everything is bunched together
we're missing 1990, 1991, 2002, and 2005
AIGIS IS 1991
WOOOOOOOOOOOH
1990, 2002, and 2005 are all on
no sight of fuuka or akinari
ok all 3 of those are on but akinari, fuuka, and mutatsu do not show up
i'm so confused 
those should be them right
but they do not show up
like
fuuka should be 1990
akinari should be 2005
and mutatsu is 2002
it's not 2008 either.....
oh wait we don't have a 2000 either
so no 1990, 2000, 2002, or 2005
i just enabled all 4 and there's not a dang difference in any characters showing up on the map 🥹
no mutatsu either 
yeah i'm really not sure what's up with that
clearly it bypasses the day check as aigis shows up
1990 is on 12/19?
1990 is either fuuka or mutatsu
but i just cannot fucking find fuuka
i've literally never seen her on the map 😭

i'm gonna snap
i'm so confused
1990, 2002, 2000, 2005, all off
fuuka is still here
she's none of the four
ugrqhbacjdnmx,;KWLJ'QEPIUWIBYVSHJ NLMs;dlkjopqeiwhubasifhjv lnmad;xop
i hate this stuff sometimes man
what the hell is fuuka's bit flag, she's clearly here now
ok so i think i'm just gonna stop for tonight
i think i hit a wall and i'm out of options 💀
currently i cannot find the bit flag values for fuuka, mutatsu, maya, or akinari
there are 4 bit flags unaccounted for, but seemingly none of them do what they need to do
i might just sleep, it's like 4 am....
yeah i’m thinking about this now
it’s got to be those 4 doing those 4
but why don’t they show up on the map, and why doesn’t fuuka go away 
if i had to guess for these 4
it’d be
1990 is fuuka, 2000 is maya, 2002 is mutatsu, and 2005 is akinari
7/19 sunday, flag 2005 is on
disabling it does not hide akinari, nor does it hide maya

this mod is gonna be the death of me
i just need these last 4 fucking bit flags and i cannot figure it out fuck me
here's an updated flow file if anyone's curious about all the bit flags
maybe there are other gaps i'm missing
maybe there are no gaps and i'm clinically insane
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaand fuuka isn't part of b06_04.abin
ok 1985 and 1987 are the bit flags for junpei and old couple for femc
but 1991 and 1989 aren't aigis and mitsuru
1986 is also hidetoshi for femc
2001 is still maiko
ok it seems like 2003 and 2004 seems to handle the rio social link
i have to double check though
ok it's not that
but 2003 and 2004 are both on on 4/28
ok here's the problem right
the bit flag being on doesn't just control them being on the map like swine thinks
it controls them being available
as if you enable bit flag 1986 on a saturday or whatever, then the student council becomes available
meaning, that i should be able to disable maya
but flag 1990, 2000, 2002, and 2005 are all off 
8/4 wednesday, day off, flag 2006 is on
oh my fucking god
ok
i was an idiot
1990 is mitsuru
and 1989 seems to be fuuka
wait so that must mean that akinari is 2008 and mutatsu is 2005
21 = 2004, 23 = 2006
so 22 = 2005?
and 24 = 2007, so 25 must equal 2008
WAIT
that means that maya is 1997
and keisuke is off by one down the line
meaning he's 1998, 1999, and 2000
ok no
ok but fuuka needs a second check for when keisuke has been started
ok maya has to be 1997 it seems
but disabling her flag doesn't disable her from being able to played
wait we're missing a 19 wtf
keisuke is 19?????
what?
here's my current set up
i just moved maya, mutatsu, and akinari in there
but currently there is no 19?
oops i put the wring alue
this is my current set up
maya being 1997 makes the most sense considering that's one of the only flags that are on for 8/5 for me
and it makes sense of the order of things too
the only problem is that there's no 19
oh pharos is 19, duh
since he's the death arcana lol
wait
why does swines say that maiko is confirmed to be 20?
isn't 19 pharos?
why is that confirmed to be keisuke swine?
are these not correct?
ok that's concerning
i tried moddaman's trick of printing the message variable in the whole message or whatever
says 24 is ready to rank up
nope
i was correct!
18 is maiko
not 20!!!!!
apparently nozomi just available on the holidays or something
ok that means that everything else should be correct
with pharos being 19
ok can confirm akinari is 25
so everything in between should work
problem though
20 is bebe i believe
but today is 12/20 and he's marked as ready to rank up
unless you actually do get a pass on rank up even if they're not available?
i thought that, don't know if it's true
ok you do get a pass on rank up even if they're not available, ok
nevermind, no problem
then everything should be working? i believe?
only ones i'm a bit worried about are maya, mutatsu, and akinari
as enabling their bit flags doesn't actually allow them to show up
unlike everyone else
so i guess 2008, 2005, and 1997 might be a bit in limbo honestly
they're off when they need to be though, and on when they have to be, so maybe? maybe they're correct?
what the fuck
ok
ken is somewhere in the bit flags i turned on, just invisible
and he's labeled "boy" lol
ok ken is flag 1999 lol
that was easy'
but he's invisible? for some reason? and he's labeled as "boy" on the map
so
i guess that means they correlate directly to their social link value?
since 19 is 1999 according to keisuke's in the old files
that would make 20 and 2000 be his romance bit flag check 
god i wish i had the fucking time to look into this but i gotta leave for work in 5 minutes
i'm going a little nuts
i have 19 selections, just like last time
but my math is ending me with half of what i had with the male character
it goes 1, then 2, then 4, then 8, 19 times
so i should end on 522 something
i have 262144????
am i crazy 
is it supposed to be 262144 for the male MC 
i should not be doing fucking math at 2 am gaw damn
it is supposed to be 262144
it is supposed to be 522
i legit cannot find where i made the mistake oh my lord
they both have 19
it is 262144 
how did i make this many fucking mistakes holy shit
sel defkey is wrong, the entire math is wrong
wow
is it 262 fuckckeal pkhsvj b;ndggfjdlBNXMAC'PSFIDOG0
i'm second guessing myself now
i'm so confused
i added another message for saori because she can be in two different places
redid my math
it might be 524?
where's moddaman man when you need em 
there are nineteen 1's
so it'd be 01111111111111111111?
i can't even confirm because no one wants to test 🫠