-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Does Deus Ex
work on UTEngine
?
#16
Comments
There are some differences - how big they are I don't know. In any case, UTEngine would have to be able to run UT itself properly before it makes any sense to add more games to it. |
@dpjudas, |
It is probably because in PackageManager::GetIniValue it assumes the .ini file is called UnrealTournament.ini. Even if it did manage to read that it will probably run into trouble with the meshes as I believe DeusEx changed the vertex format. At least I think I remember seeing something like that in the UShock codebase once. |
@dpjudas I removed the mention of UnrealTournament and UnrealI and UnrealShare
I also tried to run with 'Engine.GameInfo', which led to fact that there is no native function
|
LevelInfo.InitEventManager reference documention:
|
I pushed an update where it detects Deus Ex and loads its meshes. But yeah next thing it bailed on was calling LevelInfo.InitEventManager |
Fixing that made it miss DeusExPlayer.CreateDumpLocationObject. So probably a few native classes that needs to be defined for it to even try do anything. :) |
@dpjudas
|
If you throw an exception in the function then when unrealscript calls it UTEngine will shut down. I opted for making it do nothing instead. Then it complains about another missing native function on the DeusExPlayer class. |
in this project, function InitEventManager was ignored, but how efficient it is I do not know |
I noticed that you added commits, now I will take them. |
Seems at least these bindings has to be added as well: // native Functions There are probably more of them. Too bad my --extract-nativeobj helper crashes so we can't get a complete dump of them easily. |
I pushed another update that adds empty handlers for all the native functions in new classes from the DeusEx.u package. Question now is how many of them actually have to be implemented (or do nothing) for the game to actually start up. :) |
Pretty much! :) On the plus side it boots the game and plays the music. It probably doesn't render the right thing due to those native functions not doing anything (in particular the ones that return null when they were supposed to return an object). As you can see, UTEngine is pretty close to be able to render/run this game, and yet at the same pretty far with all that Deus Ex specific native code they added. |
Are there debuggers .uc scripts? How realistic it is to restore objects that should return DX functions? |
Originally my plan was to write a simple debugger where I could set break points in the scripts and step through it (that editor thing you see when it aborts on Windows, or select View Log in UT). I've kind of concluded at this point it is a bit too much work to do that. Maybe a better approach would be to output trace info into the console or a log file. For example it might be useful to see which functions it is calling in what order. I'm not sure. For viewing the .uc scripts themselves for UT there's the unreal editor (or you can export them all to text files). I'm not sure if Deus Ex has such an editor or if the UE editor can be used. I'm overall pretty unfamiliar with Deus. |
|
|
Okay I guess you can use that for reading the uc script files. Right now problem is that you have the script files and then this: There are no hints of what went wrong except what the scripts wrote to the console. The only real option at the moment is to recompile the scripts in the SDK with log lines trying to trace where something went wrong. That takes a lot of time so we could really use something a lot more efficient for tracing down the root cause of the bugs. |
Hello @dpjudas,
will it be possible to run game on Unreal Engine, example as Deus Ex and have 100% open source, or is there still a big difference between the UTengine and Deus Ex engines?
The text was updated successfully, but these errors were encountered: