Is it possible to compile a Module, and save it as a Mod file, outside of toolset?
eg - Custom Tools that take the files in the temp.0 folder, and turns them into a module?
It just occurs to me that it would interesting to be able to SVN all the files in a temp.0 folder, and have them compiled and saved via scheduled task on a server machine.
Compiling and Saving a Module, outside of toolset?
Débuté par
Baaleos
, janv. 06 2011 11:36
#1
Posté 06 janvier 2011 - 11:36
#2
Posté 06 janvier 2011 - 02:23
Well letoscript with moneo is able to manage mod files, open/save/close/add/remove files. Not sure if there is source available though.
#3
Posté 06 janvier 2011 - 02:47
hmm, Sounds interesting.
Even if a scheduled task did the following
Copy base module to directory,
Open,
Remove any files
Add Content from another folder
Save Module.
The idea I had was that for collaborative efforts, instead of multiple people having to have access to a whole module, to make changes to something like.... a script, they could instead svn checkout a single file, edit it, check it back in, and have the scheduled task on the server rebuild the mod, and run it.
Even if a scheduled task did the following
Copy base module to directory,
Open,
Remove any files
Add Content from another folder
Save Module.
The idea I had was that for collaborative efforts, instead of multiple people having to have access to a whole module, to make changes to something like.... a script, they could instead svn checkout a single file, edit it, check it back in, and have the scheduled task on the server rebuild the mod, and run it.
#4
Posté 06 janvier 2011 - 03:54
Yea, and you can do this even without any such tool. Since everyone have actual files, only you as admin will do new module versions with the actual files from svn. You just need to copy work folder into your temp0 folder and save module, thats all.
#5
Posté 06 janvier 2011 - 04:54
I know its do-able manually, but it still requires a manual presence opposed to an automated compilation system.
eg - Comit to svn, and Scheduled Task gets latest files on the server, and then once per hour, a new module is cranked out automagically.
eg - Comit to svn, and Scheduled Task gets latest files on the server, and then once per hour, a new module is cranked out automagically.
#6
Posté 06 janvier 2011 - 05:43
I see two simple solutions with out any extry tools.
one:
Just place all the new updates into the override folder.
Two:
Place a couple of extra haks into the hak list. have the builders jut upload the haks to the hak folder.
one a week or so manuly add the contents of the haks to the module and clen the contents out of the haks..
When the module restarts the content will be in the module. It will even let you make sure there are not any conflicts before you add the content. If you use the hak method just add the lowest hak to the modlus first ten the higher ones.
]
L8.
one:
Just place all the new updates into the override folder.
Two:
Place a couple of extra haks into the hak list. have the builders jut upload the haks to the hak folder.
one a week or so manuly add the contents of the haks to the module and clen the contents out of the haks..
When the module restarts the content will be in the module. It will even let you make sure there are not any conflicts before you add the content. If you use the hak method just add the lowest hak to the modlus first ten the higher ones.
]
L8.
#7
Posté 07 janvier 2011 - 05:10
We do exactly this with our subversion repo, baaleos, though it doesn't include area files (git/gic/are), just everything else (nss(not ncs, compile before upload required), utc, uti, utp, dlg, etc). We don't actually physically make a new module, however, just replace the files in temp0 (the mod must be open to sync and commit). The reason that we do NOT do this with area files is that they're more difficult than the others to diff. We update the server by saving the mod normally and upping in a rar via ssh, rather than physically reconstructing it on the host machine. Some custom tools are involved, along with some standard lin programs like nano, but nothing so complicated as trying to reconstruct a module, which seems like overkill for the added capability of automatically constructing a module every so often. Do you really want all your team's edits going live in that short a span, in any case?
Funky
Funky
#8
Posté 07 janvier 2011 - 11:17
I suppose not.
It was more a point of interest I suppose.
At the minute, when I comitt changes to my module, I svn upload the whole module, but the weird thing is that when I make a script change, the upload takes a few seconds, and only sends about 85 kb of data before finishing.
When I do edit an area inside the module, it then requires several mb to possibly the whole module size in data having to be transfered.
I was just wondering if tortoise svn is able to see scripts inside the mod file, and is it doing a merge, which is what is causing the short upload time for script changes, instead of the large upload time for areas etc.
Question - nwnx_resman - does this allow the adding of areas, and items etc while the module is running?
Are there any instructions around for it, for windows?
I cant seem to find any specific instructions on how to trigger it to sync etc.
It was more a point of interest I suppose.
At the minute, when I comitt changes to my module, I svn upload the whole module, but the weird thing is that when I make a script change, the upload takes a few seconds, and only sends about 85 kb of data before finishing.
When I do edit an area inside the module, it then requires several mb to possibly the whole module size in data having to be transfered.
I was just wondering if tortoise svn is able to see scripts inside the mod file, and is it doing a merge, which is what is causing the short upload time for script changes, instead of the large upload time for areas etc.
Question - nwnx_resman - does this allow the adding of areas, and items etc while the module is running?
Are there any instructions around for it, for windows?
I cant seem to find any specific instructions on how to trigger it to sync etc.
#9
Posté 07 janvier 2011 - 11:30
Do you guys use the prc compiler for nss files?
Can this be kicked off on scheduled task, to compile, and copy ncs files to the resman source file?
Can this be kicked off on scheduled task, to compile, and copy ncs files to the resman source file?
#10
Posté 07 janvier 2011 - 08:57
[quote]Baaleos wrote...
I suppose not.
It was more a point of interest I suppose.
At the minute, when I comitt changes to my module, I svn upload the whole module, but the weird thing is that when I make a script change, the upload takes a few seconds, and only sends about 85 kb of data before finishing.
When I do edit an area inside the module, it then requires several mb to possibly the whole module size in data having to be transfered.
I was just wondering if tortoise svn is able to see scripts inside the mod file, and is it doing a merge, which is what is causing the short upload time for script changes, instead of the large upload time for areas etc.
[/quote]
On the script change, why is that weird? The script is
quite small - unless you mean the script isn't under direct subversion control. When you edit the module directly, the whole thing would be
tagged by tortoise as changed, I would imagine, requiring a fresh sync.
This is why we put all but areas under direct subversion control, and not the module as a whole. Also, if the .mod file is the only thing under subversion, then any edit would mean a team member who made an edit of their own would have to do a merge...no idea how that'd work with a non-text based file.
[quote
Question - nwnx_resman - does this allow the adding of areas, and items etc while the module is running?
Are there any instructions around for it, for windows?
I cant seem to find any specific instructions on how to trigger it to sync etc.[/quote]
No, resman doesn't allow instancing of areas - there's another plugin for that, nwnx_areas, also by virusman.
Resman works instantaneously, though I don't know how it handles overwriting of files in the mod already - last I heard, vman was working on a new version for that. As it is, you just up to the appropriate folder and it's ready to use ingame.
Funky
I suppose not.
It was more a point of interest I suppose.
At the minute, when I comitt changes to my module, I svn upload the whole module, but the weird thing is that when I make a script change, the upload takes a few seconds, and only sends about 85 kb of data before finishing.
When I do edit an area inside the module, it then requires several mb to possibly the whole module size in data having to be transfered.
I was just wondering if tortoise svn is able to see scripts inside the mod file, and is it doing a merge, which is what is causing the short upload time for script changes, instead of the large upload time for areas etc.
[/quote]
On the script change, why is that weird? The script is
quite small - unless you mean the script isn't under direct subversion control. When you edit the module directly, the whole thing would be
tagged by tortoise as changed, I would imagine, requiring a fresh sync.
This is why we put all but areas under direct subversion control, and not the module as a whole. Also, if the .mod file is the only thing under subversion, then any edit would mean a team member who made an edit of their own would have to do a merge...no idea how that'd work with a non-text based file.
[quote
Question - nwnx_resman - does this allow the adding of areas, and items etc while the module is running?
Are there any instructions around for it, for windows?
I cant seem to find any specific instructions on how to trigger it to sync etc.[/quote]
No, resman doesn't allow instancing of areas - there's another plugin for that, nwnx_areas, also by virusman.
Resman works instantaneously, though I don't know how it handles overwriting of files in the mod already - last I heard, vman was working on a new version for that. As it is, you just up to the appropriate folder and it's ready to use ingame.
Funky
#11
Posté 07 janvier 2011 - 09:00
Yes, we use prc, and...why? Typically, if we want to add a script on the fly, we just compile and up it. I guess I'm not understanding the thrust of your thinking here - what upside do you see for this automation?Baaleos wrote...
Do you guys use the prc compiler for nss files?
Can this be kicked off on scheduled task, to compile, and copy ncs files to the resman source file?
Funky
#12
Posté 10 janvier 2011 - 10:39
I know that an individual file could be uploaded on the fly, I was just thinking about whether anyone does things like automated nightly builds etc
Professionally I see at work, Developers have build deadlines to get their code in, if they want to make a specific build, and if they miss it, they have to wait for the next one.
I was thinking that a similar system might be 'interesting'.
Wont necessarily say it would be good, because as always, any good thing, when done improperly, can be a hinderence.
Like I said, It was more a point of interest as to whether it was do-able.
Professionally I see at work, Developers have build deadlines to get their code in, if they want to make a specific build, and if they miss it, they have to wait for the next one.
I was thinking that a similar system might be 'interesting'.
Wont necessarily say it would be good, because as always, any good thing, when done improperly, can be a hinderence.
Like I said, It was more a point of interest as to whether it was do-able.
#13
Posté 14 janvier 2011 - 09:44
Since version 1.0, resman can override existing resources.FunkySwerve wrote...
Resman works instantaneously, though I don't know how it handles overwriting of files in the mod already - last I heard, vman was working on a new version for that. As it is, you just up to the appropriate folder and it's ready to use ingame.
Funky
#14
Posté 14 janvier 2011 - 11:42
does this hold true for the windows version?
I know windows gets things kinda later in the life cycle than linux stuff - with exception to some plugins such as Areas etc, I think you made that on Windows first?
I know windows gets things kinda later in the life cycle than linux stuff - with exception to some plugins such as Areas etc, I think you made that on Windows first?
#15
Posté 14 janvier 2011 - 03:15
No, Windows resman hasn't been updated.
Areas plugin has been multi-platform from the beginning, but last 2 updates haven't been ported to Windows.
Areas plugin has been multi-platform from the beginning, but last 2 updates haven't been ported to Windows.
#16
Posté 14 janvier 2011 - 03:16
---
Modifié par virusman, 14 janvier 2011 - 03:16 .
#17
Posté 15 janvier 2011 - 03:41
Yeah, I know Areas has been multiplatform, but I think you first developed it on Windows, Im just remembering back to the forum post on nwnx, where you said something like 'Will port to Linux later today' or something.
I know they were both released more a less on the same day, but I thought you did the initial work on windows, then ported to Linux.
I know they were both released more a less on the same day, but I thought you did the initial work on windows, then ported to Linux.
#18
Posté 23 janvier 2011 - 02:25
I actually use SVN on my 1000+ script of my module.
- I have a versioned SVN copy of all my scripts in a folder.
- everytime I get an updated module:
+ open it by Aurora
+ run a batch file that delete every .nss from my SVNed folder, and copy all *.nss from <nwn>\\modules\\temp0 into this folder.
+ verify the changes (and add any new script to the repository), and commit the update.
+ update the needed .nss in the SVN folder.
+ run a batch file that deletes all *.nss & *.nsc files into <nwn>\\modules\\temp0, and copy all versioned/updated *.nss in this folder.
+ return to Aurora, and save the module, close module & reopen it from aurora and compile all scripts, and save the module again.
To work directly into SVNed scripts outside Aurora, I use a Notepad++ & PRC script compiler.
Using C# syntax highlighting is it possibile to use a plugin with the function list.
Actually I have 2 SVN folders:
+ one for the develop/debugging activities (with a small custom module version).
+ one for the 'production' modules script.
I hope it may help.
- I have a versioned SVN copy of all my scripts in a folder.
- everytime I get an updated module:
+ open it by Aurora
+ run a batch file that delete every .nss from my SVNed folder, and copy all *.nss from <nwn>\\modules\\temp0 into this folder.
+ verify the changes (and add any new script to the repository), and commit the update.
+ update the needed .nss in the SVN folder.
+ run a batch file that deletes all *.nss & *.nsc files into <nwn>\\modules\\temp0, and copy all versioned/updated *.nss in this folder.
+ return to Aurora, and save the module, close module & reopen it from aurora and compile all scripts, and save the module again.
To work directly into SVNed scripts outside Aurora, I use a Notepad++ & PRC script compiler.
Using C# syntax highlighting is it possibile to use a plugin with the function list.
Actually I have 2 SVN folders:
+ one for the develop/debugging activities (with a small custom module version).
+ one for the 'production' modules script.
I hope it may help.
#19
Posté 25 janvier 2011 - 04:14
Yeah, I use svn too, for the module as a compiled entity, but as it gets bigger and bigger, it will become harder to sustain and upload etc.
Eg - Scripts etc, only take a few bytes of data transmission, but areas and creatures and items, usually require the entire binary to be uploaded.
I dont fanci the day when the module moves to 100+ mb in size and having to do a svn comitt.
Eg - Scripts etc, only take a few bytes of data transmission, but areas and creatures and items, usually require the entire binary to be uploaded.
I dont fanci the day when the module moves to 100+ mb in size and having to do a svn comitt.
#20
Posté 25 janvier 2011 - 06:39
That's precisely why we split the mod, diffing, and only transferring changed bits, rather than doing the whole mod at a go - our mod is 157M or so.
Funky
Funky
#21
Posté 08 février 2011 - 12:43
Is there some size limit that has been hit where the toolkit no long can manage the module and/or BUILD well? Our module is 187mb, and I do the build on my Acer Aspire One notebook - it takes less than five minutes last time I timed it. It has atm almost 4100 scripts (nss files) in it, and over 1250 Areas. I normally only do a BUILD on the palettes and scripts (we don't use encounters and creature CR we only occasionally do a build on) - the build takes less than five minutes in these circumstances.
What are the rest of you builders experiencing in this regard? Can we compare notes please?
What are the rest of you builders experiencing in this regard? Can we compare notes please?





Retour en haut







