RetroPie-Extra icon indicating copy to clipboard operation
RetroPie-Extra copied to clipboard

Create Unreal Tournament installer.

Open gderber opened this issue 1 year ago • 2 comments

This will install Unreal Tournament 99 for x86, amd64, and arm64. I haven't tested arm64. Don't have a arm64 install available right now.

gderber avatar Jul 25 '24 15:07 gderber

ill give it a try once im back on my pi5,

Exarkuniv avatar Jul 25 '24 16:07 Exarkuniv

It occurred to me, please wait a little before testing. I did use some variables that are defined in this patch: https://www.github.com/RetroPie/RetroPie-Setup/pull/3951?notification_referrer_id=NT_kwDOALuzzbQxMTUzNTQxODIwMzoxMjMwMTI2MQ#issuecomment-2251316568

gderber avatar Jul 29 '24 12:07 gderber

installs fine, i need to find the game files to test it all the way

Exarkuniv avatar Sep 09 '24 16:09 Exarkuniv

i edited my config and i now get this

`` Parameters: Executing: /opt/retropie/ports/ut/SystemARM64/ut-bin WARNING: using preference directory: /home/pi/.utpg/System/ WARNING: Using system ini file: /opt/retropie/configs/ports/ut/System/UnrealTournament.ini WARNING: Using user ini file: /opt/retropie/configs/ports/ut/System/User.ini Failed to enter Entry: Can't find file Entry.

History: UGameEngine::Init <- InitEngine <- main

Exiting due to error ``

not sure if im missing a file or what

Exarkuniv avatar Sep 09 '24 20:09 Exarkuniv

I'll look into both. It doesn't look like you are missing any files.

gderber avatar Sep 10 '24 13:09 gderber

I've updated the installer to add ARM64.

Will you please run the installer again and let me know if it works.

If it works, I suspect it's a problem caused by: "Make sure you do not overwrite the Texture files that came with the patch, otherwise the in-game text will render incorrectly." and "Please ensure that you do NOT copy the contents of the System directory in your cd/GoG image into the game directory, otherwise the game will not launch!" from https://github.com/OldUnreal/UnrealTournamentPatches

I tried to set it up so that the files when moved would remain owned by root to try and prevent that.

gderber avatar Sep 10 '24 13:09 gderber

If that works, I may change it to not move the System directory. That may prevent the problem in the future. I did it the way I did so that people could add new files if necessary while trying to set it up so they couldn't overwrite the existing files. That may not work as well as I wanted. And I am not sure if it will ever be necessary to add files to the system directory.

gderber avatar Sep 10 '24 13:09 gderber

I am not sure if it will ever be necessary to add files to the system directory

its something that we can test. yes i was confused at first by the folders being locked, but i do see why you did it. i say lets getting it working, and then worry about cleaning it up and making it dummy proof (as much as we can)

Exarkuniv avatar Sep 10 '24 13:09 Exarkuniv

Okay, I've removed the 'System' directory from the list of directories that are moved, and tested it that way. The game runs perfectly without moving the directory. This way people won't overwrite anything in there.

At this point I am thinking unless someone has any trouble because they can't add files to the system directory to simply leave it alone.

The single Texture file is the only one of concern at this point for dummy proofing (and I added a note in the Help file for that.)

gderber avatar Sep 10 '24 14:09 gderber

(and I added a note in the Help file for that.)

sounds good. ill give it a try again

question

does Unreal Tournament 2004 work, makeing sure i have the correct version

Exarkuniv avatar Sep 10 '24 14:09 Exarkuniv

Unreal Tournament 2004 is a separate game. I plan on creating a script for that once this is working.

gderber avatar Sep 10 '24 14:09 gderber

separate game

ok, i didnt know if it was a remake release or what. i only played the first UT, after that i was rocking HalfLife. lol

Exarkuniv avatar Sep 10 '24 14:09 Exarkuniv

Half life was great too!

UT2004 will be x86 only. The source for that was never completely released, so even today to run it you're running the last patched binaries that were compiled 2004ish.

It is possible to modify UnrealTournament.ini (or User.ini I forgot which) to enable online play again for both games. I decided that was a bit out of the scope for this script. Although I did set up an ansible playbook that works with RetroPie and can update the files correctly. Still very much a WIP https://github.com/hearthminion/ansible-collection-games/tree/develop/roles/unrealtournament

The original Unreal is also available for linux (and ARM not sure if it requires 64bit or not).

gderber avatar Sep 10 '24 14:09 gderber

so are all the folders ment to be set to root? if they are, then there is no way to get the game files in do i need to have the game data already in the ut folder before its installed?

I just remembered that you changed over the command line for changing ownership but I don't know when the main retropie implemented that and I'm still running a build from 5 weeks ago so maybe that is the reason why I was having ownership issues

I just thought of that

when i tryied it by having the game files in the ut before i install i get

