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


Dolphin, the GameCube and Wii emulator - Forums › Game Modifications › Cheats, Hacks, & Game Patches v
« Previous 1 2 3 4 5 ... 19 Next »

NTSC/JP Xenoblade 60fps and other mods
View New Posts | View Today's Posts

Pages (31): « Previous 1 ... 23 24 25 26 27 ... 31 Next »
Jump to page 
Thread Rating:
  • 1 Vote(s) - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
NTSC/JP Xenoblade 60fps and other mods
12-16-2017, 12:52 PM (This post was last modified: 12-16-2017, 01:31 PM by One More Try.)
#241
One More Try Offline
Posting Freak
*****
Posts: 886
Threads: 23
Joined: Dec 2014
What controls are you using? Classic, nunchuck, etc? By "skip sentence" do you mean forcibly move past it before it's done, or does it happen after it pauses at the end of the sentence (if wait for input is turned on)?

I noticed I may have messed up transferring the Nunchuck Z button lag fix, so I'll do that again. The cutscene text also seems to readout faster than I thought it would. I don't see to have any problems skipping sentences myself, so you may have a different controller setting.

/edit Fixed JP curscene text speed (it's slower now). Added instant JP cutscene text code, in the extra code section of the post. Fixed the Z button Nunchuck lag code. I'm not sure any of these will help you, but see if the AR instant cutscene text code helps. I'd still like to fix the problem without extra AR hacks.
Find
Reply
12-16-2017, 07:25 PM (This post was last modified: 12-16-2017, 07:31 PM by zhuoyu.)
#242
zhuoyu Offline
Junior Member
**
Posts: 14
Threads: 3
Joined: Sep 2013
OMG! It works! Now the cutscene dialogue text is totally normal with new code, thanks!
Besides I am using Classic control with Xbox Controller, previous issue also happened at the end of the sentence (Yes, I turned on 'wait for input' in system settings).
Find
Reply
12-16-2017, 07:46 PM (This post was last modified: 12-16-2017, 08:03 PM by zhuoyu.)
#243
zhuoyu Offline
Junior Member
**
Posts: 14
Threads: 3
Joined: Sep 2013
Hi, sorry to trouble you again, I find a new bug with 60fps code. The special effects of Melia’s art ‘Elemental Discharge’ will disappear or corrupt under 60 fps, especially fire (Summon Flare) and poison(Summon Earth). Please check the attached picture. (My English is not well)


Attached Files Thumbnail(s)
   
Find
Reply
12-16-2017, 09:36 PM (This post was last modified: 12-18-2017, 05:55 AM by One More Try.)
#244
One More Try Offline
Posting Freak
*****
Posts: 886
Threads: 23
Joined: Dec 2014
Oh great, so you didn't even need the AR code?

Thanks for pointing out the effects, I'll look into that too.

/edit The effects are messed up on English too, so I'll have to work on it.
The effects work correctly immediately after you apply the 60fps code, then a few seconds later they stop working.
They work correctly if you prep the spell during 30fps, then switch to 60fps and cast the spell. If I prep one during 30fps and one during 60fps, the first cast will bug and the second will work. This is a hard bug to track down, but getting there.
Find
Reply
12-17-2017, 01:51 PM
#245
zhuoyu Offline
Junior Member
**
Posts: 14
Threads: 3
Joined: Sep 2013
(12-16-2017, 09:36 PM)eOne More Try Wrote: Oh great, so you didn't even need the AR code?

Thanks for pointing out the effects, I'll look into that too.

/edit The effects are messed up on English too, so I'll have to work on it.
The effects work correctly immediately after you apply the 60fps code, then a few seconds later they stop working.

Yes, I didn't apply any AR code, input lag has been fixed with new Gecko code (Actually I didn't know about AR code Big Grin).
Find
Reply
12-19-2017, 05:41 AM (This post was last modified: 12-21-2017, 06:28 AM by One More Try.)
#246
One More Try Offline
Posting Freak
*****
Posts: 886
Threads: 23
Joined: Dec 2014
Finding the bug for Melia's skill effects was painful. In the end it was using the speed factor (0.5) to count down, but it needed to count down by 1.0 (30fps speed) instead. I think it couldn't write data or something when it counted too slowly. I'm not completely sure on what the safest fix is... I just need to work on how to fix it correctly now.

/edit Feel free to test this and watch for any extra lag or fps drops. Melia's bug fix affects all special effects, but for some reason only hers appeared buggy.

