
Originally Posted by
raidthesemuggers
Thanks for fast asset alternative but can you go in-depth about fixing errors? Or show some demonstration.
For assets, use Gravitir's ClientTools or Trillix. Both name the assets and organize them in the same folder structure as the decompiled swf which makes it easy to copy them into the corresponding folders in your project.
The only tough part related to assets is that the .as files for each asset should all be missing an embed tag. The embed tag needs to go above the class declaration and looks like this:
[Embed(source="NAMEHOLDER.png")] (for png files)
[Embed(source="NAMEHOLDER.jpg")] (for jpg files)
[Embed(source="NAMEHOLDER.dat", mimeType="application/octet-stream")] (for dat files)
[Embed(source="NAMEHOLDER.swf", symbol="PACKAGEHOLDER.NAMEHOLDER")] (for swf files)
NAMEHOLDER is the name of the file. PACKAGEHOLDER is the package it is in with . as the delimiter.
For example, KabamLogo.as for the asset KabamLogo.swf in /com/company/rotmg/graphics/ should look like:
Code:
package com.company.rotmg.graphics
{
import flash.display.MovieClip;
[Embed(source="KabamLogo.swf", symbol="com.company.rotmg.graphics.KabamLogo")]
public dynamic class KabamLogo extends MovieClip
{
}
}
There are enough asset files that you definitely don't want to do this by hand, so make a script to do it for you.
Here is a remarkably bad python script if you use mac and python3.6 or higher. If you want to use it on windows you will have to change all the path formatting to backslashes or better os.path.join().
As for fixing errors, 99% are the same kind. Any errors you see in a Class.as file that look like "Somethingsomething = Class.function()" you can delete the "Class." part to be left with "Somethingsomething = function()" or replace "Class" with "this" to be left with "Somethingsomething = this.function()". I'm pretty sure there is only one build stopping error in the entire project that isn't fixed in this way and it's in StarBackground.as. You want to change the offending line to look like "protected var path_:GraphicsPath = new GraphicsPath(sqCommands, new Vector.<Number>());"