Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - DLPB

Pages: 1 2 [3] 4 5 ... 365
thanks for all the hard work you put in this mod

Also, editing your posts in an obvious and feeble attempt at covering up what you originally wrote really doesn't work, Zara.

But I suppose that's something.

I don't know R3000 mips.  All I'd say is, the code you have there looks about right and you need to set her default attack power to 1.  Probably by setting one of those zeroes to 1/

Also, when I get round to releasing Reunion.... the new musics have had loop points fixed by a program - cause a few were slightly out. 

ha. i got confused. yeah thats pretty decent proof it was deliberate id say. i think it was a delib action. It's a tough one to call.

DLPB - Today at 11:05 PM
ok well im gonna go for deliberate
on basis that she is the thief
and the timing of it aboard that ship

I spoke with DynamicDJ in Discord last night and looked into this.  I don't think the Morph issue is a bug.  Like DynamicDJ  said to me, the Conformer and Morph are conveniently in the same place - and the developers may have known that the weapon Power value would be used rather than the Morph Power.

Oh yeah I get that :)  It's just the game splits up the two, as you have in Wallmarket - and then assigns flags and functions based on one part and the other.

I also saw the look up table at 8FF1F8, but the function that contains the Ultimate Weapon formulas seems to hold a lot more besides.  Haven't looked into what other stuff it has.

8FF238  seems to hold the Special formula (not Ultimate Weapons)

Damage formula is split into 2 parts [Use tool Wallmarket to have a better idea].  Let's use Conformer as an example.

First, the type of attack. Conformer uses A

A is Physical.  Check accuracy, Critical, and Ultimate Weapon formula (only used for the 9 ally Ultimate Weapons)

Next, the sub type.  Conformer uses 3.

3 sets the power value to be the average of enemy level.
3 is a subtype of A - so it HAS to be used with A.

The byte in full is thus A3, in the game, at Attacker's Data (99E308) + 40.

The game actually splits this back up into A and 3 in function 5D17C7 and places these values in Attacker's Data (99E308) + A0 and Attacker's Data (99E308) + A4.

From here, for some reason, it assigns another value for the type and subtype based on these values.

Conformer ends up with a Type of 5 (from table 8FF068) and a Subtype of D (from table 7B7720).

From here, 5 and D (for Conformer) are also used for other functions and to set certain conditions.

The alternate SubType value is placed in Attacker's Data (99E308) + BC

The alternate Type value is used (in function 5D17C7) to set other conditions (3 total).

If a Physical attack is set, it will set an unknown flag to Attacker's Data (99E308) + 6C.

If Special Formula (Type 7) is set, it does a meaningless(?) check to make sure that the Subtype lies within a range.

If Ultimate Weapon formula is set (A), it will assign a Subtype flag to Attacker's Data (99E308) + BC. As stated above, for Conformer, this is D.

The Ultimate Weapon power is calculated from hardcoded data at function 5DC880.
Since Yuffie's Conformer is set to use Subtype  03 (changed by engine, remember, to 0D) the jump at 5DC901 will be to 5DCD83 [Set power value to Enemy average level].

And there you go.  Funnily enough, the engine does something strange there and sets eax to 1 and then tests if it is 0.  lmao. Not sure why? 

So, the function 5DC880 deals with the 9 Ultimate Weapon calcs. It uses jumps 0A, 0B, 0C, 0D, 1E, 1F, 20, 21, 22.

It's likely many more of the core calculations are done in this same function, and I will be testing that soon.

And it is a bug that the Conformer power can be 0 leading to no animation / sound but 1 HP deduction.

Programmer simply forgot that allies being targeted would result in 0 power.  He either should have done what I have above - or added 1 when ally targeted.  OR added in ability for ally levels to also be used.

Scripting and Reverse Engineering / Yuffie Conformer Bug
« on: 2018-05-13 12:17:09 »
If the flag added when Power is 0 at

is skipped, the Conformer will then correctly show damage and effects when targeting allies (damage 1).  But this check may be needed for other effects to disable damage and normal effects, like sound.

With Yuffie's conformer, there are three possibilities to what the developers wanted:

1. That when targeting allies, the damage will be 1 and that this damage be displayed.

2. That when targeting allies, the damage will be 0 and that this damage is not displayed.

