#Costume Framework
1 messages Β· Page 2 of 1
Dependency set to a test/dev version rather than one of the published ones on gb? 
Probably bgme battle themes (still unreleased so mod config will need updating once posted for dependency downloading)
ah I see
cus people already sometimes have issues installing the mod and its just unzipping
i cant imagine how bad it'll get if it adds a requirement thats "missing" lmao
fr though lol
I just had a horrifying realization
costume frameworks uses bgme
that means I should just remove all the bgm code i have and just use bgme
but that would get rid of like at least 60-70% of the mod's filesize which means it finally fits on GB upload limit
I do not look forward to figuring out how reloaded updates work
bonus tweaks really bout to drop 1gb in size right after i finished downloading it 
Can this be!? Full harmony combination 

I realized, costume framework is completely deleting any item tbl edits to outfits, is this intentional @strange mauve
i.e. there exist items for futaba summer and winter uniform
the model just does not exist
i give them with tweaks because i added the models
but now they dont exist anymore so long as i have costume framework enabled
this also means no stuff like moonlight outfits (which also already exists in the tbl but missing model)
i hid all bonus tweaks outfits, though ones in existing slots probably wouldn't've have crashed
let me add support for overriding existing outfit slots, that way they'll be unlocked automatically
damn, didn't know you hated P5S that much

that's the only "new" set that remains now since they use the unmodified game math
oh, and yeah i inject my own custom outfit section instead of whatever is in the item tbl so any outfit edits there won't transfer
question, can bgme replace by cueid rather than encounter id?
I can rework the ambushed code to redirect to last surprise (because they had 2 dedicated cue IDs in PS3 already for advantage and "pinch" which in the awb just redirect to last surprise, but its not a separate adx, all 3 use the same streamed file)
bgme supports ambush bgm already
you can overwrite existing songs with global_bgm["SONG_NAME" or CueID], though if you're going to edit battle BGM i'd recommend using battle themes instead. that way multiple costumes can add battle bgm
all three battle states are supported
Hey Kechi did you ever think about taking into account outfits that use their own set of anims? Ie; Femc or Yu
oh i forgot about rat gaps costume gaps; i'll look into it when i can
Well no, these ones have every joker anim changed 
mind sending a costume with custom anims to test with?
the bgme guide explains how to use the program, but what about if I already have the adx files, converting them to wav to use with the program would just be a waste of time lol
not sure whether you're talking about music manager or battle themes, but either case supports any file format vgaudio supports.
with battle themes specifically you can just drop your existing .adx files into the battle-themes/music folder, then use file name in music scripts
it'll handle assigning an id
gotcha

470 MB

Is there a specific code I'm supposed to be using for battle themes? I've tried
const BATTLE_THEME = battle_victory_set(adxs here)
But they don't play the adx I put in the the music folder
Sorry if it's obvious I'm just certified dumb
https://t-poseratkechi.github.io/PersonaMusicScript/guides, it depends on what you're trying to do, lmk and i can give specific examples. it supports being set to any music type that exists in music scripts
i was about to say i have a tutorial for that
but when i see, it's a battle_theme, oh i havent used that
i only use BGME Framework
but you should see
it can be more or less similar
oh yeah I have to ask, since we both have unlocked dlc bgm (lol), do you plan on supporting adding dlc bgm to existing outfits?
Yeah I know how to use normal BGME I was just trying to convert them for battle themes haha
if you mean re-adding the default dlc bgm, maybe but probably not since that'd require extracting the awb, then extracting the audio π
if you mean adding music in general to existing costumes, then yeah when i add overriding the GMD. it'll all get run through the same code as mod costumes; just have to give them a name and search mods folder for the costume folder.
both actually but i guess when the second is done I can just add the default dlc bgm back through that
oh nice, it'd be good to have a mod that fixes the missing outfit bgm 
@sly lagoon which gaps file(s) are responsible for this monstrosity to not happen?
i thought it would've been EMT0001.GAP but i was very wrong
all of them
i dont think this is too feasable because youd have to reload every single Joker GAP currently loaded lol
Unfortunate
i've got a basic version going, but yeah, if all the anims don't update on costume switch then it'll take a bit more work
though, shouldn't there be a function for just that somewhere? presumably those animations would update whenever they turn into rats in shido's palace 
rats is its own hardcoded mess too
oh, i got an idea could only get it to reload emt π
a bit unrelated since its about BGME but since it was talked about here anyway, this is what the mod size looks like after I deleted all the bgm acb/awb lol
but i've reimplemented the ambush/ambushed themes now with bgme so i dont need to put those back
which also means I can just remove all the bgm related code from mod (which i already did locally)
it only took a few years but someone finally has used disadvantage bgm π π 

actually, instead of costume dependent animations wouldn't a better system be configurable base character assets 
even if they updated, anims would need to be duplicated. but with configurable sets of animations and non-costume models, any mod could add costumes for character swaps
@strange mauve so about the bgme issue that I mentioned it seems that completely solves the mystery silent music and victory
One person streaming it and nothing happened
Like not even 1 single silent music appear
I told him to remove those 2 folders and edit the config
nice, not sure what caused or why it fixes it but oh well it works it works π«
implemented what i mentioned and auto removed any costumes that don't support the current assets setting for that character
what does this mean 
also wtf is Femc fall and spring 
for example, you could put all the femc stuff (animations, maybe voice, etc) except costumes in assets slot 1. then set femc costumes to use slot 1.
those costumes will only appear while using slot 1, and it will also removed any costumes that don't (like regular costumes).
it's mostly just a bit better than replacing things normally, better integration with framework and no need to dupe a bunch of models lol
and thats why you deserve cookie π₯
Ooo 
I think I got that bug where awb emulator kills the music lmao
was trying to add dlc bgm to a costume and now not even the previous stuff is working lol
time to die i guess
right now, i think i know how to fix it
but i want to be accurate as possible
so still testing it
ya lol
I went to get ambushed and noticed no dlc bgm
so i tested again with what i showed yesterday
and now that has no music playing either
but the logs says its playing the correct bgm and i havent deleted the file
so i can only assume its that rare awb emulator bug lol
i don't think it's the bonus tweaks bgm stuff, dc removed it on their current version afaik?
yup
i've no clue what causes it and idk how well supported my method for new music is, it's feels very hacky lol (only fix right now is a restart)
all the bgm (and costume replacement code) completely removed
oh right i guess restarting might help
tfw you gotta restart with like 10 explorer tabs open

