Post: How to decompile and edit a large menu?
06-13-2016, 08:02 PM #1
(adsbygoogle = window.adsbygoogle || []).push({}); Trying to make a menu more stealth, but I am new to gsc and I can't get anything to open or decompile the file. I tried Red-Eye decompiler and I am pretty sure the menu is too large for this program. And I can't open it with GSC studio because it says this project wasn't made with gsc studio. So how do you actually edit a already made menu?
(adsbygoogle = window.adsbygoogle || []).push({});
06-14-2016, 12:58 AM #20
Originally posted by John View Post
You need to extract it.


exctract the whole rar file or a certain folder?
06-14-2016, 12:59 AM #21
Originally posted by FilthyFrank View Post
exctract the whole rar file or a certain folder?


Won't hurt to extract the whole thing.
No need to go through all the effort of trying to get this to work if you have no idea what to do with it though, you can't rebuild gscs or anything.
06-14-2016, 01:00 AM #22
Originally posted by John View Post
Won't hurt to extract the whole thing.
No need to go through all the effort of trying to get this to work if you have no idea what to do with it though, you can't rebuild gscs or anything.


i know lol
06-14-2016, 01:23 AM #23
anthonything
Space Ninja
Originally posted by John View Post
Okay. So add the rest of the instructions lmao there's no documentation that I could find so I had to figure out how all of the instructions worked myself, so good luck with that.
And yeah, it's like a year or so old, works just fine for me.


    
Documentation?

