Jump to content

R&D - New Modding Tools


Amineri

Recommended Posts

Can you add "copy modfile name" item to context menu (right-click)? And if possible also add "Search for this file in project tree" item?

Which context menu are you talking about? From within the editor? We currently don't have a context menu there. If you're talking about the context menu inside the project tree, reworking the modfile rename functionality a bit could serve the purpose of getting the file name to the clipboard. 'Search for this File' doesn't make much sense to me though in that context :confused:

 

And a question: will search functionality find all the files with the specified name? Will there be something like "find"/"find next" functionality? Will it be possible to use wildcards?

Ctrl+F will open a basic search dialog which allows to repeatedly search for a string to find all occurrences. There's no wildcard searching though and a major limitation is that the search functionality only extends to the currently expanded nodes, i.e. there's no deep searching the tree.
Link to comment
Share on other sites

  • Replies 211
  • Created
  • Last Reply

Top Posters In This Topic

XMarksTheSpot, yes, I was talking about project tree context menu. As for "Search for this File" I explained it earlier: it will help to apply patches to already existing modfiles. But, I guess I can just change my habits and adapt to new functionality. :smile:

 

Can you do something to auto-expand all nodes? It's a severe limitation as, for example, I have three levels of depth in the project tree.

Link to comment
Share on other sites

Did some initial testing on new v0.90 UPKmodder, so I'm going to release it into the wild. I decided to bump the revision number to 0.9 to reflect the under-the-hood changes we made to improve responsiveness.

 

New features :

  • Added Search capability to both project pane and modfile editors (use Ctrl-F -- sorry, no menu option yet)
  • Optimizations to improve performance with large modfiles
  • Optimized restyling code
  • Restyling now takes place on background thread so as to not interrupt typing
  • Restyling now occurs for entire document with any edit, so all jump offset styling will be updated
  • Jump offsets new coloring: Green for valid jump down, Lilac for valid jump up, Orange for invalid jump (including jump to own line)
  • Fixed jump offset styling bug that was allowing memory locations in other section as valid
  • Added expand all/collapse all buttons to project pane

 

This build has a new jar in the lib folder (( swingx-all-1.6.5-1.jar )) which was used to implement the new search functionality, so make sure that folder is updated.

 

Also, this build has some reasonably significant architectural changes under the hood in order to get the optimizations/threading we wanted. So, the likelihood of new bugs is a little higher than usual, although I haven't seen anything during initial testing.

Link to comment
Share on other sites

I have started using UPK Modder , and I have to say I am impressed with it. That pane on the right that deconstructs the HEx code, so you can see your results immediately is a lot of help.

 

The one thing that drives me nuts with it, and I know this likely not an easy feature, is the lack of any undos. Almost all applications have it now, and is a feature I usually rely on. ANnyway this is just a comment, not something I am asking to change.

 

I did have a question in regards to the function headers, where I cannot find any documentation on. I know the last 4 bytes is the function size, and the 4 bytes before that is the memory size. But what I am not sure of, when you increase the size of the function, what these values are supposed to change to. I have trouble getting those to work right. (I am getting an 'unable to read past the end of the stream' error right now. ) I take it is more complicated then the original function values + the number of bytes that the function is resized by.

Link to comment
Share on other sites

I did have a question in regards to the function headers, where I cannot find any documentation on. I know the last 4 bytes is the function size, and the 4 bytes before that is the memory size. But what I am not sure of, when you increase the size of the function, what these values are supposed to change to. I have trouble getting those to work right. (I am getting an 'unable to read past the end of the stream' error right now. ) I take it is more complicated then the original function values + the number of bytes that the function is resized by.

If you're doing a resize operation the new function change is simply the old function change plus resize value (i.e. the total number of bytes changes).

 

Even if you do no resizing the memory size may change and you can use the memory offset display of the editor pane to get the correct values for that. Basically if you have the complete function body in a before/after block and the end-of-script (EOS) token is singled out as the last line the memory size of the function is the memory position of the EOS token plus 1, like so:

 

Edited by XMarksTheSpot
Link to comment
Share on other sites

Posted a hotfix for v0.91 with the following changes :

 

  • Fixed issue where hex would sometimes have "ERROR" appended to the end by
    UPKmodder
  • Fixed issue where invalid hex was not being marked correctly (red with
    strikethrough)

 

Regarding Undo ... we all agree that it would be handy. The new JXEditorPane extension that X recently incorporated has better built-in support for Undo/Redo operations, but it was simple enough to warrant delaying releasing 0.9.

Link to comment
Share on other sites

Thanks for your answer X. It helped a lot. Now I understand what all those numbers mean. Those header values are easy now.

 

One mistake that was really annoying me, and was causing half the functions in UE explorer to be high lighted in red, was I meant the function byte size to be C2 01 00 00, but I had C2 10 00 00. It all looked right, and when I finally realized that the 10 was backwards, I felt like hitting my head against the wall a few times. Annoying rookie mistake.

Link to comment
Share on other sites

Another hotfix for the 0.91 hotfix, which had some errors in the hex parser that could result in an infinite loop for certain combinations of hex (the hex parsing is recursive, so this has always been a danger, and I finally broke it!).

 

This also fixes some long-standing issues in which incomplete hex lines would sometimes be styled as if they were valid hex.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...