[donuts][RELz/BETA/WIPz] FO3Edit

Post » Wed Dec 09, 2009 3:38 pm

Oh, in case it isn't obvious, I'm very very interested in any confirmed information anyone might have about anything that is currently labeled as "unknown".


I am currently working of animating and inserting a few completely custom weapon in-game and I noticed a few discrepencies in the way FO3Edit parses the DNam block

WeaponType -> this should read as the animation set it invokes not as a weapon set which in most cases only one of that weapon type even belongs to.
This is the correct setting taken right out of the Exe and comfirmed by myself ! :)

00 00 00 00 (0) Hand to Hand (H2H)
01 00 00 00 (1) 1 Hand Melee (1HM)
02 00 00 00 (2) 2 Hand Melee (2HM)
03 00 00 00 (3) 1 Hand Pistol (1HP)
04 00 00 00 (4) 1 Hand Pistol2 -> Energy Weapons (1HP)
05 00 00 00 (5) 2 Hand Rifle (2HR)
06 00 00 00 (6) 2 Hand Automatic (2HA)
07 00 00 00 (7) 2 Hand Rifle2 -> Energy Weapons (2HR)
08 00 00 00 (8) 2 Hand Handle (2HH)
09 00 00 00 (9) 2 Hand Launcher (2HL)
0A 00 00 00 (10) 1 Hand Grenade Throw (1GT)
0B 00 00 00 (11) 1 Hand Land Mine (1LM)
0C 00 00 00 (12) 1 Hand Mine Drop (1MD)

Animation Timescale -> this only effect the Equip, Unequip and Attack Animations -> "Combat Animations Speed" -> is does not effect Jam Locomotion or Recoil animations

Unknown -> Animation Related -> not sure what this does as I could not get it to do squat, but it absolutely does not effect Animations in any way.

Unknown we need to break this one up into bytes
First Byte
00 -> Known as Fire Trigger in FOMM but it functions closer to a "Projectile Behavior Type"
00(0) = Single Fire (Most Single Fire Weapons and Melee Weapons)
02(2) = 10MMSub, Ripper
40(64) = Fatman, MissileLauncher, Sawed-Off, RockITLauncher (Single Fire)
42(66) = Both Assult Rifles (AttackLoop)
44(68) = Victory Rifle
52(82) = Flamer, Minigun
88(136) = Laser Pistol, 10MM Pistol
A8(168) = Mesmatron, Plasma Gun, Buzzsaw
AA(170) = Gun Turrets
CA(202) = Jericho's C. Assult Rifle
DA(218) = Gatling Laser

The obvious 1st effect is that this enables auto vs single fire but its also obvious that the reason there are so many options is something else is going on I have yet to delve into exactly what the secondary effects are yet.

Second Byte
AB(171) = HandGrip1
AC(172) = HandGrip2
AD(173) = HandGrip3
FF(255) = No Grip Animation

Third Byte
00 -> FF = Ammo Used Per Shot !!
Yes it is possible to make a weapon that uses ZERO Ammo Per Shot. CHEETER!! :)

Forth Byte
Reload And Jam Animations Index
00(0) = ReloadA/JamA
01(1) = ReloadB/JamB
02(2) = ReloadC/JamC
03(3) = ReloadD/JamD
04(4) = ReloadE/JamE
05(5) = ReloadF/JamF
06(6) = ReloadG/JamG
07(7) = ReloadH/JamH
08(8) = ReloadI/JamI
09(9) = ReloadJ/JamJ
0A(10) = ReloadK/JamK

Min Spread
Max Spread
Unknown
Zoom FOV
Projectile

Unknown 4 Bytes we need to once again Seperate
First Byte
00 Unknown

Second Byte
Weapon Attack Animation Index
26 |AttackLeft, AttackLeftIS
32 |AttackRight, AttackRightIS
38 |Attack3, Attack3IS
44 |Attack4, Attack4IS
50 |Attack5, Attack5IS
56 |Attack6, Attack6IS
62 |Attack7, Attack7IS
68 |Attack8, Attack8IS
-- |AttackPower
-- |AttackForwardPower
-- |AttackBackPower
-- |AttackLeftPower
-- |AttackRightPower
74 |AttackLoop, AttackLoopIS
86 |AttackSpin2, AttackSpin2IS
97 |PlaceMine, PlaceMineIS
103? |PlaceMine2, PlaceMine2IS
109 |AttackThrow
115 |AttackThrow2
121 |AttackThrow3
127 |AttackThrow4
133 |AttackThrow5
-----------------------------------------
255 |AttackLeft, AttackLeftIS
|AttackRight, AttackRightIS
|AttackPower
|AttackForwardPower
|AttackBackPower
|AttackLeftPower
|AttackRightPower

