SaveScum / skyrim-plugin-decoding-project

Automatically exported from code.google.com/p/skyrim-plugin-decoding-project
0 stars 0 forks source link

FNVEdit is unable to properly copy Race records with head data missing model file #178

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Download main file from http://www.nexusmods.com/newvegas/mods/54731
2. Extract the Roberts_NewVegas.esp into FNV\Data. Make a copy as 
Roberts_NewVegas1.esp in the same directory.
3. Open FNVEdit, select just the Roberts_NewVegas.esp && Roberts_NewVegas1.esp
4. From Roberts_NewVegas.esp, delete FormID 0000424A (an ITM).
5. From Roberts_NewVegas1.esp copy as override back into Roberts_NewVegas.esp 
the above deleted form. 
6. Observe the conflict in
Head Data/Male Head Data/Parts/Part/Ears
Head Data/Female Head Data/Parts/Part/Ears
7. Close FNVedit and repeat step 3.
8. Observe FormID 0000424A still has a conflict.

What is the expected output?
No conflict 

What do you see instead?
A conflict :)

What version of the product are you using? On what operating system?
r1859

Please provide any additional information below.
The conflict seems to be generated by some empty data into the model field, but 
FNVEdit does not allow me to delete it. Moreover, copying (Drag & Drop) from 
the model field from FalloutNV.esm or Roberts_NewVegas1.esp does not fix any of 
the 2 conflicts. FNVEdit seems to be certain that there should be empty data 
there, thus flagging as conflict.

Here is the last lines from the log
[00:00] Background Loader: loading "Roberts_NewVegas.esp"...
[00:00] Background Loader: [Roberts_NewVegas.esp] Loading file
[00:00] Background Loader: [Roberts_NewVegas.esp] File loaded
[00:00] Background Loader: [Roberts_NewVegas.esp] Start processing
[00:00] Background Loader: [Roberts_NewVegas.esp] Adding master "FalloutNV.esm"
[00:00] Background Loader: [Roberts_NewVegas.esp] Header processed. Expecting 
12 records
[00:00] Background Loader: [Roberts_NewVegas.esp] GRUP Top "RACE" processed
[00:00] Background Loader: [Roberts_NewVegas.esp] GRUP Top "ARMO" processed
[00:00] Background Loader: [Roberts_NewVegas.esp] Building FormID index
[00:00] Background Loader: [Roberts_NewVegas.esp] FormID index built
[00:00] Background Loader: [Roberts_NewVegas.esp] Building EditorID index
[00:00] Background Loader: [Roberts_NewVegas.esp] EditorID index built
[00:00] Background Loader: [Roberts_NewVegas.esp] Processing completed
[00:00] Background Loader: loading "Roberts_NewVegas1.esp"...
[00:00] Background Loader: [Roberts_NewVegas1.esp] Loading file
[00:00] Background Loader: [Roberts_NewVegas1.esp] File loaded
[00:00] Background Loader: [Roberts_NewVegas1.esp] Start processing
[00:00] Background Loader: [Roberts_NewVegas1.esp] Adding master "FalloutNV.esm"
[00:00] Background Loader: [Roberts_NewVegas1.esp] Header processed. Expecting 
13 records
[00:00] Background Loader: [Roberts_NewVegas1.esp] GRUP Top "RACE" processed
[00:00] Background Loader: [Roberts_NewVegas1.esp] GRUP Top "ARMO" processed
[00:00] Background Loader: [Roberts_NewVegas1.esp] Building FormID index
[00:00] Background Loader: [Roberts_NewVegas1.esp] FormID index built
[00:00] Background Loader: [Roberts_NewVegas1.esp] Building EditorID index
[00:00] Background Loader: [Roberts_NewVegas1.esp] EditorID index built
[00:00] Background Loader: [Roberts_NewVegas1.esp] Processing completed
[00:00] Background Loader: [Roberts_NewVegas.esp] Building reference info.
[00:00] Background Loader: [Roberts_NewVegas1.esp] Building reference info.
[00:00] Background Loader: finished
[00:02] Copying AfricanAmerican "African American" [RACE:0000424A]
[00:02] Copying done.

Original issue reported on code.google.com by clampa...@gmail.com on 12 Dec 2014 at 9:18

Attachments:

