Topic: Strat and Bonk - Mod Chooser, SFC Direct integration - Mods standardisation  (Read 23078 times)

0 Members and 1 Guest are viewing this topic.

Offline Bonk

  • Commodore
  • *
  • Posts: 13298
  • You don't have to live like a refugee.
I have updated the SFC Direct installer:
http://www.dynaverse.net/sfcdirect/sfcdirect_setup.exe
(uninstall old version)

And have updated the tests page:
http://www.dynaverse.net/sfcdirect/test.php
to include a sample firewall checking link and some sample Mod Switcher Links.

SFC Direct is currently setup to look for the ModChooser install dir in:
HKLM "SOFTWARE\ModSwitcher" "dir"
And will execute the example links as
ModChooser.exe -loadmod:opp4
or
ModChooser.exe -checkmod:opp4

Just let me know if the executable name changes (ModSwitcher.exe?) or if you use a different regkey for the install location.

We'll need to settle on some modcodes soon...

I was thinking:
stock
opp4
opp4hc
uaw (plus versions)
sfbop4
etc...

Let me know what you think of this stuff. I can adapt as necessary if any of it is a problem...

...Working on a basic game matching page today...

Offline Strat

  • Retired
  • EAW Update Crew
  • Lt. Commander
  • *
  • Posts: 1368
..., now that I think about it... but I should be able to handle just about any format really...

lol Bonk!

You are so funny :p

Ok, I'll makes dashes '-parameter=' instead of slashes '/parameter='.

Also you said that you would accept '-modhash=<md5hash>' now.  Does this mean that you found a way that Base64 would not be nessecary?  If not, thats ok too, I just want to be clear.

Offline Strat

  • Retired
  • EAW Update Crew
  • Lt. Commander
  • *
  • Posts: 1368
I have updated the SFC Direct installer:
http://www.dynaverse.net/sfcdirect/sfcdirect_setup.exe
(uninstall old version)

And have updated the tests page:
http://www.dynaverse.net/sfcdirect/test.php
to include a sample firewall checking link and some sample Mod Switcher Links.

SFC Direct is currently setup to look for the ModChooser install dir in:
HKLM "SOFTWARE\ModSwitcher" "dir"
And will execute the example links as
ModChooser.exe -loadmod:opp4
or
ModChooser.exe -checkmod:opp4

Just let me know if the executable name changes (ModSwitcher.exe?) or if you use a different regkey for the install location.

We'll need to settle on some modcodes soon...

I was thinking:
stock
opp4
opp4hc
uaw (plus versions)
sfbop4
etc...

Let me know what you think of this stuff. I can adapt as necessary if any of it is a problem...

...Working on a basic game matching page today...


Yeah this all looks great.  I'll be making this next version called the 'Mod Switcher' so yeah, the exe will be 'ModSwitcher.exe'.

Other than that, we're moving ahead!

The codes are what I was thinking too.  Simple acronyms that are self explanatory about the mod they represent.

Feels funny though that you are so far ahead of me, you'll have the SFC Direct able to call the Mod Switcher before it even has a exe. :p

Good work! and Thanks!
Strat

Offline Strat

  • Retired
  • EAW Update Crew
  • Lt. Commander
  • *
  • Posts: 1368
And have updated the tests page:
http://www.dynaverse.net/sfcdirect/test.php
to include a sample firewall checking link and some sample Mod Switcher Links.

SFC Direct is currently setup to look for the ModChooser install dir in:
HKLM "SOFTWARE\ModSwitcher" "dir"
And will execute the example links as
ModChooser.exe -loadmod:opp4
or
ModChooser.exe -checkmod:opp4



I took a quick peak at the new pages.  I like the firewall idea.  I see it does a ping test to see if everything is in order.

One question:  What about NAT's and port forwarding?  I guess there is no way to test if a person has port forwarding set up right unless we make some kind module that would run from both server and client side to test port communications.

I guess there may be no simple way to test for that.

What do you think?

Offline Bonk

  • Commodore
  • *
  • Posts: 13298
  • You don't have to live like a refugee.
..., now that I think about it... but I should be able to handle just about any format really...

lol Bonk!

You are so funny :p

Ok, I'll makes dashes '-parameter=' instead of slashes '/parameter='.

Also you said that you would accept '-modhash=<md5hash>' now.  Does this mean that you found a way that Base64 would not be nessecary?  If not, thats ok too, I just want to be clear.

sorry to flipflop....  :-[  Hope its not too much of a pain...

I have it currently set up to use parameters like -loadmod:opp4 (colon instead of equals sign)

I'd still need to have the MD% hashes base64 encoded if we decide to implement that functionality in SFC Direct.

I'll update SFC Direct to call ModSwitcher.exe

You going to use that regekeey for the install dir?

Offline Strat

  • Retired
  • EAW Update Crew
  • Lt. Commander
  • *
  • Posts: 1368
Oh hey, just another brainstorming idea.  I could have edited the previous post, but you might have missed it.

Check out this site. descent.cx

It does similar to what you are working on.  (Yeah I used to play Descent, cool game!)

Click on a server's IP to see the join page.  I dont' know how they do what they do, but there they can use almost any character, I estimate, in the call to launch the game.


;)
Strat

