--[[ | This file was obtained through the combined efforts | of Madbluntz & Plymouth Antiquarian Society. | | Credits: lifestorm, Gregory Wayne Rossel JR., | Maloy, DrPepper10 @ RIP, Atle! | | Visit for more: https://plymouth.thetwilightzone.ru/ --]] -- Copyright © 2022-2072, Nak, https://steamcommunity.com/id/Nak2/ -- All Rights Reserved. Not allowed to be reuploaded. local FILE = FindMetaTable( "File" ) -- File functions --- Returns true if the file is valid and can be written to. --- @return boolean function FILE:IsValid() return tostring( self ) ~= "[NULL File]" end --- Writes a vector to the file. --- @param vector Vector function FILE:WriteVector( vector ) self:WriteFloat( vector.x ) self:WriteFloat( vector.y ) self:WriteFloat( vector.z ) end --- Reads a vector from the file. --- @return Vector function FILE:ReadVector() return Vector( self:ReadFloat(), self:ReadFloat(), self:ReadFloat() ) end NikNaks.file = {} --- Same as file.Write, but will automatically create folders and return true if successful. --- @param fileName string --- @param contents string --- @return boolean function NikNaks.file.WriteEx( fileName, contents ) local a = string.Explode( "/", fileName ) assert( #a <= 10, "Unable to create an unreasonable array of folders!" ) if #a > 1 then file.CreateDir( string.GetPathFromFilename( fileName ) ) end local f = file.Open( fileName, "wb", "DATA" ) if not f then return false end f:Write( contents ) f:Close() return true end