GoogleCodeExporter commented 9 years ago
This is because the Model part is marked as required in FNVEdit, so it created 
an empty one when copying.
Actually why there is no model for ears part? Is it intended or an error in 
master file? Does GECK allow creating a head part without model?
Those RACE definitions were originally taken from Oblivion where all head parts 
have models, I don't have a clue how it works in fallouts.

Btw you don't need roberts plugin, simply copying as override AfricanAmerican 
"African American" [RACE:0000424A] from FalloutNV.esm into a new plugin creates 
an empty model.

Original comment by zila...@gmail.com on 13 Dec 2014 at 10:42

GoogleCodeExporter commented 9 years ago
It matters less what GECK allows it to do, in my opinion FNVEdit should be more 
of "what the game engine is capable of". There are lots of stuff GECK forbids 
the user to do (without powerup) but game engine handles quite well. If the 
master FalloutNV.esm support it, FNVEdit should support either.

I am as clueless as you in regard to RACE records, but, given that they are as 
such in the master, and work, my opinion is that FNVEdit should support it too. 
At least from copy perspective. Should also provide the option to delete the 
"required" fields...and leave us to glue the pieces together if something 
breaks. Maybe provide a warning, but let the user persist in wrongdoing if that 
is what he wants :)

I used Roberts as example as this is how I found out about the issue. Without 
it it would not be a conflict but an override winner.

Original comment by clampa...@gmail.com on 13 Dec 2014 at 7:14

GoogleCodeExporter commented 9 years ago
Absolutely not. Anything identified as required cannot be deleted. Debating 
whether or not the requirement is valid is ok.

As for allowing the user to pursue, there are already far too many people doing 
things they don't understand with the tool to remove what little safeguard were 
built in by Elminster.

Original comment by HuguesLe...@gmail.com on 15 Dec 2014 at 12:44

GoogleCodeExporter commented 9 years ago
Well, the "required" part is debatable. As this defect shows, the "required" 
part is not quite up2date. Stuff that was required in a game engine may not be 
required in the next engine. As definitions are heavily inherited from one 
TesXEdit engine-version to another, having requirements relaxed for power users 
would allow them accomplish their tasks, without waiting for a definition 
update that may take considerable time, given that everyone that contributes to 
the project have lives and contribute in their spare time. It can also be 
enabled the same manner as mod-index clamping feature, for the knowledgeable 
users, that are not afraid to keep the pieces if *they* break something.
I can summarize the above as in 2 behaviors, targeted at the "user" knowledge 
about the game engine:
- have the safety checks on by default, for most of the users.
- allow power users to bypass the checks in order to explore/test/discover 
stuff that TesXEdit developers have not yet written in code. They will do it 
will full knowledge that it may break something.

Original comment by clampa...@gmail.com on 15 Dec 2014 at 6:48

GoogleCodeExporter commented 9 years ago
And I totally disagree. As I said if something is not required ask for it to be 
changed. But I won't allow for the possibilities to remove all safeties because 
you think you know better than everybody what can and cannot be done.

Original comment by HuguesLe...@gmail.com on 15 Dec 2014 at 7:00

GoogleCodeExporter commented 9 years ago
As for the original issue, races in Fallout 3 and Fallout NV cannot have ears 
models! 

Original comment by HuguesLe...@gmail.com on 15 Dec 2014 at 11:21

GoogleCodeExporter commented 9 years ago
Corrected as part of r1862

Original comment by HuguesLe...@gmail.com on 15 Dec 2014 at 11:54

GoogleCodeExporter commented 9 years ago
Updated solution in r1863.
On existing mods, loading in GECK and saving will clean the issue.

Original comment by HuguesLe...@gmail.com on 18 Dec 2014 at 10:23

GoogleCodeExporter commented 9 years ago
I have encountered the same issue, this time in WEAP/Model/MODL. FormID 
0000432B exhibits the same behavior.

Original comment by clampa...@gmail.com on 19 Dec 2014 at 8:12

GoogleCodeExporter commented 9 years ago
Always adding the first element to a structure is something that Elminster did 
on purpose. I don't know why, so I will leave it like that as it is a purely 
cosmetic issue. Loading and saving in GECK will clear the field.

Original comment by HuguesLe...@gmail.com on 19 Dec 2014 at 10:50