Talk:Shadowsource

From Valve Developer Community
Revision as of 09:26, 14 November 2009 by Chiefwhosm (talk | contribs)
Jump to navigation Jump to search

Fixes Required For The Pre-September Release

Multiplayer Level Transitions.

Credit goes to mrhanky7 of The Synergy Mod for the following information (which I've re-typed for this wiki):

In the current engine code, it is impossible to use Valves transition code. To work around this you have to by-pass engine functions such as:

  • engine->LoadAdjacentEnts()
  • engine->LoadGameState()

by using your own functions with alterations to support multiple players.


Also you need to remove the transitions from relying on the landmark name for map changes, instead you call:

  • engine->ChangeLevel()

along with the next maps name.

The next map and next landmark name are stored in static variables, which are to be referenced later.

The functions that require looking into the most are:

  • CBaseEntity Save()
  • CBaseEntity Restore()

You'll notice that they call to a function that saves/loads the data description table values.

Bear in mind that there are many changes to be made in saverestore.cpp and .h for the code to support multiple players.

Alyx Darkness Mode.

This was disabled in the Pre-September release. The reason being that it always caused the game to crash.

Further investigations since the release have shown that the line:

  • if ( HL2GameRules()->IsAlyxInDarknessMode() )

Is the sole cause of crashes for alyx darkness mode in Shadowsource, therefore a different method of checking needs to be implemented for darkness mode to be put back in.


November Alpha Release

This is the current in-alpha release. The reason I'm releasing it is I may have other things to do soon, and I fail to see why modding teams shouldn't benefit from the changes made. It is however in some respects more bug filled than the september release, so be warned.

Items added to this release are:

  • Less crashes (though still a fair few)
  • Fully working implementation of barnacles being able to swallow players.
  • Player class system, with different models per team/class choice and different abilities. Though all players are allowed to sprint for example. Some players can pick up heavier objects than others with their hands.
  • Implemented players being able to pickup objects with their hands.
  • Note that with this version the gravity gun bug returned due to my overwriting the player cpp file, but anyone can add in the fix for rotating objects with the gravity gun from the source coders forums.
  • Note that you should remove the current implementation of multiplayer level transitions as you will crash the server host on transition. If you play by yourself, then transitions work 100%.
  • Note also that antlions are bugged due to the player class system. They will attack you, but do you no damage. Combine soldiers however are quite the reverse and will kill you very quickly if you're not careful


The compiled version can be found at the following mirror(s):

RapidShare

And the patch code at these mirror(s):