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

Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_GameEngine [build 8 - Faster upload - MH related fixe

Post by Higor »

Line checks are a total bitch to do, so I decided to store all pointers to the octree nodes into multiple grids (one grid per depth).
Given that I defined MAX_OCTREE_DEPTH to 7, these grids will take up ~10mb of memory.
At least I'll be able to locate subnodes directly based on vectors instead of looping the whole tree.

Btw, the main weakness of this tree are map wide traces, they cause a huge amount of AABB checks I really need to cut down.
Once I get that properly optimized, I may venture into including movers on the new system as well.
User avatar
Wises
Godlike
Posts: 1089
Joined: Sun Sep 07, 2008 10:59 am
Personal rank: ...

Re: XC_GameEngine [build 8 - Faster upload - MH related fixe

Post by Wises »

thanks chamberly and yep I think so cheers.

anthchecker servers are outdated and the mod has long ago not been supported and is likely to block probably alot of new renderers etc.
User avatar
Chamberly
Godlike
Posts: 1963
Joined: Sat Sep 17, 2011 4:32 pm
Personal rank: Dame. Vandora
Location: TN, USA
Contact:

Re: XC_GameEngine [build 8 - Faster upload - MH related fixe

Post by Chamberly »

Sometime anthchecker do serve it's purpose. I wouldn't want to allow a render on the white list as it may be modified with cheats inside of it. O.o or something.

It once has kicked me before when I had no default skin in the texture folder, somehow I was able to play which was weird lol but after the msg I found out I forgot to put them back in the folder after trying to apply a s3tc fix and it doesn't even work/exist... idr what happened but I reported it on the forum.

Anyway, still no crashes and such. Tried to change windowed render but it didn't seem to make much changes, still dark to see in the game. Not sure what to do there. WindowedRenderDevice=OpenGLDrv.OpenGLRenderDevice was the one I changed. RenderDevice=GlideDrv.GlideRenderDevice I don't even know what it is used for lol. eh... just trying to do something.
Image
Image
Image Edit: Why does my sig not work anymore?
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_GameEngine [build 8 - Faster upload - MH related fixe

Post by Higor »

Third octree build
- Added Hook.cpp to shows how the thing is setup.
- Added a grid class, it's a protected dynamic array with custom accessors that allocates the octree node references grid.
- FCollisionCacus creates 1 + MAX_OCTREE_DEPTH grids.
- MAX_OCTREE_DEPTH changed from 7 to 6
- Added FCollisionOctree::FastLineQuery.
--- Checks the parent node hierarchy (and current node) actors without doing AABB traces.
--- Checks child nodes recursively using normal LineQuery.
- FCollisionCacus will attempt to locate a trace's smallest possible block using the grid and call FastLineQuery on it.
--- The check is down from the biggest grid (smallest blocks) to smallest grid (2x2x2 blocks).
--- If no grid contains the trace in a single block, it means the trace goes across the main (depth 0) node, so instead call default LineQuery on it, which recursively does LineQuery on child nodes.

Line checks are still not as fast as the hash, but bear in mind this thing is calling the hash's functions for movers.
I should instead focus on speeding up individual actor raytraces instead.
Attachments
XC_Engine_octree_test3.7z
(54.56 KiB) Downloaded 60 times
User avatar
sektor2111
Godlike
Posts: 6424
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_GameEngine [build 8 - Faster upload - MH related fixe

Post by sektor2111 »

Oops...
Ops.jpg
Ops.jpg (9.31 KiB) Viewed 2560 times
It was a local launch.

Edit: Unallowed 2 posts in 24 hours - Rules or such
Here is the log:

Code: Select all

Log: Bound to XC_Engine.dll
XC_Engine: === XC_ENGINE - Experimental octree build ===
XC_Engine: ================= By Higor ==================
Init: Unreal engine initialized
Log: Bound to WinDrv.dll
Init: Mouse info: 0 0 0
Init: Initializing DirectDraw
Log: DirectDraw drivers:
Log:    display (Primary Display Driver)
Init: DirectDraw initialized successfully
Init: DirectInput initialized successfully.
Init: Client initialized
Log: Bound to Render.dll
Init: Lighting subsystem initialized
Init: Rendering initialized
XC_Engine: LoadMap intercept begin...
Log: LoadMap: Entry
Log: Bound to Fire.dll
Log: Bound to IpDrv.dll
Log: Game class is 'UTIntro'
Log: Level is Level Entry.MyLevel
Log: Bringing Level Entry.MyLevel up for play (0)...
ScriptLog: InitGame: 
ScriptLog: Base Mutator is Entry.Mutator0
XC_Engine: Checking for Moving Brush Tracker insertion...
XC_Engine: LoadMap intercept: Level is LevelInfo Entry.LevelInfo0
XC_Engine: Browse() Start: unreal  7777
Log: Browse: UT-Logo-Map.unr?Name=N..?Class=Botpack.TFemale1?team=2?skin=FCommandoSkins.daco?Face=FCommandoSkins.kyla?Voice=BotPack.VoiceFemaleOne?OverrideClass=
XC_Engine: LoadMap intercept begin...
Log: LoadMap: UT-Logo-Map.unr?Name=N...?Class=Botpack.TFemale1?team=2?skin=FCommandoSkins.daco?Face=FCommandoSkins.kyla?Voice=BotPack.VoiceFemaleOne?OverrideClass=
Log: Collecting garbage
Log: Purging garbage
Log: 0.0ms Unloading: Package Render
Log: Garbage: objects: 15402->15401; refs: 172831
Log: Game class is 'UTIntro'
Log: Level is Level UT-Logo-Map.MyLevel
Log: Bringing Level UT-Logo-Map.MyLevel up for play (0)...
ScriptLog: InitGame: ?Name=N...?Class=Botpack.TFemale1?team=2?skin=FCommandoSkins.daco?Face=FCommandoSkins.kyla?Voice=BotPack.VoiceFemaleOne?OverrideClass=
ScriptLog: Base Mutator is UT-Logo-Map.Mutator1
Init: Initialized moving brush tracker for Level UT-Logo-Map.MyLevel
XC_Engine: LoadMap intercept: Level is LevelInfo UT-Logo-Map.LevelInfo0
XC_Engine: Browse() End
Log: Bound to UWeb.dll
ScriptLog: Team 2
ScriptLog: Login: Nelsona
Log: Possessed PlayerPawn: TFemale1 UT-Logo-Map.TFemale0
Init: Input system initialized for WindowsViewport0
Log: Opened viewport
Log: Bound to D3D9Drv.dll
Log: Initializing D3D9Drv...
Log: Enter SetRes()
Log: D3D adapter driver      : igxprd32.dll
Log: D3D adapter description : Intel(R) 82945G Express Chipset Family
Log: D3D adapter id          : 0x8086:0x2772
Init: Failed to create D3D device with hardware vertex processing (0x8876086C)
Init: Depth bits: 24
Log: 8 Texture Mapping Units found
Log: Trying to use S3TC extension.
Log: MinLogTextureSize = 2
Log: MaxLogTextureSize = 11
Log: UseDetailAlpha = 1
Log: Bound to Galaxy.dll
Init: Galaxy is using DirectSound
Init: EAX 1.x sound hardware found!
Init: Galaxy initialized
DevAudio: Galaxy SetViewport: WindowsViewport0
Init: Game engine initialized
Init: XC_Engine Travel Manager initialized
XC_Engine: GameInfo.PreLogin hook success
XC_Engine: UT_Eightball.NormalFire.Tick hook success
XC_Engine: Bot's bSetOrders hook success
Critical: UXC_GameEngine::SetupCollisionCacus
Critical: UXC_EngineHook
Critical: UXC_GameEngine::Init
Critical: InitEngine
Exit: Executing UObject::StaticShutdownAfterError
Exit: Executing UWindowsClient::ShutdownAfterError
Exit: UGalaxyAudioSubsystem::ShutdownAfterError
Log: DirectDraw End Mode
Exit: UD3D9RenderDevice::ShutdownAfterError
Exit: Exiting.
Uninitialized: Name subsystem shut down
Uninitialized: Log file closed, 02/07/15 20:46:55
Last edited by sektor2111 on Sat Feb 07, 2015 7:54 pm, edited 3 times in total.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_GameEngine [build 8 - Faster upload - MH related fixe

Post by Higor »

Version, local map.
I'm unable to crash it here.

EDIT:
The log (and the messages pre-crash) might be of use as well-

EDIT2:
Dumb mistake on my side, next build should be ok.

EDIT3:
And yeah, the crash was being caused by a malformed 'debugf' log command, lmao.
Either way, trying to put some SSE instructions into this piece of crap and I get compiler errors...
Time to ehrmm... 'upgrade'... my VC++ 6.0 Standard into Proffesional (+ processor pack).
User avatar
sektor2111
Godlike
Posts: 6424
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_GameEngine [build 8 - Faster upload - MH related fixe

Post by sektor2111 »

Oh yeah, might be good to have a better Processor support using all available instructions... :rock:
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_GameEngine [build 8 - Faster upload - MH related fixe

Post by Higor »

Changes in octree build 4:
- Fixed initial hook crash, now log properly displays map name.
- FPrecomputedRay now stores XAxis and YAxis used for rotating actor coordinates into faster checks.
- Reimplemented faster versions of Actor line checks on FPrecomputedRay.
--- Slight inaccurate behaviour when tracing vertically from inside the cylinder.
- Implemented FastPointCheck (analogous to FastLineCheck), barely used though.
- Changed most normalization functions into the ones defined in UnXC_Math.h, should speed things up.


Rebuilt with VC++ 6.0 Professional edition SP5, DLL takes up less space for magical reasons.
Performance-wise, line checks are a bit slower than with default hash (20 to 50 % slower), but I suspect the AddActor/RemoveActor being constantly issued are also impacting performance here, I didn't implement the grid locator here yet and the actor array is being handled inefficiently.
Basically, the Line<->Cylinder checks I'm using are faster than default ones, but the octree box checks are holding performance back now, it's either that or perform the same checks into more actors that aren't going to be hit anyways, by design the octree system will contribute into discarding huge actor clusters and will always favor maps with over 100 actors moving around.

Did I mention what a nightmare porting the SSE changes to GCC 2.95.4 is going to be for the Linux build?
I may attempt to use UE3's AABB ray checks temporarily to see if it really means any performance gain/loss as well.
Also, it's high time I stopped calling the default hash's functions for movers and finally put the movers on the octree.
Attachments
XC_Engine_octree_test4.7z
(61.71 KiB) Downloaded 59 times
User avatar
sektor2111
Godlike
Posts: 6424
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_GameEngine [build 8 - Faster upload - MH related fixe

Post by sektor2111 »

I'll keep v8 until you'll fix a few things Pawn related:
- Bot can teleport in me and I feel pushed not killed - also I cannot evade in combat using telefraging because enemy is not gibbed only if you can teleport out of it faster in next moment;
- I saw monster pushed slowly into the roof :?: ;
MonsterPush.jpg
- and surprisingly later I have been pushed up too exactly like monsters :?: . I could restore normal locomotion using translocator or after geting a hit from any enemy. This event happened after a respawn.
MeToo.jpg
As long as translocating is normal into my games, this version of XC_Engine doesn't help me. I was using XC_Engine into 451b server (non MH), and as client a 436 clean, nothing special.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_GameEngine [build 8 - Faster upload - MH related fixe

Post by Higor »

"--- Slight inaccurate behaviour when tracing vertically from inside the cylinder."
Another arbitrary behaviour on epic's traces, I'll attempt to replicate the behaviour as much as I can while I implement movers into the octree.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_GameEngine [build 8 - Faster upload - MH related fixe

Post by Higor »

Changes on build 5:
- Movers now added into the octree nodes instead of the old hash.
--- Added into their own BrushMover array for faster checks.
- All queries except (Mover->Actor) encroachment no longer use the old hash.
- FCollisionCacus::AddActor now uses the node grids (from MAX_OCTREE_DEPTH to 0).
--- Recursive FCollisionOctree::InsertActor removed.
- Fixed both Actor->Actor and Mover->Actor encroachment queries.
--- Were checking current position instead of future position.
- Fixed most FPrecomputedRay bugs.
--- Vertical traces now have the same behaviour as old ones.
--- Added Quick Z reject on non-vertical traces.
--- Fixed bug causing traces touching the flat part of a cylinder to have an incorrect HitLocation.

Actor movement timings are barely 10% higher than the old hash ones now (AddActor and RemoveActor were to blame after all).
Long traces timings are 0% ~ 25% higher as well, and to sum up Mover->Actor encroachment checks are up to 400% faster (maps with rotating movers will like this).
If no bugs come from this I might consider releasing as build 9 after some minor adjustments/cleanups.
Attachments
XC_Engine_octree_test5.7z
(65.3 KiB) Downloaded 65 times
User avatar
sektor2111
Godlike
Posts: 6424
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_GameEngine [build 8 - Faster upload - MH related fixe

Post by sektor2111 »

After a few minutes of playing with a lot of pawns I couldn't see anything to disturb the party. Question: For release 9 can you add (or you have added ?) fixes from ServerCrashFix, Unreliable exploit, lunch bug, etc. protections in purpose to run with v436 ? I'm not sure what's your feeling but I wanna get rid of any v451. If cannot be solved then I'll try to live with that as it is.
User avatar
Wises
Godlike
Posts: 1089
Joined: Sun Sep 07, 2008 10:59 am
Personal rank: ...

Re: XC_GameEngine [build 8 - Faster upload - MH related fixe

Post by Wises »

+1 adding in security patches into b9

would save looking everywhere for patches.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_GameEngine [build 8 - Faster upload - MH related fixe

Post by Higor »

I've never looked into those earlier, the only one I'm familiar with is the SecureValidate exploit.
If I get to know how each of those exploits work and where the cause is I may be able to do something about those.

PD: PC died, again.
I'm stuck with a nasty Windows 8.0 laptop, lucky for me I got my UT dev files at hand, can't say the same about my 14gb of UT content or the compilers (for now).
Things are gonna be a bit slower from now on.
User avatar
Wises
Godlike
Posts: 1089
Joined: Sun Sep 07, 2008 10:59 am
Personal rank: ...

Re: XC_GameEngine [build 8 - Faster upload - MH related fixe

Post by Wises »

bugger ^ :/

heres info on the ADV Patch; http://www.unrealadmin.org/forums/showt ... hp?t=30035 (post 451 Patch)

the launch problem I think was resolved in version(s) 440-451

and secure validate is addressed in XServer Query.

as for ServerCrash Fix : http://www.unrealadmin.org/forums/forum ... .php?f=177 (post 451 Patch)

latest version : http://www.unrealadmin.org/forums/showt ... hp?t=30118

and a big Assed list of vulnerabilities likely addressed by now: http://www.cvedetails.com/vulnerability ... ngine.html

-----------------------------------------------------------------------------------------------------------

what happened to pc? power supply ? , beep beep beeping when starting ?..

for power supplies try these puppies; http://www.fsp-europe.com/aurum92plus_650.php

for the beeping issues check Ram / Graphics card.

also check board for blown capacitors ~ intermittant cutouts.

if its heat related issues then use SpeedFan to check .. and or whip it down to the local pc shop for a good blow out.. also get Graphics Card blown out as well..
Post Reply