Management Karbust 4884 Posted October 5, 2021 Management Share Posted October 5, 2021 This is the hidden content, please Sign In or Sign Up Metin2 Download Sup bois and grils I'm just gonna drop here Metin2MSAMaker's source. Since I needed Metin2MSAMaker and I wasn't able to find a compiled version, I did it myself. Boost 1.66 Granny 2.11.8 Built on Visual Studio with v142 and C++17. This is the hidden content, please Sign In or Sign Up Pre-compiled binaries: Debug: This is the hidden content, please Sign In or Sign Up Release: This is the hidden content, please Sign In or Sign Up 76 1 1 1 16 3 28 Link to comment Share on other sites More sharing options...
arlinamid 1130 Posted October 8, 2021 Share Posted October 8, 2021 Hi. Did you have any idea why it can't calculate Accumulation values? Best regards, Arlinamid Link to comment Share on other sites More sharing options...
Management Karbust 4884 Posted October 8, 2021 Author Management Share Posted October 8, 2021 (edited) 6 hours ago, arlinamid said: Hi. Did you have any idea why it can't calculate Accumulation values? From what I could gather debugging the app, the problem must be somewhere inside the granny library, since it loads the values as 0. I also tried with the model's granny version (2.4.0.10) and same result. Edited August 17, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Active+ Member Abel(Tiger) 1196 Posted October 9, 2021 Active+ Member Share Posted October 9, 2021 // Search: if (40.0f < fabs(modelMatrix[3][1])) bIsAccumulationMotion = true; // Add this line before that if: modelMatrix[3][1] = animation->TrackGroups[trackIndex]->LoopTranslation[1]; 1 1 Link to comment Share on other sites More sharing options...
Management Karbust 4884 Posted October 9, 2021 Author Management Share Posted October 9, 2021 8 minutes ago, Abel(Tiger) said: // Search: if (40.0f < fabs(modelMatrix[3][1])) bIsAccumulationMotion = true; // Add this line before that if: modelMatrix[3][1] = animation->TrackGroups[trackIndex]->LoopTranslation[1]; Not sure if you understood, but the variables are being loaded to memory with 0 by granny, not the code... granny_file* grannyFile = GrannyReadEntireFile(filePath.string().c_str()); granny_file_info* fileInfo = GrannyGetFileInfo(grannyFile); The debug info showed on my last post was taken from the variables calling granny functions... Link to comment Share on other sites More sharing options...
Active+ Member Abel(Tiger) 1196 Posted October 9, 2021 Active+ Member Share Posted October 9, 2021 You can't just to get them, there are some operations made to get those values. Here is the entire documentation of granny (search GrannyUpdateModelMatrix): This is the hidden content, please Sign In or Sign Up 11 1 1 1 5 Link to comment Share on other sites More sharing options...
Management Karbust 4884 Posted October 9, 2021 Author Management Share Posted October 9, 2021 10 minutes ago, Abel(Tiger) said: You can't just to get them, there are some operations made to get those values. Here is the entire documentation of granny (search GrannyUpdateModelMatrix): This is the hidden content, please Sign In or Sign Up You just proved my point... The granny_track_group structure for each model in an animation contains the extracted data in either the PeriodicLoop member or the LoopTranslation member. The former is for animations that have rotational accumulation, and the latter is for those that do not. 2 hours ago, Abel(Tiger) said: // Add this line before that if: modelMatrix[3][1] = animation->TrackGroups[trackIndex]->LoopTranslation[1]; The model is being loaded BY GRANNY with the LoopTranslation's elements all 0. So that code will do just keep value 0... There's no need to make any kind of calculations to get the Accumulation values, they are the LoopTranslation elements... And if there are calculations involved, they probably are on granny's side. If you back-trace just using granny.h you will notice the structs, and you will also find out where the values should come from. Link to comment Share on other sites More sharing options...
Braxy 618 Posted October 9, 2021 Share Posted October 9, 2021 (edited) 1 hour ago, Karbust said: You just proved my point... The granny_track_group structure for each model in an animation contains the extracted data in either the PeriodicLoop member or the LoopTranslation member. The former is for animations that have rotational accumulation, and the latter is for those that do not. The model is being loaded BY GRANNY with the LoopTranslation's elements all 0. So that code will do just keep value 0... There's no need to make any kind of calculations to get the Accumulation values, they are the LoopTranslation elements... And if there are calculations involved, they probably are on granny's side. If you back-trace just using granny.h you will notice the structs, and you will also find out where the values should come from. Wdym? xD Edited August 17, 2022 by Metin2 Dev Core X - External 2 Internal As long as I'll be a threat for you , i will always be your target :3 Link to comment Share on other sites More sharing options...
Management Karbust 4884 Posted October 9, 2021 Author Management Share Posted October 9, 2021 Update v2.0 Thanks @Abel(Tiger) for explaining it to me, I was at fault for not understanding what you were trying to explain me. Source: This is the hidden content, please Sign In or Sign Up Pre-compiled binaries: Debug: This is the hidden content, please Sign In or Sign Up Release: This is the hidden content, please Sign In or Sign Up Changelog: Change granny2.lib for the static counterpart, no need to keep use granny2.dll. Fixed an issue with the accumulation always being 0. 20 3 1 12 Link to comment Share on other sites More sharing options...
arlinamid 1130 Posted October 9, 2021 Share Posted October 9, 2021 5 hours ago, Abel(Tiger) said: // Search: if (40.0f < fabs(modelMatrix[3][1])) bIsAccumulationMotion = true; // Add this line before that if: modelMatrix[3][1] = animation->TrackGroups[trackIndex]->LoopTranslation[1]; Thanks, You made my day, yesterday I spend a 3 hour for browsing granny.h and try to find out why isnt working. Best regards, Arlinamid Link to comment Share on other sites More sharing options...
Recommended Posts