Skip to content

RTCW SP

Zack Middleton edited this page Jun 11, 2014 · 10 revisions

RTCW-SP engine features missing from Spearmint. A lot of SP engine features are listed on RTCW-MP and EnemyTerritory page instead of here. My plan is to port them first and then add whatever is needed for SP. SP notes counting all three pages is still incomplete though.

Additional API calls

  • More sound VM API calls.

  • G_BOT_ALLOCATE_CLIENT (modified argument list, takes clientNum) // ZTM: for spearmint it would be a entity/playerNum.

    • ZTM: should it give clientNum and playerNum? or does clientNum (aka connectionNum in game VM) not matter?

Bot AAS Support

  • Missing support for new AAS version and loading multiple AAS files at once

Misc Changes from MP

Server:

  • SV_ClipToEntities: ZTM: Could probably unlink/relink the chair when player moves? Though, might be ignored to allow shooting through it or something.
		// RF, special case, ignore chairs if we are carrying them
		if ( touch->s.eType == ET_PROP && touch->s.otherEntityNum == clip->passEntityNum + 1 ) {
			continue;
		}
  • SV_SendClientSnapshot: Snapshots aren't built for SVF_CASTAI. (NOTE: They are built for bots in q3/rtcw/etc.)
  • SV_CheckTimeouts: SVF_CASTAI don't time out.
  • SV_SetConfigstring: Not sent to SVF_CASTAI (in any gametype, RTCW MP limits to GT_SINGLE_PLAYER).
  • SV_DropClient: Doesn't print disconnect message for SVF_CASTAI.

Client:

  • cl_cin.c: Uses roqFPS. Q3 and RTCW MP do not. Sounds like a good idea.
  • cl_cin.c: Makes sure finishes playing sound after video ends?
  • cl_cin.c: Has letterbox RoQ support, can be done in Spearmint cgame I think.

Renderer

  • I haven't reviewed the SP renderer very much yet. Most of the shader keywords are supported.

  • Sky portal changes from MP.

    • If map has a skyportal (passed in refdef with RDF_SKYBOXPORTAL), does not draw sky if not RDF_SKYBOXPORTAL (e.g., world view point). Spearmint has a RDF_NOSKY which allows this (keep track of whether there is a sky portal in cgame).
    • If refdef has RDF_SKYBOXPORTAL and does not have RDF_DRAWSKYBOX, only draws sky surfaces in sky portal. TODO: Could replace with a RDF_ONLYSKY.
  • "spotLight" flares see (tr.spotFlareShader). Corona from cgame says whether to use tr.spotFlareShader or tr.flareShader. TODO: Should allow corona to specify a shader handle, fallback to default flare shader.

Clone this wiki locally