Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
Lab Assistant
Original Poster
#1 Old 29th Oct 2014 at 12:36 AM
Default What do you want from a Package Editor?
Hi, I am currently working on a new Package Editor and want some opinions.

The biggest selling point of this new Package Editor is going to be Ease of Use and Mac Support.
In the spirit of Ease of Use the tool will feature the same layout as s4pe, but presented in a cleaner way. I am now looking for suggestions and ideas for what would make such a tool better and more useful for new moddars and experienced modders alike.

Incomplete list of planned features:
Powerful filtering by file type, names etc.
Built in hex and text editor
Specialised editors for binary files
String table editor
Image viewing and exporting

So again, please post suggestions. They can be small details or larger features, I want to know what you want.
Advertisement
Sir Not Appearing In This Film
#2 Old 29th Oct 2014 at 6:25 AM
So, you're really doing this, huh?
Ok, then, here's some ideas:

Search feature, similar to s4pe
FNV generator
Ability to look for an instance or type among several .package files at once
Maybe have the built in hex editor have an option to copy selected bytes backwards, for easy pasting into filter fields
Give the string table editor the ability to save a single string table duplicated several times to accommodate for all language versions

If I think of more, I'll post again.
One horse disagreer of the Apocalypse
#3 Old 29th Oct 2014 at 9:03 AM Last edited by Inge Jones : 29th Oct 2014 at 11:09 AM.
Oh I have another idea - cross-package search for resources with requested resourcekey (including wildcard for type or group) Point it at a folder and it will open all packages in that folder (optional recursing) looking for match of TGI

Oh - I just noticed Snaitf already suggested this! My bad.

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Lab Assistant
#4 Old 29th Oct 2014 at 10:16 AM Last edited by julsfels : 29th Oct 2014 at 9:14 PM.
Quote: Originally posted by Fogity
will feature the same layout as s4pe, but presented in a cleaner way.

May I ask why you want to choose the same layout?

I never created any stuff for the Sims 3, but compared to SimPE for Sims 2, working with s4pe is a pain.
For example to change a MATD, you have to click on the resource, then on the grid button, then expand the information in the new window. To add or delete some of the entries, you have to open a third window.
Many steps that slow down the workflow, when with SimPE a single click on the MATD was enough to find yourself in the Properties Tab, where most of the information could be changed, deleted or added directly.
Of course it´s a new game, I´m sure it´s difficult and I am very thankful for each person who creates tools for the modders; but nevertheless I would be very happy if the workflow could be improved.

Fairy Forest - Downloads for the Sims
Lab Assistant
Original Poster
#5 Old 29th Oct 2014 at 10:34 AM
Ah, so many good ideas, I'll try to get them all in.

julsfels: When I said same layout as s4pe I meant the same layout of the main window. The "but presented in a cleaner way" part might just as well have been "but more like SimPE" . Joking aside, my plan is to have those editors appear in the main window when you select a file, just as in SimPE. So don't worry.
Lab Assistant
#6 Old 29th Oct 2014 at 10:41 AM
Oh, that are good news.
I´m looking forward to it!

Fairy Forest - Downloads for the Sims
Pettifogging Legalist!
retired moderator
#7 Old 29th Oct 2014 at 6:55 PM Last edited by plasticbox : 29th Oct 2014 at 11:27 PM.
What julsfels says has also been my main gripe with s4pe so far -- please, no more modal windows! It is extremely frustrating having to click five buttons and dropdowns to edit a value that you can already clearly see in the preview.

Also, I've always wished for a way to export resources as plain text, do all my editing in a text editor, and import them back in. Stuff like COBJ and OBJD and such, I mean (not IMG of course). Shouldn't it be possible to convert these to, say, XML (when that seems necessary to preserve the semantics)?

* Interactive linking of references would be cool, as well. Such as when there's a field like "DiffuseMap: 0x12784340-467836592-5z48475935604" in an OBJD or wherever, being able to rightclick on that TGI and have a contextual Open / Import / Export / Edit / Update .. menu. Also, contextual menus (instead of those scrolling-intensive dropdowns) would be a lot more ergonomic in general, even just for booleans.

* Auto-highlighting of same values/references within the same file (but that would be unnecessary when one could export as text, since text editors already do that)

* Batch processing (i.e. folder-wide search/replace, in the way of: "in all of the resources in this folder, please replace this value with that" or "append this to that list") -- but, same as above re. exporting to text (why re-invent the wheel?)

* Automatic typecasting for search where applicable (like when I search for Hello World, I shouldn't need to expicitely tell it that I'm not looking for an int)


I kind of like the general idea of modularity (how s4pe has one application and then all those wrappers), even when the way it's currently handled in practice is a bit .. unfortunate. Is this also your plan or do you want to maintain it all by yourself?



Edit, since you are mentioning search in your EA thread -- search/filter within a set of search results would be useful (not sure if that's already possible with what you describe).

And if you do the filtering in a way similar to s4pe, the option of addtional/alternative inputs would be cool. As in, when I filter for 1111111111111111 and see a reference to 2222222222222222 in that, then I'd like to be able to filter for 2222222222222222 *without* losing the 1111111111111111 that is still in the input (kind of like a bookmark). If I could open an additional input line and put my 2222222222222222 search in that, I could keep the first one.


Also, a tooltip or something that resolves the name/description hash in a COBJ. (Not sure if or where else these hashes are used .. would make sense in those places too I would think)

Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.

In the kingdom of the blind, do as the Romans do.
Lab Assistant
Original Poster
#8 Old 29th Oct 2014 at 11:25 PM
Ah, lots of hard and detailed requests and questions. Very good, I like having my ideas about how it should be challenged.

Quote: Originally posted by plasticbox
What julsfels says has also been my main gripe with s4pe so far -- please, no more modal windows! It is extremely frustrating having to click five buttons and dropdowns to edit a value that you can already clearly see in the preview.


Yes, I was thinking combining preview and edit panel, so the editor is readonly until you click a button to edit.

Quote: Originally posted by plasticbox
Also, I've always wished for a way to export resources as plain text, do all my editing in a text editor, and import them back in. Stuff like COBJ and OBJD and such, I mean (not IMG of course). Shouldn't it be possible to convert these to, say, XML (when that seems necessary to preserve the semantics)?


This should be possible, and the way I am currently imagining constructing the api for editors and more it should be something that can implemented without having to add extra code for it in "wrappers". I might ask you again if it is something you still want when you have been able to try out the editor.

Quote: Originally posted by plasticbox
* Interactive linking of references would be cool, as well. Such as when there's a field like "DiffuseMap: 0x12784340-467836592-5z48475935604" in an OBJD or wherever, being able to rightclick on that TGI and have a contextual Open / Import / Export / Edit / Update .. menu. Also, contextual menus (instead of those scrolling-intensive dropdowns) would be a lot more ergonomic in general, even just for booleans.


Hmm, this could be problematic due to the fact that resources often are in many different files, opening a new file is not always a quick process and searching automatically for a resource might be a bit to much. I'll look into this when I have developed the tool further.

Quote: Originally posted by plasticbox
* Auto-highlighting of same values/references within the same file (but that would be unnecessary when one could export as text, since text editors already do that)


This will probably depend on what solution I choose for viewing files, sometimes it's easy sometimes hard.

Quote: Originally posted by plasticbox
* Batch processing (i.e. folder-wide search/replace, in the way of: "in all of the resources in this folder, please replace this value with that" or "append this to that list") -- but, same as above re. exporting to text (why re-invent the wheel?)


As it is a package editor I won't add any functionality that do not work inside or with a package. As the resources in a package file are varied and complex it might be to hard to get this working in a way that feels natural or is useful.

Quote: Originally posted by plasticbox
* Automatic typecasting for search where applicable (like when I search for Hello World, I shouldn't need to expicitely tell it that I'm not looking for an int)


Not sure really what you mean by this or what type of search you are referring to.

Quote: Originally posted by plasticbox
I kind of like the general idea of modularity (how s4pe has one application and then all those wrappers), even when the way it's currently handled in practice is a bit .. unfortunate. Is this also your plan or do you want to maintain it all by yourself?


The current plan is to have "wrappers" and maybe other functionality in modules, just what form and functionality they will have is still not known. But as it is now the package editor has a separate package library just as sXpe has it's sXpi, so this is a bit like the cross-platform variant of sXpe/i (I use a Java version that should be working on XP ). I have a bit of a different philosophy when it comes to the libraries though so it might look very different. I like modularity and openness so hopefully that will way out all controlling tendencies I have .
Pettifogging Legalist!
retired moderator
#9 Old 30th Oct 2014 at 12:02 AM
Quote:
Quote:
Automatic typecasting for search where applicable (like when I search for Hello World, I shouldn't need to expicitely tell it that I'm not looking for an int)

Not sure really what you mean by this or what type of search you are referring to.

I meant the search dropdown currently in s4pe -- you need to explicitely tell it what data type you are searching for (int, hex, string, unicode ..). Which is all kinds of inconvenient since the type is not always obvious to the user, and when it is (like with string vs int) it shouldn't require the user to explain that to the app.

One could still have a little extra option for those cases where it can be ambiguous (say results for 123 as a decimal but not hex). But I guess all of the searching stuff should be grouped together anyway -- is rather unergonomic to have it in two different places -- so maybe that'll take care of that issue as well.


Also, did you see all my edits above? (Just asking since you only replied to the first half of that post)

Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.

In the kingdom of the blind, do as the Romans do.
Lab Assistant
Original Poster
#10 Old 30th Oct 2014 at 12:38 AM
Quote: Originally posted by plasticbox
I meant the search dropdown currently in s4pe -- you need to explicitely tell it what data type you are searching for (int, hex, string, unicode ..). Which is all kinds of inconvenient since the type is not always obvious to the user, and when it is (like with string vs int) it shouldn't require the user to explain that to the app.


Hmm, this is not something I remember, I must look at it when I have access to s4pe.

Quote: Originally posted by plasticbox
One could still have a little extra option for those cases where it can be ambiguous (say results for 123 as a decimal but not hex). But I guess all of the searching stuff should be grouped together anyway -- is rather unergonomic to have it in two different places -- so maybe that'll take care of that issue as well.


Right now I differentiate decimal numbers by being valid numbers, hexadecimal numbers by starting with 0x (and being valid) and else I assume it is text. This sort of system could probably be used more widely.

Quote: Originally posted by plasticbox
Also, did you see all my edits above? (Just asking since you only replied to the first half of that post)


I did not, so here is my response:

Quote: Originally posted by plasticbox
Edit, since you are mentioning search in your EA thread -- search/filter within a set of search results would be useful (not sure if that's already possible with what you describe).


Currently I have a filter functionality similar to that of s4pe (so we are clear what I talk about). The main difference is that my filtering is real time and instantaneous (at least in my testing) so there is no need to worry about preserving results from before as they can easily be filtered again. This makes searching/filtering in those results just a matter of narrowing your search.

Quote: Originally posted by plasticbox
And if you do the filtering in a way similar to s4pe, the option of addtional/alternative inputs would be cool. As in, when I filter for 1111111111111111 and see a reference to 2222222222222222 in that, then I'd like to be able to filter for 2222222222222222 *without* losing the 1111111111111111 that is still in the input (kind of like a bookmark). If I could open an additional input line and put my 2222222222222222 search in that, I could keep the first one.


I just implemented this today, currently you just enter what you want to filter by in a text area for type, group and instance, and you can separate the values with a space. In your example I would write "1111111111111111" first, then I could just append "2222222222222222" so the resulting query would be "1111111111111111 2222222222222222". Tough if these are hex values you have to add "0x" before the number. I also added the feature that if what you write is a string, it will perform the appropriate fnv hash on it to get a number to filter. So you can write "buff trait" in the group area to get all simdata resources that define a buffs or traits. You can construct fairly powerful searches using this system as of now. And I want to stress that I have actually implemented this right now and the results are instant even when filtering in fullbuild0 (I am very happy with the results).

Quote: Originally posted by plasticbox
Also, a tooltip or something that resolves the name/description hash in a COBJ. (Not sure if or where else these hashes are used .. would make sense in those places too I would think)


Not sure what you mean there. If you are talking about reverse engineering the string from a hash, then that is a far to resource intensive action to include in the program.
Pettifogging Legalist!
retired moderator
#11 Old 30th Oct 2014 at 12:44 AM
Quote: Originally posted by Fogity
If you are talking about reverse engineering the string from a hash, then that is a far to resource intensive action to include in the program.


Ah, no, not reverse engineering -- I just meant looking up the hash in the stbl. (I've been doing a bunch of stuff with COBJ lately, and those do not include a name of what they are, but they do include the hash for the localised name/description. So in order to see which file I'm looking at, would be nice to be able to hover over that and get a tooltip "Very Large Rock" or something.)

Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.

In the kingdom of the blind, do as the Romans do.
Lab Assistant
Original Poster
#12 Old 30th Oct 2014 at 1:30 AM
Ah ok, I will see what I can do in that area.
One horse disagreer of the Apocalypse
#13 Old 30th Oct 2014 at 8:48 AM
Fogity, the search and filter tools were completed in s3pe, you can check them out there if you need to.

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Lab Assistant
#14 Old 30th Oct 2014 at 8:03 PM
Cross resource reference please. If I have time to redesign the UI I will add such ability. It needs tons of dirty codes to add it to S4PE, but since you're making a new one I believe it's easy for you to make it.

I do stuff for fun.
Ms. Byte (Deceased)
#15 Old 30th Oct 2014 at 11:06 PM
I'm seconding more support for modularity - ability to easily create and add helper plugins ala Milkshape or Blender. I'm thinking helper tools that can perform a function on one or more resources and or pull the resource into the helper for editing.

Please do not PM me with mod, tutorial, or general modding questions or problems; post them in the thread for the mod or tutorial or post them in the appropriate forum.

Visit my blogs for other Sims content:
Online Sims - general mods for Sims 3
Offline Sims - adult mods for Sims 3 and Sims 4
Lab Assistant
#16 Old 30th Oct 2014 at 11:16 PM
Quote: Originally posted by CmarNYC
I'm seconding more support for modularity - ability to easily create and add helper plugins ala Milkshape or Blender. I'm thinking helper tools that can perform a function on one or more resources and or pull the resource into the helper for editing.


That's exactly what I'm talking about. Glad that we thinks alike :P

I do stuff for fun.
Test Subject
#17 Old 8th Nov 2014 at 10:02 PM
hmmm maybe if you can add some conversion like in Delphy's CTU where you were able to convert age groups and gender groups just by clicking the check mark.
Back to top