Giter VIP home page Giter VIP logo

csgo-demos-manager's Introduction

csgo-demos-manager's People

Contributors

0burner avatar akiver avatar biggkanz avatar corysanin avatar crowdin-bot avatar decarlec avatar egemenkus avatar fgonzalezlopez avatar fliessendwasser avatar giacobot avatar green-s avatar incplusplus avatar leonardopml avatar lupohan44 avatar mad-kingu avatar master117 avatar monxas avatar moritzuehling avatar murkyyt avatar mvinoba avatar naextec avatar noplagiarism avatar reddeadluigi avatar ryport avatar skiletro avatar spidersouris avatar ssummer1337 avatar stormfox2 avatar thereaperr avatar treyporter avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

csgo-demos-manager's Issues

Add rounds "timeline"

Could be great to have a rounds "timeline" like this http://cevo.com/hub/csgo/pug/111639/ showing on two lines the winner of each round with icons following the reason of the round end.
With tooltip or number on each showing the number of player alive left is a plus.

"Searching account last rank" infinite loop

I updated sources and compiled the project first, then analyzed some games and after analysis finished, "Searching account's last rank" appear on top and never hide. Even the "Stop" button doesn't work...

Fix faceit analyzing

Since the last update of Faceit, it seems something in the demo file changed : the demo header seems wrong or at least has changed (duration always 00:00:00, no tick nor framerate information) and all demo are triggering error at the end of the analysis, here is stacktrace :

14/06/2015 13:56: Attempted to read past the end of the stream.
StackTrace:
   at DemoInfo.BitStreamImpl.UnsafeBitStream.RefillBuffer()
   at DemoInfo.BitStreamImpl.UnsafeBitStream.ReadByte()
   at DemoInfo.DemoParser.ParseTick()
   at DemoInfo.DemoParser.ParseNextTick()
   at DemoInfo.DemoParser.ParseToEnd()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CSGO_Demos_Manager.Services.Analyzer.EbotAnalyzer.<AnalyzeDemoAsync>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CSGO_Demos_Manager.Services.DemosService.<AnalyzeDemo>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CSGO_Demos_Manager.ViewModel.HomeViewModel.<RefreshSelectedDemos>d__159.MoveNext()

Wrong demo status

Somehow it messes up the status of some demos. Some demos are shown as "win", although they are not, and with others it shows "lose" although it's a win.
In the details tab it shows the players in the wrong teams or shows the same team name for both teams.

With the second latest version I could fix this by changing the source to "ebot", but now this doesn't fix the problem anymore with the latest version.

Searching account's last rank is slow

Whenever you choose a new account to check stats for, the process of looking through the demos to see its most recent rank can take several seconds (or much more if you have a lot of demos). Adding an option to skip the process would be a good solution (ignoring the ranks), since a lot of people don't care what their rank is, and just want the stats :)

Use multiple SteamID

Implement the possibility to add multiple SteamId and select which one is in use.

Manager starts new CS GO process every time

Hello! CSGO Demos Manager starts CS:GO process every time when I press "watch demo" or "watch round" even if CSGO already started. Can CSGODM play demo in already started csgo process?

Maintain demo selection when returning from details

If I select a demo and click Details, when I'm done reviewing that info and I click Back to go back to the main view, it no longer has the selection I started with. It would be good to maintain that selection so it's easier for me to keep my "train of thought".

Heatmap selection improvements

I would like to be able to make more granular selections with the heatmap. Currently you can select only a single round or all of them, a side/both or a player and what type of event.

I'd like to create heatmaps of a specific player on a specific side (first/second half), or even a range of rounds (ecos/full buys/other).

It would also be nice to select several players instead of just one to see how a group of players working together died.

This last part isn't as important, but it would be interesting if once could get the program to identify trades and make heatmaps of where those happened. It would probably be inaccurate, but it could give some important insight for a demo.

Add user's personal stats

Add global statistics of the user (win/lose/draw ratio, kd ratio, hs ratio, avg rating, ...) in the main page.

Add support for multiple accounts

