From b18f0aa618947d5aff0be595fc9eb108b7da4660 Mon Sep 17 00:00:00 2001 From: jarig Date: Mon, 25 Jan 2016 14:52:51 +0200 Subject: [PATCH] support of mission type recognition, the most of mission types --- EliteReporter/Assets/mTypes/Assassination.bmp | Bin 0 -> 8854 bytes EliteReporter/Assets/mTypes/BountyKill.bmp | Bin 0 -> 8694 bytes EliteReporter/Assets/mTypes/CargoTransfer.bmp | Bin 0 -> 8694 bytes .../Assets/mTypes/CourierDelivery.bmp | Bin 0 -> 9174 bytes EliteReporter/Assets/mTypes/DataDelivery.bmp | Bin 0 -> 8534 bytes .../Assets/mTypes/FindAndDeliver.bmp | Bin 0 -> 8746 bytes .../Assets/mTypes/LostCargoDelivery.bmp | Bin 0 -> 9014 bytes EliteReporter/Assets/mTypes/Mining.bmp | Bin 0 -> 8694 bytes .../mTypes/MultiStepCourierDelivery.bmp | Bin 0 -> 8534 bytes EliteReporter/Assets/mTypes/PirateCargo.bmp | Bin 0 -> 8694 bytes .../Assets/mTypes/PlanetDelivery.bmp | Bin 0 -> 8534 bytes EliteReporter/Assets/mTypes/SecretCargo.bmp | Bin 0 -> 9566 bytes .../Assets/mTypes/StealAndDeliver.bmp | Bin 0 -> 8910 bytes .../Assets/mTypes/TimedAssassination.bmp | Bin 0 -> 8166 bytes EliteReporter/EliteReporter.csproj | 42 ++++++++++++++++++ .../Forms/EditMissionForm.Designer.cs | 40 +++++++++++++---- EliteReporter/Forms/EditMissionForm.cs | 3 ++ EliteReporter/Forms/ReportForm.Designer.cs | 40 ++++++++++------- EliteReporter/Forms/ReportForm.cs | 6 ++- EliteReporter/Models/MissionInfo.cs | 1 + EliteReporter/Utils/EDAPI.cs | 1 + EliteReporter/Utils/ScreenAnalyzer.cs | 35 +++++++++++++-- 22 files changed, 139 insertions(+), 29 deletions(-) create mode 100644 EliteReporter/Assets/mTypes/Assassination.bmp create mode 100644 EliteReporter/Assets/mTypes/BountyKill.bmp create mode 100644 EliteReporter/Assets/mTypes/CargoTransfer.bmp create mode 100644 EliteReporter/Assets/mTypes/CourierDelivery.bmp create mode 100644 EliteReporter/Assets/mTypes/DataDelivery.bmp create mode 100644 EliteReporter/Assets/mTypes/FindAndDeliver.bmp create mode 100644 EliteReporter/Assets/mTypes/LostCargoDelivery.bmp create mode 100644 EliteReporter/Assets/mTypes/Mining.bmp create mode 100644 EliteReporter/Assets/mTypes/MultiStepCourierDelivery.bmp create mode 100644 EliteReporter/Assets/mTypes/PirateCargo.bmp create mode 100644 EliteReporter/Assets/mTypes/PlanetDelivery.bmp create mode 100644 EliteReporter/Assets/mTypes/SecretCargo.bmp create mode 100644 EliteReporter/Assets/mTypes/StealAndDeliver.bmp create mode 100644 EliteReporter/Assets/mTypes/TimedAssassination.bmp diff --git a/EliteReporter/Assets/mTypes/Assassination.bmp b/EliteReporter/Assets/mTypes/Assassination.bmp new file mode 100644 index 0000000000000000000000000000000000000000..8e20ed561a0e91ec3cecbd8a7a2bc79fddb56c90 GIT binary patch literal 8854 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 T#|JF9Xjn`PgzXSA`Z?~ulhJIY literal 0 HcmV?d00001 diff --git a/EliteReporter/Assets/mTypes/BountyKill.bmp b/EliteReporter/Assets/mTypes/BountyKill.bmp new file mode 100644 index 0000000000000000000000000000000000000000..b00668163a1822f42610f5b69b5d437d45dcf870 GIT binary patch literal 8694 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 Pl7;${{aqj5d+j7H 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 literal 0 HcmV?d00001 diff --git a/EliteReporter/Assets/mTypes/DataDelivery.bmp b/EliteReporter/Assets/mTypes/DataDelivery.bmp new file mode 100644 index 0000000000000000000000000000000000000000..9f140929b7a624c6a78147d96f73d2f0b6c9aec7 GIT binary patch literal 8534 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 yF{O~F{4g#47m+h4ZqA^%irF(Gx)yeE$Vy=d(Hh literal 0 HcmV?d00001 diff --git a/EliteReporter/Assets/mTypes/MultiStepCourierDelivery.bmp b/EliteReporter/Assets/mTypes/MultiStepCourierDelivery.bmp new file mode 100644 index 0000000000000000000000000000000000000000..c9ea1d5311f7ba92a0227fb97ac9986891b7802a GIT binary patch literal 8534 zcmd6tdr(x@8Nls7vb;rw-DQ{8F7LM*9%2KEM&1u8h1d$1G}b02V`GXzQG$R7M2tlQ z64GRvw&T=Jl1^tbO_OP7+R02)Gs$!&scAE{j;Tll4d$P8;v|{=?tZ&>@7@Ihj3Ca( znRCzccfRwT?|k>Jg%x!%D;)o_NfY_Ya{hg5g~?H_ByR=DpR2&vKU6Dz0bwpNx-x3X z!ZJqxz=g{S70yND9?LIaL5L0-`pyB%6cFSV|3H(g3mIo#;WGq=`@|F(Y{kCz5?_0% zh{0ZBu<4|jHZzE>rQ?wi9O4+3k-fz^mupgw2Eyv(TNzvJld;z)rO79y(J9G|E0Y`U zjwmDz@c9KA-F$|aBBjV}e_`s@FLB1lR_2quYk_<$K$bBrv@FlNYW8w!wOv#`CYqoA z7zm3NfY@Ye^m)(#2Kfb|VYqgDhxOxSTlMinTLotJHFD2&&YjYP+zu zdGpafFxVU%Vj*Qv?QrBpJu?wFAQZFKDwW1Ely|TB@dby3KXZC;Vq!ACU^~iVXMO$M zGo_{H6ctz7V$*cf&@v}?3sq~wqI6Y&7HlagE&Gny602LPx`27;FVqg@3X8ipRv{^(kptA!{PMtE6Ne`kQHpMJ=C+ zuUKpawTmnJ-d`4mUy;s2J74>;zY{d~y5*ZSwB;ZrsTKY)J`Z_1-?qeOp8&F2^3 zyknRcSBk7!ZS{7ju-+X$fU>gl!%Q(?ad=m+jU;ubQ1A2aINzM&>Tqk^(D3NNCy#_0 zW019B(ICR-P@y0iWuxcChjF;=Lt`r*Ok(V8oQDLPnOhZWWWw)XfAhx8n}-g!TOtyS zW;=XxXG$CT67VtIT=}38p^uu^X223MCO{LS3>8Q+QcfBXmH3A@{x~&t>(;H$j<$8d z$Ns{n?WiCI%!$twVA5BeWyHt?MWb$ZL*%8W-GlRoA`Nc2KT^k?o?CN2)EU&Yx z@9n?6v;W5jRYYbNMf%5A`ls(!Kt1(W#PsPIxiR)sDrmjw-ffjtbrF$?Af{*LKGlA_ ztfH3HCnj$g8F~JTFK&-r8$W;kmEqy%&kjAu*&G~v7CAEroFW4QLqBzi35{at zqivlfWi=qiC1ji)7`lA<3ebcq#8EW1SmVv%u_i_AB3Ob>2q?vgU_2mppLqJc_x^tH z$)k)9B7%-WQfqxv8)e_L_NTnRA;e3$d4=(b>&O$ym6g{vH0_~~Rcm7!%cICR&S`bZVa7#bR#nwn}k%pg%{2MI{1n%4f@@0X#* zs0~^7q8R1~S!1oP*}1D>PnZ$cZ`pQV1&D=P%YZ;tJ-z*xE?s_T&%Wspo$e5?2Fgql z7;JiO^u@8U@z$dqvGEzK++Z*J20p${urC?wHWKBcbM~5Gy{^6yVm7F7TN%f&s=6-B zWaA9=_C53d`~PTc`XT!+2M|Sy7A56zTA^07yCyX9uWw)YH}WZ-1?7W? zsi8Kowii{^es@<=$~{;yTI@eH@W6u)TO$+gilq-+y7ZqPJ-i0O!!%ee$cXzUKXgvjv>oZ!Z1K%7-C?%U!;1 z!=~iadjydepSt=c5K(YecERD+_8&a-2#7ey=H}K9Km1o`S1;$Cxq+aI2v?a_1d;RJ z*LQkq>a!zlotTrr&5utIu@A9Dm{zZi$S)|a-?^LPh5_Yl+}wKPSY>q`8l~Ce2U zBt-b~%dgvyb>sP9(u#6Ern`UL{za@%roU4u=is&1UT62Y&>q|0JTY;jqqB!2uO*ZG zoX)SRo;%C;^Ot^wD;^)e-gUeWVsAJ~?k3;I|GkPU#t?B{)56_lKH^huTjjJW-{r;Z z)Qr;#XVTx|zF%6baj(AmyGI{;f@AKondQWX19E(JvAW>Y50X$y-dlej{$+9X=YmkN z)Qs>s;byTv_>>FVA@W60U70%8Vr1N8Vv#f0pH1ZhZkh0D_ZL1T;8A{cSf+fAD^Cfb zh0nFuGlrIn)Ij1>iO@9nudP_+b097amiu*(F-o!$>$SWxso4L6Ti1yBV!Z literal 0 HcmV?d00001 diff --git a/EliteReporter/Assets/mTypes/PirateCargo.bmp b/EliteReporter/Assets/mTypes/PirateCargo.bmp new file mode 100644 index 0000000000000000000000000000000000000000..e5b22ac6171a22206a6223335ac1586fdbb076d0 GIT binary patch literal 8694 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 literal 0 HcmV?d00001 diff --git a/EliteReporter/Assets/mTypes/PlanetDelivery.bmp b/EliteReporter/Assets/mTypes/PlanetDelivery.bmp new file mode 100644 index 0000000000000000000000000000000000000000..87f12c55bd89fd66d4e732c1809de4481b4890a0 GIT binary patch literal 8534 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 H_I&>bC*a}p literal 0 HcmV?d00001 diff --git a/EliteReporter/Assets/mTypes/SecretCargo.bmp b/EliteReporter/Assets/mTypes/SecretCargo.bmp new file mode 100644 index 0000000000000000000000000000000000000000..5b5f64c1530e18cdf3024ce33696076adbbfd725 GIT binary patch literal 9566 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 N;ecjHLKQi={{m&)Mcx1a literal 0 HcmV?d00001 diff --git a/EliteReporter/Assets/mTypes/TimedAssassination.bmp b/EliteReporter/Assets/mTypes/TimedAssassination.bmp new file mode 100644 index 0000000000000000000000000000000000000000..ff20cecd78d2517a64bc9ef99768e3602558309b GIT binary patch literal 8166 zcmd6sS8!D46~~)+eC2e#v_UN%0!c8`wX0^568y##b?jg!)IJ+Va zE>xyDMN~T(yZ;y11Qm|wzC3^@TWCji5aDyjCXhTl13gy+Bg?&lz$Wknp_N7p)J1SU zM{F8V5m5<^O`WxMZL6c#0#ZbSr$?xfxgf&lg^gX<6c`ZYwKAlsxvRFW)oW$2^zc-% zDaO@=RHNt69^SKKgD&v+2S%=nh)Yh*HJKaQJNmb5-HEie^_H9J;uAB1Lu35>BgDQc zwmFajPYASu_e|K_d{+8|8spPS%W4MJkBn}b93GkI>|Wo}+C9E``}pQ<>)QKz`ZkP= zZW-OQwYP6LH@`e;O%hAy+tPjhoF?O(4X|I^!z-V72dDo_PvvF0Q^Sy+aF%Oq<3g zyL*Rn^UK&B%jzvsVX7}HuLY!LGFNwBjGk9e&XU0mW0~1SIup-Pr)Tdeu;E%AodWSzTTR&0c@^ngdDxqG3+cwx_YjhIGg~evz#V2N3=V;b<6kAZpn!%w> z4UO$=B-m_<3Mh(=ODifd*Vebe7(TgScr)ygiu07TmT292u2gn$Q`&$h^$}ct0TDJ{ zXRxb7C@(pYCSp_4=EjjNVd2IFNn7C^LUL$o=_)O&jgCzrrPMX717t*GLPAoOsj`7X z<>Zxdm$5q<5tRj!mwKNw(r=jxx;t?&*_NX%?*=_)KTb1CS7Dcaop(7+8sN}<81h$Gk( zPfITt8=s1fNfxz2sbC|G)Hk-XFL_nn$dZAT9AZ*(h=wFEcr^t;QL!1HR67+mL{ONX zQAl1A&$P0q@MehX5e=4_d_Hf4r>U~OyJrZ;&{Uxff8&WcI5N(!A9C~XtFCR~ZekY= z09#;gj2oYjA-mHf`=STs9KWEbQqqo0aE_{Rj_-9-l`M$O*Dt)YYkgI96ZXPYry#A9nxLDyzgBQ9gmfVX@p^+uBme-!%4MW4@8fn0` z=S}lBfx%&kEWV!9@>@BMUKkbSxL5|eaHib-KQaA(;{K#^0%fyx)c?A_rqhH0mG&ZJ58X?;Y)p~5wCNms7c<9@2|MT8^ zzcH#eK86N>*UBJr!f)UI;G1v${qtYEMJ53o{ThwH5Ny;@J9h4)0A@&lIl>z?68Vsi zBchT+*#iUcE3f?U>#zSwNenaEcCsl?aK7=&LwE1p+yC-`6{j+l@uRcnugzY^QRNGiP7?K{ z%U7w8CHsMmtCo^7H?NGVe?G9e-z`O_O&ubhrsLU%l7m7H-{2yXW0sVfA3b`cegBf{ z=tmo|dHePqsyG-E#rx#D3{+Q$p+w{mW!8S89+tJxi1;S+XG&FVq-ewE!^+~a@ z5N&H>)(USasX6!W-!HGQ{468zcz$x>;`H=Kkb~g_8_$-u?%CPv)iup@y14mJe;Qo8 zH6-?pr@*FH!hQ7BSO56w&kjoU3o2Fo;Emwr6hIR3_6>XU?ZW^jMuc;{o(0>_h>czN z$>r9qJACh0fhq9Lo&WUrC#R(cv$}f*5RbQRf64EM4gv%1Gh#ynwb}F^&Yb%2G+zh6 z01rgr;l(9Y3My52y?OI*M~|H#4T|qM^3=Wo(YbJ(N`b9@^jTxpSN+&mO9*w8Qvbq* zi4le($^r-AcQ-+2Dmt8W=i1c zSw%leT<}}pkt4r`!yAA4{Es(2Kl||~Z@%@8M6rIRT^leK(PD>&<=a_x5(lx_Y1YoG zG)Sa;8hEbY?=pd&UY6e+bW0QrdH{>Gouia*KuBY`U|Sa5W(dk&KmxN3i_3zmY&&xd zL5~&Zpd5 Always + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + Always Always + + Always + + + Always + + + Always + diff --git a/EliteReporter/Forms/EditMissionForm.Designer.cs b/EliteReporter/Forms/EditMissionForm.Designer.cs index 4e22703..a5adca5 100644 --- a/EliteReporter/Forms/EditMissionForm.Designer.cs +++ b/EliteReporter/Forms/EditMissionForm.Designer.cs @@ -49,6 +49,8 @@ private void InitializeComponent() this.label8 = new System.Windows.Forms.Label(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.label9 = new System.Windows.Forms.Label(); + this.missionTypeTextBox = new System.Windows.Forms.TextBox(); this.groupBox1.SuspendLayout(); this.groupBox2.SuspendLayout(); this.SuspendLayout(); @@ -57,7 +59,7 @@ private void InitializeComponent() // this.missionNameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.missionNameTextBox.Location = new System.Drawing.Point(12, 33); + this.missionNameTextBox.Location = new System.Drawing.Point(12, 29); this.missionNameTextBox.Name = "missionNameTextBox"; this.missionNameTextBox.Size = new System.Drawing.Size(434, 20); this.missionNameTextBox.TabIndex = 0; @@ -80,7 +82,7 @@ private void InitializeComponent() // // rewardTextBox // - this.rewardTextBox.Location = new System.Drawing.Point(103, 222); + this.rewardTextBox.Location = new System.Drawing.Point(103, 256); this.rewardTextBox.Name = "rewardTextBox"; this.rewardTextBox.Size = new System.Drawing.Size(100, 20); this.rewardTextBox.TabIndex = 3; @@ -104,7 +106,7 @@ private void InitializeComponent() // changeButton // this.changeButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.changeButton.Location = new System.Drawing.Point(347, 263); + this.changeButton.Location = new System.Drawing.Point(347, 295); this.changeButton.Name = "changeButton"; this.changeButton.Size = new System.Drawing.Size(99, 35); this.changeButton.TabIndex = 6; @@ -115,7 +117,7 @@ private void InitializeComponent() // closeButton // this.closeButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.closeButton.Location = new System.Drawing.Point(12, 263); + this.closeButton.Location = new System.Drawing.Point(12, 295); this.closeButton.Name = "closeButton"; this.closeButton.Size = new System.Drawing.Size(75, 34); this.closeButton.TabIndex = 7; @@ -178,7 +180,7 @@ private void InitializeComponent() // label5 // this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(15, 225); + this.label5.Location = new System.Drawing.Point(15, 259); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(82, 13); this.label5.TabIndex = 14; @@ -221,7 +223,7 @@ private void InitializeComponent() this.groupBox1.Controls.Add(this.systemTakenTextBox); this.groupBox1.Controls.Add(this.stationTakenTextBox); this.groupBox1.Controls.Add(this.label3); - this.groupBox1.Location = new System.Drawing.Point(12, 59); + this.groupBox1.Location = new System.Drawing.Point(12, 93); this.groupBox1.Name = "groupBox1"; this.groupBox1.Size = new System.Drawing.Size(434, 69); this.groupBox1.TabIndex = 18; @@ -238,18 +240,38 @@ private void InitializeComponent() this.groupBox2.Controls.Add(this.dateFinishTextBox); this.groupBox2.Controls.Add(this.label6); this.groupBox2.Controls.Add(this.stationFinishTextBox); - this.groupBox2.Location = new System.Drawing.Point(12, 134); + this.groupBox2.Location = new System.Drawing.Point(12, 168); this.groupBox2.Name = "groupBox2"; this.groupBox2.Size = new System.Drawing.Size(434, 75); this.groupBox2.TabIndex = 19; this.groupBox2.TabStop = false; this.groupBox2.Text = "Mission Finished"; // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(12, 51); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(65, 13); + this.label9.TabIndex = 21; + this.label9.Text = "Mission type"; + // + // missionTypeTextBox + // + this.missionTypeTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.missionTypeTextBox.Location = new System.Drawing.Point(12, 67); + this.missionTypeTextBox.Name = "missionTypeTextBox"; + this.missionTypeTextBox.Size = new System.Drawing.Size(434, 20); + this.missionTypeTextBox.TabIndex = 20; + // // EditMissionForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(452, 309); + this.ClientSize = new System.Drawing.Size(452, 341); + this.Controls.Add(this.label9); + this.Controls.Add(this.missionTypeTextBox); this.Controls.Add(this.groupBox2); this.Controls.Add(this.groupBox1); this.Controls.Add(this.label5); @@ -295,5 +317,7 @@ private void InitializeComponent() private System.Windows.Forms.Label label8; private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.TextBox missionTypeTextBox; } } \ No newline at end of file diff --git a/EliteReporter/Forms/EditMissionForm.cs b/EliteReporter/Forms/EditMissionForm.cs index 89807ec..af52bcd 100644 --- a/EliteReporter/Forms/EditMissionForm.cs +++ b/EliteReporter/Forms/EditMissionForm.cs @@ -24,6 +24,7 @@ public EditMissionForm(MissionInfo mInfo) private void changeButton_Click(object sender, EventArgs e) { mInfo.MissionName = missionNameTextBox.Text; + mInfo.MissionType = missionTypeTextBox.Text; try { mInfo.MissionTakenDateTime = DateTime.ParseExact(dateTakenTextBox.Text, "dd.MM.yyyy HH:mm", CultureInfo.InvariantCulture); @@ -59,6 +60,8 @@ private void EditMissionForm_Load(object sender, EventArgs e) dateTakenTextBox.Text = mInfo.MissionTakenDateTime.Value.ToString("dd.MM.yyyy HH:mm"); stationTakenTextBox.Text = mInfo.MissionTakenEDProfile.PortName; systemTakenTextBox.Text = mInfo.MissionTakenEDProfile.SystemName; + if (mInfo.MissionType != null) + missionTypeTextBox.Text = mInfo.MissionType; if (mInfo.MissionFinishedEDProfile != null) { stationFinishTextBox.Text = mInfo.MissionFinishedEDProfile.PortName; diff --git a/EliteReporter/Forms/ReportForm.Designer.cs b/EliteReporter/Forms/ReportForm.Designer.cs index 4eaa867..d7beeb3 100644 --- a/EliteReporter/Forms/ReportForm.Designer.cs +++ b/EliteReporter/Forms/ReportForm.Designer.cs @@ -36,6 +36,7 @@ private void InitializeComponent() this.missionNameHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.endDateHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.endSystemHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.rewardHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.button1 = new System.Windows.Forms.Button(); this.exportButton = new System.Windows.Forms.Button(); this.statusStrip1 = new System.Windows.Forms.StatusStrip(); @@ -44,8 +45,8 @@ private void InitializeComponent() this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.applicationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.rewardHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.deleteButton = new System.Windows.Forms.Button(); + this.missionTypeHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.statusStrip1.SuspendLayout(); this.menuStrip1.SuspendLayout(); this.SuspendLayout(); @@ -53,7 +54,7 @@ private void InitializeComponent() // activateButton // this.activateButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.activateButton.Location = new System.Drawing.Point(737, 390); + this.activateButton.Location = new System.Drawing.Point(835, 400); this.activateButton.Margin = new System.Windows.Forms.Padding(2); this.activateButton.Name = "activateButton"; this.activateButton.Size = new System.Drawing.Size(86, 40); @@ -70,6 +71,7 @@ private void InitializeComponent() this.missionListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.startDateHeader, this.startSystemHeader, + this.missionTypeHeader, this.missionNameHeader, this.endDateHeader, this.endSystemHeader, @@ -79,7 +81,7 @@ private void InitializeComponent() this.missionListView.Margin = new System.Windows.Forms.Padding(2); this.missionListView.Name = "missionListView"; this.missionListView.ShowItemToolTips = true; - this.missionListView.Size = new System.Drawing.Size(814, 360); + this.missionListView.Size = new System.Drawing.Size(912, 370); this.missionListView.TabIndex = 1; this.missionListView.UseCompatibleStateImageBehavior = false; this.missionListView.View = System.Windows.Forms.View.Details; @@ -111,10 +113,15 @@ private void InitializeComponent() this.endSystemHeader.Text = "System/Station"; this.endSystemHeader.Width = 120; // + // rewardHeader + // + this.rewardHeader.Text = "Reward"; + this.rewardHeader.Width = 70; + // // button1 // this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.button1.Location = new System.Drawing.Point(11, 390); + this.button1.Location = new System.Drawing.Point(11, 400); this.button1.Margin = new System.Windows.Forms.Padding(2); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(86, 40); @@ -126,7 +133,7 @@ private void InitializeComponent() // exportButton // this.exportButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.exportButton.Location = new System.Drawing.Point(647, 390); + this.exportButton.Location = new System.Drawing.Point(745, 400); this.exportButton.Margin = new System.Windows.Forms.Padding(2); this.exportButton.Name = "exportButton"; this.exportButton.Size = new System.Drawing.Size(86, 40); @@ -140,9 +147,9 @@ private void InitializeComponent() this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripProgressBar1, this.toolStripStatusLabel1}); - this.statusStrip1.Location = new System.Drawing.Point(0, 432); + this.statusStrip1.Location = new System.Drawing.Point(0, 442); this.statusStrip1.Name = "statusStrip1"; - this.statusStrip1.Size = new System.Drawing.Size(831, 22); + this.statusStrip1.Size = new System.Drawing.Size(929, 22); this.statusStrip1.TabIndex = 5; this.statusStrip1.Text = "statusStrip1"; // @@ -163,7 +170,7 @@ private void InitializeComponent() this.applicationToolStripMenuItem}); this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Name = "menuStrip1"; - this.menuStrip1.Size = new System.Drawing.Size(831, 24); + this.menuStrip1.Size = new System.Drawing.Size(929, 24); this.menuStrip1.TabIndex = 6; this.menuStrip1.Text = "menuStrip1"; // @@ -182,15 +189,10 @@ private void InitializeComponent() this.settingsToolStripMenuItem.Text = "Settings"; this.settingsToolStripMenuItem.Click += new System.EventHandler(this.settingsToolStripMenuItem_Click); // - // rewardHeader - // - this.rewardHeader.Text = "Reward"; - this.rewardHeader.Width = 70; - // // deleteButton // - this.deleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.deleteButton.Location = new System.Drawing.Point(101, 390); + this.deleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.deleteButton.Location = new System.Drawing.Point(101, 400); this.deleteButton.Margin = new System.Windows.Forms.Padding(2); this.deleteButton.Name = "deleteButton"; this.deleteButton.Size = new System.Drawing.Size(86, 40); @@ -199,11 +201,16 @@ private void InitializeComponent() this.deleteButton.UseVisualStyleBackColor = true; this.deleteButton.Click += new System.EventHandler(this.deleteButton_Click); // + // missionTypeHeader + // + this.missionTypeHeader.Text = "Mission Type"; + this.missionTypeHeader.Width = 95; + // // ReportForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(831, 454); + this.ClientSize = new System.Drawing.Size(929, 464); this.Controls.Add(this.deleteButton); this.Controls.Add(this.statusStrip1); this.Controls.Add(this.menuStrip1); @@ -248,6 +255,7 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem; private System.Windows.Forms.ColumnHeader rewardHeader; private System.Windows.Forms.Button deleteButton; + private System.Windows.Forms.ColumnHeader missionTypeHeader; } } diff --git a/EliteReporter/Forms/ReportForm.cs b/EliteReporter/Forms/ReportForm.cs index 22fcd09..ac30e54 100644 --- a/EliteReporter/Forms/ReportForm.cs +++ b/EliteReporter/Forms/ReportForm.cs @@ -57,8 +57,8 @@ private void analyzeScreenShot(string pathToBmp) if (missionListView.InvokeRequired) { - missionListView.BeginInvoke(callback, new object []{ pathToBmp }); - } + missionListView.Invoke(callback, new object []{ pathToBmp }); + } else { var result = analyzer.findAndAnalyzeMissionSummaryPage(pathToBmp); @@ -274,6 +274,8 @@ private void fillMissionListViewItem(ListViewItem vItem, MissionInfo mInfo) { vItem.Text = mInfo.MissionTakenDateTime.Value.ToString("dd.MM.yyyy HH:mm"); vItem.SubItems[missionNameHeader.Index] = new ListViewItem.ListViewSubItem(vItem, mInfo.MissionName); + if (mInfo.MissionType != null) + vItem.SubItems[missionTypeHeader.Index] = new ListViewItem.ListViewSubItem(vItem, mInfo.MissionType); vItem.SubItems[startSystemHeader.Index] = new ListViewItem.ListViewSubItem(vItem, mInfo.MissionTakenEDProfile.ToString()); vItem.SubItems[rewardHeader.Index] = new ListViewItem.ListViewSubItem(vItem, mInfo.Reward.ToString()); if (mInfo.MissionFinishedDateTime != null) diff --git a/EliteReporter/Models/MissionInfo.cs b/EliteReporter/Models/MissionInfo.cs index 9dcac05..70ea114 100644 --- a/EliteReporter/Models/MissionInfo.cs +++ b/EliteReporter/Models/MissionInfo.cs @@ -11,6 +11,7 @@ namespace EliteReporter.Models public class MissionInfo { public string MissionName { get; set; } + public string MissionType { get; set; } public int Reward { get; set; } public DateTime? MissionTakenDateTime { get; set; } diff --git a/EliteReporter/Utils/EDAPI.cs b/EliteReporter/Utils/EDAPI.cs index c7fe168..c596fd9 100644 --- a/EliteReporter/Utils/EDAPI.cs +++ b/EliteReporter/Utils/EDAPI.cs @@ -194,6 +194,7 @@ public EDProfile getProfile() }; } catch (Exception ex) { + Trace.TraceInformation("Failed to get profile: " + ex.Message); return null; } } diff --git a/EliteReporter/Utils/ScreenAnalyzer.cs b/EliteReporter/Utils/ScreenAnalyzer.cs index 2b62138..c5eab41 100644 --- a/EliteReporter/Utils/ScreenAnalyzer.cs +++ b/EliteReporter/Utils/ScreenAnalyzer.cs @@ -112,7 +112,6 @@ public MissionInfo findAndAnalyzeMissionSummaryPage(string pathToBmp, bool inclu Point[] minLocations, maxLocations; result.MinMax(out minValues, out maxValues, out minLocations, out maxLocations); - // You can try different values of the threshold. I guess somewhere between 0.75 and 0.95 would be good. if (maxValues[0] > 0.65) { int reward = 0; @@ -141,7 +140,23 @@ public MissionInfo findAndAnalyzeMissionSummaryPage(string pathToBmp, bool inclu } } } - + source = source.GetSubRect(new Rectangle(0, 0, source.Width, source.Height - (int)(600*heightFactor))); + // find mission type + var missionTypePatterns = Directory.GetFiles("Assets\\mTypes", "*.bmp"); + List>> tasks = new List>>(); + foreach(var file in missionTypePatterns) + { + tasks.Add(Task.Run(() => { return getMissionType(source, file, widthFactor, heightFactor); })); + } + Task.WaitAll(tasks.ToArray()); + Tuple maxScore = null; + foreach (var res in tasks) + { + if (res.Result != null && res.Result.Item2 > 0.5 && (maxScore == null || maxScore.Item2 < res.Result.Item2)) + maxScore = res.Result; + } + if (maxScore != null) + missionInfo.MissionType = maxScore.Item1; return missionInfo; } finally { @@ -149,7 +164,21 @@ public MissionInfo findAndAnalyzeMissionSummaryPage(string pathToBmp, bool inclu yearTemplate.Dispose(); rewardTemplate.Dispose(); } - return null; + } + + private Tuple getMissionType(Image sourceImage, string patternFilePath, double widthFactor, double heightFactor) + { + Image templateImage = new Image(patternFilePath); // Image A + templateImage = templateImage.Resize(widthFactor, Emgu.CV.CvEnum.Inter.Cubic); + string missionType = Path.GetFileName(patternFilePath).Replace(".bmp", ""); + using (Image result = sourceImage.MatchTemplate(templateImage, Emgu.CV.CvEnum.TemplateMatchingType.CcoeffNormed)) + { + double[] minValues, maxValues; + Point[] minLocations, maxLocations; + result.MinMax(out minValues, out maxValues, out minLocations, out maxLocations); + + return new Tuple(missionType, maxValues[0]); + } } } }