docs: add FLE bridge direction pivot and squad-injection test tooling
Adds the app-centric FLE bridge direction (direction.md) replacing the Blaze-backend route as primary plan, plus a corrected foundational test procedure and snapshot/diff/apply tooling for reverse-engineering FLE's Freeze Lineup write mechanism. Also picks up prior untracked research docs (status-review, fut-integration-options, fifa23-startup-flow, track-c) and existing capture/export tooling that hadn't been committed yet.
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
# snapshot: baseline 2026-06-26T21:44:51Z
|
||||
2023-06-02 22:13:13 280984156 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_commentaryfull_eng_us_ds/cas_02.cas
|
||||
2023-06-02 22:13:13 52532092 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_commentaryfull_eng_us_ds/cas_03.cas
|
||||
2023-06-02 22:20:08 768293618 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_07/cas_02.cas
|
||||
2023-06-02 22:20:18 728251988 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_07/cas_03.cas
|
||||
2023-06-02 22:20:37 1074835 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_commentarylaunch_spa_es/cas_01.cas
|
||||
2023-06-02 22:20:37 1471597 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_commentarylaunch_ita_it/cas_01.cas
|
||||
2023-06-02 22:20:37 1670951 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_commentarylaunch_spa_mx/cas_01.cas
|
||||
2023-06-02 22:20:37 2184167 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_commentarylaunch_rus_ru/cas_01.cas
|
||||
2023-06-02 22:20:37 2750298 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_commentarylaunch_ger_de/cas_01.cas
|
||||
2023-06-02 22:20:37 275617825 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_commentaryfull_eng_us_ds/cas_01.cas
|
||||
2023-06-02 22:20:37 34794805 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_commentarylaunch_jpn_jp/cas_01.cas
|
||||
2023-06-02 22:20:37 5583406 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_commentarylaunch_eng_us_ds/cas_01.cas
|
||||
2023-06-02 22:20:37 976736 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_commentarylaunch_chs_cn/cas_01.cas
|
||||
2023-06-02 22:20:38 5481 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_04/cas_01.cas
|
||||
2023-06-03 00:25:53 11768 /mnt/games/FIFA 23/Patch/Win32/commentarywc_fre_fr.toc
|
||||
2023-06-03 00:25:53 1224 /mnt/games/FIFA 23/Patch/Win32/chants_install.toc
|
||||
2023-06-03 00:25:53 125583 /mnt/games/FIFA 23/Patch/initfs_Win32
|
||||
2023-06-03 00:25:53 12570 /mnt/games/FIFA 23/Patch/Win32/commentarywc_ita_it.toc
|
||||
2023-06-03 00:25:53 12624 /mnt/games/FIFA 23/Patch/Win32/commentarywc_chs_cn.toc
|
||||
2023-06-03 00:25:53 12624 /mnt/games/FIFA 23/Patch/Win32/commentarywc_dut_nl.toc
|
||||
2023-06-03 00:25:53 12624 /mnt/games/FIFA 23/Patch/Win32/commentarywc_por_br.toc
|
||||
2023-06-03 00:25:53 12624 /mnt/games/FIFA 23/Patch/Win32/commentarywc_rus_ru.toc
|
||||
2023-06-03 00:25:53 12632 /mnt/games/FIFA 23/Patch/Win32/commentarywc_ger_de.toc
|
||||
2023-06-03 00:25:53 12678 /mnt/games/FIFA 23/Patch/Win32/commentarywc_ara_sa.toc
|
||||
2023-06-03 00:25:53 12678 /mnt/games/FIFA 23/Patch/Win32/commentarywc_pol_pl.toc
|
||||
2023-06-03 00:25:53 12678 /mnt/games/FIFA 23/Patch/Win32/commentarywc_spa_es.toc
|
||||
2023-06-03 00:25:53 12686 /mnt/games/FIFA 23/Patch/Win32/commentarywc_spa_mx.toc
|
||||
2023-06-03 00:25:53 12796 /mnt/games/FIFA 23/Patch/Win32/commentarylaunch_chs_cn.toc
|
||||
2023-06-03 00:25:53 14470 /mnt/games/FIFA 23/Patch/Win32/commentarylaunch_spa_es.toc
|
||||
2023-06-03 00:25:53 16044 /mnt/games/FIFA 23/Patch/Win32/commentarylaunch_spa_mx.toc
|
||||
2023-06-03 00:25:53 16440 /mnt/games/FIFA 23/Patch/Win32/commentarylaunch_ger_de.toc
|
||||
2023-06-03 00:25:53 17494 /mnt/games/FIFA 23/Patch/Win32/commentarylaunch_ita_it.toc
|
||||
2023-06-03 00:25:53 17890 /mnt/games/FIFA 23/Patch/Win32/commentarylaunch_rus_ru.toc
|
||||
2023-06-03 00:25:53 22910 /mnt/games/FIFA 23/Patch/Win32/commentarylaunch_jpn_jp.toc
|
||||
2023-06-03 00:25:53 24752 /mnt/games/FIFA 23/Patch/Win32/commentarylaunch_eng_us_ds.toc
|
||||
2023-06-03 00:25:53 2966 /mnt/games/FIFA 23/Patch/Win32/commentarywc_eng_us_ds.toc
|
||||
2023-06-03 00:25:53 45092 /mnt/games/FIFA 23/Patch/Win32/commentaryfull_fre_fr.toc
|
||||
2023-06-03 00:25:53 46980 /mnt/games/FIFA 23/Patch/Win32/commentaryfull_eng_us_ds.toc
|
||||
2023-06-03 00:25:53 49502 /mnt/games/FIFA 23/Patch/Win32/commentaryfull_pol_pl.toc
|
||||
2023-06-03 00:25:53 53840 /mnt/games/FIFA 23/Patch/Win32/commentaryfull_ita_it.toc
|
||||
2023-06-03 00:25:53 59752 /mnt/games/FIFA 23/Patch/Win32/commentaryfull_jpn_jp.toc
|
||||
2023-06-03 00:25:53 59878 /mnt/games/FIFA 23/Patch/Win32/commentaryfull_ger_de.toc
|
||||
2023-06-03 00:25:53 59878 /mnt/games/FIFA 23/Patch/Win32/commentaryfull_spa_mx.toc
|
||||
2023-06-03 00:25:53 61238 /mnt/games/FIFA 23/Patch/Win32/commentaryfull_rus_ru.toc
|
||||
2023-06-03 00:25:53 61940 /mnt/games/FIFA 23/Patch/Win32/commentaryfull_por_br.toc
|
||||
2023-06-03 00:25:53 63236 /mnt/games/FIFA 23/Patch/Win32/commentaryfull_chs_cn.toc
|
||||
2023-06-03 00:25:53 63236 /mnt/games/FIFA 23/Patch/Win32/commentaryfull_spa_es.toc
|
||||
2023-06-03 00:25:53 64802 /mnt/games/FIFA 23/Patch/Win32/commentaryfull_ara_sa.toc
|
||||
2023-06-03 00:25:53 65224 /mnt/games/FIFA 23/Patch/Win32/commentaryfull_dut_nl.toc
|
||||
2023-06-03 00:25:53 928 /mnt/games/FIFA 23/Patch/Win32/commentarywc_jpn_jp.toc
|
||||
2023-08-22 15:21:19 110383 /mnt/games/FIFA 23/Patch/layout.toc
|
||||
2023-08-22 15:21:19 1818 /mnt/games/FIFA 23/Patch/Win32/chants_full.toc
|
||||
2023-08-22 15:21:19 2321 /mnt/games/FIFA 23/Patch/Win32/matchcinematicssba.toc
|
||||
2023-08-22 15:21:19 263983 /mnt/games/FIFA 23/Patch/Win32/storycharsb.toc
|
||||
2023-08-22 15:21:20 129098 /mnt/games/FIFA 23/Patch/Win32/careermodestorysba.toc
|
||||
2023-08-22 15:21:20 1459 /mnt/games/FIFA 23/Patch/Win32/storyingamesba.toc
|
||||
2023-08-22 15:21:20 1520 /mnt/games/FIFA 23/Patch/Win32/streaminginstallcinematicsbundle.toc
|
||||
2023-08-22 15:21:20 1695 /mnt/games/FIFA 23/Patch/Win32/globalswc.toc
|
||||
2023-08-22 15:21:20 1894949 /mnt/games/FIFA 23/Patch/Win32/contentlaunchsb.toc
|
||||
2023-08-22 15:21:20 191908 /mnt/games/FIFA 23/Patch/Win32/worldcupsb.toc
|
||||
2023-08-22 15:21:20 3052093 /mnt/games/FIFA 23/Patch/Win32/worldssb.toc
|
||||
2023-08-22 15:21:20 3788 /mnt/games/FIFA 23/Patch/Win32/futsb.toc
|
||||
2023-08-22 15:21:20 440453 /mnt/games/FIFA 23/Patch/Win32/presprematchsba.toc
|
||||
2023-08-22 15:21:20 4886 /mnt/games/FIFA 23/Patch/Win32/presentationsb.toc
|
||||
2023-08-22 15:21:20 531911 /mnt/games/FIFA 23/Patch/Win32/globalsfull.toc
|
||||
2023-08-22 15:21:20 548511 /mnt/games/FIFA 23/Patch/Win32/careersba.toc
|
||||
2023-08-22 15:21:20 7271 /mnt/games/FIFA 23/Patch/Win32/marketingsba.toc
|
||||
2023-08-22 15:21:20 7360676 /mnt/games/FIFA 23/Patch/Win32/contentsb.toc
|
||||
2023-08-22 15:21:21 24476 /mnt/games/FIFA 23/Patch/Win32/choreosb.toc
|
||||
2023-08-22 15:21:21 268514476 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_06/cas_07.cas
|
||||
2023-08-22 15:21:21 58624 /mnt/games/FIFA 23/Patch/Win32/storysba.toc
|
||||
2023-08-22 15:21:21 6144 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_01/cas_01.cas
|
||||
2023-08-22 15:21:21 760492 /mnt/games/FIFA 23/Patch/Win32/globals.toc
|
||||
2023-08-22 15:21:23 103085062 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_06/cas_09.cas
|
||||
2023-08-22 15:21:23 268483345 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_06/cas_05.cas
|
||||
2023-08-22 15:21:24 268448487 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_06/cas_08.cas
|
||||
2023-08-22 15:21:24 268563472 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_06/cas_02.cas
|
||||
2023-08-22 15:21:26 268663563 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_06/cas_03.cas
|
||||
2023-08-22 15:21:27 268440522 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_06/cas_04.cas
|
||||
2023-08-22 15:21:28 268597122 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_06/cas_01.cas
|
||||
2023-08-22 15:21:29 268587757 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_06/cas_06.cas
|
||||
2023-08-22 15:21:30 234374397 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_02/cas_02.cas
|
||||
2023-08-22 15:21:31 410809408 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_02/cas_01.cas
|
||||
2023-08-22 15:21:33 491728234 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_08/cas_01.cas
|
||||
2023-08-22 15:21:36 287271203 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_05/cas_02.cas
|
||||
2023-08-22 15:21:37 268438709 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_05/cas_01.cas
|
||||
2023-08-22 15:21:38 271000144 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_05/cas_03.cas
|
||||
2023-08-22 15:21:44 236583358 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_05/cas_04.cas
|
||||
2023-08-22 15:21:46 492908031 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_07/cas_01.cas
|
||||
2023-08-22 15:21:52 270993339 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_00/cas_04.cas
|
||||
2023-08-22 15:21:58 273177012 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_00/cas_03.cas
|
||||
2023-08-22 15:22:02 99254970 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_00/cas_06.cas
|
||||
2023-08-22 15:22:05 270041465 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_00/cas_01.cas
|
||||
2023-08-22 15:22:12 268490780 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_00/cas_02.cas
|
||||
2023-08-22 15:22:18 295744650 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_00/cas_05.cas
|
||||
2023-08-22 15:22:19 270176162 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_03/cas_01.cas
|
||||
2023-08-22 15:22:20 118305 /mnt/games/FIFA 23/Patch/Win32/fifa/fifagame/fifagame.toc
|
||||
2023-08-22 15:22:20 180049441 /mnt/games/FIFA 23/Patch/Win32/superbundlelayout/fifa_installpackage_03/cas_02.cas
|
||||
2026-06-23 15:41:54 1536026 /home/alex/.local/share/Steam/steamapps/compatdata/3887260930/pfx/drive_c/users/steamuser/Documents/FIFA 23/settings/ProfileOptions
|
||||
2026-06-23 15:41:54 1 /home/alex/.local/share/Steam/steamapps/compatdata/3887260930/pfx/drive_c/users/steamuser/Documents/FIFA 23/settings/ProfileOptions_profile
|
||||
2026-06-23 15:42:00 0 /home/alex/.local/share/Steam/steamapps/compatdata/3887260930/pfx/drive_c/users/steamuser/Documents/FIFA 23/filesystemcache/survey.state
|
||||
2026-06-23 15:48:11 16272228 /home/alex/.local/share/Steam/steamapps/compatdata/3887260930/pfx/drive_c/users/steamuser/Documents/FIFA 23/settings/Career20260623154811
|
||||
2026-06-24 17:06:53 749 /home/alex/.local/share/Steam/steamapps/compatdata/3887260930/pfx/drive_c/users/steamuser/Documents/FIFA 23/settings/overrideAutodetect.lua
|
||||
2026-06-24 17:07:05 304 /home/alex/.local/share/Steam/steamapps/compatdata/3887260930/pfx/drive_c/users/steamuser/Documents/FIFA 23/fifasetup.ini
|
||||
2026-06-24 17:16:24 16272228 /home/alex/.local/share/Steam/steamapps/compatdata/3887260930/pfx/drive_c/users/steamuser/Documents/FIFA 23/settings/Career20260624171624A
|
||||
2026-06-24 17:16:39 16272228 /home/alex/.local/share/Steam/steamapps/compatdata/3887260930/pfx/drive_c/users/steamuser/Documents/FIFA 23/settings/Career20260624171639A
|
||||
2026-06-24 17:33:42 515334 /home/alex/.local/share/Steam/steamapps/compatdata/3887260930/pfx/drive_c/users/steamuser/Documents/FIFA 23/settings/Settings20260624173342
|
||||
2026-06-24 17:33:43 16272228 /home/alex/.local/share/Steam/steamapps/compatdata/3887260930/pfx/drive_c/users/steamuser/Documents/FIFA 23/settings/Career20260624173343A
|
||||
2026-06-24 17:44:25 189 /home/alex/.local/share/Steam/steamapps/compatdata/3887260930/pfx/drive_c/users/steamuser/Documents/FIFA 23/filesystemcache/atlPlayTimeJson/playtime_2143594531.json
|
||||
2026-06-24 19:35:05 8499 /mnt/games/FIFA 23/Logs/log_launcher_24-06-2026.txt
|
||||
2026-06-25 19:26:02 45957 /mnt/games/FIFA 23/Logs/log_launcher_25-06-2026.txt
|
||||
2026-06-25 19:26:24 49997 /mnt/games/FIFA 23/Logs/log_25-06-2026.txt
|
||||
2026-06-26 14:38:44 251783 /mnt/games/FIFA 23/Logs/log_launcher_26-06-2026.txt
|
||||
2026-06-26 14:38:59 281281 /mnt/games/FIFA 23/Logs/log_26-06-2026.txt
|
||||
Executable
+112
@@ -0,0 +1,112 @@
|
||||
#!/usr/bin/env bash
|
||||
# file-watch-diff/watch.sh
|
||||
# Snapshots FIFA 23 local file state and diffs it between labelled game phases.
|
||||
# Usage: watch.sh snapshot <label>
|
||||
# watch.sh diff <label-a> <label-b>
|
||||
# watch.sh watch # live tail of changes (requires inotifywait)
|
||||
#
|
||||
# Labels: baseline | main-menu | entered-fut | squad-change | post-match
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SNAP_DIR="$(cd "$(dirname "$0")" && pwd)/snapshots"
|
||||
mkdir -p "$SNAP_DIR"
|
||||
|
||||
# All directories that FIFA 23 writes to locally under Wine/Proton
|
||||
WATCH_PATHS=(
|
||||
"$HOME/.local/share/Steam/steamapps/compatdata/3887260930/pfx/drive_c/users/steamuser/Documents/FIFA 23"
|
||||
"$HOME/Games/umu/fifa23-tools/pfx/drive_c/users/steamuser/Documents/FIFA 23"
|
||||
"/mnt/games/FIFA 23/Logs"
|
||||
"/mnt/games/FIFA 23/Patch"
|
||||
)
|
||||
|
||||
# Build a listing (path + size + mtime) of every file under watched dirs
|
||||
snapshot() {
|
||||
local label="$1"
|
||||
local out="$SNAP_DIR/${label}.txt"
|
||||
echo "# snapshot: $label $(date -u +%Y-%m-%dT%H:%M:%SZ)" > "$out"
|
||||
for d in "${WATCH_PATHS[@]}"; do
|
||||
[ -d "$d" ] || continue
|
||||
find "$d" -type f -printf '%TY-%Tm-%Td %TH:%TM:%.2TS %7s %p\n' 2>/dev/null
|
||||
done | sort >> "$out"
|
||||
echo "Snapshot '$label' written to $out"
|
||||
wc -l "$out"
|
||||
}
|
||||
|
||||
# Diff two snapshots by path+size+mtime
|
||||
diff_snapshots() {
|
||||
local a="$SNAP_DIR/${1}.txt"
|
||||
local b="$SNAP_DIR/${2}.txt"
|
||||
[ -f "$a" ] || { echo "Missing snapshot: $1"; exit 1; }
|
||||
[ -f "$b" ] || { echo "Missing snapshot: $2"; exit 1; }
|
||||
|
||||
echo "=== Files added between '$1' → '$2' ==="
|
||||
comm -13 <(grep -v '^#' "$a" | awk '{print $NF}' | sort) \
|
||||
<(grep -v '^#' "$b" | awk '{print $NF}' | sort)
|
||||
|
||||
echo ""
|
||||
echo "=== Files removed between '$1' → '$2' ==="
|
||||
comm -23 <(grep -v '^#' "$a" | awk '{print $NF}' | sort) \
|
||||
<(grep -v '^#' "$b" | awk '{print $NF}' | sort)
|
||||
|
||||
echo ""
|
||||
echo "=== Files changed (size or mtime) between '$1' → '$2' ==="
|
||||
# Join on filename, report lines whose mtime/size differs
|
||||
diff <(grep -v '^#' "$a" | sort -k4) \
|
||||
<(grep -v '^#' "$b" | sort -k4) \
|
||||
| grep '^[<>]' \
|
||||
| awk '{print $NF}' \
|
||||
| sort | uniq -d
|
||||
}
|
||||
|
||||
# Live watch using /proc/inotify fallback (poll every 2s)
|
||||
watch_live() {
|
||||
if command -v inotifywait &>/dev/null; then
|
||||
inotifywait -r -m -e close_write,create,delete,moved_to \
|
||||
"${WATCH_PATHS[@]}" 2>/dev/null
|
||||
else
|
||||
echo "inotifywait not found. Install inotify-tools for live watching."
|
||||
echo "Falling back to 2-second poll diff (Ctrl-C to stop)..."
|
||||
local tmp_a tmp_b
|
||||
tmp_a=$(mktemp)
|
||||
tmp_b=$(mktemp)
|
||||
for d in "${WATCH_PATHS[@]}"; do
|
||||
[ -d "$d" ] || continue
|
||||
find "$d" -type f -printf '%TY-%Tm-%Td %TH:%TM:%.2TS %7s %p\n' 2>/dev/null
|
||||
done | sort > "$tmp_a"
|
||||
|
||||
while true; do
|
||||
sleep 2
|
||||
for d in "${WATCH_PATHS[@]}"; do
|
||||
[ -d "$d" ] || continue
|
||||
find "$d" -type f -printf '%TY-%Tm-%Td %TH:%TM:%.2TS %7s %p\n' 2>/dev/null
|
||||
done | sort > "$tmp_b"
|
||||
diff "$tmp_a" "$tmp_b" | grep '^[<>]' | while read -r line; do
|
||||
echo "$(date +%H:%M:%S) $line"
|
||||
done
|
||||
cp "$tmp_b" "$tmp_a"
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
case "${1:-}" in
|
||||
snapshot) snapshot "${2:?Usage: watch.sh snapshot <label>}" ;;
|
||||
diff) diff_snapshots "${2:?}" "${3:?Usage: watch.sh diff <label-a> <label-b>}" ;;
|
||||
watch) watch_live ;;
|
||||
*)
|
||||
echo "Usage:"
|
||||
echo " $0 snapshot <label> # take a file state snapshot"
|
||||
echo " $0 diff <label-a> <label-b> # show what changed between two snapshots"
|
||||
echo " $0 watch # live monitor (inotifywait or poll)"
|
||||
echo ""
|
||||
echo "Suggested workflow:"
|
||||
echo " $0 snapshot baseline"
|
||||
echo " # launch FIFA"
|
||||
echo " $0 snapshot main-menu"
|
||||
echo " # navigate to FUT"
|
||||
echo " $0 snapshot entered-fut"
|
||||
echo " # make squad change"
|
||||
echo " $0 snapshot squad-change"
|
||||
echo " $0 diff main-menu entered-fut"
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user