3. That when targeting allies, the power rating be 1 - and thus damage will be at its minimum for allies.

I suspect that there was a miscommunication.  The normal minimum for any physical attack that lands a hit is 1.  The reason Yuffie's weapon takes 1 off is that the variance formula does it's job and makes it 1. 

But because of the power check being 0 (since allies' level isn't checked), the damage display and other effects are disabled by the flag at the address above.

The two possible fixes are:

Disable the ability to skip damage and effects when power is 0 (might break other effects)

Force Yuffie's conformer formula to have a minimum power rating of 1 (which would then affect allies with damage greater than developers intended)

It would be a lot of work to make a workaround that made her attack = 1 and display 1 when her power alone is 0.  Because then you'd be checking if her conformer is equipped.  That's possible,  but i'd prefer to not go down that route.

Could also add an additional line to variance to skip adding 1 when power is 0.

Question first is how many things are affected if 5DA71D = EB 1A

Too many are.  Frog Song, for example, will show damage being 0 instead of just doing the effect.

I think best way to fix this now is to just make the Conformer take off the minimum when targeting allies (power = 1).

Code: [Select]
5DCD8C = C7 45 E0 01000000
Will fix it.

If using 7th heaven, bug reports here are as useful as a fart in a Jacuzzi.  I don't support other mods.  It says so on the first post.

Even in the PSX version, the sound test is the same.  So if it's mixing, each ID is still its own ID 0 but mixed from 2 sources?

This is super impressive stuff.

Considering effect 120 is this (I assume)

Perhaps C6 changes pitch somehow?

Effect 144 is missing final note:

Also, since 117 seems to be alarm sound..  pitch slide might be pan slide?  Alarm has stereo difference.

Another note:  There are only 1-731 effects in the game.

My way of doing it allows for a degree of leniency but is more catered to entire mods that are self contained - because I think that's the best way of doing it.  7H is nice but it adds so many issues and will never manage to work out all the inconsistencies.

My way will be open source if using aali's driver code.  It's a fairly simple system that makes use of whole lgp reads and directmode.

I am also currently making my own mod manager integrated into Aali's driver.  But I don't know C very well so it's proving a hassle.

Looking forward to latest release.

Also, certain effects like the alarm in reactor 1 are stereo.

Very likely C2 is reverb.

I know that cursor and error don't have it, but cancel and menu do (before looking at code).  And so far that is indeed how it looks in your program.


Do you think the sound will ever get v. close to the actual PSX sound?

The thing to remember also is PSX adds its own variety of reverb - but I've noticed that only on certain effects.  I don't remember cursor sfx having it - but many effects do.  You can always tell because a no reverb effect always shows a hard stop in wave form... and a reverb doesnt.

So one of the ops will be reverb maybe?

Bug:  See effect 617.  If you play more than once, the pitch isnt being reset.  Other things may not be being reset to default on new start.

Vanilla does not have that interface. I created it.

Vanilla has 3 columns and not 1.  So you see the gaps in the same row.

I tried to locate - but I couldn't work out if the IDs are in order.  The first ones appear to be.  If in order, I will get you a list tonight.

The looping section doesnt have to be from start...  often I see what seems to be a flange effect that decays and then a looping section that can last up to a few seconds.  Loops can last much longer.

Also, you should be aware that there is a random effect operation too.  For example, birds will cheep looped, but never in a fixed pattern. It may be that it can play more channels at same time?  Though I find that unlikely.

This is normal. Those spaces are filled by higher level effects such as Blizzara and Blizzard.  The engine doesnt support neat commands.  It would have to be added.

This is seriously impressive....  you can make out exactly what sounds they are.  It's taken over 20 years for someone to tackle it.


Should be noted that some effects should loop indefinitely and perhaps thats what one of the missing opcodes does?

i have a good audio setup. if u want to run by me 2 versions with different codes i can tell you if i hear a difference

I've recorded all of them from Mednafen... and looped any that need looping.  The audio replacement mod is done.  But Aali's driver code - and not having direct mode set up with my new mod method - is holding Reunion up.

I want to make The Reunion integrated properly  with direct file mode.  Since Aali has done the leg work... it should be fairly simple for me to change his code.  I'm going to have a go.

I'm really looking forward to seeing even a semi working program that can decipher the audio

Pages: 1 2 [3] 4 5 ... 365