Also Known As: banshee_revora (Steam) Joined: 15 Aug 2002 Location: Brazil
Posted: Sat Mar 31, 2018 4:07 am Post subject:
Upcoming important OpenRA changes for modders.
Subject description: It is getting easier to keep being updated with Kane's vision with this technology of peace.
Our friend pchote, one of the most important developers from OpenRA has recently shared a note about an important change that modders of OpenRA might have to take into account when making your mod suppor the latest version of the OpenRA game engine.
OpenRA is a game engine that suffers constant transformations and it is under an endless development, unlike a game like Tiberian Sun, where the original developers doesn't touch it for miserable 20 years... or almost that. And, as such, they are trying to repair some eventual design mistakes, which might make them to change certain tags from the yaml files. This brings an obstacle to the modder itself to keep up to date with these changes and it may prevent mods that are no longer being developed to work in the latest OpenRA. So, for this reason, the developers of OpenRA have been reforming their Mod SDK not just to allow mods to have their old engine in the user's computer even if the engine gets updated during this time and they have also added a tool to help modders to update their mods to the latest version of the engine, which is exactly what this change do. It should be available in the next play tests and release versions:
Quote:
The key points to know about the new system are:
All changes to the mod rules are expected to define an update rule, even if it only lists the changes that a modder needs to make manually.
The default commands for the updater list information about the changes; an explicit --apply command must be given before any changes are made. This makes the updater our primary documentation for compatibility changes.
Each update "rule" is considered independently, and can be applied individually (e.g. when working on bleed), or as part of an "update path" from a labelled tag to the current HEAD.
If a rule throws an exception then its changes will be reverted and any other updates in the path will be applied.
Here's a sample when updating the RA Classic from release 20180218 to the bleed:
$ ./utility.sh --update-mod release-20180218 --detailed
Found 6 API changes:
* RemoveTerrainTypeIsWaterFlag: Remove TerrainType IsWater flag
The IsWater flag on terrain type definitions has been unused for some time.
This flag has now been removed from the tileset yaml.
* RemoveWeaponScanRadius: Remove Weapon ScanRadius parameters
The *ScanRadius parameters have been removed from weapon projectiles and warheads.
These values are now automatically determined by the engine.
CreateEffect.ImpactActors: False has been added to replace VictimScanRadius: 0
* SplitTurretAimAnimation: Introduce WithTurretAimAnimation trait
WithSpriteTurret.AimSequence and WithTurretAttackAnimation.AimSequence
have been split into a new WithTurretAimAnimation trait.
* DefineSoundDefaults: Move mod-specific sound defaults to yaml
Mod-specific default sound values have been removed from several traits.
The original values are added back via yaml.
* RenameWormSpawner: WormSpawner renamed and generalized to ActorSpawner
The D2k-specific WormSpawner trait was renamed to ActorSpawner,
generalized, and moved into the common mod code.
* RemoveWithReloadingSpriteTurret: Remove WithReloadingSpriteTurret trait
WithReloadingSpriteTurret has been superseded by conditions.
The trait is switched for with WithSpriteTurret.
Run this command with the --apply flag to apply the update rules.
Code:
$ ./utility.sh --update-mod release-20180218 --apply
WARNING: This command will automatically rewrite your mod rules.
Side effects of this command may include changing the whitespace to
match the default conventions, and any yaml comments will be removed.
We strongly recommend that you have a backup of your mod rules, and
for best results, to use a Git client to review the line-by-line
changes and discard any unwanted side effects.
Press y to continue, or any other key to cancel: y
RemoveTerrainTypeIsWaterFlag: Remove TerrainType IsWater flag
Updating mod... COMPLETE
Updating system maps... COMPLETE
DefineSoundDefaults: Move mod-specific sound defaults to yaml
Updating mod... COMPLETE
Updating system maps... COMPLETE
Manual changes are required to complete this update:
* The default value for ParaDrop.ChuteSound has been removed.
You may wish to explicitly define `ChuteSound: chute1.aud` at the following locations
if the sound has not already been inherited from a parent definition.
* rules/aircraft.yaml:3
You cannot post new topics in this forum You can reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum