XC_Engine [20] - XC_Core [7b] - XC_IpDrv

User avatar
Dr.Flay
Godlike
Posts: 3347
Joined: Thu Aug 04, 2011 9:26 pm
Personal rank: Chaos Evangelist
Location: Kernow, UK

Re: XC_GameEngine [private] [windows]

Post 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.
UT99.org

Re: XC_GameEngine [private] [windows]

Post 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)
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_GameEngine [private] [windows]

Post 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.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_GameEngine [private]

Post by Higor »

Just updating the first post, given I was able to get a Linux build (removing the EditObject command)
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_GameEngine [private]

Post 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.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_GameEngine [private]

Post 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
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.
You do not have the required permissions to view the files attached to this post.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

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

Post 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:
User avatar
papercoffee
Godlike
Posts: 10433
Joined: Wed Jul 15, 2009 11:36 am
Personal rank: coffee addicted !!!
Location: Cologne, the city with the big cathedral.

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

Post 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??
User avatar
Chamberly
Godlike
Posts: 1963
Joined: Sat Sep 17, 2011 4:32 pm
Personal rank: Dame. Vandora
Location: TN, USA

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

Post by Chamberly »

Modification patch? lol. Because the coding is all behind this anyway.
Image
Image
Image Edit: Why does my sig not work anymore?
User avatar
papercoffee
Godlike
Posts: 10433
Joined: Wed Jul 15, 2009 11:36 am
Personal rank: coffee addicted !!!
Location: Cologne, the city with the big cathedral.

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

Post by papercoffee »

Then... moving it into "Modifications" would be the better solution.

Moved ;)
User avatar
[rev]rato.skt
Adept
Posts: 438
Joined: Mon Aug 16, 2010 1:09 pm

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

Post 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
Brazilian Server:
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_GameEngine [test build 3]

Post 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.
User avatar
Chamberly
Godlike
Posts: 1963
Joined: Sat Sep 17, 2011 4:32 pm
Personal rank: Dame. Vandora
Location: TN, USA

Re: XC_GameEngine [test build 3]

Post by Chamberly »

Awesome! Will check it out when I get back from work.
Image
Image
Image Edit: Why does my sig not work anymore?
User avatar
[rev]rato.skt
Adept
Posts: 438
Joined: Mon Aug 16, 2010 1:09 pm

Re: XC_GameEngine [test build 3]

Post 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
Brazilian Server:
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
~V~
Average
Posts: 39
Joined: Thu Dec 13, 2012 5:13 am

Re: XC_GameEngine [test build 3]

Post by ~V~ »

Using IP on startup command now works in V3. No crash.
irc.globalgamers.net #uscript
http://irc.lc/globalgamers/uscript