AmyrAhmady / DeAMX

DeAMX - .amx files decompiler for SA:MP originally made by trc_ in 2008

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This is useless as it changes the names of functions and arguments.

Walter-Correa opened this issue · comments

Tell me how this can be useful?

function5984(Float:arg0, Float:arg1, Float:arg2, Float:arg3, Float:arg4, Float:arg5, Float:arg6, Float:arg7, Float:arg8, &arg9, &arg10, &arg11)
{
	new Float:var0 = 0.0, Float:var1 = 0.0, Float:var2 = 0.0;
	if(!function5734(arg6, arg7, arg8, arg3, arg4, arg5, var0, var1, var2))
	{
		arg11 = arg2;
	}
	else
	{
		function51F4(0.0, 0.0, 0.0, var0, var1, var2, arg3, arg5);
		function54CC(arg0, arg1, arg2, arg3, arg5, VectorSize(arg6, arg7, arg8), arg9, arg10, arg11);
	}
	return 0.0;
}
commented

What exactly were you expecting to see when you decompile your COMPILED code? How is this useless? Do you know how COMPILING works?

What exactly were you expecting to see when you decompile your COMPILED code? How is this useless? Do you know how COMPILING works?

Well then tell me what this above function does?

I really don't know how compilation works, I'm just saying that if decompilation doesn't deliver code that you can at least understand, it's useless.

commented

Well, when you compile your script, if you don't export function names (for example using compiler flags like -d3, you can read here as well: https://github.com/pawn-lang/compiler/wiki/Options#-dn ), you won't have symbols in your compiled script (aka .amx file).

Decompiling is only useful when you want to know the algorithm and flow of what's happening, and without exporting symbols (using that method I've mentioned above) your custom variables and functions won't have names, so while decompiling them, this script generates names in order

commented
function5984(Float:arg0, Float:arg1, Float:arg2, Float:arg3, Float:arg4, Float:arg5, Float:arg6, Float:arg7, Float:arg8, &arg9, &arg10, &arg11)
{
	new Float:var0 = 0.0, Float:var1 = 0.0, Float:var2 = 0.0;
	if(!function5734(arg6, arg7, arg8, arg3, arg4, arg5, var0, var1, var2))
	{
		arg11 = arg2;
	}
	else
	{
		function51F4(0.0, 0.0, 0.0, var0, var1, var2, arg3, arg5);
		function54CC(arg0, arg1, arg2, arg3, arg5, VectorSize(arg6, arg7, arg8), arg9, arg10, arg11);
	}
	return 0.0;
}

function5984 is function with 12 parameters, inside of this function, three variables are being defined, and they are floating numbers, which you can assume they are Float:x, Float:y, Float:z
and it is calling function5734 with those parameters and newly defined variables
and etc, you should be able to understand the rest

Well, when you compile your script, if you don't export function names (for example using compiler flags like -d3, you can read here as well: https://github.com/pawn-lang/compiler/wiki/Options#-dn ), you won't have symbols in your compiled script (aka .amx file).

Decompiling is only useful when you want to know the algorithm and flow of what's happening, and without exporting symbols (using that method I've mentioned above) your custom variables and functions won't have names, so while decompiling them, this script generates names in order

Understood! Thanks!

commented

You're welcome!