• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Site › dolphin-emu.org articles v
1 2 3 Next »

Game Modification: 60 FPS Hacks and Patches
View New Posts | View Today's Posts

Pages (84): « Previous 1 ... 41 42 43 44 45 ... 84 Next »
Jump to page 
Thread Rating:
  • 3 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
Game Modification: 60 FPS Hacks and Patches
10-31-2016, 12:03 PM
#421
Zerowalker Offline
Member
***
Posts: 208
Threads: 19
Joined: Jan 2016
What you did?
what the hell -_-.

Well not surprised, no one is by now lol.
At least i can take joy in that i was able to reach the same conclusion as you or something, yay!

Btw, how is it going on the g2g thingy?

Really itching to try it out, no pressure of course;P
Find
Reply
11-01-2016, 11:11 AM
#422
Meowmaritus Offline
Zelda Enthusiast
***
Posts: 111
Threads: 0
Joined: Oct 2016
(10-31-2016, 12:03 PM)Zerowalker Wrote: What you did?
what the hell -_-.

Well not surprised, no one is by now lol.
At least i can take joy in that i was able to reach the same conclusion as you or something, yay!

Btw, how is it going on the g2g thingy?

Really itching to try it out, no pressure of course;P

Well I decided to add a multi-threaded asynchronous way of using it but once I started working on implementing that I got bored. Then I started playing Dark Souls III PvP. I'll finish the thing up the day after tomorrow because reasons
Find
Reply
11-01-2016, 01:10 PM
#423
Zerowalker Offline
Member
***
Posts: 208
Threads: 19
Joined: Jan 2016
hahaha, love it, that's the way to go.

But really, multithreading? Isn't that overkill, or is it just "that slow"?

Ah the PVP Aspect, the thing i just don't like about Dark Souls, and the damn messages that spoil all over the place!! -_-
Find
Reply
11-02-2016, 05:40 AM
#424
Meowmaritus Offline
Zelda Enthusiast
***
Posts: 111
Threads: 0
Joined: Oct 2016
(11-01-2016, 01:10 PM)Zerowalker Wrote: hahaha, love it, that's the way to go.

But really, multithreading? Isn't that overkill, or is it just "that slow"?

Ah the PVP Aspect, the thing i just don't like about Dark Souls, and the damn messages that spoil all over the place!! -_-

Oh no it's literally instant for me. Just providing the option of multithreading in case someone needs to assemble 8,000,000 lines of asm at once v( ͡° ͜ʖ ͡°)v.

I know how to do it, it's easy for me to do it, and it's entirely optional for the user. Therefore, I'm gonna do it.
Find
Reply
11-02-2016, 06:18 AM
#425
Zerowalker Offline
Member
***
Posts: 208
Threads: 19
Joined: Jan 2016
Ah, well that's the way to go, the point of doing it is for your own satisfaction at the end of the day.
I would do the same whatever the case, if you want to do it, do it!

I do find it very interesting as i myself can program in C# (Though even if i have "years of knowledge") i am as basic as you can get lol,
i could only put together stuff via strings etc, and it will only work One way, there would be no adaptation so to speak.

I admire your work on thisWink
Find
Reply
11-03-2016, 06:29 AM (This post was last modified: 11-03-2016, 06:50 AM by Meowmaritus.)
#426
Meowmaritus Offline
Zelda Enthusiast
***
Posts: 111
Threads: 0
Joined: Oct 2016
(11-02-2016, 06:18 AM)Zerowalker Wrote: Ah, well that's the way to go, the point of doing it is for your own satisfaction at the end of the day.
I would do the same whatever the case, if you want to do it, do it!

I do find it very interesting as i myself can program in C# (Though even if i have "years of knowledge") i am as basic as you can get lol,
i could only put together stuff via strings etc, and it will only work One way, there would be no adaptation so to speak.

I admire your work on this;)

Well I feel like a strong interest in the language is what helped me learn so much in 5 years. I was always having so much fun that I constantly tried to push my boundaries, often totally breaking things when I did. Those constant attempts to do way more than I was capable of combined with reading the MSDN C# reference and programming guide are what exposed me to so much knowledge pertaining to C#. And because I was always intrigued by it and found it extremely fun, that knowledge was very easy for me to retain.

Also it's worth noting that when I say "strong interest" I really do mean it; I have Asperger's so I kinda get a little bit (way the fuck) too interested in things often, such as the WWFH, which I'm sure most other people would have gotten bored of a long time ago lol






And on that note, it's time to announce my magical fix for basically all the problems currently occurring in WWFH. 

It is going to update all actors at 30 Hz, including Link (before you freak out: all animations and movement will still appear to be >= 60 Hz).


This will completely eliminate all of the bugs for the following things!!!: 
  • Enemy AI
  • Enemy model movement
  • Enemy animations
  • Link's movement
  • Link's animations
  • Link's various action timings
  • Link's items
  • Full story cutscenes (e.g. Helmaroc King snatches Aryll)
  • Mini-cutscenes when talking to people (e.g. THAT ASSHOLE, NIKO)
  • Pre-rendered video file cutscenes (e.g. ending credits sequence)
  • Unique individually-programmed game scenes (e.g. opening story cinematic, "The Hero of Legend")

You're probably wondering how it's possible for me to fix all the bugs with a single fix. The answer is simple: working my ass off writing a very complex system to handle all animation frame updates, model position updates, and model rotation updates at >= 60 Hz, while running most of the main game updates, including the actor updates, at their usual 30 Hz.

Here's (the basics of) how it's gonna work:

Sorta long-winded but interesting nonetheless explanation:: (Show Spoiler)
  • On each actor update (at 30 Hz):
    • Store a list of values for each currently-loaded (and updating) actor in the empty memory space after 0x817F0000:
      • Main actor pointer
      • Pointer to position vector
      • Pointer to velocity vector
      • Pointer to rotation euler vector
      • Pointer to rotational velocity euler vector
      • Pointer to current animation frame counter
      • Value of current animation frame counter delta (some animations play at different speeds and count on different scales)
    • Do not update position, rotation, or current animation frame on this update
  • On each WWFH update (>= 60 Hz):
    • Calculate WWFH's "FloatSlowdown" value = (<30 FPS> / <Target framerate>)
    • Modify position vector by (velocity * FloatSlowdown)
    • Modify the rotation vector by (rotational velocity * FloatSlowdown)
    • Modify current animation's frame counter by (current animation frame counter delta * FloatSlowdown)

Some things that haven't caused any problems updating at 60 Hz will not be changed to 30 Hz:
  • File select menu
  • Pause screen/inventory menu
  • Map menu
  • Standard, non-cutscene camera updates
  • Probably a few more I can't think of.

