Page 1 of 2

Edited int files for advanced tweaking (BENEFITS ALL USERS)

Posted: Mon Nov 28, 2011 7:35 pm
by Dr.Flay
For a long time I have been experimenting with editing the int files found in the system folder, trying to get easier access to the extended options available for each game type.
Originally I was trying to make a new int file for each game mode, but today I accidentally found a magic bullet ! :idea:

This one is such a killer I'm posting it before the int files for mutators and renderers etc.
YOU WILL LOVE ME FOR THIS !!
Can't believe I didn't spot it before :ironic:

Open "Botpack.int" with a text editor and copy and paste all of this complex and arcane code to the bottom of it.

Code: Select all

Preferences=(Caption="Game Types",Parent="Advanced Options")
Note: It is quicker to access the Advanced Options panel from the "View" menu in UnrealEd.
This tweak should work for other Unreal engine games!

You should end up with this (see picture) :rock:

Re: Edited int files for advanced tweaking

Posted: Mon Nov 28, 2011 8:15 pm
by Dr.Flay
When it comes to the int files for mutators, I used "UTCompass.int" as my reference as it goes 2 levels deep.

Code: Select all

[Public]
Object=(Name=UTCompass.UTCompassMut,Class=Class,MetaClass=Engine.Mutator,Description="UTCompass,A compass HUD mutator. v0.92")

Preferences=(Caption="Mutators",Parent="Advanced Options")
Preferences=(Caption="UTCompass",Parent="Mutators")
Preferences=(Caption="UTCHUD (Client-side)",Parent="UTCompass",Class=UTCompass.UTCHUD,Immediate=True)
Preferences=(Caption="UTCMutator (Server-side)",Parent="UTCompass",Class=UTCompass.UTCompassMut,Immediate=True)
As long as you add the first preferences line with the parent "Advanced Options", the mutator will now appear in "Advanced Options"
The "Classes" you need can usually be found in the mutator's ini file or the UnrealTournament.ini (wherever you were previously editing)

Some mutators only need the basic 2 lines and BINGO ! a whole lot of options appear. Some need an entry for each Class or section-header in the ini, which is a pain.
...also why I haven't done many, and only just realised a simpler way of automatically adding all game modes.

I have my heart set on being able to edit the ENB bloom options via UT's own interface. I think again I may try a simpler 1 line approach, as I've been adding each section manually in my test int. It may be just a case of giving it a root position and it does the rest itself (like in the Botpack.int)

List of some of my edits

Posted: Mon Nov 28, 2011 8:51 pm
by Dr.Flay
MoreBlood - RC7.5 - OldSkool

Code: Select all

[Public]
Object=(Name=MoreBloodOS.MoreBloodModMenuItem,Class=Class, MetaClass=UMenu.UMenuModMenuItem)
Object=(Name=MoreBloodOS.MB,Class=Class,MetaClass=Engine.Mutator,Description="MoreBlood - RC7.5 - OldSkool")

Preferences=(Caption="Mutators",Parent="Advanced Options")
Preferences=(Caption="MoreBlood - RC7.5 - OldSkool",Parent="Mutators",Class=MoreBloodOS.MoreBloodConfig,Immediate=True)
GOTY Chaos mutator

Code: Select all

[Public]
Object=(Name=ChaosUT.ChaosUTMutators,Class=Class,MetaClass=Engine.Mutator,Description="ChaosUT GOTYE Mutator, Use this mutator for Chaotic UT fun :)")
Object=(Name=ChaosUT.ChaosUTModMenuItem,Class=Class, MetaClass=UMenu.UMenuModMenuItem, Description="ChaosUT Config,Configure ChaosUT")

