UE1 - UT Compiling Errors, Unreal Ed 1, Build 338

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

Lazarus187

New Member
Sep 20, 2010
18
0
0
I'm receiving the following error message while attempting to compile custom content for Star Trek DS9: The Fallen, which I believe is using UnrealEd 1, Build 338:
Code:
Analyzing...
Parsing DS9_FedIsolinearChipDevice
Parsing DS9_FedIsolinearChipBank
Parsing DS9_CardBank
Parsing DS9_CardBankWhite
Parsing DS9_CardBankRed
Parsing DS9_CardBankGreen
Failed loading package: Can't find file 'Textures\DS9_CardIsoBank.utx'
Parsing DS9_FedIsolinearChipBankYellowMossy
Parsing DS9_FedIsolinearChipBankYellow
Parsing DS9_FedIsolinearChipBankRed
Parsing DS9_FedIsolinearChipBankBlue
Failed loading package: Can't find file 'Textures\DS9_FedIcoChpBn.utx'
Parsing BAJ_Device
Parsing BAJ_StorageDevice
Parsing BAJ_EngineeringDevice
Parsing BAJ_CommandDevice
Parsing DS9_FedIsolinearChipReaderYellowMossy
ERROR: Unable to open file MODELS\FedIsolinearChipReaderYellowMossy.c3d

History: ReadC3DFile <- C3DMeshImport <- UEditorEngine::SafeExec <- (MESH C3DIMP
ORT MESH=DS9_FedIsolinearChipReaderYellowMossy C3DFILE=MODELS\FedIsolinearChipRe
aderYellowMossy.c3d) <- FScriptCompiler::ProcessCompilerDirective <- Directive <
- FScriptCompiler::CompileDeclaration <- FScriptCompiler::CompileStatement <- Fi
rstPass <- TryCompile <- FScriptCompiler::CompileScript <- (Class LOCKNKEY.DS9_F
edIsolinearChipReaderYellowMossy, Pass 0, Line 20) <- MakeScript <- MakeScript <
- MakeScript <- MakeScript <- MakeScript <- DoScripts <- UEditorEngine::MakeScri
pts <- UMakeCommandlet::Main

Exiting due to error
The thing is, I'm only trying to subclass a single weapon ( Federation Hand Phaser ) off its parent class. We're talking about a single .uc file ( DS9_Phaser.uc ) that I've edited. Below is the subclassing method I used:
Code:
[B]Original:[/B]  class DS9_Phaser expands DS9_Weapon;

[B]Changed to:[/B]  class DS9_Phaser2 expands DS9_Phaser;
The only other changes made were to a few default properties. Another forum member attempted to advise me on this issue, and after some trial and error, determined that it probably wasn't a scripting error on my part that was contributing to the problem. I'm admittedly a "noob" when it comes to dealing with UnrealEd. My only other experience is with Deus Ex's UnrealEd ( UnrealEd 1, builds 400-436 ), which never caused this type of compiling "hangup" using the aforementioned subclassing method. At this point, I'm beginning to wonder if there is something wrong with DS9's version of the Unreal Editor. Any assistance would be greatly appreciated. Thanks in advance.
 
Last edited:

.:..:

New Member
Apr 11, 2006
61
0
0
Finland
Remove any "#exec" import lines you copied over unless you desire to import some custom models or textures.
 

Wormbo

Administrator
Staff member
Jun 4, 2001
5,913
36
48
Germany
www.koehler-homepage.de
You shouldn't really be copying the entire file if you want to subclass it. Everything the original class declares is automatically inherited by your class, you should only specify what makes your class different.
 

Lazarus187

New Member
Sep 20, 2010
18
0
0
Wormbo, .:..:, thank you both for your prompt responses. Actually I had stripped most of the code from the DS9_Phaser.uc file, at the advice of Zynthetic, who initially tried to help me with this issue. Here's what I did step by step:

1. Made a copy of the DS9_Phaser.uc file, renamed the copy DS9_Phaser2.uc, and placed it in a MyWeapons/Classes folder.

