Something such as Sonic 3's Special Stages would be really difficult to make in SRB2, with all of the limitations.
I'm sure it won't be possible, and if it is, it probably won't be done well anyways.
It can most certainly be done and execution would be at very least decent if done right.
There'll need to be constant forward movement in a special stage after the assigned key to move forward is pressed. Possibly borrowing CZ64's idea for forward movement like he did in his riders mod.
Rough code draft possibly? Have an if statement stating if you are in a special stage, AND one of the sidemove (Assigned turn left/right) keys are pressed, the player turns in that direction.
if ((gamemap >= sstage_start && gamemap <= sstage_end) && cmd->sidemove) {
if (cmd->sidemove > 0)
player->mo->angle += ANG90;
else if (cmd->sidemove < 0)
player->mo->angle -= ANG90;
}
You'll also want a new statement such as an angle limit to prevent the player from constantly spinning with a single keypress. Of course I wouldn't know how to do that off the top of my head. I would assume you would need a new player structure, like anglimit (player->anglimit).
In regards to jumping in special stages, it seems to have a similar gravity like being in NoClipping mode, maybe a little less.
In short, it can be done.
You'll also want a new statement such as an angle limit to prevent the player from constantly spinning with a single keypress. Of course I wouldn't know how to do that off the top of my head. I would assume you would need a new player structure, like anglimit (player->anglimit).
In regards to jumping in special stages, it seems to have a similar gravity like being in NoClipping mode, maybe a little less.
Sure, I'm not sure if there will be something like a rounded surface to walk on like in the original S3&K, but perhaps something different like a huge fog block covering the stage?
Whether or not they decide to want to attempt it is surely up for debate, it would be an interesting sight to see executed IMO.
EDIT:
Whoops, apparently I'm wrong, but I'll leave this up here just in case. I suppose.