[BETA/RELz/WIPz] NifSE v1.0

Post » Wed Mar 30, 2011 11:44 am

Will the final version support DR6? I've read the thread, no matter.

Besides, I don't know if it happens because of this mod, or DR6 (they're the only ones I've installed that touches NPC models, AFAIK), but I usually find "endless lines" on NPC's (like deformed NPC parts that starts on them and stretches straight, seemingly infinite). I'm currently using NifSE Beta 2.
User avatar
Marine Arrègle
 
Posts: 3423
Joined: Sat Mar 24, 2007 5:19 am

Post » Wed Mar 30, 2011 2:11 am

I discovered a bug with NifLib that might be of interest to you. NifLib doesn't properly generate npc and creature skeleton nifs. The block order isn't correct so it causes a crash if you attempt to use them in Oblivion. I submitted the bug to their tracker, http://sourceforge.net/tracker/?func=detail&aid=3293242&group_id=149157&atid=776343, but it doesn't look like they noticed it yet. They apparently fixed the bug in pyffi so I also included a fix by editing the pyffi code to work in NifLib.
User avatar
Jah Allen
 
Posts: 3444
Joined: Wed Jan 24, 2007 2:09 am

Post » Wed Mar 30, 2011 12:48 am

Will the final version support DR6? I've read the thread, no matter.

Just to be sure you came to the correct conclusion: No. I've updated NifSE (it was and still is a beta, after all), and retaining and maintaining deprecated versions of the functions that are no longer necessary is not on my agenda. Skycaptain will most likely update DR6 once he gets back from his trip. The changes necessary to update are minor, but I'm not familiar enough with DR6 to know each place they need to be made.

Besides, I don't know if it happens because of this mod, or DR6 (they're the only ones I've installed that touches NPC models, AFAIK), but I usually find "endless lines" on NPC's (like deformed NPC parts that starts on them and stretches straight, seemingly infinite). I'm currently using NifSE Beta 2.

That's almost definitely DR6; you can test by deactivating DR6 and retaining NifSE, but I'm very confident it's not NifSE. NifSE does not currently touch NPC models at all; all of the functions are for simpler models like weapons.

I discovered a bug with NifLib that might be of interest to you. NifLib doesn't properly generate npc and creature skeleton nifs. The block order isn't correct so it causes a crash if you attempt to use them in Oblivion. I submitted the bug to their tracker, http://sourceforge.net/tracker/?func=detail&aid=3293242&group_id=149157&atid=776343, but it doesn't look like they noticed it yet. They apparently fixed the bug in pyffi so I also included a fix by editing the pyffi code to work in NifLib.

Very interesting. I'll bring it up with Amorillia; since Niflib isn't actively being worked on, I'm not sure if she regularly checks the tracker, but she's been kind enough to update it for me from time to time when NifSE requires it. I'll keep that in mind when/if I get to working with NPC/creature NIFs.
User avatar
helen buchan
 
Posts: 3464
Joined: Wed Sep 13, 2006 7:17 am

Post » Wed Mar 30, 2011 1:20 pm

OK, I've been updating this. I have CSE's Intellisense set up properly, I have some functions for collision set up and tested, and I have some functions for BSFurnitureMarkers set up but not tested yet (someone requested these; need to go back through PMs/e-mails and figure out who).

What I'm expecting for beta 6:
  • NiAVObjectGetCollisionMode
  • NiAVObjectSetCollisionMode
  • NiAVObjectGetCollisionObject
  • NiAVObjectClearCollisionObject
  • NiAVObjectCopyCollisionObject
  • BSFurnitureMarkerGetPositionRefs
  • BSFurnitureMarkerSetPositionRefs

Note that I'm not exposing the ability to interact with collision objects at all, only detect that one exists, remove it, or copy one from one branch/nif to another branch/nif. I haven't exposed the collision properties yet because there's an absolute ton of them, in lots of different types of blocks (bhkListShape, bhkCapsuleShape, bhkBoxShape, etc. etc.), and they all have a ton of properties; that's just a ton of busy work that I don't really want to tack onto v1.0 (because it'll also take ages to test).

For the BSFurnitureMarkers, I'm literally dumping the entire array of refs on you; each has an offset, orientation, a ref1 and a ref2; the offset is itself an array of three floats corresponding to the x, y, and z directions of the offset. I don't really plan on adding more (since anything more would be coding in C++ that can be done in Oblivion script, in terms of working through that array; Niflib has nothing more to add on the matter).


Are there any more requests?
User avatar
kiss my weasel
 
Posts: 3221
Joined: Tue Feb 20, 2007 9:08 am

Post » Wed Mar 30, 2011 3:49 am

Beta 6 has been released. Many thanks to mmmpld for testing the new BSFurnitureMarker functions.

As stated above, with this release I am instituting a content freeze. Any further betas will contain only bug-fixes, and v1.0 final will contain exactly the functionality contained in beta 6, once I have determined that everything is, in fact, working correctly.
User avatar
courtnay
 
Posts: 3412
Joined: Sun Nov 05, 2006 8:49 pm

Post » Wed Mar 30, 2011 11:19 am

Beta 6 has been released. Many thanks to mmmpld for testing the new BSFurnitureMarker functions.
mmmpld's around? Huh, nice to hear that!
User avatar
liz barnes
 
Posts: 3387
Joined: Tue Oct 31, 2006 4:10 am

Post » Tue Mar 29, 2011 11:55 pm

Yeah! Nice to have him around, he was a lot of help.
User avatar
Anna Kyselova
 
Posts: 3431
Joined: Sun Apr 01, 2007 9:42 am

Post » Wed Mar 30, 2011 8:40 am

Got a question for you by the way - Did NifLib's source mention any hard limit on the number of BSFurnitureMarkers that can be present in a mesh ?
User avatar
josh evans
 
Posts: 3471
Joined: Mon Jun 04, 2007 1:37 am

Post » Wed Mar 30, 2011 1:37 am

It did not. I really don't know how that would work.

Also, mmmpld found that changing the NIF during run-time to switch it from the "chair" type position refs to the "bed" type position refs did not change the icon you receive when you hover over it — his theory was that the CS reads that and sets it for the base object when you select the NIF, and it doesn't get updated thereafter. Despite not changing the icon, the type of animation that gets used does change appropriately, from what I understand.
User avatar
Cartoon
 
Posts: 3350
Joined: Mon Jun 25, 2007 4:31 pm

Post » Wed Mar 30, 2011 1:11 am

Also, mmmpld found that changing the NIF during run-time to switch it from the "chair" type position refs to the "bed" type position refs did not change the icon you receive when you hover over it — his theory was that the CS reads that and sets it for the base object when you select the NIF, and it doesn't get updated thereafter. Despite not changing the icon, the type of animation that gets used does change appropriately, from what I understand.
Hmm, he appears to be right - The activeFurnitureMarker bit mask is set in the CS, depending on the markers you select in the furniture record's edit dialog (Bit 30 needs to be set to allow sitting, 31 to allow sleeping).
User avatar
kirsty williams
 
Posts: 3509
Joined: Sun Oct 08, 2006 5:56 am

Post » Wed Mar 30, 2011 4:46 am

Interesting. Suppose someone should bug Scruggs about exposing that, but I'm not sure anyone cares. mmmpld specifically mentioned that he was happy it worked out the way it did, because he didn't want the icon changing for his purposes.

Anyway, I'll note this in the function's documentation.
User avatar
Sylvia Luciani
 
Posts: 3380
Joined: Sun Feb 11, 2007 2:31 am

Previous

Return to IV - Oblivion