Talk:Shadowsource
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 crashes on line 1970 are still in this version. Anyone finding out why this keeps happening, please say so here so that it can be fixed.
- This version has much better comment lines for what each change does in comparison to the older version.
The compiled version can be found at the following mirror(s):
Compiled Version On RapidShare
And the patch file at these mirror(s):