Hi VOSK,
Figured I'd post this here we did briefly discuss it in the Minerva thread.
I would like to suggest some changes however I don't fully understand the implications of doing this, you might be able to mention any concerns in the following approach or what I might have wrong:
Currently the "mount.cache" has a list of all "mountable/usable" content additions? I assume this also limits what you are able to use so if Minerva was not listed even with the dynamic load, it would not mount it because it's not listed?
Now my suggestion is to change the way the dynamic mounting works? I believe this is causing problems for other plugins like SourceMod as well.
You mentioned the "path" command which outputs a lit of all locations where content can be stored? With the dynamic mount, this seems to add/remove "path" entries depending on which map you end up on, for example if you are on a hl2 map that does not need ep1 or ep2, ep1 and ep2 are removed from the list?
Now since this is done, when you try to use things like "sm_map" in SourceMod it wants to make sure the map exists and because there is no "path" entry for "unmounted" content it will fail on a large number of maps.
Now I am not entirely sure why dynamic mounting was created, does it consume less resources for the server? If not then why not just have the server "mount" all content and keep them mounted?
Now I know the next thing I saw mentioned was dynamic mounting allows a player to join a server if it was playing a map which does not require some of the additional content? allow for the players to join a server that might be playing a map which only requires hl2 content for example and not ep1 or ep2 and the player does not have ep1 or ep2.
Now this is fine, I assume you could make a "synergy-specific" path variable on the server like syn_path? which would have a list of the currently required mounts for a given map, this way the syn_path could be manipulated and the original path variable could be left in-tact for anything else?
Now as mentioned I don't know all the implications involved with this, so you might be able to shed some light on reasons why this maybe couldn't be done but I think it would really help for support of 3rd party-tools both MetaMod and admin-tools alike.
Now another thing you could do is confirm with the SourceMod guys for example on what is required to make this work, however based on some basic tests I think it may be just "path" related. However it would probably use some more testing, I have also submitted a bug report on this:
https://bugs.alliedmods.net/show_bug.cgi?id=3314
I don't believe the way to go about it is to create a "Synergy" specific module only built for SourceMod for example as some people prefer Mani Admin, some people prefer Eventscripts etc. I believe these path changes might allow for a more global fix?
Thank you.
Toggle shoutbox Shoutbox
|
|||||||||||||||||||||||||||||||||||||||||
Page 1 of 1
Dynamic Mounting Changes
#2
Posted 14 October 2008 - 10:07 PM
Unfortunately I have very limited control over this, the only thing I am able to directly manipulate is the search paths and the content that is loaded using one of the Steam filesystem APIs.
The whole purpose of this system is to enable us to easily extend the game to include other games or mods so people can play cooperatively on them. It also enables us to go from HL2 to EP1 and to EP2.
So I cannot change the way it works, sorry.
Two alternatives:
A: put a map up on the server that will let players choose which map to go to (or a map that will put on all search paths at least so the plugins can work), or
B: move or extract the BSP files to Synergy's "maps" directory
And just for the record, players can connect to servers running a HL2 map (and with the "hl2 ep1 ep2" mounts). As soon as the server changes to a map that uses games the client doesn't use, he will be dropped from the server.
The whole purpose of this system is to enable us to easily extend the game to include other games or mods so people can play cooperatively on them. It also enables us to go from HL2 to EP1 and to EP2.
So I cannot change the way it works, sorry.
Two alternatives:
A: put a map up on the server that will let players choose which map to go to (or a map that will put on all search paths at least so the plugins can work), or
B: move or extract the BSP files to Synergy's "maps" directory
And just for the record, players can connect to servers running a HL2 map (and with the "hl2 ep1 ep2" mounts). As soon as the server changes to a map that uses games the client doesn't use, he will be dropped from the server.
#3
Posted 14 October 2008 - 11:51 PM
QUOTE (VOSK @ Oct 15 2008, 02:07 PM) <{POST_SNAPBACK}>
Unfortunately I have very limited control over this, the only thing I am able to directly manipulate is the search paths and the content that is loaded using one of the Steam filesystem APIs.
The whole purpose of this system is to enable us to easily extend the game to include other games or mods so people can play cooperatively on them. It also enables us to go from HL2 to EP1 and to EP2.
So I cannot change the way it works, sorry.
Two alternatives:
A: put a map up on the server that will let players choose which map to go to (or a map that will put on all search paths at least so the plugins can work), or
B: move or extract the BSP files to Synergy's "maps" directory
And just for the record, players can connect to servers running a HL2 map (and with the "hl2 ep1 ep2" mounts). As soon as the server changes to a map that uses games the client doesn't use, he will be dropped from the server.
The whole purpose of this system is to enable us to easily extend the game to include other games or mods so people can play cooperatively on them. It also enables us to go from HL2 to EP1 and to EP2.
So I cannot change the way it works, sorry.
Two alternatives:
A: put a map up on the server that will let players choose which map to go to (or a map that will put on all search paths at least so the plugins can work), or
B: move or extract the BSP files to Synergy's "maps" directory
And just for the record, players can connect to servers running a HL2 map (and with the "hl2 ep1 ep2" mounts). As soon as the server changes to a map that uses games the client doesn't use, he will be dropped from the server.
Right but is it possible to leave all the "path" options there all the time? The only reason I could see you would want to remove the "path" options is for dynamic mounting? If the "path" entries are being removed just so that it can check against what the connecting player has mounted, couldn't you make a syn_path list which could be used instead?
If all the "path" entries were always there then I believe SourceMod would be able to work/changelevel to any mountable maps?
Yeah I am aware a player can join a server with more mounted options than the server is using and that the player can't join a server that is using more mounts than the player has. I just don't fully understand how that is checked and I assume it might have something to do with the path additions/removals?
#4
Posted 15 October 2008 - 08:30 AM
You don't understand, swapping the "GAME" paths in is what needed to change. That's how it works. Search paths are not used at all to check if the players have the games mounted.
The fact that a player can join a server is determined by the map the server is playing and not what the server has mounted.
The fact that a player can join a server is determined by the map the server is playing and not what the server has mounted.
#5
Posted 15 October 2008 - 04:43 PM
QUOTE (VOSK @ Oct 16 2008, 12:30 AM) <{POST_SNAPBACK}>
You don't understand, swapping the "GAME" paths in is what needed to change. That's how it works. Search paths are not used at all to check if the players have the games mounted.
What do you mean by the "paths needed to change"?
Yeah i don't fully understand how the client is checking what games are required for a specific map, Are you saying there is some hard-coded checks that it knows for a specific "official" map it needs specific mounts?
I don't understand why the "path" has to change, why can't it keep all entries all the time?
For example as you said if you start the server with no map loaded the "path" variable returns (I assume) all mount paths:
---------------
Paths:
"d:\srcds\synergy\orangebox\bin\" "EXECUTABLE_PATH"
"d:\srcds\synergy\orangebox\synergy\" "MOD"
"d:\srcds\synergy\orangebox\synergy\bin\" "GAMEBIN"
"d:\srcds\synergy\orangebox\synergy\" "LOGDIR"
"d:\srcds\synergy\orangebox\hl2\bin\" "GAMEBIN"
"d:\srcds\synergy\orangebox\synergy\" "DEFAULT_WRITE_PATH"
"d:\srcds\synergy\hl2\bin\" "GAMEBIN"
"d:\srcds\synergy\orangebox\synergy\" "GAME"
"d:\srcds\synergy\orangebox\ep2\" "GAME"
"d:\srcds\synergy\orangebox\episodic\" "GAME"
"d:\srcds\synergy\orangebox\hl2\" "GAME"
"d:\srcds\synergy\orangebox\metastasis\" "GAME"
While this is the case I believe SourceMod would be able to change to any map (Can't check because no map has been loaded so no plugins have either)
If you change to syn_trials4 for example your paths change:
---------------
Paths:
"maps\syn_trials4.bsp" "GAME" (map)
"d:\srcds\synergy\orangebox\bin\" "EXECUTABLE_PATH"
"d:\srcds\synergy\orangebox\synergy\" "MOD"
"d:\srcds\synergy\orangebox\synergy\bin\" "GAMEBIN"
"d:\srcds\synergy\orangebox\synergy\" "LOGDIR"
"d:\srcds\synergy\orangebox\hl2\bin\" "GAMEBIN"
"d:\srcds\synergy\orangebox\synergy\" "DEFAULT_WRITE_PATH"
"d:\srcds\synergy\hl2\bin\" "GAMEBIN"
"d:\srcds\synergy\orangebox\synergy\logs\syn_trials4\0000\" "LOGDIR"
"d:\srcds\synergy\orangebox\synergy\" "GAME"
"d:\srcds\synergy\orangebox\ep2\" "GAME"
"d:\srcds\synergy\orangebox\episodic\" "GAME"
"d:\srcds\synergy\orangebox\hl2\" "GAME"
Minerva for example has been removed and so "sm_map metastasis_1" fails:
sm_map metastasis_1
CModelLoader::Map_IsValid: No such map 'maps/metastasis_1.bsp'
[SM] Map metastasis_1 was not found.
Now i change to d1_canals_01:
sm_map d1_canals_01
[SM] Changing map to d1_canals_01...
path now ends up being:
---------------
Paths:
"maps\d1_canals_01.bsp" "GAME" (map)
"d:\srcds\synergy\hl2\bin\" "GAMEBIN"
"d:\srcds\synergy\orangebox\synergy\logs\syn_trials4\0000\" "LOGDIR"
"d:\srcds\synergy\orangebox\bin\" "EXECUTABLE_PATH"
"d:\srcds\synergy\orangebox\synergy\" "MOD"
"d:\srcds\synergy\orangebox\synergy\bin\" "GAMEBIN"
"d:\srcds\synergy\orangebox\synergy\" "LOGDIR"
"d:\srcds\synergy\orangebox\hl2\bin\" "GAMEBIN"
"d:\srcds\synergy\orangebox\synergy\" "DEFAULT_WRITE_PATH"
"d:\srcds\synergy\orangebox\synergy\" "GAME"
"d:\srcds\synergy\orangebox\hl2\" "GAME"
Episode 1 and Episode 2 have been unloaded so now I can't change to those maps because it can't check the "GAME" path's maps folders for the maps to see if they exist:
sm_map ep1_citadel_00
CModelLoader::Map_IsValid: No such map 'maps/ep1_citadel_00.bsp'
[SM] Map ep1_citadel_00 was not found.
Now because "Synergy" is still there I can change to a Synergy map:
sm_map syn_antlions_way
[SM] Changing map to syn_antlions_way...
Now because Episode 1 and Episode 2 have been loaded for this map as well as hl2:
---------------
Paths:
"maps\syn_antlions_way.bsp" "GAME" (map)
"d:\srcds\synergy\orangebox\synergy\" "DEFAULT_WRITE_PATH"
"d:\srcds\synergy\hl2\bin\" "GAMEBIN"
"d:\srcds\synergy\orangebox\synergy\logs\syn_trials4\0000\" "LOGDIR"
"d:\srcds\synergy\orangebox\bin\" "EXECUTABLE_PATH"
"d:\srcds\synergy\orangebox\synergy\" "MOD"
"d:\srcds\synergy\orangebox\synergy\bin\" "GAMEBIN"
"d:\srcds\synergy\orangebox\synergy\" "LOGDIR"
"d:\srcds\synergy\orangebox\hl2\bin\" "GAMEBIN"
"d:\srcds\synergy\orangebox\synergy\" "GAME"
"d:\srcds\synergy\orangebox\ep2\" "GAME"
"d:\srcds\synergy\orangebox\episodic\" "GAME"
"d:\srcds\synergy\orangebox\hl2\" "GAME"
I can change to ep1 or ep2 maps because the paths now exist:
sm_map ep1_citadel_00
[SM] Changing map to ep1_citadel_00...
Now this map requires hl2 and ep1 obviously but not ep2:
---------------
Paths:
"maps\ep1_citadel_00.bsp" "GAME" (map)
"d:\srcds\synergy\orangebox\hl2\bin\" "GAMEBIN"
"d:\srcds\synergy\orangebox\synergy\" "DEFAULT_WRITE_PATH"
"d:\srcds\synergy\hl2\bin\" "GAMEBIN"
"d:\srcds\synergy\orangebox\synergy\logs\syn_trials4\0000\" "LOGDIR"
"d:\srcds\synergy\orangebox\bin\" "EXECUTABLE_PATH"
"d:\srcds\synergy\orangebox\synergy\" "MOD"
"d:\srcds\synergy\orangebox\synergy\bin\" "GAMEBIN"
"d:\srcds\synergy\orangebox\synergy\" "LOGDIR"
"d:\srcds\synergy\orangebox\synergy\" "GAME"
"d:\srcds\synergy\orangebox\episodic\" "GAME"
"d:\srcds\synergy\orangebox\hl2\" "GAME"
As such ep2 maps fail to load both via SourceMod and changelevel command:
sm_map ep2_outland_01
CModelLoader::Map_IsValid: No such map 'maps/ep2_outland_01.bsp'
[SM] Map ep2_outland_01 was not found.
changelevel ep2_outland_01
CModelLoader::Map_IsValid: No such map 'maps/ep2_outland_01.bsp'
changelevel failed: ep2_outland_01 not found
So if the "path" list always contained all the mounts I think a lot if not all the issues with "admin plugin map changing" and the lack of being able to use the standard changelevel command would disappear?
Why is it required to change the "GAME" paths?
#6
Posted 15 October 2008 - 05:35 PM
Try this:
Take all the ep1 models, animations, sounds, etc and put them in your hl2 directory. Then play HL2
Predicted Result (Proven in Synergy 1.1):
animations, sounds, models, etc are all glitched because they are using the ep1 files and infact, breaks all maps because the npcs/ai cant find the scripts they are looking for meaning - you wouldn't be able to even get past d1_trainstation_01 due to bugged AI, etc
What I advise against:
Putting the .bsp files in the synergy maps folder unless you have sv_allowdownload 0. Failure to do so can potentially mean illeagally distributing content which Valve owns the copyrights for.
And some final questions to VOSK:
What would happen if the game paths were changed temporarally after map load, etc just so the maps are visible?
Would it be possible to create a new type of path such as "map path" which would allow the server to see the maps normally without effecting other things?
Take all the ep1 models, animations, sounds, etc and put them in your hl2 directory. Then play HL2
Predicted Result (Proven in Synergy 1.1):
animations, sounds, models, etc are all glitched because they are using the ep1 files and infact, breaks all maps because the npcs/ai cant find the scripts they are looking for meaning - you wouldn't be able to even get past d1_trainstation_01 due to bugged AI, etc
What I advise against:
Putting the .bsp files in the synergy maps folder unless you have sv_allowdownload 0. Failure to do so can potentially mean illeagally distributing content which Valve owns the copyrights for.
And some final questions to VOSK:
What would happen if the game paths were changed temporarally after map load, etc just so the maps are visible?
Would it be possible to create a new type of path such as "map path" which would allow the server to see the maps normally without effecting other things?
#7
Posted 15 October 2008 - 06:30 PM
QUOTE (Meeps @ Oct 16 2008, 09:35 AM) <{POST_SNAPBACK}>
Try this:
Take all the ep1 models, animations, sounds, etc and put them in your hl2 directory. Then play HL2
Predicted Result (Proven in Synergy 1.1):
animations, sounds, models, etc are all glitched because they are using the ep1 files and infact, breaks all maps because the npcs/ai cant find the scripts they are looking for meaning - you wouldn't be able to even get past d1_trainstation_01 due to bugged AI, etc
What I advise against:
Putting the .bsp files in the synergy maps folder unless you have sv_allowdownload 0. Failure to do so can potentially mean illeagally distributing content which Valve owns the copyrights for.
And some final questions to VOSK:
What would happen if the game paths were changed temporarally after map load, etc just so the maps are visible?
Would it be possible to create a new type of path such as "map path" which would allow the server to see the maps normally without effecting other things?
Take all the ep1 models, animations, sounds, etc and put them in your hl2 directory. Then play HL2
Predicted Result (Proven in Synergy 1.1):
animations, sounds, models, etc are all glitched because they are using the ep1 files and infact, breaks all maps because the npcs/ai cant find the scripts they are looking for meaning - you wouldn't be able to even get past d1_trainstation_01 due to bugged AI, etc
What I advise against:
Putting the .bsp files in the synergy maps folder unless you have sv_allowdownload 0. Failure to do so can potentially mean illeagally distributing content which Valve owns the copyrights for.
And some final questions to VOSK:
What would happen if the game paths were changed temporarally after map load, etc just so the maps are visible?
Would it be possible to create a new type of path such as "map path" which would allow the server to see the maps normally without effecting other things?
Moving content outside of normal file path locations of course is going to break maps, I don't think moving content is a good idea. I don't see how having all the "GAME" paths available is a problem though, it's just allowing for more paths to be accessed.
As long as there are not multiple maps with the same filename then I don't see the issue, I assume textures/models etc should not have an issue because they should be referenced relative to the map location?
As far as creating additional variables for "map paths" etc, It's my understanding that this extra path variable should be used for Synergy internal specifics not for required plugin reference.
Plugins should not have to look at additional "path" variables etc as they are trying to design a standard method which works based on Valve methodologies, they should not have to worry how each mod handles maps etc otherwise it becomes a major pain to maintain all these small changes ideally.
#8
Posted 15 October 2008 - 07:10 PM
If you have orangebox\hl2, orangebox\episodic and orangebox\ep2 all mounted as a game path, the way the engines file system works it would basicly link all those to the orangebox\synergy folder as if they existed there instead so the file system would end up mixing it all up with all the animations in the same folder, sounds in the same folder, etc... Think of it as the engines file system linking to those folders and virtually referencing them all as the same one folder, "synergy"
Now for examples sake we will take Alyx.mdl. Each game has its own version which works only with that version all in the same folder. If you were to use all 3 game paths and run hl2 maps, which version does it use? The last path that was mounted. The way synergy works, the paths are probably mounted in this order: hl2, episodic, ep2. That means it would try to use the ep2 versions of alyx.mdl and the ep2 version of all the other files like the scripts, etc, etc which then breaks maps. There might be a solution of remounting the paths in a certain order but then you lose the ability of allowing people who only own hl2 to play on your server if you have all 3 mounted.
There has to be a trade off somewhere, either you get as many players as possible at all times or you have the ability to see all maps at all times. One or the other but never both. You can try both but you will find that seeing all the maps would cause "your version differs from the servers" errors on client connect when you don't have everything mounted client side. Also unfortunatly due to Sourcemod Limitations of not being able to read files unless they physicially exist (aka cant read mounted files in like a GCF) there can only be a potential fix for standalone dedicated servers if you go the sourcemod route for a fix without large amounts of code and error checking.
On the plus side its possible to use sourcemod to add a little more functionality to changelevel so that it redirects to cd_changelevel instead when needed.
Maybe when its not 1am in the morning here I will further explain the source engines file system if you are still confused as to why having the ep2 path available in hl2 maps is a bad idea. For a practical demonstration of why its a bad idea - mount ep1 with synergy 1.1 then play hl2 with synergy 1.1
p.s Synergy uses "Valves Methodologies" with the mod - its just done in a dynamic way instead of a static method, to allow those not so fortunate to own ep1 and ep2, to still be able to play the mod without resorting to piracy, in any form
Now for examples sake we will take Alyx.mdl. Each game has its own version which works only with that version all in the same folder. If you were to use all 3 game paths and run hl2 maps, which version does it use? The last path that was mounted. The way synergy works, the paths are probably mounted in this order: hl2, episodic, ep2. That means it would try to use the ep2 versions of alyx.mdl and the ep2 version of all the other files like the scripts, etc, etc which then breaks maps. There might be a solution of remounting the paths in a certain order but then you lose the ability of allowing people who only own hl2 to play on your server if you have all 3 mounted.
There has to be a trade off somewhere, either you get as many players as possible at all times or you have the ability to see all maps at all times. One or the other but never both. You can try both but you will find that seeing all the maps would cause "your version differs from the servers" errors on client connect when you don't have everything mounted client side. Also unfortunatly due to Sourcemod Limitations of not being able to read files unless they physicially exist (aka cant read mounted files in like a GCF) there can only be a potential fix for standalone dedicated servers if you go the sourcemod route for a fix without large amounts of code and error checking.
On the plus side its possible to use sourcemod to add a little more functionality to changelevel so that it redirects to cd_changelevel instead when needed.
Maybe when its not 1am in the morning here I will further explain the source engines file system if you are still confused as to why having the ep2 path available in hl2 maps is a bad idea. For a practical demonstration of why its a bad idea - mount ep1 with synergy 1.1 then play hl2 with synergy 1.1
p.s Synergy uses "Valves Methodologies" with the mod - its just done in a dynamic way instead of a static method, to allow those not so fortunate to own ep1 and ep2, to still be able to play the mod without resorting to piracy, in any form
#9
Posted 15 October 2008 - 08:00 PM
QUOTE (Meeps @ Oct 16 2008, 11:10 AM) <{POST_SNAPBACK}>
If you have orangebox\hl2, orangebox\episodic and orangebox\ep2 all mounted as a game path, the way the engines file system works it would basicly link all those to the orangebox\synergy folder as if they existed there instead so the file system would end up mixing it all up with all the animations in the same folder, sounds in the same folder, etc... Think of it as the engines file system linking to those folders and virtually referencing them all as the same one folder, "synergy"
Now for examples sake we will take Alyx.mdl. Each game has its own version which works only with that version all in the same folder. If you were to use all 3 game paths and run hl2 maps, which version does it use? The last path that was mounted. The way synergy works, the paths are probably mounted in this order: hl2, episodic, ep2. That means it would try to use the ep2 versions of alyx.mdl and the ep2 version of all the other files like the scripts, etc, etc which then breaks maps. There might be a solution of remounting the paths in a certain order but then you lose the ability of allowing people who only own hl2 to play on your server if you have all 3 mounted.
Now for examples sake we will take Alyx.mdl. Each game has its own version which works only with that version all in the same folder. If you were to use all 3 game paths and run hl2 maps, which version does it use? The last path that was mounted. The way synergy works, the paths are probably mounted in this order: hl2, episodic, ep2. That means it would try to use the ep2 versions of alyx.mdl and the ep2 version of all the other files like the scripts, etc, etc which then breaks maps. There might be a solution of remounting the paths in a certain order but then you lose the ability of allowing people who only own hl2 to play on your server if you have all 3 mounted.
Yeah I am aware of the perception of how this works, it's just like Windows %PATH% variable allowing access to multiple folders without requiring the full paths and yes as you said there should be an "order" of this list either the first or last takes precedence and should hopefully be organizable so that all of them can be mounted just in the correct order.
QUOTE (Meeps @ Oct 16 2008, 11:10 AM) <{POST_SNAPBACK}>
There has to be a trade off somewhere, either you get as many players as possible at all times or you have the ability to see all maps at all times. One or the other but never both. You can try both but you will find that seeing all the maps would cause "your version differs from the servers" errors on client connect when you don't have everything mounted client side. Also unfortunatly due to Sourcemod Limitations of not being able to read files unless they physicially exist (aka cant read mounted files in like a GCF) there can only be a potential fix for standalone dedicated servers if you go the sourcemod route for a fix without large amounts of code and error checking.
Well I am not sure about this, VOSK made reference that clients/players may not be checking this variable? I assume you could create a "syn_path" or similar that the server might be able to check against instead if this is the case?
I am not sure if the engine is modifyable to allow the server to have multiple mounts and the client not requiring all these mounts while having sv_consistency so that yes you can get the "dynamic" mounting effect and allow players to join the server when maps do not need all the mounts without getting consistency errors, however I thought this was only BSP related when it throws these errors? That is why you might need a syn_path or similar so you can determine which mounts are _actually_ required.
This is not a "SourceMod limitation" as it works the way that valve have created? The same checking that "changelevel" uses? They are checking if the file exists (As SRCDS sees things) and if it doesn't look to exist they return a friendly error...
QUOTE (Meeps @ Oct 16 2008, 11:10 AM) <{POST_SNAPBACK}>
On the plus side its possible to use sourcemod to add a little more functionality to changelevel so that it redirects to cd_changelevel instead when needed. 
Maybe when its not 1am in the morning here I will further explain the source engines file system if you are still confused as to why having the ep2 path available in hl2 maps is a bad idea. For a practical demonstration of why its a bad idea - mount ep1 with synergy 1.1 then play hl2 with synergy 1.1
p.s Synergy uses "Valves Methodologies" with the mod - its just done in a dynamic way instead of a static method, to allow those not so fortunate to own ep1 and ep2, to still be able to play the mod without resorting to piracy, in any form
Maybe when its not 1am in the morning here I will further explain the source engines file system if you are still confused as to why having the ep2 path available in hl2 maps is a bad idea. For a practical demonstration of why its a bad idea - mount ep1 with synergy 1.1 then play hl2 with synergy 1.1
p.s Synergy uses "Valves Methodologies" with the mod - its just done in a dynamic way instead of a static method, to allow those not so fortunate to own ep1 and ep2, to still be able to play the mod without resorting to piracy, in any form
It's not using the full "Valve methods" as we can see from the use of having to create/use a cd_changelevel command, however that being the case we all agree Synergy is unique in the fact it mounts multiple different mods so we are aware that things are a bit different when it comes to Synergy support. However doesn't Garrysmod do similar mounting? How do they handle this?
I am understanding of what you have stated with the "GAME" paths however we both agree I believe the order should be changeable to address the problem of material/models etc?
Again, we are all aware that Synergy due to its ability to mount extra content is unique and different from other mods, however I believe there has to be a better way to address this issue rather than having to require a cd_changelevel command and also not having all "GAME" paths available at all times?
#10
Posted 15 October 2008 - 09:18 PM
Paths need to change because the "GAME" path is the most important type and assets (such as models, textures, sounds and everything else) reference these paths in the order they are listed when using the "path" command. They can only reference the "GAME" path. That is why it is changed when it needs to be.
And no, putting the paths back after map loads just complicates things further. Could even cause weirdness.
Yes, I could make a new set of search paths, like "MAPS" - however the engine only checks the "GAME" path, so I can't do it.
And no, putting the paths back after map loads just complicates things further. Could even cause weirdness.
Yes, I could make a new set of search paths, like "MAPS" - however the engine only checks the "GAME" path, so I can't do it.
#11
Posted 15 October 2008 - 11:06 PM
QUOTE (VOSK @ Oct 16 2008, 01:18 PM) <{POST_SNAPBACK}>
Paths need to change because the "GAME" path is the most important type and assets (such as models, textures, sounds and everything else) reference these paths in the order they are listed when using the "path" command. They can only reference the "GAME" path. That is why it is changed when it needs to be.
And no, putting the paths back after map loads just complicates things further. Could even cause weirdness.
Yes, I could make a new set of search paths, like "MAPS" - however the engine only checks the "GAME" path, so I can't do it.
And no, putting the paths back after map loads just complicates things further. Could even cause weirdness.
Yes, I could make a new set of search paths, like "MAPS" - however the engine only checks the "GAME" path, so I can't do it.
Is there any way the "GAME" path's order could change instead of adding/removing them?
Or alternatively instead of removing them all and then adding just the required one having some logic that adds all of them back but in the correct order that _should_ remove the complications and allows access to the files (models, textures etc) properly?
Hmm, I don't see how it should create any weirdness? I mean there are maps that have all 3 loaded like a number of the Synergy (syn_*) ones it seems like the only problem would be to make sure they are in the correct order and then I assume it searches for files based on the listing order? so that if it doesn't find it ine the first location it checks the second etc?
Perhaps we can do some closed testing somehow?
Share this topic:
Page 1 of 1

Sign In »
Register Now!
Help


Back to top









