fix: prove the cascade loads in BAM camera plugins

The four camera plugins link OpenCV statically. Refs now cite the
CascadeClassifier::load call, its path built from the plugin directory
and the three-entry table, and the empty detector that follows a
failed load.
This commit is contained in:
Abdessamad Derraz committed 2026-11-10 14:25:21 +01:00
1 parent b66471538c
commit 3ff241a189
1 file changed
+6 -6
+6 -6
View File
@@ -874,8 +874,8 @@ files:
category: game_data
size: 919871
description: "OpenCV Haar cascade for frontal faces"
source_ref: "PS3Eye.dll (sha256 191996d48372d75f) FUN_10002440 0x10002565-0x100025aa (GetCurrentDirectoryA, backslash), 0x100025af-0x100025ca (the index at 0x1018e360, clamped to 0..2, picks entry 0 of the path table 0x10175008), 0x1000266d (cv::CascadeClassifier::load, FUN_100e2420, cvLoad fallback at 0x100e25a3), DesktopCam.dll (sha256 4928c27ab0ea5bd0) FUN_10001ee0 0x1000200d (entry 0 of 0x1031aee0), 0x10002096 (load), Simple Cam.dll 0x100024aa, DesktopPS3Eye.dll 0x1000236c (their path tables)"
note: "One cascade is read at a time, the one the plugin index selects, relative to the plugins\\ working directory."
source_ref: "BAM 1.5-408 plugins, PS3Eye.dll (sha256 191996d48372d75f) BAM_load 0x1000208d (FUN_10001c10 caches GetCurrentDirectoryA plus a backslash at 0x10228d48 while plugins::Load holds plugins\\ as the working directory), FUN_10002440 0x10002581-0x100025e3 (that directory, then entry 0 of the table 0x10175008, index 0x1018e360 clamped to 0..2), 0x1000266d (load FUN_100e2420: FileStorage 0x100e2529, open 0x10057fa3 reaching cvOpenFileStorage FUN_10067eb0, isOpened 0x100e2558, cvLoad FUN_100679d0 at 0x100e25a3), detectMultiScale empty test 0x100e01d0-0x100e01db, DesktopCam.dll (sha256 4928c27ab0ea5bd0) BAM_load 0x10001856 (FUN_100011d0, buffer 0x103b3330), FUN_10001ee0 0x10001fc0-0x10002022 (entry 0 of 0x1031aee0), 0x10002096 (load FUN_10127870: FileStorage 0x101279c8, isOpened 0x101279f3, cvLoad FUN_100732d0 at 0x10127a62), empty test 0x10127cbb-0x10127cc6, Simple Cam.dll (sha256 3b232df5e99b23c0) BAM_load 0x10002173 (FUN_10001cf0, buffer 0x103a09b8), FUN_10002370 0x1000245e-0x100024c0 (entry 0 of 0x102d9020), 0x1000254a (load FUN_10111db0: FileStorage 0x10111eb9, isOpened 0x10111ee8, cvLoad FUN_1006b1b0 at 0x10111f33), empty test 0x1010fb64-0x1010fb6b, DesktopPS3Eye.dll (sha256 14dbb5b11749622c) BAM_load 0x100018cd (FUN_10001250, buffer 0x1023d748), FUN_100021c0 0x1000231c-0x1000237e (entry 0 of 0x101a6fd8), 0x100023f5 (load FUN_100f97a0: FileStorage 0x100f98f8, isOpened 0x100f9923, cvLoad FUN_10070830 at 0x100f9992), empty test 0x100f9beb-0x100f9bf6"
note: "One cascade is read at a time, the one the plugin index selects (0, 1 or 2), from the plugins\\ directory cached by BAM_load. All four plugins link OpenCV 2.4 statically. cvLoad is the one function holding \"Could not find the/an object in file storage\", and its only caller is the routine the plugin calls with the path, which constructs a FileStorage, returns false when isOpened fails, then falls back to cvLoad: cv::CascadeClassifier::load. The plugin never tests the result. With no cascade, detectMultiScale returns at its empty() test, so no face is reported and the game runs on."
- name: haarcascade_frontalface_default.xml
sha1: 85a317ce2fc0415741a41736e99bd281d2437568
@@ -886,8 +886,8 @@ files:
category: game_data
size: 1254733
description: "Second OpenCV Haar cascade for frontal faces"
source_ref: "PS3Eye.dll (sha256 191996d48372d75f) FUN_10002440 0x10002565-0x100025aa (GetCurrentDirectoryA, backslash), 0x100025af-0x100025ca (the index at 0x1018e360, clamped to 0..2, picks entry 1 of the path table 0x10175008), 0x1000266d (cv::CascadeClassifier::load, FUN_100e2420, cvLoad fallback at 0x100e25a3), DesktopCam.dll (sha256 4928c27ab0ea5bd0) FUN_10001ee0 0x1000200d (entry 1 of 0x1031aee0), 0x10002096 (load), Simple Cam.dll 0x100024aa, DesktopPS3Eye.dll 0x1000236c (their path tables)"
note: "One cascade is read at a time, the one the plugin index selects, relative to the plugins\\ working directory."
source_ref: "BAM 1.5-408 plugins, PS3Eye.dll (sha256 191996d48372d75f) BAM_load 0x1000208d (FUN_10001c10 caches GetCurrentDirectoryA plus a backslash at 0x10228d48 while plugins::Load holds plugins\\ as the working directory), FUN_10002440 0x10002581-0x100025e3 (that directory, then entry 1 of the table 0x10175008, index 0x1018e360 clamped to 0..2), 0x1000266d (load FUN_100e2420: FileStorage 0x100e2529, open 0x10057fa3 reaching cvOpenFileStorage FUN_10067eb0, isOpened 0x100e2558, cvLoad FUN_100679d0 at 0x100e25a3), detectMultiScale empty test 0x100e01d0-0x100e01db, DesktopCam.dll (sha256 4928c27ab0ea5bd0) BAM_load 0x10001856 (FUN_100011d0, buffer 0x103b3330), FUN_10001ee0 0x10001fc0-0x10002022 (entry 1 of 0x1031aee0), 0x10002096 (load FUN_10127870: FileStorage 0x101279c8, isOpened 0x101279f3, cvLoad FUN_100732d0 at 0x10127a62), empty test 0x10127cbb-0x10127cc6, Simple Cam.dll (sha256 3b232df5e99b23c0) BAM_load 0x10002173 (FUN_10001cf0, buffer 0x103a09b8), FUN_10002370 0x1000245e-0x100024c0 (entry 1 of 0x102d9020), 0x1000254a (load FUN_10111db0: FileStorage 0x10111eb9, isOpened 0x10111ee8, cvLoad FUN_1006b1b0 at 0x10111f33), empty test 0x1010fb64-0x1010fb6b, DesktopPS3Eye.dll (sha256 14dbb5b11749622c) BAM_load 0x100018cd (FUN_10001250, buffer 0x1023d748), FUN_100021c0 0x1000231c-0x1000237e (entry 1 of 0x101a6fd8), 0x100023f5 (load FUN_100f97a0: FileStorage 0x100f98f8, isOpened 0x100f9923, cvLoad FUN_10070830 at 0x100f9992), empty test 0x100f9beb-0x100f9bf6"
note: "One cascade is read at a time, the one the plugin index selects (0, 1 or 2), from the plugins\\ directory cached by BAM_load. All four plugins link OpenCV 2.4 statically. cvLoad is the one function holding \"Could not find the/an object in file storage\", and its only caller is the routine the plugin calls with the path, which constructs a FileStorage, returns false when isOpened fails, then falls back to cvLoad: cv::CascadeClassifier::load. The plugin never tests the result. With no cascade, detectMultiScale returns at its empty() test, so no face is reported and the game runs on."
- name: lbpcascade_frontalface.xml
sha1: d668cbe8712f062bcc6af898ebb2937b73dcfd2d
@@ -898,8 +898,8 @@ files:
category: game_data
size: 51856
description: "OpenCV local binary pattern cascade for frontal faces"
source_ref: "PS3Eye.dll (sha256 191996d48372d75f) FUN_10002440 0x10002565-0x100025aa (GetCurrentDirectoryA, backslash), 0x100025af-0x100025ca (the index at 0x1018e360, clamped to 0..2, picks entry 2 of the path table 0x10175008), 0x1000266d (cv::CascadeClassifier::load, FUN_100e2420, cvLoad fallback at 0x100e25a3), DesktopCam.dll (sha256 4928c27ab0ea5bd0) FUN_10001ee0 0x1000200d (entry 2 of 0x1031aee0), 0x10002096 (load), Simple Cam.dll 0x100024aa, DesktopPS3Eye.dll 0x1000236c (their path tables)"
note: "One cascade is read at a time, the one the plugin index selects, relative to the plugins\\ working directory."
source_ref: "BAM 1.5-408 plugins, PS3Eye.dll (sha256 191996d48372d75f) BAM_load 0x1000208d (FUN_10001c10 caches GetCurrentDirectoryA plus a backslash at 0x10228d48 while plugins::Load holds plugins\\ as the working directory), FUN_10002440 0x10002581-0x100025e3 (that directory, then entry 2 of the table 0x10175008, index 0x1018e360 clamped to 0..2), 0x1000266d (load FUN_100e2420: FileStorage 0x100e2529, open 0x10057fa3 reaching cvOpenFileStorage FUN_10067eb0, isOpened 0x100e2558, cvLoad FUN_100679d0 at 0x100e25a3), detectMultiScale empty test 0x100e01d0-0x100e01db, DesktopCam.dll (sha256 4928c27ab0ea5bd0) BAM_load 0x10001856 (FUN_100011d0, buffer 0x103b3330), FUN_10001ee0 0x10001fc0-0x10002022 (entry 2 of 0x1031aee0), 0x10002096 (load FUN_10127870: FileStorage 0x101279c8, isOpened 0x101279f3, cvLoad FUN_100732d0 at 0x10127a62), empty test 0x10127cbb-0x10127cc6, Simple Cam.dll (sha256 3b232df5e99b23c0) BAM_load 0x10002173 (FUN_10001cf0, buffer 0x103a09b8), FUN_10002370 0x1000245e-0x100024c0 (entry 2 of 0x102d9020), 0x1000254a (load FUN_10111db0: FileStorage 0x10111eb9, isOpened 0x10111ee8, cvLoad FUN_1006b1b0 at 0x10111f33), empty test 0x1010fb64-0x1010fb6b, DesktopPS3Eye.dll (sha256 14dbb5b11749622c) BAM_load 0x100018cd (FUN_10001250, buffer 0x1023d748), FUN_100021c0 0x1000231c-0x1000237e (entry 2 of 0x101a6fd8), 0x100023f5 (load FUN_100f97a0: FileStorage 0x100f98f8, isOpened 0x100f9923, cvLoad FUN_10070830 at 0x100f9992), empty test 0x100f9beb-0x100f9bf6"
note: "One cascade is read at a time, the one the plugin index selects (0, 1 or 2), from the plugins\\ directory cached by BAM_load. All four plugins link OpenCV 2.4 statically. cvLoad is the one function holding \"Could not find the/an object in file storage\", and its only caller is the routine the plugin calls with the path, which constructs a FileStorage, returns false when isOpened fails, then falls back to cvLoad: cv::CascadeClassifier::load. The plugin never tests the result. With no cascade, detectMultiScale returns at its empty() test, so no face is reported and the game runs on."
# -- Named by the code, absent from both distributions --