Repository files navigation

CheatEngine Scripts

This repository contains various scripts made for CheatEngine, mostly to grab fighting game data.

General Usage

  1. Boot the game in the necessary emulator (DEmul, PCSX2, Kawaks, etc.).
  2. Open the CheatEngine table (.CT file) for the respective game (after the match has loaded for best results).
  3. Click "yes" when it asks to run the Lua file.
  4. A window should pop up with a button that says "Start Diagnostics." Click the button.
  5. Select the object you wish to observe.
  6. You should now be able to view hitboxes and other data for the selected object.

All data in the window is presented in 240p (M.U.G.E.N standard). To view raw data, refer to the table.

Caddie Machine Mode

Caddie Machine logs all animation data in M.U.G.E.N's .AIR format as the game plays, with the in-game sprite numbers used for sprite index values. So for instance, if the in-game sprite number is 326, then the corresponding M.U.G.E.N SFF value would be Group 0, SpriteNo 326 (0,326).

This logs timings in the current running game speed, so timings may not always be consistent due to Capcom's Turbo frameskipping. To get normal timings, you must set the game speed to Normal. In VSav and SFA3, you must do this in the options menu, as the Normal selectable in-game by default is actually Turbo 1.

It does not split animations, so you are responsible for keeping track of when animations begin and end.

CvS2/CFJ

This script contains hitbox and data displays for CvS2 for PCSX2 r5875. It also works on CFJ.

FAQ

Q: What game versions does it work on?

A: CvS2 (PS2): NTSC-U, NTSC-J. CFJ (PS2): PAL, NTSC-U. If you have a need for a different version of the game, feel free to erm... point me in the right direction ;)

Q: Do you plan for Dreamcast support for CvS2?

A: Of course!

Q: Why does it slow down at the start?

A: It's looking for throw breakpoints. Throw the opponent until the Memory Viewer pops up and it should stop. This is important for getting throw hitboxes.

Q: Why don't I see any hitboxes?

A: You need to have your PCSX2 render settings set to DirectX11 Hardware or DirectX11 Software. This uses Direct3D in order to show hitboxes, so DirectX is a requirement.

Q: Why does it not work on my PCSX2?

A: At the moment, it is only compatible with PCSX2 r5875 and 1.5.0-dev. This is because this is the version I've been using for a long time, and breakpoints change in later versions. 1.5.0-dev was chosen because it first introduced emulator-based framestepping, making one feature of the tool basically obsolete (unless you want to framestep in normal speed for whatever reason).

Q: I get an error when I try to view the boxes (PCSX2).

A: Set the rendering in PCSX2 to DX11 Software.

Q: How do I view throw boxes?

A: You have to perform every throw you want to see before the script starts or it won't pick them up. Also, it only places throws on the actively selected object, so you must select the correct object from the list.

MvC2

FAQ

Q: What game versions does it work on?

A: At the moment, I have only tested on NTSC-U.

Q: What's with the attack box on all basic animations?

A: That is the normal throw box. For some reason, it's always active (probably so that it's always ready to detect a throw in a fast-paced game).

Q: Why does it not work on my DEmul?

A: At the moment, I have only tested on DEmul 0.57. I have no idea if this script is compatible with later versions.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

CheatEngine Scripts

This repository contains various scripts made for CheatEngine, mostly to grab fighting game data.

General Usage

  1. Boot the game in the necessary emulator (DEmul, PCSX2, Kawaks, etc.).
  2. Open the CheatEngine table (.CT file) for the respective game (after the match has loaded for best results).
  3. Click "yes" when it asks to run the Lua file.
  4. A window should pop up with a button that says "Start Diagnostics." Click the button.
  5. Select the object you wish to observe.
  6. You should now be able to view hitboxes and other data for the selected object.

All data in the window is presented in 240p (M.U.G.E.N standard). To view raw data, refer to the table.

Caddie Machine Mode

Caddie Machine logs all animation data in M.U.G.E.N's .AIR format as the game plays, with the in-game sprite numbers used for sprite index values. So for instance, if the in-game sprite number is 326, then the corresponding M.U.G.E.N SFF value would be Group 0, SpriteNo 326 (0,326).

This logs timings in the current running game speed, so timings may not always be consistent due to Capcom's Turbo frameskipping. To get normal timings, you must set the game speed to Normal. In VSav and SFA3, you must do this in the options menu, as the Normal selectable in-game by default is actually Turbo 1.

It does not split animations, so you are responsible for keeping track of when animations begin and end.

CvS2/CFJ

This script contains hitbox and data displays for CvS2 for PCSX2 r5875. It also works on CFJ.

FAQ

Q: What game versions does it work on?

A: CvS2 (PS2): NTSC-U, NTSC-J. CFJ (PS2): PAL, NTSC-U. If you have a need for a different version of the game, feel free to erm... point me in the right direction ;)

Q: Do you plan for Dreamcast support for CvS2?

A: Of course!

Q: Why does it slow down at the start?

A: It's looking for throw breakpoints. Throw the opponent until the Memory Viewer pops up and it should stop. This is important for getting throw hitboxes.

Q: Why don't I see any hitboxes?

A: You need to have your PCSX2 render settings set to DirectX11 Hardware or DirectX11 Software. This uses Direct3D in order to show hitboxes, so DirectX is a requirement.

Q: Why does it not work on my PCSX2?

A: At the moment, it is only compatible with PCSX2 r5875 and 1.5.0-dev. This is because this is the version I've been using for a long time, and breakpoints change in later versions. 1.5.0-dev was chosen because it first introduced emulator-based framestepping, making one feature of the tool basically obsolete (unless you want to framestep in normal speed for whatever reason).

Q: I get an error when I try to view the boxes (PCSX2).

A: Set the rendering in PCSX2 to DX11 Software.

Q: How do I view throw boxes?

A: You have to perform every throw you want to see before the script starts or it won't pick them up. Also, it only places throws on the actively selected object, so you must select the correct object from the list.

MvC2

FAQ

Q: What game versions does it work on?

A: At the moment, I have only tested on NTSC-U.

Q: What's with the attack box on all basic animations?

A: That is the normal throw box. For some reason, it's always active (probably so that it's always ready to detect a throw in a fast-paced game).

Q: Why does it not work on my DEmul?

A: At the moment, I have only tested on DEmul 0.57. I have no idea if this script is compatible with later versions.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

CheatEngine Scripts

This repository contains various scripts made for CheatEngine, mostly to grab fighting game data.

General Usage

  1. Boot the game in the necessary emulator (DEmul, PCSX2, Kawaks, etc.).
  2. Open the CheatEngine table (.CT file) for the respective game (after the match has loaded for best results).
  3. Click "yes" when it asks to run the Lua file.
  4. A window should pop up with a button that says "Start Diagnostics." Click the button.
  5. Select the object you wish to observe.
  6. You should now be able to view hitboxes and other data for the selected object.

All data in the window is presented in 240p (M.U.G.E.N standard). To view raw data, refer to the table.

Caddie Machine Mode

Caddie Machine logs all animation data in M.U.G.E.N's .AIR format as the game plays, with the in-game sprite numbers used for sprite index values. So for instance, if the in-game sprite number is 326, then the corresponding M.U.G.E.N SFF value would be Group 0, SpriteNo 326 (0,326).

This logs timings in the current running game speed, so timings may not always be consistent due to Capcom's Turbo frameskipping. To get normal timings, you must set the game speed to Normal. In VSav and SFA3, you must do this in the options menu, as the Normal selectable in-game by default is actually Turbo 1.

It does not split animations, so you are responsible for keeping track of when animations begin and end.

CvS2/CFJ

This script contains hitbox and data displays for CvS2 for PCSX2 r5875. It also works on CFJ.

FAQ

Q: What game versions does it work on?

A: CvS2 (PS2): NTSC-U, NTSC-J. CFJ (PS2): PAL, NTSC-U. If you have a need for a different version of the game, feel free to erm... point me in the right direction ;)

Q: Do you plan for Dreamcast support for CvS2?

A: Of course!

Q: Why does it slow down at the start?

A: It's looking for throw breakpoints. Throw the opponent until the Memory Viewer pops up and it should stop. This is important for getting throw hitboxes.

Q: Why don't I see any hitboxes?

A: You need to have your PCSX2 render settings set to DirectX11 Hardware or DirectX11 Software. This uses Direct3D in order to show hitboxes, so DirectX is a requirement.

