Page 2 of 72

Re: XC_GameEngine [private] [windows]

Posted: Mon Aug 11, 2014 1:16 am
by Dr.Flay
Cool. A new package helper could be used to add the new renderers.
It is only something you could trust to a security aware tool.

Re: XC_GameEngine [private] [windows]

Posted: Wed Aug 13, 2014 12:07 pm
by UT99.org
billybill wrote:I wanted to ask Higor, if a server changes the map at the last second, or only tells the client once the new map is loading. Example from client-side being the map name is different to what it says it's going to be. Might say connecting to DM-Gothic but then you change to another map. Do you know if this recaches that map so the client would actually be caching both maps or would it be one and then the other, or does no caching take place?

Second regarding this project, don't forget about this thread http://www.ut99.org/viewtopic.php?f=15&t=5721 (Also on that note, loathsome's suggestion of changing settings at the end of the map is crazy, settings need to change the moment the client disconnects. Or where appropriate: settings are saveconfig()ed before being changed, seems to work in a lot of cases)

Re: XC_GameEngine [private] [windows]

Posted: Thu Aug 14, 2014 2:01 am
by Higor
- Client only loads a map when the server has already transferred the huge network communication table that contains packages and classes, and a few replicated actors.
- The server may redirect you to other URL's via mods.
- The server may lie about it's active map on the query tab.

The client displaying an erroneous map name is a bug caused by name-caching (guessing) during connection, ideally the map name should only be displayed during connection AFTER the UPackageMap network list is transferred.

Re: XC_GameEngine [private]

Posted: Sat Aug 16, 2014 11:20 pm
by Higor
Just updating the first post, given I was able to get a Linux build (removing the EditObject command)

Re: XC_GameEngine [private]

Posted: Mon Sep 01, 2014 3:27 am
by Higor
Interesting enough, the inventory passed from map to map is a TMap<FString,FString> where the first element is the Player name, and second one a list of actors and properties.

Code: Select all

    Log: [XC_ENGINE] Higor >
    Class=Botpack.TMale2 Name=TMale1
    {
    Weapon=ImpactHammer0
    ImpactHammer'CTF-MayakBetaE.ImpactHammer0'
    }
    Class=Botpack.Translocator Name=Translocator0
    {
    }
    Class=Botpack.ImpactHammer Name=ImpactHammer0
    {
    AutoSwitchPriority=24
    }
    Class=Botpack.Miniammo Name=Miniammo12
    {
    AmmoAmount=30
    }
    Class=Botpack.enforcer Name=enforcer0
    {
    AmmoType=Miniammo12
    Miniammo'CTF-MayakBetaE.Miniammo12'
    AutoSwitchPriority=22
    }
I wonder at what stage the items are given to the player.

A few extra stuff has been added as well (seen in the first post).

Learning lots of things about how UnrealScript works in conjunction with native code.
The interesting part is that any app can properly have it's own scripting engine provided they have some sort of compiler, class system with default objects and a global field system for properties and functions.
To think such a system was designed for a game back in 1996 truly amazes me.

Re: XC_GameEngine [private]

Posted: Wed Sep 10, 2014 7:58 am
by Higor
Added an extra 'hook' which replaces a pure UScript function in runtime, the candidate was GetWeapon.
What it does, is to rewrite the compiled opcodes of said function altering it's behaviour.

The new GetWeapon will:
- Search for weapon subclasses instead of exact matches (like UTPure)
- Will cycle through weapons of matching subclasses (GetWeapon Weapon is funky)
- Will not fail to bring up a weapon if player has no weapon selected.

Since GetWeapon is a function executed serverside, ALL clients will benefit from this enhacement if they use weapon binds.

Below I have attached the source of the function (and it's inline macros) that rewrite GetWeapon.
Warning: HUGE UNREALSCRIPT KNOWLEDGE BOMB :ironic:
_GetWeapon_.zip
(5.99 KiB) Downloaded 119 times
You may hop onto Image and try the GetWeapon commands yourself, pick any CTF/Siege gametype that has LCWeapons and try either default UT weapon names or simply 'Weapon' and you'll notice the difference.

Re: XC_GameEngine [test build - speed/timing fix]

Posted: Wed Sep 24, 2014 12:34 am
by Higor
Updated first post.
Test build 2 available.
(forgot to change the building number in binary... oops)

Papercoffee, what forum section do you thing it's appropiate to put this into... it looks more of a patch/extension than a 'mod' or anything :loool:

Re: XC_GameEngine [test build - speed/timing fix]

Posted: Wed Sep 24, 2014 2:23 am
by papercoffee
Hm... but it's still a "modification" somehow.

I did see only now that this thread is floating in "General Discussions".
I would move it to "Modifications" or better into the coding section?
Dr.Flay what do you think??

Re: XC_GameEngine [test build - speed/timing fix]

Posted: Wed Sep 24, 2014 5:27 am
by Chamberly
Modification patch? lol. Because the coding is all behind this anyway.

Re: XC_GameEngine [test build - speed/timing fix]

Posted: Thu Sep 25, 2014 12:20 am
by papercoffee
Then... moving it into "Modifications" would be the better solution.

Moved ;)

