Skip to content

A javascript extension for Sammi in their .sef format. Allows you to connect to super-continent's "Guilty Gear Xrd x SAMMI Live Content Mod"

Notifications You must be signed in to change notification settings

Krackatoa/Xrd-x-Sammi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 

Repository files navigation

Guilty Gear Xrd x SAMMI

A Bridge Extension for SAMMI. Take interactions in game and turn them into stream gimmicks!

Extension Function

This extension allows you to receive data from ggxrd-mod in the form of a button that fills with data at 60Hz, and Extension Triggers for individual, one-off events. It's currently separated into these two mechanisms for performance reasons. The data stream to the button may become an Extension Trigger of it's own at a later date.

Quick Start Guide

Step 1: Download SAMMI.

Step 2: Follow the various SAMMI Onboarding Tutorials.

Step 3: Install Guilty Gear Xrd x SAMMI as a SAMMI Bridge Extension.

Step 4: Boot up Guilty Gear Xrd while SAMMI and SAMMI Bridge are open to automatically connect.

Step 5: Access the Xrd_Data button for gamestate info, and make use of the various Extension Triggers generated by Xrd to drive stream gimmicks!

Step 6 (Optional): Copy the XrdDemoDeck.txt in the repo to your clipboard, and you can import it to Sammi via the Paste Deck command. You'll have to add two Trigger Button commands included in the Gamestate Triggers (Required) button to your Xrd_Triggers button in the Extension Deck, or On Blitz and Wakeup Frame Detection will not function.

Using the Mod

Accessing the per-frame update

After installing, you can access the live datastream by referencing it directly in your commands. A reference to datastream Variables will look like:

Example Description
Xrd_data.data.data.player_1.character Retrieves the current character in P1 slot.
Xrd_data.data.data.current_frame Retrieves the current frame.
Xrd_Data.data.data.player_2.steam_id Retrieves the Steam ID for the P2 slot. Netplay Only. Outside of netplay it always returns 0.

Triggering Buttons via the per-frame update

Some buttons want to run logic on every frame of gameplay. Because we currently use a workaround to support the full 60FPS data stream, there is no Extension Trigger that can perform this.

Inside the button of ID Xrd_Triggers, insert the Trigger Button command in the appropriate field, with the variable set to whatever button you would like to trigger in time with the incoming data stream.

Accessing Events via Extension Triggers

The following Extension Triggers are available for use. Add them to buttons via a button's Trigger menu. They all contain extremely relevant data within that can be accessed via the Trigger Pull Button command.

Extension Trigger Description
ggxrd_hitEvent Occurs on Hit or Block. Contains relevant data.
ggxrd_objectCreatedEvent Triggers on Object Generation. These can be logic objects, projectiles or special effects.
ggxrd_roundStartEvent Triggers on Round Start.
ggxrd_roundEndEvent Triggers on Round End.
ggxrd_comboEndEvent Combo Summary! Corrals all the data from the last combo.
ggxrd_gamestateDeinitializedEvent Triggers when you leave a match or the application closes mid-match.

Example of Detecting Level 3 Mist Finer.

This is in the Commands screen of a button set up with the ggxrd_hitEvent Extension Trigger. The ggxrd_hitEvent trigger sends along it's own data object, separate from the one in the Xrd_Data button.

image

Example of Detecting if a character is Blitzing on a given frame.

This is in the Commands screen of a button with no Extension Trigger. If you look closely, the commands reference the current character state in the data stream via Xrd_Data.data.data.player_1.state

Adding the variable is_blitzing to the Init Variables:

image

image

Adding the button logic to detect a valid Blitz state on P1 side:

image

In order for this button to run on every frame, we need to add it to the Xrd_Triggers button provided in the Extension deck.

The Xrd_Triggers Button:

image

Inside the Xrd_Triggers Button:

image

More Information

Check out the documentation for Pangaea's Mod for more information.

About

A javascript extension for Sammi in their .sef format. Allows you to connect to super-continent's "Guilty Gear Xrd x SAMMI Live Content Mod"

Resources

Stars

Watchers

Forks

Packages

No packages published