Welcome
Ladies and Gents:

These forums are now closed and registration disabled.

Please join us at our new forum on Proboards. Our hope is that these new forums are more stable, provide more and better features, and allow continuation of the project forums in a safer, more secure, long term environment.

me3explorer.proboards.com

--The ME3Explorer Team

Sir | Interpreter Overhaul

Development board for ME3Explorer tools. Please try to keep discussions for each tool inside its own thread.

Sir | Interpreter Overhaul

Postby SirCxyrtyx » 24 Apr 2016, 19:07

I'm going to make a bold claim here and say that as of 2.0.1, the (ME3) Interpreter displays everything correctly, and it's all editable.

Display

The array view dropdown is gone, because you no longer have to guess. The Interpreter now knows. Expand an array of names and you'll see the elements displayed as names. Expand an array of imports/exports, and they'll be displayed as imports/exports, expand an array of strings and, well, you get the idea.
Image

Some StructProperties used to display as an array of integers, because they are more heavily serialized than others. Vectors, Rotators, and Colors are like this, and the stable already had handling for those. Now that has been extended to all structs of this type. Vector2d, Matrix, Box, Quat, Plane, CoverSlot, and more.

ByteProperties are most commonly an Enum reference, but sometimes, they're just a single byte. When this is the case, they will now display as such.

NameProperties now display the second part of a namereference, which is some kind of index.

Editing

Integer, Float, StringRef, and String editing is unchanged.

Bools are now set via a dropdown that has two options, True and False.

ByteProperties that are Enum references are now set via a dropdown that shows all possible values for that enum.
Image

ByteProperties that are bytes are set just like integers, but since they are a single byte, can only be an integer 0-255

ObjectProperties are still set by typing in the unreal index, but now there is a label next to the textbox that shows the name of the object as you type the number in.
Image

NameProperties are now set by just typing in the name, as well is inputting the namereference index thing in a seperate box (for most cases this will just be the default 0). The name entry textbox will make suggestions from the namelist as you type. You can even type in a new name, and it will add it to the name list for you.
Image

Array editing is simple now. Select any element, even a struct element, and you can delete it. Select the ArrayProperty itself, and you can add an element. And since the Interpreter knows everything now, it will add the right kind of element, even if the array is empty. It can even add elements to an array of structs, with the properties set to default values. And of course, every array element is editable.

And last but most certainly not least, when you change a property, the interpreter doesn't reload the whole tree and set it back to its default view. (Well, actually it does reload the tree, but it looks like it doesn't and that's what matters) This is a huge time saver if you're changing multiple properties nested in structs and arrays.

SirCxyrtyx has been thanked by:
User avatar
SirCxyrtyx
Toolset Lead
 
Posts: 345
Joined: 16 Apr 2014, 00:20
Has thanked: 28 time
Have thanks: 288 time

Re: Interpreter editing Overhaul

Postby giftfish » 24 Apr 2016, 19:40

Holy ****, we can add stuff without hex editing now? Without having to adjust the length and count manually (and inevitably feck it up) for long, complex arrays??

/mind blown
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: Interpreter editing Overhaul

Postby giftfish » 24 Apr 2016, 19:44

Oh, oh, question!

What if I need to add an interpgroup that needs to appear under a specific SFXSceneGroup? In that case, the interpgroup can't just be added to the bottom of the array, b/c then it's in the wrong Scene Group.

...Can the new editor do this??
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: Interpreter editing Overhaul

Postby SirCxyrtyx » 24 Apr 2016, 20:55

No. I don't think so. You'd still have to do that via hex. (Damn, I was sure I had thought of everything :))
User avatar
SirCxyrtyx
Toolset Lead
 
Posts: 345
Joined: 16 Apr 2014, 00:20
Has thanked: 28 time
Have thanks: 288 time

Re: Interpreter editing Overhaul

Postby giftfish » 24 Apr 2016, 21:01

SirCxyrtyx wrote:No. I don't think so. You'd still have to do that via hex. (Damn, I was sure I had thought of everything :))

I'll add it to Git :)
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: Interpreter editing Overhaul

Postby Kinkojiro » 25 Apr 2016, 01:15

This is superb.

- Can I ask does this mean arrays or structs of multiple properties with "none" in between each one you can just clone say the first entry and it will replicate everything?

- Also I mentioned it on Git but wanted to check you saw my comment - there are many redundant byte arrays which should default to "None". Can you make sure this is always in the dropdown pls?
User avatar
Kinkojiro
Modder
 
Posts: 578
Joined: 02 Dec 2013, 04:14
Has thanked: 233 time
Have thanks: 249 time

Re: Interpreter editing Overhaul

Postby SirCxyrtyx » 25 Apr 2016, 01:25

For arrays of structs it doesn't clone anything, it just inserts the default value for that struct. For example, here is a an array of BioTrackKey structs with one element:
Image
Same array after I clicked the "Add Array Element" button:
Image
That would have worked even if the array had been empty.

I'll be sure to add "None" to all the Enum dropdowns.
User avatar
SirCxyrtyx
Toolset Lead
 
Posts: 345
Joined: 16 Apr 2014, 00:20
Has thanked: 28 time
Have thanks: 288 time


Return to ME3Explorer Toolset Development

Who is online

Users browsing this forum: No registered users and 0 guests

suspicion-preferred