2. Removed all of the code from the DS9_Phaser2.uc file, except the following:
Code:
class DS9_Phaser2 expands DS9_Phaser;

}

//
// defaults
//

defaultproperties
{
     AmmoUseRate=10.000000
     MinFireTime=20.000000
     ReloadTime=0.200000
     }
3. Added the "EditPackages=MyWeapons" line to the [Editor.EditorEngine] sections of the following files: Default.ini, DS9.ini, Unreal.ini. Ran the UCC make function, and received the compiling error message I posted initially.:mad:

Zynthetic believed that the issue wasn't related to my scripting. Is it possible that the UnrealEd corrupted some of the .uc files it exported? Or did it simply neglect to export some crucial resource(s) that's inhibiting my "noobish" attempts to compile custom material?
 

Wormbo

Administrator
Staff member
Jun 4, 2001
5,913
36
48
Germany
www.koehler-homepage.de
There's a "}" right below the class declaration that doesn't belong there.
Also, the closing curly brace of the defaultproperties block (like the opening brace) should be at the start of its line.

The only additional resources the compiler needs to turn your class sources into a compiled package are the packages your classes depend on. Those are listed in the EditPackages of the ini file used for compiling. Additionally, if you specified #exec directives in your source code, the packages to load or files to import must exist. Paths in #exec anything import directives are relative to your project directory, i.e. if you were to compile Test.u, your code is in Test\Classes and and "#exec texture import file=Skins\SomeSkin.pcx" would load Test\Skins\SomeSkin.pcx.
 

Lazarus187

New Member
Sep 20, 2010
18
0
0
There's a "}" right below the class declaration that doesn't belong there.
Also, the closing curly brace of the defaultproperties block (like the opening brace) should be at the start of its line.
Alright, done:
Code:
class DS9_Phaser2 expands DS9_Phaser;

//
// defaults
//

defaultproperties
{   
AmmoUseRate=10.000000
MinFireTime=20.000000
ReloadTime=0.200000
}
The only additional resources the compiler needs to turn your class sources into a compiled package are the packages your classes depend on. Those are listed in the EditPackages of the ini file used for compiling. Additionally, if you specified #exec directives in your source code, the packages to load or files to import must exist.
The only "directives" I specified, as far as I know, are the ones listed above. However, the compiling error history keeps pointing to the following "missing" files:
Code:
Failed loading package: Can't find file 'Textures\DS9_CardIsoBank.utx'
Failed loading package: Can't find file 'Textures\DS9_FedIcoChpBn.utx'
Parsing DS9_FedIsolinearChipReaderYellowMossy
ERROR: Unable to open file MODELS\FedIsolinearChipReaderYellowMossy.c3d
I looked in the textures folder, and sure enough, both the DS9_CardIsoBank.utx' and DS9_FedIcoChpBn.utx' files are missing. Thing is, I'm not clear on why those two files are relevant to the hand phaser. Additionally, if the the UnrealEd isn't including them in the textures folder when it imports resources, I'm not sure how I would "force" it to include the aforementioned .utx files.

I was unable to locate the MODELS\FedIsolinearChipReaderYellowMossy.c3d anywhere. The closest I was able to find was the DS9_FedIsolinearChipBankYellowMossy.uc file in the LOCKNKEY/Classes folder. But again, I'm not certain why this file would be relevant to the hand phaser.
 

Wormbo

Administrator
Staff member
Jun 4, 2001
5,913
36
48
Germany
www.koehler-homepage.de
I'm getting a little confused here. What files did you create/copy and where did you put them?
The messages seem to suggest it is trying to compile more than just the DS9_Phaser2.
 

Lazarus187

New Member
Sep 20, 2010
18
0
0
Here's everything I did, from the beginning, with links to some screenshots:

1: Opened up the Actor Class Browser in UnrealEd 1 and hit the "Export All" button in order to export all the classes into editable text.uc files into the main DS9TheFallen directory. See UnrealEd Export.jpg and UpackedDirectory.jpg:

http://i869.photobucket.com/albums/ab252/Lazarusmage/UnrealEdExport.jpg