With the show only my stats option, it would be awesome to be able to add multiple accounts that you have, so it always works regardless of which account demos were created on. There should never be two of the specified IDs in the same game, so the analysis should still work similarly.

Add a distinctive mark on unparsable/erroneous demo

It should have a distinctive mark on lines where demos went into error when parsed.
Fill the line background with red or add a little icon in the first row of the table so we could easily see which demos are in a "wrong" state.

Winner in round detail is not correctly set

When analyzing, the side of the winner (CT/T) is correctly set.
If we restart the program, the side is wrong.

I think JsonProperty is set on wrong Property.
Should be :

[JsonProperty("winner")]
public Team Winner

Instead of :

[JsonProperty("winner")]
public string WinnerAsString

Can you confirm and fix @akiver ? Thx

Add "improvement over time" stats and graph

Should be really cool to see that sort of statistics to know how we improve in the game.
We select 1 or multiple periods of time or the number of last demos we want and get stats for these periods.
These data could be used to draw graph : win/lose, rating, kdr, hsr, entry kills, weapons kill rate, maps win/lose rate.

ArgumentOutOfRangeException

When starting the application, it refreshes my demo's and crashes.

Here's the stacktrace from the Windows Event Viewer:

Application: CSGODemosManager.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentOutOfRangeException
Stack:
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c__DisplayClass2.<ThrowAsync>b__3(System.Object)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
   at System.Windows.Application.RunDispatcher(System.Object)
   at System.Windows.Application.RunInternal(System.Windows.Window)
   at CSGO_Demos_Manager.App.Main()

Suggestion : Let us choose which data to show

Some information about a demo is unnecessary for me, so it takes up a lot of space.

So an option to disable "Hostname", "Type", "Client", .. would be nice.

Also when re-sizing these tables, they do not save for the next time you open the program.

Suggestion: Add custom folders

My CSGO installed on my SSD and my replays took too much space so I moved them to HDD in safe place. I would really like if you could add custom folders feature in your tool, cuz my replays folder size now compared to whole CSGO game itself.

Crash

I changed the Folder Directory to my replay Folder where i have 655 Demos now the Demo Manager crashes everytime and wont respond. Any Solutions?
16GB Ram. Windows 7 64bit
Demo Manager 64bit.

Loading demos - takes long time - keep stats for each replay so it can be deleted

So, loading demos takes about 40 sec on my system, and I only have about 50 demos.
The reason why I keep them is so I can see my stats improve (or not :)) over time.

A suggestion, when a demo has been analyzed, could csgo-manager maybe keep the stats from the demo in a database? - Ofcourse the details for a replay will be lost, but keep the information only for the "Account stats" (CTRL + E) page would be nice.

"Status" column seems broken since 2.2.0 update

I don't know what happened, but the "Status" column seems to be broken since the 2.2.0 update. I upgraded to 2.2.0, exported my custom settings as part of that upgrade, imported them back in, re-analyzed all of the non-POV demos I have, and the status column is really blank now. I used to have tons of these cells filled in for the same demos before the upgrade (with maybe the odd blank for a game that was surrendered or I was kicked from), but now, for something around 150 demos, I might have 5 of them filled in with win/loss after analyzing.

Show if the match was a win or a loss

Let's say I want to see how many wins/losses i have since I am an eagle. I should go to details to each demo, because I don't know if I'm on team 1 or team 2. Then I need to see which team is the winner just to determine if I won the match. And I have to do this for 30 demos for example. It's a simple but very useful feature in my opinion.

Add an option to not search for last rank

I have a huge mm demo archive and every time I switch player there is a extremely long wait while their rank is updated. Since I don't really care about ranks, can you let us disable this process?

Also, during the search memory usage goes from 500MB to upwards of 1300MB for me. Checking against about 550 demos if that helps.

Fix app crash

Someone on reddit reported this error causing the app crash :