Preferences=(Caption="Mutators",Parent="Advanced Options")
Preferences=(Caption="ChaosUT",Parent="Mutators",Class=ChaosUT.ChaosUTMutators,Immediate=True)
Smiling Monsters EarthQuake (This is one of the mutators that started me tinkering, as I was trying to work out why pawns aren't effected.)

Code: Select all

[Public]
Object=(Name=SMoEarthQuake_v11.SMoEarthQuake,Class=Class,MetaClass=Engine.Mutator,Description="Smiling Monsters EarthQuake")

Preferences=(Caption="Mutators",Parent="Advanced Options")
Preferences=(Caption="SMoEarthQuake",Parent="Mutators",Class=SMoEarthQuake_v11.SMoEarthQuake,Immediate=True)
Whirlwind (again I wanted quick access to the config to change the amount of them)

Code: Select all

[Public]
Object=(Name=Whirlwind.WhirlwindMut,Class=Class,MetaClass=Engine.Mutator,Description="Whirlwind, Spawns Tornadoes that wander around.")

Preferences=(Caption="Mutators",Parent="Advanced Options")
Preferences=(Caption="Whirlwind",Parent="Mutators",Class=Whirlwind.WhirlwindMut,Immediate=True)
You can see the common thread in these edits, so you should be able to find and edit your own pain in the arse addons, including renderers.

Drivers and Renderers

Posted: Mon Nov 28, 2011 9:26 pm
by Dr.Flay
Same subject, different area.
If you edit your "Startup.int" and renderer/driver int files, you can have a more useful selection window.
D3D10Drv.int

Code: Select all

[Public]
Object=(Name=D3D10Drv.D3D10RenderDevice,Class=Class,MetaClass=Engine.RenderDevice,Autodetect=)
Preferences=(Caption="Rendering",Parent="Advanced Options")
Preferences=(Caption="Direct3D 10 support",Parent="Rendering",Class=D3D10Drv.D3D10RenderDevice,Immediate=True)

[D3D10RenderDevice]
ClassCaption="Direct3D 10 Support"
AskInstalled=Do you want to use Direct3D 10?
AskUse=
I've never seen the question strings get used, they may be left over from Unreal1, but I fill them out anyway.

And my modified version of Shadow's SDK OpenGL got me a telling off, but it works a treat (I'll delete this if asked). I also added the error trapping lines from the multimedia update pack (Figuring they should still be in the default code unless someone removes them).

Code: Select all

[Public]
Object=(Name=sdkOpenGLDrv.OpenGLRenderDevice,Class=Class,MetaClass=Engine.RenderDevice,Autodetect=)
Preferences=(Caption="Rendering",Parent="Advanced Options")
Preferences=(Caption="SDK OpenGL support",Parent="Rendering",Class=sdkOpenGLDrv.OpenGLRenderDevice,Immediate=True)

[OpenGLRenderDevice]
ClassCaption="SDK OpenGL Support"
AskInstalled=Do you have a OpenGL compatible 3D accelerator installed?
AskUse=Do you want to use UT SDK OpenGL?

[Errors]
NoFindGL=Can't find OpenGL driver %s
MissingFunc=Missing OpenGL function %s (%i)
ResFailed=Failed to set resolution

Corpsemania mod

Posted: Sat Dec 17, 2011 6:13 pm
by Dr.Flay
Corpse Mania mod

Code: Select all

[Public]
Object=(Name=CorpseMania.CorpseMania,Class=Class,MetaClass=Botpack.TournamentGameInfo)
Object=(Name=CorpseMania.OneShotKills,Class=Class,MetaClass=Engine.Mutator,Description="OneShotKills")
Preferences=(Caption="GameTypes",Parent="Advanced Options")
Preferences=(Caption="CorpseMania",Parent="GameTypes",Class=CorpseMania.CorpseMania,Immediate=True)
Edit your corpsemania.int file to look like this, or use my pre-edited file.

FlagMutatorCTF

Posted: Sun Jan 15, 2012 9:04 pm
by Dr.Flay
Wormbo's Flag Mutator CTF
http://www.koehler-homepage.de/Wormbo/F ... orCTF.html

Code: Select all