I garnered quite a few animation sequences from the exe that Bethesda has not used even once which obviously means that they plan to use them in the future for DLC's -> so here comes the new weapons -> what this also mean's is that anyone wanting to animate completely new original weapons into the game WILL at some point have created a direct conflict with any DLC's Bethesda releases because there is no FREAKING way they accendently added 6 completely unused valid animation sequences -> so all you people reading this and thinking about the possibilities remember anything you do WILL get overridden in the future by Beth themselves.

Third and Forth Bytes
00 00 No Freaking Clue ! I have spent zero time tracking these values down within the exe

Projectile Velocity
Projectile Max Range
Unknown 00 00 00 00 00 00 00 00

Reload Time <- this is emphatically NOT reload time it has absolutely nothing to do with the reload animation at all !!
this is Weapon Attack Aniamtion Speed -> altering this changes the rate at which the Attack anim plays and ONLY the attack anim.
what this allows is for you to set a different speed for the upper Speed value then down here if you want the equip/unequip to play slowely but the attack to play at normal speed or the opposite.

Ammo Per Shot -> yet again this is NOT ammo per shot this is "Shots Per Second" for automatic weapons only if you set this to 1 or 2 you can clearly count off the timing on automatic weapons, this is also completely seperate from animation play speed so it is possible to get an anim that play out of sync with the shots beign fired if you do not set this up correctly.

AP Per Shot

1st Trigger Delay Both of these are seriously incorrect I mean just look at the assult rifles they are timed at 0.6/0.6 and the animation is only 0.2 long if this was true the animation would never fire
2nd Trigger Delay I set both of these to 50000 and it had zero delaying effect on anything -> I can not say what it is but they absolutely are not Delays or anythign to do with Animations or RoF

Rapid Fire Timing -> Incorrect as RoF is calculated by only one setting that is "Shots Per Second" -> not sure what it is as I have not spent much time here

Unknown 00 00 00 00 (float?)

Critical Effect Death Chance -> this seems to be just straight up Crit Hit Chance Modifier as if you set it to 32000 that weapon starts to crit hit like crazy, but not every shot.

Unknown 00 00 00 00 (float?)

Weapon Skill Type

Unknown (flag?)
Unknown (float?)
Unknown (float?)
Resist Type

Burst Mode Fire Rate -> not sure what this is even suppost to mean but any alterations to this setting make zero difference in-game even changes to the Minigun on this setting does nothing.

Unknown (float?)
Unknown (float?)
User avatar
Franko AlVarado
 
Posts: 3473
Joined: Sun Nov 18, 2007 7:49 pm

Post » Wed Dec 09, 2009 9:57 pm

Yes it does! It's just that you are doing it wrong. You naturally can't delete the last element (by looking for Remove on the "Effect" field) from the Effects array because this array is made up of groups of subrecords and you either have at least one element (sub records present) or or you don't have an array at all. So to remove the "last element" you remove the whole array by using the remove function on the "Effects" field. Same the other way around, if you don't have any Effects and you use the "Add" on the Effects field you will automatically get the first element. You'll see this behavior everywhere where an Array is made up of subrecords (e.g. also with CTDAs).

I see. Is there a reason that it just can't put a 'remove' in the context menu when there is only one array element, that will 'remove' the whole array? One of the basic tenets of interface design is that things should do what you expect them to do, if remove works with 2 items, it should show up with 1 item. Obviously not the most important thing for me to waste your time on, it's just that this thing is confusing sometimes and there's no readme to explain these things :P

Double click works here! (It's a listview control, not the highly modified treeview control I'm using for the detail view, so I can't easily make it work with Ctrl+Click)

Once again expecting things to work the same for similar functions... but thanks. There really should be a readme eventually that lists these things so I don't have to waste your time :P

You mean the FULL of the DIAL? There is no NAME in it as far as I can tell.

Yeah, FULL i guess, it's just listed under Name in the tree view on left.
User avatar
suniti
 
Posts: 3176
Joined: Mon Sep 25, 2006 4:22 pm

Post » Wed Dec 09, 2009 6:59 pm

Okay, going a little nuts here. I'm trying to add new dialogue topics, except FO3Edit doesn't give an 'add' option under DIALs. I opened it up in FOMM and added the GRUPs there so it looked okay... except opening it back up in FO3Edit the GRUPs show up as 'Children' instead of being linked to the right topics. :sadface: Any idea what I need to do to get this working right?
User avatar
stevie critchley
 
Posts: 3404
Joined: Sat Oct 28, 2006 4:36 pm

Post » Wed Dec 09, 2009 4:39 pm

I am currently working of animating and inserting a few completely custom weapon in-game and I noticed a few discrepencies in the way FO3Edit parses the DNam block

Thanks for all the info. I'll update the record description accordingly for the next release. The existing information came 1:1 out of the FOMM XML.

Unknown we need to break this one up into bytes
First Byte
00 -> Known as Fire Trigger in FOMM but it functions closer to a "Projectile Behavior Type"
00(0) = Single Fire (Most Single Fire Weapons and Melee Weapons)
02(2) = 10MMSub, Ripper
40(64) = Fatman, MissileLauncher, Sawed-Off, RockITLauncher (Single Fire)
42(66) = Both Assult Rifles (AttackLoop)
44(68) = Victory Rifle
52(82) = Flamer, Minigun
88(136) = Laser Pistol, 10MM Pistol
A8(168) = Mesmatron, Plasma Gun, Buzzsaw
AA(170) = Gun Turrets
CA(202) = Jericho's C. Assult Rifle
DA(218) = Gatling Laser

Looking at how these values split up I'm not sure yet if we are looking at an enum here or flags. e.g. the 0x02 flag would be set for: 10MMSub, Ripper, Both Assult Rifles (AttackLoop), Flamer, Minigun, Gun Turrets, Jericho's C. Assult Rifle, Gatling Laser

Which looks to me like exactly the list of weapons which use auto-fire.
Can you come up with any possible meaning for the other flags if this was interpreted as flags not an enum?

1st Trigger Delay Both of these are seriously incorrect I mean just look at the assult rifles they are timed at 0.6/0.6 and the animation is only 0.2 long if this was true the animation would never fire
2nd Trigger Delay I set both of these to 50000 and it had zero delaying effect on anything -> I can not say what it is but they absolutely are not Delays or anythign to do with Animations or RoF

Rapid Fire Timing -> Incorrect as RoF is calculated by only one setting that is "Shots Per Second" -> not sure what it is as I have not spent much time here
Burst Mode Fire Rate -> not sure what this is even suppost to mean but any alterations to this setting make zero difference in-game even changes to the Minigun on this setting does nothing.

Will set them to Unknown for now.

I see. Is there a reason that it just can't put a 'remove' in the context menu when there is only one array element, that will 'remove' the whole array? One of the basic tenets of interface design is that things should do what you expect them to do, if remove works with 2 items, it should show up with 1 item.

It would seem that our expectations are different.

Obviously not the most important thing for me to waste your time on, it's just that this thing is confusing sometimes and there's no readme to explain these things :P

Feel free to start a wiki somewhere to build up a proper documentation for FO3Edit. I definitely don't have the time to write one from scratch, but will be happy to answer any specific questions.

Once again expecting things to work the same for similar functions... but thanks. There really should be a readme eventually that lists these things so I don't have to waste your time :P

This is a technical limitation that I can either spend a couple of hours on trying to work around or I could instead add the ComboBox edits for Enums and FormIDs.. your choice.

Yeah, FULL i guess, it's just listed under Name in the tree view on left.

That's because the FULL subrecord usually contains the name of things.
User avatar
Jon O
 
Posts: 3270
Joined: Wed Nov 28, 2007 9:48 pm

Post » Wed Dec 09, 2009 4:29 pm

Like I said, I don't want to waste your time on trivial tweaks to the interface. When I get a chance I'll put up a wiki page of 'Useful Tips for FO3Edit' with the ones I know. If you do have any insight on my new DIAL topics problem I mentioned above, I would really appreciate that.
User avatar
amhain
 
Posts: 3506
Joined: Sun Jan 07, 2007 12:31 pm

Post » Thu Dec 10, 2009 4:24 am

Thanks for all the info. I'll update the record description accordingly for the next release. The existing information came 1:1 out of the FOMM XML.


Looking at how these values split up I'm not sure yet if we are looking at an enum here or flags. e.g. the 0x02 flag would be set for: 10MMSub, Ripper, Both Assult Rifles (AttackLoop), Flamer, Minigun, Gun Turrets, Jericho's C. Assult Rifle, Gatling Laser

Which looks to me like exactly the list of weapons which use auto-fire.
Can you come up with any possible meaning for the other flags if this was interpreted as flags not an enum?


I was thinking the exact same thing but Have not gone into testing as yet -> but I do have a theory as to the second flag I was thinking it has to do with the targeted objects death effects or crippling effects like getting gooed by the lasers and plasmas or getting dismembered by bullets maybe even a way to targets certain limbs with effects like the dart gun does, but all of that is just conjecture until I can get more into just that bit.
User avatar
John Moore
 
Posts: 3294
Joined: Sun Jun 10, 2007 8:18 am

Post » Wed Dec 09, 2009 8:36 pm

Okay, going a little nuts here. I'm trying to add new dialogue topics, except FO3Edit doesn't give an 'add' option under DIALs. I opened it up in FOMM and added the GRUPs there so it looked okay... except opening it back up in FO3Edit the GRUPs show up as 'Children' instead of being linked to the right topics. :sadface: Any idea what I need to do to get this working right?

You probably didn't setup all the fields in the http://www.uesp.net/wiki/Tes4Mod:Mod_File_Format#Groups correctly. TES4Edit was never designed to allow adding new topics (which would require special handling for also creating the child group for the INFO records and such) because the editor in the CS was quite up to the task and there was no reason to replicate that.

Until I work on this a bit you should be able to work around this limitation like this:
- select any INFO record from Fallout3.esm
- "copy as new record into..." (will assign a new FormID to the info record)
- select the implicitly copied DIAL record in the new module
- "Change FormID"
- just delete the the FormID and leave the field empty -> ok
- should show the dialog again, this time with a newly generated unique FormID -> ok

that way you end up with a new DIAL record with unique FormID, but while doing this right now I noticed that it doesn't properly update the FormID inside the child group that follows the DIAL record, so you'll have to patch that up manually with FOMM after saving in FO3Edit.

Needless to say I'll have a look at better (or at all) supporting adding DIAL and INFO records now that this becomes important. Maybe even a specialized dialog editor (just not tomorrow).

Please keep in mind that FO3Edit developed out of TES4Edit (which was mainly for tweaking things, not for creating new dialogs and cells and such as the CS did that well enough) and TES4Edit developed out of TES4View which was primarily a conflict detector/viewer. The existing design has developed out of the requirements of these earlier use cases. If I had set out to write a CS replacement from scratch the design would naturally have been different in places.
User avatar
Chloe :)
 