13/06/2015 23:01: Object reference not set to an instance of an object. StackTrace: at CSGODemos_Manager.Services.Analyzer.DemoAnalyzer.<>cDisplayClass92_0.b0(PlayerExtended p) at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable1 source, Func2 predicate) at CSGO_Demos_Manager.Services.Analyzer.DemoAnalyzer.HandleBombExploded(Object sender, BombEventArgs e) at DemoInfo.DP.Handler.GameEventHandler.Apply(GameEvent rawEvent, DemoParser parser) at DemoInfo.GameEvent.Parse(IBitStream bitstream, DemoParser parser) at DemoInfo.DP.DemoPacketParser.ParsePacket(IBitStream bitstream, DemoParser demo) at DemoInfo.DemoParser.ParseTick() at DemoInfo.DemoParser.ParseNextTick() at DemoInfo.DemoParser.ParseToEnd() at System.Threading.Tasks.Task.Execute() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at CSGO_Demos_Manager.Services.Analyzer.ValveAnalyzer.d2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at CSGO_Demos_Manager.Services.DemosService.d_3.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at CSGODemos_Manager.ViewModel.HomeViewModel.d_159.MoveNext()

Add won/lost/draw for each demo

WORK IN PROGRESS (already done, need to pull request)

Add a new column telling if the user won/lost/draw the game

the user = the SteamID set in the application settings

Status doesn't reset

First I analyze a demo without steam_api_key, the demo is in "not analyzable" status.
The I set my steam_api_key, analyze the demo again but the status doesn't reset to "None" and the line stay red in the table.

Add kill matrix

Add a kill matrix for each demo.
Should be in the "Kill" page I think.

Delete user settings

What folders/files do I have to delete so my user settings are completely deleted and not applied when I uninstall and then reinstall the demo manager?

All export xls for all matches at once [enhancement]

Currently, you can go into each match individually and export the match data to an Excel sheet. It would be a very nice feature to be able to do this for all demos at once, either as separate files per match or as one large combined file. This would allow you to analyze the raw data however you want with statistical applications or straight up programming.

One can't design a GUI that allows someone to extract any kind of data or correlations they could possibly want. Let's say I want to know how many games on Mirage I top fragged. Or bottom. Or middle. Or let's say I want to know how many games I top fragged when the other team had a smurf by some definition (e.g. really high KDR compared to the rest). Or let's say I want to know how much better/worse I do playing with a certain Steam friend.

The possibilities are endless if you have access to all the raw data!

Let us analyse on more threads

Having just updated to 2.2.1, I'm reanalysing ~500 demos I've archived. This takes around 40 minutes and only runs on one core. Could we have the option to analyse demos in parallel?

CSGODM always starts CS:GO in windowed mode

Why CS:GODM always start CS:GO in windowed mode, 4:3 aspect ration and with 1024x768 resolution? Also can it start CS:GO with parameters which i enter for the game in Steam library (-threads 4 -freq 60 etc.)?

Could you allow exports to excel to include round information?

I'm doing an analysis of ~1000 rounds right now, and it is very time-consuming to click each round tab and copy/paste it into excel. Could you make it so that the export function also includes the particular round stats? (Who killed who on each round, the starting and inventory value for the round, etc.) It wouldn't take much time to do on your end, probably would just involve making your final variables in each class static and then calling them from your xml writing function. I don't know C# though, so I can't do it myself.

If you decide to do it, thanks!

Request: total ticks

Hello, demos manager is a very useful tool. But as I need to write .vdm scripts for demos, could you add the information about how many ticks total in a current demo file into the info page or into the main table?

'Go to match(s)' option on right click in suspects list

The addition of see what people are vac-banned on scoreboards was wonderful. Can we have an option to go to the match we played against a player on suspect list? Or a list if there was more than I match?

I use to order that list by DSLB so I would like to see when I played with/against that person.

Limit stats to the selected folder

I have 2 folders, one a demo archive with all my demos from the last 4 months, the other just the most recent ~30 matches still in the csgo/replays folder.
The total matches played count on the stats view equals those numbers combined which means those ~30 demos are being counted twice.

Please give us the option to limit the stats to just the selected folder!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.