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,203,116 views 278 replies | Pinned
Reply #126 Top

Quoting myfist0, reply 121
There is another converter if someone has the link. Its not on the Weebly yet.

There's this one:  https://forums.sinsofasolarempire.com/322559/

I use it in conjunction with Harpo's tools.  Harpo's for the big jobs, Dekhranic's for the single file conversions.

Reply #127 Top

I'm tracking an issue that has been reported and will hopefully come up with a resolution soon.

Issue Synopsis.

The Editor fails to open when attempting to open an external entity file not managed through an Eclipse project. This method involves using the menu File->Open File... option.

Work Around.

The easiest way to work around this issue is to create an Eclipse project to edit or view files. This can be done by creating a project using the external mod folder as the project root location or as a separate project folder outside of the mod directory.

I had not personally run into this issue as the idea of the tool is to validate a mod project as a whole which requires the mod files to be in a managed Eclipse project. Again this project can be externally linked to the mod folder if you choose or a separate project folder.

 

I am troubleshooting the issue currently and will hopefully have a resolution and fix posted soon.

Reply #128 Top

Sorry for blowing the whistle on this issue with my noobish ways.  I just wanted to look at reference data to compare and rip them off.  Reverse engineering is working for me much better than writing all the files from scratch.

+1 Loading…
Reply #129 Top

Sorry for blowing the whistle on this issue with my noobish ways.

Haha, hardly what I would categorize as a whistle blowing situation.

You just didn't use the tool the way I had envisioned or recommended. The idea of an IDE (integrated development environment) is that a majority of the tasks that need to be performed are managed through projects in the tool.

This is why I recommend setting up the reference files as three distinct eclipse projects in addition to you mod project(s).

 

Now that said, I don't think it's reasonable that File->Open File... fails for a non-managed entity. The problem lies in the fact that it's trying to validate the file and fails trying to look up project information necessary to validate said file.

I actually appreciate that you detailed exactly what happened and what the error was. I believe it may be why other individuals have had issues.

 

 

Reply #130 Top

I'm tracking an issue that has been reported and will hopefully come up with a resolution soon.

Issue Synopsis.

The Editor fails to open when attempting to open an external entity file not managed through an Eclipse project. This method involves using the menu File->Open File... option.

Version 0.8.3 fixes the above issue. Thanks to ransomthetoaster for finding and pointing this particular one out.

3/18/2011 v.0.8.3

  1. Defect: Fixes issue opening non-eclipse managed files in the Sins Editor via the File->File Open... menu actions.
  2. Defect: Fixes issue ordering issue of reference files for some validations introduced with version 0.8. For example vanilla brush files are overiding Entrenchment reference brush files. The ordering was introduced to better handle total conversion projects.

 

Note: The files opened that are not part of an eclipse project will NOT have validation or syntax coloring!

Reply #131 Top

Hey, here I am again with another isue in the entity wiki.

The modifierType in ResearchSubject is actually a condition and not an enumeration also the modifierType's  enum values depends on wether it is under Bool or float.

As I just finished adding ResearchSubjects I though I would share the information.

Here is the two enum lists:

(bool)modifierType:

"AllowGalaxyTravel"
"AllowMissionOffers"
"AllowPacts"
"AllowPirateMissions"
"AllowResourceDemandAndGifts"
"AllowWormHoleTravel"
"CultureSpreadIsAlwaysVisible"
"HyperspaceDetectionAnyJumps"
"HyperspaceDetectionOneJump"
"HyperspaceDetectionTwoJumps"
"PlanetIsColonizable"
"PlanetsDetectedByCulture"
"RemoveRacialRelationPenalty"
"UnlockPact"



(float)modifierType:

"AllegianceFromCultureMaxPerc"
"AntimatterCapacityAdjustment"
"AntimatterRegenAdjustment"
"ArmorBaseAdjustment"
"BlackMarketBuyPriceAdjustment"
"BombingDamageAsDamageDealerAdjustment"
"BombingDamageAsDamageTargetAdjustment"
"BombingPopulationKilledPercAsDamageTarget"
"BombingRangeAdjustment"
"BountyBoughtAdjustment"
"BountyCollectedAdjustment"
"CapitalShipAngularThrustAdjustment"
"CapitalShipCultureProtectRateAdjustment"
"CapitalShipMaxSlotLevel"
"CapitalShipMaxSlots"
"CapitalShipMaxTrainableLevel"
"CargoShipCapacityAdjustment"
"CarrierFightersPerSquadAdjustment"
"CreditCostAdjustment"
"CultureAntimatterRegenAmount"
"CultureEnemyBuildRateAdjustment"
"CultureResistPercent"
"CultureShieldMitigationAdjustment"
"CultureSpreadDecayAdjustment"
"CultureSpreadRateAdjustment"
"CultureWeaponDamageAdjustment"
"DerivativeCreditsFromPurchasesPercent"
"DerivativeCreditsFromTradePercent"
"ExperienceAwardedAdjustment"
"ExperienceConstantGainLevelCap"
"ExperienceConstantGainRate"
"ExtractionRateCrystalAdjustment"
"ExtractionRateFromResourceFocus"
"ExtractionRateMetalAdjustment"
"HangarFightersPerSquadAdjustment"
"HullPointsMaxAdjustment"
"HullPointsRegenAdjustment"
"HyperspaceAntimatterCostAdjustment"
"HyperspaceBetweenSystemSpeedAdjustment"
"HyperspaceChargeUpRateAdjustment"
"HyperspaceExitDistanceAdjustment"
"HyperspaceInSystemSpeedAdjustment"
"HyperspaceSpeedPhaseGateAdjustment"
"IncomePercLost"
"MassReduction"
"ModuleBuildRateAdjustment"
"ModuleCostForSimilarTypesAdjustment"
"PirateStrengthAgainstYouAdjustment"
"PlanetHealthRegenRateAdjustment"
"PlanetPopulationCapAdjustment"
"PlanetSlotsCivilianIncrease"
"PlanetSlotsShipsAdjustment"
"PlanetSlotsTacticalIncrease"
"PlanetUpgradeBuildRateAdjustment"
"PlanetUpgradeCostAdjustment"
"PopulationGrowthRateAdjustment"
"PopulationTaxRateAdjustment"
"QuestDeadlineAdjustment"
"QuestFailureHappinessAdjustment"
"QuestRewardHappinessAdjustment"
"RebellionLevel"
"RelationshipBonus"
"ResearchBuildRateAdjustment"
"ResearchCostAdjustment"
"ResourceCostAdjustment"
"SalvageWreckagePercent"
"ScuttleRateAdjustment"
"ScuttleValueAdjustment"
"ShieldMaxMitigationAdjustment"
"ShieldPointsMaxAdjustment"
"ShieldPointsRegenAdjustment"
"ShipBuildRateAdjustment"
"ShipMaxSlotLevel"
"ShipMaxSlots"
"StarBaseArmorAdjustment"
"StarBaseBuildRateAtEnemyOrbitBodyAdjustment"
"StarBaseHullPointsMaxAdjustment"
"StarBaseShieldPointsMaxAdjustment"
"StarBaseShieldPointsRegenAdjustment"
"StarBaseWeaponDamageAdjustment"
"StarBaseWeaponTargetPerBankAdjustment"
"TemporaryRelationshipFromGiveCreditsValueAdjustment"
"TemporaryRelationshipFromGiveCrystalValueAdjustment"
"TemporaryRelationshipFromGiveMetalValueAdjustment"
"TemporaryRelationshipFromGiveResourceMaxAdjustment"
"TradeGoodsValueAdjustment"
"WeaponDamageAdjustment"
"WeaponIgnoresShieldsAdjustment"
"WeaponRangeAdjustment"
"WeaponRateOfFireAdjustment"

Next is the structure of each condition.

This is directly from my code, so the readability might suffer a little.

there is two structures:

float '  linkedPlanetType linkedWeaponClass linkedPlanetUpgradeType

bool ' linkedPlanetType linkedWeaponClass linkedPlanetUpgradeType allianceType pactUnlockEntityDefName

 

float() means that it belongs to the (float)modifierType and is only followed by baseValue and perLevelValue. bool() indicates that it belongs to the (bool)modifierType and is not followed by any lines. float(, , True) means that (float)modifierType is also followed by linkedPlanetUpgradeType, bool goes by the same logic.

Here is all of the conditions:

http://pastebin.com/QAWQLFhw I uploaded it here for the sake of readability and since I am not too good friends with the forum code block.

Reply #132 Top

Hey, here I am again with another isue in the entity wiki.

The modifierType in ResearchSubject is actually a condition and not an enumeration also the modifierType's enum values depends on wether it is under Bool or float.

I've added this as an enhancement request.

Reply #133 Top

Version 0.8.4 is now released.

This is really just a minor update that includes PirateRaidsOneLevelLower as a valid float modifier type.

I've not had a chance to address gruntmasters suggestion of turning the float modifiers into conditions so as to validate if the linked planet or linked weapon type is valid. It's still appropriate and may find it's way into a future release.

6/27/2011 v.0.8.4

 

+1 Loading…
Reply #134 Top

Well now he's done it...my brains are et.

Reply #135 Top

ZombieRus,

For 7DS Beta Work we devs are doing, not Beta 3 which is out now, I'm up to Beta 5 with new squads, research, etc...

I want to run your tool over what I'm working on now to find problems now and hopefully fix them before firing them off to Dan.  About me, I'm not good at entity/abilities/buffs and do very little modding-wise of abilities/buffs.  So, just which Eclipse do I download?

Eclipse Helios 64-bit + which one or Eclipse Indigo 64-bit and there are multiple versions available.  I've posted files on our site in the secret hideout, if you have access to that area.  If not, I'll give you access to that area or bug someone else to give you access to it.  I'd rather figure out how to do it myself, but hell, I'm having a migraine trying to figure out which Eclipse version to install.

Reply #136 Top

Quoting SemazRalan, reply 135
Eclipse Helios 64-bit + which one or Eclipse Indigo 64-bit and there are multiple versions available. I've posted files on our site in the secret hideout, if you have access to that area. If not, I'll give you access to that area or bug someone else to give you access to it. I'd rather figure out how to do it myself, but hell, I'm having a migraine trying to figure out which Eclipse version to install.

