#64 Bit Custom Sub Menu to Vita backport

274 messages ยท Page 1 of 1 (latest)

peak mirage
#

Trying to backport all of the various flowscript changes to the Vita / 32 Bit version but struggling quite hard.

I understand that only a few files were truly "modified" and that most of the changes were simply just removing mods which can now be merged externally, I just don't remember which files are actually changed and how I would go about merging them.

Basically nothing I've tried to paste together is actually merging and I am just getting more confused by the second.

#

does the aemulus compiler just differ from atlus script tools compiler?

#

what is happening?

#

found the list that swine sent

#

still confused as to why it's not compiling

#

it doesn't compile if i get it from my own files, doesn't compile if i get it from the csm download, doesn't compile if i get it from the 64 bit csm download

#

what do i do?

#

11/4/2023 3:24:20 PM Error: Referenced undeclared enum 'Dungeon'
11/4/2023 3:24:20 PM Error: (0096:0015) Failed to emit return value: Dungeon.Yukiko
11/4/2023 3:24:20 PM Error: (0096:0008) Failed to compile return statement: return Dungeon.Yukiko
11/4/2023 3:24:20 PM Error: (0096:0008) Failed to compile if statement body
11/4/2023 3:24:20 PM Error: (0094:0000) Failed to emit procedure body
11/4/2023 3:24:20 PM Error: One or more errors occured during compilation!
11/4/2023 3:24:20 PM Error: One or more errors occured while executing task!

#

i'm assuming i need to integrate the enums.json into the files somehow

#

because those enums are declared in enum.json

#

yeah absolutely nothing is going right at all

#

according to swine

#

The following were changed:
DungeonOptions.flow
DungeonTravel.msg
DungeonTravel.flow
Utilities.flow
n_020_001.flow (I think that's a completely new file)
Fox.msg
DungeonFloorSelect.msg (also new)
IntroSkip.flow

#

lol so basically only two files were changed

#

f020 and init_free.bin/field/script

#

everything else i would just call to the modified files

#

and of course those are the two i can't even get to compile, just fantastic

#

i cannot find where the rest of those files even are or are even called from

#

i got introskip.flow and dungeonflorselect.msg

#

i think at least

#

all i did was modify introskip.flow and add the new file path

#

can't find where fox.msg is called from

#

or literally anything else wow

#

why did they have to set up the 64 bit version so strangely

#

ok so n020 does compile

#

i still can't get the enums.json integrated into the flow

#

no idea how to get field.bf to compile, at all

#

what the hell even happened there

#

istg these new merging changes are soooooo dumb

#

so i still need to figure out how to get the top 4 flow files to compile properly

#

these

DungeonOptions.flow
DungeonTravel.msg
DungeonTravel.flow
Utilities.flow

#

since for some reason the download from the github page is already merged??????????????????????????????????????

#

like what am i supposed to remove from the import section to make it pull from the right spots

#

do i just have to move the files into the init_free folder? i tried that

#

this shit sucks man

#

i also need to figure out why f020 still isn't compiling because i can't get the enums.json to integrate

#

i know what i need to do right, just not how to do it

#

i can modify the flow files with the changes

#

yet i still need to modify the field.bf.flow file to call those modified files

#

i just don't know how to correctly do that because it still wasn't working

#

the download for CSM on the github page has the field.bf already compiled which won't work

#

just this section

#

import( "../build/input/init_free/field/script/field.bf" );
import( "../ModMenu/ModMenu.flow" );
import( "../Setup/FirstTimeSetup.flow" );

//EXTENSIONS
import ( "../OtherMods/FindAFriend.flow" ); //Fast travel to social link locations
import ( "../OtherMods/QuickTravelPlus.flow" ); //Extended quickTravel locations for town/school
import ( "../OtherMods/VRGameOverSkip.flow" ); //Skips velvet room scene after game over
import ( "../OtherMods/DungeonOptions/DungeonOptions.flow" ); //Various QoL Dungeon Options
import ( "../OtherMods/ConsistentReaperField.flow" ); //Hooks field functions for consistent reaper
import ( "../OtherMods/MobileCalendar.flow" );

#

no idea what to even do here honestly

#

i need to import these files anyways, just not at their current paths

#

i tried removing the path with the dots and folder before, still didn't compile

#

all it did was spit out a bunch of errors about being unable to find the files, despite them being in the same directory

#

all of them in one folder

#

zero path

#

still shitting the bed with errors ๐Ÿซ 

#

god bless reloaded

#

oh fantastic

#

turns out nothing was compiling looking at it closer

#

not even n020

#

literally what do i even do

#

can someone actually get in here and say something

#

so i'm not talking to myself the entire time

#

i've been at this for too long and i'm nowhere near closer

#

not even one bit closer

#

no idea where to go from here

#

ok i tried it again

#

won't even compile ๐Ÿ™ƒ

#

it's in the right folder and everything

#

i have it set to the right name and all

#

won't compile

#

not even listed in the log

#

except it literally is

#

ok nevermind

#

ok so for some reason

#

field.bf wants to pull the files from original

#

instead of the actual location which is next to it

#

do i just need to compile it or something and that's why it was distributed as a compiled bf?

#

nearly compiled the field.bf except for some errors now

#

11/4/2023 4:29:45 PM Error: (0089:0008) Invalid call expression. Expected function or procedure identifier, got: ModMenuShown
11/4/2023 4:29:45 PM Error: (0089:0008) Failed to emit operand for unary expression
11/4/2023 4:29:45 PM Error: (0089:0007) Failed to emit prefix operator
11/4/2023 4:29:45 PM Error: (0089:0007) Failed to emit if statement condition
11/4/2023 4:29:45 PM Error: (0087:0003) Failed to compile if statement body
11/4/2023 4:29:45 PM Error: (0073:0002) Failed to emit while statement body
11/4/2023 4:29:45 PM Error: (0067:0001) Failed to compile if statement body
11/4/2023 4:29:45 PM Error: (0060:0000) Failed to emit procedure body
11/4/2023 4:29:45 PM Error: One or more errors occured during compilation!
11/4/2023 4:29:45 PM Error: One or more errors occured while executing task!

#

entire log

#

it's long, sorry

#

too many yesno_sel options?

#

literally how the hell are you supposed to compile this holy shit

#

so the only working thing is n020

#

i can't get enums.json to integrate into the bf

#

do i need to import it?

#

ok so you can't import enums.json

#

how are you supposed to have it be called?

#

anyone have any ideas?

#

like anyone? anyone at all?

#

i really do not like having to talk to myself the entire time in help threads

#

it's a "haha funny" sometimes but most of the time it's quite annoying

sleek owl
# peak mirage ok so you can't import enums.json

iirc that gets handled by the bf file emulator on pc w/ reloaded; don't think it's possible to do anything with it with in aemulus/atlusscripttools on it's own unfortunately

you might just have to search and replace all the instances of the enum keys that get used in the flow files with their actual values naosmiley

peak mirage
#

fantastic

#

any ideas about the field.bf not compiling?

sleek owl
#

when i try to compile the files you sent earlier i get errors but they're ones about the message variables conflicting with something + a duplicate procedure declaration

#

not the same errors you're getting i don't think

peak mirage
#

they are the same errors

#

11/4/2023 4:38:31 PM Error: (0089:0008) Invalid call expression. Expected function or procedure identifier, got: ModMenuShown
11/4/2023 4:38:31 PM Error: (0089:0008) Failed to emit operand for unary expression
11/4/2023 4:38:31 PM Error: (0089:0007) Failed to emit prefix operator
11/4/2023 4:38:31 PM Error: (0089:0007) Failed to emit if statement condition
11/4/2023 4:38:31 PM Error: (0087:0003) Failed to compile if statement body
11/4/2023 4:38:31 PM Error: (0073:0002) Failed to emit while statement body
11/4/2023 4:38:31 PM Error: (0067:0001) Failed to compile if statement body
11/4/2023 4:38:31 PM Error: (0060:0000) Failed to emit procedure body
11/4/2023 4:38:31 PM Error: One or more errors occured during compilation!
11/4/2023 4:38:31 PM Error: One or more errors occured while executing task!

sleek owl
#

hm the one i get is for TurnOffAllOptions, i don't see those ones anywhere

peak mirage
#

that's in field.flow itself

#

also what do you mean?

#

you don't see those anywhere, see turnoffalloptions in what?

sleek owl
#

i don't see an invalid call expression error for modmenushown is what i mean

peak mirage
sleek owl
#

ah there we go, same error

#

the files you sent earlier were not the same at all lol

peak mirage
#

oh weird

#

yeah i was working on them so they were updated at some point

#

any ideas?

#

i mean if i were to figure out where these 4 files were called in the original field.bf, i could technically just extract it and mess with the values and reimport

#

DungeonOptions.flow
DungeonTravel.msg
DungeonTravel.flow
Utilities.flow

#

like if i found entrance_jump_hook, i could just copy paste the contents over it yeah?

#

god i just have a headache from all of this

sleek owl
#

ok well for the modmenushown error it's because you were missing the flow file that actually defines that procedure naosmiley

i just copied over the "HideModMenu.flow" from CEP to test and imported it into field.flow and boom, doesn't give me the same error; still gets errors but they're not the same ones now

peak mirage
#

ok interesting

#

issue

#

i don't want to be able to hide mod menu because there's no reloaded configuration options in aemulus

#

so i actually need to remove the reference to hiding

sleek owl
#

it'd probably be easier to copy&import the "ShowModMenu.flow" from the CSM64 files tbh at least until you can get things compiling correctly

peak mirage
#

got a different error by actually removing files that weren't changed

#

such as firsttime setup

#

11/4/2023 4:54:45 PM Error: (0017:0001) Invalid call expression. Expected function or procedure identifier, got: FUNCTION_0023
11/4/2023 4:54:45 PM Error: (0015:0000) Failed to emit procedure body
11/4/2023 4:54:45 PM Error: One or more errors occured during compilation!
11/4/2023 4:54:45 PM Error: One or more errors occured while executing task!

sleek owl
#

that's the same one i'm getting right now actually

peak mirage
#

oh fun

#

quick question

sleek owl
#

no idea what to do about it tho since that's probably supposed to be a library function

a library function that is NOWHERE in the p4g library files naosmiley

peak mirage
#

is the findstr command in windows working for you?

#

every time i do it never loads anything

#

if you open a command prompt you can do findstr FUNCTION_0023 and find where it's mentioned

#

every time i do it spends ages looking for the string

sleek owl
#

honestly when i need to look for words/strings in files i just open all the files in notepad++ and do "find in all opened files" tbh, never used findstr and the documentation is kinda confusing so idk how i would

peak mirage
#

findstr /s (means recursive basically) "text" "path to all files"

sleek owl
#

ran basically instantly for me works4me

peak mirage
#

yeah it also did for me because i was doing it wrong lol

#

and it was dying

#

i figured it out, that's why i sent a screenshot

#

no idea what to do with this information though

sleek owl
#

ahhh ok i see

peak mirage
#

if i had to guess

#

removelunchtimeinvites was removed in 64 bit

#

so maybe something is dying with that

severe oasis
#

I can't be bothered reading all this, what's the current problem?

peak mirage
#

dying with a super long error code

sleek owl
#

oh wait i think i know what the FUNCTION_0023 thing is, i think FUNCTION_0023 is supposed to be PLAY_SYS_SOUNDEFFECT

peak mirage
peak mirage
severe oasis
#

yes

peak mirage
#

fun

#

alright

severe oasis
#

Same with any other functions that were renamed

sleek owl
#

yeah when i renamed FUNCTION_0023 i got an error for FUNCTION_0024... which is SUPPOSED to be SET_FADE_COLOUR with the current libraries

#

so looks like you're gonna have to update all the old library function names to match the current ones naosmiley ouch

peak mirage
#

oh just like old times

#

would evt_function_0023 be evt_playssys whatever

#

or would it just be playsys

severe oasis
#

Whatever it's called in the library files

sleek owl
#

โ˜๏ธ

peak mirage
#

where are the libraries again?

#

i'm looking at the json files

severe oasis
#

They are the json files?

peak mirage
severe oasis
#

Functions.json

#

yeah

peak mirage
#

right

#

still doesn't answer my question

severe oasis
#

That's the name

#

PLAY_SYS_SOUNDEFFECT

peak mirage
#

ok so

severe oasis
#

It's whatever it says

peak mirage
#

EVT_FUNCTION_0023(); needs to be PLAY_SYS_SOUNDEFFECT then?

#

it's not different because of the EVT?

severe oasis
#

Yeah

sleek owl
#

it is different

#

FUNCTION_0023 is the one you need to change, EVT_FUNCTION_0023 is still the same

peak mirage
#

so just leave it as is?

severe oasis
#

Those are two completely different functions

#

Idk what you're trying to do anymore ๐Ÿ˜•

peak mirage
#

do i need to fix this or not?

severe oasis
#

Yes

peak mirage
#

and it would just be PLAY_SYS_SOUNDEFFECT despite the EVT part?

severe oasis
#

yes

sleek owl
#

no

#

his flow files have the old name for PLAY_SYS_SOUNDEFFECT which was FUNCTION_0023

#

EVT_FUNCTION_0023 is a seperate function that hasn't had it's name updated at all

#

ONLY replace "FUNCTION_0023" without prefixes to be PLAY_SYS_SOUNDEFFECT

severe oasis
#

Oh, you're right

severe oasis
peak mirage
#

so just cross reference all of the function names with the json and fix em

#

so function_0022 would be SET_CNT?

#

if i'm understanding this all correctly

severe oasis
#

yes

peak mirage
#

cool cool

sleek owl
#

that should be the case yes

peak mirage
#

ill get started on renaming all the functions then

#

one more q

#

would it just be easier to decompile the field.bf from the normal CSM 32 bit download and import the new flow files? or would i have the same issues again

#

i just want to update field.bf with these

DungeonOptions.flow
DungeonTravel.msg
DungeonTravel.flow
Utilities.flow

severe oasis
#

Does the 32 bit one have the full field.bf file instead of using merging?

peak mirage
#

yeah

severe oasis
#

Oh, I wonder we we did that. I don't remember naothink

peak mirage
#

because if you try to compile it in aemulus it tries to pull the imported bf files from original

#

instead of literally right next to it

severe oasis
#

Yeah, that's fine. You can just ignore it or if the warnings are that annoying I think renaming them to .flow.bf will prevent it from trying to do that (you'd have to change your imports to match though)

peak mirage
#

the warnings are preventing it from compiling though

severe oasis
#

They shouldn't

peak mirage
#

has trouble compiling field.bf, spits out those messages about being unable to find the files, then doesn't compile

severe oasis
#

[11/4/2023 4:32:42 PM][ERROR] (0002:0000) Unknown import file type: C:\net7.0-windows\net7.0-windows\Packages\Persona 4 Golden (Vita)\CSM Test 2\field\pack\fd020_001\Enums.json
Why are you trying to import Enums.json???

peak mirage
#

don't ask

#

thought it would work

severe oasis
#

Well you definitely shouldn't be

peak mirage
#

i'm probably just gonna have to manually import the values instead of having a separate file

#

because moddaman says that atlus script tools can't interact with enum files

#

that was a different issue

#

yeah is this even worth it in the end

#

i have a feeling i'm gonna need to rename literally every function ever

severe oasis
#

Up to you, there's not that much new in 64-bit

peak mirage
#

yeah

#

i give up

#

thread over

#

someone else can handle it

#

all i really wanted was the option to back out of a message to input something like 40

#

instead of having to input 040

severe oasis
#

Oh, if that's all you want it's a really easy change

peak mirage
#

how easy lol

severe oasis
#

It's a few lines iirc

#

So, it uses the compiled bf right?

peak mirage
#

yeah

severe oasis
#

Is that compiled from the source on github?

#

Well, actually is it the same as 32-bit or is vita different?

peak mirage
#

yeah it's the same

severe oasis
#

k

peak mirage
#

oh read the .h file, thanks discord

#

you're the best

severe oasis
peak mirage
#

sorry for disappearing

#

thanks for this

#

just a weird out there question

#

none of these issues are because of my "original" folder right

#

because when i updated it completely reset my init files and folders from my original folder

#

and i kinda don't have the space to unpack again

#

sweet, yeah that does work

#

that was really it

#

if you don't mind me asking, just for future reference, what did you end up doing?

#

i'm assuming you decompiled the bf from the download, then added onto it?

severe oasis
#

I just changed the custom sub menu source (what's on github) so it had what I'd done with the 64-bit version. You could accomplish the same thing just by decompiling the bf and editing that but given I had the source that made more sense.

peak mirage
#

wait so you just merged all of the changes or just that one i asked for lol

severe oasis
#

No, just that one

peak mirage
#

and the source you have is different from the code download on the github?

#

i was working with that too

severe oasis
#

no, it should be the same

peak mirage
#

oh weird

#

no idea why i was having so many issues then

severe oasis
#

Well I did have to rename a bunch of functions like you would've (5 or 6)

peak mirage
#

oh

#

fun alright

severe oasis
#

It's really not that hard though, took me maybe 5 minutes

peak mirage
#

yeah i might go back and do it later

#

when it's not date night and i don't have a headache