Judith on 14/9/2009 at 07:43
I was searching through the forums to update my knowledge about actor classes and how they're set up. And, I was comparing T3ed AC browser to TU2004 window, looks like a few things are missing: there's no option to see other classes (Actor is always parent).
Also, there's no Brush or Volume subclass, but when I want to create such, I get the message that it already exists. So I guess it must have been locked somehow. But why?
I wanted to create my own type of volume, using the fog when player is inside, but it will be changing from volume to volume and I don't want to write a ton of scripts for it everytime the player traverses to the new location. I don't think there's a way to do it with the actor classes browser as we have it, so i started to examine the engine.t3u file. In comparison to typical UT2004 .u files it uses different language (Harwin said something about it) but when I export them to .uc files, it's the unrealscript again. The message also says that you can export classes to be rebuilt later. Has someone tried to rebuild them, and how? Harwin also wrote that the UCC.exe is useless, so is there a method to define your own class other than in AC browser?
Edit: The thing is, we are not able to define a custom actor class if we don't put it somewhere in the existing hierarchy, which affects the number of properties we can assign to it. For example, you cannot give your new class the ZoneInfo or ZoneLight property if it isn't the Info subclass. I guess that writing my own class in the unrealscript or the T3 specific language could be a solution to this.
Flux on 14/9/2009 at 08:46
Quote:
T3 specific language
Good thinking you have there Judith, about this whole object-oriented approach but that's the problem because we don't know what that language is. Probably c++ but you never know. Plus, even if we know it, we have to have the source code of whichever the language t3u files were written to re-compile them since what you want is to add new classes.
Uc is useless and when you export them, they *look* like unreal script but it is not, only the properties of actors are there.
If you check the udn document about unreal script, you'll see that even the epic themselves admit unreal script is slow compared to c++.
Since tds has one of the most complicated ai & trigger scripting code you can ever see in any game, and with that expensive renderer in the background (trying to fit everything into xbox as if all these weren't enough) probably they compiled all of the ai code in c++ or similar language to make it run faster. Bottom line is, all these complex ai code couldn't have run in unreal script only.
So you need the source and compiler of any t3u specific class to add something new to them to re-compile.
In most engines, this the preferred workflow anyway. All of the gameplay-specific code is written in high-level scripting language like lua or game engine's own and then for the final game it is compiled back to low-level c++ or similar language which runs faster than scripting languages.
I'll be happily stand corrected but other than dismembering t3u files, we don't have a chance I guess.
massimilianogoi on 14/9/2009 at 10:08
Quote Posted by Judith
...Has someone tried to rebuild them, and how? Harwin also wrote that the UCC.exe is useless...
I doubt that what Harwind has said is true, I guess that setting the proper folders inside the UEditor you can manage to compile, even if I've not yet tried it.
Judith on 14/9/2009 at 11:25
Harwin was one of the Thief 3 developers, so why should we not believe him? Not that we can't experiment with that too ;)
Quote:
So you need the source and compiler of any t3u specific class to add something new to them to re-compile.
We can decompile the classes from the actor browser, so I'm just guessing that the code responsible for that is within the T3ed.exe? It would be cool to change it's contents to be able to export/import or compile/decompile. Also unlocking the Brush definitions would be nice (unless they're put elsewhere).
Oh, and we can certainly view .t3u files in a fairly convenient way, using UT Package Tool (opening those as Deus ex: Invisible war works). Maybe this is the way to figure out the language, or at least some of its useful variables?
Judith on 14/9/2009 at 16:22
That's cool find, I guess those invisible Archetypes would be the Brush and the Volume subclass. It would be cool to see all the actor classes in browser, those unplaceable as well, and those with other parent than Actor. What is this resource hacker and can normal (non-programming) human being use it? ;)
massimilianogoi on 14/9/2009 at 18:04
Quote Posted by Judith
Oh, and we can certainly view .t3u files in a fairly convenient way, using UT Package Tool (opening those as Deus ex: Invisible war works). Maybe this is the way to figure out the language, or at least some of its useful variables?
!
Interestin thing...
Ziemanskye on 14/9/2009 at 18:18
Barely related, but I thought I'd share my war-story.
I have tried UCC: the UT2k3, UT2k4 and the SWAT4 variants of it, and basically they all told me to get stuffed because even with the full TDS export, it was still looking for lower level class files (and, naturally enough, swapping in the missing bits from the similarly named UT2kX/Swat4 files just annoyed it as well.) It was a long time ago now, but I think it was complaining about missing files for Engine, Core and T3AI, and without those files it couldn't compile the rest because of the dependancies and inheritance.
So Harwin was at least right about not being able to build things using that.
massimilianogoi on 15/9/2009 at 04:14
Quote Posted by Ziemanskye
Barely related, but I thought I'd share my war-story.
I have tried UCC: the UT2k3, UT2k4 and the SWAT4 variants of it, and basically they all told me to get stuffed because even with the full TDS export, it was still looking for lower level class files (and, naturally enough, swapping in the missing bits from the similarly named UT2kX/Swat4 files just annoyed it as well.) It was a long time ago now, but I think it was complaining about missing files for Engine, Core and T3AI, and without those files it couldn't compile the rest because of the dependancies and inheritance.
So Harwin was at least right about not being able to build things using that.
Have you tried to import the T3Editor folders into the correspondent place of the UnrealEditor? This is a significative thing.