[REL-beta] Transcendence Universal Mod And Utilities Manager

A place to discuss mods in development and concepts for new mods.
User avatar
Wolfy
Fleet Admiral
Fleet Admiral
Posts: 5363
Joined: Tue Feb 05, 2008 1:10 am
Location: Somewhere in the Frontier on a Hycrotan station, working on new ships.

Thu Jul 16, 2009 8:43 pm

:D

Downloads at:
EM forums http://eternalmodding.50.forumer.com
Wiki article http://wiki.neurohack.com/transcendence/wiki/tmu


They've had things like this in practically everygame, from oblivion to supcom to EV/EVO/EVN: essentially, it's a program, either pre-provided or community made, that allows you to toggle on and off various mods.

However, my vision for the Transcendence Mod/Utilities Manager (let's just call it TMU: trans mod/util) takes the basic mod manager concept even further!

So without further ado, here is a list of its planned functions:
BASIC:
1) select/unselect mods
2) read a mod description (which the modder provides)
3) check for subordinate mods (mods that mod mods) and master mods (mods that are modded by other mods)
4) check for over-written mods and mod conflicts (mods that conflict/overwrite something from another)
5) add users "notes" to mods (in the event the modder didn't provide a description/etc)
6) allow for a modder to have a little screenshot to go along with their mod
7) save "profiles" which are essentially sets of mods turned on or off
EXTENDED:
1) search for bad tab matching [Transcendence does not do this well]
2) search for mis-paired parantheses [again transcendence does not do this well]
3) search for duplicate UNIDS (which when used with image resources cause the "cannot add image to library:0" error in transcendence)
4) allow people to write their own debug scripts

----------------------------------------------