OP_End = 0x0,
OP_Return = 0x1,
OP_GetUndefined = 0x2,
OP_GetZero = 0x3,
OP_GetByte = 0x4,
OP_GetNegByte = 0x5,
OP_GetUnsignedShort = 0x6,
OP_GetNegUnsignedShort = 0x7,
OP_GetInteger = 0x8,
OP_GetFloat = 0x9,
OP_GetString = 0xA,
OP_GetIString = 0xB,
OP_GetVector = 0xC,
OP_GetLevelObject = 0xD,
OP_GetAnimObject = 0xE,
OP_GetSelf = 0xF,
OP_GetLevel = 0x10,
OP_GetGame = 0x11,
OP_GetAnim = 0x12,
OP_GetAnimation = 0x13,
OP_GetGameRef = 0x14,
OP_GetFunction = 0x15,
OP_CreateLocalVariable = 0x16,
OP_RemoveLocalVariables = 0x17,
OP_EvalLocalVariableCached0 = 0x18,
OP_EvalLocalVariableCached1 = 0x19,
OP_EvalLocalVariableCached2 = 0x1A,
OP_EvalLocalVariableCached3 = 0x1B,
OP_EvalLocalVariableCached4 = 0x1C,
OP_EvalLocalVariableCached5 = 0x1D,
OP_EvalLocalVariableCached = 0x1E,
OP_EvalLocalArrayCached = 0x1F,
OP_EvalArray = 0x20,
OP_EvalLocalArrayRefCached0 = 0x21,
OP_EvalLocalArrayRefCached = 0x22,
OP_EvalArrayRef = 0x23,
OP_ClearArray = 0x24,
OP_EmptyArray = 0x25,
OP_GetSelfObject = 0x26,
OP_EvalLevelFieldVariable = 0x27,
OP_EvalAnimFieldVariable = 0x28,
OP_EvalSelfFieldVariable = 0x29,
OP_EvalFieldVariable = 0x2A,
OP_EvalLevelFieldVariableRef = 0x2B,
OP_EvalAnimFieldVariableRef = 0x2C,
OP_EvalSelfFieldVariableRef = 0x2D,
OP_EvalFieldVariableRef = 0x2E,
OP_ClearFieldVariable = 0x2F,
OP_SafeCreateVariableFieldCached = 0x30,
OP_SafeSetVariableFieldCached0 = 0x31,
OP_SafeSetVariableFieldCached = 0x32,
OP_SafeSetWaittillVariableFieldCached = 0x33,
OP_clearparams = 0x34,
OP_checkclearparams = 0x35,
OP_EvalLocalVariableRefCached0 = 0x36,
OP_EvalLocalVariableRefCached = 0x37,
OP_SetLevelFieldVariableField = 0x38,
OP_SetVariableField = 0x39,
OP_SetAnimFieldVariableField = 0x3A,
OP_SetSelfFieldVariableField = 0x3B,
OP_SetLocalVariableFieldCached0 = 0x3C,
OP_SetLocalVariableFieldCached = 0x3D,
OP_CallBuiltin0 = 0x3E,
OP_CallBuiltin1 = 0x3F,
OP_CallBuiltin2 = 0x40,
OP_CallBuiltin3 = 0x41,
OP_CallBuiltin4 = 0x42,
OP_CallBuiltin5 = 0x43,
OP_CallBuiltin = 0x44,
OP_CallBuiltinMethod0 = 0x45,
OP_CallBuiltinMethod1 = 0x46,
OP_CallBuiltinMethod2 = 0x47,
OP_CallBuiltinMethod3 = 0x48,
OP_CallBuiltinMethod4 = 0x49,
OP_CallBuiltinMethod5 = 0x4A,
OP_CallBuiltinMethod = 0x4B,
OP_wait = 0x4C,
OP_waittillFrameEnd = 0x4D,
OP_PreScriptCall = 0x4E,
OP_ScriptFunctionCall2 = 0x4F,
OP_ScriptFunctionCall = 0x50,
OP_ScriptFunctionCallPointer = 0x51,
OP_ScriptMethodCall = 0x52,
OP_ScriptMethodCallPointer = 0x53,
OP_ScriptThreadCall = 0x54,
OP_ScriptThreadCallPointer = 0x55,
OP_ScriptMethodThreadCall = 0x56,
OP_ScriptMethodThreadCallPointer = 0x57,
OP_DecTop = 0x58,
OP_CastFieldObject = 0x59,
OP_EvalLocalVariableObjectCached = 0x5A,
OP_CastBool = 0x5B,
OP_BoolNot = 0x5C,
OP_BoolComplement = 0x5D,
OP_JumpOnFalse = 0x5E,
OP_JumpOnTrue = 0x5F,
OP_JumpOnFalseExpr = 0x60,
OP_JumpOnTrueExpr = 0x61,
OP_jump = 0x62,
OP_jumpback = 0x63,
OP_inc = 0x64,
OP_dec = 0x65,
OP_bit_or = 0x66,
OP_bit_ex_or = 0x67,
OP_bit_and = 0x68,
OP_equality = 0x69,
OP_inequality = 0x6A,
OP_less = 0x6B,
OP_greater = 0x6C,
OP_less_equal = 0x6D,
OP_greater_equal = 0x6E,
OP_shift_left = 0x6F,
OP_shift_right = 0x70,
OP_plus = 0x71,
OP_minus = 0x72,
OP_multiply = 0x73,
OP_divide = 0x74,
OP_mod = 0x75,
OP_size = 0x76,
OP_waittillmatch = 0x77,
OP_waittill = 0x78,
OP_notify = 0x79,
OP_endon = 0x7A,
OP_voidCodepos = 0x7B,
OP_switch = 0x7C,
OP_endswitch = 0x7D,
OP_vector = 0x7E,
OP_NOP = 0x7F,
OP_abort = 0x80,
OP_object = 0x81,
OP_thread_object = 0x82,
OP_EvalLocalVariable = 0x83,
OP_EvalLocalVariableRef = 0x84,
OP_prof_begin = 0x85,
OP_prof_end = 0x86,
OP_count = 0x87,
06-14-2016, 03:56 AM #24
Originally posted by anthonything View Post
    
Documentation?

OP_End = 0x0,
OP_Return = 0x1,
OP_GetUndefined = 0x2,
OP_GetZero = 0x3,
OP_GetByte = 0x4,
OP_GetNegByte = 0x5,
OP_GetUnsignedShort = 0x6,
OP_GetNegUnsignedShort = 0x7,
OP_GetInteger = 0x8,
OP_GetFloat = 0x9,
OP_GetString = 0xA,
OP_GetIString = 0xB,
OP_GetVector = 0xC,
OP_GetLevelObject = 0xD,
OP_GetAnimObject = 0xE,
OP_GetSelf = 0xF,
OP_GetLevel = 0x10,
OP_GetGame = 0x11,
OP_GetAnim = 0x12,
OP_GetAnimation = 0x13,
OP_GetGameRef = 0x14,
OP_GetFunction = 0x15,
OP_CreateLocalVariable = 0x16,
OP_RemoveLocalVariables = 0x17,
OP_EvalLocalVariableCached0 = 0x18,
OP_EvalLocalVariableCached1 = 0x19,
OP_EvalLocalVariableCached2 = 0x1A,
OP_EvalLocalVariableCached3 = 0x1B,
OP_EvalLocalVariableCached4 = 0x1C,
OP_EvalLocalVariableCached5 = 0x1D,
OP_EvalLocalVariableCached = 0x1E,
OP_EvalLocalArrayCached = 0x1F,
OP_EvalArray = 0x20,
OP_EvalLocalArrayRefCached0 = 0x21,
OP_EvalLocalArrayRefCached = 0x22,
OP_EvalArrayRef = 0x23,
OP_ClearArray = 0x24,
OP_EmptyArray = 0x25,
OP_GetSelfObject = 0x26,
OP_EvalLevelFieldVariable = 0x27,
OP_EvalAnimFieldVariable = 0x28,
OP_EvalSelfFieldVariable = 0x29,
OP_EvalFieldVariable = 0x2A,
OP_EvalLevelFieldVariableRef = 0x2B,
OP_EvalAnimFieldVariableRef = 0x2C,
OP_EvalSelfFieldVariableRef = 0x2D,
OP_EvalFieldVariableRef = 0x2E,
OP_ClearFieldVariable = 0x2F,
OP_SafeCreateVariableFieldCached = 0x30,
OP_SafeSetVariableFieldCached0 = 0x31,
OP_SafeSetVariableFieldCached = 0x32,
OP_SafeSetWaittillVariableFieldCached = 0x33,
OP_clearparams = 0x34,
OP_checkclearparams = 0x35,
OP_EvalLocalVariableRefCached0 = 0x36,
OP_EvalLocalVariableRefCached = 0x37,
OP_SetLevelFieldVariableField = 0x38,
OP_SetVariableField = 0x39,
OP_SetAnimFieldVariableField = 0x3A,
OP_SetSelfFieldVariableField = 0x3B,
OP_SetLocalVariableFieldCached0 = 0x3C,
OP_SetLocalVariableFieldCached = 0x3D,
OP_CallBuiltin0 = 0x3E,
OP_CallBuiltin1 = 0x3F,
OP_CallBuiltin2 = 0x40,
OP_CallBuiltin3 = 0x41,
OP_CallBuiltin4 = 0x42,
OP_CallBuiltin5 = 0x43,
OP_CallBuiltin = 0x44,
OP_CallBuiltinMethod0 = 0x45,
OP_CallBuiltinMethod1 = 0x46,
OP_CallBuiltinMethod2 = 0x47,
OP_CallBuiltinMethod3 = 0x48,
OP_CallBuiltinMethod4 = 0x49,
OP_CallBuiltinMethod5 = 0x4A,
OP_CallBuiltinMethod = 0x4B,
OP_wait = 0x4C,
OP_waittillFrameEnd = 0x4D,
OP_PreScriptCall = 0x4E,
OP_ScriptFunctionCall2 = 0x4F,
OP_ScriptFunctionCall = 0x50,
OP_ScriptFunctionCallPointer = 0x51,
OP_ScriptMethodCall = 0x52,
OP_ScriptMethodCallPointer = 0x53,
OP_ScriptThreadCall = 0x54,
OP_ScriptThreadCallPointer = 0x55,
OP_ScriptMethodThreadCall = 0x56,
OP_ScriptMethodThreadCallPointer = 0x57,
OP_DecTop = 0x58,
OP_CastFieldObject = 0x59,
OP_EvalLocalVariableObjectCached = 0x5A,
OP_CastBool = 0x5B,
OP_BoolNot = 0x5C,
OP_BoolComplement = 0x5D,
OP_JumpOnFalse = 0x5E,
OP_JumpOnTrue = 0x5F,
OP_JumpOnFalseExpr = 0x60,
OP_JumpOnTrueExpr = 0x61,
OP_jump = 0x62,
OP_jumpback = 0x63,
OP_inc = 0x64,
OP_dec = 0x65,
OP_bit_or = 0x66,
OP_bit_ex_or = 0x67,
OP_bit_and = 0x68,
OP_equality = 0x69,
OP_inequality = 0x6A,
OP_less = 0x6B,
OP_greater = 0x6C,
OP_less_equal = 0x6D,
OP_greater_equal = 0x6E,
OP_shift_left = 0x6F,
OP_shift_right = 0x70,
OP_plus = 0x71,
OP_minus = 0x72,
OP_multiply = 0x73,
OP_divide = 0x74,
OP_mod = 0x75,
OP_size = 0x76,
OP_waittillmatch = 0x77,
OP_waittill = 0x78,
OP_notify = 0x79,
OP_endon = 0x7A,
OP_voidCodepos = 0x7B,
OP_switch = 0x7C,
OP_endswitch = 0x7D,
OP_vector = 0x7E,
OP_NOP = 0x7F,
OP_abort = 0x80,
OP_object = 0x81,
OP_thread_object = 0x82,
OP_EvalLocalVariable = 0x83,
OP_EvalLocalVariableRef = 0x84,
OP_prof_begin = 0x85,
OP_prof_end = 0x86,
OP_count = 0x87,