Q: Why does it not work on my PCSX2?

A: At the moment, it is only compatible with PCSX2 r5875 and 1.5.0-dev. This is because this is the version I've been using for a long time, and breakpoints change in later versions. 1.5.0-dev was chosen because it first introduced emulator-based framestepping, making one feature of the tool basically obsolete (unless you want to framestep in normal speed for whatever reason).

Q: I get an error when I try to view the boxes (PCSX2).

A: Set the rendering in PCSX2 to DX11 Software.

Q: How do I view throw boxes?

A: You have to perform every throw you want to see before the script starts or it won't pick them up. Also, it only places throws on the actively selected object, so you must select the correct object from the list.

MvC2

FAQ

Q: What game versions does it work on?

A: At the moment, I have only tested on NTSC-U.

Q: What's with the attack box on all basic animations?

A: That is the normal throw box. For some reason, it's always active (probably so that it's always ready to detect a throw in a fast-paced game).

Q: Why does it not work on my DEmul?

A: At the moment, I have only tested on DEmul 0.57. I have no idea if this script is compatible with later versions.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

CheatEngine Scripts

This repository contains various scripts made for CheatEngine, mostly to grab fighting game data.

General Usage

  1. Boot the game in the necessary emulator (DEmul, PCSX2, Kawaks, etc.).
  2. Open the CheatEngine table (.CT file) for the respective game (after the match has loaded for best results).
  3. Click "yes" when it asks to run the Lua file.
  4. A window should pop up with a button that says "Start Diagnostics." Click the button.
  5. Select the object you wish to observe.
  6. You should now be able to view hitboxes and other data for the selected object.

All data in the window is presented in 240p (M.U.G.E.N standard). To view raw data, refer to the table.

Caddie Machine Mode

Caddie Machine logs all animation data in M.U.G.E.N's .AIR format as the game plays, with the in-game sprite numbers used for sprite index values. So for instance, if the in-game sprite number is 326, then the corresponding M.U.G.E.N SFF value would be Group 0, SpriteNo 326 (0,326).

This logs timings in the current running game speed, so timings may not always be consistent due to Capcom's Turbo frameskipping. To get normal timings, you must set the game speed to Normal. In VSav and SFA3, you must do this in the options menu, as the Normal selectable in-game by default is actually Turbo 1.

It does not split animations, so you are responsible for keeping track of when animations begin and end.

CvS2/CFJ

This script contains hitbox and data displays for CvS2 for PCSX2 r5875. It also works on CFJ.

FAQ

Q: What game versions does it work on?

A: CvS2 (PS2): NTSC-U, NTSC-J. CFJ (PS2): PAL, NTSC-U. If you have a need for a different version of the game, feel free to erm... point me in the right direction ;)

Q: Do you plan for Dreamcast support for CvS2?

A: Of course!

Q: Why does it slow down at the start?

A: It's looking for throw breakpoints. Throw the opponent until the Memory Viewer pops up and it should stop. This is important for getting throw hitboxes.

Q: Why don't I see any hitboxes?

A: You need to have your PCSX2 render settings set to DirectX11 Hardware or DirectX11 Software. This uses Direct3D in order to show hitboxes, so DirectX is a requirement.

Q: Why does it not work on my PCSX2?

A: At the moment, it is only compatible with PCSX2 r5875 and 1.5.0-dev. This is because this is the version I've been using for a long time, and breakpoints change in later versions. 1.5.0-dev was chosen because it first introduced emulator-based framestepping, making one feature of the tool basically obsolete (unless you want to framestep in normal speed for whatever reason).

Q: I get an error when I try to view the boxes (PCSX2).

A: Set the rendering in PCSX2 to DX11 Software.

Q: How do I view throw boxes?

A: You have to perform every throw you want to see before the script starts or it won't pick them up. Also, it only places throws on the actively selected object, so you must select the correct object from the list.

MvC2

FAQ

Q: What game versions does it work on?

A: At the moment, I have only tested on NTSC-U.

Q: What's with the attack box on all basic animations?

A: That is the normal throw box. For some reason, it's always active (probably so that it's always ready to detect a throw in a fast-paced game).

Q: Why does it not work on my DEmul?

A: At the moment, I have only tested on DEmul 0.57. I have no idea if this script is compatible with later versions.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

CheatEngine Scripts

This repository contains various scripts made for CheatEngine, mostly to grab fighting game data.

General Usage

  1. Boot the game in the necessary emulator (DEmul, PCSX2, Kawaks, etc.).
  2. Open the CheatEngine table (.CT file) for the respective game (after the match has loaded for best results).
  3. Click "yes" when it asks to run the Lua file.
  4. A window should pop up with a button that says "Start Diagnostics." Click the button.
  5. Select the object you wish to observe.
  6. You should now be able to view hitboxes and other data for the selected object.

All data in the window is presented in 240p (M.U.G.E.N standard). To view raw data, refer to the table.

Caddie Machine Mode

Caddie Machine logs all animation data in M.U.G.E.N's .AIR format as the game plays, with the in-game sprite numbers used for sprite index values. So for instance, if the in-game sprite number is 326, then the corresponding M.U.G.E.N SFF value would be Group 0, SpriteNo 326 (0,326).

This logs timings in the current running game speed, so timings may not always be consistent due to Capcom's Turbo frameskipping. To get normal timings, you must set the game speed to Normal. In VSav and SFA3, you must do this in the options menu, as the Normal selectable in-game by default is actually Turbo 1.

It does not split animations, so you are responsible for keeping track of when animations begin and end.

CvS2/CFJ

This script contains hitbox and data displays for CvS2 for PCSX2 r5875. It also works on CFJ.

FAQ

Q: What game versions does it work on?

A: CvS2 (PS2): NTSC-U, NTSC-J. CFJ (PS2): PAL, NTSC-U. If you have a need for a different version of the game, feel free to erm... point me in the right direction ;)

Q: Do you plan for Dreamcast support for CvS2?

A: Of course!

Q: Why does it slow down at the start?

A: It's looking for throw breakpoints. Throw the opponent until the Memory Viewer pops up and it should stop. This is important for getting throw hitboxes.

Q: Why don't I see any hitboxes?

A: You need to have your PCSX2 render settings set to DirectX11 Hardware or DirectX11 Software. This uses Direct3D in order to show hitboxes, so DirectX is a requirement.

Q: Why does it not work on my PCSX2?

A: At the moment, it is only compatible with PCSX2 r5875 and 1.5.0-dev. This is because this is the version I've been using for a long time, and breakpoints change in later versions. 1.5.0-dev was chosen because it first introduced emulator-based framestepping, making one feature of the tool basically obsolete (unless you want to framestep in normal speed for whatever reason).

Q: I get an error when I try to view the boxes (PCSX2).

A: Set the rendering in PCSX2 to DX11 Software.

Q: How do I view throw boxes?

A: You have to perform every throw you want to see before the script starts or it won't pick them up. Also, it only places throws on the actively selected object, so you must select the correct object from the list.

MvC2

FAQ

Q: What game versions does it work on?

A: At the moment, I have only tested on NTSC-U.

Q: What's with the attack box on all basic animations?

A: That is the normal throw box. For some reason, it's always active (probably so that it's always ready to detect a throw in a fast-paced game).

Q: Why does it not work on my DEmul?

A: At the moment, I have only tested on DEmul 0.57. I have no idea if this script is compatible with later versions.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

CheatEngine Scripts

This repository contains various scripts made for CheatEngine, mostly to grab fighting game data.

General Usage

  1. Boot the game in the necessary emulator (DEmul, PCSX2, Kawaks, etc.).
  2. Open the CheatEngine table (.CT file) for the respective game (after the match has loaded for best results).
  3. Click "yes" when it asks to run the Lua file.
  4. A window should pop up with a button that says "Start Diagnostics." Click the button.
  5. Select the object you wish to observe.
  6. You should now be able to view hitboxes and other data for the selected object.

All data in the window is presented in 240p (M.U.G.E.N standard). To view raw data, refer to the table.

Caddie Machine Mode

Caddie Machine logs all animation data in M.U.G.E.N's .AIR format as the game plays, with the in-game sprite numbers used for sprite index values. So for instance, if the in-game sprite number is 326, then the corresponding M.U.G.E.N SFF value would be Group 0, SpriteNo 326 (0,326).