It's also used in movies, but I think I corrected any issues. Sometimes it skips using the speed factor and loads another value. If it ever naturally uses 0.5 in the count down, this code will force it to 1.0 and cause a bug.

Another thing I noticed is that the speed factor gets set to 0.5 during movies. It didn't seem to cause any issues (maybe a slower skip movie menu), but I changed it to 1.0 anyway. The speed factor is also 0.5 for all loading screens, but that doesn't appear to cause issues, so I will leave it.

/edit I forgot the speed factor doesn't get checked often enough to allow it to be 1.0. If it doesn't cause problems, I'll leave it at 0.5.
Find
Reply
12-20-2017, 12:36 PM (This post was last modified: 12-20-2017, 10:34 PM by zhuoyu.)
#247
zhuoyu Offline
Junior Member
**
Posts: 14
Threads: 3
Joined: Sep 2013
(12-19-2017, 05:41 AM)One More Try Wrote: Finding the bug for Melia's skill effects was painful. In the end it was using the speed factor (0.5) to count down, but it needed to count down by 1.0 (30fps speed) instead. I think it couldn't write data or something when it counted too slowly. I'm not completely sure on what the safest fix is... I just need to work on how to fix it correctly now.  

/edit Feel free to test this and watch for any extra lag or fps drops. Melia's bug fix affects all special effects, but for some reason only hers appeared buggy.

It's also used in movies, but I think I corrected any issues. Sometimes it skips using the speed factor and loads another value.  If it ever naturally uses 0.5 in the count down, this code will force it to 1.0 and cause a bug.

Another thing I noticed is that the speed factor gets set to 0.5 during movies. It didn't seem to cause any issues (maybe a slower skip movie menu), but I changed it to 1.0 anyway.  The speed factor is also 0.5 for all loading screens, but that doesn't appear to cause issues, so I will leave it.

I won't update the main post right away, because their could be increased lag.  Here's the updated code for now:

Hi, updated code appears to be unavailable on JP title, multiple error messages with “invalid read from: xxxxxx” will popup immediately when launching the title. It might be available for English title, I don't know. Could you please check it out? I added a picture of error message below.


Attached Files Thumbnail(s)
   
Find
Reply
12-21-2017, 06:02 AM (This post was last modified: 01-02-2018, 07:46 AM by One More Try.)
#248
One More Try Offline
Posting Freak
*****
Posts: 886
Threads: 23
Joined: Dec 2014
Oh yeah, that was for English. I'll make one for JP right now. I don't know if other effects will break from it, but I think I found a way to minimize any extra lag. It looks like if the fire spell multi-hits, the main target gets the large fire effect and secondary targets get the small fire effect. Is that right?

/edit I messed up the JP conversion of the skill effect fix. Posting new codes in a new post.
Find
Reply
12-21-2017, 07:10 PM (This post was last modified: 12-21-2017, 07:13 PM by JershJopstin.)
#249
JershJopstin Offline
Junior Member
**
Posts: 44
Threads: 0
Joined: Sep 2017
(11-14-2017, 07:17 AM)One More Try Wrote: For those of you interested in 60fps movies, I'll post a 99% correct code. The other 1% is annoying glitches. This code is built on old 60fps code and should NOT be used to play the game with. Just use it to play around with 60fps movies.

Movie 60fps, Enable both (Full movie and Interpolate Animation) and leave on. Use no other codes.: (Show Spoiler)
$full movie 60fps BUGGY CODE
A8000000 00000000
0416A9E8 60000000
0416A9EC 60000000
0416A9F0 60000000
C216AA30 00000002 //
3E608000 82731824
7C049A14 00000000
C216AA38 00000001
7C039A14 00000000
C2186224 00000007 //
EC200828 3E808000
82741824 EE600024
FC019840 40810018
2C130001 41820010
EE60002A EE609824
EC21982A 60000000
60000000 00000000
C218626c 00000007 //
EC200828 3E808000
82741824 EE600024
FC019840 40810018
2C130001 41820010
EE60002A EE609824
EC21982A 60000000
60000000 00000000
C2186344 00000007 //
EC200828 3E808000
82741824 EE600024
FC019840 40810018
2C130001 41820010
EE60002A EE609824
EC21982A 60000000
60000000 00000000
C21846c4 00000007 //
EC200828 3E808000
82741824 EE600024
FC019840 40810018
2C130001 41820010
EE60002A EE609824
EC21982A 60000000
60000000 00000000
C2181940 00000007 //
EC200828 3E808000
82741824 EE600024
FC019840 40810018
2C130001 41820010
EE60002A EE609824
EC21982A 60000000
60000000 00000000
C2181978 00000007 //
EC200828 3E808000
82741824 EE600024
FC019840 40810018
2C130001 41820010
EE60002A EE609824
EC21982A 60000000
60000000 00000000
C21846c4 00000007 //
EC200828 3E808000
82741824 EE600024
FC019840 40810018
2C130001 41820010
EE60002A EE609824
EC21982A 60000000
60000000 00000000
C2182974 00000007 //
EC200828 3E808000
82741824 EE600024
FC019840 40810018
2C130001 41820010
EE60002A EE609824
EC21982A 60000000
60000000 00000000
C20BAD8C 00000003 //Grass double value if fraction
EEA1082A FE810878
FC34A86E C01F2F48
60000000 00000000
C248C048 00000006 //waterfall pause 2
C3C2CE5C 3E808081
62949E68 82940000
2C140002 41820018
3E808000 82941824 //Gr1824
2C140000 41A20008
EFDEF028 00000000
C244B714 00000004
3E808000 62941824
80140000 68000001
90140000 38630001
60000000 00000000 //waterfall end
C244B468 00000001 //disable run speed update
60000000 00000000
C2137DE8 00000003 //UI Speeds Half
EC01082A EC000824
EC210024 C0030010
60000000 00000000
C205C414 00000002 //Climb fix
EC1FF82A EFFF0024
EC01EFFA 00000000
E0000000 80008000
04819e78 0000001E //set run speed manually
04819e68 00000001 //60 fps
22CA54C0 00000000
04CA54C0 3F000000 //60 fps speed
E0000000 80008000
$Interpolate Animation
A8000000 00000000
C240D6A0 00000006
2C1D0003 40A20020
2C1B007B 4182000C
12E03090 48000014
C222CF74 10C6B82A
10C60472 F0C38000
60000000 00000000
C240D6B4 00000005 //
2C1D0003 40A2001C
2C1B007B 4182000C
13003090 48000010
10C6C02A 10C60472
F0C30004 00000000
C240D6BC 00000005 //
2C1D0003 40A2001C
2C1B007B 4182000C
13203090 48000010
10C6C82A 10C60472
F0C3000C 00000000
C240D6C4 00000005 //
2C1D0003 40A2001C
2C1B007B 4182000C
13403090 48000010
10C6D02A 10C60472
F0C30014 00000000
C240D6D0 00000005 //
2C1D0003 40A2001C
2C1B007B 4182000C
13603090 48000010
10C6D82A 10C60472
F0C3001C 00000000
C240D6D8 00000009 //
2C1D0003 40A2003C
2C1B007B 4182002C
3B60007B 10207090
10407890 10608090
13803090 94210010
7FE802A6 3BFFFFFC
7FE803A6 4E800020
10C6E02A 10C60472
F0C30024 00000000
C23E1954 00000002
FDC00090 EC000028
3BA00001 00000000
C23E19E4 00000002
FDE00090 EC000028
3BBD0001 00000000
C23E1A74 00000002
FE000090 EC000028
3BBD0001 00000000
C23E1A94 00000003
EC2007F2 EDC003B2
EDE003F2 EE000432
3B600000 00000000
E0000000 80008000

/edit The bugs happen when the code loads fractional values  (for the extra 60fps frames) for the animation/rotation calculations. However, if the main animation calcs are set to ignore the fractions, the bugs still happen.  I haven't been able to track down exactly where they occur, so I don't know if they can be fixed. The bug isn't related to other parts of the code as far as I can tell.

/edit2 Some of the bugs are in 803e0fb0 ->803e0fd4, which is based off the same frame counter for angles and is used if it's a fraction.  Unfortunately there are other bugs besides that code, and some model pop-in seems to happen in a different area of code entirely.

The characters popping in for one frame are characters about to come onto the screen normally. Perhaps it's preloading the character and they are meant to be hidden until their location is set, or perhaps the location itself is just wrong for the first frame they are rendered. Maybe it just doesn't expect an extra frame. It appears it may happen on non fractional frames.

801846c4 sets the fractional frame counts, which feed into all animation values. I think all bugs are related to this counter, tested by following the gecko branch there and deleting the f1 = f1 +f29 line (forces it to only use whole numbers).  Would have to track it quite thoroughly to find the other bugs. There are other fractional counters for the camera, particles (I think), etc. I don't think those get bugs.