http://i869.photobucket.com/albums/ab252/Lazarusmage/UnpackedDirectory.jpg

3: Went to the DS9 folder and made a copy of the DS9_Phaser.uc file only. Created a new folder in the main directory titled "MyWeapons", then created a "Classes" subfolder within that, and placed the DS9_Phaser.uc file into it.

4: Changed the name of the copied DS9_Phaser.uc file to DS9_Phaser2.uc and edited the class declaration as follows:

Code:
[B]Original:[/B]  class DS9_Phaser expands DS9_Weapon;

[B]Changed to:[/B]  class DS9_Phaser2 expands DS9_Phaser;

5: Since I'm only interested in changing a few default properties with my custom phaser, I removed the majority of the script from the DS9_Phaser2.uc file, except the following:
Code:
class DS9_Phaser2 expands DS9_Phaser;

//
// defaults
//

defaultproperties
{   
AmmoUseRate=10.000000
MinFireTime=20.000000
ReloadTime=0.200000
}
6: Added the "EditPackages=MyWeapons" string at the end of the [Editor.EditorEngine] section of the following .ini files in the System Folder: Default.ini, Ds9.ini, Unreal.ini

7: Ran the UCC make function via the command prompt, and got the error message I posted initially.

I've attached the original DS9_Phaser.uc and my "modified" DS9_Phaser2.uc file as text files for your reference. Hopefully this clarifies things a bit. Sorry about the confusion, I guess that's an "occupational hazard" of being an UnrealEd "noob":eek:
 

Attachments

  • DS9_Phaser.txt
    11.9 KB · Views: 4
  • DS9_Phaser2.txt
    586 bytes · Views: 6
Last edited:

War_Master

Member
May 27, 2005
702
0
16
make sure the other mod gets loaded with EditPackages as well or the compiler wont be able to find it. Another way is by loading it in your class with the "#exec obj load" command.
 

Lazarus187

New Member
Sep 20, 2010
18
0
0
make sure the other mod gets loaded with EditPackages as well or the compiler wont be able to find it. Another way is by loading it in your class with the "#exec obj load" command.
"Other mod?" I'm not certain what "other mod" you're referring to. At this point, I'm only trying to create a somewhat modified hand phaser. Are you referring to the following files?:
Code:
Failed loading package: Can't find file 'Textures\DS9_CardIsoBank.utx'
Failed loading package: Can't find file 'Textures\DS9_FedIcoChpBn.utx'
Parsing DS9_FedIsolinearChipReaderYellowMossy
ERROR: Unable to open file MODELS\FedIsolinearChipReaderYellowMossy.c3d
I actually attempted to add "EditPackages=textures" to the [Editor.EditorEngine] section of.ini files, just to see if it would help. It resulted in the following error message:
Analyzing...
Can't find files matching ..\textures\Classes\*.uc

History: UMakeCommandlet::Main

Exiting due to error
There is no code left in my DS9_Phaser2.uc file that "points to" the missing files above. I'm not even sure why the original DS9_Phaser.uc file depends on those resources, as they don't seem to be "weapon related". In any event, I can't locate the 'Textures\DS9_CardIsoBank.utx', 'Textures\DS9_FedIcoChpBn.utx', or the MODELS\FedIsolinearChipReaderYellowMossy.c3d file. I can only assume that the UnreadEd failed to export them. If this is the case, and if those files are crucial, then I'm out of luck, unless there is some method for extracting them manually.
 

War_Master

Member
May 27, 2005
702
0
16
what I mean is that you need to let the compiler load/open the .u package where the DS9_Phaser is in by adding its file name in an EditPackage line above yours. If DS9_Phaser is a subclass of a class from yet another package, you need to add an EditPackage line for that other mod as well, one line above.

If you still get the error that it can't find the texture packages could be because the weapon has skins from those texture packages and were added manually using UED instead of using a command for the compiler to load it first. In this case you will need to load those textures packages with an #exec command in your class. for example:

Code:
class DS9_Phaser2 expands DS9_Phaser;