Posts: 3386
Joined: Tue Jun 13, 2006 10:00 am

Post » Wed Dec 09, 2009 7:42 pm

Yeah, this is all kind of tricky... on one hand there's ways to do things that aren't immediately obvious, and then there's things it can't do because it wasn't designed to, and I can't always tell which are which :P. I'll try to do that manually as you suggest.

Ugh, FOMM won't let me change the form ID of the GRUP =/ Project on hold for now...
User avatar
Michelle davies
 
Posts: 3509
Joined: Wed Sep 27, 2006 3:59 am

Post » Thu Dec 10, 2009 3:13 am

Ugh, FOMM won't let me change the form ID of the GRUP =/ Project on hold for now...

You could always use a hex editor ;)

I should have an update out for FO3Edit in the next day or two...
User avatar
ezra
 
Posts: 3510
Joined: Sun Aug 12, 2007 6:40 pm

Post » Wed Dec 09, 2009 7:43 pm

You could always use a hex editor ;)

I should have an update out for FO3Edit in the next day or two...


Sounds good... I've got actual college work to do anyway =/
User avatar
meghan lock
 
Posts: 3451
Joined: Thu Jan 11, 2007 10:26 pm

Post » Wed Dec 09, 2009 3:27 pm

Hey, Elmin, I believe the problem that arose when the guy tried to copy-paste a facegen data to Clover was that when you paste the data only a part of it gets placed, like half the line.

