Low possibillity

Low possibillity

Various things about Spring that do not fit in any of the other forums listed below, including forum rules.

Moderator: Moderators

Post Reply
User avatar
Noruas
XTA Developer
Posts: 1269
Joined: 24 Feb 2005, 02:58

Low possibillity

Post by Noruas »

Is it still possible to have 3rd party addons to a mod without forcing upon a new mod file, because i think there could be. If you do not understand because you did not have Total Annilation CC, too bad. If you still do not, maybe this will clear it.
For example, we have here a modinfo.tdf file of lets say, umm springs offical xta mod:
[MOD]
{
Name=XTA v0.66 SE;
Description=XTA for Spring version 0.66;
URL=http://www.clan-sy.com/;
Thirdparty=xtaspringfolder;

ModType=1;

NumDependencies=3;
Depend0=springcontent.sdz;
Depend1=otacontent.sdz;
Depend2=tatextures.sdz;
}
Spring engine waits for information from clinet of a list of third party filenames, looks in spring folder for xtaspringfolder for these thirdparty filenames. Spring engine reads only the thirdparty filenames on the list as a Depend file. As a depend file, it cannot overwrite any other file in the [Mother of Dependence] mod.
Spring only reads these folders in the xtaspringfolder in a file or ufo.
Units
unitpics
Weapons
Scripts
Objects3d
features
Download
No other folders will be read. Now that mod has made this into another depend file aka third party, it will add into the mod without any new mod files needed with different names.
But this does not work because how can we know that people have this thirdparty file aswell. Well as i can see it, the spring client will not allow the connecter to host join because the mod is now different. This is where we have to think. Spring clinet will load the mod file and will not check the third party units extensivly but instead only collect the name of the third party file. The host will store the third party unit file's name. If all players log to the host and the all players are read and the name of the thirdparty file are the same as the hosts, than the spring clinet should assume that all players and host have that same third party file. Then as the game starts, it sends the thirdpartyunitfilename to spring.exe, allowing that third party unit to be read inside that thirdpartyfolder, only that file will be read and all other files inside that folder should be ignored, but if the thirdpartyunit is different during the game, it should go out of sync if im correct.

Now if we have a host that has no thirdparty units, the client should skip this part, and if the host has a third party unit and a connector joins the battleroom and spring clinet reads the thirdparty units file name and find that the thirdpartyunitfile name is not the same as the hosts, than the springclinet should recognize this, and than ignore this file. Why only compare the connecters files to the host? It makes it easier, if a connector joins and crosses out a thirdparty file on the list of the hoster, than it would also mean that another connecter that joins will check the hosts and find out that the file has been crossed out thus also crossing out his file. A connecter that has no thirdparty files will make the list empty, if a connecter joins first with a few of what the hoster has to offer, than only a few will be knocked off the list. Once the game is started, the client will send information on the thirdparty list to the spring.exe to read as a depend file with the mod file, thus making everyone that connected read the same thirdparty units, making no trouble whatsoever.

But than it only gets more complicated, on spring client, when you host and asks what mod is it, how many players can play, password, then you would have a new question of if the client should read the 3rd party units with a yes or no question, or just to ignore or notice.
Than a new problem comes, we would need a 3rd party unit file name list, that can be updated with a button to re ask for data.
User avatar
SwiftSpear
Classic Community Lead
Posts: 7287
Joined: 12 Aug 2005, 09:29

Post by SwiftSpear »

SJ had worked towards having it implimented, but the short answer is no, it is not possible for the time being. The main reason is that mutator gameplay tends to be weaker then the strict mod gameplay where modders work thier ass off in balancing. So we recognized this as a feature we acctually want, but it isn't high priority because it won't get even near the same playtime as a solid mod would.
Post Reply

Return to “General Discussion”