Saturday, April 14, 2012

How to get UnrealScript Syntax in FlashDevelop

I've copied the as2.xml and used the syntax highlighting xml I grabbed from from a link on the UDK forums

UnrealScript.xml save it here:


Then Edit the C:\Program Files\FlashDevelop\Settings\MainMenu.xml

Add this:
<button label="&amp;UnrealScript" click="ChangeSyntax" tag="UnrealScript" flags="Enable:IsEditable+Check:IsEditable|IsActiveSyntax" />

<button label="Label.Text" click="ChangeSyntax" tag="text" flags="Enable:IsEditable+Check:IsEditable|IsActiveSyntax" />

Then in  C:\Program Files\FlashDevelop\Settings\ScintillaNET.xml

<include file="$(BaseDir)\Settings\Languages\UnrealScript.xml" />

This should now give you and option to use 'UnrealScript' in the syntax dropdown.

I've created an empty Haxe project and saved it inside C:\UDK\UDK-2012-02

One of the main features I can't stand in visual studio and notepad++ is having to maintain my project file, in FlashDevelop the project shows what's actually on disk and for me that's a huge time saver.

In my opinion Flashdevelop is simply the best code editing tool I've used. It's customisable, simple, and easy to use. features like duplicate line, wrapping searches and project /outline panels are worth their weight in gold when it comes to spending less time fighting your IDE and more time coding.

Friday, April 13, 2012

Magically disappearing assets in UDK

Last weekend I started adding my kids pictures into a UDK as we have plans to make a simple game, collecting items and battling trolls usual sort of stuff. I downloaded the latest beta for Adobe Photoshop 6 draw a path around each character, made it into an alpha channel and saved it out as a tga 32bit to keep the alpha.

I've not really played with alphas and transparencies in UDK but my idea was to create a simple plane, stick the texture onto the plane and that'll do me. Although it was a bit more trial and error than i had imagined I finally got there (see pic)

For the texture I used compression for TC_OnBitAlpha and for the material I plugged rgb into diffuse, alpha into Opacity then set the Material / Blend Mode to BLEND_Alpha_Composite. This seemed to work fine until I noticed the translucency in the sea material was cutting through the 'prince' material, so back into the material for a bit more tinkering and Misc / Enable Separate Translucency seemed to do the trick.

So, everything seemed to be going well, I imported a couple more textures, created materials and left it for lunch. When I came back I reopened my UDK level to find all the newer textures had gone.  

I tried and retried and managed to replicate it every time, I even imported static meshes but everytime I closed and reopened my level they were gone.

Being the dog with a bone type, I added a new level saved it various places, I eventually reinstalled Feb edition and then March just to be sure and every single time I got the same results.

I took it to the forum and checked everything anyone suggested to be sure, then I realised it had something to do with saving the current level verses saving the package.

I separated my textures and materials into their own package and it saved and reopened fine. Pretty much just as I did JetFire left me this gem

"Looks like if I import a texture and don't use it, it gets lost? < this, if you're embedding assets into your level file, rather than a separate .upk- If not used in the scene they'll get wiped. So, either use them, or put your stuff into separate upk's which don't have this feature."
So there you go, use or you lose.

I'm going to have a textures_materials package from now on.