ZombiesRus5 ZombiesRus5

[Mod Utility] Entity Editor and Validation Tool (Fan made, Supports Rebellion)

[Mod Utility] Entity Editor and Validation Tool (Fan made, Supports Rebellion)

http://code.google.com/p/soaseplugin/

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 Eclipse

How 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 only
Brush: Validates a referenced brush entry exists for the value entered
Conditional Validation: Allows conditional structures to follow based on a field value
Key word: Validates all entity file key words are spelled correctly
Quotes: Validates any values requiring qoutes have beginning and ending quotation marks
Integer: Validates integer entries contain digits
Decimal: Validates decimal entries contain ####.#####
Entity References: Validates a referenced entity file exists for the value entered
String Reference: Validates a referenced String entry exists for the value entered
Sound Reference: Validates a referenced Sound entry exists for the value entered
Enumeration Validation: Validates an entry confirms to an allowed set of values (i.e. buffInstantActionType)
Iteration Validation: Validates repeating elements are correct
Structure 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 entered
Texture Validation: Validates a referenced texture exists for the value entered
Particle Validation: Validates a referenced effect exists for the value entered
Sounddata Validation: Validates sounddata files for correctness including referenced sound files
GalaxyScenarioDef Validation: Validates galaxyScenarioDef files for correctness with 2 pass validations
StringInfo Validation: Validates English.str for correctness
Brushes Validation: Validates brushes files for correctness
Gameplay.constants: Validates the Gameplay.constant file for correctness
Explosiondata Validation: Validates sounddata files for correctness including referenced sound files
Galaxy 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 completions
Syntax 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 structure
Quick link to wiki syntax

1,202,987 views 278 replies | Pinned
Reply #101 Top

New release with a few fixes and some new validations.

10/12/2010 v0.7.4

  1. Defect: WithinSolarSystem should be WithinCurrentSolarSystem
  2. Enhancement: useCostType is Passive but auto-cast is TRUE
  3. Enhancement: Validate weaponEffect weaponType equals Weapon's weaponType
  4. Defect: ResearchSubject Tier validation not working properly for Artifacts
  5. Defect: ApplyForceFromSpawner not validating correctly on force line
  6. Enhancement: Add support for tier level research cost validation (defaulted to off via preferences)
  7. Defect: HEX Color validation currently showing errors on RGB (6 character hex codes), works for RGBA
Reply #102 Top

Quoting ZombiesRus5, reply 100
@kyogre12 Thanks for the great feedback both here and in PM.

I'm working on a new build and have most of it tested out. I will hopefully have version v.0.7.4 posted in the next day or two. This release will exclude Artifacts from the tier level validation as well as adding some new validations I'll list with the release post.

Awesome! And no problem:grin: 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.

Reply #103 Top

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.

Reply #104 Top

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

  1. Defect: NumCriticalHitEffectSoundIDs incorrectly referenced Particle for SoundID
  2. Enhancement: Add support for vanilla only settings
  3. Enhancement: Add support for project property overrides (right click on project in explorer)

11/16/2010 v.0.7.6

  1. Enhancement: Add support for multiple mods
  2. Enhancement: Add version support for conditions
  3. Enhancement: Add version tags to additional constants
  4. Enhancement: Add research subject upgrade time validation support

11/01/2010 v.0.7.5

  1. Enhancement: Add support for constraints on decimals
  2. Enhancement: Add travelSpeed validation when weaponType=Beam
  3. Defect: Add missing FightersPerSquadron? buffEntityModifierType
  4. Defect: Add missing minCount/maxCount in rebellionInfo/requiredShip
Reply #105 Top

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"

Reply #106 Top

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.

Reply #107 Top

Awesome tool  :thumbsup:   k1

 

+1 Loading…
Reply #108 Top

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.

+1 Loading…
Reply #109 Top

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 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.

Reply #110 Top

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 :D

 

 

 

Reply #111 Top

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).

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.

Reply #112 Top

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.

Reply #113 Top

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.

 

Reply #114 Top

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

  1. Enhancement: Updates Wiki to reflect new changes
  2. Enhancement: Adds support for resource event listening which is used to determine when a fullBuild or incrementalBuild is required. This should alleviate a lot of the Project/Clean... manual work when adding/removing and modifying files.
  3. Enhancement: Adds aiUseTime->OnlyWhenDebrisWithinRange? (Beta 1.2)
  4. Enhancement: Adds aiUseTargetCondition->AntimatterExceedsAmount? (Beta 1.2)
  5. Defect: Adds missing FightersPerSquadron? for buffEntityModifierType
  6. Defect: Adds ChaosBolt? to weaponClassForWeaponPassive
  7. Enhancement: Adds defaults for upgrade times
  8. Enhancement: Adds new GameEventSound?:QuestEnded? (Beta 1.2)
  9. Enhancement: Adds new PlayerAITable->BuildMines? (Beta 1.2)
  10. Enhancement: Adds new PlanetData?->minPropagatedCultureRate (Beta 1.2)
  11. Enhancement: Adds new PlanetData?->culturePropagationPerc (Beta 1.2)
  12. Enhancement: Adds new PlanetData?->cultureDecayRate (Beta 1.2)
  13. Enhancement: Adds new pirateRaidDef->raidCost:0-4?(Beta 1.2)
  14. Enhancement: Adds new playerDiplomacyAIDef->tradeBonusRatePerTrip (Beta 1.2)
  15. Enhancement: Adds new playerDiplomacyAIDef->tradeBonusCap (Beta 1.2)
  16. Enhancement: Adds new playerDiplomacyAIDef->tradeBonusDecayRate (Beta 1.2)

* Edited to reflect latest Beta 1.2 changes

Reply #115 Top

Reply #116 Top

Eclipse Plugin: 3/10/2011 v.0.8.1

  1. Defect: Fixes issue with file deletions causing fullBuild to error in some scenarios.

 

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

Reply #117 Top

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.

Reply #118 Top

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.

Reply #119 Top

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.

Thanks, Zmb5

Eclipse Plugin: 3/11/2001 v.0.8.2

  1. Enhancement: Adds support for custom Galaxy files (.galaxy)
  2. Enhancement: Adds support for Explosiondata files
  3. Enhancement: Adds two pass validation for Galaxy and GalaxyScenarioDef files for the following validations.
    1. Galaxy template references
    2. Galaxy orbit body type references
    3. Galaxy design references
Reply #120 Top

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?

Reply #123 Top

Quoting myfist0, reply 121
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.

 

 

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?

Reply #124 Top

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.entity
AbilityEvasiveManeuvers.entity
BuffAntiMatterRestore.entity
BuffEvasiveManeuvers.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

 

Reply #125 Top

Awesome, thank you very much!