diff --git a/emulator/render-bridge/dosboxlog.txt b/emulator/render-bridge/dosboxlog.txt index 5d596906..89add7f6 100644 --- a/emulator/render-bridge/dosboxlog.txt +++ b/emulator/render-bridge/dosboxlog.txt @@ -54,3 +54,126 @@ LOG: ISA Plug & Play BIOS enabled LOG: VGA ROM BIOS init callback LOG: pixratio 1.000, dw false, dh false LOG: Aspect ratio: 640 x 480 xToY=1.333 yToX=0.750 +LOG: WARNING: No translation support (to host) for code page 0 +LOG: DOS keyboard layout loaded with main language code US for layout us +LOG: XMS: 50 handles allocated for use by the DOS environment +LOG: EMS page frame at 0xe000-0xefff +LOG: COMMAND.COM env size: 720 bytes +LOG: COMMAND.COM environment block: 0x0701 sz=0x002d +LOG: COMMAND.COM main body (PSP): 0x072f sz=0x009a +LOG: COMMAND.COM stack: 0x0749 +LOG: pixratio 1.350, dw false, dh false +LOG: Aspect ratio: 720 x 540 xToY=1.333 yToX=0.750 +LOG: SHELL:Redirect output to COM3 +LOG: VPXLOG: fifosock client connected +VPX lights@f1: type6=0 typeE=0 decoded=0 dir=0 amb(0.00,0.00,0.00) +LOG: 219042775 ERROR MOUSE:Unhandled videomode 79 on reset +LOG: pixratio 1.000, dw false, dh false +LOG: Aspect ratio: 640 x 480 xToY=1.333 yToX=0.750 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +VPX lightnode t=6 nb=52: [8]00000000/0 [12]00000000/0 [16]00000001/1.4013e-45 [20]3f800000/1 [24]3f800000/1 [28]3f800000/1 [32]64078678/1e+22 [36]64078678/1e+22 [40]00000000/0 [44]00000000/0 [48]ffffffff/nan +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:3), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +VPX lights@f121: type6=2 typeE=6 decoded=2 dir=1 amb(0.55,0.50,0.65) + L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00) +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:3), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +VPX lights@f241: type6=2 typeE=6 decoded=2 dir=1 amb(0.55,0.50,0.65) + L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00) +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:3), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:3), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +VPX lights@f361: type6=2 typeE=8 decoded=2 dir=1 amb(0.55,0.50,0.65) + L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00) +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:3), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:3), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:4 (IF0:4), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:4 (IF0:4), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:4 (IF0:4), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +VPX lights@f481: type6=2 typeE=8 decoded=2 dir=1 amb(0.55,0.50,0.65) + L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00) +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:3), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:3), TX:0, Break 0 +VPX lights@f601: type6=2 typeE=9 decoded=2 dir=1 amb(0.55,0.50,0.65) + L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00) +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +VPX lights@f721: type6=2 typeE=9 decoded=2 dir=1 amb(0.55,0.50,0.65) + L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00) +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +VPX lights@f841: type6=2 typeE=9 decoded=2 dir=1 amb(0.55,0.50,0.65) + L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00) +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +VPX lights@f961: type6=2 typeE=9 decoded=2 dir=1 amb(0.55,0.50,0.65) + L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00) +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +VPX lights@f1081: type6=2 typeE=9 decoded=2 dir=1 amb(0.55,0.50,0.65) + L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00) +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +VPX lights@f1201: type6=2 typeE=9 decoded=2 dir=1 amb(0.55,0.50,0.65) + L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00) +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +VPX lights@f1321: type6=2 typeE=9 decoded=2 dir=1 amb(0.55,0.50,0.65) + L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00) +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:2), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +VPX lights@f1441: type6=2 typeE=9 decoded=2 dir=1 amb(0.55,0.50,0.65) + L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00) +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 +LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:1 (IF0:1), TX:0, Break 0 diff --git a/emulator/render-bridge/podlog.txt b/emulator/render-bridge/podlog.txt new file mode 100644 index 00000000..1be10b68 --- /dev/null +++ b/emulator/render-bridge/podlog.txt @@ -0,0 +1,573 @@ +BattleTech v4.10 +BTL4Application::BTL4Application +RIO never came back from check request! +GaugeInterpreter: undefined label 'Initialization' +[exp] master player experience=2 simLive=1 heatModelOn=1 advDamage=1 +[role] 'Role::Default' lives=1000 killBonus=500 dmgMod=1 +[torso] horizJoint 'jointtorso' -> 0x00a559b4 type=1 enabled=1 +[weap] 'AFC100' seg=13 mount=sitelgunport rear=0 +[proj] 'AFC100' ammoBinIndex=21 -> AmmoBinAFC100 (rounds=20) +[weap] 'ERLLaser' seg=7 mount=siterugunport rear=0 +[weap] 'ERSLaser_1' seg=13 mount=sitelgunport rear=0 +[weap] 'ERSLaser_2' seg=8 mount=siterdgunport rear=0 +[weap] 'LRM15_1' seg=18 mount=sitelmissleport rear=0 +[proj] 'LRM15_1' ammoBinIndex=26 -> AmmoBinLRM15_1 (rounds=16) +[weap] 'LRM15_2' seg=19 mount=sitermissleport rear=0 +[proj] 'LRM15_2' ammoBinIndex=28 -> AmmoBinLRM15_2 (rounds=16) +[mech] segment walk done: subsystemCount=32 weaponCount=6 +[skel] jointSubsystem=0x009eb3c4 jointCount=25 +[mech] model params: walkTR=65 runTR=40 maxAcc=20 throttleAdj=0.8 (deg,deg,u/s^2,scale) +[mech] look angles: L=50 R=-50 F=-15 B=0 (deg) +[mech] damage zones streamed: 22 [dz_dtorso,dz_hip,dz_larm,dz_ldleg,dz_ldoor,dz_lfoot,dz_lgun,dz_ltorso,dz_luleg,dz_rarm,dz_rdleg,dz_rdoor,dz_reardtorso,dz_rearltorso,dz_rearrtorso,dz_rearutorso,dz_rfoot,dz_rgun,dz_rtorso,dz_ruleg,dz_searchlight,dz_utorso] +[cyl] table 'madcat' LOADED rows=7 +[valve] 'Condenser1' valve=1 flow=0.166667 +[valve] 'Condenser2' valve=1 flow=0.166667 +[valve] 'Condenser3' valve=1 flow=0.166667 +[valve] 'Condenser4' valve=1 flow=0.166667 +[valve] 'Condenser5' valve=1 flow=0.166667 +[valve] 'Condenser6' valve=1 flow=0.166667 +[mapper] ctor id=0 throttleAttr=0x0096b248 controlModeAttr=0x0096b284 +[gau2] cluster slot=14 classID=3011 auxScreen=5 name=Avionics +[gau2] cluster slot=15 classID=3014 auxScreen=6 name=Myomers +[gau2] cluster slot=22 classID=3021 auxScreen=1 name=AFC100 +[gau2] cluster slot=23 classID=3016 auxScreen=10 name=ERLLaser +[gau2] cluster slot=24 classID=3016 auxScreen=3 name=ERSLaser_1 +[gau2] cluster slot=25 classID=3016 auxScreen=12 name=ERSLaser_2 +[gau2] cluster slot=27 classID=3024 auxScreen=2 name=LRM15_1 +[gau2] cluster slot=29 classID=3024 auxScreen=9 name=LRM15_2 +ColorMapperArmor warning: damage zone dz_missle not found +ColorMapperArmor warning: damage zone dz_missle not found +ColorMapperArmor warning: damage zone dz_lmissle not found +ColorMapperArmor warning: damage zone dz_rmissle not found +ColorMapperArmor warning: damage zone dz_ftorso not found +ColorMapperArmor warning: damage zone dz_btorso not found +[link] InitializePlayerLink -> vehicle playerLink=0x00adc2c0 +[launch] state=11 minPriorityEmpty=0 ticks=14713 +[queues] p0=BUSY p1=BUSY p2=BUSY p3=BUSY p4=- nextReady=1 +[posts] id3=416 +[launch] state=11 minPriorityEmpty=0 ticks=15726 +[queues] p0=BUSY p1=BUSY p2=BUSY p3=BUSY p4=- nextReady=1 +[posts] id3=502 +[launch] state=11 minPriorityEmpty=0 ticks=16736 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=11 minPriorityEmpty=0 ticks=17745 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=11 minPriorityEmpty=0 ticks=18754 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 1 class=3035 view=0 res=0 +[mer] 2 class=42 view=0 res=1 +[mer] 3 class=42 view=0 res=1 +[mer] 4 class=42 view=0 res=1 +[mer] 5 class=42 view=0 res=1 +[mer] 6 class=42 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=19831 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 7 class=42 view=0 res=1 +[mer] 8 class=42 view=0 res=1 +[mer] 9 class=42 view=0 res=1 +[mer] 10 class=42 view=0 res=1 +[mer] 11 class=42 view=0 res=1 +[mer] 12 class=42 view=0 res=1 +[mer] 13 class=42 view=0 res=1 +[mer] 14 class=42 view=0 res=1 +[mer] 15 class=42 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=20940 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 16 class=42 view=0 res=1 +[mer] 17 class=42 view=0 res=1 +[mer] 18 class=42 view=0 res=1 +[mer] 19 class=42 view=0 res=1 +[mer] 20 class=42 view=0 res=1 +[mer] 21 class=42 view=0 res=1 +[mer] 22 class=42 view=0 res=1 +[mer] 23 class=42 view=0 res=1 +[mer] 24 class=42 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=22051 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 25 class=42 view=0 res=1 +[mer] 26 class=42 view=0 res=1 +[mer] 27 class=42 view=0 res=1 +[mer] 28 class=42 view=0 res=1 +[mer] 29 class=42 view=0 res=1 +[mer] 30 class=42 view=0 res=1 +[mer] 31 class=42 view=0 res=1 +[mer] 32 class=42 view=0 res=1 +[mer] 33 class=42 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=23160 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 34 class=42 view=0 res=1 +[mer] 35 class=42 view=0 res=1 +[mer] 36 class=42 view=0 res=1 +[mer] 37 class=42 view=0 res=1 +[mer] 38 class=94 view=0 res=1 +[mer] 39 class=94 view=0 res=1 +[mer] 40 class=42 view=0 res=1 +[mer] 41 class=94 view=0 res=1 +[mer] 42 class=94 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=24269 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 43 class=94 view=0 res=1 +[mer] 44 class=94 view=0 res=1 +[mer] 45 class=94 view=0 res=1 +[mer] 46 class=94 view=0 res=1 +[mer] 47 class=94 view=0 res=1 +[mer] 48 class=94 view=0 res=1 +[mer] 49 class=42 view=0 res=1 +[mer] 50 class=42 view=0 res=1 +[mer] 51 class=42 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=25380 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 52 class=42 view=0 res=1 +[mer] 53 class=42 view=0 res=1 +[mer] 54 class=94 view=0 res=1 +[mer] 55 class=94 view=0 res=1 +[mer] 56 class=94 view=0 res=1 +[mer] 57 class=94 view=0 res=1 +[mer] 58 class=42 view=0 res=1 +[mer] 59 class=42 view=0 res=1 +[mer] 60 class=42 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=26489 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 61 class=42 view=0 res=1 +[mer] 62 class=94 view=0 res=1 +[mer] 63 class=94 view=0 res=1 +[mer] 64 class=94 view=0 res=1 +[mer] 65 class=94 view=0 res=1 +[mer] 66 class=94 view=0 res=1 +[mer] 67 class=94 view=0 res=1 +[mer] 68 class=42 view=0 res=1 +[mer] 69 class=94 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=27598 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 70 class=94 view=0 res=1 +[mer] 71 class=94 view=0 res=1 +[mer] 72 class=94 view=0 res=1 +[mer] 73 class=94 view=0 res=1 +[stack] frame at 0x12dee7 drift=0 over 1001 frames ticks=28077 pump=352/1499 +[mer] 74 class=94 view=0 res=1 +[mer] 75 class=94 view=0 res=1 +[mer] 76 class=42 view=0 res=1 +[mer] 77 class=94 view=0 res=1 +[mer] 78 class=42 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=28710 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 79 class=94 view=0 res=1 +[mer] 80 class=94 view=0 res=1 +[mer] 81 class=94 view=0 res=1 +[mer] 82 class=94 view=0 res=1 +[mer] 83 class=94 view=0 res=1 +[mer] 84 class=94 view=0 res=1 +[mer] 85 class=42 view=0 res=1 +[mer] 86 class=94 view=0 res=1 +[mer] 87 class=42 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=29819 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 88 class=42 view=0 res=1 +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =40 +[mer] 89 class=42 view=0 res=1 +[mer] 90 class=42 view=0 res=1 +[mer] 91 class=94 view=0 res=1 +[mer] 92 class=94 view=0 res=1 +[mer] 93 class=42 view=0 res=1 +[mer] 94 class=94 view=0 res=1 +[mer] 95 class=94 view=0 res=1 +[mer] 96 class=94 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=30929 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 97 class=94 view=0 res=1 +[mer] 98 class=94 view=0 res=1 +[mer] 99 class=42 view=0 res=1 +[mer] 100 class=42 view=0 res=1 +[mer] 101 class=42 view=0 res=1 +[mer] 102 class=94 view=0 res=1 +[mer] 103 class=42 view=0 res=1 +[mer] 104 class=42 view=0 res=1 +[mer] 105 class=42 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=32040 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 106 class=42 view=0 res=1 +[mer] 107 class=42 view=0 res=1 +[mer] 108 class=42 view=0 res=1 +[mer] 109 class=42 view=0 res=1 +[mer] 110 class=42 view=0 res=1 +[mer] 111 class=42 view=0 res=1 +[mer] 112 class=42 view=0 res=1 +[mer] 113 class=42 view=0 res=1 +[mer] 114 class=42 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=33149 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 115 class=42 view=0 res=1 +[mer] 116 class=42 view=0 res=1 +[mer] 117 class=42 view=0 res=1 +[mer] 118 class=42 view=0 res=1 +[mer] 119 class=42 view=0 res=1 +[mer] 120 class=94 view=0 res=1 +[mer] 121 class=42 view=0 res=1 +[mer] 122 class=42 view=0 res=1 +[mer] 123 class=42 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=34258 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 124 class=42 view=0 res=1 +[mer] 125 class=42 view=0 res=1 +[mer] 126 class=42 view=0 res=1 +[mer] 127 class=42 view=0 res=1 +[mer] 128 class=42 view=0 res=1 +[mer] 129 class=42 view=0 res=1 +[mer] 130 class=42 view=0 res=1 +[mer] 131 class=42 view=0 res=1 +[mer] 132 class=42 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=35369 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 133 class=42 view=0 res=1 +[mer] 134 class=42 view=0 res=1 +[mer] 135 class=42 view=0 res=1 +[mer] 136 class=42 view=0 res=1 +[mer] 137 class=42 view=0 res=1 +[mer] 138 class=42 view=0 res=1 +[mer] 139 class=42 view=0 res=1 +[mer] 140 class=42 view=0 res=1 +[mer] 141 class=42 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=36478 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 142 class=42 view=0 res=1 +[mer] 143 class=94 view=0 res=1 +[mer] 144 class=94 view=0 res=1 +[mer] 145 class=94 view=0 res=1 +[mer] 146 class=42 view=0 res=1 +[mer] 147 class=94 view=0 res=1 +[mer] 148 class=42 view=0 res=1 +[mer] 149 class=94 view=0 res=1 +[mer] 150 class=94 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=37587 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 151 class=94 view=0 res=1 +[mer] 152 class=42 view=0 res=1 +[mer] 153 class=42 view=0 res=1 +[mer] 154 class=42 view=0 res=1 +[mer] 155 class=94 view=0 res=1 +[mer] 156 class=42 view=0 res=1 +[mer] 157 class=42 view=0 res=1 +[mer] 158 class=94 view=0 res=1 +[mer] 159 class=94 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=38700 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 160 class=42 view=0 res=1 +[mer] 161 class=42 view=0 res=1 +[mer] 162 class=42 view=0 res=1 +[mer] 163 class=42 view=0 res=1 +[mer] 164 class=94 view=0 res=1 +[mer] 165 class=94 view=0 res=1 +[mer] 166 class=42 view=0 res=1 +[mer] 167 class=94 view=0 res=1 +[mer] 168 class=42 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=39809 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 169 class=94 view=0 res=1 +[mer] 170 class=94 view=0 res=1 +[mer] 171 class=42 view=0 res=1 +[mer] 172 class=42 view=0 res=1 +[mer] 173 class=42 view=0 res=1 +[mer] 174 class=94 view=0 res=1 +[mer] 175 class=42 view=0 res=1 +[mer] 176 class=42 view=0 res=1 +[mer] 177 class=94 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=40918 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 178 class=94 view=0 res=1 +[mer] 179 class=94 view=0 res=1 +[mer] 180 class=42 view=0 res=1 +[mer] 181 class=42 view=0 res=1 +[mer] 182 class=42 view=0 res=1 +[mer] 183 class=94 view=0 res=1 +[mer] 184 class=94 view=0 res=1 +[mer] 185 class=42 view=0 res=1 +[mer] 186 class=94 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=42029 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 187 class=94 view=0 res=1 +[mer] 188 class=94 view=0 res=1 +[mer] 189 class=42 view=0 res=1 +[mer] 190 class=42 view=0 res=1 +[mer] 191 class=94 view=0 res=1 +[mer] 192 class=94 view=0 res=1 +[mer] 193 class=42 view=0 res=1 +[mer] 194 class=42 view=0 res=1 +[mer] 195 class=42 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=43138 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 196 class=42 view=0 res=1 +[mer] 197 class=94 view=0 res=1 +[mer] 198 class=94 view=0 res=1 +[mer] 199 class=94 view=0 res=1 +[mer] 200 class=94 view=0 res=1 +[mer] 201 class=94 view=0 res=1 +[mer] 202 class=94 view=0 res=1 +[stack] frame at 0x12dee7 drift=0 over 2002 frames ticks=43949 pump=495/2643 +[mer] 203 class=94 view=0 res=1 +[mer] 204 class=42 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=44248 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 205 class=94 view=0 res=1 +[mer] 206 class=94 view=0 res=1 +[mer] 207 class=48 view=0 res=0 +[mer] 208 class=3001 view=1 res=1 + [vid] type=1 file='mad.skl' +[skl] video\mad.skl -> 26 nodes, 19 objects +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =41 +[launch] state=2 minPriorityEmpty=0 ticks=45360 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=46469 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=47578 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=48689 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=49798 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=50907 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=52018 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=53127 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=54236 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=55349 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=56458 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=57567 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=58678 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=59787 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[stack] frame at 0x12dee7 drift=0 over 3003 frames ticks=59824 pump=638/3787 +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =42 +[launch] state=2 minPriorityEmpty=0 ticks=60898 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=62009 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=63118 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=64227 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=65338 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=66447 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=67556 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=68667 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[launch] state=2 minPriorityEmpty=0 ticks=69776 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 209 class=48 view=0 res=0 +[mer] 210 class=48 view=0 res=0 +[launch] state=2 minPriorityEmpty=0 ticks=70885 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 211 class=48 view=0 res=0 +[mer] 212 class=48 view=0 res=0 +[mer] 213 class=48 view=0 res=0 +[mer] 214 class=48 view=0 res=0 +[mer] 215 class=48 view=0 res=0 +[launch] state=2 minPriorityEmpty=0 ticks=71996 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 216 class=48 view=0 res=0 +[mer] 217 class=94 view=0 res=1 +[mer] 218 class=94 view=0 res=1 +[mer] 219 class=94 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=73107 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 220 class=94 view=0 res=1 +[mer] 221 class=94 view=0 res=1 +[mer] 222 class=94 view=0 res=1 +[mer] 223 class=94 view=0 res=1 +[mer] 224 class=94 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=74216 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 225 class=94 view=0 res=1 +[mer] 226 class=94 view=0 res=1 +[mer] 227 class=94 view=0 res=1 +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =43 +[mer] 228 class=94 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=75328 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 229 class=94 view=0 res=1 +[mer] 230 class=94 view=0 res=1 +[stack] frame at 0x12dee7 drift=0 over 4004 frames ticks=75695 pump=781/4931 +[mer] 231 class=94 view=0 res=1 +[mer] 232 class=94 view=0 res=1 +[mer] 233 class=94 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=76438 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 234 class=94 view=0 res=1 +[mer] 235 class=94 view=0 res=1 +[mer] 236 class=94 view=0 res=1 +[mer] 237 class=94 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=77547 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 238 class=94 view=0 res=1 +[mer] 239 class=94 view=0 res=1 +[mer] 240 class=94 view=0 res=1 +[mer] 241 class=94 view=0 res=1 +[mer] 242 class=94 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=78658 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 243 class=94 view=0 res=1 +[mer] 244 class=94 view=0 res=1 +[mer] 245 class=94 view=0 res=1 +[mer] 246 class=94 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=79767 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 247 class=94 view=0 res=1 +[mer] 248 class=94 view=0 res=1 +[mer] 249 class=94 view=0 res=1 +MapDisplay: operating=1 static=7 moving=0 +[mer] 250 class=94 view=0 res=1 +[mer] 251 class=94 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=80876 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 252 class=94 view=0 res=1 +[mer] 253 class=94 view=0 res=1 +[mer] 254 class=94 view=0 res=1 +[mer] 255 class=94 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=81987 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 256 class=94 view=0 res=1 +[mer] 257 class=94 view=0 res=1 +[mer] 258 class=94 view=0 res=1 +[mer] 259 class=94 view=0 res=1 +[mer] 260 class=94 view=0 res=1 +[launch] state=2 minPriorityEmpty=0 ticks=83096 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 261 class=94 view=0 res=1 +[mer] 262 class=48 view=0 res=0 +[mer] 263 class=48 view=0 res=0 +[mer] 264 class=48 view=0 res=0 +[launch] state=2 minPriorityEmpty=0 ticks=84205 +[queues] p0=BUSY p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +[mer] 265 class=48 view=0 res=0 +[launch] state=2 minPriorityEmpty=1 ticks=85316 +[queues] p0=- p1=- p2=BUSY p3=- p4=- nextReady=1 +[posts] id3=530 +BTL4Application::RunMissionMessageHandler +Turning Plasma Score Display On +BTL4Application::RunMissionMessageHandler +Turning Plasma Score Display On +[tick] roster live (first Sensor frame), radarPercent=1 voltState=4 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-633.304,0,-348.383) yaw=-1.49721 spd=14.4 eyePitch=0 eyeYaw=0 +[fire] 'ERSLaser_1' LOADED (level=7941.22 T=76.8855) +[fire] 'ERSLaser_2' LOADED (level=7925.96 T=76.8462) +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =48 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-618.976,0,-349.934) yaw=-1.42987 spd=14.4 eyePitch=0 eyeYaw=0 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-604.771,0,-352.449) yaw=-1.36247 spd=14.4 eyePitch=0 eyeYaw=0 +[stack] frame at 0x12dee7 drift=0 over 5005 frames ticks=91705 pump=863/6075 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-590.781,0,-355.91) yaw=-1.29514 spd=14.4 eyePitch=0 eyeYaw=0 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-576.825,0,-360.388) yaw=-1.22666 spd=14.4 eyePitch=0 eyeYaw=0 +[fire] 'ERLLaser' LOADED (level=7928.31 T=76.0943) +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-563.235,0,-365.798) yaw=-1.15832 spd=14.4 eyePitch=0 eyeYaw=0 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-550.046,0,-372.124) yaw=-1.08997 spd=14.4 eyePitch=0 eyeYaw=0 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-537.295,0,-379.351) yaw=-1.0215 spd=14.4 eyePitch=0 eyeYaw=0 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-525.092,0,-387.416) yaw=-0.953153 spd=14.4 eyePitch=0 eyeYaw=0 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-513.468,0,-396.296) yaw=-0.88481 spd=14.4 eyePitch=0 eyeYaw=0 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-502.457,0,-405.969) yaw=-0.816333 spd=14.4 eyePitch=0 eyeYaw=0 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-492.153,0,-416.351) yaw=-0.747989 spd=14.4 eyePitch=0 eyeYaw=0 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-482.583,0,-427.413) yaw=-0.679646 spd=14.4 eyePitch=0 eyeYaw=0 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-473.773,0,-439.127) yaw=-0.611168 spd=14.4 eyePitch=0 eyeYaw=0 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-465.8,0,-451.391) yaw=-0.542824 spd=14.4 eyePitch=0 eyeYaw=0 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-458.684,0,-464.17) yaw=-0.474481 spd=14.4 eyePitch=0 eyeYaw=0 +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =49 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-452.542,0,-477.208) yaw=-0.407146 spd=14.4 eyePitch=0 eyeYaw=0 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-447.21,0,-490.86) yaw=-0.338668 spd=14.4 eyePitch=0 eyeYaw=0 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-442.832,0,-504.817) yaw=-0.270324 spd=14.4 eyePitch=0 eyeYaw=0 +[stack] frame at 0x12dee7 drift=0 over 6006 frames ticks=108393 pump=863/7219 +[mppr] thr=0.6 rev=0 stickX=0.25 stickY=0 mode=0 -> speedDemand=14.4 turnDemand=0.0625 torsoElev=0 +[sim] pos=(-439.456,0,-518.857) yaw=-0.202854 spd=14.4 eyePitch=0 eyeYaw=0 diff --git a/emulator/render-bridge/podlog_shipped.txt b/emulator/render-bridge/podlog_shipped.txt index e3d8295c..4d749fa5 100644 --- a/emulator/render-bridge/podlog_shipped.txt +++ b/emulator/render-bridge/podlog_shipped.txt @@ -1 +1,44 @@ BattleTech v4.10 +BTL4Application::BTL4Application +GaugeInterpreter: undefined label 'Initialization' +MakeVehicleSystems hud=0x01158dcc +Warning: damage zone 'dz_missle' not found! +Warning: damage zone 'dz_missle' not found! +Warning: damage zone 'dz_lmissle' not found! +Warning: damage zone 'dz_rmissle' not found! +Warning: damage zone 'dz_ftorso' not found! +Warning: damage zone 'dz_btorso' not found! +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =4252 +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =4408 +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =6128 +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =6417 +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =6783 +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =7185 +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =7193 +BTL4Application::RunMissionMessageHandler +Turning Plasma Score Display On +BTL4Application::RunMissionMessageHandler +Turning Plasma Score Display On +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =9235 +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =9240 +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =11662 +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =11666 +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =12328 +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =12332 +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =13939 +LBE4ControlsManager::Execute, lost RIO analog request +iThinkIRQIsOn =1, actual state =1, characters sent =13943 diff --git a/emulator/render-bridge/pose_check.fifodump b/emulator/render-bridge/pose_check.fifodump new file mode 100644 index 00000000..ee227f02 Binary files /dev/null and b/emulator/render-bridge/pose_check.fifodump differ diff --git a/restoration/source410/BT_L4/BTL4VID.CPP b/restoration/source410/BT_L4/BTL4VID.CPP index 76652065..e038fbd1 100644 --- a/restoration/source410/BT_L4/BTL4VID.CPP +++ b/restoration/source410/BT_L4/BTL4VID.CPP @@ -14,6 +14,13 @@ #if !defined(BTL4VID_HPP) # include #endif +// +// Matrix4x4 -- the DCS wire layout (see RecurseSKLFile). l4video.hpp pulls +// rotation.hpp but not matrix.hpp; L4VIDRND.CPP includes it the same way. +// +#if !defined(MATRIX_HPP) +# include +#endif // // The engine's damage-zone tagging callback reads this while geometry is @@ -222,55 +229,61 @@ dpl_DCS * dpl_SetDCSZone(dcs, zone); // - // STAGE 2a -- the node's LOCAL TRANSLATION. + // The node's LOCAL TRANSFORM, in the engine's own terms -- the wire + // convention is no longer inferred from captures, it is READ from the + // engine: RootRenderable's ctor (L4VIDRND.CPP:853) writes an entity pose + // into a DCS with // - // Slot convention, derived rather than guessed. A DCS flush body is - // [remote][type_check][node][pad][16 x float32]: our own identity - // matrices were found on the wire at body offset 16, which also - // showed analyze_scene.py's rest[4:68] read to be one word early. - // Re-reading a real BT capture with that correction gives a clean - // identity with the translation in the LAST ROW -- a row-vector - // convention, the transpose of MUNGA's AffineMatrix (which is 3x4 - // row-major with translation in the 4th COLUMN, entries[3/7/11], per - // AFFNMTRX.CPP:50). + // *(Matrix4x4*)dpl_GetDCSMatrix(myDCS) = myEntity->localToWorld; // - // Rotation is deliberately left identity for now: every base-pose - // pitch/yaw/roll in MAD.SKL is 0 or ~1e-3, so TRANSLATION alone - // assembles the model -- which isolates this one convention and - // makes a wrong guess about rotation order impossible to mistake for - // a wrong guess about translation. + // so whatever Matrix4x4::operator=(const AffineMatrix&) produces IS the + // DCS matrix layout. Reading it (MATRIX.CPP:130): Matrix4x4 is ROW-major + // (MATRIX.HPP:113, entries[(Row<<2)+Column]) with rotation in rows 0-2, + // ZEROS in column 3, and the TRANSLATION IN ROW 3 -- entries 12/13/14. + // + // (The previous revision put translation at entries 3/7/11, quoting + // AffineMatrix as precedent. AffineMatrix does keep translation at + // 3/7/11 -- but because it is COLUMN-major, entries[(column<<2)+row] + // (AFFNMTRX.HPP:99); its (3,c) translation row lands at 3/7/11 by + // storage, not by convention. Matrix4x4 transposes that on copy. The + // 'last row made the maths blow up' claim attached to the old choice + // came from the contaminated bisect -- the crashes were the RIO fault.) + // + // Rotation comes from the page's pitch/yaw/roll through the engine's own + // Matrix4x4::operator=(const EulerAngles&), so the rotation ORDER is the + // engine's by construction, not a guess. MAD.SKL base-pose angles are + // all 0 or ~1e-3, so this is nearly identity today -- but it is the + // correct compose for any skeleton authored with real angles. // Scalar tran_x = 0.0f, tran_y = 0.0f, - tran_z = 0.0f; + tran_z = 0.0f, + rot_pitch = 0.0f, + rot_yaw = 0.0f, + rot_roll = 0.0f; skeleton->GetEntry(page_name, "tranx", &tran_x); skeleton->GetEntry(page_name, "trany", &tran_y); skeleton->GetEntry(page_name, "tranz", &tran_z); + skeleton->GetEntry(page_name, "pitch", &rot_pitch); + skeleton->GetEntry(page_name, "yaw", &rot_yaw); + skeleton->GetEntry(page_name, "roll", &rot_roll); + Matrix4x4 + node_matrix; + node_matrix = EulerAngles(rot_pitch, rot_yaw, rot_roll); + node_matrix(3,0) = tran_x; + node_matrix(3,1) = tran_y; + node_matrix(3,2) = tran_z; + + // + // Write in place and flush -- the same idiom as RootRenderable's ctor + // (dpl_GetDCSMatrix + assign), not dpl_SetDCSMatrix. + // float32 - matrix[16]; - int - i; - for (i = 0; i < 16; ++i) - { - matrix[i] = 0.0f; - } - matrix[0] = matrix[5] = matrix[10] = matrix[15] = 1.0f; - // - // Translation goes in the 4th COLUMN (3/7/11), the same layout as - // MUNGA's own AffineMatrix (3x4 row-major, entries[3/7/11] -- - // AFFNMTRX.CPP:50). Putting it in the last ROW instead made the - // matrix PROJECTIVE under a column-vector convention and the - // transform maths blew up: the walk died on the first node that - // carries geometry, reproducibly, and bisecting with the reads kept - // but the values suppressed ran clean. Same library house as - // MUNGA, same convention. - // - matrix[3] = (float32)tran_x; - matrix[7] = (float32)tran_y; - matrix[11] = (float32)tran_z; - dpl_SetDCSMatrix(dcs, matrix); + *dcs_matrix = dpl_GetDCSMatrix(dcs); + Check_Pointer(dcs_matrix); + *(Matrix4x4 *)dcs_matrix = node_matrix; if (parent_dcs != NULL) { diff --git a/restoration/source410/RENDER-ROADMAP.NOTES.md b/restoration/source410/RENDER-ROADMAP.NOTES.md index fe48b45a..1bfd2a82 100644 --- a/restoration/source410/RENDER-ROADMAP.NOTES.md +++ b/restoration/source410/RENDER-ROADMAP.NOTES.md @@ -1274,3 +1274,48 @@ a boot-time state where no frame is ever outstanding. STATUS: emulator rebuilding; verification = the same norio run drawing PAST frame 232 with the camera tracking, then two agreeing runs before belief. + +-------------------------------------------------------------------------------- +THE MECH STANDS: MATRIX CONVENTION PROVEN FROM ENGINE SOURCE, CONFIRMED VISUALLY +-------------------------------------------------------------------------------- +emulator/render-bridge/pose_chase.png -- the MadCat assembled from its 19 +parts, standing in the arena at its live articulated position (chase render of +the live fifodump, framed on anim_abs root 0x672). Feet, legs, torso, weapon +pods, canopy plate with the purple glass panels. Not a collapsed stack. + +THE CONVENTION, now read from the engine rather than inferred from captures: +RootRenderable's ctor writes an entity pose into a DCS via + + *(Matrix4x4*)dpl_GetDCSMatrix(myDCS) = myEntity->localToWorld; + +so Matrix4x4::operator=(const AffineMatrix&) (MATRIX.CPP:130) IS the wire +layout: Matrix4x4 is ROW-major (entries[(Row<<2)+Column], MATRIX.HPP), rotation +in rows 0-2, ZEROS in column 3, TRANSLATION IN ROW 3 = entries 12/13/14. + +The previous choice (translation at 3/7/11) rested on two errors, both now +corrected in RecurseSKLFile's comments: (1) AffineMatrix DOES keep translation +at entries 3/7/11 -- but because it is COLUMN-major (entries[(column<<2)+row], +AFFNMTRX.HPP:99), that is its (3,c) translation ROW by storage; Matrix4x4 +transposes on copy. Citing it as precedent for a row-major layout was reading +the storage and ignoring the indexer. (2) "translation in the last row made +the maths blow up" came from the contaminated bisect -- those crashes were the +RIO fault. + +Rotation now composes through the engine's own Matrix4x4::operator=(const +EulerAngles&) from the page's pitch/yaw/roll, so the rotation order is the +engine's by construction. Node write uses the RootRenderable idiom +(dpl_GetDCSMatrix + assign), not dpl_SetDCSMatrix. + +Tooling: the chase-frame variant of fifobridge (camera framed on the +articulated root instead of arena bounds) is the ten-line proof harness for +any future pose question -- offline, against a copy of the live dump, zero +interference with the running pod. + +REMAINING VISUAL WORK, in order of blockingness: + * Eye height: the inside view sits at hull Y+UPOFF and stares through the + torso panels. The engine's answer is the siteeyepoint segment compose + (SetupCull) -- our skeleton has the joint chain, so the eye DCS should ride + jointcockpit/siteeyepoint rather than the root. COCKPIT-CAGE-NOTES.md + territory (glance-hide / punch cutout) applies once the height is right. + * Proportions/orientation fine-tune once a cleaner outside frame exists; + limbs may need per-joint rotation signs checked against a shipped capture.