I'm a doctor, not a mechanic

Difference between revisions of "User:00zX"

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
m
m (Proposal - Setting Up jEdit for UScripting)
Line 44: Line 44:
 
*[[Legacy:UnCodeX|Uncodex]] - UScript Class Browser
 
*[[Legacy:UnCodeX|Uncodex]] - UScript Class Browser
 
*[[NSIS]] - Installer/Packaging
 
*[[NSIS]] - Installer/Packaging
 
(Downloads for each of these here)
 
  
 
===Introduction to jEdit===
 
===Introduction to jEdit===
Line 53: Line 51:
  
 
=====Installing jEdit=====
 
=====Installing jEdit=====
Download location: jEdit link (Sourceforge)
+
[http://www.jedit.org/ jEdit]
 
<br>
 
<br>
 
====Edit Modes====
 
====Edit Modes====
Line 61: Line 59:
 
* Various other customizations for editing a certain filetype
 
* Various other customizations for editing a certain filetype
  
These edit modes are easily installed an updated.
+
These edit modes are easily installed an updated, they use the XML language and jEdits own document type definition for modes (xmode.dtd).
They use the XML language and jEdits own document type definition for modes (xmode.dtd).
+
More information on edit modes can be found within jEdits Help section along with a section on writing edit modes so you can customize jEdits UScript mode to your liking.
  
 
{{ambox|type=notice|text=In regards to customizing highlighters I've almost always worked on a darker background going back to dos (white on black) and XTreeGold / Dos WordPerfect which were (white on blue or 'comment' green on black). I do feel this is easier to read in darker environments, as well with light colour mixing is an additive method so I feel black on white is worse for your eyes since its constantly bombarded with light.}}
 
{{ambox|type=notice|text=In regards to customizing highlighters I've almost always worked on a darker background going back to dos (white on black) and XTreeGold / Dos WordPerfect which were (white on blue or 'comment' green on black). I do feel this is easier to read in darker environments, as well with light colour mixing is an additive method so I feel black on white is worse for your eyes since its constantly bombarded with light.}}
  
More information on edit modes can be found within jEdits Help section along with a section on writing edit modes so you can customize jEdits UScript mode to your liking.
+
[[User:00zX/UScript.xml|jEdit USCript edit mode]]
--See if I can link to jEdits online manual directly to the section.
+
 
+
[[My UScript Edit Mode for jEdit]]
+
 
<br>
 
<br>
 
=====Setting jEdits Mode=====
 
=====Setting jEdits Mode=====
Line 113: Line 108:
 
{{ambox|type=notice|text=Update these to contain info on various UE versions in the new namespace's, then use those [[Unreal_Wiki:Basic_procedures|Basic Procedures]] as part of this tutorial.
 
{{ambox|type=notice|text=Update these to contain info on various UE versions in the new namespace's, then use those [[Unreal_Wiki:Basic_procedures|Basic Procedures]] as part of this tutorial.
 
[[Legacy:Add_EditPackage]]}}<br>
 
[[Legacy:Add_EditPackage]]}}<br>
 
[[UE3:Setting_Up_a_Scripting_Environment_%28UT3%29|Setting Up a Scripting Environment (UT3)]]
 
  
 
=====Directory Structure=====
 
=====Directory Structure=====
Line 152: Line 145:
 
=====Customizing Project Viewer=====
 
=====Customizing Project Viewer=====
 
Specialized section on setting up Project Viewer's context (Right Click) menu to contain a create class button which will create a class based on a UScript template.
 
Specialized section on setting up Project Viewer's context (Right Click) menu to contain a create class button which will create a class based on a UScript template.
 +
 +
====Compiling your Project====
 
<br>
 
<br>
 
===Introduction to UnCodex===
 
===Introduction to UnCodex===

Revision as of 15:19, 23 March 2010

Works in Progress for Unreal Engine 3


UDK: Project Silky
UDK: GameDex Framework
UT3: GameDex Framework

Highlighters

UnrealWiki - Code Noir Redex Theme

Monobook-noir-alpha3.gif

Status: Alpha 9 (testing)

To Install copy the contents of the following page into your own 'User:[name]/monobook.css' page.

User:00zX/monobook.css
| W3C CSS Validator


Features
  • Dark Theme
  • High Contrast
  • Improved Readability
  • Highlighter adjustments for UScript and CSS
  • Different coloured borders per GameNameSpace
  • Curved Borders in supporting browsers



Known Issues
  • Legacy pages display old background image. (Makes unreadable)
  • Edit/Input boxes are still black text on white.
  • interwiki links are wrong blue colour and dont have hoverover colours.
  • Navigation and toolbox background still blue on discussion pages.
  • 'Page', 'file' top tab border doesnt work correctly.
  • ambox's need background colour adjustments for readability.


Pastebin - Code Noir Redex Theme

Status: Alpha 1

[Stylish User theme]

Proposal - Setting Up jEdit for UScripting

Step by step process of installing, setting up jEdit for use with Uscript. From start to finish, using/commiting to repository's and building using Apache Ant.

Tools required for this tutorial:

  • jEdit - Programmers text editor
  • GIT - Source/Build Repository
  • Uncodex - UScript Class Browser
  • NSIS - Installer/Packaging

Introduction to jEdit

jEdit is a powerful, cross platform, java based programmers text editor.

Installing jEdit

jEdit

Edit Modes

jEdit uses what is called edit modes, these specify:

  • Syntax highlighting rules
  • Auto indent behavior
  • Various other customizations for editing a certain filetype

These edit modes are easily installed an updated, they use the XML language and jEdits own document type definition for modes (xmode.dtd). More information on edit modes can be found within jEdits Help section along with a section on writing edit modes so you can customize jEdits UScript mode to your liking.

jEdit USCript edit mode

Setting jEdits Mode

By default jEdit comes with a UScript mode which can be located in the {jEdit Home Directory}\Modes

On jEdits main toolbar you will find the utilities button, under that is the global options which contains the options for all edit modes. Syntax highlighting colours can be found in here.


Recommended Plugins

  • Project Viewer: Usability.
  • Buffer Tabs: Usability.
  • Dirty Gutter: Diff.
  • TaskList: TODO, NOTE, FIXME's
  • Text Autocomplete: Usability - Code Completion.
  • Ant Plugin: Build script for UDK with ant.
  • WhiteSpace: Usability/Readability.
  • Others: Code folding
Plugin Installation and Settings

jEdits Plugin Manager and Settings can be accessed through the Plugins button on the main toolbar (show picture).

To install new plugins, click on the plugin manager and you will notice a tab up the top of the new window which says install (show picture). Navigate to this and select the checkboxes for all plugins you wish to install then hit install in the lower left of the panel.

The plugin settings can be found under the Plugins/Plugin Option button on jEdits main toolbar at the top.


Creating your first Project

In this part of the tutorial we will be creating a project using jEdit and Project Viewer.

First off I prefer to have the project viewer docked on the left hand side of jEdit, you can however put it anywhere you wish to place it. Right click on All Projects which you should see in your project viewer, add a new group (this is a recommendation), this will help to keep all your UScript UT3/UDK etc seperate from any other projects you may wish to create. I have a group named UE3 for example, then under that group I have UT3 and UDK to house each of the projects I have for each.

Once you have your groups setup to your liking you are ready to create a project, this will require that you have a directory to scan for source files within. Lets create a directory, as examples I'll use UT3 and UDK but you can find information on various UE games directory structures here on the wiki.


Directory Structure
Engine Directory Structure - First we'll start with a rundown of the unreal engines directory structure.
Setting Up Package Folders
Set Up Package Folders - Then we examine how to setup package's so you can compile.
For Unreal Script Classes you will need to first make the package's folder and then the Classes folder. The following eg shows the package folders being

UT2004 - All UT2004 source can be located under the Drive:\{UT2004 Dir}\System Directory so you would create a new directory containing the directory classes in there.
UT3 - For UT3 you create a folder in the Drive:\{User Folder}\{Documents}\My Games\Unreal Tournament 3\UTGame\Src directory also containing the directory classes.
UDK - For UDK you create a folder in the Drive:\UDK\{UDK-Version}\Development\Src directory.

So you should have a directory structure like:
UT2004 - Drive:\{UT2004}\System\{Your Package}\Classes
UT3 - Drive:\{User Folder}\{Documents}\My Games\Unreal Tournament 3\UTGame\Src\{Your Package}\Classes
UDK - Drive:\UDK\{UDK-Version}\Development\Src\{Your Package}\Classes


Right click on the group you wish to create the project within, click Add Project. This will display the create project dialogs (show Picture) Select a name and the root directory for you project, for now select {Your Package} directory.

Project Viewer would now have selected the project for you, you can navigate back to all projects using the drop down box at the top of Project Viewer.

Creating your first Class

Go to file in jEdits main toolbar and select new. Copy/Paste this template unreal script class to the file, then save the file as {Your Package}\Classes\YourClass.uc

class YourClass extends Mutator;

You'll notice that Project Viewer doesnt automatically scan for new classes unless it has been selected to do so. Right click on your project in the Project Viewer panel and select 'Re-import files'. Make sure the Project and Classes directories are expanded and you should now see {Your Class} in there.

More on jEdit Modes

Creating a customized template an macro for creating a new class based on this template.

Customizing Project Viewer

Specialized section on setting up Project Viewer's context (Right Click) menu to contain a create class button which will create a class based on a UScript template.

Compiling your Project


Introduction to UnCodex

This is basically a must have application for anyone doing UScript unless ofcoarse you opt to use other IDE's which contain their own class browsers. Personally I think uncodex is still the best out there and its quick with minimal overhead.

There are two versions of UnCodex that I use, I prefer using the older 227 for anything pre-UE3 or TribesV for those I use the newer 237-beta version.


Setting Up UnCodex

Working with multiple copys of unreal engine source (for eg, numerous UDK copies) can be tedious to continuously analyze all the time in uncodex so I'll guide you through setting it up so you can have numerous shortcuts all which cache different versions of [Unreal Engine]. You have to be careful however, this can get confusing as to which copy is in which UnCodex window but you can double check the title bar, which I highly recommend you do. I have been caught out a few times with this myself between UT3 and UDK sources.

As a general rule of thumb I just use the naming convention:
"Drive:\{UnCodeX}\UnCodeX.exe" -config UnCodeX-{GameName/Version}.ini

UT2004 - "Drive:\{UnCodeX227}\UnCodeX.exe" -config UnCodeX-UT2004.ini
DeusEx - "Drive:\{UnCodeX227}\UnCodeX.exe" -config UnCodeX-DeusEx.ini

UT3 - "Drive:\{UnCodeX237-beta}\UnCodeX.exe" -config UnCodeX-UT3.ini
UDK - "Drive:\{UnCodeX237-beta}\UnCodeX.exe" -config UnCodeX-UDK-2009-11-2.ini
UDK - "Drive:\{UnCodeX237-beta}\UnCodeX.exe" -config UnCodeX-UDK-2010-02.ini

Now these INI's will have to exist for this to work, so copy the default UnCodeX.ini and rename it to UnCodeX-{GameName/Version}.ini. Open this file in jEdit or notepad for editing,

[Sources]
''Add your source directories here''

UT2004 - Drive:\{UT2004}\System\
UT3 - Drive:\{User Folder}\{Documents}\My Games\Unreal Tournament 3\UTGame\Src\



This is an absolute requirement for UnCodeX to function in multiple mode's correctly. In the past I have forgotten to do this and as the cache isnt saved for that source directory you must rescan each time UnCodeX is loaded.

[GUI.General]
StateFile=UnCodeX-{GameName-Version}.ucx

UT2004 - StateFile=UnCodeX-UT2004.ucx
DeusEx - StateFile=UnCodeX-DeusEx.ucx

UT3 - StateFile=UnCodeX-UT3.ucx
UDK - StateFile=UnCodeX-UDK-2009-11-2.ucx
UDK - StateFile=UnCodeX-UDK-2010-02.ucx

Once you have done that for your required modes you can boot the shortcut and analyze the source, now every time you boot you would be using the cache for that ini/source.

Introduction to Git

Git is a free & open source, distributed version control system. GIT
msysgit - windows

GIT command prompt

Creating a repository=
# cd hello
# ls
# git init
# git add . 
Pushing a repository to GitHub

Create a repository on GitHub then...

# cd hello
# git remote add origin git@github.com:tabrez/hello.git
# git push origin master 


GIT GUI

Pushing a repository to GitHub


Compiling using a simple Batch - Windows

Commandline option links for each UE version.

UDK - Simple Compile batch

Drive:\UDK\{UDK-Version}\Binaries\UDK.exe make -debug -intermediate -log=CompileLog.log -full
pause


Introduction to Ant for jEdit

Using Ant to package a release, both compressed file and Nsis2.0. Online Manual

Ideas

Using Ant scripts to commit to git repository.

Introduction to NSIS

NSIS

Creating an NSIS package script

Using the UDK installer?

Proposal - Replication

Replication

Status: On Hold

-00zX 20:49, 3 April 2009 (UTC)

Replication / Replication_(computer_science)
Concept of servers and clients.(NetMode/Relevancy/Reliability)
  • Declaring Replication using the Replication Block
  • Function Replication using the replication block?
  • Booleans Declared in actor that are useful in replication

http://wiki.beyondunreal.com/Introduction_to_replication#

  • NetMode (concept)
  • Replication Block
    • Actor Replication (bools bnetinitial eg)
    • Variable Value Replication (using block)
      • Repnotify / ReplicatedEvents
    • Function call replication(UT2004)
  • Function call replication(UT3)
  • Reliability
  • Relevance (actor replication??)
    • Role and RemoteRole
  • Info
    • ReplicationInfo
      • GameReplicationInfo (GRI)
      • PlayerReplicationInfo (PRI)
      • LinkedReplicationInfo (LRI)


Wiki

Contributions

Contact Me

IRC

00zX on EnterTheGame

Other/Profiles

E-mail 00zX or on