Does that explain the length and what operands each operation takes? No, this is not documentation, this is a list with no information.
I've obviously seen this before.

The following user thanked John for this useful post:

jwm614
06-14-2016, 09:50 AM #25
jwm614
NextGenUpdate Elite
Originally posted by John View Post
Does that explain the length and what operands each operation takes? No, this is not documentation, this is a list with no information.
I've obviously seen this before.


A lot of them on that list are wrong anyway
06-15-2016, 06:14 AM #26
SyGnUs
Give a F*** About Your Lifestyle
Originally posted by GentleSlugger View Post
    
#include<iostream.h>

int main()
{
cout << "There's no released decompilers.";

return 0;
}


Shiver

    
#include <iostream>

int main()
{
std::cout << "There's no released decompilers.";

return 0;
}


But anyway there is decompilers released, they just were never developed to decompile custom GSC files not made by Treyarchs compiler. Though there is a open sourced decompiler: You must login or register to view this content.

From what I recall there was people who edited it to work on the GSCs compiled by dtx12s compiler, but not really sure if that's true, it should be possible though.
06-15-2016, 06:21 AM #27
itsSorrow
In my man cave
Originally posted by SyGnUs View Post
Shiver

    
#include <iostream>

int main()
{
std::cout << "There's no released decompilers.";

return 0;
}


But anyway there is decompilers released, they just were never developed to decompile custom GSC files not made by Treyarchs compiler. Though there is a open sourced decompiler: You must login or register to view this content.

From what I recall there was people who edited it to work on the GSCs compiled by dtx12s compiler, but not really sure if that's true, it should be possible though.


I can't believe I forgot the fucking sexual transmitted disease (ik thats not what it means but u know std xD). I saw that on itsmods or something and they removed the download link which is y i thought there was none. my bad
06-15-2016, 06:25 AM #28
SyGnUs
Give a F*** About Your Lifestyle
Originally posted by GentleSlugger View Post
I can't believe I forgot the fucking sexual transmitted disease (ik thats not what it means but u know std xD). I saw that on itsmods or something and they removed the download link which is y i thought there was none. my bad


:p and yeah seems it not's really linked anywhere anymore and is why not much know about it.

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo