| Home Page | Recent Changes | Preferences

# UMake/Discuss

## Suggestions

### Restart Button

Tarquin: It would be nice for the "compile failed" window to have a "start again" button – avoids having to restart the program or go back via options.

### Compiling Multiple Packages

DJPaul: Can this thing re-compile multiple packages AT ONCE?

Mychaeel: It's not designed to, or at least the frontend isn't. I think compiling multiple packages at once is not a very common task though.

Wormbo: You'd have to add the additional packages to the project in UMake, but if you want to recompile them then you'll have to delete them manually. I recommend creating multiple projects for that though.

### Dependency List Management

Unknown: Would it be possible for the Dependencies list in the Project tab to have some way of "uncheck all below this" and "check all above this"?

### Succes/Failed, but where is the warning?

Daid303: How about an option that does something (something else then succes) on a succesfull compile with warnings, because most of the time you do want to fix your warnings. And the UCC with the runtime engine nevers shows up 'X errors' it thinks all errors are warnings for some reason.

### Extra command line option

Daid303: wouldn't it be nice to have an option to give extra commands to UCC, like -Debug.

## Bugs

### Project Tab and Long Package Names

Tarquin: Project tab: "The options on this tab only affect the ..." text runs off the screen with long package names.

### Errors Outside the Compiled Package

El Muerte TDS: somewhat of a bug, when you make a mistake in a other package, on what the current package depends the edit button will try open that file from the current package (which mostlikely won't exist)

Mychaeel: Normally UMake will extract the full file name from the "ucc make" log and simply use that. In a few cases the compiler doesn't provide a full file name but only a class name; in those cases UMake tries to guess the name of the .uc file using the class name and the current package name. I could improve that algorithm though by using the name of the last package the compiler started to process (I simply didn't think of the possibility that there could be an error in a different package than the one that's being compiled).

El Muerte TDS: you could also check if the file event exists in the current package

Mychaeel: That's right. I'll keep that in mind for the next version.

### Warnings About Missing Import Files

Wormbo: When compiling a UT project I got a compiler warning about a texture that couldn't be imported. UMake correctly displayed that warning and the corresponding script file, but the Edit button opens the next script file parsed.

## Questions and Problems

### Aborting UCC

El Muerte TDS: Mychaeel, how did you implement the "abort" feature of umake ? I'm working on a `ucc server` wrapper to make my debugging a bit easier. But I can't get to shutdown the server proberly, I've tried that winapi method to send a ^C but it doesn't work for some reason.

Mychaeel: Under Windows NT/2000/XP, UMake simply closes the console window. Under Windows 9x/ME, it uses keybd_event to send VK_CONTROL and VK_CANCEL key press and release events. – But even though that works, there's another pitfall with "ucc": It doesn't abort cleanly. A Visual C++ error dialog appears when the program is aborted (happens when you do it manually too), so I wrapped the "ucc make" process in a pseudo-debugging environment which handles the program abortion exception in ucc's stead.

### UCC User Interaction

AlphaOne: I have a problem with UMake (probably due to my code). When umake starts compiling my subclass of Tab_InstantActionBaseRules (myRulesTab) UMake stops responding as if it was in an infinite loop. When I try the same code with UCC I get the following:

      Importing Defaults for myRulesTab
      The file '..\mypackage\Inc\myPackageClasses.h' needs to be updated.
      Do you want to overwrite the existing version? (Y/N):

If I say Y then it gives me:

      Error exporting Class Core.Object: couldn't open file '..\mypackage\Inc\myPackageClasses.h'
      Failure - 1 error(s), 0 warning(s)

If I say N then it compiles without errors. Other than that the code runs fine (I think). – So, what should I do? What is the problem? I don't think my class has any probles. I could post the code.

Mychaeel: Sounds like you're having a superfluous "native" somewhere (otherwise the compiler would not ask for updating a .h file). By the way, you should see the same message when clicking "Details," and by clicking "Abort" you should always be able to close UMake when that happens.

AlphaOne: What does superfluous native mean? The problem with UMake is that in MY case clicking Abort does NOT abort. In fact the only way to close UMake is to kill it! That's the reason why I went to UCC. Anyways, Someone else gave me that code and it compiles fine for that person. Moreover, if I choose the "N" option in UCC then the code compiles perfectly and works fine as well. I just want UMake not to hang on me like this.

Mychaeel: The problem is that "ucc" asks for user interaction, and UMake doesn't support that. (There's a switch in UT2003's "ucc" to suppress any user interaction. UMake doesn't use it, but could in a possible future version – just to be sure.)

The actual problem is in the code you're compiling though. Normally the compiler doesn't require any user interaction, and that request about creating "myPackageClasses.h" is a strong indication that something is in that UnrealScript code that shouldn't be there – namely a reference to native code via the "native" keyword. Since mod makers have no means to actually create native code to work with UnrealScript code, any "native" in the UnrealScript code is bound to be out of place. I can only guess, but maybe your coder just copied some of Epic's code without really understanding it and thus got a superfluous "native" into what actually should be pure UnrealScript code.

If that's not it, send me your .uc file to mychaeel@beyondunreal.com and I'll look into the problem more closely.

AlphaOne: Thanks a bunch! Some of the code did have a native class declaration. I didn't realise that someonelse's file was in the package, so I didn't bother to look there until I searched for the word "native" in ALL of my classes! Anyways, UMake is a wonderful program!

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Image Uploads

Random Page

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

Mapping Topics

Mapping Lessons

UnrealEd Interface

Questions&Answers

Scripting Topics

Scripting Lessons

Making Mods

Class Tree

Questions&Answers

Modeling Topics

Questions&Answers

Log In