Subversion Repository Public Repository

Nextrek

1
{"uid":"5802AE656F2BF247DB1834B039A4788F1BC8","isLoaded":true,"lastModificationTime":null,"items":{"name":"GSFntResourcePipelineProcessor","type":"objj_script","parentId":"3A78BF4E122004444629EDF41AD5ABD03B9C","order":0,"content":"e3ZhciB0aGVfY2xhc3MgPSBvYmpqX2FsbG9jYXRlQ2xhc3NQYWlyKEdTUmVzb3VyY2VQaXBlbGluZVByb2Nlc3NvciwgIkdTRm50UmVzb3VyY2VQaXBlbGluZVByb2Nlc3NvciIpLAptZXRhX2NsYXNzID0gdGhlX2NsYXNzLmlzYTtvYmpqX3JlZ2lzdGVyQ2xhc3NQYWlyKHRoZV9jbGFzcyk7CmNsYXNzX2FkZE1ldGhvZHModGhlX2NsYXNzLCBbbmV3IG9iampfbWV0aG9kKHNlbF9nZXRVaWQoInJlc291cmNlVHlwZSIpLCBmdW5jdGlvbihzZWxmLCBfY21kKQp7CiAgICByZXR1cm4gR1NSZXNvdXJjZVR5cGVHcmFwaGljOwp9CiksIG5ldyBvYmpqX21ldGhvZChzZWxfZ2V0VWlkKCJmaWxlRm9ybWF0cyIpLCBmdW5jdGlvbihzZWxmLCBfY21kKQp7CiAgICByZXR1cm4gWyIuZm50Il07Cn0KKSwgbmV3IG9iampfbWV0aG9kKHNlbF9nZXRVaWQoImltcG9ydDppbnRvRm9sZGVyOiIpLCBmdW5jdGlvbihzZWxmLCBfY21kLCBhRmlsZSwgYUZvbGRlcikKewogICAgdmFyIGYgPSBhRmlsZTsKICAgIHZhciBmb2xkZXIgPSBhRm9sZGVyOwogICAgdmFyIGZvbGRlclBhdGggPSAoKF9fX3IxID0gc2VsZi5fcmVzb3VyY2VNYW5hZ2VyKSwgX19fcjEgPT0gbnVsbCA/IG51bGwgOiBfX19yMS5pc2Eub2Jqal9tc2dTZW5kMChfX19yMSwgImN1cnJlbnRSZXNvdXJjZXNQYXRoIikpICsgIi8iICsgZm9sZGVyLnBhdGg7CiAgICB2YXIgZm9sZGVycyA9ICgoX19fcjEgPSBzZWxmLl9yZXNvdXJjZU1hbmFnZXIpLCBfX19yMSA9PSBudWxsID8gbnVsbCA6IF9fX3IxLmlzYS5vYmpqX21zZ1NlbmQwKF9fX3IxLCAiZm9sZGVycyIpKTsKICAgIHZhciBkYXRhID0gR1NGaWxlUmVhZChmLnBhdGgpOwogICAgdmFyIGJpdG1hcEZvbnQgPSAoKF9fX3IxID0gR1NCaXRtYXBGb250LmlzYS5vYmpqX21zZ1NlbmQwKEdTQml0bWFwRm9udCwgImFsbG9jIikpLCBfX19yMSA9PSBudWxsID8gbnVsbCA6IF9fX3IxLmlzYS5vYmpqX21zZ1NlbmQxKF9fX3IxLCAiaW5pdEZyb21TdHJpbmc6IiwgZGF0YSkpOwogICAgdmFyIHBhZ2VzID0gKGJpdG1hcEZvbnQgPT0gbnVsbCA/IG51bGwgOiBiaXRtYXBGb250LmlzYS5vYmpqX21zZ1NlbmQwKGJpdG1hcEZvbnQsICJwYWdlcyIpKTsKICAgIGZvciAodmFyIGogPSAwOyBqIDwgcGFnZXMubGVuZ3RoOyBqKyspCiAgICB7CiAgICAgICAgdmFyIHBhZ2UgPSBwYWdlc1tqXTsKICAgICAgICB2YXIgcGFnZVBhdGggPSAoZi5wYXRoLnJlcGxhY2UoZi5uYW1lLCBwYWdlLmZpbGUpKS50cmltKCk7CiAgICAgICAgaWYgKEdTRmlsZUV4aXN0cyhwYWdlUGF0aCkpCiAgICAgICAgewogICAgICAgICAgICBHU0ZpbGVDb3B5KHBhZ2VQYXRoLCBmb2xkZXJQYXRoICsgIi8iICsgcGFnZS5maWxlLnRyaW0oKSk7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCJGb250IFBhZ2UgRmlsZSBkb2VzIG5vdCBleGlzdDogIiArIHBhZ2VQYXRoKTsKICAgICAgICB9CiAgICB9CiAgICBHU0ZpbGVXcml0ZShmb2xkZXJQYXRoICsgIi8iICsgZi5uYW1lLCBkYXRhKTsKICAgIHJldHVybiBHU1Jlc291cmNlLmlzYS5vYmpqX21zZ1NlbmQyKEdTUmVzb3VyY2UsICJyYXdSZXNvdXJjZVdpdGhOYW1lOnR5cGU6IiwgKChfX19yMSA9IGFGaWxlLm5hbWUpLCBfX19yMSA9PSBudWxsID8gbnVsbCA6IF9fX3IxLmlzYS5vYmpqX21zZ1NlbmQwKF9fX3IxLCAic3RyaW5nQnlEZWxldGluZ1BhdGhFeHRlbnNpb24iKSksIEdTUmVzb3VyY2VUeXBlR3JhcGhpYyk7CiAgICB2YXIgX19fcjE7Cn0KKSwgbmV3IG9iampfbWV0aG9kKHNlbF9nZXRVaWQoImNhbkltcG9ydDppbnRvRm9sZGVyOiIpLCBmdW5jdGlvbihzZWxmLCBfY21kLCBhRmlsZSwgYUZvbGRlcikKewogICAgcmV0dXJuIGFGaWxlLnBhdGguZW5kc1dpdGgoIi5mbnQiKTsKfQopLCBuZXcgb2Jqal9tZXRob2Qoc2VsX2dldFVpZCgiY2FuRGVsZXRlOiIpLCBmdW5jdGlvbihzZWxmLCBfY21kLCBhUmF3UmVzb3VyY2UpCnsKICAgIHZhciByZXNvdXJjZXNQYXRoID0gKChfX19yMSA9IHNlbGYuX3Jlc291cmNlTWFuYWdlciksIF9fX3IxID09IG51bGwgPyBudWxsIDogX19fcjEuaXNhLm9iampfbXNnU2VuZDAoX19fcjEsICJjdXJyZW50UmVzb3VyY2VzUGF0aCIpKTsKICAgIHJldHVybiBHU0ZpbGVFeGlzdHMocmVzb3VyY2VzUGF0aCArICIvIiArIGFSYXdSZXNvdXJjZS5wYXRoICsgIi5mbnQiKTsKICAgIHZhciBfX19yMTsKfQopLCBuZXcgb2Jqal9tZXRob2Qoc2VsX2dldFVpZCgiZGVsZXRlOiIpLCBmdW5jdGlvbihzZWxmLCBfY21kLCBhUmF3UmVzb3VyY2UpCnsKICAgIHZhciByZXNvdXJjZXNQYXRoID0gKChfX19yMSA9IHNlbGYuX3Jlc291cmNlTWFuYWdlciksIF9fX3IxID09IG51bGwgPyBudWxsIDogX19fcjEuaXNhLm9iampfbXNnU2VuZDAoX19fcjEsICJjdXJyZW50UmVzb3VyY2VzUGF0aCIpKTsKICAgIHZhciBmaWxlTmFtZSA9IGFSYXdSZXNvdXJjZS5uYW1lICsgIi5mbnQiOwogICAgdmFyIGZpbGVQYXRoID0gYVJhd1Jlc291cmNlLnBhdGggKyAiLmZudCI7CiAgICB2YXIgZmlsZVBhdGhzID0gW2FSYXdSZXNvdXJjZS5wYXRoICsgIi5mbnQiXTsKICAgIHZhciBkYXRhID0gR1NGaWxlUmVhZChyZXNvdXJjZXNQYXRoICsgIi8iICsgZmlsZVBhdGgpOwogICAgdmFyIGJpdG1hcEZvbnQgPSAoKF9fX3IxID0gR1NCaXRtYXBGb250LmlzYS5vYmpqX21zZ1NlbmQwKEdTQml0bWFwRm9udCwgImFsbG9jIikpLCBfX19yMSA9PSBudWxsID8gbnVsbCA6IF9fX3IxLmlzYS5vYmpqX21zZ1NlbmQxKF9fX3IxLCAiaW5pdEZyb21TdHJpbmc6IiwgZGF0YSkpOwogICAgdmFyIHBhZ2VzID0gKGJpdG1hcEZvbnQgPT0gbnVsbCA/IG51bGwgOiBiaXRtYXBGb250LmlzYS5vYmpqX21zZ1NlbmQwKGJpdG1hcEZvbnQsICJwYWdlcyIpKTsKICAgIGZvciAodmFyIGogPSAwOyBqIDwgcGFnZXMubGVuZ3RoOyBqKyspCiAgICB7CiAgICAgICAgdmFyIHBhZ2UgPSBwYWdlc1tqXTsKICAgICAgICB2YXIgcGFnZVBhdGggPSAoZmlsZVBhdGgucmVwbGFjZShmaWxlTmFtZSwgcGFnZS5maWxlKSkudHJpbSgpOwogICAgICAgIGZpbGVQYXRocy5wdXNoKHBhZ2VQYXRoKTsKICAgIH0KICAgIHJldHVybiBmaWxlUGF0aHM7CiAgICB2YXIgX19fcjE7Cn0KKV0pOwp9KChfX19yMSA9IEdTUmVzb3VyY2VNYW5hZ2VyLmlzYS5vYmpqX21zZ1NlbmQwKEdTUmVzb3VyY2VNYW5hZ2VyLCAiZGVmYXVsdE1hbmFnZXIiKSksIF9fX3IxID09IG51bGwgPyBudWxsIDogX19fcjEuaXNhLm9iampfbXNnU2VuZDEoX19fcjEsICJyZWdpc3RlclBpcGVsaW5lUHJvY2Vzc29yOiIsIEdTRm50UmVzb3VyY2VQaXBlbGluZVByb2Nlc3NvcikpOwo=","rawContent":"/*\n*   GSFntResourcePipelineProcessor\n*\n*   Copyright (C) DEGICA Co. Ltd.\n*\n*   This is an example for a resource pipeline processor to support bitmap fonts in .fnt text format like bmFont, bmGlyph, etc.\n*/\n@implementation GSFntResourcePipelineProcessor : GSResourcePipelineProcessor\n{\n}\n\n/**\n* The resource category this processor will import. It must be GSResourceTypeGraphic, GSResourceTypeAudio or\n* GSResourceTypeVideo.\n*/\n- (CPString)resourceType\n{\n\treturn GSResourceTypeGraphic;\n}\n\n/**\n* A list of file formats\n*/\n- (CPArray)fileFormats\n{\n\treturn [\".fnt\"];\n}\n\n/**\n* Imports the .fnt file and associated page files into the project.\n*\n* @param aFile - The file object the user selected in file-selection dialog: { name, path }.\n* @param aFolder - The target folder (like \"Graphics/Pictures\" for example) object: { path }.\n* @return A raw resource object containing the name and type of the imported resource or its main-file.\n*/\n- (id)import:(File)aFile intoFolder:(id)aFolder\n{\n\tvar f = aFile;\n\tvar folder = aFolder\n\tvar folderPath = [_resourceManager currentResourcesPath] + \"/\" + folder.path;\n\tvar folders = [_resourceManager folders];\n\tvar data = GSFileRead(f.path);\n\tvar bitmapFont = [[GSBitmapFont alloc] initFromString:data];\n\tvar pages = [bitmapFont pages];\n\n\tfor(var j = 0; j < pages.length; j++)\n\t{\n\t\tvar page = pages[j];\n\t\tvar pagePath = f.path.replace(f.name, page.file).trim();\n\n\t\tif(GSFileExists(pagePath))\n\t\t{\n\t\t\tGSFileCopy(pagePath, folderPath+\"/\"+page.file.trim())\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconsole.log(\"Font Page File does not exist: \" + pagePath)\n\t\t}\n\t}\n\n\tGSFileWrite(folderPath+\"/\"+f.name, data);\n\n\treturn [GSResource rawResourceWithName:[aFile.name stringByDeletingPathExtension] type:GSResourceTypeGraphic];\n}\n\n/**\n* Checks if this processor can handle the specified file for the specified folder. \n*\n* @param aFile - The file object the user selected in file-selection dialog: { name, path }.\n* @param aFolder - The target folder (like \"Graphics/Pictures\" for example) object: { path }.\n* @return <b>true</b> if the processor will handle the file. Otherwise <b>false</b>.\n*/\n- (BOOL)canImport:(File)aFile intoFolder:(id)aFolder\n{\n\treturn aFile.path.endsWith(\".fnt\");\n}\n\n/**\n* Checks if this processor handles the deletion of the specified resource.\n*\n* @param aRawResource - The resource to delete.\n* @return <b>true</b> if the processor will handle the deletion. Otherwise <b>false</b>.\n*/\n- (BOOL)canDelete:(id)aRawResource\n{\n\tvar resourcesPath = [_resourceManager currentResourcesPath];\n\n\treturn GSFileExists(resourcesPath + \"/\" + aRawResource.path + \".fnt\");\n}\n\n/**\n* Handles the deletion of the specified resource. This method is not responsible for the\n* actual deletion but only has to return an array relative file paths to delete.\n*\n* @param aRawResource - The resource to delete.\n* @return An array of file paths relative to \"<project-dir>/resources\" to delete.\n*/\n- (CPArray)delete:(id)aRawResource\n{\n\tvar resourcesPath = [_resourceManager currentResourcesPath];\n\tvar fileName = aRawResource.name + \".fnt\";\n\tvar filePath = aRawResource.path + \".fnt\";\n\tvar filePaths = [aRawResource.path + \".fnt\"];\n\tvar data = GSFileRead(resourcesPath + \"/\" + filePath);\n\tvar bitmapFont = [[GSBitmapFont alloc] initFromString:data];\n\tvar pages = [bitmapFont pages];\n\n\tfor(var j = 0; j < pages.length; j++)\n\t{\n\t\tvar page = pages[j];\n\t\tvar pagePath = filePath.replace(fileName, page.file).trim();\n\t\tfilePaths.push(pagePath);\n\t}\n\n\treturn filePaths;\n}\n\n@end\n\n// Registers the pipeline processor.\n[[GSResourceManager defaultManager] registerPipelineProcessor:GSFntResourcePipelineProcessor];"},"summary":["name","type"]}

Commits for Nextrek/s2s/data/5802AE656F2BF247DB1834B039A4788F1BC8.json

Diff revisions: vs.
Revision Author Commited Message
1084 MOliva picture MOliva Fri 11 May, 2018 12:41:55 +0000