Offline Bonk

  • Commodore
  • *
  • Posts: 13298
  • You don't have to live like a refugee.
I took a quick peak at the new pages.  I like the firewall idea.  I see it does a ping test to see if everything is in order.

One question:  What about NAT's and port forwarding?  I guess there is no way to test if a person has port forwarding set up right unless we make some kind module that would run from both server and client side to test port communications.

I guess there may be no simple way to test for that.

What do you think?

Ya, would be nice to check for proper NAT function but it would be a bit complicated to get into. I looked at creating a port scanner in php to scan the directplay ports but the problem is it does not detect them unless there is an application currently listening on those ports, so the SFC Direct client would have to coordinate with a serverside port scanning script, a bit complicated to get into now, I need to get a basic game matching page setup, but NAT detection may be something I'll look at in more detail later. It would be awful handy to have (for D2 troubleshooting as well... something like the directplay test host of SFC3...)

Offline Strat

  • Retired
  • EAW Update Crew
  • Lt. Commander
  • *
  • Posts: 1368
You going to use that regekeey for the install dir?

By your command!

HKLM\Software\ModSwitcher\Dir=<path>

Edit:  ok, I'll be using the colons too in the parameters.

Ex: -parameter:<value>

Offline Bonk

  • Commodore
  • *
  • Posts: 13298
  • You don't have to live like a refugee.
Oh hey, just another brainstorming idea.  I could have edited the previous post, but you might have missed it.

Check out this site. descent.cx

It does similar to what you are working on.  (Yeah I used to play Descent, cool game!)

Click on a server's IP to see the join page.  I dont' know how they do what they do, but there they can use almost any character, I estimate, in the call to launch the game.


;)
Strat



INteresting, I'll check that out.

Sounds similar to:
http://aluigi.altervista.org/papers.htm#gslist

Which I'm using here:
http://www.dynaverse.net/gslist.php
(hmmm gamespy looks empty there at the moment... I need to confirm this poage is still working properly after the move to the new server...)

It also has the capability to launch and join games but is a bit complicated to configure for the client for the point and click crowd we're aiming for here...

Offline Strat

  • Retired
  • EAW Update Crew
  • Lt. Commander
  • *
  • Posts: 1368
It also has the capability to launch and join games but is a bit complicated to configure for the client for the point and click crowd we're aiming for here...

Hehe, I'm with ya there.

I just suggested it becuase it seems very friendly with calling command line parameters. (for the MD5 issue)

But under the assumption that it is not feasable, I'll still be working on the Base64.

Now... must get back to work..

 ;D

Offline Bonk

  • Commodore
  • *
  • Posts: 13298
  • You don't have to live like a refugee.
By your command!

HKLM\Software\ModSwitcher\Dir=<path>

Edit:  ok, I'll be using the colons too in the parameters.

Ex: -parameter:<value>

OK, I currently have SFC Direct geared to:

HKLM "SOFTWARE\ModSwitcher" "Dir"
ModSwitcher.exe
-parameter:<value>

Now it just occurred to me that SFC Direct handles EAW, OP and SFC3, but the Mod Switcher only handles OP. Any chance you're thnking of extending its capability to EAW and SFC3? If not I can just put the hooks in for the Mod Switcher when the SFC Direct game is OP...


Offline Strat

  • Retired
  • EAW Update Crew
  • Lt. Commander
  • *
  • Posts: 1368
Now it just occurred to me that SFC Direct handles EAW, OP and SFC3, but the Mod Switcher only handles OP. Any chance you're thnking of extending its capability to EAW and SFC3? If not I can just put the hooks in for the Mod Switcher when the SFC Direct game is OP...

There is a lot going on for this program JUST to do OP.  Let me get this down and then I'll see where I go from there.

As it is, I don't even have a copy of SFC3.. And I can't remember if I have EAW anymore.

