edge fmv reference guide

Upload: thinkboxly

Post on 21-Feb-2018

230 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 Edge FMV Reference Guide

    1/16

    http://engine.thinkboxly.com/ Support/Inquiries: [email protected]

    Thank you for downloading Edge FMV, the first native GML video solution for GameMaker Studio. Edge

    Engineis a fully cross-platform, modular framework built to augment Game Maker Studio with pre-madecode and assets that serve as the foundation for a wide variety of game genres. All Edge Engine modules

    feature creative, human-readable code with helpful notations throughout, making them both powerfuland easy to use.

    Edge FMV Contents:

    What's New

    Reference

    edgefmv_load

    edgefmv_play

    edgefmv_unload

    edgefmv_pause

    edgefmv_skip

    edgefmv_seek

    edgefmv_set_volume

    edgefmv_get_time

    edgefmv_draw_progress

    http://engine.thinkboxly.com/mailto:[email protected]?subject=Edge%20Engine%20Support%20Requestmailto:[email protected]?subject=Edge%20Engine%20Support%20Requestmailto:[email protected]?subject=Edge%20Engine%20Support%20Requestmailto:[email protected]?subject=Edge%20Engine%20Support%20Requesthttp://engine.thinkboxly.com/
  • 7/24/2019 Edge FMV Reference Guide

    2/16

    MakeFMV

    EULA

  • 7/24/2019 Edge FMV Reference Guide

    3/16

    What's New

    v1.1.2

    Updated MakeFMV to v1.3.0 with minor improvements to the GUI, as well as functional improvements

    including even better support for nonstandard paths, fix for command window not showing up on

    conversion, and fix for some antivirus software generating a false positive when running MakeFMV.

    Added edgefmv_get_time script for reading the playback position of FMVs

    v1.1.0

    Updated MakeFMV to v1.2.0 with GUI frontend, custom output paths, and better support for

    nonstandard paths (e.g. not on C drive, paths with spaces, etc.)

    v1.0.2 Fixed looped videos drawing a blank frame between replays

    v1.0.1

    Added ability to loop FMVs

    v1.0

    Initial release

  • 7/24/2019 Edge FMV Reference Guide

    4/16

    Reference

    Warning: Edge FMV is an experimentalvideo player, and likely always will be. It is intended for advanced

    users only, and may not perform as expected due to limitations within GameMaker Studio.

    Overview Whats an FMV?

    FMV stands for Full Motion Video, and historically has been used as an extension for game videos sincethe early 90s. The name itself does not connote any specific video format, and in fact more often thannot implies a non-standard or proprietary format created specifically for use in games.

    Despite being experimental, Edge FMV is designed to be highly flexible and easy to use. Playing your ownvideos with Edge FMV comes in two stages: conversionand operation. While the second stage is thesame no matter what, the first will vary slightly based on the target platform and project needs.

    Although Edge FMV-compatible video files can be made with a variety of tools, it is stronglyrecommended to use the included MakeFMVapplication to convert standard video format files into filesreadable by Edge FMV. Edge FMV cannotread standard video filetypes directly (such as MP4, AVI, or WMV,to name only a few). Converting with MakeFMV will ensure the best possible balance of image quality,file size, and game performance, and will also simplify the conversion process for quick and easyimporting.

    Edge FMV can read converted files through two methods of storage: preload, and precache.Each methodhas advantages and disadvantages, and it is up to each developer to decide which is best for theirprojects.

    The preload method stores videos as a single contained file much like traditional video formats, making

    it clean and easy to work with. Preloading will also yield the highest performance within the GameMakerStudio IDE itself, as only one file is backed up when the project is saved or tested. As such it isrecommended to use this method when developing games, however it may not be best for exporting tothe final product. Preload files must be cached to system storage before usage, which will temporarilyhalt the game until the cache is fully createda process which can take several seconds to complete,depending on the speed of the system storage medium. Furthermore, this method requires twice theactual storage space per video, as both the cache and its parent file occupy the same amount of space.It is also not guaranteed that this cache will be unloaded later, as various factors may preventGameMaker Studio from deleting the cache if it is deemed still in-use. Preload files are also not compatiblewith all platforms, in which case attempting to load one will silently fail.

    Thats where the precachemethod comes in. As its name implies, a precache is essentially a preload file

    which is already in system cache form. Rather than exist as a single file, a precache is an entire foldercontaining individual video frame and audio files. The precache method is compatible with almost allGameMaker platforms and introduces virtually no delay when initializing playback, plus it requires noadditional space on the system storage to operate. The downside to a precache is simply its cumbersomenumber of files. A videos entire precache folder must be imported to GameMaker Studio for playback,which can take several minutes to complete depending on the length of the video. This folder is alsobacked up upon saving or testing the project, adding significantly to the length of both operations.Therefore, while the precache method is well suited for finished projects, during development it isrecommended to use the preload method instead.

  • 7/24/2019 Edge FMV Reference Guide

    5/16

    See the MakeFMV section of this document for instructions on converting videos to both storageformats.

    Additionally, Edge FMV features several built-in variables that can assist in general operation ofconverted videos. While it is only necessary to run the edgefmv_loadand edgefmv_playscripts toachieve video playback, making use of these variables can take Edge FMV functionality beyond simpleplayback for a variety of useful effects.

    First, the global.fmv_complete variable stores the status of the video as either true(the video isfinished playing) or false(the video is not finished playing). Testing this variable can be used as a meansof executing code when the video is complete. For example:

    if global.fmv_complete = true {

    room_goto_next();

    }

    will automatically go to the next room of the game when the video is finished playing.

    It may also be desirable to allow users to pause videos during playback. While this is accomplished withthe edgefmv_pausescript and not a variable, the global.fmv_pause variable itself can be used toexecute code when a video is paused. For example:

    if global.fmv_pause = true {

    draw_set_alpha(0.5);

    draw_rectangle_color(0, 0, room_width, room_height, c_black, c_black, c_black,c_black, false);

    draw_set_alpha(1);

    }

    will draw an overlay to fade the video while paused.

    Furthermore, to aid in stylization of elements such as a pause screen, Edge FMV includes two variablesretaining the dimensions of the current video: global.fmv_frame_width andglobal.fmv_frame_height . These variables are scaled, meaning they contain the dimensions of thevideo as it is drawn, not necessarily as it is stored on-disk. See information on the edgefmv_play scriptfor more on video scaling.

    And these are but a few of the variables that are accessible to developers. Advanced users areencouraged to study the edgefmv_load script and use the variables it initializes to their advantage.For all that Edge FMV has to offer under regular usage, refer to the rest of the reference guide below.

  • 7/24/2019 Edge FMV Reference Guide

    6/16

    edgefmv_load(fname);

    The first script that must be run for FMV playback. As the name implies,edgefmv_loadwill cache preloadfiles and set a number of essential variables for both preload and precache videos. It will also return theinteger 1 or the number of files cached to indicate that the load operation was successful. If the loadfails, 0 will be returned instead. The script requires only one parameter, the fname, or filename of the

    FMV to be loaded. This should be input as a string (enclosed in quotes), including the files extension andany necessary path information. In this case, the root directory is the Included Files section of theGameMaker Studio project. For example, the path folder\myfile.fmv would actually refer toC:\Users\USER\Documents\GameMaker\Projects\PROJECT.gmx\datafiles\folder\myfile.fmv. Do notinclude a slash at the beginning of the path. If no sub-folder is used, no slashes are necessary.

    This script must be run in the Create event or elsewhere that will only trigger it once. It does not,however, have to be run in the same object or even the same room as the edgefmv_playscript. This isespecially useful for preload files, as preloading can occur during a loading screen elsewhere in the gameprior to actually playing the video.

    Note that regardless of whether a preload or precache is used, the input fname should include both the

    filename and extension. In the case of a precache, the filename should match that of the folder, and theextension should match that of the frame files extension(typically .fmv). Files converted with MakeFMVwill use the same fname regardless of whether they are stored in preload or precache mode. If both aprecache and preload version of the same file are present, the precache will be loaded preferentially.

    Note: Once a preload file has been cached, it does not matter where it is loaded from againthe same cache willbe used regardless of the original files location provided the cache still exists after the file has been moved.

    Note 2: Changes to the folder structure in the Included Files section will require re-importing files to the newfolder structure. This is a limitation of GameMaker Studio.

    Note 3: While only the most recent loaded video can be played, multiple videos can be preloaded and then playedin succession by running edgefmv_loadfor each video again when its turn comes. If a cache already exists it will

    not be recreated, therefore there is no performance penalty to the second instance of edgefmv_load.

    edgefmv_play framerate, a/v offset, x, y, xscale, yscale, rot, color, alpha, hidemouse, loop);

    Plays the last video loaded with the edgefmv_load script with a variety of playback options andtransforms.

    Of greatest importance is the framerateparameter, which sets the FPS at which the loaded video isintended to be played. Fractional values are acceptable, therefore framerates such as 23.976 and 29.97are valid inputs here. All videos converted with MakeFMV will have a framerate of 30.

    The a/v offsetparameter can be used to adjust the tracking between the video and audio being played,to fix incorrect lip-syncing for example. This value is in number of frames, and can be both positive andnegative to offset the audio either forwards or backwards as necessary. Generally, no offset should benecessary, in which case this parameter can simply be set to 0.

    The x and yparameters specify where the video should be drawn, with the top-left corner being thevideos origin point. The xscaleand yscaleparameters set the size of the drawn video as well as the actualvalues stored in the built-in global.fmv_frame_width and global.fmv_frame_height variables. Avalue of 1 equals 100% size. Negative values can be used to mirror the video on either axis.

  • 7/24/2019 Edge FMV Reference Guide

    7/16

    The rotparameter sets the videos rotation in degrees, where 0 is straight up and 180 is directly upside-down. Although videos are positioned by the top-left corner, applying rotation will rotate them aboutthe center.

    The colorparameter sets a blending color to add a tint to the video, where c_whiteis neutral. The inputcolor can be anything from a built-in GameMaker Studio variable to a color made with make_color_rgbor even Edge Engines own make_color_hex.

    The alpha parameter is a fractional value that sets the videos transparency, where 0 is completelytransparent and 1 is completely opaque.

    Next, the hidemouseparameter is a true/false value that enables or disables hiding the mouse cursorduring video playback on desktop platforms where a mouse cursor is used. The cursor will be restoredwhen the video is completed or skipped.

    Lastly, the loopparameter is another true/false value that enables or disables endlessly repeating videoplayback until the video is skipped.

    This script must be run in the Draw event.

    Note: While only the most recent loaded video can be played, multiple videos can be preloaded and then played insuccession by running edgefmv_loadfor each video again when its turn comes. If a cache already exists it willnot be recreated, therefore there is no performance penalty to the second instance of edgefmv_load.

    edgefmv_unload fname);

    Resets all FMV playback variables to null values and attempts to delete the relevant preload cache, if any.See edgefmv_loadfor usage of the fnameparameter. Note that while only one video can be loaded at

    any given time, the same does not necessarily apply to unloading. When videos are preloaded, their cacheremains on the system storage until it is unloaded manually. In this way multiple preload files can bequeued for successive playback without pausing to cache additional videos in between. However, thiswill also constitute data buildup on the system storage, which is undesirable in large quantities. To unloadspecific videos, supply that videos filename with any necessary path information. Otherwise to unloadprecache videos or to unload all preload videos simultaneously, the keyword all can be supplied in placeof a filename here. For example:

    edgefmv_unload(all);

    In general, this is how edgefmv_unload should be used. Like edgefmv_load, this script should beexecuted in an event where it is only triggered once.

    edgefmv_pause );

    Pauses and unpauses the current video, if any is playing. No parameters are necessary; simply run thescript in the desired input pressed event, where it will only be triggered once at a time.

  • 7/24/2019 Edge FMV Reference Guide

    8/16

    edgefmv_skip );

    Skips the current video, if any is playing. No parameters are necessary; simply run the script in the desiredinput pressed event, where it will only be triggered once.

    edgefmv_seek time);

    Sets the playback position of the current video, if any is playing. The timeparameter is a value in seconds.Fractional values are acceptable for seeking to a precise time in the current video. As with many otherEdge FMV scripts, it is important to only run edgefmv_seekwhere it will be triggered once.

    Tip: Try setting the time value to a coordinate like mouse_x in a button event like global mouse left. With a littleadditional math, you can create a full scrubbing system just like a real media player!

    edgefmv_set_volume volume);

    Sets the volume of the current video, if any is playing. The volumeparameter is a fractional value where0 is silent and 1 is max volume. Changes in volume will transition smoothly over a period of 100milliseconds. This script should ideally be run in an event where it will only be triggered once.

    edgefmv_get_time );

    Returns the playback time of the current video in seconds, if any is playing. Otherwise will return 0. Noparameters are necessary.

    edgefmv_draw_progress x1, y1, x2, y2, col1, col2, col3, col4, outline);

    Draws a colored rectangle as a progress bar indicating the current videos playing time, if any is playing.The x1and y1parameters set the position to draw the top-left corner of the progress bar, and the x2and y2parameters set the position to draw the bottom-right corner. Progress will be displayed betweenthese two values as a percentage, where 100% equals the distance between x1 and x2. The next fourparameters set what color to draw the progress bar in, where col1refers to the top-left corner of the

    progress bar, col2the top-right corner, col3the bottom-right corner, and col4the bottom-left corner.These colors will be blended into a gradient. Lastly, the outline parameter is a true/false value thatenables or disables drawing the progress bar as an outline rather than a solid.

    This script must be run in the Draw event.

    Tip: Try running the draw_rectangle_color script before edgefmv_draw_progress to create a solidbackground for the progress bar to appear over!

  • 7/24/2019 Edge FMV Reference Guide

    9/16

    MakeFMV

    As Edge FMV is a native GML video player, it relies on a unique format for storing videos. To simplifythe process of creating Edge FMV-compatible videos with the proper technical standards and rightbalance of quality and output file size, Edge FMV also comes with its own conversion utility: MakeFMV.

    As of version 1.1.0, MakeFMV has a GUI frontend which is very simple and easy to use.

    First, select the video file you wish to convert by clicking the button to the right of the Input Filebox. A familiar dialog window will appear allowing you to select your video from anywhere on your PC.By default, the list of files will be filtered by popular video file formats, but if your video is not listedyou can always disable the filter by setting Video Files to All in the bottom-right corner of thewindow.

  • 7/24/2019 Edge FMV Reference Guide

    10/16

    It is also possible to fill out the Input File path manually. If you do so, remember notto put quotes

    around the path!

    Next, repeat the same process with the Output File path. Unlike with the input file, this time you willnot be able to specify an output formatthe .fmv format is required.

    The output file does not have to be in the same directory as the input file. Create your .fmv anywhereyou like!

  • 7/24/2019 Edge FMV Reference Guide

    11/16

    Finally, select whether to convert the input video as a Preload or a Precache by checking theappropriate radio button at the bottom of the window. Remember, a preloadFMV is a self-containedfile that is cached at runtime, while a precacheis a folder that requires no extra processing to be used.For mobile devices, precache is required

    Once youve made all your selections, click the big MakeFMV logo at the top of the window and startconverting! A terminal window will appear so you can keep an eye on the whole process.

    When the conversion is complete, the MakeFMV terminal will provide the example Edge FMV commandsneeded to play the output file in your GameMaker Studio project. Simply drag the output file or folderto your GameMaker Studio projects Included Files section and play it with the edgefmv_loadandedgefmv_playscripts.

    And thats it! Your MakeFMV-converted video is now ready to be played with Edge FMV.

  • 7/24/2019 Edge FMV Reference Guide

    12/16

    End-User License Agreement ("EULA")

    Use of this product is subject to the terms and agreements of the YoYoGames GameMaker: Marketplace

    End-User License Agreement ("EULA"). A copy of the EULA dating current as of January 23, 2016 is

    provided below, however a newer version of this document may be available at

    https://marketplace.yoyogames.com/eula

    About this document

    This document applies to your use of software products licensed, or services obtained, from the GameMaker:Marketplace (which well call the Marketplace as shorthand). This document is the default contract between customersof the Marketplace (thats you!) and people or businesses from whom they can license products on the Marketplace. Wecall those products Assets in this EULA (theres more about them explained below). It also applies to the provision ofservices via the Marketplace (Services). The people or businesses providing the Assets or Services are called the

    Publisher in this EULA and they are either: (i) YoYo Games Limited (company number 05260718) of River Court, 5 WestVictoria Dock Road, Dundee, United Kingdom (YoYo Games); or (ii) any third party business that distributes productsfrom the Marketplace.

    1. ALTERNATE EULA

    1.1. The Publisher may decide to replace this EULA with its own preferred legal document. If so, that document and notthis one will govern your licensing and usage of the relevant Asset or Service. You will be able to see the PublishersEULA on the page for the relevant Asset or Services. If the Publisher does not use an alternate legal document, thisEULA will apply to your licensing and use of the Asset or Services in question.

    2. ACCEPTING THIS EULA

    2.1. Accepting the EULA. This EULA is a legally binding contract regarding your use of Assets and Services via theMarketplace. Before you can access any Assets or Services, you need to show your acceptance of this EULA as part ofyour Marketplace account registration process and again when you license Assets or obtain Services. Please review thisEULA carefully and contact us at [http://help.yoyogames.com/]if you have any questions or if you wish to propose anyamendments, since once it comes into force it is legally binding upon you and us. In any event, your continuing usage ofthe Marketplace or any Assets or Services from it will be taken as your approval of this EULA.

    2.2. Access for adults only or with adult approval. To accept this EULA or to use Assets or Services, you must be atleast 18 years of age (or whatever is the age of legal majority in your country, if its not 18). If you are not an adult, youcan accept this EULA and use Assets only with a parents or a guardians approval. We reserve the right to refuse topermit minors to obtain access to or to use the Marketplace at our discretion.

    3. ACCESSING ASSETS AND SERVICES

    3.1. By Assets we mean software and other things sold via the Marketplace. This includes: (i) software created tofacilitate the development of interactive entertainment products; and (ii) content (like graphics, sounds, music, text, orother assets) that is intended to be integrated with interactive entertainment products.

    3.2. By Services we mean professional services of all kinds that a Publisher is authorised to provide to you via theMarketplace, including, for example, software development or other technical assistance, graphics creation and audioengineering. You may need to speak or work with the Publisher to establish the exact method of use of the Services,depending on the facts and circumstances of the case (e.g. commissioning artwork).

    3.3. By Publisher we mean any person, company or other legal entity who has accepted the GameMaker: MarketplacePublisher Agreement to distribute Assets or provide Services on the Marketplace.

    https://marketplace.yoyogames.com/eulahttp://help.yoyogames.com/http://help.yoyogames.com/http://help.yoyogames.com/http://help.yoyogames.com/https://marketplace.yoyogames.com/eula
  • 7/24/2019 Edge FMV Reference Guide

    13/16

    3.4. In order to access Assets and Services, you first need to access the Marketplace, which you can do by following theprocess explained in the Terms of Service, which includes having an activated GameMaker: Studio Professional licence.

    3.5. Assets are licensed, not sold. When you buy Assets, what happens is that the Publisher grants to you a non-exclusive, worldwide and perpetual right (known legally as a licence) over the Assets for the purpose of using them andintegrating them with interactive entertainment products (which you may choose to distribute for free or for money thats up to you). You may copy, use and modify Assets for this purpose only and you may not distribute, sublicense,rent, lease or lend the Assets. You are therefore acquiring a licence over the Assets, not buying the Assets themselves

    (which the Publisher will still own). Your licence over the Assets is subject to this EULA.

    3.6. Provision of Services. When you obtain Services via the Marketplace, the Publisher will be obliged to provide thoseServices to you and by default you will own what is produced from them, but not the Services themselves.

    3.7. Multi-user/location arrangements. Only you are able to use the rights in this EULA regarding the Assets or Servicesyou use you cannot give rights to other people or share rights with others. If you would like to have a multi-userarrangement regarding an Asset or Service, please contact [http://help.yoyogames.com/]

    3.8. Payment for Assets. Assets that are licensed for money can be obtained using payment services that we providewithin the Marketplace with the help of third party payment services, like PayPal. As part of your licence acquisitionprocess, you normally need to provide standard contact/payment information alongside your licence acquisition, forexample your name, address and billing details. You can also provide your VAT number if you are a business (you will not

    be able to add it to purchases later on). We will charge you for the amount of the Asset price, plus any VAT and ifapplicable any bank charges, using your chosen payment method.

    3.9. Updates to Assets. From time to time, Publishers may make updates (such as bug fixes, patches, new versions orenhancements) to Assets that may become available. You can set in the Marketplace whether to download these updatesautomatically or manually.

    4. OWNERSHIP OF THE MARKETPLACE, ASSETS AND INTELLECTUAL PROPERTY RIGHTS

    4.1. Ownership. The Assets, Services and all Intellectual Property Rights in them are owned by the Publisher. Thisincludes the Assets software, code, graphics, video, audio, music and text. The Marketplace is owned by YoYo Games(this also includes the Marketplaces software, code, graphics, video, audio, music and text).

    4.2. Open source software. Some Assets and/or Services materials (whether developed by YoYo Games or by thirdparties) may contain open source software and so will also be governed by applicable open source software licences. Ifthere is a dispute or discrepancy between this EULA and any such open source licences, the open source softwarelicences will prevail.

    5. CONSUMER RIGHTS REGARDING ASSETS

    5.1. For consumers resident in the European Union. Under EU Distance Selling rules, consumers have the ability toreturn Assets and Services for a refund within 14 days of their ordering of them in the Marketplace. However, that rightis lost as soon as consumers download or use the Assets or Services. Consumers will also benefit from legally requiredwarranties regarding the quality and use of the Assets and Services (depending on their national consumer protectionlaws), which in appropriate circumstances consumers may use to claim a return or refund.

    5.2. For consumers who are resident outside of the European Union (including the USA). All licence acquisitions are finaland consumers have no right of return or refund, nor are any warranties given by Publishers or YoYo Games regardingthe quality and use of the Assets or Services.

    5.3. What happens when a consumer makes a return/refund request? For Assets, YoYo Games reviews that request onbehalf of the Publisher and, if a return/refund right is available to the consumer, make a decision regarding whether areturn/refund/other remedy should be offered. If a refund/return is offered, then usually you will be required todelete/destroy all copies of the Asset(s) in question and all your rights to it (them) will terminate. For Services, this is amatter for the Publisher.

    http://help.yoyogames.com/http://help.yoyogames.com/http://help.yoyogames.com/http://help.yoyogames.com/
  • 7/24/2019 Edge FMV Reference Guide

    14/16

    5.4. What happens if an Asset or Service is taken down from the Marketplace? You will be notified that an Asset orService is going to be removed from the Marketplace. If you have already licensed the Asset previously then in mostsituations we will endeavour to give you a reasonable period (normally 30 days) in which to use it a final time. However,this is subject to the reason for which it is being taken down (for example, if it is owing to third party intellectualproperty infringement we may be required to take it down immediately and not offer a final download period). ForServices, this is a matter for the Publisher.

    5.5. All other consumer queries. Please contact the Publisher in the first instance (their contact details should be

    available via the Marketplace). If you still have any concerns or queries after reasonable attempts to resolve them withthe Publisher, you can contact YoYo Games athttp://help.yoyogames.com/.

    6. WHAT YOU MUST NOT DO WITH THE ASSETS OR SERVICES

    6.1. You must not do any of the following regarding Assets, Services or the Marketplace:

    6.1.1. Reproduce, duplicate, copy, sell, trade or resell them;

    6.1.2. Copy, sell, license, distribute, transfer, modify, adapt, translate, prepare derivative works from, decompile,reverse engineer, disassemble or otherwise attempt to derive source code from them;

    6.1.3. Interfere with, circumvent or bypass servers or security or content usage functionality (including any digital

    rights management) in or regarding them;

    6.1.4. Use them to access, copy, transfer, transcode or retransmit content in breach of any laws or third party rights; or

    6.1.5. Remove, obscure or alter YoYo Games or any third partys copyright or trademark or other proprietary notices ordocumentation regarding them, nor use any YoYo Games or other trademarks for your own purposes.

    7. TERM AND TERMINATION

    7.1. Start of EULA. This EULA starts when you confirm your agreement to it as explained at the beginning of this EULAand it will end once it is terminated, as we explain further in the rest of this section.

    7.2. Your termination rights. You may terminate this EULA by ending use of the Assets or Services.

    7.3. Mutual termination rights. You or we may terminate this EULA at any time on written notice to you if: (i) you or wematerially breach this EULA; or (ii) you or we become or threaten to become insolvent or bankrupt.

    7.4. Effect of termination. If this EULA terminates for any reason then it will cease immediately to have effect (apartfrom any sections that are necessary for enforcement of any legal rights and remedies against you. Depending on thedetails of the termination, you may lose your rights over your Assets and/or Services.

    7.5. Removal of your Assets or Services. From time to time, there may be serious cases of breach of this EULA by anAsset or Service. In that situation, you may be required to remove such Asset from any computer or other equipmentunder your control and that you agree to comply promptly with such requirement.

    8. LIABILITY

    8.1. You agree on demand to indemnify and hold harmless YoYo Group and its officers, directors, employees and agents(and keep them indemnified and held harmless) from and against any and all damages, claims, suits, actions, judgmentsand costs (including legal costs) and expenses whatsoever, including reasonable legal fees and costs, arising out of youruse of the Assets or Services, including your downloading, installation or use of any Assets, or your material breach ofthis EULA..

    8.2. You understand and agree that your use of Assets and Services is at your own risk and that they are provided as isand as available without warranty or representation of any kind. All warranties, representations and conditions of anykind relating to them are disclaimed, including without limitation any implied warranties of satisfactory quality,

    https://marketplace.yoyogames.com/but%20it%20is%20not%20obliged%20to%20solve%20any%20issues%20and%20can%E2%80%99t%20promise%20that%20it%20willhttps://marketplace.yoyogames.com/but%20it%20is%20not%20obliged%20to%20solve%20any%20issues%20and%20can%E2%80%99t%20promise%20that%20it%20willhttps://marketplace.yoyogames.com/but%20it%20is%20not%20obliged%20to%20solve%20any%20issues%20and%20can%E2%80%99t%20promise%20that%20it%20willhttps://marketplace.yoyogames.com/but%20it%20is%20not%20obliged%20to%20solve%20any%20issues%20and%20can%E2%80%99t%20promise%20that%20it%20will
  • 7/24/2019 Edge FMV Reference Guide

    15/16

    merchantability, fitness for purpose or non-infringement of third party rights. In addition, no warranty orrepresentation is given that your use of them will be uninterrupted or secure or free from bugs or errors.

    8.3. The maximum and total aggregate liability of the Publisher and of YoYo Games, its group of companies, employeesand affiliates (YoYo Group) to you in connection with this EULA shall be equivalent to the sum of $100 (one hundredUS dollars).

    8.4. In no event will the Publisher or YoYo Group be liable to you for any loss of profits, charges or expenses, loss of

    data or any corruption or loss of information, or any loss of business opportunity, or any special, indirect, punitive,exemplary or consequential loss or damage or disruption of any kind, in any case, whether based on breach of contract,tort (including negligence or breach of statutory duty), misrepresentation, restitution or otherwise whether or not therelevant party has been advised of the possibility of such damage. The foregoing limitations will survive and apply evenif any limited remedy specified in this EULA is found to have failed of its essential purpose.

    8.5. Without prejudice to the generality of the rest of this clause 8, the Publisher and YoYo Group disclaim any liabilityregarding or arising out of:

    8.5.1 Any reliance by you on the existence, completeness or accuracy of any marketing or advertising materialsregarding Assets or Services;

    8.5.2 Any changes made to any Assets or Services; or

    8.5.3 Any damage or harm or deletion or corruption that is in any way attributable to your use of Assets or Services.

    8.6. Nothing in this clause 8 purports to limit or exclude any partys liability: (i) for fraud, fraudulent misrepresentation orwilful misconduct; (ii) for death or personal injury caused by that partys negligence; or (iii) to the extent otherwise notpermitted by law.

    9. GENERAL LEGAL TERMS

    9.1. No waiver. No failure or delay by a party to exercise any right or remedy provided under this EULA or by law shallconstitute a waiver of that or any other right or remedy, nor shall it preclude or restrict the further exercise of that orany other right or remedy. No single or partial exercise of such right or remedy shall preclude or restrict the furtherexercise of that or any other right or remedy.

    9.2. Impact of enforceability finding. If any court or competent authority finds that any provision of this EULA (or partof any provision) is invalid, illegal or unenforceable, that provision or part-provision shall, to the extent required, bedeemed to be deleted, and the validity and enforceability of the other provisions of this EULA shall not be affected. Ifany invalid, unenforceable or illegal provision of this EULA would be valid, enforceable and legal if some part of it weredeleted, the parties shall negotiate in good faith to amend such provision such that, as amended, it is legal, valid andenforceable, and, to the greatest extent possible, achieves the parties original commercial intention.

    9.3. Third parties. No person other than YoYo Group or a party to this EULA shall have any rights (whether under theUnited Kingdoms Contracts (Rights of Third Parties) Act 1999 or otherwise) to enforce any term of this EULA.

    9.4. No partnership or agency. Nothing in this EULA or in any document referred to in it or in any arrangementcontemplated by it shall create a partnership, joint venture, agency or employment between the parties.

    9.5. Entire EULA. This EULA contains the whole agreement between the parties relating to the subject matter hereof andsupersedes all prior EULAs, arrangements and understandings between the parties relating to that subject matter. Eachparty acknowledges that, in entering into this EULA, it has not relied on, and shall have no right or remedy in respect of,any statement, representation, assurance or warranty (whether made negligently or innocently) other than as expresslyset out in this EULA. Please remember, when reviewing this section, that you had had the opportunity at the start of thisEULA to raise any queries and propose any amendments to its terms.

    9.6. Export restrictions. It is your responsibility to comply with any import or export laws or regulations that may applyto your Assets on the Marketplace.

  • 7/24/2019 Edge FMV Reference Guide

    16/16

    9.7. Assignment. The rights granted in this EULA may not be assigned or transferred by you, nor can you sub-contractor delegate your responsibilities under this EULA, without our prior written approval. The rights granted in this EULAmay be assigned or transferred by us without your prior approval and we may also delegate or sub-contract ourresponsibilities or obligations under this EULA without your approval.

    10. GOVERNING LAW AND JURISDICTION

    You and we agree that this EULA shall be governed by and interpreted according to the laws of England and that any

    dispute regarding this EULA shall be heard by the courts of England.

    Edge Engine, Edge FMV, MakeFMV, ThinkBoxly, and associated artworks are copyright 2012-2016 ThinkBoxly.

    GameMaker: Studio, GameMaker: Marketplace, and associated works are copyright 2013-2016 YoYo Games Ltd.

    This document makes use of the font 'Carme' as provided by the SIL Open Font License (OFL) version 1.1. See

    http://scripts.sil.org/OFLfor more information.

    The MakeFMV application bundled with Edge FMV incorporates technologies based on FFmpeg and 7-zip. Theseapplications are licensed under the GNU Lesser General Public License (LGPL) version 2.1 or later. Seehttps://www.ffmpeg.org/legal.html and http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html for more information.MakeFMV is not a commercial application and may be obtained compiled or as source code free of charge upon request.

    http://scripts.sil.org/OFLhttp://scripts.sil.org/OFLhttps://www.ffmpeg.org/legal.htmlhttps://www.ffmpeg.org/legal.htmlhttp://www.gnu.org/licenses/old-licenses/lgpl-2.1.htmlhttp://www.gnu.org/licenses/old-licenses/lgpl-2.1.htmlhttps://www.ffmpeg.org/legal.htmlhttp://scripts.sil.org/OFL