jjz-

Sins Editor v1.0.2

Sins Editor v1.0.2

Easy editing of entity files!

http://sinseditor.blacklotushq.com/Releases/SinsEditor102.rar

 

Download link: http://sinseditor.blacklotushq.com/Releases/SinsEditor102.rar

 

Thank you for using Sins Editor. This program is intended to assist with the editing of entity files.

 

As of v1.0.2, Sins Editor provides the following features:

 

  • Opening of one or more entity.
  • Create a new empty entity.
  • Drag and drop one or more entity files directly into the SinsEditor.exe or Sins Editor GUI and they will be automatically converted (if in binary format) and opened.
  • Save a file as either text or binary.
  • Save a file with a new name as either text or binary.
  • Save all files as their default format.

 

Basic editing operations catering to the entity and constants file structure. These operations include:

  • Cut, Copy, Paste, Delete one or more lines in the editor.
  • Insert a new blank line.
  • Edit a line.
  • Undo/Redo an unlimited number of actions.

 

Advantages over basic text editors:

 

  • Automatic conversion between text/binary.
  • Automatic completion of entries and their associated values.
  • Line numbers.
  • Tree structure, providing a more intuitive way to edit an entity file. You can hide structures you do not need to edit, thus reducing search time.
  • Manage multiple files at once. The entire entity file content of Sins of a Solar Empire can be loaded in 6-10 seconds depending on the processor speed and memory speed of the computer. Although, I do not suggest trying to mess with nearly 900 files at once.
  • Extreme usability. Whether you use keyboard shortcuts, drag/drop, or menus, nearly any action can be achieved through the use of 2 out of the 3. You can also preview a line by putting the mouse cursor over it and holding down space.
  • Speed: Using the most up to date functions provided by the newest version of the .NET framework and sporting only datastructures that are instant access, editing files of any size and in any number is instant.
  • Safety: Accidently tabbing one too many times or forgetting to insert a space will not happen with Sins Editor.
  • Small footprint: Due to its specific target, many unneeded editing features can be cut out and thus a the editor has only a ~1.5 MB install footprint.
  • Extras programs: Tools not provided by standard text editors such as ConvertData GUI and ConvertXSI GUI by Zanyth0x42 can be automatically launched from Sins Editor. Also, my own definition file editor.

 

Future release v1.1.0 promises the following features:

 

  • The editor will automatically discover abilities and buffs and add them to an auto complete list for easier editing.
  • The editor will allow you to refresh the current file or all files from the hard disk.
  • The editor will allow you to find and replace entries, values, or both.
  • The editor will allow you to use basic file templates. You can use the provided ones as well as add your own.
  • *The editor will provide a major feature upgrade, which will be disclosed when release is closer.


 

291,379 views 102 replies
Reply #26 Top

ouch nice to see the bug got squashed (the more serious one you found i hope)

the one i found is just a nuisance bug

take your time

and for heavens sake dont drive yourself crazy

took me a whole month to figure out how to hack a game i played years ago that had a sneaky way of keeping you from hacking, about halfway thru i wanted to shoot the people who did the protection setup (i won in the end thats all that matters)

Reply #27 Top

i won in the end

By shooting? :P

Reply #28 Top

HAHA NOPE

i figured it out they used a decreasing -

if you bought 1 it would drop a number 1 then they made it ascii

old game as i said

Reply #29 Top

The one you discovered as well as the "critical issue" were both fixed.

 

I missed an easy way to save the states. So, I think it will be fine. If I make each line an object that contains the state (collapsed/expanded, of course if it has no children, it is collapsed as well), I can restore the way the tree looks easily enough. It will take a bit (maybe 30 minutes or even more, since i have to change a reasonable amount of code. If it does, I will do more tomorrow on it). I am both angry that I forgot such a simple solution and relieved that such a simple solutioin exists. The point is, if all goes well, the program UI  behavior should be just fine.

-Ian

Reply #30 Top

cool was hopeing it was an easy fix seemed too me it didnt close the stuff you had open before

easy work around is JUST DONT OPEN THE SAME FILE twice in a row LOL :X

Reply #31 Top

Heh, yes, it was an easy fix.

I keep two copies of my file objects, mFiles and mOldFiles.

mFiles is the one that is kept up to date any time the file is modified, where as mOldFiles is only updated when the file is saved or first loaded. This is how I detect whether or not a file has been modified and needs to be saved.

