Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

. #94

Open
wants to merge 268 commits into
base: master
Choose a base branch
from
Open

. #94

Changes from 1 commit
Commits
Show all changes
268 commits
Select commit Hold shift + click to select a range
810becb
Merge pull request #2 from SpeedProg/bugfix/walletamoutparse
peterhaneve May 9, 2018
ef9f0ea
Merge pull request #1 from SamuelHusky/master
peterhaneve May 9, 2018
ce41534
Fixed an issue which could cause character skills to be updated more …
peterhaneve May 10, 2018
fd797d5
Fixed multiple bugs regarding ID to name conversion and fixed a lurki…
peterhaneve May 11, 2018
64f87fb
Updated links to the new EVEMon page for setting up ESI. Fixed charac…
peterhaneve May 12, 2018
6a4659f
Fix issue in character attributes reported by naui11
peterhaneve May 12, 2018
c2fa57c
Fixed an issue where the settings form would be blank upon adding an …
peterhaneve May 13, 2018
8cc41fa
Update version number to 4.0.1. Several fixes to industry job related…
peterhaneve May 14, 2018
9db4f30
Added CitadelInformation API constants
Henjuro May 14, 2018
6a00069
Added STRUCTURE_ESI_FALLBACK guardes fallback to ESI structures endpo…
Henjuro May 14, 2018
0cd90ca
Added STRUCTURE_ESI_FALLBACK define constant to EveMon and EveMon.Common
Henjuro May 14, 2018
26a4ebd
Changed the old API Key labels to more accurately represent what the …
strannik-au May 14, 2018
e3dde37
Merge pull request #10 from strannik-au/bugfixes/label-fixes
peterhaneve May 16, 2018
a4d3287
Modified auto-updater to pull EVEMon version info from fork github. S…
peterhaneve May 16, 2018
a21602e
Changed to use a single datastructure for storing structure id and es…
Henjuro May 18, 2018
d85c00f
Removed the && !m_pendingIDs.ContainsKey(id) check again since this …
Henjuro May 18, 2018
f969cce
Added way to chain requests no matter the result status
May 15, 2018
2a8d47d
Add character sheet methods as separate query monitors
May 15, 2018
9b3eeda
Handle mailing lists with parent query, add support for multiple parents
May 15, 2018
fd18f3a
Simplify the parent check call
May 15, 2018
cd6d656
Trigger CharacterUpdated events after all CharacterSheet related quer…
May 16, 2018
15c2131
Use boolean flag to prevent double subscription
May 17, 2018
1324944
Don't trigger skills after skill queue (it resets any completed skill…
May 17, 2018
619a9cc
Rewrite the Skills and SkillQueue query/import so it works with the E…
May 17, 2018
96d3b80
SerializableQueuedSkill knows if it's paused or not
May 18, 2018
fd3bccd
Update skill list with what's in the queue.
May 18, 2018
036e51b
Don't fire events twice, just run the timer tick code after import bu…
May 18, 2018
031c10c
Same naming convention as the other skill classes - IsTraining instea…
May 18, 2018
266787c
Trigger implants updated together with the other character sheet events
May 19, 2018
899f03f
Fix null ref if access response fails (taskResult.Error is handled in…
May 19, 2018
b783d70
Merge pull request #14 from wbSD/AccessResponseNullRef
peterhaneve May 19, 2018
eab994b
Merge pull request #12 from wbSD/QueryMonitorAndSkills
peterhaneve May 19, 2018
554e0fd
Provide additional debug information in HTTP error window. Further fi…
peterhaneve May 19, 2018
7884c92
This commit is only to test the automatic update feature
peterhaneve May 19, 2018
df7ea17
This commit is only to test the automatic update feature
peterhaneve May 19, 2018
2cac9ad
Prepare for 4.0.1 release
peterhaneve May 19, 2018
66aa14c
Fix research tab
May 20, 2018
ede9e1c
Merge pull request #15 from Bravojul/master
peterhaneve May 20, 2018
96d9d04
Added a feature on the Skill Planner to paste a list of skills as out…
May 20, 2018
e7c3483
Use Skill.GetIntFromRoman as suggested by @wbSD
May 21, 2018
9baa928
Back to calling it IsPaused (ESI gives a clear indication if dates ar…
May 22, 2018
ffb7601
Use the ESI data to determine if queue is completed and/or training.
May 22, 2018
79ea8c2
Moved account balance, employment history, location and ship to Basic…
May 23, 2018
a463da7
Merge pull request #21 from wbSD/FixBasicFeatures
peterhaneve May 24, 2018
52d439d
Merge pull request #20 from wbSD/MoreSkillIssues
peterhaneve May 24, 2018
c40977c
Roll version to 4.0.2. Update auto-updater information to match.
peterhaneve May 24, 2018
4168f48
1) Fix for EveMon's mainwindow disappearing/hiding multiple times on …
wvdvegt May 24, 2018
0c764f3
1) Fix for 'Show Only issued for Corporation' preference being unsele…
wvdvegt May 24, 2018
64b47db
1) Swapped eve-central for evemarketer that has a almost identical api.
wvdvegt May 24, 2018
5df55ab
1) Some small issues (EveMarketer labels/link).
wvdvegt May 24, 2018
2dfe06b
If a queue is preset, use it no matter if character is training or not.
May 25, 2018
88d2916
Fix queue marked as paused but being empty.
May 28, 2018
e1cfbcd
fixed jobs installation only getting updated before any callbacks are…
Henjuro May 29, 2018
5c95297
Merge branch 'master' into bugfixes/industryjobs_unknown_solarsystem
Henjuro May 29, 2018
271463b
Update PlanWindow.cs
May 30, 2018
950391e
Merge pull request #24 from wbSD/SetSkillQueuePaused
peterhaneve Jun 3, 2018
c2548d8
Merge pull request #23 from wbSD/FullyCompletedSkillQueueImport
peterhaneve Jun 5, 2018
9b399a9
Fix XMLGenerator to use the SQLite SDE allowing updates to the datafi…
peterhaneve Jun 5, 2018
f04cac6
Test for auto updating data files
peterhaneve Jun 5, 2018
8f120b8
Implement pull #22 in the proper location.
peterhaneve Jun 6, 2018
de2e352
Add missing EVE Marketer files
peterhaneve Jun 6, 2018
e59ccc7
Fix unhandled SerializationException which could be thrown during inv…
peterhaneve Jun 6, 2018
e372ea2
Update to reject if any skills in the list contain an invalid level.
Jun 6, 2018
5b67276
Merge branch 'Feature/pasteskills' of https://github.com/SamuelHusky/…
Jun 6, 2018
769ded5
Fixed issue reported in pull #27 by checking for empty skill queue in…
peterhaneve Jun 8, 2018
da0ea29
1) Added code to dynamically add missing notification types.
wvdvegt Jun 8, 2018
eddae7d
1) Supressed killmail deserialisation exceptions (when no killmails p…
wvdvegt Jun 9, 2018
6d17d93
1) Removes the exception for remaining kill log files by correctly su…
wvdvegt Jun 9, 2018
fc05637
Update PlanWindow.cs
Jun 9, 2018
06d381b
Hoist numerous error messages and texts into a resource file to clean…
peterhaneve Jun 11, 2018
3515b8c
Merge branch 'master' into bugfixes/industryjobs_unknown_solarsystem
peterhaneve Jun 11, 2018
545d0b2
Merge pull request #9 from SpeedProg/bugfixes/industryjobs_unknown_so…
peterhaneve Jun 11, 2018
8a7bea1
Fixed crash in ID to Name conversion. Fixed location potentially bein…
peterhaneve Jun 11, 2018
e6fc742
Finish fixing pull #26
peterhaneve Jun 11, 2018
670e0b7
Fixed an issue where cache files were not being loaded properly for k…
peterhaneve Jun 11, 2018
eb965cd
Prepare for 4.0.3 release
peterhaneve Jun 13, 2018
5afb004
Merge pull request #17 from SamuelHusky/Feature/pasteskills
peterhaneve Jun 13, 2018
75d880b
Don't mark character as monitored during character import, this is ha…
Jun 13, 2018
650988b
Trigger event after loop completed
Jun 13, 2018
1709281
1) Merged with upstream (kept upstream changes)
wvdvegt Jun 14, 2018
89a3ba9
1) Added code to dynamically add missing notification types.
wvdvegt Jun 14, 2018
dcd8386
Name input parameter like the other one, and explicitly set them both…
Jun 16, 2018
e4942ec
Notify each monitored character one at a time - it looks better that …
Jun 16, 2018
3127bbc
Refactor HTTP requests, consolidating several parameters into a singl…
peterhaneve Jun 21, 2018
e462035
Add ETag and Expires date support to all ESI calls. Saves bandwidth a…
peterhaneve Jun 23, 2018
a7fe003
Merge pull request #31 from wbSD/StartupPerformance
peterhaneve Jun 23, 2018
978f6a7
1) Raw paste from upstream/master.
wvdvegt Jun 25, 2018
3c58694
1) Merged upstream/master.
wvdvegt Jun 25, 2018
e8b24e6
Fix capitalization issues preventing compilation
kinseytamsin Jun 26, 2018
c0ffee0
Overhaul EVEIDToStation to strip out the conquerable stations (conver…
peterhaneve Jun 27, 2018
8975f18
Merge pull request #34 from kinstalinist/fix-capitalization
peterhaneve Jun 27, 2018
ec4c310
Merge pull request #28 from wvdvegt/master
peterhaneve Jun 28, 2018
26609dd
Fix build issues caused by manual merge of notification types code. F…
peterhaneve Jun 28, 2018
4ff64c0
Add text for several types of notifications courtesy of wvdvegt. Do n…
peterhaneve Jul 1, 2018
ff37043
Add support for upcoming citadel owner and market order issued by fie…
peterhaneve Jul 1, 2018
25dec95
Request all pages for Assets, Contacts, Standings, Contracts, and mor…
peterhaneve Jul 2, 2018
65df449
Handle paging on all corporation endpoints
peterhaneve Jul 2, 2018
d537e8f
Prepare for 4.0.5 release (there will be no 4.0.4)
peterhaneve Jul 3, 2018
174dc41
Fix typo in industry jobs.
peterhaneve Jul 4, 2018
f5596a8
Attempt to show industry jobs and assets in inaccessible citadels. Th…
peterhaneve Jul 4, 2018
8fe601f
Fix sorting in skill planner window to match expected result. Fix pot…
peterhaneve Jul 6, 2018
446be76
Blank Character Creator has returned, not sure why it was not present…
peterhaneve Jul 6, 2018
4a012e3
Return an "inaccessible station" object for citadels which fail to re…
peterhaneve Jul 7, 2018
46103f7
Rewrite EveIDToStation as the added functionality was taking its toll…
peterhaneve Jul 28, 2018
6c64804
Fix an issue which would get the new EveIDToStation stuck in a loop.
peterhaneve Jul 28, 2018
4285061
Fix legacy logic in Asset which was preventing assets with unknown lo…
peterhaneve Jul 28, 2018
bf7fa53
Fix some TrustFailure errors by restoring default certificate handler…
peterhaneve Jul 31, 2018
82c8a2c
Prepare 4.0.6 release
peterhaneve Aug 4, 2018
fb957ed
Fix a variety of exceptions which could occur if a station was unknow…
peterhaneve Aug 6, 2018
beab35a
Add custom label functionality to characters which can be set by the …
peterhaneve Aug 9, 2018
7142079
Moved mastery and certificate calculation to an asynchronous task to …
peterhaneve Aug 10, 2018
50822b0
Fix reported exceptions in #67 and #68
peterhaneve Aug 11, 2018
6567ef1
Display character location on the overview. Still needs a separate se…
peterhaneve Aug 16, 2018
a922dc0
Fixed numerous localization related value parsing issues. Fixes #74.
peterhaneve Aug 22, 2018
47df1a2
Add settings toggle to enable/disable location in overview (default d…
peterhaneve Aug 31, 2018
878ed60
Update SDE data for August release.
peterhaneve Sep 3, 2018
9ff4aaf
Work around an issue in the CCP data export which was causing the Pac…
peterhaneve Sep 3, 2018
fe75d80
Handle quirky ESI behavior for market orders issued for a corporation…
peterhaneve Sep 12, 2018
a46b476
Prepare 4.0.8 release.
peterhaneve Sep 15, 2018
1c5b690
Added active level to skill list data. Added check against active le…
avianrr Sep 30, 2018
c502626
Added alpha coloring to skill level bar of skills list.
avianrr Sep 30, 2018
944a57d
Performance improvement. Stopped using dictionary lookup on every alp…
avianrr Sep 30, 2018
ee0c0e4
Added IsAlpha convience property to character.
avianrr Sep 30, 2018
8207ef6
Added notation for Omega clone only to skill browser level times.
avianrr Sep 30, 2018
b831c89
Fixed a type-o in the alpha limits table.
avianrr Sep 30, 2018
32d5c8c
Corrected SP rate calculation to apply clone rate.
avianrr Sep 30, 2018
ad4de37
Display home station in tool tip on current location. Should fix #83 …
peterhaneve Sep 30, 2018
8b65f55
Phase out obsolete CacheStyle enum
Oct 1, 2018
73e0fab
Merge pull request #88 from wbSD/RemoveCacheStyle
peterhaneve Oct 2, 2018
bc94382
Fixed error in alpha clone detection.
avianrr Oct 2, 2018
a69ab01
Added Omega clone required column to skill planner.
avianrr Oct 2, 2018
fd3d512
Changed skill browser trainable on trial option to Alpha clone option.
avianrr Oct 2, 2018
f19c7d3
Moved hard coded data for Alpha skill limits to the XML Generator.
avianrr Oct 2, 2018
94cd153
Avoid focus stealing and unintentional character label editing by add…
peterhaneve Oct 4, 2018
33f515e
Moved clone state info from Character to BaseCharacter.
avianrr Oct 5, 2018
a3d3341
Corrected spelling error.
avianrr Oct 5, 2018
e12ff20
Merge pull request #87 from avianrr/master
peterhaneve Oct 7, 2018
151604d
Fix bug where characters that have not logged in for a while (and hav…
peterhaneve Oct 7, 2018
baa96ed
Fix #82 completed industry job notification
Oct 8, 2018
e80d9e4
Merge pull request #95 from wbSD/CompletedIndustryJobFix
peterhaneve Oct 10, 2018
41685b5
Start work on PKCE (not being used yet, still need to parse the new J…
peterhaneve Oct 11, 2018
06b0f5f
Update Character.cs
Seavert Oct 11, 2018
34e13f4
Update AccountStatus.cs
Seavert Oct 11, 2018
8cc733c
Update ESI Wallet Journal page to latest endpoint, which should fix a…
peterhaneve Oct 13, 2018
3ccab63
PKCE support! Fixes #91.
peterhaneve Oct 18, 2018
59f74df
Fix a crash when closing the Add Character window. Fix several issues…
peterhaneve Oct 18, 2018
e3adc8c
Prepare 4.0.9 release
peterhaneve Oct 26, 2018
25bec87
Merge pull request #96 from Seavert/master
peterhaneve Oct 27, 2018
e0d4a78
Update Omega/Alpha detection status to reduce false Alpha positives.
peterhaneve Oct 27, 2018
77c4082
Update dependencies to solve start-minimized / VS 2017 Forms Designer…
peterhaneve Oct 27, 2018
ab2f85e
Fix a crash when searching assets lists with large numbers of inacces…
peterhaneve Oct 27, 2018
6aeaf5a
Prepare 4.0.9 release
peterhaneve Oct 27, 2018
ad1b58a
Update URL since release decided to append a .1
peterhaneve Oct 27, 2018
10051c6
Use regex to match clipboard contents when importing skills. Fix #106
Nov 4, 2018
f477de1
Fix an issue where skills already in the plan would be included in th…
Nov 6, 2018
6b77c9e
Alpha skills were changed with the moon mining update. The skill cha…
avianrr Nov 5, 2018
2b2b103
Merge pull request #107 from wbSD/ClipboardImportRegex
peterhaneve Nov 7, 2018
1d7c26c
Merge pull request #109 from wbSD/AlphaSkillFix
peterhaneve Nov 7, 2018
63ff745
Format absolute percentage with the same number of decimals as modifi…
Nov 11, 2018
35c1f63
Do not attempt to lay out the overview if the size is 0x0 (minimized)…
peterhaneve Nov 14, 2018
c3cb5cc
Merge pull request #112 from wbSD/EvePropertyPercentagePrecision
peterhaneve Nov 15, 2018
bfc1b6a
Clamp scrollbar values to max and suspend drawing during overview tab…
peterhaneve Nov 15, 2018
6208a43
Out with the old industry tables, in with the new
Nov 16, 2018
fc6559c
Fix problem with RelationSetCollection key not really being unique - …
Nov 16, 2018
c2c9ee1
Bring back Blueprints.cs
Nov 17, 2018
2402d55
Rewrite set market group and create blueprint
Nov 17, 2018
038b155
Invention items - probability is decimal now
Nov 17, 2018
2260652
Rewrite meta group and requirements - now it compiles again!
Nov 17, 2018
93dfda5
Yep it's still necessary to check the blueprint actually exists, now …
Nov 17, 2018
fe1f6d8
Fix progress percentage not updating
Nov 17, 2018
7c6a7a8
Fix comment
Nov 17, 2018
24010fa
Clean up code and add comments
Nov 17, 2018
48786a6
Make Relation a struct
Nov 17, 2018
4bc1f56
Optimize geography file generation
Nov 17, 2018
d34f0d3
Optimize items file generation
Nov 17, 2018
ae648a0
Merge pull request #117 from wbSD/RewriteBlueprintsXml
peterhaneve Nov 18, 2018
63f15c1
Clean up blueprint generator further, and add the updated versions of…
peterhaneve Nov 18, 2018
46338ac
Add monitoring for ESI errors to avoid exceeding the error count.
peterhaneve Nov 18, 2018
53872b2
Clean up skill queue list control, fixes #119. Fix several instances …
peterhaneve Nov 27, 2018
8531ac9
Update SDE again with latest CCP drop to fix #123.
peterhaneve Dec 1, 2018
fb2d9d9
Update data files to Onslaught 1428517
peterhaneve Dec 1, 2018
81ec156
Add reactions to enum
Dec 1, 2018
664ea90
Generate and serialize reaction time and output
Dec 1, 2018
e2e94fc
Deserialize and use reaction outcome
Dec 1, 2018
d2f334e
Merge pull request #124 from wbSD/ReactionRewrite
peterhaneve Dec 3, 2018
6ea494f
Display reaction job counts in the UI separately from manufacturing a…
peterhaneve Dec 3, 2018
2903d4e
Disable code which duplicated character name in some popups.
peterhaneve Dec 7, 2018
1457533
Update blueprint browser to show proper reaction materials. Should fi…
peterhaneve Dec 10, 2018
3bba9f2
Add new notifications for "combat operation finished" (?) and industr…
peterhaneve Dec 12, 2018
cee623c
Fix #128 by looking up mailing list senders separately, and handle ca…
peterhaneve Dec 14, 2018
d131902
Add Small Skill Injector support in the skill planner. Some users may…
peterhaneve Dec 16, 2018
b44b8a2
Prepare 4.10 release
peterhaneve Dec 24, 2018
d958666
Add models for Loyalty Points
IamTechknow Jan 23, 2019
8ae8ff4
Add constants for Loyalty Points API
IamTechknow Jan 23, 2019
4c8221f
Update character model and controller logic for Loyalty Points data
IamTechknow Jan 23, 2019
a8ba060
Add the new query monitor in the right place
IamTechknow Jan 24, 2019
d2cc620
Add list window for loyalty points, connect to view and model
IamTechknow Jan 24, 2019
43da048
Fix typos, add missing event handlers for LP list view
IamTechknow Jan 24, 2019
518dadb
Improve text appearance of LP list data
IamTechknow Jan 25, 2019
fecc13a
Get and use corp name, change bold text
IamTechknow Jan 25, 2019
246037d
Obtain and show the corp image for each list item
IamTechknow Jan 25, 2019
93f2b2c
Clean stray handler, remove tool strip from LP list
IamTechknow Jan 26, 2019
27c7f11
Add workaround to allow long taps on touch devices to open context me…
peterhaneve Feb 4, 2019
3a3520a
Extract out similar image fetching functionality
IamTechknow Feb 5, 2019
ecb2c18
Merge pull request #140 from IamTechknow/loyalty
peterhaneve Feb 8, 2019
cbab155
Fix #143, update ESI endpoint versions to match latest Swagger UI (an…
peterhaneve Feb 8, 2019
f66da0c
Prepare 4.0.11 release
peterhaneve Feb 8, 2019
cb1b208
Change blank character creator to include current skills given to new…
peterhaneve Feb 20, 2019
0c710cc
Fix #149 by setting text in object browser before jumping to solve a …
peterhaneve Mar 2, 2019
96eab55
Fix #151 by removing extraneous "Regards" message not relevant to the…
peterhaneve Mar 7, 2019
f3ed442
Check for no selected items before any context menu operations in PI …
peterhaneve Mar 17, 2019
c2f1e97
Allow character clone states to be set by the user in case auto-detec…
peterhaneve Apr 9, 2019
1dea27b
Refactor industry job display to fix #163 and close #156.
peterhaneve Apr 16, 2019
3d66179
Add more information to debug log when incompatible dependencies prev…
peterhaneve Apr 17, 2019
02fd9f4
Partial SDE update, but bundled SDE still dates from 19/02 and is mis…
peterhaneve May 14, 2019
f6a7e95
Update CCP SDE to the latest version (finally). Prepare 4.0.12 release.
peterhaneve May 18, 2019
7eb6911
Update datafiles to version 1522434
peterhaneve Jun 14, 2019
d96e6f3
Refactor contracts to clean up code. Attempt to fix #174 by triggerin…
peterhaneve Jun 16, 2019
dc77bbf
Update datafiles to version 1550152
peterhaneve Aug 15, 2019
845f2f8
Updates to fix changed value for reactions (for tracking reaction jobs)
OperatorOverload Aug 23, 2019
3b89a50
Fix most realistic occurrences of #182 (for characters where CCP at l…
peterhaneve Aug 29, 2019
0f2f30b
Merge pull request #183 from OperatorOverload/FixReactionsCounter
peterhaneve Sep 12, 2019
5f1d277
Update datafiles to version 1565458.
peterhaneve Sep 12, 2019
cfb2941
Fix issue #170 by cycling through industry job types every 5 seconds …
peterhaneve Sep 14, 2019
db6c60a
Update datafiles to version 1600730.
peterhaneve Nov 12, 2019
dfc3613
Update datafiles to version 1602194.
peterhaneve Dec 6, 2019
2343952
Fix issue #195 by updating the CPU/powergrid check to match the updat…
peterhaneve Dec 17, 2019
2c68a30
Notifications now properly appear for market orders which complete, a…
peterhaneve Jan 11, 2020
bad6611
Fix issue #190 by sorting the LP list descending by LP earned.
peterhaneve Jan 14, 2020
853e982
Update datafiles to version 1653126.
peterhaneve Jan 25, 2020
dd5020f
Quash spurious warnings when querying corporation fields without roles.
peterhaneve Feb 3, 2020
96e1d46
Prepare 4.0.15 release
peterhaneve Feb 3, 2020
4b670a1
Set 4.0.15 release to live
peterhaneve Feb 3, 2020
bd9ab91
Fix #209 by using the right type ID in the industry job enumerations.
peterhaneve Mar 13, 2020
ae647d2
SkillPlanner: highlight Omega-only skills in plan
ScotSalmon Apr 13, 2020
321508f
SkillPlanner: fix cosmetic spacing issue when showing "Omega only" ta…
ScotSalmon Apr 13, 2020
937d128
Fix #215 by updating to latest ESI API.
peterhaneve Apr 14, 2020
79932b3
Merge branch 'master' into alpha-omega
ScotSalmon Apr 17, 2020
6259d33
Rewrite image handler to fix #220 and fix #218. Fix corrupted SDE by …
peterhaneve Apr 18, 2020
9a077ad
Update blank character starting skills for April 2020
ScotSalmon Apr 19, 2020
0fb33c0
Merge branch 'master' into alpha-omega
ScotSalmon Apr 19, 2020
f48b1eb
Display blank weapon if it is invalid, and replace unknown killer/all…
peterhaneve May 13, 2020
6aed638
Update datafiles to version 1738360.
peterhaneve Jun 2, 2020
36564f2
Merge pull request #226 from ScotSalmon/starting-skills
peterhaneve Jun 9, 2020
97acf36
Merge pull request #214 from ScotSalmon/alpha-omega
peterhaneve Jun 9, 2020
3a9c59f
Update data files to version 1758168.
peterhaneve Jun 25, 2020
f2609be
Merge branch 'master' of ssh://github.com/peterhaneve/evemon
peterhaneve Jun 25, 2020
94cf1a2
The Logitech G15 support is obsolete, so remove it from the project, …
peterhaneve Jul 24, 2020
f97eecf
Update datafiles to version 1779942.
peterhaneve Aug 5, 2020
730cc41
Fetch the maximum trainable Alpha skill levels from hoboleaks (client…
peterhaneve Sep 24, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Changed to use a single datastructure for storing structure id and es…
…itoken

Removed preprocessor guarding
Citadel Info api priority changed from Fallback from ESI strucutre call to Hammerapi (Hammerapi is still used if no token is provided)
Tokens are now resolved in IDToObjectProvider.LookupID
  • Loading branch information
Henjuro committed May 18, 2018
commit a21602e5af258b4430f8c61870a67cddad0c6f07
4 changes: 2 additions & 2 deletions src/EVEMon.Common/EVEMon.Common.csproj
Original file line number Diff line number Diff line change
@@ -21,7 +21,7 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;NO_THREAD_SAFETY;STRUCTURE_ESI_FALLBACK</DefineConstants>
<DefineConstants>TRACE;NO_THREAD_SAFETY</DefineConstants>
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -34,7 +34,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;NO_THREAD_SAFETY;STRUCTURE_ESI_FALLBACK</DefineConstants>
<DefineConstants>TRACE;NO_THREAD_SAFETY</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
4 changes: 0 additions & 4 deletions src/EVEMon.Common/Models/Collections/IndustryJobCollection.cs
Original file line number Diff line number Diff line change
@@ -101,11 +101,7 @@ internal void Import(IEnumerable<SerializableJobListItem> src)
job => job.limit >= DateTime.UtcNow ||
(job.state == (int)JobState.Active &&
job.status != (int)CCPJobCompletedStatus.Ready)).Where(
#if STRUCTURE_ESI_FALLBACK
job => !Items.Any(x => x.TryImport(job.srcJob, this.m_ccpCharacter))).Select(
#else
job => !Items.Any(x => x.TryImport(job.srcJob))).Select(
#endif
job => new IndustryJob(job.srcJob)).Where(
job => job.InstalledItem != null && job.OutputItem != null).ToList();

48 changes: 3 additions & 45 deletions src/EVEMon.Common/Models/IndustryJob.cs
Original file line number Diff line number Diff line change
@@ -247,11 +247,7 @@ private bool IsModified(SerializableJobListItem src) => src.EndDate != EndDate |
/// </summary>
/// <param name="src">The serializable source.</param>
/// <returns>True if import sucessful otherwise, false.</returns>
#if STRUCTURE_ESI_FALLBACK
internal bool TryImport(SerializableJobListItem src, CCPCharacter character = null)
#else
internal bool TryImport(SerializableJobListItem src)
#endif
{
bool matches = MatchesWith(src);
// Note that, before a match is found, all jobs have been marked for deletion:
@@ -277,11 +273,7 @@ internal bool TryImport(SerializableJobListItem src)
}
// Job is from a serialized object, so populate the missing info
if (InstalledItem == null)
#if STRUCTURE_ESI_FALLBACK
PopulateJobInfo(src, character);
#else
PopulateJobInfo(src);
#endif
var state = GetState(src);
if (state != State)
{
@@ -296,11 +288,7 @@ internal bool TryImport(SerializableJobListItem src)
/// Populates the serialization object job with the info from the API.
/// </summary>
/// <param name="src">The source.</param>
#if STRUCTURE_ESI_FALLBACK
private void PopulateJobInfo(SerializableJobListItem src, CCPCharacter character = null)
#else
private void PopulateJobInfo(SerializableJobListItem src)
#endif
{
ID = src.JobID;
InstallerID = src.InstallerID;
@@ -317,13 +305,9 @@ private void PopulateJobInfo(SerializableJobListItem src)
PauseDate = src.PauseDate;
IssuedFor = src.IssuedFor;
m_installedItemLocationID = src.FacilityID;
#if STRUCTURE_ESI_FALLBACK

UpdateLocation(character);
UpdateInstallation(character);
#else
UpdateLocation();
UpdateInstallation();
#endif

if (Enum.IsDefined(typeof(BlueprintActivity), src.ActivityID))
Activity = (BlueprintActivity)Enum.ToObject(typeof(BlueprintActivity), src.ActivityID);
@@ -366,17 +350,9 @@ private Item GetOutputItem(int id)
/// </summary>
/// <param name="id">The ID of the installation.</param>
/// <returns>Name of the installation.</returns>
#if STRUCTURE_ESI_FALLBACK
private string GetInstallation(long id, CCPCharacter character)
#else
private string GetInstallation(long id)
#endif
{
#if STRUCTURE_ESI_FALLBACK
return EveIDToStation.GetIDToStation(id, character)?.Name ?? EveMonConstants.UnknownText;
#else
return EveIDToStation.GetIDToStation(id)?.Name ?? EveMonConstants.UnknownText;
#endif

// Starbase assembly structures can no longer be used
/*return station == null
@@ -443,41 +419,23 @@ private ActiveJobState GetActiveJobState()
/// <summary>
/// Updates the installation.
/// </summary>
#if STRUCTURE_ESI_FALLBACK
public void UpdateInstallation(CCPCharacter character)
{
Installation = GetInstallation(m_installedItemLocationID, character);
}
#else
public void UpdateInstallation()
{
Installation = GetInstallation(m_installedItemLocationID);
}
#endif

/// <summary>
/// Updates the location.
/// </summary>
/// <returns></returns>
#if STRUCTURE_ESI_FALLBACK
public void UpdateLocation(CCPCharacter character)
#else
public void UpdateLocation()
#endif
{
// If location not already determined
if (m_installedItemLocationID != 0L && (SolarSystem == null || SolarSystem.ID == 0))
{
#if STRUCTURE_ESI_FALLBACK
if (character == null)
{
SolarSystem = new SolarSystem();
return;
}

Station station = EveIDToStation.GetIDToStation(m_installedItemLocationID, character);
#else
Station station = EveIDToStation.GetIDToStation(m_installedItemLocationID);
#endif

if (station != null)
SolarSystem = station.SolarSystem;
else
2 changes: 1 addition & 1 deletion src/EVEMon.Common/Service/EveIDToName.cs
Original file line number Diff line number Diff line change
@@ -190,7 +190,7 @@ protected override void FetchIDs()
// Take up to MAX_IDS of them
for (int i = 0; i < MAX_IDS && m_pendingIDs.Count > 0; i++)
{
long item = m_pendingIDs.Min();
long item = m_pendingIDs.Min().Key;
toDo.AddLast(item);
m_pendingIDs.Remove(item);
}
100 changes: 32 additions & 68 deletions src/EVEMon.Common/Service/EveIDToStation.cs
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@
using EVEMon.Common.Data;
using EVEMon.Common.Enumerations.CCPAPI;
using EVEMon.Common.Helpers;
using EVEMon.Common.Models;
using EVEMon.Common.Serialization;
using EVEMon.Common.Serialization.Datafiles;
using EVEMon.Common.Serialization.Esi;
@@ -16,9 +17,6 @@
using System.Linq;
using System.Threading.Tasks;

#if STRUCTURE_ESI_FALLBACK
using EVEMon.Common.Models;
#endif

using HammertimeStructureList = System.Collections.Generic.Dictionary<string, EVEMon.Common.
Serialization.Hammertime.HammertimeStructure>;
@@ -64,11 +62,7 @@ private static async void EveMonClient_TimerTick(object sender, EventArgs e)
/// </summary>
/// <param name="id">The id.</param>
/// <returns>The station information</returns>
#if STRUCTURE_ESI_FALLBACK
internal static Station GetIDToStation(long id, CCPCharacter character = null)
#else
internal static Station GetIDToStation(long id)
#endif
{
var station = StaticGeography.GetStationByID(id);
if (station == null && id != 0L)
@@ -79,12 +73,8 @@ internal static Station GetIDToStation(long id)
if (id < int.MaxValue)
serStation = s_conq.LookupID(id);
else
#if STRUCTURE_ESI_FALLBACK
if(character != null)
serStation = s_cita.LookupID(id, false, character);
#else
serStation = s_cita.LookupID(id);
#endif

if (serStation != null)
station = new Station(serStation);
@@ -199,12 +189,8 @@ protected override void FetchIDs()
// Fetch the next ID if it is available
if (it.MoveNext())
{
id = it.Current;
id = it.Current.Key;
m_pendingIDs.Remove(id);
#if STRUCTURE_ESI_FALLBACK
if (m_requestingCharacters.ContainsKey(id))
m_requestingCharacters.Remove(id);
#endif
}
}
}
@@ -256,56 +242,52 @@ public CitadelStationProvider(IDictionary<long, SerializableOutpost> cacheList)
protected override void FetchIDs()
{
long id = 0L;
#if STRUCTURE_ESI_FALLBACK
CCPCharacter character = null;
#endif

ESIKey esikey = null;

lock (m_pendingIDs)
{
using (var it = m_pendingIDs.GetEnumerator())
{
// Fetch the next ID if it is available
if (it.MoveNext())
{
id = it.Current;
id = it.Current.Key;
esikey = it.Current.Value;
m_pendingIDs.Remove(id);
#if STRUCTURE_ESI_FALLBACK
if (m_requestingCharacters.ContainsKey(id))
{
character = m_requestingCharacters[id];
m_requestingCharacters.Remove(id);
}
#endif
}
}
}
if (id != 0L)
{
if (esikey != null)
{
EveMonClient.APIProviders.CurrentProvider.QueryEsiAsync<EsiAPIStructure>(
ESIAPIGenericMethods.CitadelInfo, esikey.AccessToken, id, OnQueryStationUpdatedEsi, id);
}
#if HAMMERTIME
// Download data from hammertime citadel hunt project
// Avoids some access and API key problems on private citadels
var url = new Uri(string.Format(NetworkConstants.HammertimeCitadel, id));
Util.DownloadJsonAsync<HammertimeStructureList>(url, null).ContinueWith((task) =>
else
{
#if STRUCTURE_ESI_FALLBACK
OnQueryStationUpdated(task, id, character);
#else
OnQueryStationUpdated(task, id);
#endif
});
#else
// this actually doesn't work without a token
//EveMonClient.APIProviders.CurrentProvider.QueryEsiAsync<EsiAPIStructure>(
// ESIAPIGenericMethods.CitadelInfo, id, OnQueryStationUpdatedEsi, id);
LoadCitdelInformationFromHammertimeAPI(id);
}
#endif
}
}

#if HAMMERTIME
#if STRUCTURE_ESI_FALLBACK
private void OnQueryStationUpdated(Task<JsonResult<HammertimeStructureList>> result, long id, CCPCharacter character = null)
#else
private void LoadCitdelInformationFromHammertimeAPI(long id)
{
// Download data from hammertime citadel hunt project
// Avoids some access and API key problems on private citadels
var url = new Uri(string.Format(NetworkConstants.HammertimeCitadel, id));
Util.DownloadJsonAsync<HammertimeStructureList>(url, null).ContinueWith((task) =>
{

OnQueryStationUpdated(task, id);
});
}

private void OnQueryStationUpdated(Task<JsonResult<HammertimeStructureList>> result, long id)
#endif
{
JsonResult<HammertimeStructureList> jsonResult;

@@ -314,15 +296,6 @@ private void OnQueryStationUpdated(Task<JsonResult<HammertimeStructureList>> res
{
EveMonClient.Notifications.NotifyCitadelQueryError(null);
m_queryPending = false;
#if STRUCTURE_ESI_FALLBACK
if (character != null)
{
ESIKey key = character.Identity.FindAPIKeyWithAccess(ESIAPICharacterMethods.CitadelInfo);

EveMonClient.APIProviders.CurrentProvider.QueryEsiAsync<EsiAPIStructure>(
ESIAPIGenericMethods.CitadelInfo, key.AccessToken, id, OnQueryStationUpdatedEsi, id);
}
#endif
return;
}

@@ -333,26 +306,14 @@ private void OnQueryStationUpdated(Task<JsonResult<HammertimeStructureList>> res
if (citInfo.Count == 1)
AddToCache(id, citInfo.Values.First().ToXMLItem(id));
else
// Requested, but failed
// Requested, but failed
{
#if STRUCTURE_ESI_FALLBACK
if (character != null)
{
ESIKey key = character.Identity.FindAPIKeyWithAccess(ESIAPICharacterMethods.CitadelInfo);

EveMonClient.APIProviders.CurrentProvider.QueryEsiAsync<EsiAPIStructure>(
ESIAPIGenericMethods.CitadelInfo, key.AccessToken, id, OnQueryStationUpdatedEsi, id);
}
#else
AddToCache(id, null);
#endif
}
// Requested, but failed

}
#endif

#if !HAMMERTIME || STRUCTURE_ESI_FALLBACK
private void OnQueryStationUpdatedEsi(EsiResult<EsiAPIStructure> result, object idObject)
{
long id = (idObject as long?) ?? 0L;
@@ -362,16 +323,19 @@ private void OnQueryStationUpdatedEsi(EsiResult<EsiAPIStructure> result, object
{
EveMonClient.Notifications.NotifyCitadelQueryError(result);
m_queryPending = false;
#if HAMMERTIME
LoadCitdelInformationFromHammertimeAPI(id);
#else
// requested but failed
AddToCache(id, null);
#endif
return;
}

EveMonClient.Notifications.InvalidateAPIError();

AddToCache(id, result.Result.ToXMLItem(id));
}
#endif

private void AddToCache(long id, SerializableOutpost station)
{
Loading