maybe implement your 'experimental' stuff in a case 'X': of the main switch there. Then extract your secondary character and switch again (so two nested switch's).
sscanf( p, "%c,%hi,%hi,%hi,%hi,%c", &tool, &pos.x, &pos.y, &z, &convoi_id , &exptool);
The trunk code should ignore the exptool.