@blitzmann blitzmann released this Dec 20, 2018 · 76 commits to master since this release

Database:

New:

  • Pre-spoolup and post-spoolup damage stats support (#1792)
    • We are continuing to work on delivering better support for spool-up modules. A lot of this release focused on refactoring the code behind DPS and RR logic to lay the groundwork for more features on this, specifically the option to set custom spool-up values. Stay tuned!
  • Middle click now closes fitting tabs (#1804)

Fixed:

  • ESI Errors (#1823)
  • Abyssal cap batteries visually show warfare resistance bonuses as penalties (#1820)
  • Issues when dragging non-charge into fitting window with a module highlighted (#1814)
  • Loading script into projected RSB leads to a crash (#1811)
  • Modulated (Deep Core) Strip Miner II yield unaffected by Mining Laser Upgrade (#1790)
  • Multiple Abyssal effects can be applied (#1794)
  • Changing module via variations context menu does not keep ammo (#1806)
  • Standup Neuts not respecting Capacitor Resistance Warfare resists (#1808)
  • Mining amount ship bonus affecting Ice Harvesting drones (#1809) (there also seems to be a related bug in EVE, please see issue for more details)

Changed:

  • We now use AppVeyor to generate the release builds for Windows. And issues regarding this should be mentioned in our issue tracker.
  • A lot of refactoring surrounding DPS and RR calculations to better support the new spool-up modules
  • Sort cargo the same way inventory is sorted in EVE (aa7e3bd)
Assets 5

@blitzmann blitzmann released this Dec 14, 2018 · 87 commits to master since this release

Many changes to how we do DPS / RR calculations have been made to better support the new Triglavian spool-up modules, courtesy of @DarkFenX! Additionally, we have started to use AppVeyor for Window builds instead of builds directly from @blitzmann's machine. Because of these changes, we are introducing a pre-release a few days before an official release for the December expansion to hopefully iron out any bugs that might crop up. A full list of changes will come with the official release early next week.

Also of note that OS X build isn't included in this pre-release due to lack of access to a build machine right now. It will be available for the official release.

If you notice anything off, please let us know in our issue tracker!

Assets 3

@blitzmann blitzmann released this Nov 23, 2018 · 166 commits to master since this release

v2.6.1

Database:

New:

  • Mutated item import from clipboard (#1803).
    • pyfa now supports importing an Abyssal module from the clipboard. This enables pyfa to support other applications which may export this information, such as mutaplasmid.space's newest feature.

Fixed:

  • Crash when applying Mutaplsamid to BCS (#1800)
  • DPS graph showing DPS for non-active fighters (#1793)

Changed

  • Move Tiamat/Hydra into limited edition group

v2.6.0

Database:

New:

  • Drag/drop implants to Implants "Additions" window (#1778)

Fixed:

  • Implant stats not updating upon removal (#1777)
  • Rate of Fire mutated (maybe others?) attribute was bugged (#1799)
Assets 5

@blitzmann blitzmann released this Nov 23, 2018 · 188 commits to master since this release

Database:

New:

  • Drag/drop implants to Implants "Additions" window (#1778)

Fixed:

  • Implant stats not updating upon removal (#1777)
  • Rate of Fire mutated (maybe others?) attribute was bugged (#1799)
Assets 5

@blitzmann blitzmann released this Oct 16, 2018 · 206 commits to master since this release

v2.5.1

Fixed:

  • Opening some fittings that don't have a race icon (#1767)
  • Attempting to browse Subsystems in market browser results in no icons (#1769)(thanks @tron1point0 !)
  • Changing variation of drone (#1773)

v2.5.0

Database:

New:

  • Undo/redo support!
    • Most actions which affect the fit are supported, including adding modules, toggling state, moving modules, etc. Some more obscure actions, such as setting fighter abilities or setting skills associated with module, are yet to be converted and are considered a lowish priority (#1524)
  • Abyssal module attributes can now be imported/exported with the EFT format! (#1707)
    • When exporting the fit to clipboard, select the Mutated Attributes option
    • This allows users to share fits with the Abyssal modifications intact
    • Please note that, currently, this is a pyfa-specific format - other programs which utilize EFT-style imports will probably choke on it (which is why this is an option instead of default)
    • As part of this, the last export format / option that was used will now be saved between sessions.
  • [OSX] Retina support for ship hull renders and module icons (#1737)(thanks @m-sasha!)
    • This should make the displayed images in pyfa a bit more crisp when viewing on a Retina screen
    • Please note that there are still various icons that have not been reworked - this is focused on ship and module icons
    • Due to limitations with the underlying GUI framework of wxWidgets, similar functionality for scaled Windows and Linux displays is still unsupported (YMMV).

Fixed:

  • Double Clicking files in File Dialog will propogate event to underlying window (#1447)
  • Changing "Factor in reload time" setting via preferences did not immediately apply it (#1656)
  • Price columns were not updating correctly during first fetch of item's price (#1706)(#1715)(special thanks to @feyyd for helping track this down!)
  • Missile ammo wasn't showing an icon in the ammo picker (#1738)(thanks @m-sasha!)
  • GUI issue that caused blurry text on the tabs when display is scaled (ie: Retina screens)(#1735)(thanks @m-sasha!)
  • Crashing that sometimes happened with auto-detected proxy support (#1708)(thanks @minlexx!)
  • Abyssal Small Nos has a blank module name (#1722)
  • Entosis modules not applying Sensor Strength bonus (#1730)
  • Filament Clouds not applying correct effects (#1746)
  • Item Compare error when sorting None values (#1750)
  • Missing effect for Capital Hull Energizer
  • GUI bug causing occasional error when closing fits (#1758)

Changed:

  • Tweaks to the EFS export (per @MaruMaruOO)(#1754, #1755)
  • [WIN] Windows builds now use wxPython 4.0.3 instead of 4.0.0b2
Assets 5

@blitzmann blitzmann released this Oct 16, 2018 · 222 commits to master since this release

Database:

New:

  • Undo/redo support!
    • Most actions which affect the fit are supported, including adding modules, toggling state, moving modules, etc. Some more obscure actions, such as setting fighter abilities or setting skills associated with module, are yet to be converted and are considered a lowish priority (#1524)
  • Abyssal module attributes can now be imported/exported with the EFT format! (#1707)
    • When exporting the fit to clipboard, select the Mutated Attributes option
    • This allows users to share fits with the Abyssal modifications intact
    • Please note that, currently, this is a pyfa-specific format - other programs which utilize EFT-style imports will probably choke on it (which is why this is an option instead of default)
    • As part of this, the last export format / option that was used will now be saved between sessions.
  • [OSX] Retina support for ship hull renders and module icons (#1737)(thanks @m-sasha!)
    • This should make the displayed images in pyfa a bit more crisp when viewing on a Retina screen
    • Please note that there are still various icons that have not been reworked - this is focused on ship and module icons
    • Due to limitations with the underlying GUI framework of wxWidgets, similar functionality for scaled Windows and Linux displays is still unsupported (YMMV).

Fixed:

  • Double Clicking files in File Dialog will propogate event to underlying window (#1447)
  • Changing "Factor in reload time" setting via preferences did not immediately apply it (#1656)
  • Price columns were not updating correctly during first fetch of item's price (#1706)(#1715)(special thanks to @feyyd for helping track this down!)
  • Missile ammo wasn't showing an icon in the ammo picker (#1738)(thanks @m-sasha!)
  • GUI issue that caused blurry text on the tabs when display is scaled (ie: Retina screens)(#1735)(thanks @m-sasha!)
  • Crashing that sometimes happened with auto-detected proxy support (#1708)(thanks @minlexx!)
  • Abyssal Small Nos has a blank module name (#1722)
  • Entosis modules not applying Sensor Strength bonus (#1730)
  • Filament Clouds not applying correct effects (#1746)
  • Item Compare error when sorting None values (#1750)
  • Missing effect for Capital Hull Energizer
  • GUI bug causing occasional error when closing fits (#1758)

Changed:

  • Tweaks to the EFS export (per @MaruMaruOO)(#1754, #1755)
  • [WIN] Windows builds now use wxPython 4.0.3 instead of 4.0.0b2
Assets 5

@blitzmann blitzmann released this Aug 24, 2018 · 324 commits to master since this release

**NOTE: ** This is a pre-release, bugs are expected. Additionally, this version's update checker is bugged and will always notify you that there is an update at startup. Once on this release, feel free to check the "Don't remind me again for this release" checkbox before clicking the "Close" button on the update window. :)

Finally! After years of requests, undo/redo functionality is coming to pyfa!

The goal of this release is to get the current progress in the hands of users so that they can hopefully provide feedback and any error reports that might happen.

What has changed? (user facing)

Hopefully, if everything goes smoothly, the only thing that should have changed is the ability to CTRL+Z to undo an action (and CTRL+SHIFT+Z to redo an undone action). Each fit maintains it's own history of actions, and the action that is undone depends on the currently active fit in the fitting window. It is important to note that actions are stored in memory and aren't persisted - this mean that if you add a module, close pyfa then reopen, you will not be able to "undo" (you could of course remove the module as per usual).

The vast majority of fitting modifications have been converted over to action commands, such as module manipulation, adding fighters, toggling Command fits, etc; however, due to time and generally wanting to get this out the door, I have postponed undo/redo support of certain things for the first iteration (such as fighter ability, booster side effects, mutaplasmid attributes). I will soon create issues on the tracker for conversions that are planned.

Drone split / merge removed. Due to the complexity of this particular functionality (and me being lazy), I've decided to remove the ability to split a drone stack into two stack, or merge two stacks together. The alternative that has been implemented is an option to "Change Quantity" (just like you would change cargo quantity), easily allowing one to reduce / increase the number of drones in a stack. If this is a sorely missed feature, I can certainly revisit adding back to the codebase

What has changed? (technical)

A lot! Basically, the entire system of how the GUI communicated with the backend with regards to fitting changes had to be refactored into a new design pattern. After a bit of research, I decided on using the Command pattern. As a happy surprise, turns out wxPython supports this pattern via wx.Command and wx.CommandProcessor.

If you're familiar with pyfa development, you would know that most of the functions that relate to fit modifications happen int he Fit service - the GUI calls a function on this service, which then does what it needs to do (ie: adds module), commits the change to the database, and then recalculates the fit.

I've broken this out into two different types of commands: Fit and Gui. Fit commands perform the actual work (usually one command does one specific thing to a fit), whereas Gui commands usually act as a proxy to the Fit commands, but can also acts as a context processor, depending on the use case. This was done for two reasons: there are instances where a user action should actually do more than one Fit command, but the GUI should group these as one "command". This is achieved by having the Gui commands incorporate an internal CommandProcessor where we can submit multiple Fit commands. On undo, we loop through the Fit commands and undo each one of those. The second reason is due to the eventual removal of wx.Command dependency on Fit commands, so the Gui command would effectively act as a wrapper for the Fit commands and their custom processor.

I use pyfa code for my project, what do I need to know

Although pyfa has never really officially supported the use case of folks using it's codebase for their own projects, I am aware that there are a few folks out there that do this. You need to know the following:

  • If you only use the eos directory (fitting engine), you shouldn't have any issues. Nothing in the engine proper has changed
  • If you use service/fit.py for it's various helper functions in your project (for adding modules, toggling state, etc), you should know that much of this code has moved to service/fitDeprecated.py and will be removed eventually. The Fit service inherits from deprecated, so theoretically you should still be able to access all the functions within your application, but there will be a deprecated warning when using them. It's highly recommended to start migrating over to the fitting commands in gui/fitCommands/calc/ - most off these are literally 1:1 matches with the things that were in service/fit.py

Reporting issues

As always, all issues should be reported on our tracker: https://github.com/pyfa-org/Pyfa/issues. As stated, there's still a few actions that aren't really considered critical that haven't been ported over to the new design pattern. if you have a request for something to be "undoable", please keep in mind that, as of right now, only fit-specific things are supported

Assets 4

@blitzmann blitzmann released this Aug 22, 2018 · 384 commits to master since this release

Database:

New:

  • New export option available (EFS) (#1688)(thanks @MaruMaruOO!)
    • This export option was developed specifically for a new service being planned, which uses calculated values from pyfa to power the application. It is a format that may also prove useful if you are needing to export some calculated values for your own use.

Fixed:

  • Polycarbon Engine Housing Rigs not applying align time change (#1682)
  • Market browser missing boosters (#1683) (thanks @MaruMaruOO!)
  • Importing fit with implants still defaults to character implants if that feature is turned on (#1684)(thanks @MaruMaruOO!)
  • Dragging module from market sometimes doesn't add correctly (#1690)(thanks @feyyd!)
  • Copying a module that is group restricted causes an error (#1691)(thanks @feyyd!)
  • Rarish error when deleting fit (#1692)(thanks @feyyd!)
  • Dragging module from market into incorrect slot could remove underlying module (#1695)(thanks @feyyd)
  • Missing icons for Porpoise, Azbel, Raitaru, and Sotiyo (#1703)
Assets 5