Hi all, new person here hoping to help this project. I don't have any experience with CK, but I am a pretty skilled C++ programmer. It's a bit hard from the forum to see where I can help the most(possibly converters?). Suggestions would be greatly appreciated.
Sun, 01/06/2013 - 23:49
#1
Coding Tasks
Edited by: grumpycat on 12/08/2013 - 18:30

It would be nice if the converter could convert Morrowind mods directly to Skyrim. I've tried getting TR to work with no avail.
Definitely, help with the current converter tools!
Here are the threads for each tool:
For the source code you should send Clint a PM about it and he should be able to help you there.
Also, if you know PASCAL and are familiar with TES5edit or similar tools, you may be able help write conversion scripts there too!
Sins the NifTools team is not directly working on improving the current Skyrim 3DsMax .NIF Exporter, and you happen to know how to write a 3DsMax .NIF Exporter, or know how to debug one when the source code is provided let us know.
I would recommend working on the .nif converter and not the project Andoran conversion tool though. As it stands, the TESV Edit scripts given to us by Zilav convert more fully than it. Though, with quite a bit of time and effort, I suppose the Andoran .esp converter could be made better than the scripts.
What would also be cool if you were up to the task, would, like Envydeveloper said, be to make a Morrowind to Skyrim or Oblivion conversion tool. Without a new one, we will never be able to convert over Tamriel Rebuilt or any other Morrowind mods.
I'll take a look at the Morrowind-Skyrim conversion tools. Once I get an idea of where they stand(probably by weekend), I'll post what I will work on specifically.
Shadow, you recommended working on the nif converter instead of projected Andoran. Is there any reason besides lack of features? If their code design is better it might be faster to work on that, but if you heard from others that it is as good as it's gonna get, I'll look at the Zilav's scripts more closely...
Well, their .esp/.esm converter created a lot of problems and errors, While Zilav's conversion process was error free, and is what we are currently using. Zilav's process was also more complete, though I think the Andoran converter did convert 1 or 2 more groups. Of course TES Edit scripts are written in Pascal I believe, so that could be a problem.
Just my thoughts.
Hey rubenmp8 :)
There is real need to get some brainstorming into the general NifTools (http://niftools.sourceforge.net/wiki/NifTools ) which has the NifConverter as part of it. There is a need to produce LOD, amongst other things.
Further down the track there is going to be a real need for an automotive process for converting Oblivion mods to Skyblivion. It would obviously be nice to have one that does Morrowind to Skywind as well.
I think I'll start scoping out what it would take for LOD conversions. Eloth also mentioned the need for this, and it seems like as good place as any to start. If anyone is already working on this, let me know so that we can collaborate.
Nobody is working on this yet. From what Eloth has said, its something that the Skyrim community has been waiting for, so its probably no small order. I think its going to require a lot of R&D.
Well, object LOD creation would be a big problem. But perhaps the conversion of LOD objects from Oblivion would be more viable? After all, we already have the .nif converter as a base.
Why is LOD object creation a problem?
A LOD object is just optimized models of existing meshes.
At least for land LOD, has anyone looked at this?
https://github.com/Gruftikus/tes4ll
Check out "TES4LODGen by ElminsterAU"
http://oblivion.nexusmods.com/mods/15781
Maybe you can get in contact with the author and see if he/she can give you some source code, with suggestions on how to convert for Skyrim.
Yeah, I've sent him a PM there. Hopefully he checks his inbox relatively frequently.
Ok, definitely have a task for you if you are up for it!
The program that we want to use is the NifConverter tool. Its a windows exe that can be used to convert Morrowind/Skyrim meshes to Skyrim with some corrections.
The program is open source, written in c++ and you can get the code from here:
https://github.com/skyfox69/NifUtils
The author has no contact details :(
What we would we like to be able to do is process thousands of models in some sort of automated process. At the moment it is designed as a tool that you can select 1 model at at time with browse to file boxes.
I think the actual code to change it to be able to either select a folder to process all files in that folder, plus all its subfolders, or read a txt/ini file that has all the path and files names to process, wouldn't be too much work. However its written in Visual Studio 2005 and for me its has legacy MFC stuff and I can't get the damn thing to compile. You will also need to download:
http://software.intel.com/sites/havok/en/thanks.php?file_typ...
The Havok Physics and Havok Animation SDKs for Programmers (2010.2.0, VS2005)
...or if you feel like you can use one of the other versions for whatever IDE you end up using to compile with.
However, I use are Visual Studio 2012, and Visual C++ 2010 express, and the MFC references trip me up!
There is also another program called ChunkMerge which is part of the code. It is almost exactly the same type of wizard as the NifConveter. Same logic would need to be applied to this to get it to run a batch of models.
Let me know if you are willing to look at it. Here is a version of it compiled just so you can get an idea of the what the wizard actually does.
https://docs.google.com/open?id=0B1vwmz6hbHGPSnRrdlFRZmpyUzA
Run the NifConvert.exe. Select a Nif for conversion. For experimenting use the folder provide "In" and select "al_tent01.nif". Out file select same file but what is in the "Out" folder. For the template choose "Template.nif". Don't touch the other options and press convert. This should alter the file in the out folder. It has now lost its collision and this is what the ChunkMerge will create.
TES4LODGen is a part of xEdit source code which is already open sourced. However LOD in Skyrim is very different from Oblivion.
Proper Nif tools are what slowing this project now.
Is any coder looking at doing a conversion for that you know of Zilav for Skyrim then?
I'm on vs2012 pro, with supports MFC a lot better. I've gotten all parts of NifUtils except ChunkMerge to compile. I don't think adding batch processing logic will be too difficult. With a bit of luck I can have a build by weekend or early next week for you guys to test.
@happychappy
First the format of LOD files must be decoded. The only partially decoded format atm is only BTT files to tree lods.
Hi, I'm a quite skilled C/C++/Java programmer, I'd like also to contribute. If you need help with this tool or need some other external tools to be developed, please let me know!
A Morrowind to Oblivion/Skyrim converter would be really handy for us. :)
Sorry, double post
Nice one rubenmp8.
We are running a macro that goes through the process of changing the files one-by-one at the moment. Mehh is doing it and its going to take a couple of days to process all the files through NifConverter and ChunkMerge.
So we might not need it for this task now, but having a person who can alter the NifTools in general is going to be really important going forward. Getting it compiled and working for batch processing is going to be used again at some stage.
[edit] We are going to need this now. The macro is too much of a pain. If you can get the batch processing working as soon as you can, that would be awesome.
I think the team is going to need to set out priority tasks for what we need now and in the future.
So aerisarn hold that thought, while a list of things we need gets prioritized. Thanks for the volunteering :)
I'll see if a moderator can add you guys to the chat on this site. [edit] You have both been added
Eff that macro, I'll hold off on using it for now to see if you're able to get a batch up and running or not.
I have a few questions about nifconverter:
1)Is an output file needed? It seems a new one is created anyway. for now I have assumed that a new file is made, so only an output directory is needed.
2) Do you anticipate needing to specify more than one template at a time? Ie, this group of nifs needs template a and group b needs template b.
3) Do you need recursive search? If you specify an input folder, do you need to go into subdirectories as well? For now I have assumed no.
A build of the modified nifconverter with above assumptions can be found at:
https://docs.google.com/file/d/0B5JwBJQJfIM3bnRqYmE2VkdBYjg/...
Given an input directory with some nifs and an output directory, all nifs within should be converted, non nifs will be skipped. This is my first time dealing with win file api's so do subject it to the most convoluted tests possible :)
Nice. I'll start working on the more general conversion tool then.
@rubenmp8
Nice work!
To answer some of your questions, yes, please include recursive search. Most NIF's are spread out in many sub-folders, so having the input look inside them would be great. The output should create sub-folders in the same way they are found from the input folders.
Machine.
Do you typically need only one template or would a feature like specify template for subdirectory be useful?
Would need eloth's opinion on templates.
would be nice to have a feature like that, having a folder of templates, and lets say its converting a mesh named candle01.nif, it would automatically use(or search for) a template also having candle* in the filename
Nice work. I've got a xcopy .bat file that we can use to copy things to a flat file format and back again, so it's not that important to have the recursive search if really pushed for time. Would be good for the future, but we can make do for now.
More importantly now is to get the ChunkMerge, working the same way.
I would like to request the option to disable the removal of the collision data when using the NIFConvert tool.
I know the removal of the collision data is a required option when converting models. But when working with files that already have fully functional collision data then its a waste to remove the data, adding stuff that is already there with ChunkMerge is pointless.
Test build is at:
https://docs.google.com/file/d/0B5JwBJQJfIM3V2c3T0VVemoyYW8/...
It will create subdirs as needed. Let me know if issues are encountered. I will proceed with getting this functionality into chunkmerge. I may be busy tomorrow, but will do it Tuesday evening if I can't tomorrow.
It might be easier if we had some sort of restriction on template file names, ie either always be suffixed by _template, or be called template.nif and located in the subdirectory of nifs to which it applies.
In ChunkMerge, what is the purpose of nif.xml?
Also, how would batch processing work here? As I understand it, you have a some nif file containing collision data, and one nif file into which that data will be added. If you'd like many done at a time, there must be some convention for pairing the input nif and collision data nif. For example a nif directory and a collision directory, for each nif in the nif directory, find a nif with the same name in the collision directory and use it for collision data.
Then file containing the visual model has the full file name, the one containing the collision model has [ _col.nif ] behind the file name.
3DsMax or other files create these files in batch mode in the same directory, making the tool require two input directories makes it a bit harder to handle. one must then manualy select all [ _col.nif ] files and place then somewhere ells.
Removal of the [ _col.nif ] file after merging would be a nice option to have.
It looks like we need to define exactly what we want with the Nif conversion tools. I'm new to the project, so will be in the same boat as the coders here. So I'll ask the questions and hopefully those with a bit of history on the subjects can clarify. This is so that the coders know exactly what they could be looking at and working on.
We want a tool which converts Morrowind meshes into Skyrim meshes. We want a tool that converts Oblivion meshes into Skyrim meshes. Want this to be a one step process, so all correct settings will be applied if possible to the converted models.
To anybody knowledge does the Nif that is produced by passing a Morrowind mesh through the NifConverter and ChunkMerge produce a perfect model? Or does there need to be some work done on the tools for this to be corrected? Or some other tool that can also fix it? Or is it just something that will always require some manually editing?
For the Oblivion conversion models, I understand that the process involves running some scripts through 3DSmax, then using the NifConverter and ChuckMerge to correct various settings and fix collisions. Is this the only method that is used?
Trying to establish whether the process of Oblivion to Skryim models can be streamlined. It might be that we can make the NifConverter read in Oblivion meshes, the same way as Morrowind ones. Or more likely change the 3dsMax Nif Importer-Exporter to use the same code as the NifConverter and ChunkMerge.
The source code for 3dsMax Nif Importer-Exporter is on: https://github.com/figment/max_nif_plugin
Its written in c++ and based off the niflib as well. My understanding is that you really want 3dsMax 2012. Earlier versions and 2013 might not work with it.
Firstly, apologies for the delay. Some real life work stuff took longer than anticipated. Good news is, I'm about ready to start testing.
Question is, a template.nif is used for nif conversion. Is the template nif used for collision mesh merge(that is ChunkMerge) the *same* one, or a different template nif?
That's great news! I do have one request. I've found there can be a number of meshes with potential erroneous nodes structures, and this will cause the NifConverter to crash. Rather than trying to make the tool robust for this sort of thing, if you could have a catch error and output the mesh its processing this will make it easy to fix it. Or do a log file instead/and that outputs each mesh as it processed, so that trouble meshes can be found quickly.
OK I'm gonna go with the convetion that conversion templates are called template.nif, and collision templates are called template_col.nif. If you'd like something else, let me know.
Could you post a mesh that does this, just so I can be sure I've got the logging working correctly?
Here is a mesh that should crash it: https://docs.google.com/file/d/0B1vwmz6hbHGPdURCaGc5S3YzM28/...
Ok, I was sent here! I tried reading the whole page, but from what I get, it's more or less like you come here to get "work"! ^^
So I'm a programmer! I don't have any experience with making mods, but I'm a fast learner, so if you have anything you want me to do, do not hesitate! ;)
Try pming eloth or aerisarn
Hi Asahi, we have been really lucky and a couple of programmers have started working on stuff this month. So although I'd like to say dive right in, it not that clear on who can do what task.
We do need an installer for the game. It needs to be able to detect if Morrowind is installed. We haven't really talked about what we would want exactly from the installer yet, but I imagine that other features could be added to make installing/unistalling the game as easy and robust as possible.
It would need to work with as many platforms as possible. We used to have an installer but that has been abandoned.
Is this something you would be interested in?
If not, perhaps you could assist aerisarn in our extreme overhaul of our conversion tools? But that would require some .nif format knowledge I think.
Hi,
currently i'm working on bugfixing and expanding nifskope to get an hold on the nif xml format and various parsers. Aside from this, i agreed with Ruben that the bugfixing is proceding nicely and we are soon to move on planning a modular converter for TES Games.
If you're interested in one of those two activities, please send one of us a PM indicating your expectations and your skills. A good starting point for working with the niftools is putting up the build environment, othewise soon we are going to open a thread to discuss converting priorities and technologies
A build of the combined NifConverter/ChunkMerge is available at:
https://docs.google.com/file/d/0B5JwBJQJfIM3QlFrMmJubTlHUVU/...
Note that the behavior for handling templates is pretty different, so be sure to look at the readme. Give it a try, and let me know if you encounter issues, or see features you want.
I have some background in programming.
What do you all recommend to study, analyze, or "play with" before working with the apps with modifying pc games.
Thanks.
It depends a lot on which aspect is more interesting to you. For starters, you should gave a look at file formats and different resources and have an idea of how resources are handled
Pages