Skip to content

Conversation

@rakisaionji
Copy link
Contributor

@rakisaionji rakisaionji commented Mar 10, 2019

This PR is just a basic commit, it enables opportunity to keep some values like VP and audio settings that can be saved or loaded when implemented properly and also can be worked with a GUI that help user setting the INI files. Those proposals can also be applied to levels and more dynamic fields in not only PlayerData struct but also other custom configuration structs.

0x00798108 : 0x0005 : E8 F3 01 E7 FF : EB 2D 90 90 90

// Disable jittering Temporal AA thingy (by @lybxlpsv)
0x002E76D0 : 0x0004 : 8B 44 24 04 : 29 C0 90 90
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wouldn't it be plausible to make this a config option that toggles the flag at runtime?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea tho... fork me daddy...

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just comment it for now if you want to put it in patch.txt, unless if you want to create a component that disables mlaa, taa and enables toon shader if arbitrary resolution.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, I will revert back the patch.txt file to its original state.

Copy link

@ghost ghost Mar 14, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To add onto what was said here, I got the other hex edits that lybxlpsv made, inside of an optional field that could be commented out of the patch.txt file (if said user doesn't want it).

`// --- Optional Fixes: ---

// Disable Temporal AA (by @lybxlpsv)
0x002E76D0 : 0x0004 : 8B 44 24 04 : 29 C0 90 90

// Disable MLAA (by @lybxlpsv)
0x002EDAF8 : 0x0003 : 8B 45 10 : 83 E0 00

// Force Toon Shader (on PVs that use it) with arbitary resolutions (Higher than 720p) (by @lybxlpsv)
0x00314F86 : 0x0002 : 74 0D : 90 90 `

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other lengths that have 4 hex values in the patch.txt use the same exact value for four different hex values that need to be modified, as an example.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright. So after getting some assistance regarding how to get the correct hex address for patching, I managed to succeed in changing the addresses, so all of those fixes that I had on my patch.txt actually worked, alongside adding a segment where I can patch the exe to use mp4 files instead of wmvs.

`// --- Optional Fixes: ---

// Disable Temporal AA (by @lybxlpsv)
0x006E82D0 : 0x0004 : 8B 44 24 04 : 29 C0 90 90

// Disable MLAA (by @lybxlpsv)
0x006EE6F8 : 0x0003 : 8B 45 10 : 83 E0 00

// Force Toon Shader (on PVs that use it) with arbitary resolutions (Higher than 720p) (by @lybxlpsv)
0x00715B86 : 0x0002 : 74 0D : 90 90

// Use MP4 files instead of WMV files (So PVs that rely on videos can be played back without issues) (By @bryceless)
0x00B70069 : 0x0003 : 77 6D 76 : 6D 70 34
0x00B700B5 : 0x0003 : 77 6D 76 : 6D 70 34
0x00B7BA5A : 0x0003 : 77 6D 76 : 6D 70 34
0x00B8A5B7 : 0x0003 : 77 6D 76 : 6D 70 34
0x00B8A5D0 : 0x0003 : 77 6D 76 : 6D 70 34
0x00B8CE30 : 0x0003 : 77 6D 76 : 6D 70 34
0x00B8CE40 : 0x0003 : 77 6D 76 : 6D 70 34
0x00B8CEF0 : 0x0003 : 77 6D 76 : 6D 70 34
0x00B8CF00 : 0x0003 : 77 6D 76 : 6D 70 34
0x00B8CF20 : 0x0003 : 77 6D 76 : 6D 70 34
`

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contributions guys, you guys sure have more contribution and more IQ. You guys are definitely deserve having AFT more that @filo97 kiddo. The sad thing is our goddess @samyuu don't want to merge those in his master just because those are not appropriate for average low IQ players. There are people can't even install ELAC. It's such a pity since they already has chance to have the PDA dump very publicized.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You know what @rakisaionji i do agree there are quite a few people who deserve it more than me. That doesn't make you one of them.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my dick is so hard rn

Copy link
Owner

@samyuu samyuu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem I have with these is that the PlayerDataManager loads constant values into the PlayerData struct whereas fields, such as act_vol , pv_sort_kind or hp_vol, are already controllable in the game through normal means. Overwhelming the user with options they most likely never want to use in my opinion does not improve the user experience and only leads to needless confusion as well as taking away the control of dynamically setting them inside the game itself.
The goal of this component is not to just make every single field accessible.

Additionally fields like use_card are practically guaranteed to trick the user into thinking something being implemented which is simply not yet the case. As you said yourself, they might be fun, but in my opinion should not be accessible by the user without proper support for card emulation.
It specifically can easily cause crashes and otherwise undefined behavior.

The image base address of diva is 0x400C00 and gets subtracted from all address inside the patch to transform them into file space;
The address of the jittering Temporal AA patch however is lower than the image base and would therefore cause undefined behavior.

I have decided the dw_gui patch to not yet be suitable for this project and therefore removed it from the patch file. For now I'd appreciate if you did not try to add it back to the master branch.

@rakisaionji
Copy link
Contributor Author

Actually without configuration, when you load the game, it is set to be default with act_vol=100 and hp_vol=0. It would be convenience when you don't want to hear such loud buttons sound and don't need to turn the knob down or click the button every time you start the game.

And talk about the dynamic settings, by moving them outside of the Update() function, it can keeps the attributes of those values. In my opinion, constantly forcing a constant vocaloid_point in your current code is not a good idea since it is dynamic and can be increased when player keeps playing on.

Removing additional fields is okay and reasonable as it deemed to be not good for average users.

Btw it's sad to hear about dw_gui patch not yet be suitable for this project since you have spent a lot of hours with that crap. And somehow I like that function very much anyway...

@nopperpopper
Copy link

no, is aids

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants