Giter Site home page Giter Site logo

cbartsch / slippipedia Goto Github PK

View Code? Open in Web Editor NEW
58.0 2.0 2.0 132.43 MB

Slippipedia - Your flexible replay manager. Get insights and knowledge about your SSBM game quickly and easily.

Home Page: https://twitter.com/ChrisuSSBMtG

QMake 1.30% C++ 7.43% QML 89.19% Objective-C++ 0.12% CMake 1.97%

slippipedia's Introduction

Slippipedia - Your flexible replay manager

This program can analyze a large number of Slippi replays and display detailed, filterable statistics and info.

preview video

Download

Download the latest release for your OS.

Contact

Made by me (Chrisu). For feedback, bug reports, feature requests etc. use the issue tracker on this page or contact me via social media:

Credits

https://twitter.com/ChrisuSSBMtG/status/1586861084161581056

Table of Contents

How to Use

Download the latest release for your operating system. Start the included .app or the .exe file.

Select replay folder

Select your Slippi replay directory. Per default, this should be in (documents)/Slippi. In this case, the folder should be pre-selected automatically.

replay folder

Analyze replays

This step reads each replay and stores the relevant information in a database for fast lookup. Depending on your setup and the number of replays, this can take a few minutes.

Replays only need to be analyzed once. The database persists after app restarts. When you have new replays or change the folder, you can choose to only analyze new replays.

analyzing

Slippi settings

To start replays and punishes directly from Slippipedia, set your Slippi Desktop App folder. You can download the app from slippi.gg. If you installed it in the default path, Slippipedia can probably auto-detect it.

Also set the path to your Melee ISO file to auto-start replays/punishes. You can also leave this empty and start Melee from the replay Dolphin manually.

settings

Video output

Slippipedia can automatically convert playback to MP4 video files. It can convert any replay that is started through Slippipedia.

How to save video files

There is some setup required for this:

  1. Enable frame dumps in the playback Dolphin.

    You can open the playback dolphin by clicking the Slippi icon on the setup page. Then open the "Movie" menu and enable "Dump frames" and "Dump audio".

video-dolphin

dump-frames

  1. Install ffmpeg.

    These are the command line tools required for video conversion. On Windows, a build is shipped with Slippipedia directly. On macOS/Unix, you can install it with homebrew (brew install ffmpeg).

  2. Enable saving frame dumps

    On the setup page, check the "Save Dolphin frame dumps" option. It is recommended to also check the "Auto-delete original frame dumps" option. Otherwise, Dolphin will ask to overwrite the frame and audio dumps every time.

    Below you can also change the folder for video export.

setup-video

  1. Start playback through Slippipedia

    Play back any replay, stock or punish from the browser page.

  2. Save the frame dump

    After closing Dolphin (make sure all Dolphin windows are closed), Slippipedia will ask to save the frame dumps.

video-confirm

  1. Video is converted

Slippipedia will now combine Dolphin's frame and audio dumps into one MP4 file. Check the bottom of the setup page for progress and to find the output file.

video-saved

Video quality & performance

The video quality depends on the Dolphin frame dump settings. Per default, the video resolution is the same as the playback resolution.

You can also save it at the internal resolution set in the graphics settings. To enable this, open playback Dolphin and enable Graphics -> Advanced -> Full Resolution Frame Dumps.

video-resolution

The original bitrate is configured in the file User/Config/GFX.ini as BitrateKbps.

If you just want to export a video, you can set Dolphin to run at an aribtrary frame rate. To do so, go to Config -> General and set Speed Limit to "Unlimited". Thus the game can run as fast as your setup allows. The resulting video file will still run at normal 60 fps.

video-speed-limit

Slippipedia then converts it with the encoder settings from the bottom of setup page.

settings-video

Set player filter

For more detailed output, like win rate and opponent stats, set your Slippi name and/or tag in the filter configuration.

player filter

Explore stats

Use the tabs to explore data about your replays.

Statistics

Statistics shows global stats.

First tab shows number of games, win rate, character usage (me/opponent), stage usage.

Second tab shows detailed stats.

Third tab shows player tags and codes. Click a code to show all games with or versus that specific player.

stats

Analytics

Analytics groups stats by character, matchup, stage and time frame.

Click the statistics icon to show statistics for a certain group. Click the list icon to show those games in the browser.

analytics

Browser

Browser lists the replays one by one.

Click the play icon to can re-watch them (needs Slippi Desktop app). Click the folder icon to find a specific replay file on your file system.

Click the statistics icon for a session to show statistics pre-filtered for exactly those games.

browser

Punishes

The browser can also show your punishes for every game. Switch to the punishes tab on top.

You can replay all currently displayed punishes with the play button at the very top. You can also replay only a specific session's or specic game's punishes with the corresponding play button. To replay, set the Slippi Desktop App folder and optionally the Melee ISO folder in the setup tab.

Per default it shows all punishes, regardless of number of moves or damage. This includes single hits.

To refine the search, you can filter by various properties. See Filtering for more info.

browser-punishes

Filtering

Restrict your replays by detailed criteria. All other stats, analytics and browser consider the filter settings.

Navigate back to show filtered data.

Player and opponent filter

First tab lets configures the player filter. Set your Slippi name and/or tag to enable win rate, opponent data etc. You can also filter by one or more specific characters.

player filter

Second tab lets you filter for specific opponents and characters.

Game result filter

Third tab lets you filter by game results.

Set a min/max game duration, game outcome and remaining stocks for each player.

You can also filter by the ending type to find timeouts and otherwise tied games.

result filter

Game loss type setting

This tab also lets you change a global game loss type setting. This determines how Slippipedia counts a game as lost vs. as a tie. It affects the filters and the various win rate displays.

There are five options to choose from.

A game can count as lost only when the last stock is gone. It can also count if a player quits via LRAS at any point or during their last stock.

The last options count a game as lost for any player with fewer stocks or higher percent, either at any point or only during the loser's last stock.

loss type filter

Game filter

Fourth tab lets you filter by game data. Set a time frame and one or more specific stages.

stage filter

Punish filter

Fifth tab lets you filter the punishes. Set kill properties, a range for number of moves, dealt damage and player percent. You can also set more specific move options.

Note: This tab is only available when filtering from the punishes tab in the replay browser.

punish filter

punish filter detail

Building & Deployment

The project can be built with the Felgo SDK. Open the file Slippipedia.pro in Qt Creator and build for one of the supported platforms:

  • Mac OS (Clang)
  • Windows (MinGW)

To create a release build, change build stage in qml/config.json to "stage":"publish".

Deployment

For deployment, the referenced libraries need to be added to the binary. This can be done with the included deployment tools from Qt.

MacOS

Create a release build, then use macdeployqt.

  • Add the option -qmldir=<qml_dir> to specify the QML folder to scan for plugin imports.
  • Add the option -dmg to output a disk image.
  • Add the option -codesign=<certificate_id>to sign the disk image.
/Applications/Felgo/Felgo/clang_64/bin/macdeployqt Slippipedia.app -qmldir="$(pwd)/../../qml" -dmg -codesign=VB6Z5JQJTD

Windows

Create a release build, then copy the .exe file Somewhere. Use windeployqt from a Qt command line (use qtenv2.bat to set up the environment).

Add the -qmldir parameter so it finds all dependencies from QML imports.

> windeployqt -qmldir ../../qml .

This adds all the libraries to the folder next to the .exe file.

slippipedia's People

Contributors

cbartsch avatar djanatyn avatar

Stargazers

Theo Zinos avatar jadon avatar Jake Small avatar  avatar Tal Friedman avatar Experiment_Lain avatar  avatar  avatar TemetNosce avatar Barak Widawsky avatar Tyler Gordon avatar  avatar Gurvan Priem avatar Ben Miller avatar  avatar ZeroJanitor avatar Chase Holdren avatar  avatar Javad Kouchakzadeh avatar Michael Fidel Nagy avatar JohSka (johgi) avatar David V. Kimball avatar  avatar  avatar Neil Harbin avatar Aidan Lambrecht avatar Milo Pappas avatar Martin Schwaighofer avatar Patrick Crain avatar  avatar Chufuga avatar Johnny Urosevic avatar srdw avatar  avatar Corbin Crutchley avatar Ethan Bell avatar Carson Fox avatar  avatar  avatar Jonathan Haylett avatar  avatar Dawson Booth avatar Ryan Quinn avatar  avatar  avatar Derek Xu avatar Chris Williams avatar J Scott avatar Dan Valinotti avatar Sean Benner avatar  avatar Joel Gonzalez avatar 48 avatar  avatar Mark Eikel avatar Jamie McClintock avatar Nacho Verdón avatar  avatar

Watchers

 avatar  avatar

slippipedia's Issues

'Show statistics for games' button in browser not working

Steps to reproduce:

  1. Navigate to browser on Windows
  2. Find any set of games
  3. Press the 'Show statistics for games'

What happens:
Nothing happens, the button flashes

Expected behaviour:
Show a stats screen for the group of games.

Platform: Windows

Filtering option for punishes that "have a" move.

Being able to filter for punishes that have a specific move anywhere inside the combo would drastically speed up the time it takes to find certain kinds of sequences that share a similar theme. For example if I'm looking for combos that have Falco's dtilt/ side b/ other less common move inside them, there's no way to find them unless it appears as a starter or finisher.

Slippipedia partially merging a recent session with one from a while ago

mang5
This one is pretty self explanatory, I played Weston today in one game then I went on slippipedia but it seems like it somehow got counted with a session from a few days ago which made it display a 25% win rate (and a Marth icon as I played Marth vs him those few days ago) as I won the one game we played today however it still only displays the stock counts for the one game like it should.
Never seen this issue before.

Slippipedia cant find the Slippi Launcher

I installed the new version and it asked me to select the location of the Slippi Launcher and I put it in but the folder didn't show it in it even though it was, I linked it anyways a couple of times and it didn't recognize it was there at all. IDK what to do

I attached a picture of the problems I encountered as well as one of the slippipedia files I have.

slippipedia

files

Please let me know if im messing up on my end so I can fix it

Crash on NixOS (Linux) - Unhandled exception: page fault on read access

This crash was triggered when analyzing 10k replays. The application crashed during analysis.
I was able to continue analyzing my replays after this crash, so this didn't stop me from using the program.

I linked this on twitter earlier:

This is on the 1.0 release:

crash

Full backtrace:

Unhandled exception: page fault on read access to 0x333e3220 in 32-bit code (0x6632db2c).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:6632db2c ESP:0134c480 EBP:02d218a0 EFLAGS:00210216(  R- --  I   -A-P- )
 EAX:333e3220 EBX:4d7fdc9c ECX:022fe0f0 EDX:180d0000
 ESI:000001f9 EDI:000001f8
Stack dump:
0x0134c480:  02d218a0 0336f680 02d218a0 663a1088
0x0134c490:  575b25d8 00000000 0000093e 6fef95fa
0x0134c4a0:  0000004c 00000000 690aaa40 035f6820
0x0134c4b0:  00000000 00028000 0134c4b0 4d7fdc9c
0x0134c4c0:  022fcf88 02d218a0 02d218a0 6632e2a8
0x0134c4d0:  022fcf88 575b25d8 4d7fdc60 663a316b
Backtrace:
=>0 0x6632db2c EntryPoint+0x6c7ac() in qt5qml (0x02d218a0)
  1 0x6632e2a8 EntryPoint+0x6cf27() in qt5qml (0x02d218a0)
  2 0x663a316b EntryPoint+0xe1dea() in qt5qml (0x02d218a0)
  3 0x663260f3 EntryPoint+0x64d72() in qt5qml (0x0000093e)
  4 0x66326b50 EntryPoint+0x657cf() in qt5qml (0x02d21898)
  5 0x66326baa EntryPoint+0x65829() in qt5qml (0x02d21898)
  6 0x6632653f EntryPoint+0x651be() in qt5qml (0x02d21898)
  7 0x663a3426 EntryPoint+0xe20a5() in qt5qml (0x02d21890)
  8 0x05910f43 (0x0134c7b8)
  9 0x663bd8a9 EntryPoint+0xfc528() in qt5qml (0x00000000)
  10 0x6635bd41 EntryPoint+0x9a9c0() in qt5qml (0x00000001)
  11 0x66339eb1 EntryPoint+0x78b30() in qt5qml (0x00000000)
  12 0x663cac52 EntryPoint+0x1098d1() in qt5qml (0x0134c988)
  13 0x057906c2 (0x0134c988)
  14 0x663bd8a9 EntryPoint+0xfc528() in qt5qml (0x00000000)
  15 0x6635bd41 EntryPoint+0x9a9c0() in qt5qml (0x00000001)
  16 0x6e3c3cd7 in qmllocalstorageplugin (+0x3cd6) (0x03602b00)
  17 0x663cac52 EntryPoint+0x1098d1() in qt5qml (0x0134cb58)
  18 0x05860c7f (0x0134cb58)
  19 0x663bd8a9 EntryPoint+0xfc528() in qt5qml (0x00000000)
  20 0x6635bd41 EntryPoint+0x9a9c0() in qt5qml (0x00000002)
  21 0x663cac52 EntryPoint+0x1098d1() in qt5qml (0x0134ccb8)
  22 0x05860a0c (0x0134ccb8)
  23 0x663bd8a9 EntryPoint+0xfc528() in qt5qml (0x00000000)
  24 0x6635b11f EntryPoint+0x99d9e() in qt5qml (0x00000000)
  25 0x66470453 _Z10qmlContextPK7QObject+0x5c832() in qt5qml (0x022fcf88)
  26 0x6642f03a _Z10qmlContextPK7QObject+0x1b419() in qt5qml (0x55f68738)
  27 0x66430541 _Z10qmlContextPK7QObject+0x1c920() in qt5qml (0x00000000)
  28 0x664598af _Z10qmlContextPK7QObject+0x45c8e() in qt5qml (0x55f6872c)
  29 0x66513c5d _Z24qml_register_types_QtQmlv+0x3ee9c() in qt5qml (0x02313da8)
  30 0x68c4a53f EntryPoint+0x1c91be() in qt5core (0x0134dd18)
  31 0x68c652f1 EntryPoint+0x1e3f70() in qt5core (0x0134dd18)
  32 0x68c69fe7 EntryPoint+0x1e8c66() in qt5core (0x0134dd18)
  33 0x01857b2c EntryPoint+0x67ab() in qt5widgets (0x022f4e18)
  34 0x0185e21a EntryPoint+0xce99() in qt5widgets (0x00000000)
  35 0x68c40f6c EntryPoint+0x1bfbeb() in qt5core (0x0134dee8)
  36 0x68c479f4 EntryPoint+0x1c6673() in qt5core (0x0134df58)
  37 0x68c8f257 EntryPoint+0x20ded6() in qt5core (0x0134fc58)
  38 0x6ab07c2c in qwindows (+0x87c2b) (0x0134fc58)
  39 0x68c92a06 EntryPoint+0x211685() in qt5core (0x0134fc58)
  40 0x6ab07c07 in qwindows (+0x87c06) (0x0134fc98)
  41 0x68c3fe61 EntryPoint+0x1beae0() in qt5core (0x0134fd18)
  42 0x68c487c3 EntryPoint+0x1c7442() in qt5core (0x0134fd58)
  43 0x00401b6d EntryPoint+0x6ec() in slippipedia (0x0134fe08)
  44 0x0055d992 _ZN11Box2DPlugin11qt_metacallEN11QMetaObject4CallEiPPv+0x900b1() in slippipedia (0x001550e8)
  45 0x006edf1d _ZN11Box2DPlugin11qt_metacallEN11QMetaObject4CallEiPPv+0x22063c() in slippipedia (0x0134fe88)
  46 0x0040138b EntryPoint+0xffffffff() in slippipedia (0x0134ff28)
  47 0x7b62ded0 EntryPoint+0xffffffff() in kernel32 (0x0134ff48)
  48 0x7bc56ce7 EntryPoint+0xffffffff() in ntdll (0x0134ff5c)
  49 0x7bc56f30 EntryPoint+0xffffffff() in ntdll (0x0134ffec)
0x6632db2c EntryPoint+0x6c7ac in qt5qml: movl	0x0(%eax),%ebx
Modules:
Module	Address			Debug info	Name (184 modules)
PE	  230000-  23c000	Deferred        userenv
PE	  240000-  283000	Deferred        winmm
PE	  290000-  318000	Deferred        crypt32
PE	  400000- 1141000	Dwarf           slippipedia
PE	 1350000- 184c000	Deferred        qt5quick
PE	 1850000- 1e81000	Dwarf           qt5widgets
PE	 2500000- 2510000	Deferred        wintab32
PE	 3d40000- 3daa000	Deferred        qtquicktemplates2plugin
PE	 52c0000- 52d4000	Deferred        qgif
PE	 52e0000- 52f1000	Deferred        qsvg
PE	 5300000- 5310000	Deferred        qtga
PE	 6bc0000- 6bca000	Deferred        dhcpcsvc
PE	 a0d0000- a139000	Deferred        comdlg32
PE	 a140000- a27d000	Deferred        comctl32
PE	61740000-6177c000	Deferred        advapi32
PE	61b40000-6225d000	Deferred        qt5gui
PE	62840000-6284f000	Deferred        qmlplugin
PE	628c0000-6292a000	Deferred        qjpeg
PE	62bc0000-62ce3000	Deferred        qsqlite
PE	62fc0000-63043000	Deferred        rpcrt4
PE	63480000-6348c000	Deferred        version
PE	63bc0000-63bd7000	Deferred        shcore
PE	63d00000-63d34000	Deferred        qt5quickcontrols2
PE	64240000-642b8000	Deferred        qtquickcontrolsplugin
PE	64a40000-64a8a000	Deferred        shlwapi
PE	64b40000-64b54000	Deferred        libwinpthread-1
PE	64ec0000-64fd3000	Deferred        oleaut32
PE	65300000-6544e000	Deferred        qt5quicktemplates2
PE	65580000-6558c000	Deferred        wtsapi32
PE	657c0000-657d8000	Deferred        qt5qmlworkerscript
PE	65c80000-65c96000	Deferred        windowplugin
PE	66240000-66254000	Deferred        bcrypt
PE	662c0000-66726000	Dwarf           qt5qml
PE	66a80000-66b47000	Deferred        qtquickcontrols2materialstyleplugin
PE	66cc0000-66cd1000	Deferred        qwbmp
PE	67200000-6722c000	Deferred        qquicklayoutsplugin
PE	67780000-6779e000	Deferred        qgenericbearer
PE	677c0000-6783b000	Deferred        qwebp
PE	67940000-6799b000	Deferred        qt5svg
PE	67c80000-67cb3000	Deferred        d3d9
PE	68080000-6809e000	Deferred        jsproxy
PE	68280000-68307000	Deferred        qt5qmlmodels
PE	68500000-68552000	Deferred        combase
PE	68700000-6872a000	Deferred        uxtheme
PE	68a80000-6911a000	Dwarf           qt5core
PE	69600000-69644000	Deferred        winhttp
PE	69900000-69ae2000	Deferred        qt5network
PE	6a040000-6a05a000	Deferred        msacm32
PE	6a280000-6a311000	Deferred        msvcrt
PE	6a400000-6a512000	Deferred        ole32
PE	6aa80000-6ac6c000	Dwarf           qwindows
PE	6b400000-6b431000	Deferred        dialogplugin
PE	6b740000-6b756000	Deferred        dialogsprivateplugin
PE	6b840000-6b859000	Deferred        qtgraphicaleffectsplugin
PE	6b9c0000-6b9db000	Deferred        qmlfolderlistmodelplugin
PE	6bc00000-6bc28000	Deferred        sechost
PE	6bcc0000-6bd2b000	Deferred        setupapi
PE	6c0c0000-6c16e000	Deferred        qtquickcontrols2plugin
PE	6c2c0000-6c2cb000	Deferred        bthprops.cpl
PE	6c800000-6c815000	Deferred        qicns
PE	6c9c0000-6cb00000	Deferred        gdi32
PE	6ce40000-6ce7b000	Deferred        qwindowsvistastyle
PE	6d100000-6d17b000	Deferred        qtiff
PE	6d400000-6d47a000	Deferred        qt5bluetooth
ELF	6d4fa000-6d600000	Deferred        libgcrypt.so.20
PE	6d9c0000-6da12000	Deferred        qt5sql
PE	6dc80000-6dc8f000	Deferred        qtquick2plugin
PE	6e3c0000-6e3d8000	Dwarf           qmllocalstorageplugin
ELF	6e452000-6e540000	Deferred        libsystemd.so.0
PE	6e940000-6e9a5000	Deferred        d3d11
ELF	6e9ec000-6ea16000	Deferred        libgpg-error.so.0
ELF	6ea16000-6ea40000	Deferred        liblz4.so.1
PE	6ea40000-6ea53000	Deferred        qico
ELF	6ea61000-6eac4000	Deferred        libdbus-1.so.3
ELF	6eac4000-6eb40000	Deferred        libcups.so.2
PE	6eb40000-6eb63000	Deferred        libgcc_s_dw2-1
ELF	6eb71000-6ebb2000	Deferred        winspool<elf>
  \-PE	6eb80000-6ebb2000	\               winspool
PE	6ec40000-6ec4c000	Deferred        dwmapi
PE	6ed00000-6eeed000	Deferred        user32
ELF	6eef9000-6ef80000	Deferred        dwrite<elf>
  \-PE	6ef10000-6ef80000	\               dwrite
PE	6f180000-6f1b6000	Deferred        qt5websockets
ELF	6f304000-6f331000	Deferred        liblzma.so.5
PE	6fbc0000-6fbdd000	Deferred        qtgraphicaleffectsprivate
ELF	6fe0d000-6fe40000	Deferred        libcrypt.so.1
PE	6fe40000-6ffc3000	Deferred        libstdc++-6
PE	70940000-70957000	Deferred        mpr
PE	70b40000-70bfc000	Deferred        ucrtbase
PE	71200000-71218000	Deferred        imm32
PE	71340000-71354000	Deferred        qmlsettingsplugin
ELF	730dc000-79051000	Deferred        libllvm-11.so
ELF	79051000-7a800000	Deferred        radeonsi_dri.so
ELF	7a800000-7a948000	Deferred        opengl32<elf>
  \-PE	7a840000-7a948000	\               opengl32
ELF	7a95c000-7a972000	Deferred        libavahi-client.so.3
PE	7b000000-7b0d2000	Deferred        kernelbase
PE	7b600000-7b6ac000	Export          kernel32
ELF	7b6af000-7b6b9000	Deferred        libcap.so.2
PE	7bc00000-7bc91000	Export          ntdll
ELF	7c671000-7c7fa000	Deferred        libxml2.so.2
ELF	7c7fa000-7c86f000	Deferred        libncursesw.so.6
ELF	7c86f000-7c879000	Deferred        librt.so.1
ELF	7c879000-7c899000	Deferred        libgcc_s.so.1
ELF	7ca6b000-7ca77000	Deferred        libdrm_nouveau.so.2
ELF	7cb77000-7cc00000	Deferred        libglx_mesa.so.0
ELF	7cd07000-7cd15000	Deferred        libdrm_amdgpu.so.1
ELF	7cd15000-7cd2e000	Deferred        libelf.so.0
ELF	7cd2e000-7cd3e000	Deferred        libdrm_radeon.so.1
ELF	7cd3e000-7cd48000	Deferred        libxcb-xfixes.so.0
ELF	7cd48000-7cd4d000	Deferred        libxshmfence.so.1
ELF	7cd4d000-7cd6c000	Deferred        libxcb-glx.so.0
ELF	7cd6c000-7cd83000	Deferred        libdrm.so.2
ELF	7cd83000-7ce00000	Deferred        libgldispatch.so.0
ELF	7cf00000-7cf09000	Deferred        libxcb-sync.so.1
ELF	7cf09000-7cf0e000	Deferred        libxcb-present.so.0
ELF	7cf0e000-7cf37000	Deferred        libglapi.so.0
ELF	7cf37000-7cfab000	Deferred        libgl.so.1
ELF	7d000000-7d006000	Deferred        <wine-loader>
ELF	7d008000-7d00f000	Deferred        libxcb-dri3.so.0
ELF	7d00f000-7d014000	Deferred        libxcb-shm.so.0
ELF	7d014000-7d051000	Deferred        libglx.so.0
ELF	7d07e000-7d083000	Deferred        libssp.so.0
ELF	7d083000-7d093000	Deferred        libavahi-common.so.3
ELF	7d097000-7d124000	Deferred        libgmp.so.10
ELF	7d124000-7d2a8000	Deferred        libunistring.so.2
ELF	7d2a8000-7d3ff000	Deferred        libp11-kit.so.0
ELF	7d405000-7d40a000	Deferred        libxdamage.so.1
ELF	7d40a000-7d411000	Deferred        libxcb-dri2.so.0
ELF	7d411000-7d416000	Deferred        libx11-xcb.so.1
ELF	7d416000-7d421000	Deferred        libffi.so.7
ELF	7d421000-7d46b000	Deferred        libhogweed.so.6
ELF	7d46b000-7d4b0000	Deferred        libnettle.so.8
ELF	7d4b0000-7d4c7000	Deferred        libtasn1.so.6
ELF	7d4c7000-7d6b8000	Deferred        libgnutls.so.30
ELF	7d6ba000-7d6c3000	Deferred        libxfixes.so.3
ELF	7d6c3000-7d6d0000	Deferred        libxcursor.so.1
ELF	7d6d0000-7d6e4000	Deferred        libxi.so.6
ELF	7d6e4000-7d6e9000	Deferred        libxcomposite.so.1
ELF	7d6e9000-7d6f8000	Deferred        libxrandr.so.2
ELF	7d6f8000-7d706000	Deferred        libxrender.so.1
ELF	7d706000-7d70e000	Deferred        libxxf86vm.so.1
ELF	7d70e000-7d713000	Deferred        libxinerama.so.1
ELF	7d813000-7d81b000	Deferred        libxdmcp.so.6
ELF	7d81b000-7d820000	Deferred        libxau.so.6
ELF	7d820000-7d84f000	Deferred        libxcb.so.1
ELF	7d84f000-7d9a4000	Deferred        libx11.so.6
ELF	7d9a4000-7d9ba000	Deferred        libxext.so.6
ELF	7d9ba000-7da6a000	Deferred        winex11<elf>
  \-PE	7d9e0000-7da6a000	\               winex11