On the Close All command, I did mFiles.Clear() but not mOldFiles.Clear(). So, when it tried to readd the files to mOldFiles on load, mOldFiles contained that file already, and would throw an exception. The fix was extremely simple. Just add mOldFiles->Clear(). A one-line fix.

This does not happen on the close command, since I use a different method, which was working properly.

 

Reply #32 Top

I have a cold now, so I am relaxing. Well, I always relax anyway. Point is, I haven't done any work on the project today :P. Maybe I will tomorrow. But, as I said, since I understand an easy way to fix the one thing I didn't like now, the version delivered will be well polished.

Just wait a few days for me to feel better and do some work on it :).

I am very sorry that I set a release time and then made folks wait a long time.

-Ian

Reply #33 Top

Not like you're getting paid for it, so the only deadline is whenever you feel like it.

Either that, or I want off.  :(O

 

Yeah, but that's just you being clumsy with your tail.
Crash it. Not crash into it.

 

Much too tired to be posting lucidly:

:fox:

Reply #34 Top

hope you feel better

take your time

i have a birthday today so im not gonna be doing much but fun stuff! :rofl:

Reply #35 Top

 

Well, since my boss forced me to come in to work today despite me being ill, I am going to get my revenge by doing jack shit the entire day. So, since I am doing nothing, I might as well write up a readme here for you to read and me to copy/paste into a document later and use it as the real readme, thus saving time.

 


 

Thank you for using Sins Editor. This program is intended to assist with the editing of entity files, and will allow you to edit the constants file as well. 

 

As of v1.0.1, Sins Editor provides the following features:

 

  • Opening of one or more entity or constants files.
  • Create a new empty entity or constants file.
  • Drag and drop one or more entity or constants files directly into the SinsEditor.exe or Sins Editor GUI and they will be automatically converted (if in binary format) and opened.
  • Save a file as either text or binary.
  • Save a file with a new name as either text or binary.
  • Save all files as their default format.

 

Basic editing operations catering to the entity and constants file structure. These operations include:

  • Cut, Copy, Paste, Delete one or more lines in the editor.
  • Insert a new blank line.
  • Edit a line.
  • Undo/Redo an unlimited number of actions.

 

Advantages over basic text editors:

 

  • Automatic conversion between text/binary.
  • Line numbers.
  • Tree structure, providing a more intuitive way to edit an entity file. You can hide structures you do not need to edit, thus reducing search time.
  • Manage multiple files at once. The entire entity file content of Sins of a Solar Empire can be loaded in 6-10 seconds depending on the processor speed and memory speed of the computer. Although, I do not suggest trying to mess with nearly 900 files at once.
  • Extreme usability. Whether you use keyboard shortcuts, drag/drop, or menus, nearly any action can be achieved through the use of 2 out of the 3.
  • Speed: Using the most up to date functions provided by the newest version of the .NET framework and sporting only datastructures that are instant access, editing files of any size and in any number is instant.
  • Safety: Accidently tabbing one too many times or forgetting to insert a space will not happen with Sins Editor.
  • Small footprint: Due to its specific target, many unneeded editing features can be cut out and thus a the editor has only a ~1.5 MB install footprint.
  • Extras programs: Tools not provided by standard text editors such as ConvertData GUI and ConvertXSI GUI by Zanyth0x42 can be automatically launched from Sins Editor.

 

Future release v1.1.0 promises the following features:

 

  • The editor will automatically discover abilities and buffs and add them to an auto complete list for easier editing.
  • The editor will allow you to refresh the current file or all files from the hard disk.
  • The editor will allow you to find and replace entries, values, or both.
  • The editor will allow you to use basic file templates. You can use the provided ones as well as add your own.
  • *The editor will provide a major feature upgrade, which will be disclosed when release is closer.

 

 

Reply #36 Top

Well, since my boss forced me to come in to work today despite me being ill, I am going to get my revenge by doing jack shit the entire day.
Hah! Now that's the spirit! :beer:

You do the helpful info very well. You should make a new career out of it.

 

:fox:

Reply #38 Top

just make sure you spread the cold around at work

Reply #39 Top

Nah, it is only the boss's fault. There is no reason for me to give it to a bunch of people who have nothing to do with the issue.

Reply #40 Top

i know there is an issue but can you download it anyways if so where cause im not finding it. im trying to make a mod and having issues with conversion and thought this might help but nothing else has

Reply #41 Top

which version of the game code will it work for? and should we wait to 1.01 before getting it or is it usable now?

Reply #42 Top

Hmm... technically, it is usable and it will allow modding; however, I don't want to release the download link for v1.0.0 and deal with bug reports of things I already fixed.

There are quite a few improvements in v1.0.1, so it is better to wait for it to be released.

It should be a day or two.

So khill9981 and dchan1936, give it a day or two. ;).

Reply #43 Top

its ok im still trying to get around the lack of scripting for what im trying to do

Reply #44 Top

Here it is.  v1.0.1
It can parse constants files; however, I have disabled that.

The reason being: The hybrid treeview/listview custom control I use, while being very useful in some areas, is also poor in others. Mainly it has a bad insertion algorithm, and it seems to have serious problems handling large views.

The constant file loads and is parsed correctly and can be displayed by the program; however, if I try to scroll, the program does not like that.

The exception it throws is at the highest level, and thus even if I catch it, I cannot prevent program termination. When working with data that requires saving, having a program unexpectedly terminate is not an option.

Until I move to a new control, I will have to disable parsing anything besides entity files.

 

You can also only insert upwards; however, I plan to change that in v1.1.0. It is not a big issue.

 

Enjoy, and please report any bugs to me; however, if they are not program-breaking, do not expect a fix until v1.1.0.

As for v1.1.0, I have no ETA. I don't work on this program much, and I have a lot of things I want to add as well as a few things I want to fix. I will not release v1.1.0 until what I want to do is done. This could be anywhere from a few weeks to over a month. It depends on how much time / week I put into the project. So far, it has been only about 1 1/2 - 2 hours per week.

Have fun!

Give opinions!

 

Download: http://sinseditor.blacklotushq.com/Releases/SinsEditor101.rar

-Ian

Reply #45 Top

Hi, I have a favor to ask of anyone willing to do this.

 

For v1.1.0, I want to have a list of valid values for each type definition in an entity file (eg: entityType "Ability";"Buff";"Ship", etc). Obviously number values are not taken into account. To do this requires a lot of looking up valid values and whatnot, which will greatly increase the time it takes for me to get v1.1.0 out.

What I would like from someone (or multiple people), is a list of all valid values for each entity definition in the exact format (I will make up defintions, since I don't know the real ones)


 

entityType "Ability","Buff","Ship"
buffInstantActionType "ApplyBuffToTarget","ApplyBuffToSelf"
instantActionTriggerType "AlwaysPerform","PerformOnEvent"
buffType "BuffAbilityGuidance","BuffAbilityDestruction"

....


 

I would like  the list to be in a file called "values.def"

This would allow me to easily load up the values and have them appear appropriately in the UI.

It would also allow for new values to be added at any time.

If someone can take the time to do this while I work on the other features, I would be extremely greatful and I would most certainly mention you as a contributor.

 

Thank you,

-Ian

 

Reply #46 Top

well most of these are already listed in the sticky at the top of the moding page. "modifyer list" or something like that. altho not in the order you want them and not complete to the point where you want it,

Reply #47 Top

Suppose I'll do it just as soon as I have some spare time. Not really sure if any were added for Entrenchment, however.

 

:fox:

Reply #49 Top

StCobalt, yes, I know; however, I do not want to spend the time compiling a list when that time can be spent adding new features. I don't have much time, so when I do get time, I want to be productive. Having others who don't have access to the source or don't know how to code help out with things like this, while I continue to add features, is extremely productive and allows for a much faster release of the program. 

KitKun, since I can add things dynamically to the complete list, it will be easy to patch it for entrenchment. No worries. I would appreciate your help a lot.

 

ProgressBar, are the enum classes the exact name of the entry in an entity file? Also, are the values which are bound in xml the same ones in the entity files? For example: 

 

[XmlEnum("0")]

    AllOnDelayInstantActionsDone = 0,

 

...

You bind AllOnDelayInstantActionsDone to 0, is AllOnDelayInstantActionsDone the exact name I will see in the entity files?

FinishConditionType "AllOnDelayInstantActionsDone" 

If so, yeah, these files would be helpful, and I can convert them into my list and send it to kitkun so she does not have to do much work at all.

If not, I do not think I can use it; however, I will comment that the way you have it set up is very nice! :)

 

-Ian

Reply #50 Top

The name of all my enum values is exactly as it appears (minus quote marks) in the entities.

The XmlEnum value is just what I use to serialize classes to save space.

And the int value assigned (i.e. AllOnDelayInstantActionsDone = 0) is arbitrary... really just either alphabetically ordered or just the order I discovered the value in.