This logs timings in the current running game speed, so timings may not always be consistent due to Capcom's Turbo frameskipping. To get normal timings, you must set the game speed to Normal. In VSav and SFA3, you must do this in the options menu, as the Normal selectable in-game by default is actually Turbo 1.

It does not split animations, so you are responsible for keeping track of when animations begin and end.

CvS2/CFJ

This script contains hitbox and data displays for CvS2 for PCSX2 r5875. It also works on CFJ.

FAQ

Q: What game versions does it work on?

A: CvS2 (PS2): NTSC-U, NTSC-J. CFJ (PS2): PAL, NTSC-U. If you have a need for a different version of the game, feel free to erm... point me in the right direction ;)

Q: Do you plan for Dreamcast support for CvS2?

A: Of course!

Q: Why does it slow down at the start?

A: It's looking for throw breakpoints. Throw the opponent until the Memory Viewer pops up and it should stop. This is important for getting throw hitboxes.

Q: Why don't I see any hitboxes?

A: You need to have your PCSX2 render settings set to DirectX11 Hardware or DirectX11 Software. This uses Direct3D in order to show hitboxes, so DirectX is a requirement.

Q: Why does it not work on my PCSX2?

A: At the moment, it is only compatible with PCSX2 r5875 and 1.5.0-dev. This is because this is the version I've been using for a long time, and breakpoints change in later versions. 1.5.0-dev was chosen because it first introduced emulator-based framestepping, making one feature of the tool basically obsolete (unless you want to framestep in normal speed for whatever reason).

Q: I get an error when I try to view the boxes (PCSX2).

A: Set the rendering in PCSX2 to DX11 Software.

Q: How do I view throw boxes?

A: You have to perform every throw you want to see before the script starts or it won't pick them up. Also, it only places throws on the actively selected object, so you must select the correct object from the list.

MvC2

FAQ

Q: What game versions does it work on?

A: At the moment, I have only tested on NTSC-U.

Q: What's with the attack box on all basic animations?

A: That is the normal throw box. For some reason, it's always active (probably so that it's always ready to detect a throw in a fast-paced game).

Q: Why does it not work on my DEmul?

A: At the moment, I have only tested on DEmul 0.57. I have no idea if this script is compatible with later versions.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

CheatEngine Scripts

This repository contains various scripts made for CheatEngine, mostly to grab fighting game data.

General Usage

  1. Boot the game in the necessary emulator (DEmul, PCSX2, Kawaks, etc.).
  2. Open the CheatEngine table (.CT file) for the respective game (after the match has loaded for best results).
  3. Click "yes" when it asks to run the Lua file.
  4. A window should pop up with a button that says "Start Diagnostics." Click the button.
  5. Select the object you wish to observe.
  6. You should now be able to view hitboxes and other data for the selected object.

All data in the window is presented in 240p (M.U.G.E.N standard). To view raw data, refer to the table.

Caddie Machine Mode

Caddie Machine logs all animation data in M.U.G.E.N's .AIR format as the game plays, with the in-game sprite numbers used for sprite index values. So for instance, if the in-game sprite number is 326, then the corresponding M.U.G.E.N SFF value would be Group 0, SpriteNo 326 (0,326).

This logs timings in the current running game speed, so timings may not always be consistent due to Capcom's Turbo frameskipping. To get normal timings, you must set the game speed to Normal. In VSav and SFA3, you must do this in the options menu, as the Normal selectable in-game by default is actually Turbo 1.

It does not split animations, so you are responsible for keeping track of when animations begin and end.

CvS2/CFJ

This script contains hitbox and data displays for CvS2 for PCSX2 r5875. It also works on CFJ.

FAQ

Q: What game versions does it work on?

A: CvS2 (PS2): NTSC-U, NTSC-J. CFJ (PS2): PAL, NTSC-U. If you have a need for a different version of the game, feel free to erm... point me in the right direction ;)

Q: Do you plan for Dreamcast support for CvS2?

A: Of course!

Q: Why does it slow down at the start?

A: It's looking for throw breakpoints. Throw the opponent until the Memory Viewer pops up and it should stop. This is important for getting throw hitboxes.

Q: Why don't I see any hitboxes?

A: You need to have your PCSX2 render settings set to DirectX11 Hardware or DirectX11 Software. This uses Direct3D in order to show hitboxes, so DirectX is a requirement.

Q: Why does it not work on my PCSX2?

A: At the moment, it is only compatible with PCSX2 r5875 and 1.5.0-dev. This is because this is the version I've been using for a long time, and breakpoints change in later versions. 1.5.0-dev was chosen because it first introduced emulator-based framestepping, making one feature of the tool basically obsolete (unless you want to framestep in normal speed for whatever reason).

Q: I get an error when I try to view the boxes (PCSX2).

A: Set the rendering in PCSX2 to DX11 Software.

Q: How do I view throw boxes?

A: You have to perform every throw you want to see before the script starts or it won't pick them up. Also, it only places throws on the actively selected object, so you must select the correct object from the list.

MvC2

FAQ

Q: What game versions does it work on?

A: At the moment, I have only tested on NTSC-U.

Q: What's with the attack box on all basic animations?

A: That is the normal throw box. For some reason, it's always active (probably so that it's always ready to detect a throw in a fast-paced game).

Q: Why does it not work on my DEmul?

A: At the moment, I have only tested on DEmul 0.57. I have no idea if this script is compatible with later versions.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

CheatEngine Scripts

This repository contains various scripts made for CheatEngine, mostly to grab fighting game data.

General Usage

  1. Boot the game in the necessary emulator (DEmul, PCSX2, Kawaks, etc.).
  2. Open the CheatEngine table (.CT file) for the respective game (after the match has loaded for best results).
  3. Click "yes" when it asks to run the Lua file.
  4. A window should pop up with a button that says "Start Diagnostics." Click the button.
  5. Select the object you wish to observe.
  6. You should now be able to view hitboxes and other data for the selected object.

All data in the window is presented in 240p (M.U.G.E.N standard). To view raw data, refer to the table.

Caddie Machine Mode

Caddie Machine logs all animation data in M.U.G.E.N's .AIR format as the game plays, with the in-game sprite numbers used for sprite index values. So for instance, if the in-game sprite number is 326, then the corresponding M.U.G.E.N SFF value would be Group 0, SpriteNo 326 (0,326).

This logs timings in the current running game speed, so timings may not always be consistent due to Capcom's Turbo frameskipping. To get normal timings, you must set the game speed to Normal. In VSav and SFA3, you must do this in the options menu, as the Normal selectable in-game by default is actually Turbo 1.

It does not split animations, so you are responsible for keeping track of when animations begin and end.

CvS2/CFJ

This script contains hitbox and data displays for CvS2 for PCSX2 r5875. It also works on CFJ.

FAQ

Q: What game versions does it work on?

A: CvS2 (PS2): NTSC-U, NTSC-J. CFJ (PS2): PAL, NTSC-U. If you have a need for a different version of the game, feel free to erm... point me in the right direction ;)

Q: Do you plan for Dreamcast support for CvS2?

A: Of course!

Q: Why does it slow down at the start?

A: It's looking for throw breakpoints. Throw the opponent until the Memory Viewer pops up and it should stop. This is important for getting throw hitboxes.

Q: Why don't I see any hitboxes?

A: You need to have your PCSX2 render settings set to DirectX11 Hardware or DirectX11 Software. This uses Direct3D in order to show hitboxes, so DirectX is a requirement.

Q: Why does it not work on my PCSX2?

A: At the moment, it is only compatible with PCSX2 r5875 and 1.5.0-dev. This is because this is the version I've been using for a long time, and breakpoints change in later versions. 1.5.0-dev was chosen because it first introduced emulator-based framestepping, making one feature of the tool basically obsolete (unless you want to framestep in normal speed for whatever reason).

Q: I get an error when I try to view the boxes (PCSX2).

A: Set the rendering in PCSX2 to DX11 Software.

Q: How do I view throw boxes?

A: You have to perform every throw you want to see before the script starts or it won't pick them up. Also, it only places throws on the actively selected object, so you must select the correct object from the list.

MvC2

FAQ

Q: What game versions does it work on?

A: At the moment, I have only tested on NTSC-U.

Q: What's with the attack box on all basic animations?

A: That is the normal throw box. For some reason, it's always active (probably so that it's always ready to detect a throw in a fast-paced game).

Q: Why does it not work on my DEmul?

A: At the moment, I have only tested on DEmul 0.57. I have no idea if this script is compatible with later versions.