now that i have costumes stuff set up, i wonder if it'd fix by swapping the loaded DLC BGM? the game does a lot of disabling of it, maybe because it doesn't change it breaks on some update of it?
that shouldnt be an issue
from what I checked, they added a failsafe for that in p5r
(it was an issue on ps3 lol)
on PS3 if the dlc bgm changed/unloaded while a song was being used, the music just completely cut off
on p5r they keep the stream in memory until the bgm changes
it does though, bgme would break on thieve den because it disables it but then wouldn't turn on again π
let's ignore the fact that last time i tested this it worked fine for who knows why
it fixed itself
ive done literally nothing except boot the game a few times
π
so i tried adding dlc bgm to a new costume and awb emulator died again
but i got an error on victory bgm

encounter["Normal Battles"]:
music = 10710
end
encounter["All"]:
victory_music = 10711
end```
aparently "All" doesnt exist even though its mentioned
try all, lower case

yeah, it's not part of the dictionary which is ignore case it's an if lol
but its mentioned as being part of it
wouldn't it be better to use global bgm on Triumph?
i check if the encounter target is equal to all in an if i mean, without lowering the original 
I didn't remember the name or the cue id so i had to do it this way
im 80% sure i didn't remove it
fuck i might've removed it in the big refactor i did
smh my head
i did notice something though
cue id 200 exists in P5R but is unused
(one of the many cue ids that redirect to the same dummy sound file)
but if i use it on the title screen its now giving me the OP movie track

so dc
the one that you just mentioned, the streamer also just got it
this really needs to be gone asap

what thing
and for this, scrap that. it doesnt work
ark means muted bgm
ah
yes
rebooting the game will solve it
but this can happen occasionally
and it's frustrating
how're you loading the dlc bgm btw?
BGME on P5R works by using the game's costume BGM masking system, but on two unused Cue IDs
i can tell you how I did mine which will just let the game load it for you

well, point is, im trying to use the global bgm to replace cue id 200
The DLC BGM gets loaded like normal, I just give the path to my file instead of the formatted string
but cue id 200 is just playing the wrong thing to begin with
I use Cue ID 200 and 201 as shell cues, new music gets played using those Cue IDs
ah
oops wrong reply
What actually changes is the AWB index they point to
anyway you can just patch the dlc bgm table
the first entry is valid but it has costume 0 and dlc bgm -1
you could just write bgm id 42 there and constantly write the costume id
so that the game will just always have 42 as the valid dlc bgm
typedef struct DLCBGMTBL
{
s16 bgm_id;
s16 outfit_id;
u32 bitflag;
}DLCBGMTBL;```
this is the table mapping
What would be the benefit?
well, for one you could keep the dlc bgm always loaded without a workaround
Where's the table located?
hang on
4C 8D 35 ? ? ? ? 66 39 6F ?```
this will lead you to the instruction that references the table
should be a LEA instruction i think?
Wait, what would happen once the player equips a costume? Would 42 remain loaded?
every time the game changes costumes or loads a field, it looks through the table
if the costume id joker has matches an entry in the table, it'll attempt to load the bgm id from it
in this case youd write 42
(and whatever real costume id joker has)
I get that but this, "you could just write bgm id 42 there and constantly write the costume id" seems more intense than just replacing the file path?
I'd have to keep updating the table entry with the current costume?
true
but its not as intensive imo
youd only have to updated it when joker costume changes anyway
not every time the game requests the dlc bgm
oh yeah btw, for global dlc bgm, I patched 2 spots
i noticed your error only puts 1 signature
maybe you wanna patch both
i'll implement it and give to ark test on but i feels a bit roundabout? then again, it's how the the game is designed to load dlc bgm, might be better
where's the second?
77 ? E8 ? ? ? ? EB ? B9 06 00 00 00
77 ? E8 ? ? ? ? B8 07 00 00 00```
in my patch i just write 2 NOPs lol
(screenshots from day 1 exe because im not leaving my pc on for days)
this JA
and this other JA
both of the checks are the exact same
i didn't even let my decomp finish, just gave it like 30 mins to an hour 
lot of stuff not decomped lol
lol
i analyzed day 1 exe for a few hours and have never touched another exe
havent needed to yet
I've been doing that and it hasn't failed loading bgm for me

