Dear Programmers, as you probably know there is a new test patch coming.
http://www.lfsforum.net/showthread.php?t=73874
Old InSim programs will still work with the new patch, but you can make use of some new functions.
1) Note the Track[6] fields will indicate the new configs like SO1X and FE3Y etc. Those two would indicate an open config using SO Classic Forward start grid / Fern Bay Gold Reversed grid.
2) New collision reporting. Please take a look at this packet specification and have a think about how you would use it, and if it needs any more info :
3) IS_MTC now can have up to 128 characters (including a zero at the end) in a variable sized packet. You can also specify the sound effect of the message and send a message to all connections with a single call.
4) I've had a look at EQ_Worry's suggestions in this post :
http://www.lfsforum.net/showthread.php?p=1337106#post1337106
Particularly suggestion (2) a traction control bit I'd like to include because that is something missing. And I'll have a look at (3). I have not studied them yet so I can't say for sure.
I really must keep any updates to the minimum, because I want to release the test patch as soon as possible so I can get back to the tyre physics. So if you have suggestions, please try to stick to very simple ones and think through how they would work.
Thanks
                
            http://www.lfsforum.net/showthread.php?t=73874
Old InSim programs will still work with the new patch, but you can make use of some new functions.
1) Note the Track[6] fields will indicate the new configs like SO1X and FE3Y etc. Those two would indicate an open config using SO Classic Forward start grid / Fern Bay Gold Reversed grid.
2) New collision reporting. Please take a look at this packet specification and have a think about how you would use it, and if it needs any more info :
// CONTACT - reports contacts between two cars
// =======
struct CarContact // Info about one car in a contact - two of these in the IS_CON (below)
{
	byte	PLID;
	byte	Info;		// like Info byte in CompCar (CCI_BLUE / CCI_YELLOW / CCI_LAG)
	byte	Sp2;
	byte	Speed;		// m/s
	byte	Direction;	// car's motion if Speed > 0 : 0 = world y direction, 128 = 180 deg
	byte	Heading;	// direction of forward axis : 0 = world y direction, 128 = 180 deg
	char	AccelF;		// m/s^2 longitudinal acceleration (forward positive)
	char	AccelR;		// m/s^2 lateral acceleration (right positive)
	short	X;			// position (1 metre = 16)
	short	Y;			// position (1 metre = 16)
};
struct IS_CON // CONtact - between two cars (A and B are sorted by PLID)
{
	byte	Size;		// 32
	byte	Type;		// ISP_CON
	byte	ReqI;		// 0
	byte	Zero;
	byte	Closing;	// the closing speed of the collision in m/s (suggests severity)
	byte	Sp1;
	byte	Sp2;
	byte	Sp3;
	CarContact	A;
	CarContact	B;
};
3) IS_MTC now can have up to 128 characters (including a zero at the end) in a variable sized packet. You can also specify the sound effect of the message and send a message to all connections with a single call.
struct IS_MTC // Msg To Connection - hosts only - send to a connection / a player / all
{
	byte	Size;		// 8 + TEXT_SIZE (TEXT_SIZE = 4, 8, 12... 128)
	byte	Type;		// ISP_MTC
	byte	ReqI;		// 0
	byte	Sound;		// sound effect (see Message Sounds below)
	byte	UCID;		// connection's unique id (0 = host / 255 = all)
	byte	PLID;		// player's unique id (if zero, use UCID)
	byte	Sp2;
	byte	Sp3;
//	char	Text[TEXT_SIZE]; // up to 128 characters of text - last byte must be zero
};
4) I've had a look at EQ_Worry's suggestions in this post :
http://www.lfsforum.net/showthread.php?p=1337106#post1337106
Particularly suggestion (2) a traction control bit I'd like to include because that is something missing. And I'll have a look at (3). I have not studied them yet so I can't say for sure.
I really must keep any updates to the minimum, because I want to release the test patch as soon as possible so I can get back to the tyre physics. So if you have suggestions, please try to stick to very simple ones and think through how they would work.
Thanks


 )
 )