[COLOR="Blue"]#exec OBJ LOAD   FILE=DS9_CardIsoBank.utx
#exec OBJ LOAD   FILE=DS9_FedIcoChpBn.utx[/COLOR]

defaultproperties
{   
     AmmoUseRate=10.000000
     MinFireTime=20.000000
     ReloadTime=0.200000
}
 
Last edited:

Lazarus187

New Member
Sep 20, 2010
18
0
0
The original DS9_Phaser.uc file is part of the DS9.u package. Unfortunately it does appear to be a subclass of multiple packages. The class declaration in the DS9_Phaser.uc files reads as follows:
Code:
class DS9_Phaser expands DS9_Weapon;
DS9_Weapon.uc is also part of the DS9.u package. Its class declaration:
Code:
class DS9_Weapon expands CTV_Weapon abstract;
The closest file I could find to CTV_Weapon abstract was the CTV_Weapon.uc file in the Shared/Classes folder. Its declaration:
Code:
class CTV_Weapon expands CTVE_Weapon abstract;
The closest I could find to CTVE_Weapon abstract was the CTVE_Weapon.uc file in the Engine/Classes folder. Its declaration:
Code:
class CTVE_Weapon expands Weapon abstract;
The Weapon.uc file was also in the Engine/Classes folder. Its declaration:
Code:
class Weapon extends Inventory abstract	native;
I stopped there, because it was becoming tedious to keep tracking down every parent class. The thing is, the DS9, Shared, and Engine packages were already included in the Editpackages section from the beginning. Here's all of them:
Code:
EditPackages=Core
EditPackages=Engine
EditPackages=Editor
EditPackages=UWindow
EditPackages=Fire
EditPackages=IpDrv
EditPackages=UBrowser
EditPackages=UMenu
EditPackages=Shared
EditPackages=PLYR
EditPackages=EXPLO
EditPackages=DS9
EditPackages=LOCKNKEY
EditPackages=ARD
EditPackages=BAJ
EditPackages=CARD
EditPackages=FED
EditPackages=JER
EditPackages=SR3
EditPackages=PAWNAI
EditPackages=MyWeapons
I tried adding the #exec OBJ LOAD FILE=DS9_CardIsoBank.utx, and the #exec OBJ LOAD FILE=DS9_FedIcoChpBn.utx commands to my DS9_Phaser2.uc file per your suggestion, but received the same compiling error as before. Oy vey, what the hell did the developers at Double Helix Games do to this build of the Unreal Engine!:mad:
 
Last edited:

War_Master

Member
May 27, 2005
702
0
16
ya, they probably did something to the files just like the m****s that made Tactical Ops that deleted all the script in the files so people wont be able to mod for it.
 

War_Master

Member
May 27, 2005
702
0
16
you could make a fake package, weapon class, and variables to compile yours from it. Then, you can place the real package back in and open UED to set the properties on your package to match the parent weapon class's and just save it with UED once you're done.
 

Lazarus187

New Member
Sep 20, 2010
18
0
0
Just for the hell of it, I tried making another custom weapon subclass, this one off the DS9_FederationPhaserRifle.uc. I tossed out the DS9_Phaser2.uc file, and tried the same steps with just the Phaser Rifle. Got exactly the same compiling error, with the same 3 stupid missing or inaccessible files:
Code:
Failed loading package: Can't find file 'Textures\DS9_CardIsoBank.utx'
Failed loading package: Can't find file 'Textures\DS9_FedIcoChpBn.utx'
Parsing DS9_FedIsolinearChipReaderYellowMossy
ERROR: Unable to open file MODELS\FedIsolinearChipReaderYellowMossy.c3d
So whatever the issue is, it's definitely related to these missing/inaccessible resources, regardless of what weapon I'm trying to subclass.

With regards to creating a "fake package", if I understand you correctly, I would have to create multiple folders and .uc files ( in essence the contents of an entire new .u package ). Then I would compile it, and open it up in the Unreal Editor in order to set its properties to match the original DS9.u package? Not entirely certain how I would do this, I've never done more than simply subclass off parentclasses up until now.