ELF	7db32000-7db5f000	Deferred        libexpat.so.1
ELF	7db5f000-7dbb0000	Deferred        libfontconfig.so.1
ELF	7dbb0000-7dbcd000	Deferred        libz.so.1
ELF	7dbcd000-7dc0e000	Deferred        libpng16.so.16
ELF	7dc0e000-7dc21000	Deferred        libbz2.so.1
ELF	7dc21000-7dcea000	Deferred        libfreetype.so.6
ELF	7dcea000-7dd07000	Deferred        bcrypt.so
ELF	7dd07000-7dd1f000	Deferred        crypt32.so
ELF	7dd1f000-7deda000	Deferred        wined3d<elf>
  \-PE	7dd70000-7deda000	\               wined3d
ELF	7deda000-7df1e000	Deferred        dxgi<elf>
  \-PE	7def0000-7df1e000	\               dxgi
ELF	7df1e000-7e8a0000	Deferred        shell32<elf>
  \-PE	7df50000-7e8a0000	\               shell32
ELF	7e8a0000-7e8c5000	Deferred        dnsapi<elf>
  \-PE	7e8b0000-7e8c5000	\               dnsapi
ELF	7e8c5000-7e8dd000	Deferred        libresolv.so.2
ELF	7e8dd000-7e90d000	Deferred        iphlpapi<elf>
  \-PE	7e8f0000-7e90d000	\               iphlpapi