It seens that when we paste a really long line, the soft just catches a part of it. I was using the 2.0.4 I downloaded from tnexus and faced the same problem copy-pasting facegen lines.

It seens that when we drag the line the soft understands ok, but CtrlC CtrlV doesnt.

Just wanted to let you know.

Great piece of work here!
User avatar
KiiSsez jdgaf Benzler
 
Posts: 3546
Joined: Fri Mar 16, 2007 7:10 am

Post » Thu Dec 10, 2009 12:18 am

Is there a way to look up the records options? For example, the CTDA conditions have hundreds of possibilities, and you've clearly coded a TON of translations, but the only way I can find to figure them out for myself, is to input 1, check, 2, check, 3, check, etc. And something as simple as GetAV is "495"! Shortcut question: is "HasPerk" (which IS a script command) available as far as you know, in the CTDAs? If not, it's easy enough to set it to a script variable, I guess, but CTDAs are easier ;)
User avatar
Andrew Tarango
 
Posts: 3454
Joined: Wed Oct 17, 2007 10:07 am

Post » Wed Dec 09, 2009 2:30 pm

Is there a way to look up the records options? For example, the CTDA conditions have hundreds of possibilities, and you've clearly coded a TON of translations, but the only way I can find to figure them out for myself, is to input 1, check, 2, check, 3, check, etc. And something as simple as GetAV is "495"! Shortcut question: is "HasPerk" (which IS a script command) available as far as you know, in the CTDAs? If not, it's easy enough to set it to a script variable, I guess, but CTDAs are easier ;)


The numbers there are the opcodes for the functions used. The full list of functions is here:

http://fose.silverlock.org/Fallout3Commands.html

Those numbers are in hexcode, you need to drop the first 1, then convert the last 3 digits to decimal. So on that list, GetPermAV is 11EF. You drop the 1 to make it 1EF, then convert that to decimal, which gives 495.

To make your life easier, HasPerk is 449.
User avatar
Laura Hicks
 
Posts: 3395
Joined: Wed Jun 06, 2007 9:21 am

Post » Thu Dec 10, 2009 5:17 am

The numbers there are the opcodes for the functions used. The full list of functions is here:

http://fose.silverlock.org/Fallout3Commands.html

Those numbers are in hexcode, you need to drop the first 1, then convert the last 3 digits to decimal. So on that list, GetPermAV is 11EF. You drop the 1 to make it 1EF, then convert that to decimal, which gives 495.

To make your life easier, HasPerk is 449.


I wouldn't have even thought to drop the first one. But that's so awesome to hear. My need for scripts just went down by 99% :D

Do you by chance sell pocket qzillas?
User avatar
KiiSsez jdgaf Benzler
 
Posts: 3546
Joined: Fri Mar 16, 2007 7:10 am

Post » Wed Dec 09, 2009 8:12 pm

Who's to say I'm not pocket-sized already?
User avatar
Robert Jackson
 
Posts: 3385
Joined: Tue Nov 20, 2007 12:39 am

Post » Wed Dec 09, 2009 1:49 pm

*EDIT* Nevermind...
User avatar
Maria Leon
 
Posts: 3413
Joined: Tue Aug 14, 2007 12:39 am

Post » Thu Dec 10, 2009 4:22 am

*EDIT* Nevermind...

Well, now I'm curious...
User avatar
Holli Dillon
 
Posts: 3397
Joined: Wed Jun 21, 2006 4:54 am

Post » Wed Dec 09, 2009 11:44 pm

Version 2.0.10 EXPERIMENTAL has just been posted on Fallout3Nexus.

