Jump to content
For maintenance and updates, the community will be offline on 31 December 2022 ×

Metin2MSAMaker


Karbust

Recommended Posts

  • Web Developer

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:

QJ0orbR.png

Metin2 Icon Database

Link to comment
Share on other sites

  • Web Developer
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

QJ0orbR.png

Metin2 Icon Database

Link to comment
Share on other sites

  • Bronze
// Search:
			if (40.0f < fabs(modelMatrix[3][1]))
				bIsAccumulationMotion = true;

// Add this line before that if:
			modelMatrix[3][1] = animation->TrackGroups[trackIndex]->LoopTranslation[1];

 

Link to comment
Share on other sites

  • Web Developer
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...

QJ0orbR.png

Metin2 Icon Database

Link to comment
Share on other sites

  • Web Developer
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.

QJ0orbR.png

Metin2 Icon Database

Link to comment
Share on other sites

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

  • Web Developer

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.

QJ0orbR.png

Metin2 Icon Database

Link to comment
Share on other sites

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



  • Activity

    1. 1

      Where are those maps/dungeons coming from?

    2. 1

      Where are those maps/dungeons coming from?

    3. 4

      Visual studio 2022 compiling issue

    4. 1

      Count players function

    5. 64
    6. 1

      Costume shining/costume effect system

    7. 992

      [40250] Reference Serverfile + Client + Src [15 Available Languages]

  • Recently Browsing

    • No registered users viewing this page.
×
×
  • 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.