arameters: 
Executing: /opt/retropie/ports/ut/SystemARM64/ut-bin
[ALSOFT] (EE) Could not query RTKit: No such file or directory (2)
[ALSOFT] (EE) Could not query RTKit: No such file or directory (2)
[ALSOFT] (EE) Could not query RTKit: No such file or directory (2)

Exarkuniv avatar Sep 10 '24 20:09 Exarkuniv

I'll check. It occurred to me, since we decided to stop the dummy proofing for now at least, I probably want to check the permissions again.

gderber avatar Sep 10 '24 21:09 gderber

As for when the permissions patch, it was only added in the last few days.

I was impressed with how fast you were on this after they added it. I hadn't even gotten around to double checking everything since they added it.

gderber avatar Sep 10 '24 21:09 gderber

Yeah I get bored at work. So I'm always learking around GitHub and the forum. So I saw that it was added not too long ago

Exarkuniv avatar Sep 10 '24 22:09 Exarkuniv

So now, as long as you have at least commit d67e88db (and probably better 18c2b430 from two days ago) on RetroPie-Setup then this should set the permissions properly throughout.

gderber avatar Sep 11 '24 13:09 gderber

ok, so i dont have a PC to test this on, but i can make it work on my Pi5, it does work, but does not work on the Pi5 well. ( which is fine) the screen (no matter what i tried) is always off center and needed to use XINIT to work

so this script is fine to go, and we just keep it for x86 only

Exarkuniv avatar Sep 12 '24 17:09 Exarkuniv

I'm good with that.

I was hopeful that as old as it was, that it'd work well on a pi5. Did you put XINIT in front of the command to get it to work. I'm thinking I'll add that, so if/when the pi 6 comes out we already have it ready to try without having to remember exactly what we did to get it to work before.

gderber avatar Sep 12 '24 18:09 gderber

yes xinit was used but no matter what resolution i picked from the run command, it would not go to full screen. it was always off center

which is odd since the UT logo before the intro is centered

which does suck since it does seem like it plays very well. i dont know much about xinit and not sure if there is a way to force it to do something different.

from all that i have used its just XINIT and thats it

Exarkuniv avatar Sep 12 '24 18:09 Exarkuniv

Also, will you please do another couple tests:

  1. In /opt/retropie/ports/ut/Systme64 make a backup of libSDL2.0.so.0 and symlink the system libSDL2.0.so.0

I may have the names slightly off. That's usually a fix for a bug on x86 when using multiple monitors, so I wasn't planning on putting it in here, but if it helps I might.

  1. If that doesn't work, You may need to edit the ini file to change the resolution.

I stumbled across this: https://www.github.com/OldUnreal/UnrealTournamentPatches/issues/1479

They were having some font issues (which it doesn't sound like you have) but said otherwise the game ran well even on a pi3

gderber avatar Sep 12 '24 18:09 gderber

Damn that was a pain in the ass, but i got it working

so in the /opt/retropie/configs/ports/ut/System/UnrealTournament.ini needed to change the settings to this

[SDLDrv.SDLClient]

FullscreenViewportX=1920
FullscreenViewportY=1080
FullscreenColorBits=32

the default value was too low and was messing it all up, and changing through the menu did not do shit

Exarkuniv avatar Sep 13 '24 15:09 Exarkuniv

Okay, so I see a few potential solutions:

  1. Create an UnrealTournament.ini inside our repo that we install with those settings already set.
  2. Add something to the help description that they will need to edit that file with the correct settings for those values.

Option 1, will probably work 90% of the time out of the box. That is a fairly common resolution. But considering this is Retropie, that may not be the case.

Option 2 requires more work on the user, but would be more consistent for everyone.

Did you have to remove libSDL and replace it with a symlink?

gderber avatar Sep 13 '24 18:09 gderber

Did you have to remove libSDL and replace it with a symlink?

i did, and nothing was different

i think what we should do is both option 1 and 2. 1 will be the default and we put in the how to in the help on what lines need to be editied to fix it for the uses setup

one of my scripts i think pulls what resolution is picked and then edits something, but i cant remember what one, and if it will even work for what needs to be down

Exarkuniv avatar Sep 13 '24 18:09 Exarkuniv

Okay. The reason I asked, on my system, 2 monitors the packaged libSDL would overwrite any changes I made to the UnrealTournament.ini resolution settings. Basically I'd modify the resolution so it'd use one monitor, and it'd reset that and use both.

If we're providing our own UnrealTournament.ini we should probably test that too.

One big advantage to providing our own ini file is I cam go ahead and set the proper multiplayer servers, so people can actually play online.

gderber avatar Sep 13 '24 20:09 gderber

set the proper multiplayer servers, so people can actually play online.

im down with that

Exarkuniv avatar Sep 13 '24 20:09 Exarkuniv

Got a bit busy this week, hoping next week is better. Adding the ini file should be the easy part.

gderber avatar Sep 21 '24 01:09 gderber

Got a bit busy this week

It all good. There's no rush

Exarkuniv avatar Sep 21 '24 03:09 Exarkuniv

we are good here. accepting the pull

Exarkuniv avatar Sep 24 '24 15:09 Exarkuniv