I'm planning to write this in C#, and it'll be completely open source (that way it would be easier if anyone wants to make a port, in the event one might be needed)
Last edited by Wolfy on Fri Jan 22, 2010 3:06 am, edited 2 times in total.
(shpOrder gPlayership 'barrelRoll)
(plySetGenome gPlayer (list 'hycrotan 'nonBinary))
Image

User avatar
digdug
Fleet Admiral
Fleet Admiral
Posts: 2612
Joined: Mon Oct 29, 2007 9:23 pm
Location: Decoding hieroglyphics on Tan-Ru-Dorem

Thu Jul 16, 2009 8:52 pm

great idea wolfy, I think that we will ned something like this when we will have official mods. ( we have reserved UNID space for official mods from a loooong time)

User avatar
Wolfy
Fleet Admiral
Fleet Admiral
Posts: 5363
Joined: Tue Feb 05, 2008 1:10 am
Location: Somewhere in the Frontier on a Hycrotan station, working on new ships.

Thu Jul 16, 2009 9:07 pm

Maybe people could also script in other utils that could do things like stack ship facings automatically and stuff like that.

I'm also hoping to integrate transdata as well (since this would give it a nice and simple GUI)
(shpOrder gPlayership 'barrelRoll)
(plySetGenome gPlayer (list 'hycrotan 'nonBinary))
Image

User avatar
Atarlost
Fleet Admiral
Fleet Admiral
Posts: 2391
Joined: Tue Aug 26, 2008 12:02 am

Thu Jul 16, 2009 10:09 pm

I've got a java applet for stacking facings. You can find a link that eventually leads to it in extension reference in the bottom thread.

User avatar
Wolfy
Fleet Admiral
Fleet Admiral
Posts: 5363
Joined: Tue Feb 05, 2008 1:10 am
Location: Somewhere in the Frontier on a Hycrotan station, working on new ships.

Thu Jul 16, 2009 10:56 pm

Nice: I'll see if I can integrate it ^^

I'm wondering if George would let me integrate TransData into this...
(shpOrder gPlayership 'barrelRoll)
(plySetGenome gPlayer (list 'hycrotan 'nonBinary))
Image

User avatar
Wolfy
Fleet Admiral
Fleet Admiral
Posts: 5363
Joined: Tue Feb 05, 2008 1:10 am
Location: Somewhere in the Frontier on a Hycrotan station, working on new ships.

Fri Jul 17, 2009 1:53 am

Here's a screen of what I'm planning on having the main screen (the mod manager) look like:
Image

btw- it's not finished yet by any means! :lol:
(shpOrder gPlayership 'barrelRoll)
(plySetGenome gPlayer (list 'hycrotan 'nonBinary))
Image

User avatar
Wolfy
Fleet Admiral
Fleet Admiral
Posts: 5363
Joined: Tue Feb 05, 2008 1:10 am
Location: Somewhere in the Frontier on a Hycrotan station, working on new ships.

Fri Jul 17, 2009 3:17 am

Another update:

Current functionality:
File>Exit closes application
Reset buttons will reset multi-check boxes
Will open all needed windows

Not too useful, but I have to start somewhere
(shpOrder gPlayership 'barrelRoll)
(plySetGenome gPlayer (list 'hycrotan 'nonBinary))
Image

User avatar
Wolfy
Fleet Admiral
Fleet Admiral
Posts: 5363
Joined: Tue Feb 05, 2008 1:10 am
Location: Somewhere in the Frontier on a Hycrotan station, working on new ships.

Fri Jul 17, 2009 4:23 pm

yet another update!

TM/U now has an in-program mini-browser (and it loads rather nicely), which is nice, since it doesn't need much ram (unlike my firefox, which is guzzling over half a gb with all its tabs), loads fast (for not having a cache), and means for people who abuse tabs on the newer browsers, that you don't have to load up every single tab when trying to download a few mods.
You can even load multiple instances of it (just keep clicking the "download mods" button on the main window)

It has a little URL bar, a "go!" button and a "links" button (the links button contains links to xelerus, OTF, UTF, my transcendence forums, since as far as I know, those are the only places with transcendence mods [I don't think pastebin should be on there since those are all WIP mods and such... if you want, I can include it too: its only 2 copy+pastes that I need to do to add it in])

[edit] - just checked, and it gives a small over-all ram saving per window over most real browsers
(shpOrder gPlayership 'barrelRoll)
(plySetGenome gPlayer (list 'hycrotan 'nonBinary))
Image

schilcote
Militia Captain
Militia Captain
Posts: 726
Joined: Sat Feb 02, 2008 7:22 pm

Fri Jul 17, 2009 8:06 pm

Wow, I didn't know you could code. I'll have to make a competitor :). I'm being isolated from the internet in the middle of the woods for a week, so I'll have plenty of time.
[schilcote] It doesn't have to be good, it just has to not be "wow is that the only thing you could think of" bad

User avatar
Wolfy
Fleet Admiral
Fleet Admiral
Posts: 5363
Joined: Tue Feb 05, 2008 1:10 am
Location: Somewhere in the Frontier on a Hycrotan station, working on new ships.

Fri Jul 17, 2009 9:36 pm

schilcote wrote:I'm being isolated from the internet
You are? :?
I'm thinking you got your verb tenses mixed up. >.>

Anyways, if you'd like to join me in working on this, that's be great!
[having multiple projects like this really wouldn't do any good]

Due to the modular design I'm hoping to have, if you want, it's be great if you could perhaps make some libraries or perhapse even executables that contain some basic mod debuggers: all they'd have to do is just output errors they find to a text file or something.
Planned debuggers:
search for mis-paired parantheses [ code: (block... ( ... ]
search for mis-paired elements/tabs [<like these> <oops> </like these>]
search for overflows on EMP/Radiation/Blind/Shatter/WMD/Momentum (such as when mod modder did EMP99999)
search for incorrect arguments/incorrect number of arguments in code [code: sysCreateShip(&scHornetBattlePod Pos &scCommonwealth 1 LOL oops!)] <digdug or Taben would probably know all the details on this>
search for repeated UNIDs (such as !ENTITY... 0xE3140001 then again !ENTITY... 0xE3140001 (mainly necessary for image files))
(shpOrder gPlayership 'barrelRoll)
(plySetGenome gPlayer (list 'hycrotan 'nonBinary))
Image

User avatar
Wolfy
Fleet Admiral
Fleet Admiral
Posts: 5363
Joined: Tue Feb 05, 2008 1:10 am
Location: Somewhere in the Frontier on a Hycrotan station, working on new ships.

Fri Jul 17, 2009 10:15 pm

Ok, I've made some more tweaks to the UI!

Now included are icons (both for the title bar and for the binary, also for the 2 new file types it will be using [they are mostly there simply to prevent people messing around with them, so they know what they are and won't mess around with them] but also since you don't want to poke around w/ notepad or another text editor in them anyways as it might make your profile un-loadable [one is for profile preferences, and the other being for application preferences])

Also the action buttons in the browser now have icons [the Go! and the Links buttons]. I might add (in the future) a button to add favorites as well.

Finally, I added a big button that says "Launch Transcendence!" at the bottom of the main screen (mod management) - this way you nolonger need to go all the way to File>Launch Transcendence [yes, people are lazy].
(shpOrder gPlayership 'barrelRoll)
(plySetGenome gPlayer (list 'hycrotan 'nonBinary))
Image

User avatar
Wolfy
Fleet Admiral
Fleet Admiral
Posts: 5363
Joined: Tue Feb 05, 2008 1:10 am
Location: Somewhere in the Frontier on a Hycrotan station, working on new ships.

Sat Jul 18, 2009 12:31 am

I'm ditching the installer for now :P

Anyways, this needs to be installed in the same directory as Transcendence is. (ie, if it's C:\\Trans0.99c\Transcendence.exe on a windows computer for example, you'd put this in C:\\Trans0.99c\ as well.)
(shpOrder gPlayership 'barrelRoll)
(plySetGenome gPlayer (list 'hycrotan 'nonBinary))
Image

User avatar
Wolfy
Fleet Admiral
Fleet Admiral
Posts: 5363
Joined: Tue Feb 05, 2008 1:10 am
Location: Somewhere in the Frontier on a Hycrotan station, working on new ships.

Sat Jul 18, 2009 4:19 am

another update:

I've made the browser run substantially more smoothly and user-friendly, and it doesn't crash if you type "///////////" into the URL bar anymore - it just resets to xelerus.de

I might also add in the ability to [if the mod maker provides it] check for an updated version on xelerus. (of the mod, that is)
(shpOrder gPlayership 'barrelRoll)
(plySetGenome gPlayer (list 'hycrotan 'nonBinary))
Image

schilcote
Militia Captain
Militia Captain
Posts: 726
Joined: Sat Feb 02, 2008 7:22 pm

Sat Jul 18, 2009 6:48 pm

Yeah, writing modules for this might be better than writing an alternitave, since I just tried learning Windows GUI and failed. I'm a text based kind of guy I guess. Could always write a cheat program module :). I'll have to think of something. What sort of specifications do these modules have to work to, i.e. how do you pass them parameters, how to pass data back, how to know where to look for things?
[schilcote] It doesn't have to be good, it just has to not be "wow is that the only thing you could think of" bad

User avatar
Wolfy
Fleet Admiral
Fleet Admiral
Posts: 5363
Joined: Tue Feb 05, 2008 1:10 am
Location: Somewhere in the Frontier on a Hycrotan station, working on new ships.

Sat Jul 18, 2009 11:06 pm

Hmmm... should we do this the fancy way or the cheap way? >.>

Since I havn't even gotten to coding the plug-in's windows (they just have non-functional interfaces at the moment), I think I'll just opt for the cheap way.

After all, the only arguments we need to pass on will be the names of the mod files, and if we want a debug log or not. The debuggers should check everything except those that are enclosed in <!-- ... -->
BTW - all debuggers should put a special error when they encounter <!-- ... <!-- ... --> ... --> because transcendence will crash if they read a mod file like this.

Ok, so the program is in your .../trans[VERSION#]/ directory as .../trans[VERSION#]/TMU.exe
I could just go ahead and save a .tmu or .ini file in .../trans[VERSION#]/TMU/debugloader.ini or something, and the debugging program could just read that: that would essentially be a list of files like: TX2.xml, battlezone.xml, etc. with a 1 or a 0 on the first line to show if it needs to save a debuglog file. then the debugger could read that, access and debug the xml's in question, and then output a debug log to a console and/or perhaps a text file like: ".../trans[VERSION#]/TMU/debuglogs/debug[PLUGIN NAME].ini

Here: I'll make debugloader.ini really easy to load :P
this will be what the contents look like:

Code: Select all

1
extensions/tx2.xml
extensions/battlezone.xml
extensions/etc.xml
1=save to debug log as well
0=only display console

Easier, simpler, less chance for bugs, even if it does result in having a few extra files lying about.
(shpOrder gPlayership 'barrelRoll)
(plySetGenome gPlayer (list 'hycrotan 'nonBinary))
Image

Post Reply