What's new?
  • Inplace Editors for Flags, Enums and FormIDs (MAJOR improvement)
  • FormID of DIAL, WRLD and CELL records can now be changed
  • Adding new DIAL, WRLD and CELL records is possible
  • Extensive updates to FO3 record definitions
  • Using the FormID search box now adds a history entry
  • When holding SHIFT while double clicking in the detail view editable elements can be edited
  • IMAD records are now supported
  • FormID references to any value < 0x800 will no longer result in an error (The game engine defines objects with FormIDs < 0x800 implicitly in code)
  • Insert and Delete Key are working in both navigation treeview and detail view (under the same conditions under which Add and Remove is available in the context menu)
  • F2 is working on the navigation treeview and opens the "Change FormID" dialog
  • anything I forgot about...

User avatar
Kayla Bee
 
Posts: 3349
Joined: Fri Aug 24, 2007 5:34 pm

Post » Wed Dec 09, 2009 6:10 pm

Well, now I'm curious...



Heh, I had some confusion about hiding 'no conflict' rows.

Anyhoo, good to see a version with a more complete set of defs is up. Could it be possible to use the definition XML for the FOMM TESSnip for a more easily updated definition set?
User avatar
Joanne Crump
 
Posts: 3457
Joined: Sat Jul 22, 2006 9:44 am

Post » Wed Dec 09, 2009 9:33 pm

I've just got a request, could it be possible to edit text in the expanded windows? I'm trying to write a script and it's a bit inconvenient to write it in notepad and copy-paste across.

You'll be happy to hear that this works in 2.0.10 if you double click while holding the shift key.
User avatar
Eire Charlotta
 
Posts: 3394
Joined: Thu Nov 09, 2006 6:00 pm

Post » Wed Dec 09, 2009 6:46 pm

Anyhoo, good to see a version with a more complete set of defs is up. Could it be possible to use the definition XML for the FOMM TESSnip for a more easily updated definition set?

Unfortunately not as the way the definitions work in FO3Edit are very different and allows expressing much more complex structures.

It's not really that important anyway because the GECK will be out soon (hopefully) which will enable me to pretty quickly complete the record definition so that no further updates of them will be required anymore.
User avatar
Andrew Lang
 
Posts: 3489
Joined: Thu Oct 11, 2007 8:50 pm

Post » Wed Dec 09, 2009 7:45 pm

Version 2.0.10 EXPERIMENTAL has just been posted on Fallout3Nexus.
*SNIP*


WHAT?! When did this happen? Two AM?? But it's 5:45am now and I could have done twice the work since two.... I will dream of modding....

Thanks as always, Elminster!
User avatar
Ronald
 
Posts: 3319
Joined: Sun Aug 05, 2007 12:16 am

Post » Thu Dec 10, 2009 2:02 am

Great new!!

could you add support for BSA archives with full path in the ini file? (allowing to place them in different drives).
User avatar
Krista Belle Davis
 
Posts: 3405
Joined: Tue Aug 22, 2006 3:00 am

Post » Wed Dec 09, 2009 2:10 pm

Not sure if this has been figured out, but I think the different between the two result scripts in INFO records is execute time -- the first script executes right when the player selects that dialogue option, the second executes after the NPC has finished speaking their lines. This is totally speculation just by looking at the follower result scripts :P.

edit: also, there appears to be another option/flag for the Response Text field in the DIAL->DATA subrecord. I'm seeing the value 2 in places in the .esm, which shows up as unknown in F3Edit.
User avatar
Marina Leigh
 
Posts: 3339
Joined: Wed Jun 21, 2006 7:59 pm

Post » Wed Dec 09, 2009 7:06 pm

Not sure if this has been figured out, but I think the different between the two result scripts in INFO records is execute time -- the first script executes right when the player selects that dialogue option, the second executes after the NPC has finished speaking their lines. This is totally speculation just by looking at the follower result scripts :P.

Well, once the CS is out I guess it's going to be easy to find out and then properly label it.

edit: also, there appears to be another option/flag for the Response Text field in the DIAL->DATA subrecord. I'm seeing the value 2 in places in the .esm, which shows up as unknown in F3Edit.

I know. I just don't know what that flag does. Till I do it's naturally labeled as "Unknown"...
User avatar
Gavin Roberts
 
Posts: 3335
Joined: Fri Jun 08, 2007 8:14 pm

PreviousNext

Return to Fallout 3