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 ... 364
1
I'm getting somewhere with this. I'm currently at work with a notepad jotting down a procedure going forward.

What has been done:

Aali's driver has been stripped of FF8 support and non-English support and merged into The Reunion.  It will work with my own DLL only - and the two provide full bug fixes, with Aali's side obviously mainly doing the graphical fixes - such as Open GL support.  If anyone wants to look at my code to add some of it to Aali's original source, they are welcome to. My version of Aali's dll is tailor made for how I want to do things.

His "driver" is now named aali.dll and works with my own dll - loaded at game start (ddraw.dll)

Even though only the English exe is supported, it is easily possible to support other languages because of how I am arranging things.  Lots of plans afoot.

Window.bin has been abolished and is not loaded (the font spacing table is instead loaded from an external text file that users can mod easily - If file exists - otherwise default English applies). 
All original music and audio files have been abolished and are not loaded - including original midi support. All Audio (apart from FMV audio) is handled now by my dll.

This means the files related to above are completely redundant and can be deleted.

Additionally, the temp .p files from startup are now written and read from \data and not from root. Still have no idea what these are and they are only used on startup.  Written to disk, read from disk - and that's it.  Waste of time.  If you deliberately avoid the write / read then the game loads to the debug screen.  There was definitely no need to write these to disk... could have all been done in memory.  I disabled the write and made it read only as a test and it works. That's not ideal because it's too easy for one of those .p files to vanish, I suppose.

- field screen is centred - including FMV.  Down side is I think this needs to happen across all modules so the game looks consistent.  Certainly the Menu could benefit from it. But that's an awful lot of work at this point.  Perhaps I should have planned ahead :P  But then again a lot of this is trial and error.  It's been a lot more involved than I ever imagined possible.

I am trying to make as much of The Reunion's mods as global as possible. 

Audio Replacement will work with all user mods already.  So will the Frame Limiter, which is now mandatory (Aali's version has been removed in favour of my own).

Soldier Quest could probably be made global but will need the wizardry of Luksy.

Model Overhaul should be global [note as always these mods are all optional]

Menu Enhancement currently only supports Beacause.  I am having a big think about this but I don't seem to be able to rectify the logic of it all in my head.

Beacause + script fixes also come together.  The work needed to make script fixes completely separate as a mod is just too big.  I guess I have to cut my losses at some point.

So a big problem with why this mod still isn't released is the internal conflicts in my brain with how these mods all interact together. 

The config file Aali used has been simplified with some stuff stripped out.  It's been merged with my own config file.  At moment, I am trying to fix up Aali's 3rd party config parser to work with mine properly.  It's overly bloated code and a nuisance - as everything in C seems to be. I've stripped about as much out of Aali's driver as I can in favour of my own Delphi code and dll for that very reason.

60fps mod is global and the interpolated version optional also.

There's way too much going on at moment.... So many mods and fixes and conflicts that my brain is about to crash.

edit.  Above info was wrong.

2
Check those kanji too because there were issues originally - I think gemini dumped them wrong.  But since I created this from Glitterberri's we should be ok.

3
https://drive.google.com/file/d/16vUnHDIPwnCCxXpn4j7gti1a4tZi66c-/view?usp=sharing

It should work like that for the used kanji - if like the dialogue.  I created this a while back from Glitterberri's read outs.  See sheet 1.

Not sure that helps you at all.

4
It is up to Incinerator how he proceeds.  It is his mod.  If you are offering positive feedback - that's one thing - but what you are not entitled to do is buttercup about core parts of his mod that HE wants to implement as a foundation.

You choose to play it as he intends - or don't play it.

I had this same crap when I was planning to remove Cait from FF7 as an optional mod.  No-one is forcing anyone to play this mod. The original game is still there. It's not going to disappear.

Accusing him of insulting fanbase for an optional mod that he has created is just fanboy drivel. This forum is all about modding.  It's not about getting offended at change.

5
Troubleshooting / Re: please help
« on: 2018-06-07 20:27:07 »
Where once was light
Now darkness falls
Where once was love
Love is no more

Don't say - goodbye
Don't say - I didn't try...

6
Troubleshooting / Re: please help
« on: 2018-06-07 17:37:40 »
The place is far from dead and the very people who are keeping it alive are the people you want to help you - the modders.  But, hey, guess what?  It's easier to beg and complain  and whine about that elusive mod you want than to get off your backside and learn how to make one [Note:  When I first came here I requested a Disable random battles mod  - and from there I listened and learned and now make my own mods].  And this is a forum where the regular members will be *shocker* modders.

So, of course a site like this is going to have less activity than, say, a braindead forum where the main focus of discussion is

a. How big are Tifa's tits

and

b. Whoa whatz latest news on the remake!!!?

7
Troubleshooting / Re: please help
« on: 2018-06-06 14:37:11 »
Additionally, what makes you think people ignored replying?  I saw this and genuinely can't help.  And I doubt anyone would help because it's a non trivial undertaking.  The odds that you will get the tool creators seeing "please help" and even remotely being able to fulfil your request is slim at best.

You should have at least found the official threads and made a polite request.

On the bright side, you smoked SL1982 out of his retirement hole. :)

Edit.

Ha part of my response made no sense, 'cause I was at work dealing with a customer at same time.

What I meant was that the creator of the tools would need to make a non trivial update and the odds the creators will even see the contents of this thread are slim. 

8
Roses and Wine is by ID.  Anxious Heart is too :)

In fact, FF7 also uses IDs...  via Akao.  In Makou you can also see the absolute IDs for 7. The relative IDs you are talking about in FF7 are just a simple wrapper function that calls Akao with the correct ID (in PC version.  In PSX, it contains the code).

9
I would say wait.  For sure.

R06 will be much more rounded, but R07 will be the finalized version.  Charlie Beer is currently doing a proof check:

https://docs.google.com/spreadsheets/d/1jcnXS15WprRsqaVQ_HFwZSaz_XV-H39Yru_GRpkUT0w/edit#gid=914772850

This will give you an idea of how many corrections have been made.

10
I spotted that I messed up the DLL path, so only global DLL will work.  I'll fix this in later revision.

11
Everything is possible, but deletion of files would not be something most modders will touch with a barge pole.  The amount of complaints and issues that would arise are enormous.

12
Team Avalanche / Re: Jusete´s field scenes
« on: 2018-05-28 23:07:19 »
That's seriously impressive.  Well done!!

I notice there's a gunblade there :P

13
You're such a doof Dan ::) The encoding of that particular file has been flipped up, if you look at the original on github you can tell what's supposed to happen there.

Yeah I had a feeling that it was an altered line somehow.  I'm not sure where it went wrong because I downloaded it from the other link you sent.  I'll have a look. ;)

What did you originally compile the source in?

Edit

Code: [Select]
font_map['í'] = 114;
I figured it was that from the code in a hex editor...  but why is this one being assigned and the other specials are not? Was this originally a problem?

14
In the coming days, I will be releasing a new version of the driver - though it will likely have a few hiccups, given Luksy has had to rebuild it for VScode. I'll try to iron those out with him before that day.

Meanwhile, I noticed a slight bug in the code that I am awaiting Aali's input on.

I have added my screen centring code for field and FMV already.  I intend to modify the driver for use with Steam versions of FF7 (albeit with a check for proper install / non-pirate game).  It may be the case that, in the future, I decide to create my own fork that supports FF7 English only (it would be working with my own DLL too - to allow anyone to use 1.02 English for modding purposes)  - but for now I am adding some fixes for all - and will try to fix the odd issue we had with FF8 (like controllers losing focus). 

I will have to make a decision on how much work I am willing to do for FF8 and non English FF7.   Of course, Aali has now released his source and I am willing to work with any programmer who wishes to maintain the driver (minus any way to bypass buying the game).

Ultimately, I want to create a way for people to be able to use FF7 1.02 English as the sole exe. I have a great deal of thinking to do.

15
ujunon1 example

The unknown bytes in walkmesh > misc.

At least some of these are to do with the starting offsets X and Y for field.

I am currently adding field centring to Aali's driver and I had to look at the asm.  When I traced back what values were involved in the main screen offset X Y for field, this data is used.  For example, Y offset (or one of the ones involved) is at MainFieldOffset + 0x24

006443F9 - 0FBF 48 24            - movsx ecx,word ptr [eax+24]

ujunon1
Code: [Select]
75 6A 75 6E 6F 6E 31 00 00 A0 40 00 00 FF 00 FF 00 01 00 01 00 00 00 00 00 04 00 04 00 04 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 63 02 78 00 00 00 4A 02
You can see here the A0 (Movement orientation)  and 40 (Camera focus)  - but  the 0x24 byte is offsetY of the  screen.

In fact a lot of those values marked 00 in misc are set in the function involved with the address above.   I have successfully changed global Y offset without interfering with this data.  I was going to force the change by bypassing this, but some fields are relying on this data.

From the 3rd byte on of misc data (zeroed part), it seems to conform to MainFieldOffset + 0x22 onwards.  I am unsure what the preceding 2 bytes do at this time but they don't match 0x20 and 0x21.

For example, in bwhlin2  misc unknown data is

00 f7 80 f6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Yet we see in asm

62 77 68 6C 69 6E 32 00 00 80 00 00 60 FF 88 FF A0 00 78 00 00 00 01 00 00 04 00 04 00 04 00 04 88 FA 80 F6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Above in red, the main Y offset of screen.  Chances are that changing this word to 10 (or perhaps 8) will centre the field (or at least move it down)- but will need some testing.


16
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.

17
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/

18
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. 

19
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.

Quote
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

20
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.

21
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)

22
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.


23
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.

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

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.

25
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.

Pages: [1] 2 3 ... 364