-What is it?
SCRLOG is a plugin for GTA III, Vice City and San Andreas, it is a spiritual successor for SCMLOG.
Using this plugin you will be able to see a log of all commands executed, including params, return values, boolean result, etc
So, what's the difference between this and SCMLOG?
With time, things evolve, new things are discovered and that happened to the GTA scripting community!
We have found how the real SCM language was handled, the real command names, the real syntax...
... well, we would never discover it if R* (or a 3rd party developer) didn't left that informations in both GTA III and Vice City mobile.
But we did and hopefully someone will create a native SCM compiler (or what we call the native SCM... SCR... a SCR compiler)
Now, it is the time to SCMLOG evolve to SCRLOG!
SCRLOG provides a nice logging for many things happening in the scm script engine represented in a native (SCR) way.
An example of a SCRLOG log:
00069846&1: [00D6] IF 0
00069850&0:  g409(0) 0 // TRUE
00069857&1: [004D] GOTO_IF_FALSE 70620
00069864&1: [00D6] IF 0
00069868&0: [00FF] LOCATE_CHAR_ON_FOOT_3D 1 -2026.81 -114.909 1034.18 20.0 20.0 10.0 0 // FALSE
00069899&0: [004D] GOTO_IF_FALSE 70210
Much better than the old SCMLOG, that by the way, can only log values that you send to the engine, not ones that you receive.
"Right, but can you make a list of things that changed from SCMLOG?", yeah:
1 ASI for 3 games.
An extremely configurable ini file
Can log directly into the disk instead of keeping things in memory until the time to send to the disk (Useful on certain crashes that the plugin can't flush things from memory to disk anymore)
Can log commands results, boolean results, floats, strings, pointers, etc
Can log using a native SCM syntax
PLEASE READ SCRLOG.INI EVEN IF YOU WON'T MODIFY ANYTHING THERE!
ALSO NOTE THAT I HAVE NOTHING TO DO WITH THE ORIGINAL AUTHOR OF SCMLOG
CONTINUES ON README.TXT
FLUSH_NEVER really depends on the crash and the operation system behaviour. The code to flush can or can't run after the crash for some specific reason (even the OS way to work).
When the game crashes and you can't see the log, use FLUSH_ON_WRITE, nothing goes to memory at all, everything goes to the disk directly so when the game crashes nothing has to be flushed.