Dolphin, the GameCube and Wii emulator - Forums

Full Version: NTSC/JP Xenoblade 60fps and other mods
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Attached a save.

Z button code works, but I'm afraid I got so used to it that I can no longer notice it unless I explicitly want to test it Smile
But with the code it activated always no matter how long I pressed, so I think it's good. Didn't find broken controls.

/edit
I noticed that you asked about merging the main code with the camera code. And I see no reason why it shouldn't. Without it the camera is totally uncontrollable, and with it almost feels like the original. (Maybe a little bit faster, could be placebo. I don't think you should touch it.)
Thanks. I feel like the camera set to slow works the best for me, so I'm not certain about using the code. I haven't had an opportunity to thoroughly compare though.

These other conveyors break because the keyframes are very often, causing them to revert to 30fps frequently, and standing on them makes it obvious. I may be able to do something really hacky to fix it, otherwise I'll leave it as is.

This code breaks waterfalls once every 30 seconds or so? There were so many fringe cases, the code became much longer than intended. If I can tweak it more and maybe shorten it up, it might work.

/edit deleted code

It triggers when a keyframe pops up. It checks if the real counter is a fractional value, and if so it outputs the average value between the current keyframe and the next (they always come in groups). But it also has to check that the next keyframe is adjacent to the current one, otherwise it has to compare against the previous keyframe and interpolate from that difference. The values also rotate from 1 to 0 (0.95 + 0.20 -> 0.15) so I have to make sure the average rotates correctly too. So, yeah... became more work than I hoped.

/edit I think I got it, but all moving textures should be watched for bugs.
/edit posting the fully compiled code instead
60fps Moving Texture version: (Show Spoiler)

Ok I think I'm all caught up. The code in this post just needs to be tested to see if it can go into the first post.

/edit I'm still getting some gecko based lag. I think I'm going to edit the code so that you enable it once, then turn the code off and it'll keep doing it's thing without needing gecko.
Fairly sure this is buggy, but here's the first attempt at a run-once then disable 60fps. I notice my fps stabilizes right on 60, rather than bouncing around between 58 - 60, once you disable it.

Run Once: (Show Spoiler)

/edit Updated. May not be broken now.

Still not happy with ice sliding. If anyone wants to help, you'd just look at the memory and edit the floats at 80666090 to 8066609C and see if you can reproduce the 30fps behavior. Use the Run Once code, disable it, then savestate near ice to quickly reload - you won't need to reload Run Once when reloading a savestate.
(10-14-2017, 05:50 AM)Kurausukun Wrote: [ -> ]I forget, did we determine that 60fps cutscenes involved way too much math and weird stuff to be worth it? This testing was the first time I'd looked at this thread in a while, sorry.

It kinda dropped off. One More Try found a fairly correct solution that lagged a lot, then took a break as other bugs started coming into the spotlight. I was working a different approach but got hit with school stuff and haven't come back to it yet. It's not necessarily axed altogether, but it's not being worked on atm.
I'm having quite a bit of difficulty with ice. I may need to give a non-exact hack for it. The current fix is completely wrong. Testing showed that changing the ice values was unnecessary (as it correctly lowers the counts already). So I'm not sure what the issue is, but tweaking the ice values regardless can make it work ok, just not consistent with 30fps.

Sliding without pushing a direction seems to be fully correct without tweaks. Pressing a direction uses a different section of code and has some problems. It hits one speed limit check twice as fast, causing issue with jumping and possible stutter movement. If I slow that down, jumping loses quite a bit of distance. If I increase the speed limit check, jumping works great but you slide about 30% faster overall.
I don't think it needs to be exactly the same as long as it feels mostly the same. Trust me, I understand the desire to have an actual solution that produces the same behavior, but sometimes there's just too much going on for that to be feasible. 60fps is a hack to begin with. I think if you can test a bunch of values and find one that gets pretty close to the original, then that's fine.
Ugh, yeah. The thing is my other hacks are largely accurate to 30fps. Could you test my simplest solution that speeds up sliding a bit and tell me if it's too fast? Also delete the Ice slide line in the gecko code before trying this.

AR or Gecko:
04666088 46040000

Also, nobody has noted if Run Once feels any better for them.

/edit Second ice code:
04666090 3F7D6A16
04666098 3F400000
0466609C 3F7DD000

If I want to disconnect slide speed and jump distance any more than that I would need to stomp around in the jump code.
For people who want/need to leave the code on, I want it to run the code once then stop (but not be disabled). To do this I check a memory value that needs to be changed for 60fps and only run the code if it's the 30fps value. The problem is if you need to hit the apply codes button again, it will skip rewriting the code (because the memory value is still the 60fps version) and it will crash dolphin, because the code needs to rerun once every time you hit apply. I need a better method that reliably runs the code once every time you hit apply.

A8000000 00000000 Might work. It's a counter that goes up every frame and it'll run when the counter is 0. The counter loops around, but it doesn't go up by 1 each frame, so it seems like it skips 0 when it loops. It resets to zero when you hit apply.
Thanks a lot for all your work ! It feels so good to play at 60 fps, the game is so smooth.
I have a question tho : is it normal that the game extremely slow during fights when I use your patch ?
During fights the game feels like I'm playing in slow motion
Sorry if the question is stupid, I read this thread but I saw no one talking about that ! I didn't have any stuttering or lag or anything except that, I think
The fps can drop during fights. You'll want to try raising the config -> cpu overclock to 110%, 120%, etc as they can really help. Other than that, I haven't found much else that helps.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31