Jump to content

LeftRightReverse


Recommended Posts

  • Honorable Member

M2 Download Center

This is the hidden content, please
( Internal )

Hello everyone.

 

Yesterday @Doonqa asked me if I could reverse this function of the game from the official binary.

Known fact these functions are necessary and obligatory for the multilanguage systems and I have them since years ago, here they are.

 

173623g00mF3Y.gif173623OA591I3.gif  

 

This is the hidden content, please

 

Edit:
I have found something related to the arabic codepage, so I just post it here:

<! It has not been tested. !>

Spoiler

244802zFJUWyR.png

And here is the code for it:


	// EterPythonLib/PythonWindow.cpp
	void CWindow::GetMouseLocalPosition(long & rlx, long & rly)
	{
		CWindowManager::Instance().GetMousePosition(rlx, rly);

		if (GetDefaultCodePage() == CP_ARABIC && m_bWindowType == WINDOW_TYPE_TEXTLINE)
		{
			rlx = m_rect.right - rlx;
			rly -= m_rect.top;
		}
		else
		{
			rlx = rlx - m_rect.left;
			rly = rly - m_rect.top;
		}
	}

And here are some parts that I have forgotten:
1.) Open the EterPythonLib/PythonWindow.h and add the followings into the CWindow class as you can see here:


namespace UI
{
	class CWindow
	{
		// [...]
		public:
			enum WindowTypes
			{
				WINDOW_TYPE_WINDOW,
				WINDOW_TYPE_TEXTLINE,
				WINDOW_TYPE_MAX_NUM
			};

		protected:
			BYTE				m_bWindowType;
	}
}

2.1.) Open the EterPythonLib/PythonWindow.cpp and add the following to the CWindow constructor as the following example shows:


	CWindow::CWindow(PyObject * ppyObject):
		// [...]
	{
		// [...]
		m_bWindowType = WINDOW_TYPE_WINDOW;
	}

2.2.) Then repeat the previous step in the the CTextLine constructor too:


		m_bWindowType = WINDOW_TYPE_TEXTLINE;

 

 

Any problem appears, comment box is down below ⬇

Cheers!

Edited by xP3NG3Rx
Added some small code #1 | added forgotten parts
  • Metin2 Dev 58
  • Eyes 1
  • Think 1
  • Scream 2
  • Lmao 3
  • Good 11
  • Love 3
  • Love 45
Link to comment
Share on other sites

  • 2 months later...
  • 1 month later...
  • 3 weeks later...
  • 5 months later...
  • 5 months later...

@ xP3NG3Rx LeftRightReverse for

{ "name" : "PetInfoUIBG", "type" : "expanded_image", "style" : ("attach",), "x" : 0, "y" : 0, "image" : PET_UI_BG_IMAGE },
class ExpandedImageBox(ImageBox):

not work.

Why code not work? I not understand.

 

2 hours ago, lordsas61 said:

@ xP3NG3Rx LeftRightReverse for

{ "name" : "PetInfoUIBG", "type" : "expanded_image", "style" : ("attach",), "x" : 0, "y" : 0, "image" : PET_UI_BG_IMAGE },
class ExpandedImageBox(ImageBox):

not work.

Why code not work? I not understand.

This function does not work in Expanded_Images.
Because Expanded_Image is rendering from a different code.
Therefore, it is necessary to define LeftRightReverse there.
I'm not writing the solution because no one helped.
Experts don't try hard to find it, but it's probably hard for newbies 😄

I seem to have already written the answer, but whatever.

  • Not Good 1

badass hei GIF

Link to comment
Share on other sites

  • Contributor
3 hours ago, lordsas61 said:

@ xP3NG3Rx LeftRightReverse for

{ "name" : "PetInfoUIBG", "type" : "expanded_image", "style" : ("attach",), "x" : 0, "y" : 0, "image" : PET_UI_BG_IMAGE },
class ExpandedImageBox(ImageBox):

not work.

Why code not work? I not understand.

 

This function does not work in Expanded_Images.
Because Expanded_Image is rendering from a different code.
Therefore, it is necessary to define LeftRightReverse there.
I'm not writing the solution because no one helped.
Experts don't try hard to find it, but it's probably hard for newbies 😄

I seem to have already written the answer, but whatever.

Cause it's hard to add the same codes to the GrpExpandedImage you little shit😄(I mean brain dead since you struggled with it to begin with)

Edited by MrQuin
  • Confused 1
  • Lmao 2

My only accounts are here and on M2D, Don't trust anyone else from other shitty sites.
266868740522639360.png

Link to comment
Share on other sites

  • 4 months later...


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