:(

Offline Bonk

  • Commodore
  • *
  • Posts: 13298
  • You don't have to live like a refugee.
Cool man. Makes sense.

Offline Strat

  • Retired
  • EAW Update Crew
  • Lt. Commander
  • *
  • Posts: 1368
Progress Update:

What I have completed:
Database Structure, Access, and Encryption
Program Logic (How it decides to deal with the mods and files, and various failure scenarios)
Graphical User Interface (about 80%)

Not yet Completed:
Mostly the file manipulation
- Scanning files
- Adding Mod
- Removing Mod
- Changing Mod

At this point I really need some input. 

This is how the program is designed to interoperate with SFC:Orion Pirates Mods so far:

The program will be released with only the basic Taldren files as part of its DB. (ftrlist, shiplist, models.siz)
As mods edit files, the program will adaptively back up files edited by the mod to another location.
-- This is to preserve hard drive space, and to maintain efficiency.

The DB Structure:
I have a few things in there, but only thing concerning the developers is how thier mod will appear in the DB, so they know what information the program will need.

Each Mod will have its own table. The table will store inforamtion for each file the mod is made of.
Each table will have the following fields:

FileName - Name of the file (shiplist.txt)
Source - Its location in the file system (Ex. OPDir\Modifications\<ModCode>\Specs
Destination - Its destination if it has one (Ex. OPDir\Assets\Specs)
FileHash - The MD5 of the file. Not required for each file, but recommended for at least the critical files, such as the shiplist.
Mandatory - True/False field letting the program know if the Mod will function w/o this file, stock files will be used (Ex. Mouse cursors)

Another table holds information about the mods themsevles.
Feilds:

ModCode (ex. opplus)
ModName (ex. OP+ 4.0 by FireSoul)
ModLocation (Ex. OPDir\Modifications\<ModCode>
ModHash - MD5 of the Mod's installer file (more on this later)
ModUninstaller - the command line text (including parameters) to call the mod's uninstaller to silently remove the mod

The DB is not direcly editable.  For the information about the mod to make it to the DB, the dev will have to provide two files containing the required information.  I suggest the files be a simple CSV db format.  The program will detect the files and import all required information to its database.

I suggest the Mod install the files to the 'OPDir\Assets' directory.  This allows an immediate detection of  new mod being installed, its data imported to the Db, and available for use.  The program will move this file to the root its Mod Directory.

The two files could be: FilesData.txt and ModData.txt
ModData.txt layout:
ModCode, ModName, ModLocation, ModHash, ModUninstaller

FileData.txt
FileName, Source, Destination, FileHash, Mandatory (simple 'true', 'false' text should do for the mandatory field)



Aside from the DB:

I am trying to decide how to handle a severe failure of an OP installation.

I can make a procedure that will scan OP for to verify if all files are OK but those mostly likely or commonly to become corrupted.
The question is:
What are the bare minimum files need by OP to work? (Stock 2552, nothing else)
Models
Scripts
Lists
Cursors
Music
Sound
ect.

And what of this list can be made readily available for download?
Lists
cursors
scripts

Once we have decided on this information, we can make a Recovery Installer to bring these files to OP in order to avoid a reinstallation of the whole thing.

As it is, this new version is designed to treat even Taldren v2552 stock files as a Mod, so if they go, Op still works, you may load others mods.  This is becuase the Taldren files are reaily available for download, and people do not really play that mode anymore.

I need thoughts and opinions.  I don't want to spend all this time on this project (which I enjoy) to have a Mod producer come up later and tell me "Well this just isn't feasable."

I also do not want to miss any points or cause incompatilties.

Thank you for any input you have.

Offline Bonk

  • Commodore
  • *
  • Posts: 13298
  • You don't have to live like a refugee.
I do have some input on this, mainly on what stock files and installer implementation. (possibly use of an msi installer with repair capability...)

Too bad we didn't have the client source so we could "refit" the refit utility huh?

Anyway, once we get the site stabilised here and I get back to SFC direct and launch a public beta, I think we should move this thread to the mods forum so that you can get feedback from more modders before you go much further with it. That should happen in the next few weeks. What do you think?

Offline Strat

  • Retired
  • EAW Update Crew
  • Lt. Commander
  • *
  • Posts: 1368
Excellent. I know if I do this and there's no input from modders it'll blow up in my face. lol

Offline Bonk

  • Commodore
  • *
  • Posts: 13298
  • You don't have to live like a refugee.
Bump for visibility.

Offline Chris Jones

  • MOD PRODUCER
  • Lt.
  • *
  • Posts: 541
  • Gender: Male
  • Galaxy Class - as seen in DS9
    • Chris Jones Gaming
Mod Standardization
« Reply #37 on: May 27, 2006, 06:19:57 pm »
Files in an OP total conversion that need changing:

Models
Scripts (these are just additions, if there are any)
specs
strings
Cursors
Music
Sound (Need to be able to add new wav files to OP's SFCSounds.zip, so I don't have to include the entire sounds.zip file in a mod download if I want to add audio to a mod. Same for SFCVoices.zip. This is most important. )

Sorry I've not posted till now. Real life and all.. Strat made me aware of this thread recently..



..Because the game does not have to, and will not, remain the same..


Celebrating Life!
Favorite TNG: Yesterday's Enterprise

Offline jharvey18

  • Lt. Junior Grade
  • *
  • Posts: 5
  • Gender: Male
Just came across this thread and thought I'd find out what the latest status is.  I've become acutely aware of this problem, as I'm very new to SFC and SFC:OP, and I forgot to turn off read only when installing the OP Enhancement Package.  So, I'm in the exact situation this would resolve - I'm not sure which mod is in effect now and how I can verify which mod is running when I launch SFC:OP.

Any thoughts?