Reverses the sign on the item on the top of the stackĬompares the top 2 integers on the stack to see if they are equalĬompares the top 2 integers on the stack to see if they are not equalĬompares the top 2 integers on the stack to see if the first one is greater than the second oneĬompares the top 2 integers on the stack to see if the first one is greater than or equal to the second oneĬompares the top 2 integers on the stack to see if the first one is less than the second oneĬompares the top 2 integers on the stack to see if the first one is less than or equal to the second one opcode 79), will cause a forceful abort of the script execution.Ĭhecks the first item on the stack to see if it equals 0 Opcodes 76,77,78 deal with XLive protected buffers and are available on the PC platform only. ![]() For example, opcode 100 will push 4 onto the stack. There are 79 opcodes which can occur and any opcode above 80 is a Push opcode which pushes its own number - 96 onto the stack. Opcodes can have varying sizes, but all opcodes are identified by their first byte. The Code Segment contains the opcodes which govern the scripts behaviour. The Signature only differs in navgen_main, but could possibly set the script priority. ![]() The Script Flags appear to correspond to how many arguments you will pass to the script when starting using the native START_NEW_SCRIPT_WITH_ARGS The segment for global variables starts at the end of Header + Code Size + Static Var Count * 4, and continues for 4x the global variable count (due to the global variables being stored in 4 byte's each). The Global Var Size refers to the amount of global variables the SCO file contains. The segment for static variables starts at the end of Header + Code Size, and continues for 4x the static variable count (due to the static variables being stored in 4 byte's each). The Static Var Count refers to the amount of static variables the SCO file contains. The Code Size refers to the amount of bytes the code section takes up. To decrypt an encrypted version you must decrypt each segment (except the header) separately using GTA IV's AES Cryptography. The SCO Identifier will be "SCR\r" (or 0xD524353) in an unencrypted version, and "scr"+0圎 (or 0圎726373) in an encrypted version. Each file however shares the same unencrypted header structure, and you can use this to determine which type of SCO file you are dealing with. ![]() There are 2 types of SCO files, an encrypted and unencrypted one. The last is the global variables container, it is unclear what this segment actually does. The next segment is the static variables container which contains enough space to hold the scripts static variables. Then the code segment which contains the opcodes which govern how the script behaves. First the header containing information about the SCO file. Its new format replaces old scm one.Ī SCO file is laid out into 4 segments.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |