I have a set of eclipse and ant based tools for modding with Sins that others may find useful when validating or building their projects.
Current Downloads (older downloads: Downloads)
FAQ
System Requirements
Syntax Wiki - A syntaxual representation of almost all of the Sins editable files.
How To's:How To Install EclipseHow To Setup Entity Validation Eclipse Plugin (Updated for new preference with v0.6)
Video: How to setup and configure the Soase Eclipse Plugin
References:
Mod Development with Eclipse (Forum link providing a general overview of Eclipse)
Eclipse download site (http://eclipse.org/downloads)
Tools Supported:
Entity Editor (Click me for cool stuff about visual Entity Validations)
Eclipse Editor builder/nature extension that provides visual feedback to the following validations.
Entity Definition View - Displays the syntax rules for the currently opened entity file.
Summary of validations currently supported: Boolean: Validates boolean entries contain TRUE or FALSE onlyBrush: Validates a referenced brush entry exists for the value enteredConditional Validation: Allows conditional structures to follow based on a field valueKey word: Validates all entity file key words are spelled correctlyQuotes: Validates any values requiring qoutes have beginning and ending quotation marksInteger: Validates integer entries contain digitsDecimal: Validates decimal entries contain ####.#####Entity References: Validates a referenced entity file exists for the value enteredString Reference: Validates a referenced String entry exists for the value enteredSound Reference: Validates a referenced Sound entry exists for the value enteredEnumeration Validation: Validates an entry confirms to an allowed set of values (i.e. buffInstantActionType)Iteration Validation: Validates repeating elements are correctStructure Validation: Validates entries appear in the correct order in the entity file (configurable to allow unordered structures)Explosion Validation: Validates a referenced explosion entry exists for the value enteredTexture Validation: Validates a referenced texture exists for the value enteredParticle Validation: Validates a referenced effect exists for the value enteredSounddata Validation: Validates sounddata files for correctness including referenced sound filesGalaxyScenarioDef Validation: Validates galaxyScenarioDef files for correctness with 2 pass validationsStringInfo Validation: Validates English.str for correctnessBrushes Validation: Validates brushes files for correctnessGameplay.constants: Validates the Gameplay.constant file for correctnessExplosiondata Validation: Validates sounddata files for correctness including referenced sound filesGalaxy Validation: Validates galaxy files for correctness and performs additional validations on referenced templates and design names.
Content Assistance: [ctrl]+[space bar] on keywords or constants and get suggested completionsSyntax Coloring: change syntax coloring of entity files to suit your preferences (defaults to all black currently)Hover Help: hover over a keyword and get additional details about the value or structureQuick link to wiki syntax
New release with a few fixes and some new validations.
10/12/2010 v0.7.4
Awesome! And no problem Just tried it out and almost all my errors/warnings go away. The errors are some weird ones about hex values, and the warnings are all about brushes I haven't put in yet, so it's working great! Thanks again.
Cool. Yep, I noted that there where two stars with 7 character color codes. I'm assuming they are just typos from the DS mod and should be either 6 character RGB or 8 character RGBA.
There where also a couple of weapon effects that didn't match the weapon type (Missile effects used with Projectile weapons).
Thanks for letting me add your mod to the quality test bed, it helped a lot. Sorry I haven't been more active with the alpha testing, but hopefully this tool makes up for it.
Sorry for the late post here. You may already have this version but I wanted to highlight one of the new project specific features.
Version update to 0.7.7.
12/26/2010 v.0.7.7
11/16/2010 v.0.7.6
11/01/2010 v.0.7.5
Projects can now override some of the workspace settings allowing for multiple version of Sin's projects to be validated in the same workspace.
The Project Properties page can be accessed by right clicking on the project and choosing properties. From their click "Sins Property Page" and choose the level of validations you want for this specific project"
Here is an example of my workspace. Each (E) is setup to override the workspace settings to ensure Entrenchment only validation while the workspace defaults to Diplomacy validation. The Sins Reference Vanilla overrides the workspace settings to set Vanilla level validation.
Awesome tool
Hey ZombieRus5, I have a question about your entity wiki. Is it the latest version of the xml files that you use? The reason I ask is that I have come across some errors in it. All of the conditions in buffInstantActionType have buffType and effectInfo even though only some of the conditions use them.
I can't remember the other errors right now, but I have thought of going through the whole wiki once I am done with it.
I tried isolating these but if I recall correctly it could vary from Ability to Buff usage on buffInstantActionType (could be mistakenly remembering it's been a while). I know I ended up erroring on the side of caution after validating with some other mods and decided to leave it in this way to keep phantom validation errors from occuring.
I'd be interested in your feedback in this area. It took a lot of effort to reverse engineer what I have done, but I know there are areas to improve.
Here is the current set of definitions in xml format.
http://dl.dropbox.com/u/5790092/SinsTools/defenitions.7z
I may regen the wiki, but it would only be a few small things that are out of date.
If I remember right it is only some of the enum values that is different, such as instantActionTriggerType and weaponType, plus i think some buffInstantActionTypes are not useable within the ability (they will create an multi target required error if I remember right).
In my tool all enum "lines" are different instances of the same class instead of xml files (the enum values are txt files though), I have classes for different roles which all inherit the TreeNode Class.
The enum values are added to the required enum lines contextmenues by loading the txt file as "_" + extension + label (the word infront of the enum value, label and extension (optional) is given as input parameters in the constructor) so when the instantActionTriggerType is added it look like this:
Public Overrides Function ToString() As String
Nodes.Clear()
Nodes.Add(New EnumTreeNode("instantActionTriggerType", Tablevel, _extend))
Select Case Split(Text)(1)
Case """ApplyBuffToIncomingHyperSpacers"""
ApplyBuffToIncomingHyperSpacers
...
End Select
Return ""
End Function
My knowledge with xml is very limited so I am not sure if there is an easy way to implement this. The only thing I can think of is to have different xml files for the different enum values and the refer to those where they should be used.
I hope this helped you
That kind of rings a bell. I was considering setting up a different set of conditions for Ability and Buff which would solve that problem, but decided effort + payback was enough at the time.
The dev.exe needs to be used to fill in the gaps regardless.
Here is how you link multiple projects together for validation. In this example the Distant Stars Addon is a bridge mod between Distant Starts and Sins of the Fallen. The project references allows the validation tool to look for references in the three selected mods when validating the addon bridge mod.
Beta update.
So far I see a new aiUseTime for DebrisVacumm that will need to be added to the validation
aiUseTime "OnlyWhenDebrisWithinRange"onlyAutoCastWhenDebrisWithinRange 7000.000000
Another change I will have to add is using requiredShip in the pirateRaidComposition. Previously this was random ships which validated fine.
With Beta 1.2 coming to an end, I'm planning on releasing version 0.8 of my tool. Here's a look of what will be released when I get the last Beta build.
The biggest change is the resource event listener which should help automate the "Full Build" versus the "Incremental Build" process. Now when files are added or removed to a project a "Full Build" will occur where previously the menu option "Project/Clean..." had to be selected. Additionally changes to certain reference files like the English.str, *.brushes, *.sounddata, *.explosiondata will now trigger a full build for the project.
Eclipse Plugin: 3/10/2011 v.0.8.0
* Edited to reflect latest Beta 1.2 changes
Eclipse Plugin: 3/10/2011 v.0.8.1
Appears only two people downloaded the previous version. Please download v.0.8.1 if you have v.0.8.0 to fix an issue with the auto full build logic.
Thanks, Zmb5
Great tutorial video Z. Should put it in the OP. Or use my weebly template and I will post the page there 4 you as well.
I had a link up their to the video, but I posted the video too. Working on a Galaxy version of the tool for custom map makers now.
Version announcement for custom map makers.
Version 0.8.2 now supports validations of custom galaxy files including validations of any references from the GalaxyScenarioDef or embedded templates in the galaxy file itself.
Please post here if you have any issues or questions.
Eclipse Plugin: 3/11/2001 v.0.8.2
So I just stumbled upon this post in my quest to learn how to do some modding. Looks extremely helpful but on your page it states "Binary/Tex Conversion (not supported yet!)". When will that be coming? That has a been a majorly confusing part of figuring out how modding works, how do I convert from Bin to Text and back again? Any reference links you could provide or have I just missed them in the forums?
how to with simple .bat file conversion files http://soase.weebly.com/convertdata.html
http://soase.weebly.com/modding-tools.html has links to reference files and harpos converter. There is another converter if someone has the link. Its not on the Weebly yet.
Thanks myFist0
One question. I notice that the GameInfo folder for Diplomacy only has 290 files. Since original has something like 480, does that mean that is is cummulative with the entity files? So if there is a file in Diplomacy that is newer than in Entrenchment/Original then the Diplomacy one is the one that is loaded.
So for instance... AbilityAdaptiveShield.entity exists in both Original and in Entrenchment but it does not exist in Diplomacy. So if I was making a Diplomacy mod but wanted to edit the AbilityAdaptiveShield values I would also need to convert it from the Entrenchment GameInfo into my mod? If so, does it matter if the end product mod has both Diplomacy and Entrenchment entity files in it?
yes diplomacy USES both entrenchment AND vanilla sins files with only four entity files not used from vanilla in both entrenchment AND diplomacy,
and the four entity files from vanilla sins that CAUSE minidumps in both entrenchment AND diplomacy ARE
AbilityAntiMatterRestore.entityAbilityEvasiveManeuvers.entityBuffAntiMatterRestore.entityBuffEvasiveManeuvers.entity
and as diplomacy is riding on top of entrenchment AND vanilla, that is why it has the fewest files, but includes all the content.
and for a custom diplomacy mod with changes to files from either entrenchment or vanilla sins then get the file from entrenchment first and as a last resort from vanilla sins
harpo
Awesome, thank you very much!
There are many great features available to you once you register, including:
Sign in or Create Account