[Public]
Object=(Name=FlagMutatorCTF.FlagMutatorCTFGame,Class=Class,MetaClass=Botpack.TournamentGameInfo)
Object=(Name=FlagMutatorCTF.OneFlagCTFGame,Class=Class,MetaClass=Botpack.TournamentGameInfo)
Preferences=(Caption="Mutators",Parent="Advanced Options")
Preferences=(Caption="CTF for Flag Effects",Parent="Mutators")
Preferences=(Caption="FlagMutatorCTF",Parent="CTF for Flag Effects",Class=FlagMutatorCTF.FlagMutatorCTFGame,Immediate=True)
Preferences=(Caption="OneFlagCTF",Parent="CTF for Flag Effects",Class=FlagMutatorCTF.OneFlagCTFGame,Immediate=True)

Re: Edited int files for advanced tweaking (BENEFITS ALL USE

Posted: Mon Jan 16, 2012 11:47 pm
by Dr.Flay
OK this is a small edit for the UnrealTournament.ini file.

This is mostly for people who use Unreal Editor and are using custom hi-res textures (bigger than 256x256), but will also improve the player and bot selection windows (mostly with newer models).

If you change the [Engine.Engine] "WindowedRenderDevice" to one of your updated renderers (YOU MUST HAVE UPDATED RENDERERS), you can now see the textures instead of garbage.
I have grabbed a before and after shot of the replacement Hi-res City.tex, so you can see.
The texture "Alley6" I have clicked on is 4096x2048
Software Renderer
Software Renderer
New OpenGL Renderer
New OpenGL Renderer
Here is the relevant section from my own ini file

Code: Select all

[Engine.Engine]
GameRenderDevice=D3D9Drv.D3D9RenderDevice
;GameRenderDevice=sdkOpenGLDrv.OpenGLRenderDevice
AudioDevice=ALAudio.ALAudioSubsystem
NetworkDevice=IpDrv.TcpNetDriver
DemoRecordingDevice=Engine.DemoRecDriver
Console=UTMenu.UTConsole
Language=int
GameEngine=Engine.GameEngine
EditorEngine=Editor.EditorEngine
;WindowedRenderDevice=SoftDrv.SoftwareRenderDevice
WindowedRenderDevice=OpenGLDrv.OpenGLRenderDevice
;WindowedRenderDevice=sdkOpenGLDrv.OpenGLRenderDevice
RenderDevice=GlideDrv.GlideRenderDevice
DefaultGame=Botpack.DeathMatchPlus
DefaultServerGame=Botpack.DeathMatchPlus
ViewportManager=WinDrv.WindowsClient
Input=Engine.Input
Render=Render.Render
Canvas=Engine.Canvas
;Render=sdkRender.sdkRender
;Canvas=sdkEngine.sdkCanvas
CdPath=R:
RunCount=2221
Links to the updated renderers and Hi-res textures for Unreal engine games are on my page.
http://my.opera.com/Unreal-Tournament/b ... tournament
:!: WARNING - DO NOT USE THE REPLACEMENT TEXTURES FOR EDITING NORMAL UT MAPS :!:

Re: Edited int files for advanced tweaking (BENEFITS ALL USE

Posted: Mon Mar 26, 2012 5:32 am
by MrLoathsome
I have a question regarding using this method with a mutator that has
some of the config variables in structures.

Attempted to use this with a new SwarmSpawner mutator I am working on.
The variables all show up in the advanced settings as they should, and
I can change the variables that are not Struct's, but the data inside
structures seems to be unmodifiable via the adv. settings menu.
It does display the data fine if it exists in the ini file however.

I suspect the answer is "it cant be done", but thought I would post the inquiry anyway.

Here is the int file I am using:

Code: Select all

[Public]
Object=(Name=SwarmSpawn.SS,Class=Class,MetaClass=Engine.Mutator,Description="SwarmSpawn")
Preferences=(Caption="Mutators",Parent="Advanced Options")
Preferences=(Caption="SwarmSpawn",Parent="Mutators",Class=SwarmSpawn.SS,Immediate=True)
This is how the data is defined in the mutator code:

Code: Select all

var config int NumSwarms;
var config int CheckRate;

var config bool bDebugMode;

struct SwarmInfoType
{
	var String SwarmClass;
	var int SwarmSize;
	var float SDS;
};

var config SwarmInfoType SwarmInfo[4];

struct SwarmSettingsType
{
	var String SettingName;
	var String SettingValue;
	var bool bPreSpawn;
};

var config SwarmSettingsType SwarmSettings0[4];
var config SwarmSettingsType SwarmSettings1[4];
var config SwarmSettingsType SwarmSettings2[4];
var config SwarmSettingsType SwarmSettings3[4];
And here is what the ini file looks like:

Code: Select all

[SwarmSpawn.SS]
NumSwarms=4
CheckRate=60
bDebugMode=True
SwarmInfo[0]=(SwarmClass="UnrealShare.Cow",swarmsize=3,SDS=0.250000)
SwarmInfo[1]=(SwarmClass="NewBirds.Bird2",swarmsize=1,SDS=2.000000)
SwarmInfo[2]=(SwarmClass="NewBirds.Bird3",swarmsize=4,SDS=0.500000)
SwarmInfo[3]=(SwarmClass="UnrealShare.Brute",swarmsize=1,SDS=1.000000)
SwarmSettings0[0]=(SettingName="bHasBaby",SettingValue="True",bPreSpawn=True)
SwarmSettings0[1]=(SettingName="bGreenBlood",SettingValue="True",bPreSpawn=False)
SwarmSettings0[2]=(SettingName="",SettingValue="",bPreSpawn=False)
SwarmSettings0[3]=(SettingName="",SettingValue="",bPreSpawn=False)
SwarmSettings1[0]=(SettingName="BirdColor",SettingValue="3",bPreSpawn=True)
SwarmSettings1[1]=(SettingName="",SettingValue="",bPreSpawn=False)
SwarmSettings1[2]=(SettingName="",SettingValue="",bPreSpawn=False)
SwarmSettings1[3]=(SettingName="",SettingValue="",bPreSpawn=False)
SwarmSettings2[0]=(SettingName="BirdColor",SettingValue="5",bPreSpawn=True)
SwarmSettings2[1]=(SettingName="",SettingValue="",bPreSpawn=False)
SwarmSettings2[2]=(SettingName="",SettingValue="",bPreSpawn=False)
SwarmSettings2[3]=(SettingName="",SettingValue="",bPreSpawn=False)
SwarmSettings3[0]=(SettingName="GroundSpeed",SettingValue="250",bPreSpawn=False)
SwarmSettings3[1]=(SettingName="JumpZ",SettingValue="360",bPreSpawn=False)
SwarmSettings3[2]=(SettingName="",SettingValue="",bPreSpawn=False)
SwarmSettings3[3]=(SettingName="",SettingValue="",bPreSpawn=False)
All the values show up in the adv. preferences menu the way I want them to, but
only the 1st 3 are modifiable.....

If I take the variables out of the structures, both the lists in the adv preferences menus and in the
ini file become very "user unfriendly".
(And would be even more so when I increase the # of Swarms and Settings for each... Just have it at 4 for testing atm.)

Or maybe somebody could tell me a compiler directive that will enable nested arrays. :mrgreen:

Also. I suggest either this topic become a sticky, or you could consolidate some of the examples above, and have that
post made a sticky.

May want to make a note that using this technique will add lines for empty array elements in your ini.
For example, an ini file created with a text editor with 4 settings in it, 2 of the settings are value[0] in
an array of 512. Those settings are optional. If the mutator doesn't find them, they are assumed to
be zero, null, false etc.

The original ini file has 4 lines in it.

If you adjust any setting for the mutator, you will end up with an ini file that has 1026 lines in it...
All but 4 will be empty. Back up your ini's and/or be aware of this before using.

It might also be useful to add a bit explaining how to make the Advanced Preferences menu item show up
in the UT menu so that users dont have to press Tab and type 'Preferences' every time.
(I admit it, did a clean install last week for editing, and seem to have forgotten how to turn that option back on..... :loool: )

Re: Edited int files for advanced tweaking (BENEFITS ALL USE

Posted: Mon Mar 26, 2012 6:13 pm
by Dr.Flay
There's always a catch to something that seems so easy !
It's sort of about time we found a serious issue to stamp on.

Yeeees, sorry about the messy thread here, I was going to get round to combining some of them. :roll:
I'd like to keep some with their specific titles, as they are easier to link to or find.

The addition of the "missing" advanced menu option, is done by installing "UsAaR33 OldSkool Amp'd"

I noticed the issue of the extra numbered spaces in a few mods/mutators. Notably "Monsterspawn".
It does seem the engine likes having some spare entries in numbered sections.

Re: Edited int files for advanced tweaking (BENEFITS ALL USE

Posted: Tue Jan 08, 2013 8:53 pm
by Dr.Flay
Actually, with a view on the future, I would like to point out another of my INT edits.
This is based on the new Unreal "Startup.int "

Code: Select all

[Descriptions]
OpenGLDrv.OpenGLRenderDevice=Use Unreal advanced OpenGL support. Provides best performance and support for high-end grafix cards. High resolution texture support.
SoftDrv.SoftwareRenderDevice=Unreal's built-in software renderer.  Compatible with all video cards.
GlideDrv.GlideRenderDevice=3dfx Glide support, the optimal choice for 3dfx owners.  3dfx card required.
D3DDrv.D3DRenderDevice=Use Direct3D hardware rendering. Compatible with older video cards. Not recommended for use with very early video cards--use the Software Renderer if you have an ATI Rage Pro, Riva 128, Intel i740, or Rendition V2200.
D3D8Drv.D3D8RenderDevice=Use Direct3D8 hardware rendering. Compatible with most video cards. High resolution texture support
D3D9Drv.D3D9RenderDevice=Use DirectX 9 hardware rendering. Compatible with newer video cards.  Not recommended for use with earlier video cards--use the D3D Renderer if you have a Riva TNT, ATI Rage 128, Matrox G400, and S3 Savage4. High resolution texture support
MetalDrv.MetalRenderDevice=For users with S3 Savage4 video cards.
I should add the DX10 and 11 renderers, but we should probably decide on a standard for "Direct3D9" or "DirectX 9"
Also what would be suitable for the DX10 and 11 info/descriptions ?
It is up to us, as we are forging our own path into the future, so I would suggest people also submit any other changes or additions.

Re: Edited int files for advanced tweaking (BENEFITS ALL USE

Posted: Wed Jan 09, 2013 1:25 am
by UT99.org
billybill wrote:thanks for this. something I was always interested in. Many of these should be added to a the original game! I like the way these files can override names and other settings. You know int is for "international" and there are also other langauges .est for espanol, frt for french text, russian, italian, german, hungarian and hopefully we can have some more one day

Re: Edited int files for advanced tweaking (BENEFITS ALL USE

Posted: Wed Jan 09, 2013 8:19 pm
by Dr.Flay
Exactly what I am thinking.
I have been planning something similar to the Oldunreal Media Pack, so fresh UT installs can be made up-to-date with 1 file.
Originally I was thinking of using UMOD, but I may just have it over-write the necessary files.

I will add some more descriptive info (and drop the audio section as we don't have that luxury in UT) for the graphics choices.
If we all agree on the changes, then we can start getting them translated :tu:

I have been spending too much time making and editing "INT" files for Unreal, as they did not have hardly used them to their full potential. "Enhanced DM 6" for Unreal has been frying my head, but I've almost nailed it.

Re: Edited int files for advanced tweaking (BENEFITS ALL USE

Posted: Wed Jan 09, 2013 9:48 pm
by UT99.org
billybill wrote:wouldn't be hard to make a script that generates new language files. However every time people use google translate they end up with gramatical errors and such which is what stops me from doing so. I could post em anyway and have 2 lists one of reviewed by a native language speaker and one not yet reviewed

Re: Edited int files for advanced tweaking (BENEFITS ALL USE

Posted: Sat Jan 12, 2013 11:29 pm
by Dr.Flay
I have been working on a few of the system default INT files, as I feel they are a bit lacking...
"UnrealI.int" and "UnrealShare.int" both need updating/fixing, and the "Startup.int" needs the addition of the new info for modern renderers.

Here is current changes (unfinished) of "Startup.int"

Code: Select all

[Descriptions]
SoftDrv.SoftwareRenderDevice=Unreal Tournament's built-in software renderer.  Compatible with all video cards.
GlideDrv.GlideRenderDevice=3dfx Glide support, the optimal choice for 3dfx owners.  3dfx card required.
D3DDrv.D3DRenderDevice=Use Direct3D hardware rendering. Compatible with Win9x era video cards, like the Riva TNT, ATI Rage 128, Matrox G400, and S3 Savage4.  Not recommended for use with earlier video cards--use the Software Renderer if you have an ATI Rage Pro, Riva 128, Intel i740, or Rendition V2200.
D3D8Drv.D3D8RenderDevice=Use DirectX 8 hardware rendering. Compatible with Win9x/ME/2000 era video cards. Made by Chris Dohnal.
D3D9Drv.D3D9RenderDevice=Use DirectX 9 hardware rendering. Compatible with newer video cards.  High resolution S3TC texture support. Not recommended for use with earlier video cards--use the D3D Renderer if you have a Riva TNT, ATI Rage 128, Matrox G400, and S3 Savage4. Made by Chris Dohnal.
D3D10Drv.D3D10RenderDevice=Use DirectX 10 hardware rendering. Compatible with Windows Vista and upwards with newer video cards. High resolution S3TC texture support. Made by Kentie.
D3D11Drv.D3D11RenderDevice=Use DirectX 11 hardware rendering. Compatible with newest video cards, and Windows Seven. High resolution S3TC texture support. Made by Kentie.
OpenGLDrv.OpenGLRenderDevice=Use advanced OpenGL support. Provides best performance and support for most high-end graphics cards. High resolution S3TC texture support. Made by Chris Dohnal.
sdkOpenGLDrv.OpenGLRenderDevice=Experimental SDK OpenGL support. This is provided for testing and experimentation, High resolution S3TC texture support.  Made by Shadow.
MetalDrv.MetalRenderDevice=For users with S3 Savage4 video cards.
I Also feel that the renderer INT files need some attention to coincide with this.
eg. the basic D3DDrv.int

Code: Select all

[Public]
Object=(Name=D3DDrv.D3DRenderDevice,Class=Class,MetaClass=Engine.RenderDevice,Autodetect=)
Preferences=(Caption="Rendering",Parent="Advanced Options")
Preferences=(Caption="Direct3D support",Parent="Rendering",Class=D3DDrv.D3DRenderDevice,Immediate=True)

[D3DRenderDevice]
ClassCaption="Direct3D Support"
AskInstalled=Do you have a DirectX 7 compatible 3D accelerator installed?
AskUse=Do you want to use your DirectX 7 accelerator?

[Errors]
MissingFunc=Missing Direct3D function %s (%i)
ResFailed=Failed to set resolution
Hopefully if people realise that the original D3D renderer is aimed at DX7 Windows 9x era PCs, they will avoid using it.

Also I have been looking at what to add and change in "Default.ini" for example, I will be adding the defaults for the new renderers, so they can be reset (audio and video, mainly to enable S3TC compressed textures).
Defaults will be aimed at compatibility, not speed or quality.

I'll attatch my newest tweaked INT files for people to have a play with. (THESE ARE NOT FINISHED) and just for feedback purposes (You can use them. They will not break anything).

Re: Edited int files for advanced tweaking (BENEFITS ALL USE

Posted: Sun Jan 13, 2013 12:51 pm
by papercoffee
Are both posts identical ?? I got a déjà-vu...