anyway if you use cue ids 200 and 201 guess I gotta change that
thankfully i wrote down all the unused/empty sound cue ids
good job me
my worry is the fact that it's not just a new awb/acb, but essentially just a shell awb that then gets entries replaced through AWB emu
I'm not sure I follow
this will just make the game request the dlc bgm 42 instead of you needing to replace the path
and since the game itself is the one always requesting it, there shouldnt be issues
unless the issue all along was that there was 2 global dlc bgm checks and you only patched 1
I mean the process from game loading DLC BGM files => CriFs redirecting to my custom files => AWB emu replacing entries in it, before music finally plays
that's also assuming the file would work normally since it's 10k entries of like 100 sample ADXs lmao
well, I don't know what you do with the file but if it loads already then this should be no differend i'd think
ima just drop this since descs/bgme changes will be a bit
you can add the missing costumes now @split dove
yep, they're treated just like mod outfits
does the pme need a specific name or is any name fine
was about to mention it'd be: Joker/Phantom Suit/music.pme
gotcha
Just to clarify we don't actually have to put a new Phantom Suit model in? We can just make a folder with the correct .pme?
Also no crashes or softlocks on my end
I assume by this you mean the desc bug that causes fatal error still happens?
i was actually thinking of recreating some older sound mods with something bgme-related, i might use this
yeah just the folder is needed
Very cool and very lit
yeah, trying to get it to load a custom "bmd" whenever it's a mod. just gotta find the right place to do it
doing too late and it, you guessed it, crashes 
Gotcha. I noticed it still happened on 1.0.19 but I saw no mention that it had been fixed so I didn't say anything
i put it to the side because i thought i had the solution figured (i didn't π )
lmk if you have any questions or need features, im all about sound mods 
well for now im just sorta seeing if i can recreate ambush bgm expansion, and maybe after ill try something more ambitious like larger-scale replacements
if using BGME music.pme then yep, though if you edit battle BGM i recommend battle themes battle.theme.pme whose music would go in battle-themes/music
ah
i havent fully memorized how battle themes works so my brain was jumping to the bgme way
should be, anything you'd set music to in an encounter[] block you can set the battle theme to
the main adjustment is for randomized BGM since you can't use IDs directly, you'll have to use arrays with random song
an example from persona themes pack
ah
is there a guide for battle themes specifically? id imagine itd be better in some specific instances
haven't made a full guide since it's not released yet
gotcha
you can also use any vgaudio supported files for music, but since it's p5r exclusive in this case it's better to use encoded adxs already
originally designed for multi-game battle bgm packs
is there a way to change just advantage or just normal (or disadvantage) in battle themes
the way you phrased it, i got the impression id have to use the battle_bgm function, and since you cant call existing dlc bgm id have to reimport base game themes which i didnt feel like doing (and thus its currently on the bgme method)
do you use any other Cue IDs too? I tried using 202 and it still played colors flying high lol
cue id 911

wait, i got got by reloaded not updating cache again nvm
carry on
sorry about the ping lol yeah, it works now
global_bgm[911]:
music = 10999
end```
I think that's now all the bgm that were used implemented through bgme or costume framework
I think you can do something like battle_bgm(DISABLE_BGM, advantage).
DISABLE_BGM is meant for disabling songs in global_bgm but it basically acts like null. In encounter music, it should just use default music for technical reasons.
I've got descriptions working better now, but I think my hook might've changed some arg in the stack lmao (my desc has clr 2 but it's normally ignored still is π )
Descriptions seem to be fully working and hopefully shouldn't affect other BMD stuff
@smoky jacinth
Example Description:
description.msg
[f 0 5 65278]From the Persona spin-off that[n]basically no one can play.[n][e]
Message labels are auto-generated so leave it out.
nice
I just realized, this now means I don't have to include name tbl or datDressHelp bmd
or hook the leblanc box function for outfits
which means mod should now be compatible with other languages?
I mean, it always was, just, y'know, Name tbl and descriptions pak is like most of the important text
anyway since I'm "fixing" the DLC BGM by reimplementing it with costume framework, I decided I might as well make some tweaks too here and there, here's one such example
(excuse the very excellent video quality, it needed to fit on discord)
shown in order
ambush -> normal -> ambushed
my brain was glitching out trying to place the ambushed song, diff intro threw me: time to make history, reach out, then reach out first battle?
lame, especially since they have a builtin method for masking songs lmao
btw i've been getting this error on AOAs (presumably Futaba ones)
oh yeah cus of the method I used for replacing the futaba AOA model with the outfit ones
I forgot that also has code for grabbing her outfit id and applying it
lol
guess i should also boundary check it
π
this is the one that also has the bgm code removed
wait i forgot one lol
this one completely removes the hook
Does this also solve the muted bgm?
im hoping it is


:SadgeInTheRain:
:SadgeInTheRain:
guess that feature broke
i see why cbt was an apt name for the mod 
you don't know the half of it
no sane person would've done this, I can tell you that much
ok ive confirmed the skill bcd replacement working on both base game outfits and framework outfits
this is a framework outfit
yes the coat rigging is kinda fucked, no im never fixing it or touching that again
anyway lemme check the AOA one cus it has 2 epls and i dont know if its 1 bcd calling them or if they actually have 2 different bcd like savages
π
@strange mauve
π
it was the latter?
when you start an AoA
the game uses BKSK_ATTACK
but for Futaba's it uses these 3
one for each persona
these 3 are what call the "internal" epl
so I have to edit 5 BCDs per futaba outfit now
isnt that fun
and I think with the outfits I add its like 30 futaba outfits total
skill bcd, aoa finisher, aoa attack 1/2/3
these are in the goodbye folder too where the aoa one is
what needs editing in each, can they not be shared or was it the model thing you mentioned?
they cannot be shared, no
because they each point to an epl that has a copy of the phantom thief futaba model
isn' t that great?
In this case there's 3 because they also each contain a copy of each individual futaba persona model too
imagine calling the existing persona and futaba models instead of doing this
stuff like that is just baffling, surely what they're doing right now is more work than literally anything else
π
it was already like this with the skill bcd in p5/ps3
and instead of making it better on p5r they just doubled down and made even MORE like that
imagine having to figure this out, then figure out where to patch and not to mention getting the assets ready
welcome to just a fraction of the suffering
i hope its been fun
For randomizing costume
if you try to use thieves assist
the costume auto changed
it was Default joker costume earlier
latest ver π
@strange mauve
[12:50:11] [Reloaded] Failed to Load Reloaded-II.
Failed to compile costume descriptions.
at P5R.CostumeFramework.Costumes.CostumeDescriptions.Build(GameCostumes costumes, MessageScriptCompiler compiler)
at P5R.CostumeFramework.Hooks.OutfitDescriptionHook.<>c__DisplayClass11_0.<.ctor>b__0()
at Reloaded.Mod.Loader.Loader.LoadForAppConfig(IApplicationConfig applicationConfig)
at Reloaded.Mod.Loader.EntryPoint.LoadMods(IReloadedHooks hooks)
at Reloaded.Mod.Loader.EntryPoint.<>c__DisplayClass14_0.<SetupLoader2>b__1()
at Reloaded.Mod.Loader.EntryPoint.ExecuteTimed(String text, Action action)
at Reloaded.Mod.Loader.EntryPoint.SetupLoader2(EntryPointParameters* parameters)
at Reloaded.Mod.Loader.EntryPoint.SetupLoader(EntryPointParameters* parameters)```
its not telling me which one caused the error (if any in particular) lol
ah found out why
btw this didnt replace the all out attack bcd
followed this
so you can have a clearer visual of whats what
this one is the one that uses the 3 different BCDs
1 per futaba persona
(and this futaba model is in the epl called by each bcd)
and this one is BKSK_FUTABA.BCD and the model is from the EPL called by this BCD
Makoto uses 2 weapon files for her weapons. One for left hand and one for right. What are the names of the files supposed to be to load them?
@cursive grail you alive?
you get the no bgm bug sometimes too, right?
correct
can you check with this?
so what I did was, I patched all the dlc bgm table entries in the exe to all point to dlc bgm 42
(dlc bgm 42 is what BGME loads)
I see i see
alright time to test
though quick question
which of these are no longer exist in newest cbt?
i assume BGMAMBUSH and DLCBGM
I still figure BGMNEW is still used
its good enoughβ’οΈ
its also 2tb
its a seagate barracuda and I'd say I don't particularly wait long on loadings
especially not on p5r
nah I reimplemented everything using costume framework and BGME
just need to wait for the Futaba stuff now
and a toggle to disable the costumes that costume framework adds because otherwise we'll run into the limit on the kasumi page a bit too fast
lol
i forgot to add makoto weapons 
[Reply to:](#1188700814030672023 message) Makoto uses 2 weapon files for her weapons. One for left hand and one for right. What are the names...
oh god it didnt trigger
need to check what's going on with futaba aoa since the game handles hers a bit different (i don't think my hook is called at all rn)
but lets not be too happy first
the cbt gods also require your sacrifice and the other 3 BCDs they use for her starting the AOA
I never did understand how to properly import an AoA Futaba model. The only time I tried with the EPL injector the model just A-Posed and I said "fuck it I'm never doing Futaba outfits again" haha
then i can say it's fixed
good, you're a smart person
Why make life harder
some rabbit holes are simply not worth going down
@split dove we got it
muted victory
the bgm uses last surprise which is incorrect
well thats a new outfit, which doesn't exist in dlc bgm table
yes
but the game loads dlc bgm based on outfit id
dlc bgm system is what bgme is trying to use
thats why I said to try to fix this issue joker's outfit has to be checked and patched into the bgm table every time it changes (which i dont do)
unfortunately, it also happens on Default outfit and there's evidence already
~~Although it wasn't me who tried it ~~
but if you use one of the original game dlc outfits that had bgm this issue shouldnt happen
let me send the small video footage
original outfit
muted bgm
there are 2 scenarios when this happens:
- If the music Battle song is MUTED, victory plays last surprise
- If the music battle song is last surprise, victory plays MUTED
in my case earlier, i got 2
in the video above, he got 1
in any case, I already gave a suggestion that might fix it, but its not up to me and try and implement it since I don't handle bgme
@strange mauve my guy... you have to π₯Ί
what i did for randomized dlc bgm was, every time you changed joker outfit, I just patched joker outfit id to the first entry of dlc bgm table (which has outfit id as 0 and bgm id as -1)
so the game just loaded the dlc bgm for me
MOOD
now you know how i felt for the past 2 years

Unfortunately there's no way to know ahead of time, they get combined into a single MSG before compiling (and AtlusLib consumes exceptions if iirc) 
oh well!
am i tripping or should this be working fine?
it was a larger value getting casted to an ushort all along 
lmao
@split dove @smoky jacinth
- Costume melee and ranged weapons, also left and right:
melee_weapon.gmd,melee_weapon_r.gmd,melee_weapon_l.gmd, and ranged is just replacing melee. - Fix Futaba AOA.
- Costume folders now have a bind folder, example:
costumes/Phantom Suit/bindso you don't have to throw everything in a global one.
now to try this 
I tried it myself for a bit and maybe it helped, maybe not, idk
if (fix)
{
u16 OutfitID = getBtlUnitFromPlayerID(1)->outfitID;
DLCBGMTBL* dlcBGMTable = (DLCBGMTBL*)GetAddressFromGlobalRef((u64)dlc_bgm_table_Sig);
dlcBGMTable++;
WRITE_MEMORY(&dlcBGMTable->outfit_id, u16, OutfitID);
WRITE_MEMORY(&dlcBGMTable->bgm_id, u16, 42);
if (DEBUG) printf("Patching Randomized BGM_%03d for Outfit ID %03d\n", 42, OutfitID);
}```
i just hooked the function that requests dlc bgm and did this every time it was called lol
1556f4700 on day 1 exe
48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 48 89 7C 24 ? 41 56 48 81 EC D0 02 00 00 0F B7 2D ? ? ? ?```
maybe i should try that too, my method comes from the plain ASM inaba patch
what i did was, when the dll is first initialized (so game boot), i wrote 42 on all the bgm table entries
so writing 42 here is redundant, only needs to be done once
if (dlc_bgm_table_Sig)
{
DLCBGMTBL* dlcBGMTable = (DLCBGMTBL * )GetAddressFromGlobalRef((u64)dlc_bgm_table_Sig);
for ( int i = 0; i < 0x11; i++ )
{
// WRITE_MEMORY(&dlcBGMTable->outfit_id, u16, 0xFFFF);
WRITE_MEMORY(&dlcBGMTable->bgm_id, u16, 42);
dlcBGMTable++;
}
}```
lol
huh, actually how does DLC BGM interact with mod outfits (when calculating the DLC BGM ACB/AWB)?
it just checks if the current joker outfit is in any table entry
and if it matches it loads the dlc bgm id from that entry
thats why I was always patching joker outfit id into first entry
so it always matches and always loads 42
lol
and because it matches first entry it spends less cycles checking the rest of the table
Are the bit flags important?
yes and no
they were the """"anti piracy"""" on PS3 to prevent the bgm from playing
whenever you got a dlc they enabled bitflags, those bitflags in turn were checked in the leblanc box function to give you the dlc clothes, and when you got them a second set of bitflags got enabled
that second set of bitflags is what they're checking
so I guess you wanna set it to some bitflag that's always enabled?
maybe 0 will work?
oops?
yeah i had to do some uh, "shenanigans" to write to it
like changing memory protection settings
lol
isnt this fun
lol, haven't had to mess with that yet
i'll just edit the register after it reads it
true
in that case you might wanna make the register that holds the bitflag also always true
actually you can probably patch the instruction altogether
instead of check bit patch the instruction to move 1 to AL
this one
was wondering what that call was about
thats the bit check function
the non inlined one
(because they have it inlined everywhere)
zzz why does it keep using the bgm table pointer despite moving the bgm id into eax π«
fuck it, ima just make a fake table
i mean, i guess that works lol
ghidra is kinda stupid and you need to wrestle it but here's stuff renamed so you have a better idea
lol as soon as i removed this fix from my end i got dead bgm again lmao
so maybe it really did help
well the aoa futaba bcd works now, i found out thanks to a missing filesoftlock (on a file that exists)

idk why files used in BCDs are searched at the literal root directory of the game
they're usually searched relative to the BCD itself 
good news is I got my bgm file playing with new method, bad news is thieves den mute is back π« i think i know why hopefully
yeah that was it
the futaba aoa uses bksk_splatter.epl
so i had to copy it to the bind folder in the costumes folder too
absolutely baffling, entering thieves den reloads DLC BGM despite muting it
almost there, just the triple BCDs now
lol what're they doing in thieves den
The amount of over engineering they did for Futaba blows my mind haha
not to mention the animation itself on those things
for some reason the bones of her jacket go flying off
and ofc the skirts arent animated
so i had to manually fix that myself on every. single. model
this is what it looks like if you use the animation as is
Smh
you planning to add 200 sumi costumes
???
https://github.com/T-PoseRatkechi/BGME/releases/tag/1.3.0 new bgme just dropped
@cursive grail
i added a variant of every costume with the long hair, which includes custom imports for the dlc outfits and shit
lmao
I also just reimported the existing models to use the combat model skeleton since some people have mentioned camera issues
so you end up with redundant costumes too
POG
Any changes?:?
from what i tried it should work fine now
and the game actually does check if the bgm is already loaded before attempting to reload it
so its probably thieves den specifically being troll
cus normally they request it on every field change
Yayyyy let's try if it cause any issue
2 Battles now
18 more to go
how did it go
16 battles. So far so good. Only few more battles
I knew this had to work lol
worked for me when i did it for bonus tweaks since I'm letting the game's own code load it
that's a huge problem solved at least
ikr? I am hoping this doesnt trigger
im 19 battles already and nothing happened. It should be a good sign
let me clear the palace while im at it
@strange mauve Shall I Congratulate you for finally making it? π₯³
after 33 battles, nothing happened. And the usual trigger pattern that triggers it doesn't trigger it.
@split dove finally it works very well


for anyone using battle themes, i think there's a bug with files ids mismatching after adding new tracks
in your mod folder, delete the BGM_42.AWB folder it created it should update the files properly
@strange mauve now that bgme bug is gone. You can rest with ease.
just want to report than randomized outfit for costume still has a bug π¦ not recommended to turn it on yet
that's unlikely to be fixed, all i do is changed the equipped outfit id
it glitching is the game not liking swapping models sometimes 

aww too bad
DC's randomized outfit has exactly the same issue as yours. @split dove what was the solution again last time? Update the model in field or something?
time to sell out

May I get a screenshot of the folder setup for this? I must be messing up somewhere.
Costumes using specific assets, like FEMC's example, also would also need a config.yaml, with the setting character_assets: 1. 1 in this case would be assets slot 1.
Thank you! π
wanted to give weapons updating one more shot, but besides that I think it's finished?
right now im just organizing the posts
why is futaba so broken π
BKSK_ATTACK_NRB_FUTABA_0X.BCD
Should they all redirect to the same BCD or also new 1, 2, 3 BCDs?
one per persona i think they said?



not sure if this has been reported already but i uhhhh think i might've found a bug
i'm not sure about melee weapons but during fox's showtime w ryuji his ranged weapon doesn't change to match the one used in battle w a costume equiped
Isn't it always that gun? 
Does the ranged weapon normally use the current equipped one in Showtimes?
yeah, because it'd be weird if it doesn't but not get replaced. it should always get the costume weapon whenever it tries loading the weapon.
uhhhh tbf i don't actually know
my code is slowly become infected with futaba bullshittery (not shown is a dedicated function just for redirecting her AOAs)
@split dove , see files in screenshot
another victim claimed by the atlus code
Some showtime weapon models do not actually use the equipped weapon. This being one of them. Another is Joker's gun is the Akechi showtime
Pretty sure in those cases the models are in the item folder
im pretty sure its just part of the showtime epl
alright i finally got around to testing the futaba stuff
@strange mauve so how did you enjoy a small taste of my madness?
very fun, wasn't it?
thankfully it's not too bad, i'm able to just reuse the delegate function but man does it not feel great to have "do this EXCEPT for Futaba, and set this register EXCEPT for Futaba when X"
π
when i asked for your futaba AOA feature, i thought you were just setting a flag somewhere. i literally could not have thought it was a bunch of unique files because why would it be, atlus π

its really just not that possible to describe the pain, sweat and suffering that goes into the mod unless you experience it yourself
Narrator: It was actually Akechi's AOA
π«
he sure does (and the compiler decided to use the character id register for his if block) 
i swapped to checking the AOA file it's going to load
https://gamebanana.com/mods/488633
It's out, thanks for all the testing and help guys
! Now to actually play the game, maybe...

it's just sad randomizing outfit will never be fixed due to weird bug it happens
changing outfit in battle, and field. Imagine new experience

keep in mind, we both had completely different methods of doing it
and still had the same exact bug

π€ does this mean we can make it so it replaces field animations or item gmds but only when some custom costume from the mod is equipped?
cuz i have an idea
ann's guns from her and mona's showtime are an item gmd
i wonder if it's possible to make each costume load a separate item
so each costume would load different guns
ah wait i had a reading moment, it's a setting in the mod
@split dove @strange mauve quick question, is this bgm meant to be played on intro?
for cbt it should be between phantom royal and strikers depending on which title screen ver you roll
you also still have the old version which is playing the wrong cue id because BGME also happens to use that cue id for redirection
should be fixed with the bonus tweaks update i think
yup
awesome
btw
BGME 1.3.1 does not play any of my custom bgm
you change something from 1.3.0 to 1.3.1
1.3.0 is Perfect
flawless
in 1.3.1
it becomes like only play Last surprise, Take over
Okay I think I understand now after some tests
ver 1.3.1 BGME makes it as if it never use the mod/utilize the custom bgm at all.
Advantage: Take Over
Neutral/Disadvantage: Last Surprise
Basically it's like playing vanilla royal
no im serious. None of my custom bgm plays in 1.3.1
reverting back to 1.3.0 works now
yup it's updated
i mean, i just grabbed in gamebanana like an hour ago
unless this new option has something to do with it?
Current party bgm only?
Outfit BGM only gets added from members in the current party, instead of everyone all the time
ok so thats not it. I guess? 
but yeah im dumb, most of your music is through BGME Framework right?
yes correct
hm, it kind of sounds the bgme folder in mods is being ignored
@split dove last ping for today I promise you have done something about cutin in CBT right? So what rena did in this mod is Cutin will always appear upon hitting Weakness, Critical, Technical. However, there is one issue which is enemy may also use a cut-in that if not found can lead to softlock
i was hoping you may be able to shed some light to ma friend rena.
turns out i hadnt tested without costume BGM after updating BGME
I can also confirm its broken on latest update lol
only costume pme files are being read
this is not an issue easy to solve if you just patched it to always go through
because the game has specific hardcoded checks so it only goes through for specific enemy IDs
YES!!! Finally it wasnt just me
for custom bonus tweaks I make the cutin enabled if the custom enemy used the new custom command i made called AI_ACT_PERSONA_SKILL because in the original game only persona user enemies have cutins
and my method isnt even global, its only limited to the custom battles you call with the command
rena's method is just noping this
so i guess it will need additional check functions
yeah, no, that will not work lol
because you just make it work for everyone
and as you said, a LOT of enemies dont have cutin
you need a dedicated function hook etc etc
new bgme update should fix the issue
i forgot to add music scripts from paths to collection of music scripts 

not sure how itd interact with other things though, for example, i don't hook the global method, I hook the encounter specific method to the encounter code my mod uses for the new custom bosses
which allows me to make a command that allows the user to either use the original p5 style cutin (so just a dds), or a p3/p4 cutin which means you need to include the whole gmd
Ahhhh i see i see 

why can't things be simple with this game
they never are
i'll just disable crits from enemies π§
lol
lol
Based
π₯²
We still got a minor issue with bgme
1.3.2
the victory bgm plays one of the battle bgm
thats it
I seriously dont want to tire rena any further
i'll need more information than that since the music script parsing code hasn't been edited
post your music script, can you reproduce it with a simple script?
so the battle bgm is using this
which is alright. Nothing is wrong
but the victory plays this
which is wrong
should be original p5 victory since i dont have victory group for that song
test with a simple script?
i autogenerated that from your files, it's pretty easy for a song or two to be used in the wrong place
i will try. but alas... my time for using PC is over. Have to sleep now. I will try tomorrow
but for this, this is impossible to happen
the reason is because i use the same musicscript in old version 1.3.0 and even way before the muted issue is fixed
it plays that particular song and it always plays Original p5 victory, never other battle bgm
so it is safe to conclude that Music script is safe
however if you need more proof i can try tomorrow
I suspect one thing
whichever custom bgm song that does not have victory bgm will automatically play battle bgm
you do though?
const Trails_into_Reverie10114 = 10114
const Trails_into_Reverie10115 = 10115
const Trails_into_Reverie10116 = 10116
const Trails_into_Reverie10343 = 10343
const Trails_into_Reverie_victory = 10343
const Trails_into_Reverie_array = [10114,10115,10116]
const Trails_into_Reverie_songs = random_song(Trails_into_Reverie_array)
const Trails_into_Reverie_battleVictory = battle_victory_set(Trails_into_Reverie_songs, Trails_into_Reverie_victory)
no changes were made to persona music script afaik
OIh no no no, you misunderstand something.
The Battle BGM plays 10133 => This is correct
The Victory BGM plays 10115 => This is incorrect
If the case is what you were referring
The battle bgm plays 10115
The victory bgm plays 10343 => then this is correct
the bold one is the one that does it
All the more reason it is super weird
in that case, i will try simple music script tomorrow and randomize just 1 song
with no victory bgm
the jenga tower of jank is cracking 
to add onto this, im trying to have bgme in a custom boss encounter, but its just not working at all because the costume pme is overwriting
lol
that
hmm
place costume framework after battle themes
i think that should let BGME scripts overwrite stuff
don't think that's actually possible. music scripts get added/removed immediately but battle themes changes get buffered before the new music script gets sent. meaning it always gets sent after the music script, having "higher priority" 
if you have a list of unused battles, i can add them to special battles so they don't get affected by normal battles changes
persona modders learning that their favorite games actually suck:
@split dove uh, was this the second DLC BGM disable?

perhaps?
I never actually checked during life will change
i dont think the second NOP is the issue here, because remember that this NOP is for loading the dlc bgm acb/awb, its unrelated to music itself
the issue is that I assume BGME is just forcing the bgm change
because P5R specifically prevents its own bgm changes when life will change is playing
(or rather, they toggle a specific flag, and when that flag is enabled, the bgm changing code for battle is disabled)
hm, i don't think it did it before because i remember being (pleasantly) surprised that it played like the game but idr when that last was
@cursive grail did your bgm during heist play life will change like normal or has it always played bgme songs during battles?
It changes to bgme custom ost that i assigned
normally
it should be always Life will change
however i entered battle during calling card and it plays my custom bgm
which i love it
@strange mauve
ima just call it a feature leave it as is 
that's a lie ima add a toggle, life will change and i believe are too goat'd

its an "easy fix" assuming you have p5r specific code
you just bitchk flag 0x20000050
if its enabled, no bgm change code for combat
if its disabled, run like normal
you can see an example here
i believe 907 is take over?
you can see they explicitly check this flag before trying to assign the combat bgm
I honestly forgot this was a thing lmao
p5r has so many random tiny "gotchas" that you don't remember until you run into them
it's an asm patch so maybe i can just move it to right after it does the bit check? then i can get the value and manually set it depending on a toggle
ah
also, i've been curious, how do you call native functions? do you always have to sigscan them?
yuuuuuuuup
i dont know how reloaded handles it but you def have to do it like that in cpp
π«
reloaded has functions for creating hooks, functions, basically everything: https://reloaded-project.github.io/Reloaded.Hooks/GettingStarted/
i love assembly hooks β€οΈ
4C 8D 05 ? ? ? ? 33 C0 49 8B D0 0F 1F 40 00 39 0A 74 ? FF C0 48 83 C2 08 83 F8 10 72 ? 8B D1```
anyway welcome aboard
the fun never stops as you are beginning to now notice more and more
yeah, i've learned to never leave my BGM safe space 
so, I downgraded bgme all the way back to 1.2.6 but the P5S Title Screen theme just always fails to play now
and ive changed literally nothing on this one from how it worked the first time
@strange mauve ok so remember the victory bgm issue that it plays other bgm battle song instead of p5 standard victory?
it happens to me now
apparently from what i know, this issue seems to happen only if there is no pair song BATTLE and VICTORY BGM
not sure if this is worth raising but with overworld outfits enabled and a costume replacing jokers default phantom thief outfit the game seems to hang before loading the main menu
that's because something is overwriting the standard victory song with 10115
So all the overworld outfits does is let the framework redirect every model the game tries loading, and I guess the main menu is a bit picky lol. I think always excluding that model is probably for the best?

https://github.com/T-PoseRatkechi/P5R.CostumeFramework/releases/tag/1.0.28
- Adds support for all the emulators in character assets folders:
characters/Joker/1/FEmulator/+SPD/PAK/BF
@sly lagoon
btw not sure if this is something that already exists via other means, but it would be cool to have specific animations tied to costumes without the use of character slots, this'd be rlly useful for mods that don't fully replace characters but still want to use different animations that could be put in the bind folder ?
that's what i originally wanted to do, but the game loads some animations at the start and never reloads them. if it's an animation that gets loaded on use, then it's possible to tie it to an outfit else π
damn
sorry for ping, but would you happen to have some new animations i can test with
maybe i can do something similar to descriptions
my rin mod has unique aoa anims
||tbh i thought i included them when i sent the early build of the mod but i checked bc i accidentally deleted them and they weren't there so i had to redo it all
||
here's a wonder outfit and anims which'd probs be easier to test w bc it has full battle anims instead of just aoa
That doesn't fix the issue with p5it I just mentioned all the emulation support to show why I needed configs 
This solution would still mean toggling config options in two different mods and that's really confusing for users who just want to disable some characters or extra stuff like balance changes.
max really went "does it support x, y, and z? no but now it does. i didn't really care about x, y, and z." 
I explained why the asset solution wouldn't work

Yeah and it's so weird it happens
it isn't, you have some music script somewhere changing it with a global_bgm 
it's not in your main music script at least
okay let me have a look
Yeah i just have a look, cant be from my music script
the only one that i know using global is CBT
dc doesn't use 115.adx so i don't think it's that either
If you're looking for 115.adx that'll probably be my stuff lmao
Which is currently set to a victory theme for the KH3 sora outfit
I see you are a Foobar2K believer as well
Never again do I need to destroy my headphones listening to encrypted adxs
I started at 100 because I didn't think anyone was gonna have more than that many tracks haha
only need to make that mistake once lol
Hold my beer
but yet again ercar
you cant make any more than 291 total songs combined
if you do that,
crash
confirmed with @strange mauve
I did not know there was an actual limit
ercar's pack only adds 16 songs rn lmao
Again I didn't think people would add that much lmao
that would be me
yes, if you combine with my custom ost and CBT latest ver
that exceeds 291
congrats
BOOM
you need to use less songs, or remove them and their music scripts from other mods π
Tbh I nuked the CBT tracks and costumes for my own use lol. Just made it easier to keep track of what I was doing and kept load times down.

in order to increase compatibility, is it possible if you change the ID to 4XX above?
i've got bonus tweaks + ercar pack + persona themes + spinoffs, still only halfway to the limit
cause i had to make my custom OST the lowest list to be able to play mine
i can do mine of course but it is going to be confusing since i did a lot to my music script

@split dove is it possible for you to get dependencies through reloaded: https://reloaded-project.github.io/Reloaded-II/DependencyInjection_Consumer/
or is that not possible with a native mod?
i use a cpp dll, there is no reloaded code there at all, so i dont really know anything about interacting with reloaded stuff
unfortunate 
hey is it normal for costume framework to delete akechi's ||black mask outfit ||?
when first loading into the palace it was listed as something to the effect of "UNUSED (Do not equip!") and booting up today its just gone
Yeah itβs just completely gone
Even after removing Akechiβs costumes the game just defaults to the Prince outfit
And I have no clue as to why or how it deleted the other one
very normal. i don't like it so i just removed it from the game 
goat
cook
can't wait for the ||Black Mask Restoration|| mod
I didnt even know this was a thing lmao
i just added copies of both of his PT outfits for use in cutscenes
since cutscene outfits ignores 51/52 models lmao
I want it back lol
You got the .GMD?
its just model 52 from the game
You have to realize idk how to extract files from the game and Iβm on Steam Deck so idk how to get it lol
???
qq: if you have two outfits with music scripts on different characters in the same mod, and you have both of them on, how is that handled
they're just regular music scripts so they'll be combined, with the latest one winning any conflicts
battle bgm scripts just get added to the pool
i mean like
if i have a ren outfit and an akechi outfit in the same mod, that both edit the same fights in conflicting ways, what happens
im not sure what this means
the last script to be added (the last outfit equipped) would overwrite any previous changes
because of the above, normally only one mod/script can edit bgm for normal battles. Battle Themes uses special music scripts so multiple mods can add new music to normal battles.
in costume framework, it allows multiple outfits to add battle bgm
i think i get it?
so if outfit A called song A and outfit B called song B, both by battle themes and both for, say, normal battle with advantage, itll randomly pick song A or B?
yep
all battle themes added (either by outfits or a mod like randomized battle themes) get added to a pool for music then randomly get played
aight
finally got around to testing this and alas, it seems to shut off dlc bgm outright for whichever field gets DISABLE_BGM
tangent, my mods that use battle-themes are having femulator folders spawn in them, is that intended behavior
for the latter: yes
unrelated jumpscare
lmao
it wasnt even on purpose lmao i had randomized outfits on
The better question is why do you have it in the first place
it comes with cbt lol
im also getting outfits in cutscenes, despite the feature being disabled in cbt
havent done enough testing to be sure of the cause but i do have overworld outfits on in costume framework settings
(7th palace spoiler ig)
im not sure what broke here
That do seem to be overworld settings in Costume Framework
His friends abandoned him π
poor little meow meow
(i closed the game after taking that screencap since that was clearly a softlock)
My Twitter: https://twitter.com/prozdkp
My Let's Play channel, Press Buttons n Talk:
https://www.youtube.com/channel/UCSHsNH4FZXFeSQMJ56AdrBA
My Merch/T-Shirt Store: http://www.theyetee.com/prozd
My Tumblr: http://prozdvoices.tumblr.com/
My Twitch: https://www.twitch.tv/prozd
My Instagram: https://instagram.com/prozd
My Patreon: http://www.patre...
that's confusing, i've no code that turns off bgm and i'm not sure why disable bgm would do that π€ since this is p5r only, can just use the game's existing music: battle_bgm(song("Last Surprise"), etc etc)
hmm. i did have a bgme mod at lower priority, ill try with it off
when its not 5am pst
Ah. See I didnβt use CBT cause I had been using FeMC mod (which doesnβt necessarily conflict but since joker model is changed certain things may not play nice) til it completely broke on my end and I had to get rid of it. Iβd get it now but Iβm on the very last palace so I feel at this point itβs not worth setting up lol
looking through the code and i was mistaken. DISABLE_BGM in encounters gets turned to 0 which probably = mute (or an error that mutes bgm)
dang
(to be clear, the context with DISABLE_BGM gets the normal non-dlc bgm aka take over for advantage and last surprise otherwise)
that's how i want/will make it function
honestly, not entirely sure how the current code isn't breaking encounters that aren't edited lmao but i guess it works within the full asm context
oh
oh yeah forgot to mention
a while back i got a showtime with makoto in one of the january outfits i forget which, and during the little animation for getting the prompt she sorta disappeared. i thik the camera was in the wrong place
i actually got this while first making the crossdressing mod which is where i recognize this visual bug, i think it was something to do with the transforms of the face? idk that anything can be done about it, just thought id bring it up
anyone ever notice issues with teammates shielding?
I'll try and check
Took me like 40 minutes lmao but the game did not crash for me
Side note this random chimera in the final palace just seems to NEVER wanna attack Joker even though Joker has a weakness that it can exploit lmao
thanks for testing ercar 
I'm gonna test again with some other outfits and the DemiFiend mod to make sure none of my animation stuff does it
Yeah nah no crash
i remember dc mention using models not meant to be used as outfits could have bugs during showtime, i wonder if they were using one of the sumi or akechi outfits it adds π€
The messy hair akechi didn't crash
I don't have Sumi at rank 9 though
Ratkechi didn't crash either lol
Is it possible to change which Joker bustup is used with Costume Framework? Unless it is already and I missed it
It's super minor but it frustrates me that all additional costumes use the everyday bustup and not his PT one 
well if outfits already do that then it might be; i didn't bother since i doubt anyone would make custom ones for an outfit
they dont
it could've been done in ps3 with code patching
but i dont know if that code got inlined or not in p5r
never really found it again as i had no reason
(we needed to find it on ps3 because they hardcoded the PT Joker bustup to only work up to model id 169 or something like that)

