Jump to content

Metin2MSAMaker


Recommended Posts

  • Management

This is the hidden content, please

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

Pre-compiled binaries:

  • Metin2 Dev 71
  • Dislove 1
  • Think 1
  • Scream 1
  • Good 16
  • Love 3
  • Love 27

raw

raw

Link to comment
Share on other sites

  • Management
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.

fCNQq50.png

Kp0YXzE.png

Edited by Metin2 Dev
Core X - External 2 Internal

raw

raw

Link to comment
Share on other sites

  • Management
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...

raw

raw

Link to comment
Share on other sites

  • Active+ Member

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

 

  • Metin2 Dev 10
  • Dislove 1
  • Good 1
  • Love 4
Link to comment
Share on other sites

  • Management
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

 

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.

raw

raw

Link to comment
Share on other sites

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? xDspacer.png

Edited 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

  • Management

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

Pre-compiled binaries:

Changelog:

  • Change granny2.lib for the static counterpart, no need to keep use granny2.dll.
  • Fixed an issue with the accumulation always being 0.
  • Metin2 Dev 18
  • Good 3
  • Love 1
  • Love 10

raw

raw

Link to comment
Share on other sites

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.

giphy.gif

Best regards, Arlinamid

Link to comment
Share on other sites

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.