Ya, it used to be much simpler.

I've confirmed Helios 3.6.2 works for some others, not sure what version they are on now though. I've not tried Indigo.

I use Galileo 3.5.2 for my stuff.

I think at this point I'll upload the version I use somewhere.

Reply #138 Top

Version 0.9 is now released.

This release supports both the Diplomacy 1.3 and 1.31 hotfix changes.

7/21/2011 v.0.8.9 (link to download section)

Reply #139 Top

Why is eclipse not working?  It keeps on coming back with an error saying that it can't find javaw.exe.  Does this thing not autodetect it?  JDownloader works on java and it runs just fine.

 

Any help?

Reply #140 Top

While you may have a java installed, it may not be setup fully to support Eclipse. One way to check is to see if you can start java from the command line.

What is usually expected is the following environment variable pointing to your java installation

JAVA_HOME

Mine is set to: C:\Program Files\Java\jdk1.6.0_18\bin

 

Reply #141 Top

C:\Program Files (x86)\Java\jre6

 

That's what I got?  Do I need a different Java version, if so, what?

Reply #142 Top

Quoting XATHOS, reply 141
C:\Program Files (x86)\Java\jre6

 

That's what I got?  Do I need a different Java version, if so, what?

It should work. Did you check if you have the JAVA_HOME environment variable?

Reply #143 Top

I can't say I saw it.  I can run it in the command prompt, if that's what your asking.  Doesn't accomplish anything, though.

Reply #145 Top

That did it.  I guess the usual download didn't do shit.  You need the SDK.  Thanks, good sir.

Reply #146 Top

Okay, I've done a good look through on the program and your video, but I'm more inclined to use Notepad++ (mainly, due to the less overhead).  I'll still hang onto it as an option, but Harpo's tools and Notepad++ is enough to suit my needs.  This is good for bugs in the code, though.

Reply #147 Top

Quoting XATHOS, reply 146
Okay, I've done a good look through on the program and your video, but I'm more inclined to use Notepad++ (mainly, due to the less overhead).

I have no incentive to convince you to use this tool or not. I developed it for myself to use because I understand the value of an IDE like Eclipse for mod development/management. Others have found it useful as well, including SGI, SOA2, BSG, 7DS, etc.

I have no idea what you mean about less overhead unless you simply mean the learning curve necessary to use an IDE.

Quoting XATHOS, reply 146
I'll still hang onto it as an option, but Harpo's tools and Notepad++ is enough to suit my needs.

I've never said Harpos tools should be dumped. You need a way to convert files between binary/text or generate manifests. I have my own way to generate manifests personally, but use Harpos tool for the text conversion. Notepad++ is just too basic for my needs.

Quoting XATHOS, reply 146
This is good for bugs in the code, though.

It's good for far more than that.

 

I should probably do a video for the simplest way to use Eclipse, but not sure when/if I'll have the time to sit down and prepare that and if it would have any impact. In general it seems some people are just better able to grasp how to use Eclipse while others need to stick to Notepad. I built the wiki explicitly for those that don't use Eclipse but can still benefit from the work I've done.

Cheers :beer:

Reply #148 Top

It's a good job sir.

Now where is the java sdk that increases my tolerance for trial-and-error learning of another new program and makes me smarter?

:moon:

Reply #149 Top

I mean less overhead since I didn't have to go through a hassle like I did with Notepad++.  I also didn't have to configure everything, I could use it right out of the gate.  Regardless, as I said, I appreciate the option.  It's just not my first pick to use.

 

Quoting ZombiesRus5, reply 147

7DS

HA!  That really hasn't made it anymore stable.  Not saying it's your fault, but they want to pack that thing down as much as possible.

Reply #150 Top

Quoting XATHOS, reply 149
I mean less overhead since I didn't have to go through a hassle like I did with Notepad++. I also didn't have to configure everything, I could use it right out of the gate. Regardless, as I said, I appreciate the option. It's just not my first pick to use.

I see. I call this learning curve.

Quoting XATHOS, reply 149
HA! That really hasn't made it anymore stable. Not saying it's your fault, but they want to pack that thing down as much as possible.

If you know anything about computer programming then you would know a clean compile (not that 7ds is there) does not mean the program is free of logic errors. My tool acts more similar to a compiler in regards to the syntax checking and reference validation. In addition it is meant to speed up coding by limiting silly mistakes like miss-spelled values or invalid counts as well as providing useful things like content assistance, hover help, quick jump to referenced entity files as well as Eclipse's built-in functionality from it's project management to text editor and search functionality.

Quoting Sinperium, reply 148
It's a good job sir.

Now where is the java sdk that increases my tolerance for trial-and-error learning of another new program and makes me smarter?

Sinperium, you seem to do well with trial-and-error on the mines mod you are doing. It sounds more like you are ok with this approach when it is something you are interested in.

I had more to write but lost interest in it... Suffice to say the tool works well, is used by many but not all and won't make you smarter no matter how often you use it.