ELF	7e90d000-7e949000	Deferred        netapi32<elf>
  \-PE	7e920000-7e949000	\               netapi32
ELF	7e949000-7e974000	Deferred        gdi32.so
ELF	7e974000-7e98c000	Deferred        user32.so
ELF	7e98c000-7e9cb000	Deferred        ws2_32<elf>
  \-PE	7e9a0000-7e9cb000	\               ws2_32
ELF	7e9cb000-7e9e5000	Deferred        msvcrt.so
ELF	7e9e5000-7e9ff000	Deferred        ucrtbase.so
ELF	7e9ff000-7eb88000	Dwarf           libwine.so.1
ELF	f7b67000-f7c69000	Deferred        libm.so.6
ELF	f7c69000-f7d0d000	Deferred        ntdll.so
ELF	f7d0d000-f7ef3000	Deferred        libc.so.6
ELF	f7ef3000-f7ef9000	Deferred        libdl.so.2
ELF	f7ef9000-f7f1a000	Deferred        libpthread.so.0
ELF	f7f20000-f7f4d000	Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
00000020 (D) Z:\home\djanatyn\slippipedia-windows\Slippipedia.exe
	00000024    0 <==
	000000f4    0
	000000f8    0
	000000fc    0
	00000110   -2
	00000114    0
	00000118    0
	0000011c    0
	00000128    0
	0000081c    0
	0000002c   -1
	00000510   15
	00000520    0
00000038 services.exe
	0000003c    0
	00000040    0
	0000004c    0
	00000070    0
	00000088    0
	000000ac    0
	000000cc    0
00000044 winedevice.exe
	00000048    0
	00000054    0
	00000058    0
	0000005c    0
00000060 plugplay.exe
	00000064    0
	00000074    0
	00000078    0
	0000007c    0
	00000098    0
00000068 explorer.exe
	0000006c    0
	000000b8    0
	000000bc    0
00000080 winedevice.exe
	00000084    0
	0000008c    0
	00000090    0
	00000094    0
	000000a0    0
000000a4 svchost.exe
	000000a8    0
	000000b0    0
	000000b4    0
000000c4 rpcss.exe
	000000c8    0
	000000d4    0
	000000d8    0
	000000dc    0
	000000e0    0
	000000e4    0
000000ec conhost.exe
	000000f0    0
System information:
    Wine build: wine-6.0
    Platform: i386
    Version: Windows 7
    Host system: Linux
    Host version: 5.11.8

Allow favouriting of .slp file from Punish screen

Currently you can favourite games from the 'Games' browser screen, but you cannot from the 'Punish' browser screen. Would be helpful to be able to favourite games that contain punishes/combos to be able to come back and record.

Doubles Data Skews Stats