Re: XC_GameEngine [test build - speed/timing fix]

Posted: Sat Oct 04, 2014 1:31 am
by [rev]rato.skt
================= By Higor ==================
Detected version 451 GameEngine
Unreal engine initialized
Browse() Start: unreal 7777
Browse: DM-Curse][.unr?Name=Player?Class=Botpack.TMale2?team=0?skin=SoldierSkins.blkt?Face=SoldierSkins.Othello?game=Botpack.DeathMatchPlus?mutator=CacusMapVote.CacusMapVote
LoadMap intercept begin...
LoadMap: DM-Curse][.unr?Name=Player?Class=Botpack.TMale2?team=0?skin=SoldierSkins.blkt?Face=SoldierSkins.Othello?game=Botpack.DeathMatchPlus?mutator=CacusMapVote.CacusMapVote
Case-insensitive search: utcrypt -> ../Textures/UTcrypt.utx
Bound to Fire.so
Case-insensitive search: Botpack -> ../System/BotPack.u
Bound to IpDrv.so
Case-insensitive search: SKYBox -> ../Textures/SkyBox.utx
Case-insensitive search: Ambancient -> ../Sounds/AmbAncient.uax
Case-insensitive search: shaneDAY -> ../Textures/ShaneDay.utx
Collecting garbage
Signal: SIGSEGV [segmentation fault]
Aborting.
Exiting.
Name subsystem shut down
Allocation checking disabled
Segmentation fault (core dumped)


here gave error, the server does not start

[Engine.Engine]
GameEngine=XC_Engine.XC_GameEngine
GameRenderDevice=D3DDrv.D3DRenderDevice
AudioDevice=Galaxy.GalaxyAudioSubsystem
NetworkDevice=IpDrv.TcpNetDriver
DemoRecordingDevice=Engine.DemoRecDriver
Console=UTMenu.UTConsole
Language=int
EditorEngine=Editor.EditorEngine
WindowedRenderDevice=SoftDrv.SoftwareRenderDevice
RenderDevice=GlideDrv.GlideRenderDevice
DefaultGame=Botpack.DeathMatchPlus
DefaultServerGame=Botpack.DeathMatchPlus
ViewportManager=WinDrv.WindowsClient
Render=Render.Render
Input=Engine.Input
Canvas=Engine.Canvas
CdPath=C:\uts1inst
RunCount=5

Re: XC_GameEngine [test build 3]

Posted: Sat Oct 04, 2014 7:03 am
by Higor
What's the command line on that server? (ucc bla bla)

===========================================

UPDATED
- Fixed crash when starting the game with an IP as command line (direct server join).
- Fixed bug causing non-redirected maps being unable to be sent.
- Moving brush tracker fixer can be toggled.
- Map list sorting features, very useful if your OS isn't sorting the map list when calling GetMapName() >>> useful for mapvotes.
- Maps marked as not downloadable no longer require a redirect to be sent to clients.

Re: XC_GameEngine [test build 3]

Posted: Sat Oct 04, 2014 11:37 am
by Chamberly
Awesome! Will check it out when I get back from work.

Re: XC_GameEngine [test build 3]

Posted: Sun Oct 05, 2014 3:10 am
by [rev]rato.skt
./ucc-bin server "DM-Deck16][.unr?game=Botpack.DeathMatchPlus?mutator=CacusMapVote.CacusMapVote" -ini=UnrealTournament.ini -MULTIHOME=189.1.164.75 -userini=User.ini -log=ut99.log -nohomedir &


now i go test in XC_Engine_03.zip

Re: XC_GameEngine [test build 3]

Posted: Sun Oct 05, 2014 11:54 pm
by ~V~
Using IP on startup command now works in V3. No crash.