| # TSC+ COMMAND DOCUMENTATION This help file provides some information about the commands included in TSC+. TSC+ as currently released in BL has 3 parts: the base commands, commands added by the PHYS addon, and commands added by the TIMG addon. To use PHYS or TIMG requires applying base TSC+ first. TSC+ is a large hack, so it doesn't usually play well with non-TSC+ TSC modifications. ## TSC+ BASE: <LRXXXXX:YYYY:ZZZZ Wait for a keypress and run either event X, Y, or Z depending on whether they key was Left, Right or Shoot <FNJXXXX:YYYY Jump to Y if flag X is not set. <VARXXXX:YYYY Puts YYYY into variable # XXXX <VAOXXXX$YYYY Performs operation $ on XXXX using # YYYY. Valid values of $ are + (addition) - (subtraction) * (multiplication) and % (Basically IDIV). Dividing by zero will crash the game, by the way. <VAZXXXX:YYYY Zeros YYYY variables, starting at variable # XXXX. <VAZXXXX:0000 will do nothing. <VAJXXXX:YYYY:ZZZZ:WWWW Compare XXXX to YYYY using method ZZZZ, if true jump to WWWW. ZZZZ is as follows:
0000 | X is equal to Y
0001 | X is not equal to Y
0002 | X is greater than Y
0003 | X is less than Y
0004 | X is greater or equal to Y
0005 | X is less or equal to Y
0006 | Always jumps, but that's a bug in the code. Any higher than 6 and you may very well crash the game.
does NOT assume arguments are variables. Use VXXX if you want to access them here. <RNDXXXX:YYYY:ZZZZ Puts random # between XXXX (min) and YYYY (max) into variable ZZZZ. Other changes: VAR utilizes flags 6000-8000. Variables numbered V008-V123 can be used safely. Variables higher than 123 will begin modifying other RAM values - you can use this to your advantage if you know the math. VAR flags start at address 49E090. Each var is two bytes. For any TSC argument, if the first digit is replaced with "V" then it will be evaluated as Variable #XXX. Example: <FAI0004 // fades in with direction "4" <FAIV010 // fades in using the value of variable 10 <NUMXXXX now outputs the value in variable XXXX to the message box. As well, certain variables are pre-populated and should not be set. These are "read-only" meaning changing them will not do anything.
0000 | Current Health
0001 | Max Health
0002 | Player X Position
0003 | Player Y Position
0004 | Current Weapon Ammo
0005 | XP needed to be gained for next level
0006 | MyChar number (this one is writable
0007 | Current Direction Faced
## TSC+ TIMG ADDON: <IMGFILE will set TimgFILE.bmp over the screen. The "tag" for the file name must be exactly 4 characters. <IMG0000 will remove the image overlay. Pure black [00000000] in the overlay image will be transparent. This replaces the "Blackboard" npc (043) and "Grate" npc (100) ## TSC+ PHYS ADDON:
    	Command <PHYXXXX:YYYY	Type:Value
    Physics variables that can be changed:
    	0 = Max Walk Speed (normal 812)
    	1 = Max Fall speed (normal 1535)
    	2 = Gravity (normal 80)
    	3 = Alt Gravity (normal 32)
    	4 = Walk Accel (normal 85)
    	5 = Jump Control (normal 32)
    	6 = Friction (normal 51)
    	7 = Jump force (normal 1280)
    	8 = 0 but water
    	9 = 1 but water
    	10 = 2 but water
    	11 = 3 but water
    	12 = 4 but water
    	13 = 5 but water
    	14 = 6 but water
    	15 = 7 but water
    	16 : water doesn't cause splash
    		or trigger air timer.
When using the PHYS hack, you need to define ALL your physics variables whenever a new game is started, otherwise the player will not move. PHYS uses flags starting at 49E060. You can then change physics using TSC whenever you want. DO NOT use the regular hackinator physics hack in combination with this one!! it will break!!! Max movement speed is defined by 01:MaxFallSpeed instead of hardcoded now Author: Noxid |