also, here's what little I have on [URL="http://www.mediafire.com/?ly4wxyfzjm0"]weapons[/URL] and [URL="http://www.mediafire.com/?z1nkm02d2zk"]collisions[/URL]. furthermore, teh info you copied from meh on tsc is slightly off, you should make it [QUOTE]To make a new command, find a command that you're not going to use - IThe most obvious choice for this would be a duplicate FAC command (at 424eaf), but if you want a larger command, you can cannibalize a command such as xx1.
to find xx1, you would covert it's letters into ascii (so 58,58,51), and then search for a "mov e_x,[004A5AD8]". and then a cmp [e_x+1],58. What this is doing is comparing the first char of the read-in data with 58 (x). If it's not x, it jumps to the next command, and if it is x, it does another check, etcetera. What this code ends up looking like is:
movsx e_x,byte ptr [eax+0001]
cmp e_x,__ ;Checks if the first letter is __
movsx e_x,byte ptr [e_x+0002]
cmp e_x,__ ;Second Letter
movsx e_x,byte ptr [ecx+0003]
cmp e_x,__ ;Thoid
So you'd look for something like this that cmps 58, then 58, then 3D.
To make the command something else, you would just relace the ascii with other values, such as 4D, 4C, 3D (for ML=)
(Code for xx1 isat 00425149 btw)
To change the command itself, you simply need to look at the code after the intro check up until a jmp away. Here you just need general hax knowledge to make you're own command. Don't exceed the length given, but that's an obvious.
the big-fart tsc commands are in two parts, the normal bit, which is in the parser, and then a subroutine, which is generally the last call in the tsc. you can go into the subroutine of a tsc event to write you're own code, too.
probably the most important thing your tsc command needs is this ikkle bit of tagalong code that's either near the start or the end that looks like this:
mov e_x,dword ptr ds:[4A5AE0]
add e_x,(chars used up by your tsc command, one with no arguments would take up 4)
mov dword ptr ds:[4A5AE0],e_x
and this allows the parser to move on, and doesn't break the game.
and a little bonus for you all, if you do this:
425244: jmp 4252ac
what this does is makes it so that if a tsc command doesn't exist, it treats it as text, instead of crashing.
[/QUOTE] there were a lot of things wrong, so I sorta redid it. :O
and here are some more tsc-related offsets [QUOTE]General:
0x422510 - Parser Offset
0x4225d5 - Galloping Triplets
0x425770 - End of Parser
0x421900 - ASCII to number
0x4242dA - CMU
0x422666 - LI+
0x4227a3 - IT+
0x422821 - IT-
0x422893 - EQ+
0x422907 - EQ-
0x422c93 - UNI
0x42314f - KEY
0x4237e6 - YNJ
0x424e28 - FAC
0x424eaf - FAC(2)
0x4251fc - ESC
0x420ee0 - CMU
0x419c60 - LI+
0x419cb0 - ML+
0x4012d0 - IT+
0x401330 - IT-
0x416c70 - EQ+
*(fac, esc, key, and others don't have subroutines)[/QUOTE]
how goeth the mod?
alsoalso, I took functions from your comfospendium and added them to my list, so you can presumably just copypatsa the lot.