{"id":121,"date":"2014-01-25T21:20:07","date_gmt":"2014-01-25T17:20:07","guid":{"rendered":"http:\/\/zxstudio.org\/blog\/?p=121"},"modified":"2015-04-12T21:28:02","modified_gmt":"2015-04-12T17:28:02","slug":"further-resources-investigation","status":"publish","type":"post","link":"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/","title":{"rendered":"Further resources investigation"},"content":{"rendered":"<p>I still haven\u2019t got enough information, but it\u2019s already much more than I expected from a first quick look. Aircraft configs are pretty much exposed by debug scripts, which, for some reason, were left in the game\u2019s data. Did the developers wanted to make life easier for those who would dig through game\u2019s resources, or they just didn\u2019t give a fuck? Who knows. Horizon uses DDS as a texture format, so I will not have problems with textures at least.<a href=\"http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/horizon_texture.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-124\" src=\"http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/horizon_texture.png\" alt=\"horizon_texture\" width=\"637\" height=\"209\" srcset=\"http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/horizon_texture.png 637w, http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/horizon_texture-300x98.png 300w\" sizes=\"(max-width: 637px) 100vw, 637px\" \/><\/a><\/p>\n<p>So at this phase I only need to know how to load meshes and map files.<em> I asked a friend of mine <\/em>to use <a title=\"PIX\" href=\"http:\/\/blogs.msdn.com\/b\/manders\/archive\/2006\/12\/15\/a-painless-introduction-to-pix-for-windows.aspx\" target=\"_blank\">PIX\u00a0<\/a>\u00a0to collect some information about render<br \/>\n<a href=\"http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/plane_aabb.png\"><img loading=\"lazy\" class=\"alignright wp-image-123\" src=\"http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/plane_aabb.png\" alt=\"plane_aabb\" width=\"250\" height=\"233\" srcset=\"http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/plane_aabb.png 317w, http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/plane_aabb-300x279.png 300w\" sizes=\"(max-width: 250px) 100vw, 250px\" \/><\/a>that\u00a0could be useful in resource format research, but <em>he\u00a0<\/em>returned\u00a0depressed and exhausted,\u00a0constantly repeating<em>\u00abso many batches\u2026 so many state changes\u2026 each camo layer bound as a separate texture\u2026\u00bb,\u00a0<\/em>so it won\u2019t be a lot of help. Anyway, fhm file consists of 48byte header, uint32 chunks_count, chunk infos and chunks itself. NDXR-labeled chunk contains vertices and indices. I\u2019ll post some already known data structure after I\u2019ll obtain more info. I also found out that AH render uses triangle strips. The format is kinda odd\u00a0and it\u2019s difficult to understand their logic sometimes, but I managed to load and view various data.\u00a0Some files render correctly and some looks like a complete mess, which provides me with another bit of useful information and gradually increases my understanding.<a href=\"http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/probably_plane.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-122\" src=\"http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/probably_plane.png\" alt=\"probably_plane\" width=\"792\" height=\"201\" srcset=\"http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/probably_plane.png 792w, http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/probably_plane-300x76.png 300w\" sizes=\"(max-width: 792px) 100vw, 792px\" \/><\/a><\/p>\n<div class=\"postContent\">\n<p><em>Well, that\u2019s definitely not a bird nor a superman.<\/em><\/p>\n<\/div>\n<div class=\"postFooter\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>I still haven\u2019t got enough information, but it\u2019s already much more than I expected from a first quick look. Aircraft configs are pretty much exposed by debug scripts, which, for some reason, were left in the game\u2019s data. Did the developers wanted to make life easier for those who would dig through game\u2019s resources, or <a class=\"read-more\" href=\"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/\">[&hellip;]<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[6],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v18.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Further resources investigation - ZX Studio Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Further resources investigation - ZX Studio Blog\" \/>\n<meta property=\"og:description\" content=\"I still haven\u2019t got enough information, but it\u2019s already much more than I expected from a first quick look. Aircraft configs are pretty much exposed by debug scripts, which, for some reason, were left in the game\u2019s data. Did the developers wanted to make life easier for those who would dig through game\u2019s resources, or [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/\" \/>\n<meta property=\"og:site_name\" content=\"ZX Studio Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-01-25T17:20:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-04-12T17:28:02+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/horizon_texture.png\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Razgriz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"http:\/\/zxstudio.org\/blog\/#\/schema\/person\/0a2cf38b4b9456c20b27bf9837c90b78\",\"name\":\"MaxEd\",\"logo\":{\"@id\":\"http:\/\/zxstudio.org\/blog\/#personlogo\"},\"description\":\"I'm a video games programmer. I have worked in game industry since 2008 on MMOs and mobile games, but now I work for Owlcat Games on great old-school RPGs. In my free time, I like to play rock'n'roll on my guitar and travel.\"},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/zxstudio.org\/blog\/#website\",\"url\":\"http:\/\/zxstudio.org\/blog\/\",\"name\":\"ZX Studio Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"http:\/\/zxstudio.org\/blog\/#\/schema\/person\/0a2cf38b4b9456c20b27bf9837c90b78\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/zxstudio.org\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/horizon_texture.png\",\"contentUrl\":\"http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/horizon_texture.png\",\"width\":637,\"height\":209},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#webpage\",\"url\":\"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/\",\"name\":\"Further resources investigation - ZX Studio Blog\",\"isPartOf\":{\"@id\":\"http:\/\/zxstudio.org\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#primaryimage\"},\"datePublished\":\"2014-01-25T17:20:07+00:00\",\"dateModified\":\"2015-04-12T17:28:02+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043c\u0435\u043d\u044e\",\"item\":\"http:\/\/zxstudio.org\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Further resources investigation\"}]},{\"@type\":\"Article\",\"@id\":\"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#webpage\"},\"author\":{\"@id\":\"http:\/\/zxstudio.org\/blog\/#\/schema\/person\/f221fca82d9bc01ba45831b70ffc2b61\"},\"headline\":\"Further resources investigation\",\"datePublished\":\"2014-01-25T17:20:07+00:00\",\"dateModified\":\"2015-04-12T17:28:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#webpage\"},\"wordCount\":262,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/zxstudio.org\/blog\/#\/schema\/person\/0a2cf38b4b9456c20b27bf9837c90b78\"},\"image\":{\"@id\":\"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/horizon_texture.png\",\"keywords\":[\"Open Horizon\"],\"articleSection\":[\"General\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#respond\"]}]},{\"@type\":\"Person\",\"@id\":\"http:\/\/zxstudio.org\/blog\/#\/schema\/person\/f221fca82d9bc01ba45831b70ffc2b61\",\"name\":\"Razgriz\",\"url\":\"http:\/\/zxstudio.org\/blog\/author\/razgriz\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Further resources investigation - ZX Studio Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/","og_locale":"en_US","og_type":"article","og_title":"Further resources investigation - ZX Studio Blog","og_description":"I still haven\u2019t got enough information, but it\u2019s already much more than I expected from a first quick look. Aircraft configs are pretty much exposed by debug scripts, which, for some reason, were left in the game\u2019s data. Did the developers wanted to make life easier for those who would dig through game\u2019s resources, or [&hellip;]","og_url":"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/","og_site_name":"ZX Studio Blog","article_published_time":"2014-01-25T17:20:07+00:00","article_modified_time":"2015-04-12T17:28:02+00:00","og_image":[{"url":"http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/horizon_texture.png"}],"twitter_misc":{"Written by":"Razgriz","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Person","Organization"],"@id":"http:\/\/zxstudio.org\/blog\/#\/schema\/person\/0a2cf38b4b9456c20b27bf9837c90b78","name":"MaxEd","logo":{"@id":"http:\/\/zxstudio.org\/blog\/#personlogo"},"description":"I'm a video games programmer. I have worked in game industry since 2008 on MMOs and mobile games, but now I work for Owlcat Games on great old-school RPGs. In my free time, I like to play rock'n'roll on my guitar and travel."},{"@type":"WebSite","@id":"http:\/\/zxstudio.org\/blog\/#website","url":"http:\/\/zxstudio.org\/blog\/","name":"ZX Studio Blog","description":"","publisher":{"@id":"http:\/\/zxstudio.org\/blog\/#\/schema\/person\/0a2cf38b4b9456c20b27bf9837c90b78"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/zxstudio.org\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","@id":"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#primaryimage","inLanguage":"en-US","url":"http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/horizon_texture.png","contentUrl":"http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/horizon_texture.png","width":637,"height":209},{"@type":"WebPage","@id":"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#webpage","url":"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/","name":"Further resources investigation - ZX Studio Blog","isPartOf":{"@id":"http:\/\/zxstudio.org\/blog\/#website"},"primaryImageOfPage":{"@id":"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#primaryimage"},"datePublished":"2014-01-25T17:20:07+00:00","dateModified":"2015-04-12T17:28:02+00:00","breadcrumb":{"@id":"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043c\u0435\u043d\u044e","item":"http:\/\/zxstudio.org\/blog\/"},{"@type":"ListItem","position":2,"name":"Further resources investigation"}]},{"@type":"Article","@id":"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#article","isPartOf":{"@id":"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#webpage"},"author":{"@id":"http:\/\/zxstudio.org\/blog\/#\/schema\/person\/f221fca82d9bc01ba45831b70ffc2b61"},"headline":"Further resources investigation","datePublished":"2014-01-25T17:20:07+00:00","dateModified":"2015-04-12T17:28:02+00:00","mainEntityOfPage":{"@id":"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#webpage"},"wordCount":262,"commentCount":0,"publisher":{"@id":"http:\/\/zxstudio.org\/blog\/#\/schema\/person\/0a2cf38b4b9456c20b27bf9837c90b78"},"image":{"@id":"http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#primaryimage"},"thumbnailUrl":"http:\/\/zxstudio.org\/blog\/wp-content\/uploads\/2015\/04\/horizon_texture.png","keywords":["Open Horizon"],"articleSection":["General"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/zxstudio.org\/blog\/2014\/01\/25\/further-resources-investigation\/#respond"]}]},{"@type":"Person","@id":"http:\/\/zxstudio.org\/blog\/#\/schema\/person\/f221fca82d9bc01ba45831b70ffc2b61","name":"Razgriz","url":"http:\/\/zxstudio.org\/blog\/author\/razgriz\/"}]}},"_links":{"self":[{"href":"http:\/\/zxstudio.org\/blog\/wp-json\/wp\/v2\/posts\/121"}],"collection":[{"href":"http:\/\/zxstudio.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/zxstudio.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/zxstudio.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/zxstudio.org\/blog\/wp-json\/wp\/v2\/comments?post=121"}],"version-history":[{"count":4,"href":"http:\/\/zxstudio.org\/blog\/wp-json\/wp\/v2\/posts\/121\/revisions"}],"predecessor-version":[{"id":127,"href":"http:\/\/zxstudio.org\/blog\/wp-json\/wp\/v2\/posts\/121\/revisions\/127"}],"wp:attachment":[{"href":"http:\/\/zxstudio.org\/blog\/wp-json\/wp\/v2\/media?parent=121"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/zxstudio.org\/blog\/wp-json\/wp\/v2\/categories?post=121"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/zxstudio.org\/blog\/wp-json\/wp\/v2\/tags?post=121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}