I play doubles very often on slippi, and have done so since the beta for doubles was available.
The issue is that slippi replays display doubles games as me vs my teammate, or me vs only one other player when the data from the match itself displays different information. The easiest example I can provide of this is I am positive that I have played a total of 20 or fewer falco games (I'm a Peach main, really not good with Falco), and yet the top chars used overview displays 223 falco games.
image

This can be seen in the Players tab where it thinks I am playing against Nocki (which is my tag).
image
image

Hope this is enough information to make some adjustments around this. It seems like an awesome tool and I think it will help provide some data driven people (like myself) good match ups to work on and things to look at!

Enter multiple Connect-Codes in Filter

Like many people I changed my connect code from KING#519 to KING#0 once changing your Connect-Code became a feature. The ability to filter for multiple connect codes, both for yourself and for your opponent, would be very good to track data before and after connectcode-changes.

clip not getting saved

For example I want to clip a combo so I play the punish, then when it ends I close the replay dolphin, slippipedia of course asks me if I want to save it or not. On Setup it tells me the video was indeed saved but it's nowhere to be found, I also noticed there is no progress bar like there usually was when saving videos so effectively nothing is happening for some reason.
Dunno if it helps but it does seem like the audio and video are getting dumped, then I guess nothing is happening? idk
image
I don't think I installed ffmpeg wrong either as all I did was replace the old slippipedia files with the new ones upon switching to official 2.0

Kill moves display

Similar to the Neutral tab in Statistics, maybe a display for kill moves?

Filter by length of punish

I'd like if there was a way to filter punishes by how long they take, so that I can cut out the 20+ second edgeguard sequences from the search results. Some filter like every punish under X seconds gets shown could work.

Crash on MacOS 10.15.5

Slippipedia is crashing on macOS 10.15.5. I can include the report that Apple creates when an application unexpectedly crashes. To reproduce analyze a large number of Slippi replays(it looks like it crashed just before the 300 mark). The "Analyze xxxx new replays" crashes the application immediately as well.

Adding Favorites to SPD?

Maybe it could be possible to add a favorites tab to SPD? Just a simple ☆ next to the replays where the "Show in Folder" and "Open Replay File" is and a TAB at the bottom with favorites?

Could be nice for people who wanna analyze a match they had for later

Slippipedia Crashes When Analyzing

Whenever I try and analyze the some sets, the window closes. This has not been a problem for me in the past, but I'm not sure what the issue is. I am on PC btw.

Green Yoshi Icon being displayed wrong but not always

Okay so this is a weird situation, about a week ago or so I played tournament sets vs TheDerp, a Green Yoshi and while checking my games vs Yoshi I noticed that green yoshi is being displayed as half a donkey kong stock, but it's not consistent in the sense that I have other games vs green yoshi where this does not happen.
1
2
a.zip

Filtering "Me" when using data from Nintendont and multiple ports

Hey, I use Slippipedia to get data for my in-person tournaments (Slippi file recording) but I can't get the averages effectively due to the fact that I sometimes lose port 4. If I can filter my replays by character and character color(Or a different way of filtering) instead of needing to filter by port that would be amazing, considering I can't use slippi code/name. Unless there's something I'm missing. Thank you!

export metadata

take the project clippi function
image
replicate but add slippipedia specific data (especially 'winner' and 'loser' or stock count tags) as a json/csv/plaintext export so that data analysts can mass crunch these numbers including analysis filtered by date and time

LRAS is not reported correctly for certain file versions

LRAS is getting reported incorrectly on several matches. Here are 6 replays where the opponent (Falco) most likely LRAS'ed, but it counted it against me (Young Link). The replay stats report this as 0% WR for me.

6 Replays: https://drive.google.com/drive/folders/1uvjivYdX2iK3LyO1s9MseiW53Jp_lNQq?usp=sharing

Supposedly a bug in Slippi 2.1, fixed in 2.3 (https://old.reddit.com/r/SSBM/comments/np9whq/release_finally_slippipedia_10_is_done_get/h04th1q/)

Not sure on exact bug, but it sounded to me like it was a bugged flag, and not necessarily that the inputs were missing? Maybe could do a fallback input check for those specific versions, or just ignore their results completely. If the LRAS inputs don't show, maybe you could instead check if a player is pressing an analog stick, which would mean it wasn't their LRAS.

Date range can't be manually modified

Date range selection doesn't seem to be modifiable manually. After selecting Last 365 days, I manually changed the date, but the filter doesn't get updated after hitting enter/leaving the cell/or selecting other non-date filter options.

Date manual

The filter just doesn't update, it only works with the preset buttons. One thing odd might be that the date format looks different between the manual entry boxes and the filter box. (5/31/2020 11:03 PM vs 31/5/2020 23:03)

I did also try entering the format as it appears in the filter box, but that also didn't work.

Replay browser not populating despite having matching analyzed replays.

Today I updated to the 1.1 windows release of slippipedia, and when browsing the replays and punishes windows, slippipedia reports the correct number of matching replays, but the window does not populate with the matching replays or punishes

Here is a screenshot of the replay browser:

replays_not_loading

Here is a screenshot of the punish browser:

punishes_not_loading

Here is a confirmation that the replays have been analyzed:

replays_stored

All of the other statistical analysis (matchups, stages played on, etc.) seems to work properly.

Any insight or guidancce would be greatly appreciated!
.

Support replay search by sequence of events

I have an idea to add a sort of fuzzy searcher for slippi replays based on sequences of events. This is sort of all ready implemented with the punish filtering, but it would be nice to generalize it to more actions eg:

  • wavedash
  • shield
  • ledge grab
  • shield poke
  • shield drop

And it would be nice to allow more than just the start and end move. So instead of searching for jab -> ... -> up smash. I could be more specific and search for shield -> attack hits shield -> wavedash -> jab -> dash -> upsmash.

If you think this is something that could fit into slippipedia, we could discuss details, and I'd be happy to work on it.

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.