local _ = MojoSetup.translate Setup.Package { id = "postal_fudge_pack", description = "Postal Fudge Pack", version = "1.0", splash = "splash.jpg", superuser = false, --destination = "/usr/local/bin", recommended_destinations = { MojoSetup.info.homedir, "/opt/games", "/usr/local/games" }, Setup.Eula { description = _("Fudge Pack License"), source = _("fudge_pack_license.txt") }, Setup.Readme { description = _("Fudge Pack README"), source = _("fudge_pack_readme.txt") }, Setup.Media { id = "dvd1", description = _("Fudge Pack installation DVD"), uniquefile = "Mac OS X Installer.app/THIS_IS_THE_FUDGE_PACK_DISC" }, Setup.Option { value = true, required = false, disabled = false, bytes = 245592384, description = _("Postal 1"), -- Linux-specific files, executables, etc. Setup.File { destination = "postal1game", source = "base:///postal1-lnx-data.tar", }, -- Linux-specific replacement for the .ini files. Setup.File { -- no source is the same as "base:///" filter = function(dest) if dest == "postal_plus.ini" then return "postal1game/postal_plus.ini" end if dest == "postal_plus_realms.ini" then return "postal1game/res/levels/postal_plus_realms.ini" end return nil -- skip everything else here. end }, -- General gameplay FAQ and start script. Setup.File { wildcards = { "postal1_guide.html", "postal1" } }, -- All the Postal 1 data from the disc... Setup.File { source = "media://dvd1/PostalClassic&Uncut", wildcards = "res/*", filter = function(dest) -- Install everything but the multiplayer data... if string.match(dest, "^res/levels/multi") ~= nil then return nil end if string.match(dest, "^res/levels/bouynets") ~= nil then return nil end if string.match(dest, "^res/levels/coop") ~= nil then return nil end if string.match(dest, "^res/levels/gauntlet") ~= nil then return nil end if string.match(dest, "^res/hoods/mp%w+.sak") ~= nil then return nil end -- We have our own Linux-specific INI, skip the Windows one... if dest == "res/levels/Postal Plus realms.ini" then return nil end -- Only install the highest quality audio pak... if dest == "res/game/11025_16.sak" then return nil end if dest == "res/game/22050_8.sak" then return nil end -- Not sure why we don't install this, but it's a 0-byte file -- on the DVD and the original installer skips it, too. if dest == "res/savegame/high.ini" then return nil end return "postal1game/" .. dest -- install this one. end }, }, Setup.Option { value = true, required = false, disabled = false, bytes = 1401526439, description = _("Postal 2: Share the Pain"), -- Linux-specific files, executables, etc. Setup.File { destination = "postal2game", source = "base:///postal2-lnx-data.tar", }, Setup.File { wildcards = "postal2", }, -- All the game data... Setup.File { destination = "postal2game", source = "media://dvd1/", wildcards = { "KarmaData/*", "Sounds/*", "Animations/*", "Maps/*", "StaticMeshes/*", "Music/*", "Save/*", "Textures/*", "Web/*", "Help/*", "System/*.bmp", "System/*.int", "System/*.u", }, }, -- This is a suboption...it will only be available if the base -- Postal 2 game is also chosen. Setup.Option { value = true, required = false, disabled = false, bytes = 1347812896, description = _("Apocalypse Weekend expansion pack"), -- Linux-specific files, executables, etc. Setup.File { destination = "postal2game", source = "base:///postal2aw-lnx-data.tar", }, Setup.File { wildcards = "postal2aw", }, Setup.File { destination = "postal2game/ApocalypseWeekend", source = "media://dvd1/ApocalypseWeekend", wildcards = { "Textures/*.utx", "Animations/*.ukx", "Maps/*.fuk", "Movies/*.RoQ", "Music/*.ogg", "Sounds/*.uax", "StaticMeshes/*.usx", "KarmaData/*.ka", "KarmaData/*.kaw", "KarmaData/*.PSK", "System/*.int", "System/*.u", }, }, Setup.File { destination = "postal2game/ApocalypseWeekend/System", source = "media://dvd1/System", wildcards = "Postal2Splash.bmp", }, }, -- This is a suboption...it will only be available if the base -- Postal 2 game is also chosen. Setup.Option { value = true, required = false, disabled = false, bytes = 732618167, description = _('A Week in Paradise mod (aka: "AW7")'), -- Linux-specific files, executables, etc. Setup.File { destination = "postal2game", source = "base:///postal2awp-lnx-data.tar", }, Setup.File { wildcards = "postal2awp", }, Setup.File { destination = "postal2game/AWP", source = "media://dvd1/AWP", wildcards = { "Textures/*.utx", "Animations/*.ukx", "Maps/*.fuk", "Movies/*.RoQ", "StaticMeshes/*.usx", "KarmaData/*.ka", "KarmaData/*.kaw", "KarmaData/*.PSK", "System/*.int", "System/*.u", }, }, }, -- This is a suboption...it will only be available if the base -- Postal 2 game is also chosen. Setup.Option { value = true, required = false, disabled = false, bytes = 2509172157, description = _("Eternal Damnation mod"), -- Linux-specific files, executables, etc. Setup.File { destination = "postal2game", source = "base:///postal2et-lnx-data.tar", }, Setup.File { wildcards = "postal2et", }, Setup.File { destination = "postal2game/EternalDamnation", source = "media://dvd1/Eternal Damnation", wildcards = { "Textures/*.utx", "Animations/*.ukx", "Maps/*.fuk", "Movies/*.RoQ", "Music/*.ogg", "Sounds/*.uax", "StaticMeshes/*.usx", "KarmaData/*.ka", "KarmaData/*.kaw", "KarmaData/*.PSK", "System/*.int", "System/*.u", }, }, }, }, Setup.Option { value = true, required = false, disabled = false, bytes = 21594260, description = _("Extra crap: Postal Babes and Radio Interview"), Setup.File { destination = "extra_crap", source = "media://dvd1/PostalMedia", wildcards = { "Pictures/*", "Radio/*" } }, }, } -- end of config.lua ...