record support for multiple versions

[?]
Apr 20, 2023, 3:23 AM
EY6UKABATZRTWERQUPG7RCQVVW2NG7DUAAJ3UTNSAYXGNXMNMTLQC

Dependencies

  • [2] ZFLAXEIJ drop non-existent arg in callback
  • [3] 4H4JTSFI mouse wheel support
  • [4] 7MOX7PIK deemphasize a concern
  • [5] TNRO6KLZ new live app
  • [6] JIWWTY7R extract a function
  • [7] 5T6SHEIT abstraction: roll forward/back
  • [8] OIUPAN2W delete some debug prints
  • [9] LKUW6TVD make roll_forward and roll_back more symmetric
  • [10] QFFTXR7E new file-system format for freewheeling apps
  • [*] UUX7J2OA prevent overriding foundational definitions
  • [*] JUTECG5X bring template-live's protocol in sync with template-live-editor
  • [*] OJLXS67N a prefix for metadata in the manifest

Change contents

  • edit in main.lua at line 21
    [5.775]
    [5.775]
    Mode = 'version_check'
    Supported_versions = {'11.4', '11.3', '11.2', '11.1', '11.0'} -- keep these sorted in descending order
    Version = nil
  • edit in main.lua at line 37
    [5.1040]
    [12.5]
    local major, minor = love.getVersion()
    Version = major..'.'..minor
    if array.find(Supported_versions, Version) then
    Mode = 'run'
    end
  • replacement in main.lua at line 182
    [5.1811][5.1811:1896]()
    local index = table.find(app.Filenames_to_load, app.Filename[definition_name])
    [5.1811]
    [5.1917]
    local index = array.find(app.Filenames_to_load, app.Filename[definition_name])
  • edit in main.lua at line 267
    [4.1150][4.1150:1155](),[4.1155][5.2793:2892](),[5.32][5.2793:2892]()
    end
    function table.find(h, x)
    for k,v in pairs(h) do
    if v == x then
    return k
    end
    end
  • edit in main.lua at line 302
    [5.8572]
    [5.8572]
    if Mode == 'version_check' then
    love.graphics.setColor(0,0,1)
    love.graphics.rectangle('fill', 30, 30, 1000, 80)
    love.graphics.setColor(1,1,1)
    love.graphics.print(("This app doesn't support version %s; please use version %s. Press any key to try it with this version anyway."):format(Version, Supported_versions[1]), 40, 40)
    return
    end
  • edit in main.lua at line 313
    [5.8630]
    [5.8630]
    if Mode == 'version_check' then return end
  • edit in main.lua at line 323
    [5.8693]
    [5.8693]
    if Mode == 'version_check' then return end
  • edit in main.lua at line 330
    [5.8829]
    [5.8829]
    if Mode == 'version_check' then return end
  • edit in main.lua at line 335
    [5.8910]
    [5.8910]
    if Mode == 'version_check' then return end
  • edit in main.lua at line 343
    [5.9075]
    [5.9075]
    if Mode == 'version_check' then return end
  • edit in main.lua at line 352
    [5.9319]
    [5.9319]
    if Mode == 'version_check' then return end
  • edit in main.lua at line 361
    [2.42]
    [2.42]
    if Mode == 'version_check' then
    Mode = 'run'
    return
    end
  • edit in main.lua at line 369
    [5.9683]
    [13.405]
    if Mode == 'version_check' then return end
  • edit in main.lua at line 374
    [5.9800]
    [13.469]
    if Mode == 'version_check' then return end
  • edit in main.lua at line 379
    [3.41]
    [3.41]
    if Mode == 'version_check' then return end
  • edit in main.lua at line 471
    [14.369]
    array = {}
    function array.find(arr, elem)
    if type(elem) == 'function' then
    for i,x in ipairs(arr) do
    if elem(x) then
    return i
    end
    end
    else
    for i,x in ipairs(arr) do
    if x == elem then
    return i
    end
    end
    end
    return nil
    end