@ravarcade
So far everything has been running great...but I have found one thing that "might" be a bug that causes BAM to crash.
When using BAM Custom models for animated characters..... it seems like if you issue a
.stop command to stop an animation... it works fine. However, if you issues a
.stop command to stop an animation when there is no animation currently running, or possible before BAM can understand what the command is supposed to do (like on table startup) then it causes BAM to have a crash.
For example.... if I'm playing Tron mode, and I have one or two animation running on different models.... I have a sub that ends Tron mode, and in that sub it will issue a .stop for all BAM custom models used throughout that mode to make sure "any" animations that could be in progress are stopped since that mode and characters are not being used anymore (since the mode ended).
Since that sub is called at Game Over, this means that sub is also called on the table's first startup. When the table starts up, this resultes in the table crashing when the .stop is used.
So as a test... I added a single bam custom model and .stop command on a "new" table. No animations are running at all. This also causes the table to crash.
Dim cm_Tron_Yori
Set cm_Tron_Yori = xBAM.CreateModel("Tron_Yori", 894.6, 865.8, -2.2, 1.6, -0, 0, -25, False, False)
cm_Tron_Yori.Scale.X = 0
cm_Tron_Yori.Scale.Y = 0
cm_Tron_Yori.Scale.Z = 0
cm_Tron_Yori.Kd.Set 0.527, 0.527, 0.527
cm_Tron_Yori.Ks.Set 0, 0, 0, 1
cm_Tron_Yori.Rim.Set 1, 1, 1, 0
cm_Tron_Yori.Spe.Set 20, 1, 1
cm_Tron_Yori.Part( 1).Kd.Set 0.527, 0.527, 0.527
cm_Tron_Yori.Part( 2).Kd.Set 1, 1, 1
cm_Tron_Yori.reflections = false
cm_Tron_Yori.stop
BAM Crash Log:
------------------- BAM crash-report -------------
BAM path: E:\Emulators\Future Pinball\BAM
XML:
table: E:\Emulators\Future Pinball\NewTable.fpt
1: TAG: FILE=dllmain.cpp, LINE=3383, FUNC=Routed_CoCreateInstance, ARG={ 0x0c6c4200, 0xc589, 0x11d0, 0x99, 0x9a, 0000, 0xc0, 0x4f, 0xd6, 0x55, 0xe1 } [369]
2: TAG: FILE=fpt_file_reader\table_info.cpp, LINE=258, FUNC=TableInfo::ReadInfo
SBC: -1
NFC: 0
Loaded modules:
Future Pinball.exe, 1.9.2008.1225 : 00400000 - 01F3F000
ntdll.dll, 6.2.18362.1316 : 76F00000 - 7709A000
KERNEL32.DLL, 6.2.18362.1110 : 75230000 - 75310000
KERNELBASE.dll, 6.2.18362.1316 : 760F0000 - 762EF000
apphelp.dll, 6.2.18362.1139 : 72F40000 - 72FDF000
AcLayers.DLL, 6.2.18362.1198 : 68BC0000 - 68E4A000
msvcrt.dll, 7.0.18362.1 : 74D90000 - 74E4F000
USER32.dll, 6.2.18362.1316 : 76D20000 - 76EB8000
win32u.dll, 6.2.18362.1316 : 758E0000 - 758F7000
GDI32.dll, 6.2.18362.1316 : 75200000 - 75221000
gdi32full.dll, 6.2.18362.1316 : 75F20000 - 7607D000
msvcp_win.dll, 6.2.18362.1110 : 76B30000 - 76BAC000
ucrtbase.dll, 6.2.18362.1110 : 76A00000 - 76B20000
SHELL32.dll, 6.2.18362.1316 : 75900000 - 75E7B000
cfgmgr32.dll, 6.2.18362.387 : 74A10000 - 74A4B000
shcore.dll, 6.2.18362.1316 : 75170000 - 751F3000
RPCRT4.dll, 6.2.18362.1316 : 74950000 - 74A0B000
SspiCli.dll, 6.2.18362.1049 : 746D0000 - 746F5000
CRYPTBASE.dll, 6.2.18362.1 : 746C0000 - 746CA000
bcryptPrimitives.dll, 6.2.18362.1237 : 76080000 - 760E0000
sechost.dll, 6.2.18362.1316 : 75860000 - 758D6000
combase.dll, 6.2.18362.1316 : 74B10000 - 74D86000
windows.storage.dll, 6.2.18362.1316 : 76440000 - 76A00000
advapi32.dll, 6.2.18362.752 : 74E50000 - 74EC9000
profapi.dll, 6.2.18362.693 : 76EC0000 - 76EDB000
powrprof.dll, 6.2.18362.1 : 74900000 - 74943000
UMPDC.dll, : 76EE0000 - 76EED000
shlwapi.dll, 6.2.18362.1316 : 74F30000 - 74F74000
kernel.appcore.dll, 6.2.18362.1171 : 760E0000 - 760EF000
cryptsp.dll, 6.2.18362.1 : 762F0000 - 76303000
OLEAUT32.dll, 6.2.18362.1110 : 74700000 - 74792000
SETUPAPI.dll, 6.2.18362.1 : 75310000 - 75759000
bcrypt.dll, 6.2.18362.267 : 74A60000 - 74A79000
MPR.dll, 6.2.18362.1 : 719B0000 - 719C8000
sfc.dll, 6.2.18362.1 : 66680000 - 66683000
WINSPOOL.DRV, 6.2.18362.1316 : 74650000 - 746BB000
PROPSYS.dll, 7.0.18362.1316 : 74540000 - 74606000
IPHLPAPI.DLL, 6.2.18362.1 : 74610000 - 74642000
sfc_os.DLL, 6.2.18362.1 : 74070000 - 7407F000
AcGenral.DLL, 6.2.18362.449 : 73E10000 - 74061000
ole32.dll, 6.2.18362.1316 : 75760000 - 75857000
UxTheme.dll, 6.2.18362.1316 : 742D0000 - 7434A000
WINMM.dll, 6.2.18362.1 : 744B0000 - 744D4000
samcli.dll, 6.2.18362.1 : 6DF90000 - 6DFA5000
MSACM32.dll, 6.2.18362.1 : 690F0000 - 69109000
VERSION.dll, 6.2.18362.1 : 74260000 - 74268000
USERENV.dll, 6.2.18362.1139 : 705A0000 - 705BE000
dwmapi.dll, 6.2.18362.1316 : 71CD0000 - 71CF5000
urlmon.dll, 11.0.18362.1316 : 6E590000 - 6E73C000
WINMMBASE.dll, 6.2.18362.1 : 74400000 - 74423000
iertutil.dll, 11.0.18362.1316 : 6CBF0000 - 6CE1A000
IMM32.DLL, 6.2.18362.387 : 75EF0000 - 75F15000
COMDLG32.dll, 6.2.18362.1316 : 74850000 - 74900000
fmod.dll, 3.7.4.0 : 10000000 - 10096000
COMCTL32.dll, 6.10.18362.1316 : 73430000 - 7363F000
DINPUT8.dll, 6.2.18362.1 : 6C340000 - 6C377000
GLU32.dll, 6.2.18362.387 : 6CE20000 - 6CE5F000
WSOCK32.dll, 6.2.18362.1 : 71880000 - 71888000
WS2_32.dll, 6.2.18362.387 : 74F80000 - 74FDE000
libcurl.dll, 7.13.1.0 : 03ED0000 - 03F6D000
DevIL.dll, 0.1.6.5 : 03F70000 - 040E3000
Newton.dll, : 03B30000 - 03BA1000
ILU.dll, 0.1.6.5 : 001E0000 - 001F3000
ILUT.dll, 0.1.6.5 : 02100000 - 0210D000
OPENGL32.dll, : 040F0000 - 043DB000
WININET.dll, 11.0.18362.1316 : 73640000 - 73A9B000
imagehlp.dll, 6.2.18362.1 : 76310000 - 7632B000
BAM.dll, 1.5.324.0 : 65F90000 - 66609000
PSAPI.DLL, 6.2.18362.1 : 74A50000 - 74A56000
HID.DLL, 6.2.18362.1 : 70310000 - 7031B000
renderingengine.dll, : 60A50000 - 60F78000
--------------------------------------------------
Error code E06D7363: (unknown)
Address: 762046D2 -> KERNELBASE.dll:001146D2
Flags: 00000001
Fault Occured At $ADDRESS:762046D2 ->KERNELBASE.dll:001146D2
with 63 73 6D E0 01 00 00 00 03 00 00 00 C8 E6 A3 0F 63 73 6D E0
Address: 57E0DF60 -> UNKNOWN:57E0DF60
*** 0 called from $ADDRESS:57E0DF60
with E4 E6 A3 0F 30 61 7B 51 05 40 00 80 00 50 19 1C 00 E9 62 51
Address: 516327F1 -> UNKNOWN:516327F1
*** 1 called from $ADDRESS:516327F1
with 4C E7 A3 0F 0C D2 F9 BD 3C EC A3 0F 9C 1E 84 51 01 00 00 00
Address: 5163FFFE -> UNKNOWN:5163FFFE
*** 2 called from $ADDRESS:5163FFFE
with 5C D2 F9 BD 3C EC A3 0F 9C 1E 84 51 01 00 00 00 05 40 00 80
Address: 51643E23 -> UNKNOWN:51643E23
*** 3 called from $ADDRESS:51643E23
with 35 6C 73 2E 05 40 00 80 9C 1E 84 51 00 00 00 00 EB DD 62 51
Address: 5162DDB0 -> UNKNOWN:5162DDB0
*** 4 called from $ADDRESS:5162DDB0
with E4 DC F9 BD 00 00 00 00 90 D6 4F 51 88 AD DD 09 40 EC A3 0F
Address: 516E169C -> UNKNOWN:516E169C
*** 5 called from $ADDRESS:516E169C
with F8 01 81 51 60 F0 A3 0F 04 01 00 00 3C EC A3 0F 40 EC A3 0F
Address: 75A30B0C -> SHELL32.dll:00130B0C
*** 6 called from $ADDRESS:75A30B0C
with 00 00 00 00 07 00 00 00 88 AD DD 09 20 F8 F9 09 A0 F9 F9 09
Address: 75A30D2A -> SHELL32.dll:00130D2A
*** 7 called from $ADDRESS:75A30D2A
with 20 F8 F9 09 00 00 00 00 C4 3C 94 75 B8 12 98 05 EA 01 00 00
Address: 75A3ECBA -> SHELL32.dll:0013ECBA
*** 8 called from $ADDRESS:75A3ECBA
with 00 00 00 00 B8 12 98 05 00 00 00 00 30 50 9F 75 C1 ED A3 75
Address: 75A3F527 -> SHELL32.dll:0013F527
*** 9 called from $ADDRESS:75A3F527
with 40 ED A3 75 01 00 00 00 C4 12 98 05 B2 C2 A2 75 E0 F3 DA 09
Address: 75A3EDC1 -> SHELL32.dll:0013EDC1
*** 10 called from $ADDRESS:75A3EDC1
with B8 12 98 05 18 00 00 00 70 65 49 73 62 79 A0 75 AC FA A3 0F
Address: 75A3ED34 -> SHELL32.dll:0013ED34
*** 11 called from $ADDRESS:75A3ED34
with B8 12 98 05 03 00 00 00 FF FF FF FF 11 00 00 00 78 AA FC 09
Address: 75A0776F -> SHELL32.dll:0010776F
*** 12 called from $ADDRESS:75A0776F
with AC FA A3 0F 1B 51 6A 3D 00 00 00 00 C0 E4 54 76 00 00 00 00
Address: 7654E5D6 -> windows.storage.dll:0010E5D6
*** 13 called from $ADDRESS:7654E5D6
with 00 00 00 00 70 FC A3 0F 01 00 00 00 98 AA FC 09
Address: 7654E4E2 -> windows.storage.dll:0010E4E2
*** 14 called from $ADDRESS:7654E4E2
@ravarcade
Is it possible, depending on the timing, BAM simply doesn't know what that command is supposed to do and causes a crash?
Maybe this also explains why some people may get crash when running my Star Wars Epic Space Battles mod, and Halloween Big Bloody Mike mod tables? (which use animated characters in the same way)
I included the test table for reference.