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:
0000X is equal to Y
0001X is not equal to Y
0002X is greater than Y
0003X is less than Y
0004X is greater or equal to Y
0005X is less or equal to Y
0006Always 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.
0000Current Health
0001Max Health
0002Player X Position
0003Player Y Position
0004Current Weapon Ammo
0005XP needed to be gained for next level
0006MyChar number (this one is writable
0007Current 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