Blog Archives
Unreal X-Graph (A program that never saw daylight)
Here are some screenshots of my program called Unreal X-Graph which was a graph editor for creating new classes for UnrealScript. While Beta testing UE4 i was inspired by the idea of Blueprints and thought about creating a graph editor for UnrealScript and contribute it to the community (like Unreal X-Editor) so hopefully that should attract more people to Unreal Technology. Unreal X-Graph works much like Blueprints. That means, you can create and connect nodes together and compiling will generate a *.uc file with the contents of the graph. I started development back on January 2014 but since UE4 was released on March i totally abandoned this project and have no intention of resurrecting this back.

Protect Node Feature. You can right click on any node (except Class and Default Properties) and toggle if it is protected or not. If it is protected then that node cannot be deleted.
Different connection renderings:
[BETA] v3.1.5 Now Available
New version of Unreal X-Editor is now available. Click on “Check For Updates” to download or visit Downloads page.
Changelog:
–New Integrated Application: Content Browser Finder
–New Feature: Config Class Finder
–New Feature: Document Map
–New GoToLine dialog. (Press CTRL+G)
–New Code Editor Fullscreen option
–New Right Click Menu: Add Timestamp
–New Right Click Menu: Add Comment Block (Under Insert)
–New Right Click Menu: Add StartBlock (Under Insert)
–Added Final_Release flag in Compile Options
–Added Tab Reordering
–Added Text Drag & Drop
–Added support for Dual Monitor setups
–Added function/event name highlighting
–Improved Toast Notifications
–Improved Go To Function now continues searching on all parent classes until function is found
–Improved Autoindent
–Type colors (var, local, class names etc) are now customizable
–Class template now create simulated event Post/PreBeginPlay() instead of event
–Compiling scripts will no longer cause Ribbon to be disabled
–Right-clicking will now move the mouse caret properly
–Word Highlight is no longer case-sensitive
–Shift+Tab now decreases Tab Indent
–Changing syntax colors no longer requires Unreal X-Editor restart
–Users can now access class functions without selecting the whole word
–Clicking on line number will select the whole line
–Users can now load maps with custom extension under UDK Editor
–Fixed Unreal X-Editor running in background after exiting
–Fixed Template window stays open after exiting
–Fixed unable to read first entry in Code Explorer
–Fixed some minor issues with AutoIndent
–Fixed X-Editor Log showing incorrect class name when deleting from package viewer
–Fixed Report a bug staying behind About Window
–Fixed unable to type in Unhandled Exception Reporter
New Features: Tab Reordering and Function Highlight
Hi everyone,
I added support for Tab Re-Ordering (not undockable) and Dynamic Function Highlight. Dynamic Function Highlighting will highlight any functions and events in your file (and yes color can be customized!). Here is a screenshot:
[Tutorial] Change Loading Screens based on map (Using Canvas and no bik movie)
Hey everyone
,
In this tutorial i will show you how to have your own loading screen based on the map you are loading. For example you are loading MAP_1 so the loading screen will show random pictures of MAP_1. Remember, this tutorial will only use Canvas and will not use any bik movies. In fact, you will have to remove the loading bik movies from the ini in-order for this to work. I used this setup in my own game Engage and its working good. 
1: Start UDK and load your level.
2: Take a nice screenshot ( I use printscreen and paste it on Photoshop). TIP: Press F11 for fullscreen
3: Open Photoshop (i used 2048 x 1024) or any other image editing software and make all the customization’s you want (Color correction, blur, DOF, flares, anything)
4: Save the image and import it in UDK and save the package. Take any number of screenshots you want since we will be randomly choosing the textures.
5: Start your UnrealScript IDE and use the below code:
// ================================================================================================
// * File Name: MyCustomViewportClient
// * Created By: Satheesh PV (aka RyanJon2040)
// * Time Stamp: 05-Dec-13 8:50:00 PM
// * UDK Path: G:\UDK\UDK-2013-07
// * Unreal X-Editor v3.1.5.0
// * © Copyright 2012 - 2013. All Rights Reserved.
// ================================================================================================
/*
The reason why i extended from UTGameViewport is because otherwise Hintmessages wont be displayed.
*/
class MyCustomViewportClient extends UTGameViewportClient;
var Font TransitionFont;
var Font HintFont;
var Texture2D Background;
var LinearColor BackgroundColor;
var array MAP1_BackgroundTextures;
var array MAP2_BackgroundTextures;
var array MAP3_BackgroundTextures;
function DrawTransition(Canvas Canvas)
{
local string MapName;
local int Pos;
switch(Outer.TransitionType)
{
case TT_Loading:
MapName = Outer.TransitionDescription;
/* Remove .udk from map */
Pos = InStr(MapName,".");
if (Pos != -1)
{
MapName = left(MapName, Pos);
}
/* Get Random Texture */
Background = GetTextureForMap(MapName);
DrawImageTransitionMessage(Canvas,MapName);
break;
case TT_Saving:
DrawTransitionMessage(Canvas,SavingMessage);
break;
case TT_Connecting:
DrawTransitionMessage(Canvas,ConnectingMessage);
break;
case TT_Precaching:
DrawTransitionMessage(Canvas,PrecachingMessage);
break;
case TT_Paused:
DrawTransitionMessage(Canvas,PausedMessage);
break;
}
}
//Absolutely no need for final modifier. I added it just for fun only. :P
final function DrawImageTransitionMessage(Canvas Canvas,string Message)
{
local float XL, YL;
local string DisplayMessage;
local string HintMessage;
local class GameClass;
local string GameClassName;
/* Capitalize the string */
DisplayMessage = Caps("LOADING: " $Message$"...");
/* Assign font to be used with LOADING: */
Canvas.Font = TransitionFont;
Canvas.bCenter = false;
/* Draw the texture on screen */
Canvas.SetPos(0,0);
Canvas.DrawTile(Background, Canvas.ClipX, Canvas.ClipY, 0, 0, Background.SizeX, Background.SizeY, BackgroundColor);
/* Get the displamessage length and save it to XL and YL */
Canvas.StrLen( DisplayMessage, XL, YL );
/* [TEXT SHADOW] Set the position to slightly above bottom right corner of the screen */
Canvas.SetPos((Canvas.ClipX - XL) - 10, (Canvas.ClipY - YL) - 10);
/* [TEXT SHADOW] Set the color to black */
Canvas.SetDrawColor(1,1,1);
/* [TEXT SHADOW] Draw the shadow Text */
Canvas.DrawText( DisplayMessage, false );
/* [TEXT] Set the position to slightly above bottom right corner of the screen */
Canvas.SetPos((Canvas.ClipX - XL) - 12, (Canvas.ClipY - YL) - 12);
/* [TEXT] Randomize the colors */
Canvas.SetDrawColor(Rand(255),Rand(255),Rand(255));
/* [TEXT] Finally draw the LOADING:
6: Save it to UTGame folder
7: DONT COMPILE NOW!
8: Open DefaultEngine.ini and under section [Engine.Engine] change GameViewportClientClassName to GameViewportClientClassName=UTGame.MyCustomViewpor tClient.
9: Open DefaultEngineUDK.ini and under section [FullScreenMovie] remove all LoadingMovies entries.
10: Delete UDKEngine.ini
11: Do i really have to say that you need to re-compile the scripts and enjoy your loading screens. 
Exercise for you:
- Canvas supports a variety of Draw* functions. Use them to create advanced loading screens
- I havent checked if Canvas can draw materials. If they can then draw animated materials.(*hint* *hint* bik movies)
I hope you find this useful. 😀
New Feature: Config Class Finder
Hey everyone,
Here is a new feature that you can expect in next version of Unreal X-Editor. You will be able to search for all UnrealScript that implements a specific config class. For example here in the below screenshots you can see how i found all classes that implement UDKGame.ini.
New Feature: Type Color Customization
From the day i implemented syntax highlighting settings i got requests on type color customization. That is to customize the color of class names and words that comes after var, local etc. So today i did it. Here in the below screenshot you can see i changed the color to red. 🙂
I also rewrote the code to support instant color change. That is you no longer need to restart Unreal X-Editor after changing syntax colors. Change your color scheme –> Press Save and all colors will update instantly. 🙂















