Fade

From RocketLauncher Wiki
Revision as of 19:02, 9 May 2016 by Bleasby (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Contents


1 Descrition:

2 Requirements:
3 Limitations
4 Details:
5 Key Table:
6 The Default Animations:
6.1 Transitions:
6.2 Layer 3 Animations:
7 Programmers:


Description:


The Fade feature gives you the ability to fade or animate away from your front end, into a solid color or picture(s) of your choice. Meanwhile, the application will load in the background until the module calls for fade to exit or the application overtakes fade in fullscreen mode.


On exit of your application, Fade will attempt to fade or animate itself into focus, then exit the application and fade or animate back into your front end. The goal is to have a more pleasant transition between the front end and the application.





Requirements:

  • Must use a module that has fade support.
  • Must be enabled in your settings either globally, or for the system you want it on.
  • Must have libraries and any other additional files in your Module Extensions folder.
  • .NET Framework 3.5 or Visual C++ 2010 Redistributable Package installed for ZipHandler.dll support (this shows 7z progress during fade)



Limitations:

  • True fullscreen applications will lock your video and will overtake Fade. This is by design and nothing you can do about it. It's up to you if you want to enable it for these systems or not. This does not happen in windowed or windowed fullscreen mode if your application supports it.
  • Flickering can occur in true fullscreen applications when Fade is unable to overtake the application.



Details:

Create a folder in RocketLauncher\Media\Fade\Systemname\_Default. RocketLauncher will search and load images for each of its Layers if found. Example: RocketLauncher\Media\Fade\MAME\_Default\Layer 1.png

  • Layer 1.png (This would show as the background image)
  • Layer 2.png (This is a static image, and can be placed anywhere around the screen)
  • Layer 3.png (This is a dynamic image of which can have an animation applied to it)
  • Layer 4 (#).png (This is a set of images, when played, create an animation. One image = 1 frame. Frame 1 = "Layer 4 (1).png", frame 2 = "Layer 4 (2).png", and so on.)
  • Layer -1.png (This would show as the background image during Fade_Out)


Optionally, you can place per-rom layer images in a subfolder named after the rom, and RocketLauncher will use it instead. This allows custom per-game images (like control images) to be shown before loading the game. Example: RocketLauncher\Media\Fade\MAME\88games\Layer 1.png

There is also a global fade image folder that RocketLauncher will look in if nothing is found in the system fade folder. This Fade_Image_Path is defined in the Global RocketLauncher.ini. Place any of the Layer # images in there to load when the above images are not found. Default Location: RocketLauncher\Media\Fade\_Default

Note: Transparency is supported on all images and on all layers. So if you are creative, you can have some very nice looking effects by utilizing the layering properties and settings.

Note 2: Image types supported are png, gif, bmp, and jpg. It is suggested you only use image types that support transparency however.

Note 3: You can have multiple layer 4 animations located at the same fade folder. They will be chosen aleatory at each game launch. Just follow the filename convention: start the image files with the word "Layer 4" followed by the animation frame inside parenthesis and add whatever description you want for the animation after the parenthesis. The files with the same description string will define the animation group. For example, name your files "Layer 4 (1) - set1.png", "Layer 4 (2) - set1.png" and "Layer 4 (3) - set1.png" for the first animation set and "Layer 4 (1) alternative.png", "Layer 4 (2) alternative.png" and "Layer 4 (3) alternative.png" for the second animation group.


Key Table:

Key Default Value Description
Fade_In false Enable Fade support when leaving your front end and starting the emulator
Fade_In_Duration 500 In milliseconds, how long it takes for Fade_In to appear and disappear
Fade_In_Transition_Animation DefaultAnimateFadeIn The animation to use when transitioning from your Front End to the emu (This function must exist in "Lib\Fade Animations.ahk")
Fade_In_Delay 0 In milliseconds, the minimum amount of time the Fade_In gui must be up when not using 7z.
  • The module thread will not advance past the FadeInStart() line while this delay is in effect.
  • The Fade screen will remain up after any animations have taken place (if not repeating) or until the total amount of time Fade takes to complete, during this delay.
  • If your animation takes 8 seconds to complete, and you have this setting set to 10000 (10 seconds), it will only delay Fade for 2 seconds.
Fade_In_Exit_Delay 0 In milliseconds, the amount of time to delay the Fade_In screen from closing while the emulator loads in the background
  • This is helpful if you want to wait a certain amount of time after the emulator has loaded before fading out
  • Whatever code is in between the FadeInStart() and FadeInExit() lines in the module will run while before this delay starts.counting down and FadeInExit starts its animation.
  • True fullscreen applications will always interrupt and overtake fade, and this delay will do nothing if this happens
Fade_Out false Enable Fade support when exiting the emulator and returning to your front end
Fade_Out_Extra_Screen false If true, adds a brief temporary GUI window the same color as what you have set for layer 1 in an attempt to preven flashing of your desktop or front end when an emulator exits from fullscreen.
  • This is not needed when running with bezels enabled or in a windowed emulator as you should never get the above behavior.
  • Not at all guaranteed to work on every PC, just an attempt to prevent the flashing.
Fade_Out_Duration 500 In milliseconds, how long it takes for Fade_Out to appear and disappear
Fade_Out_Transition_Animation DefaultAnimateFadeOut The animation to use when transitioning from the emu to your Front End (This function must exist in "Lib\Fade Animations.ahk")
Fade_Out_Delay 0 In milliseconds, the minimum amount of time the Fade_Out gui must be up when not using 7z
Fade_Out_Exit_Delay 0 In milliseconds, the amount of time to delay the Fade_Out screen from closing before returning to your FE. This is useful if for some reason it takes awhile to close your game.
Fade_Layer_Interpolation 7 Controls the amount of interpolation used on Layers 1 & 2
  • 0 = Off
  • 1 = LowQuality
  • 2 = HighQuality
  • 3 = Bilinear
  • 4 = Bicubic
  • 5 = NearestNeighbor
  • 6 = HighQualityBilinear
  • 7 = HighQualityBicubic
Fade_Layer_1_Color FF000000 Background color when not using an image on layer 1. In ARGB format, first two characters denote the opacity. Here are some examples.
Fade_Layer_1_Align_Image Align to Top Left Aligns the Background picture. Choices are:
  • Stretch and Lose Aspect = Image is stretched to fill the screen, disregarding Aspect Ratio
  • Center = Centering image keeping its size and Aspect Ratio
  • Center Width = Image is stretched to Center screen's width, keeping Aspect Ratio
  • Center Height = Image is stretched to Center screen's height, keeping Aspect Ratio
  • Align to Bottom Left = Place the image so the bottom left corner matches the screen's bottom left corner, keeping Aspect Ratio
  • Align to Bottom Right = Place the image so the bottom right corner matches the screen's bottom right corner, keeping Aspect Ratio
  • Align to Top Right = Place the image so the top right corner matches the screen's top right corner
  • Align to Top Left = Place the image so the top left corner matches the screen's top left corner
Fade_Layer_2_Alignment Bottom Right Corner Positions layer 2 image on screen. Choices are No Alignment, Center, Top Left Corner, Top Right Corner, Bottom Left Corner, Bottom Right Corner, Top Center, Bottom Center, Left Center, Right Center
Fade_Layer_2_X 300 X location to position layer 2 image if Fade_Layer_2_Alignment is not set
Fade_Layer_2_Y 300 Y location to position layer 2 image if Fade_Layer_2_Alignment is not set
Fade_Layer_2_Adjust 1 Adjust size of layer 2 image (1=full size)
Fade_Layer_2_Padding 0 In pixels, moves the Layer 2 image away from the edge of the screen. Automatically adjusts negative/postive values depending on what quadrant the image is in
Fade_Layer_3_Alignment Center Positions layer 3 image on screen. Choices are No Alignment, Center, Top Left Corner, Top Right Corner, Bottom Left Corner, Bottom Right Corner, Top Center, Bottom Center, Left Center, Right Center
Fade_Layer_3_X 300 X location to position layer 3 image if Fade_Layer_3_Alignment is not set
Fade_Layer_3_Y 300 Y location to position layer 3 image if Fade_Layer_3_Alignment is not set
Fade_Layer_3_Adjust 0.75 Adjust size of layer 3 image (1=full size)
Fade_Layer_3_Padding 0 In pixels, moves the Layer 3 image away from the edge of the screen. Automatically adjusts negative/postive values depending on what quadrant the image is in
Fade_Layer_3_Speed 750 In milliseconds, how long it takes for the non-7z Layer 3 animation to complete.
Fade_Layer_3_Animation DefaultFadeAnimation The animation to use when 7z is disabled, or 7z is enabled but not being used because a rom doesn't need to be extracted - Default is DefaultFadeAnimation
Fade_Layer_3_7z_Animation DefaultFadeAnimation The animation to use when 7z is enabled and rom will be extracted by 7z - Default is DefaultFadeAnimation
Fade_Layer_3_Show_7z_Progress true If true, and you have Fade_In and 7z_Enabled both enabled, Layer 3 will show progress of the current extraction
Fade_Layer_3_Type imageandbar The type of 7z animation used. Options are bar, image, or imageandbar.
Fade_Layer_3_Repeat 1 Number of times to repeat the dynamic Layer 3 when not using 7z. 0 = static image
Fade_Layer_4_Pos Above Layer 3 - Left Where the layer 4 image gets placed on the screen. Choices are: No Alignment, Center, Top Left Corner, Top Right Corner, Bottom Left Corner, Bottom Right Corner, Top Center, Bottom Center, Left Center, Right Center, Above Layer 3 - Left, Above Layer 3 - Center or Above Layer 3 - Right
Fade_Layer_4_X 100 X adjustment to position layer 4 image
Fade_Layer_4_Y 100 Y adjustment to position layer 4 image
Fade_Layer_4_Adjust 0.75 Adjust the size of the layer 4 image (1=full size)
Fade_Layer_4_Padding 0 In pixels, moves the Layer 4 animation away from the edge of the screen. Automatically adjusts negative/postive values depending on what quadrant the image is in
Fade_Layer_4_FPS 10 In milliseconds, how often the layer 4 animation loops. Larger # = slower animation
Fade_Animated_Gif_Transparent_Color FFFFFF The RGB of the color in the animated GIF you want to make transparent.
  • If your gif has a white background, instead of recreating it with transparency, you can set the color of the background here and it will make that color transparent.
  • Careful as this can make other portions of the GIF also transparent.
Fade_Bar_Window false If true, shows a rectangle window around the progress bar. It helps bring focus to the bar.
Fade_Bar_Window_X X location to position the bar's canvas. If blank, bar will be centered.
Fade_Bar_Window_Y Y location to position the bar's canvas. If blank, bar will be centered.
Fade_Bar_Window_Width 600 Width of the bar's window. This also controls the bar's width.
Fade_Bar_Window_Height 120 Height of the bar's window.
Fade_Bar_Window_Radius 20 Rounds the edges of the bar window. 0 is squared; higher you go, more rounded it looks. At 200 the window disappears.
Fade_Bar_Window_Margin 20 Margin to the left/right of bar. This many pixels must be shown of the bar's window. It also controls the relative X location of the bar on it's canvas.
Fade_Bar_Window_Hatch_Style 8 Hatch style for the bar's window. Try numbers from 0 to 53 for dIfferent hatch styles. You can see the different styles here.
Fade_Bar_Back true If true, the bar itself will have a background that gets filled as the bar progresses.
Fade_Bar_Back_Color FF555555 The ARGB of the bar's background in hexadecimal. First 2 characters denote the alpha, the last 6 are the RGB color.
Fade_Bar_Height 20 Height of the progress bar. This also affects the Y for the bar and text 1 & 2.
Fade_Bar_Radius 5 Rounds the edges of the bar. 0 is squared; higher you go, more rounded it looks. After 10 you start getting wierd effects.
Fade_Bar_Color DD00BFFF The ARGB of the bar in hexadecimal. First 2 characters denote the alpha, the last 6 are the RGB color.
Fade_Bar_Hatch_Style 3 Hatch style for the bar. Try numbers from 0 to 53 for dIfferent hatch styles. You can see the different styles here.
Fade_Bar_Percentage_Text true If true, shows the percentage amount extracted when using a progress bar
Fade_Bar_Info_Text true If true, shows additional information (if any) related to the current extraction when using a progress bar.
Fade_Bar_X_Offset 0 In pixels, how much to horizontally offset the bar on it's canvas
Fade_Bar_Y_Offset 100 In pixels, how much to vertically offset the bar on it's canvas
Fade_Progress_Duration 0 In milliseconds, time for the progress bar to reach 100% on non-7z fade screens or 7z fade screens when 7z Progress is set to custom. If zero, the time is calculated automatically by RocketLauncher to reflect the Fade In Delay, Fade In Exit Delay, and the Progress Animation Speed values.
  1. Fade Progress Duration handles the progress bar duration time. This is true whenever the Fade 7z Progress Mode is not equal to "extraction" in a 7z rom launch, where on this case the progress bar will follow the extraction time.
  2. If Fade Progress Duration is empty, RocketLauncher will use the Fade In Delay (+ Fade In Exit Delay) to define the time that takes to the progress bar to reach 100%.
  3. On an 7z rom extraction, if the extraction finishes before the progress bar duration, RocketLauncher will hold the emulator launch until the bar reaches 100%.
  4. If you want to do the same on a non 7z rom, just set the Fade In Delay and the Fade Progress Duration values to the same value, excluding the Fade In Exit Delay (or simply set the Fade In Delay value and leave the Fade Progress Duration empty, as the *Fade Progress Duration will use the Fade In Delay on this case as explained on point 2).
Fade_Rom_Info_Description text There are four options for this key:
  • If text, shows the rom's Description text pulled from the system's xml
  • If text with label, shows the rom's Description text pulled from the system's xml with the label "Description:" before it
  • If image, shows the game wheel image pulled from your Frontend's media folder
  • If disabled, does not show the game description info on your fade screen
Fade_Rom_Info_System_Name text There are four options for this key:
  • If text, shows the system name
  • If text with label, shows the system name with the label "System:" before it
  • If image, shows the system wheel image pulled from your Frontend's media folder
  • If disabled, does not show the system name info on your fade screen
Fade_Rom_Info_Year text There are four options for this key:
  • If text, shows the rom's Year pulled from the system's xml
  • If text with label, shows the rom's Year pulled from the system's xml with the label "Year:" before it
  • If image, shows the year image placed in the Media\Fade\_Default\Year folder
  • If disabled, does not show the year info on your fade screen
Fade_Rom_Info_Manufacturer text There are four options for this key:
  • If text, shows the rom's Manufacturer pulled from the system's xml
  • If text with label, shows the rom's Manufacturer pulled from the system's xml with the label "Manufacturer:" before it
  • If image, shows the manufacturer image placed in the Media\Fade\_Default\Manufacturer folder
  • If disabled, does not show the manufacturer info on your fade screen
Fade_Rom_Info_Genre text There are four options for this key:
  • If text, shows the rom's Genre pulled from the system's xml
  • If text with label, shows the rom's Genre pulled from the system's xml with the label "Genre:" before it
  • If image, shows the genre image placed in the Media\Fade\_Default\Genre folder
  • If disabled, does not show the genre info on your fade screen
Fade_Rom_Info_Rating text There are four options for this key:
  • If text, shows the rom's rating pulled from the system's xml
  • If text with label, shows the rom's rating pulled from the system's xml with the label "Rating:" before it
  • If image, shows the genre rating placed in the Media\Fade\_Default\Rating folder
  • If disabled, does not show the rating info on your fade screen
Fade_Rom_Info_Order SystemName|Year|Manufacturer|Genre|Rating The order you want the text to be shown on your Fade In screen
Fade_Rom_Info_Text_Placement corners The region to place the Rom Info text. Choices are: user defined, corners, topRight, topLeft, bottomRight or bottomLeft
Fade_Rom_Info_Text_Margin 5 The amount of pixels to push the Rom Info text from the edge of the screen.
Fade_Rom_Info_Text_1_Options cFF555555 r4 s20 Bold Text formatting options to apply to the 1st Rom Info text. See the additional formatting options below.
  • If you want to define a custom position for this rom info text or image, you should set Fade_Rom_Info_Text_Placement to "user defined" and set the X, Y coordinates in this field with the desired location for the text or game info image.
  • If the Fade Rom Info text is set to the "Image" option, RocketLauncher will use the Width and Height field values to determine the image size on the fade screen (setting only the width or height fields would make RocketLauncher to resize the image keeping its aspect ratio).
Fade_Rom_Info_Text_2_Options cFF555555 r4 s20 Bold Text formatting options to apply to the 2nd Rom Info text. See the additional formatting options below.
  • If you want to define a custom position for this rom info text or image, you should set Fade_Rom_Info_Text_Placement to "user defined" and set the X, Y coordinates in this field with the desired location for the text or game info image.
  • If the Fade Rom Info text is set to the "Image" option, RocketLauncher will use the Width and Height field values to determine the image size on the fade screen (setting only the width or height fields would make RocketLauncher to resize the image keeping its aspect ratio).
Fade_Rom_Info_Text_3_Options cFF555555 r4 s20 Bold Text formatting options to apply to the 3rd Rom Info text. See the additional formatting options below.
  • If you want to define a custom position for this rom info text or image, you should set Fade_Rom_Info_Text_Placement to "user defined" and set the X, Y coordinates in this field with the desired location for the text or game info image.
  • If the Fade Rom Info text is set to the "Image" option, RocketLauncher will use the Width and Height field values to determine the image size on the fade screen (setting only the width or height fields would make RocketLauncher to resize the image keeping its aspect ratio).
Fade_Rom_Info_Text_4_Options cFF555555 r4 s20 Bold Text formatting options to apply to the 4th Rom Info text. See the additional formatting options below.
  • If you want to define a custom position for this rom info text or image, you should set Fade_Rom_Info_Text_Placement to "user defined" and set the X, Y coordinates in this field with the desired location for the text or game info image.
  • If the Fade Rom Info text is set to the "Image" option, RocketLauncher will use the Width and Height field values to determine the image size on the fade screen (setting only the width or height fields would make RocketLauncher to resize the image keeping its aspect ratio).
Fade_Rom_Info_Text_5_Options cFF555555 r4 s20 Bold Text formatting options to apply to the 5th Rom Info text. See the additional formatting options below.
  • If you want to define a custom position for this rom info text or image, you should set Fade_Rom_Info_Text_Placement to "user defined" and set the X, Y coordinates in this field with the desired location for the text or game info image.
  • If the Fade Rom Info text is set to the "Image" option, RocketLauncher will use the Width and Height field values to determine the image size on the fade screen (setting only the width or height fields would make RocketLauncher to resize the image keeping its aspect ratio).
Fade_Rom_Info_Text_6_Options cFF555555 r4 s20 Bold Text formatting options to apply to the 6th Rom Info text. See the additional formatting options below.
  • If you want to define a custom position for this rom info text or image, you should set Fade_Rom_Info_Text_Placement to "user defined" and set the X, Y coordinates in this field with the desired location for the text or game info image.
  • If the Fade Rom Info text is set to the "Image" option, RocketLauncher will use the Width and Height field values to determine the image size on the fade screen (setting only the width or height fields would make RocketLauncher to resize the image keeping its aspect ratio).
Fade_Stats_Number_of_Times_Played text with label There are three options for this key:
  • If text, shows the number of times played
  • If text with label, shows the number of times played with the label "Times Played:" before it
  • If disabled, does not show the number of times played info on your fade screen
Fade_Stats_Last_Time_Played text with label There are three options for this key:
  • If text, shows the last played time
  • If text with label, shows the last played time with the label "Last Time Played:" before it
  • If disabled, does not show the last played time info on your fade screen
Fade_Stats_Average_Time_Played text with label There are three options for this key:
  • If text, shows the average game time played
  • If text with label, shows the average game time played with the label "Average Time Played:" before it
  • If disabled, does not show the average game time info on your fade screen
Fade_Stats_Total_Time_Played text with label There are three options for this key:
  • If text, shows the total played time
  • If text with label, shows the total played time with the label "Total Time Played:" before it
  • If disabled, does not show the total played time info on your fade screen
Fade_Stats_System_Total_Played_Time text with label There are three options for this key:
  • If text, shows the system total played time
  • If text with label, shows the system total played time with the label "System Total Played Time:" before it
  • If disabled, does not show the system total played time info on your fade screen
Fade_Stats_Total_Global_Played_Time text with label There are three options for this key:
  • If text, shows the total global played time on all games.
  • If text with label, shows the total global played time on all games with the label "Total Global Played Time:" before it
  • If disabled, does not show the total global played time on all games info on your fade screen
Fade_Stats_Info_Order Last_Time_Played|Average_Time_Played| Total_Time_Played|System_Total_Played_Time|Total_Global_Played_Time The order you want the statistics text to be shown on your Fade In screen
Fade_Stats_Info_Text_Placement TopLeft The region to place the Statistics Info text. Choices are: user defined, corners, topRight, topLeft, bottomRight or bottomLeft
Fade_Stats_Info_Text_Margin 5 The amount of pixels to push the Statistics Info text from the edge of the screen.
Fade_Stats_Info_Text_1_Options cFF555555 r4 s20 Bold Text formatting options to apply to the 1st Statistics Info text. See the additional formatting options below.
  • If you want to define a custom position for this statistics info, you should set Fade_Stats_Info_Text_Placement to "user defined" and set the X, Y coordinates in this field with the desired location for the statistics text info.
Fade_Stats_Info_Text_2_Options cFF555555 r4 s20 Bold Text formatting options to apply to the 2nd Statistics Info text. See the additional formatting options below.
  • If you want to define a custom position for this statistics info, you should set Fade_Stats_Info_Text_Placement to "user defined" and set the X, Y coordinates in this field with the desired location for the statistics text info.
Fade_Stats_Info_Text_3_Options cFF555555 r4 s20 Bold Text formatting options to apply to the 3rd Statistics Info text. See the additional formatting options below.
  • If you want to define a custom position for this statistics info, you should set Fade_Stats_Info_Text_Placement to "user defined" and set the X, Y coordinates in this field with the desired location for the statistics text info.
Fade_Stats_Info_Text_4_Options cFF555555 r4 s20 Bold Text formatting options to apply to the 4th Statistics Info text. See the additional formatting options below.
  • If you want to define a custom position for this statistics info, you should set Fade_Stats_Info_Text_Placement to "user defined" and set the X, Y coordinates in this field with the desired location for the statistics text info.
Fade_Stats_Info_Text_5_Options cFF555555 r4 s20 Bold Text formatting options to apply to the 5th Statistics Info text. See the additional formatting options below.
  • If you want to define a custom position for this statistics info, you should set Fade_Stats_Info_Text_Placement to "user defined" and set the X, Y coordinates in this field with the desired location for the statistics text info.
Fade_Stats_Info_Text_6_Options cFF555555 r4 s20 Bold Text formatting options to apply to the 6th Statistics Info text. See the additional formatting options below.
  • If you want to define a custom position for this statistics info, you should set Fade_Stats_Info_Text_Placement to "user defined" and set the X, Y coordinates in this field with the desired location for the statistics text info.
Fade_Text_1_X 0 The X location of the canvas text 1 will be drawn on. If blank or 0, default animation will calculate the X based off the X of the Layer 3 animation or text will follow the progress bar to the end if using a bar.
Fade_Text_1_Y 0 The Y location of the canvas text 1 will be drawn on. If blank, default animation will calculate the Y based off the Y of the Layer 3 animation.
Fade_Text_1_Options cFFFFFFFF r4 s20 Right Bold Set the text 1 options
Fade_Text_1 Loading Game When using the default progress bar, this is the text under the bar while it is extracting.
Fade_Text_2_X 0 The X location of the canvas text 2 will be drawn on. If blank, default animation will calculate the X based off the X of the Layer 3 animation
Fade_Text_2_Y 0 The Y location of the canvas text 2 will be drawn on. If blank, default animation will calculate the Y based off the Y of the Layer 3 animation
Fade_Text_2_Options cFFFFFFFF r4 s20 Right Bold Set the text 2 options
Fade_Text_2 Extraction Complete When using the default progress bar, this is the text under the bar after it is done extracting.
Fade_Font Arial Specify the Font to use for text Layers 4/5. Default is Arial as most systems should have this installed
Fade_Interrupt_Key
Fade_System_And_Rom_Layers_Only false If true, will not use Layer images from your global Fade_Image_Path. Will only use rom or system specific images.



Additional formatting options for Fade_Rom_Info_Text_Options, Fade_Text_1_Options and Fade_Text_2_Options:

  • w (width) - area you force the text to stay constrained to. If p is used after the value, it denotes the percentage of the image width So w90p, means to allow the text to use 90% of the image width. If p is not used, the value represents pixels
  • c (color) - in ARGB, preceded with the opacity. So dd000000 would be partial black, and ff000000 would be solid black. Preceed the color with a c to denote it is a color (cFF000000) - Here are some ARGB examples.
  • r (quality) - following chart explains the different effects you can apply
0 SystemDefault
1 SingleBitPerPixelGridFit
2 SingleBitPerPixel
3 AntiAliasGridFit
4 AnitAlias
  • s (size) - size of the Font
  • formatting options - Top, Up, Bottom, Down, vCenter, vCentre, Centre, Center, Regular, Bold, Italic, BoldItalic, Underline, Strikeout, NoWrap (you can use as many as you like, but careful with the positioning options for obvious reasons)



The Default Animations:


Included with RocketLauncher are some default animations to give you a taste of what you can do with fade:

Transitions:

  • DefaultAnimateFadeIn
  • This performs a simple fade from the front end, and into the GDI layers
  • DefaultAnimateFadeOut
  • This performs a simple fade to the emulator once layer 3 is done animating and/or your emulator is done loading (depends on your settings).
  • AnimateFadeInLegacy
  • This simulates the legacy fade system by showing only the layer 1 background image using ahk standard guis rather then GDI ones
  • AnimateFadeOutLegacy
  • Same as the FadeInLegacy above, but fades to the emulator once layer 3 is done animating and/or your emulator is done loading (depends on your settings).



Transitions take place four times:

  1. When you select a game from your front end
  2. When your layer 3 animation is done, then showing the emulator after it's loaded
  3. When you press your Exit_Emulator_Key
  4. When the the emulator finished closing and the module exits, returning you to your front end.



Layer 3 Animations:


  • DefaultFadeAnimation
  • Reveals an image controllable by Fade_Layer_3_Repeat and Fade_Layer_3_Speed when Fade_Layer_3_Show_7z_Progressis false. Image is revealed from left to right from your Fade_Image_Path. This can be per-game named after your rom, or just a "Layer #.png" (or bmp/gif/jpg) for the entire system.
  • If Fade_Layer_3_Show_7z_Progress is true, reveals an image based on the current extraction taking place by 7z.exe. The further along the extraction is, the more the image is revealed.
  • Can show an image, bar, or both by setting your choice for Fade_Layer_3_Type
  • If type is set to bar, will show a progress bar of the current 7z extraction. This bar animation also shows some text, keeping you updated on the current file being extracted and percentage until finished. This text can be changed in your inis (Fade_Text_1 & Fade_Text_2). All the Fade_Bar_ settings help customize this animation to your liking.
  • Customizable text layer to show rom information of the selected game.
  • Layer 4 can show animated image frames or an animated GIF during Fade In.


Layer 3 and 4 are the layers that animations appear on. This is where GDI programmers, combined with artists, can get creative. The amount of time layer 3 takes place depends on if you are using a 7z animation to show progress or you just want an animation to loop through itself any number of times.

You can read more about the different layers in the Programmers section below.


Programmers:

Those talented enough to want a truly customized experience can create their own animations to control Layer 3. Included with fade is a Fade Animations.ahk that is found in your Module Extensions folder. The animation functions and labels in there are duplicates of the defaults compiled in RocketLauncher. I commented them so you can understand what's going on. You can pretty much do anything you want, even add more layers. But be mindful that the more layers or conditionals you have, the slower an animation will appear. Less is more, especially on older PCs. Think of the loop as FPS, the more you have going on in each loop, the less FPS you will have.

Here is a index of the current layers used in the default Fade animation:

Layer Description GUI #
1 bottom (background) (image or color) 1
2 middle (static image) 2
3 top (dynamic image) 3
4 multiple images tied together to create an animated object 4
5 text 5
-1 bottom Fade_Out (background) (image or color) 8
-2 bottom Fade_Out (reserved for future use) 9



  • Transition animations that are used to show the fade effect are functions and must remain such as they have to run slightly different depending on direction of the fade.
  • Transitions must be named so the last word is either "In" or "Out". RocketLauncherUI parses the name and this tells it what drop down boxes to put your transition in. If it doesn't find those 2 words, it assumes the transition can be used for both in and out.
  • Layer 3 animations must be Labels so we have the ability to jump out if the user presses an exit key.
  • In the 7z section of the animation you can see how I used the text layer to show 7z statistics by reading COM updates from a dll. It shows a percentage of completion, while also showing the file currently extracting.
  • Pay attention to the Global variables in the animations provided. Use these to control all the elements on the screen. There are a lot, but you need a lot to make these animations happen while being customizable.
  • If you need user-adjustable settings for your animation, the variable holding the path to Fade Animations.ini is %fadeAnimationsIni%. Place all your settings in it's own section for each animation. Doing it this way will ensure if a user updates his Fade Animations.ahk, settings won't be lost.
  • If you need to add timers or additional labels and/or functions and do not want them appearing in RocketLauncherUI's Animation drop down selections, prefix the function/label with an underscore "_". So if you have a function named _MyFunction, it can be used for your animation while RocketLauncherUI will know it is not an animation that should be selectable.