Hey there! It's been a while, but I have been putting some work into this on and off. I haven't actually looked at your assembly here - I assume it's based on your previous code that averaged the results of the trig lookups? I've managed to get my solution based on finding the correct intermediate angles that's pretty close to this, but it's still not quite there.

However, I've noticed something fairly discouraging; when the camera cuts between shots, it will always be bugged. I think this is because it tries to insert a frame between the two cuts, and if the camera just interpolates between the frames, it'll go halfway between the cuts, which isn't right. This affects both my wip code and yours. While I haven't looked into the issue you describe with characters about to come on screen, I believe it's closely related; if the character didn't have a set location before the next frame, for the intermediate frame the code will attempt to average the values of their proper starting point and a location that didn't exist, which I imagine would be 0's (though I can't imagine why it'd be doing this if it ignores the fractional frames - that's odd, and I may look into that myself).

Now, I haven't 100% confirmed any of this, but if the above is correct I don't see any way to solve these issues with interpolation. If you can confirm these issues, we're likely at a dead-end for movies.
Find
Reply
12-21-2017, 07:51 PM (This post was last modified: 12-31-2017, 08:54 PM by One More Try.)
#250
One More Try Offline
Posting Freak
*****
Posts: 886
Threads: 23
Joined: Dec 2014
Heya! Not much changed with that code I posted and what I ended with before - it is after the trig lookup. I just went frame by frame with my code and didn't notice any bugs with camera switching. I would need a video or screenshot with my code running to look into it. I'm not sure about the characters, as the bug happens outside the trig calcs and angle setup area. It would either require following the code from the initial counter, which seems like an ordeal, or finding the memory for a buggy character and trying to follow read/writes for it, which may or may not work out. Also, if you haven't fiddled with Symbols, you might want to. It makes it easier to jump around the code and whatnot. Older versions (5.0-3819) lets you tag single lines of code (right click -> add function then Symbols -> save symbol map).

With the new skill effect bug, I'll probably record the intro movies and every character skill and compare with my fix, to make sure nothing is breaking. It'll take awhile to get that done.

/edit I wrote a value finder. You probably want to use it during 30fps. I'll probably find the buggy soldier memory in a few minutes with this, but not sure I can follow it to the bug.
movie value finder: (Show Spoiler)
Zeroes angles for assets between the value placed in memory at 8066da80 and 8066da84
Breakpoint 803e1a90 and look at r6 to see what asset pointers/values are being used.

For example, on the second part of the intro movies:
Something above 92793000 sets the camera values, so you want to exclude those from being zero'd, so that goes into 8066da84 to exclude everything above 92793000
Then if you put 92750000 into 8066da80, you'll break all the soldiers, helping to get closer to the values of the soldiers we want to find (the buggy ones)

8066daa0 can change the behavior from forcing zeroes to something else, like 90 degree angles. Use float values.

$movie value finder range
C23E1A90 00000006
8062FFE0 7C033040
41A10020 8062FFE4
7C033040 41A00014
3BA00000 C3E20000
C3C20000 C3A20000
7F63DB78 00000000

/edit2 Ok, I figured out the location bug. I had to crack open the game code in a text editor and do a regex for " psq_st.*qr3 ", which is how they round off the counter to see if it has a fractional component. I found each one and deleted it in game, until the game bugged out. There weren't that many to test, but I had trouble confirming what that code did until I adapted the soldier finder code to that area. In the end it's: 803e0c94 and below. The game sets asset locations here, but it's a bit tricky because it only does one value at a time and not x/y/z. I'm not even sure most things have y or z components, it seems they manage to make it 1 dimensional for many things. ANYWAY, the bug is that it appears to re-use models that have gone off-screen, by changing their location to a place they need a new model to appear. Since the code averages locations for fractional frames, the model only moves halfway to its new location, which puts it in the wrong place for one buggy frame. The fix will be to detect large variations in location and skip averaging if it is too large, and hopefully nothing moves across the screen too fast, or I'll have to do something more complex.

Buggy memory breakpoints: Range from 92753564 to 927536a8 during soldier intro movie, running from the hill to the sniping/scope part.

The other bug that I thought was easy, is more complicated. With Mechonis' fingers disappearing for a frame and also affecting stationary/dead soldiers being displayed. I don't think I need to look for where the bug occurs though.

/edit I've been back at work on the main code. Tweaking a few things. Probably be a few more days before I post a new update.
Find
Reply
« Next Oldest | Next Newest »
Pages (31): « Previous 1 ... 23 24 25 26 27 ... 31 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