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
/edit I haven't managed to test the entire game myself and there are some reports of crashes late in the game, this will be fixed eventually. You may need to disable 60fps for awhile if there are consistent crashes in certain areas.

*Update Jan 5th: Fixed Melia skill effects not displaying, some loading screen bugs (affected intro with Dunban having too many fire effects), and a possible movie color saturation bug for a few effects. Also tried to prevent an action-pause bug that happened when Spanish is setup. JP updated too, fixed JP typo that made a few cutscenes progress too fast (oops, thought I had fixed this before).
Final Update (unless new bugs are reported) - Discussion for final update starts around This Post

Guide to using the code:
The wiki version of the code is the same as this one, but without comments: https://wiki.dolphin-emu.org/index.php?title=Xenoblade_Chronicles
Low FPS in battles may require config -> cpu overclock of at least 110%, maybe more. 
English 60fps, PAL discs are untested: (Show Spoiler)
WARNING: If it says it can't save the JP code because of Unicode characters, you need to delete the Japanese at the bottom of the code before saving.
Japanese 60fps: (Show Spoiler)

Other codes: (NTSC only)
Gecko Object Draw Distance, don't use with modified ISO draw distance. May cause lag in some areas.: (Show Spoiler)
Monster draw distance, AR or Gecko. Only works on monsters loaded into memory. Warning - if this is too high enemies won't be able to despawn, which means new enemies won't spawn. I'll try to fix this some time. May cause lag or crashes in places with many enemies.
04663EC8 43700000

Partial NPC draw distance, AR or Gecko. May not always work.
04661CCC 43700000

Instant Cutscene Text Display, AR code
041A3DD4 60000000

(JP: 041A26B4 60000000)

*New*
Run Speed Mod, float that multiplies run speed (2x = 40000000). Breaks cutscene movement if you leave it always-on.
0466A368 3f800000

Remove Bloom
0449e784 60000000

High IR Bloom Fixes. This can be inserted directly under A8000000 00000000 in the 60fps code to combine them. Don't include the IR header, just the code.
https://forums.dolphin-emu.org/Thread-high-ir-bloom-fixes-for-xenoblade-and-more


Debug/Dev Section:
Symbols File goes into Documents -> Dolphin Emulator -> Maps. Unzip them. It's used with the dolphin debugger to tell you what certain blocks of code are actually doing. It's great if you want to mess with the code at all. I had a tendency to comment single lines, which displays better in older versions of dolphin (like 5.0-3819). Also, I used my symbol file for notes and tracking down particular things, so it's not at all robust nor well refined. Search for yy_ for major code sections, xx_ for less important stuff, and there's a few more tags like ww_ which I think was for moving textures, yf_ for UI animations.  The JP symbols file has much less stuff.

My progress on 60fps movies. It is very buggy. Do not play the actual game with this code. Unlikely to be fixed.
Awesome work, will try this out!
Excellent!, having a thread for this will indeed make it easier to report bugs and all that.
I added a camera speed code. I had the waterfalls load frozen in place once, but can't reproduce that, so I'll move on for now. I want to leave the first spider boss area and continue testing more. I'll try to check grass speed quickly before moving on.

/edit It looks like the grass slows down in 60fps. I found the grass speed and Intro splash screen speed. Going to have to make videos and check that halving/doubling gives the correct effect. Extreme intro speed ar code: 048AD934 42200000
/edit2 Regular grass is getting the slowdown factor applied to it twice. There's no clear choice of which to forcibly change, as it could break something else. Intro is going too fast because the slowdown factor is being overwritten by DrawableTm. Can isolate the fix to the intro. I'll need to monitor DrawableTm to see when it's active elsewhere though...
/edit3 The next version of the code is running rather well after a few bug fixes. I'll probably post it in a day or two. I'm playing the game with a 60 fps cutscene (non-movie) version of the code and watching for errors, but that won't be released for a good while.
/edit4 The intro and some cutscenes have a frame-based timer that determines when things change. I'm going to try and find it, but may leave it for later if it's difficult to. It only matters if I try to 60fps it.
(08-13-2017, 02:47 PM)One More Try Wrote: [ -> ]The next version of the code is running rather well after a few bug fixes. I'll probably post it in a day or two.

I'm glad that you're focusing in perfecting the 60 fps code on Xenoblade, this game deserves it. Can't wait to try the next version of the 60 fps code.
Good lord you are a 60fps wizard, this mad man will stop at nothing
What's the difference between the two waterfall pause codes, I mean technically speaking? You say you pause the animation every other frame, but I can't think of more than one way to do this.
Pause 2- A value of 1 is loaded then used to increase various counters. This is frozen (set to zero) every other frame.
Pause 1- The counter in waterfall loops that I found are paused.

I don't know the extent of pause 2, but it could be the same as 1.

I need to improve the pause code then will probably release the next version. It currently slows down moving textures in cutscenes and the "do this every other frame" needs to be moved to a more universal location (probably next to the primary frame counting code, not the waterfall counter)
I've just recently discovered your 60fps code in the Xenoblade custom texture thread, amazing work and nice to see you are perfecting it!

Any information on how the draw distance code differs from the ISO mod version? The monster and NPC draw distance codes are extras compared to the ISO version right?
I haven't used the ISO mod so I'm not sure, but you can change this code's draw distance by putting in a different floating point value. There are some model details, like window frames, that are avoided with the code. I have another code for those minor details somewhere... The ISO doesn't have NPC and Monster distances. Mine were only tested around Colony 9 and are incomplete, as I focus on the 60fps code.

/edit Updated main post with new code. Already well on my way with the next code. I found all the timers for the splash screen and they also affect cutscene timing. I also accidentally got the intro movie to play without hitting "new game" and it ran at 60fps / 2x speed. If there's a way to slow the animation then it could play at 60fps, however I don't know how to properly unlock 60fps for it either.

I unlocked the frame rate of the movies. I'm not sure there's a way to make the animations move half as much each frame. The number of times 800398c4 loops determines how many frames the movies progress by each frame (movie frames per displayed frame).
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