did anything change in recent updates?
getting people reporting costumes missing now unless unlock all costumes is enabled
i don't think i've changed the item code since i wrote it 
it having the name wrong but still working is also weird:
if (this.costumes.TryGetCostume(itemId, out var costume))
{
// Get name from config.
if (costume.Config.Name != null)
{
return StringsCache.GetStringPtr(costume.Config.Name);
}
// Get name from costume object.
// Only for mod outfits so NAME.TBL edits work.
if (costume.Name != null && VirtualOutfitsSection.IsModOutfit(itemId))
{
return StringsCache.GetStringPtr(costume.Name);
}
return this.getItemNameHook!.OriginalFunction(itemId);
}
return this.fallbackNameStrPtr;
}
btw, there is something I noticed now but I don't know if I'm just trying something unsupported
I can change the name of an existing (unused) costume and override the gmd just fine, but the description.msg file seems to not be working
should be working fine since I copied the description msg from an existing one that does work
(and then edited the text)
descriptions are broken in current release
i already fixed it just never updated 

now people can stop asking you how to remove it lmao
im just gonna remove akechi's costume again, this is stupid
is sumi working for yall 
broked how
posters say it was fixed 
well there's been no updates to p5r, cf, or bgme since then so
best guess would be there's a bug in the music script
This started happening after you updated Ryo Framework
i have zero connection to ryo framework 
Oop
going through the ryo commits, there's no changes since oct that could've affected p5r ryo except for maybe one
but that was a bug fix, and chlor hasn't mentioned it breaking anything in p5r
Wouldn't costume music not go through ryo though?
I mean for cf stuff. afaik it was always bgme
all new audio/music gets added through ryo, bgme just handles some bgm specific stuff nowadays
Wild I never noticed it lmao.
did anything else get updated recently?
i put in the effort to make sure no one would (like by breaking older mods) 
if you have a small mod that showcases the issue, i do have p5r installed again



