Releases: cvusmo/FFT
Fancy Fuel Tanks [0.1.4.3] Release
Fancy Fuel Tanks v0.1.4.3 Patch Notes
Updates and Additions
[DISABLED VFX]
[VFX will return soon.tm]
Enhancements and Optimizations
Texture Overhaul:
- Overhauled textures for SR813, CV411 and CV401.
Performance Improvement:
- Optimizing performance through more efficient update processes
Module Refactoring:
- Extensively refactored every class to better align with modern software design principles and to simplify the codebase.
Dynamic Module Identification:
- Overhauled the module to incorporate utilizing 3D Shader to handle the VFX. This takes the work off CPU and places it entirely on the GPU
Bug Fixes
- Resolved an issue where CV401 texture was not rendering properly
-Reworked 4 textures (2 Medium Hydrogen Tanks, CV401, and CV421) - Disabled VFX
Next Steps
- Fully integrate Volumetric Vapor with Dynamic Environmental calculations
- Continue to refine performance and enhance the visual appearance of VFX, aiming for seamless integration and realistic effects.
If you encounter any issues or have suggestions, please feel free to contribute or open an issue on GitHub.
Fancy Fuel Tanks [0.1.4.2] HOTFIX
**Hotfix for KSP 2 v0.1.4 Release
Fancy Fuel Tanks [0.1.4.1]
Fancy Fuel Tanks v0.1.4.1 Patch Notes
Updates and Additions
[DISABLED VFX]
[VFX will return in v0.1.4.2]
Enhancements and Optimizations
Opacity Calculation:
- Adjusted the opacity calculation for the fuel tanks, ensuring a linear relationship between fuel level and opacity. The opacity now gradually decreases as the fuel level decreases from 1 to 0.95.
Fuel Percentage Conversion:
- Modified the fuelPercentage
value to be within the range of 0 to 1 by dividing by 100, aligning it with the expected input for the opacity calculation.
Module Consolidation:
- Integrated Module_TriggerVFX
into Module_VentValve
, streamlining the control of visual effects and improving maintainability.
Singleton Pattern:
- Replaced dependency injection in all classes with the Singleton pattern to manage instances. This change streamlines instance management, ensuring that only one instance of a class is instantiated and accessed globally.
Event-Driven Logic:
- Refactored event handlers and delegates to establish an event-driven architecture, particularly for module activation and data refreshes.
Performance Improvement:
- Expanded the RefreshVesselData
method, reducing calculations and optimizing performance through more efficient update processes and conditional animations.
ASL and AGL Curve Update:
- Updated the VFXASLCurve
and VFXAGLCurve
with new keyframes to reflect a linear relationship with the altitude values. Set the curves to match points (0, 0) and (1, 1), ensuring a direct and linear mapping between altitude and the visual effects.
Added Additional Curves:
- Vertical Velocity, Horizontal Velocity, Dynamic Pressure, Static Pressure, Atmospheric Temperature, External Temperature, and other environmental factors have been added to make the VFX react to the environment.
Cooling VFX Control:
- Replaced multiple conditions for controlling Cooling VFX with a single Boolean parameter. This change simplifies the logic for turning the Cooling VFX on and off based on various factors like altitude and fuel level.
Module Refactoring:
- Extensively refactored every class to better align with modern software design principles and to simplify the codebase.
- Eliminated the use of CurrentModule
in favor of a more dynamic and extensible approach.
Interface Introduction:
- Introduced ILoadModule
interface to standardize module loading operations, enhancing the maintainability and flexibility of the system.
Dynamic Module Identification:
- Overhauled ModuleController
to provide more dynamic module identification. Instead of relying on static properties, it now employs methods that can adapt as the system grows and changes.
Utility Class Initialization:
- Ensured that the Utility
class is properly initialized within the FFTPlugin
to enable its functionality throughout the application.
Bug Fixes
- Resolved an issue where the fuel calculation at launch incorrectly displayed 0 fuel when the fuel level was 100% full, ensuring accurate and intuitive representation of fuel status
- Addressed redundancy issues in the Manager and ModuleController update methods to prevent unnecessary computations.
- Resolved issue where VFX played in the OAB.
- Disabled VFX while I rework it
Next Steps
- Develop a Fuel Tank Selector, providing a tailored and user-friendly selection experience.
- Continue to refine performance and enhance the visual appearance of VFX, aiming for seamless integration and realistic effects.
If you encounter any issues or have suggestions, please feel free to contribute or open an issue on GitHub.
Sequence of Operations:
-
Preliminary Condition Assessment:
- The
ConditionsManager
meticulously evaluates the prevailing system conditions to determine the appropriate course of action.
- The
-
Conditional Module Initialization:
- Should the conditions be deemed optimal, the
ConditionsManager
seamlessly delegates the task to theManager
, instructing it to engage the requisite module via theLoadModule
mechanism.
- Should the conditions be deemed optimal, the
-
Integrity Verification:
- Subsequent to a successful module load, the
Manager
seeks affirmation from theConditionsManager
, ensuring alignment of the initialized module with the anticipated operations. TheConditionsManager
, in turn, ascertains the accuracy of the loaded module.
- Subsequent to a successful module load, the
-
Module Operationalization:
- With all verifications confirming congruence, the
ConditionsManager
authorizes theManager
to activate the selected module utilizing theStartModule
protocol.
- With all verifications confirming congruence, the
-
Operational Acknowledgment:
- In acknowledgment of the commencement, the
Manager
conveys, "Initiating the specified module."
- In acknowledgment of the commencement, the
Fancy Fuel Tanks [0.1.4.0]
Fancy Fuel Tanks v0.1.4.0 Patch Notes
Updates and Additions
New Features
- Introduced a linear relationship between fuel level and opacity, providing an intuitive and realistic visual representation.
- Implemented the
Module_VentValve
, controlling the venting process in the fuel system. - Added the
RF2 Vent Valve
, a specialized component for cooling fuel tanks. - Remodeled all existing hydrogen tanks, enhancing visual quality and consistency.
- Added a new hydrogen tank 'SR-815', expanding the selection available to players.
Enhancements and Optimizations
- Fuel Level Calculation: Refined the logic to calculate fuel levels accurately across different resources.
- Opacity Calculation: Modified the opacity calculation using an animation curve, creating a gradual decrease in opacity as fuel levels decrease from 1 to 0.95.
- Altitude Calculation: Added new Module that calculates the vessels telemetry to update the VFX
- Modeling and Texturing: Improved the aesthetic appeal and realism of the hydrogen tanks through careful remodeling and texturing.
- Improved performance by only having necessary methods called during Updates/FixedUpdates
- Updated Nuget Packages: 'NET472' to 'NETStandard2.0', 'UnityEngine' [2020.3.33.1], 'BepInEx.AssemblyPublicizer.MSBuild' [0.4.1], 'BepInEx.Analyzers' [1.0.8]
Bug Fixes
- Fixed an issue causing the fuel level to count up instead of down.
- Corrected the curve setup, aligning it with the intended relationship between fuel level and opacity.
- Fixed an issue where SP-701 would angle when attached radially
Next Steps
- Continue to develop vent valve VFX to incorporate temperature, pressure, altitude, and other environmental factors
- Add more Xenon tanks
- Develop and implement a GUI that allows players to swap between various model variants
- Focus on improving the performance and resource usage of the system.
- Identify and resolve any new bugs or issues to enhance gameplay.
These changes mark a significant update to the fuel system's visual and functional aspects. The addition of new components and a more refined look for the hydrogen tanks provides players with a more immersive experience. If you encounter any issues or have suggestions, please feel free to contribute or open an issue on GitHub.
Fancy Fuel Tanks [0.1.3.1]
Fancy Fuel Tanks [FFT]
Fancy Fuel Tanks v0.1.3.1 Patch Notes
Updates and Additions
-
New Features
- Implemented the
Module_TriggerVFX
class, allowing for control and configuration of visual effects tied to fuel levels in game parts. - Added a visual effects component
CoolingVFX
that is triggered based on fuel levels in the tanks. - The
CoolingVFX
component is linked with animations and particle system effects to create a dynamic visual feedback system for users. - Introduced two new components,
TriggerVFX
andDynamicGravity
, enabling better control over visual effects. - The
DynamicGravity
system allows for a more realistic response of particle systems to the in-game environment. - Introduced the
Data_TriggerVFX
class, providing a data structure for maintaining visual effect states and properties. - Implemented a new
Data_FuelTanks
class, maintaining a dictionary of fuel tank GameObjects for ease of reference and interaction.
- Implemented the
-
Enhancements and Optimizations
- Streamlined initialization of components, ensuring that visual effects are initialized only when their parent GameObjects are in flight mode.
- Improved error handling, ensuring potential issues with missing particle systems or GameObjects are logged for debugging.
- Enhanced modularity of the codebase, breaking out responsibilities of different components into more granular classes and functions.
-
Bug Fixes
- Fixed an issue where the
_triggerVFX
and_gravityForVFX
were not correctly initialized, causing null reference exceptions. - Corrected the initialization of
Data_TriggerVFX
- Resolved a delay issue with the animation and looping of particles in the
CoolingVFX
by adjusting emission settings in the Particle System.
- Fixed an issue where the
Next Steps
- Continue to enhance the interaction of the
CoolingVFX
with different in-game parameters, such as temperature or velocity. - Further optimization of system performance and resource usage.
- Investigate and fix any new bugs or issues that may arise during gameplay.
Fancy Fuel Tanks [0.1.3]
Fancy Fuel Tanks v0.1.3 Patch Notes
Added
- Implemented the
Module_TriggerVFX
module to manage visual effects based on the fuel level.
Updated
- Added
OnModuleFixedUpdate
method to update fuel level, opacity, and VFX status based on the current state of the part. - Improved logging by adding more verbose information about the state changes.
- Added
FuelLevelExceedsThreshold
method to check whether the fuel level exceeds a certain threshold.
Module_TriggerVFX Changelog
Added
- Added new ParticleSystem management methods:
StartParticleSystem
,StopParticleSystem
,EnableEmission
,DisableEmission
. - Implemented a new
FuelLevelExceedsThreshold
method to manage VFX transitions based on the fuel level. - Added better support for VFX transitions based on Animator transitions.
Updated
- Updated
OnModuleFixedUpdate
method to better manage VFX transitions based on the fuel level. - Improved the
StartVFX
andStopVFX
methods to handle both particle system and animation states. - Removed direct calls to
animator.Play
to better respect Animator transitions.
Fancy Fuel Tanks [0.1.2.1]
*Corrected and updated swinfo
Fancy Fuel Tanks [0.1.2]
-Fixed issue with parts not showing in OAB.
v0.1.1
Fancy Fuel Tanks [FFT]
[0.1.1] Release
-Fixed texturing issue and compression of textures so files extract properly
If you're having troubles installing the mod, try CKAN!
Current Parts
- Methalox Tanks - Model CV & ATCRS CV-401 [xs], CV-421 [s], & AT-CRS "Bieg Macks" Storage Unit [s]
- Hydrogen Tanks - Model SR - SR-812 [s], SR-812A [s], SR-813 [m]
- Xenon Tank - Model SP - SP-701 [s]
Planned Parts
-2 Models for each Fuel Type ranging in size XS to XL for Methalox, Methane, Monopropellant, Xenon, & Hydrogen Fuel
-New Fuel line
-VFX for tank cooling during launch
-Emission effect when reentry heat is added
-Antimatter Fuel Tanks when Antimatter is introduced
Thank you to LuxStice for ALL of the help making this mod!
Any bugs/issues please leave an issue in the github.
Known issues:
-Textures need a bit more work and cleaned up a bit
-Attach nodes may clip in. Please test and let me know what you think
Fancy Fuel Tanks [0.1.0]
Fancy Fuel Tanks [FFT]
[0.1.0] - Added 3 Methalox Fuel Tanks, 3 Hydrogen Fuel Tanks, and 1 Xenon Fuel Tank
If you're having troubles installing the mod, try CKAN!
Current Parts
- Methalox Tanks - Model CV & ATCRS CV-401 [xs], CV-421 [s], & AT-CRS "Bieg Macks" Storage Unit [s]
- Hydrogen Tanks - Model SR - SR-812 [s], SR-812A [s], SR-813 [m]
- Xenon Tank - Model SP - SP-701 [s]
Planned Parts
-2 Models for each Fuel Type ranging in size XS to XL for Methalox, Methane, Monopropellant, Xenon, & Hydrogen Fuel
-New Fuel line
-VFX for tank cooling during launch
-Emission effect when reentry heat is added
-Antimatter Fuel Tanks when Antimatter is introduced
Thank you to LuxStice for ALL of the help making this mod!
Any bugs/issues please leave an issue in the github.
Known issues:
-Textures need a bit more work and cleaned up a bit
-Attach nodes may clip in. Please test and let me know what you think