Also if I find that directly reducing the magnitude of model position changes looks a little but too rough (e.g. on Link's jump arc), then I may end up using a little bit of linear interpolation to smooth it out a bit.




Finally, the downside to me doing this fix: ~( ͡° ͜ʖ ͡°)~ 1-2 week delays baybeeee ~( ͡° ͜ʖ ͡°)~
Find
Reply
11-03-2016, 10:52 AM (This post was last modified: 11-03-2016, 05:29 PM by Zerowalker.)
#427
Zerowalker Offline
Member
***
Posts: 208
Threads: 19
Joined: Jan 2016
Ah, welcome to the club haha,
difference with me is that i suck at problem solving and lack focus, still i waste a ton of time when i get hooked on somethingTongue

Your solution sounds Extremely complex, but i can understand that it would solve all those problems.


Take your time, no one wants a rushed product, and i am sure you want your project to be the best it can be for your own sake;D


I have a quesiton as always.

I am having some issues i am trying to solve and i wondered if perhaps you have run into Something similar in WW: https://forums.dolphin-emu.org/Thread-audio-playback-gets-reset-instead-of-endless-30-60fps

The only conclusion i can draw after days of debugging is that the Audio Loop Thread for some reasons gets skipped after 60fps, and each fps cuts it faster and more.
So at 200fps there is basically just silence for those kind of sounds. I have no clue where i am supposed to look,
every logic conclusion i thought of was incorrect.

I first thought it was linked to it being faster than 30fps, but that's not right as it just happens at 60fps and above.
I thought it might be double the speed that causes it, but then the issue would come in jumps of 30fps.
I Also thought it might be Videorate related, but that goes out the window as well.

I don't think WW has any of these kinds of sounds though, but might as well ask just in case;P

EDIT:

Or maybe it doesn't get skipped, the only thing i see is that the Audio Thread loops 8 times, then after that the game will do it's thing, then it repeats.
The interesting part is when the game does it's thing, cause it differs depending on the framerate, in a sense.
So if the game is at 30fps only 1 frame will be produced until the Audio Loop starts again.
If it's 60fps, it's 2 frames etc. I am however not sure if This is the cause of the issue, cause the issue increases after 60fps, and not by a factor of 30 etc, 65 is worse than 60 by a lot, so in that sense this discovery doesn't fit to place i guessSad
Find
Reply
11-04-2016, 05:29 AM
#428
Meowmaritus Offline
Zelda Enthusiast
***
Posts: 111
Threads: 0
Joined: Oct 2016
(11-03-2016, 10:52 AM)Zerowalker Wrote: Ah, welcome to the club haha,
difference with me is that i suck at problem solving and lack focus, still i waste a ton of time when i get hooked on somethingTongue

Your solution sounds Extremely complex, but i can understand that it would solve all those problems.


Take your time, no one wants a rushed product, and i am sure you want your project to be the best it can be for your own sake;D


I have a quesiton as always.

I am having some issues i am trying to solve and i wondered if perhaps you have run into Something similar in WW: https://forums.dolphin-emu.org/Thread-audio-playback-gets-reset-instead-of-endless-30-60fps

The only conclusion i can draw after days of debugging is that the Audio Loop Thread for some reasons gets skipped after 60fps, and each fps cuts it faster and more.
So at 200fps there is basically just silence for those kind of sounds. I have no clue where i am supposed to look,
every logic conclusion i thought of was incorrect.

I first thought it was linked to it being faster than 30fps, but that's not right as it just happens at 60fps and above.
I thought it might be double the  speed that causes it, but then the issue would come in jumps of 30fps.
I Also thought it might be Videorate related, but that goes out the window as well.

I don't think  WW has any of these kinds of sounds though, but might as well ask just in case;P

EDIT:

Or maybe it doesn't get skipped, the only thing i see is that the Audio Thread loops 8 times, then after that the game will do it's thing, then it repeats.
The interesting part is when the game does it's thing, cause it differs depending on the framerate, in a sense.
So if the game is at 30fps only 1 frame will be produced until the Audio Loop starts again.
If it's 60fps, it's 2 frames etc. I am however not sure if This is the cause of the issue, cause the issue increases after 60fps, and not by a factor of 30 etc, 65 is worse than 60 by a lot, so in that sense this discovery doesn't fit to place i guessSad

Sorry but I have no idea where to even begin with that, other than madly breaking and checking the current function while using the vacuum/rotating gameboy horror camera until you see a function in the stack trace about audio or looping or something.
Find
Reply
11-04-2016, 05:49 AM
#429
Zerowalker Offline
Member
***
Posts: 208
Threads: 19
Joined: Jan 2016
haha, well that's what i have been doing, well at least i am on the right track.
Just asked cause if you had happen to run into something similar.

Well i will find this and solve it somehow, and i am gonna enjoy it when i finally do!!Big Grin
Find
Reply
11-06-2016, 12:12 PM
#430
Meowmaritus Offline
Zelda Enthusiast
***
Posts: 111
Threads: 0
Joined: Oct 2016
After running into a lot of problems with G2G, I finally finished rewriting most of it. Now it works flawlessly as far as I can tell and I can begin completely reworking the Wind Waker Framerate Hack (as I mentioned before).
Find
Reply
« Next Oldest | Next Newest »
Pages (84): « Previous 1 ... 41 42 43 44 45 ... 84 Next »
Jump to page 


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode