{"id":757,"date":"2010-11-08T19:12:48","date_gmt":"2010-11-09T01:12:48","guid":{"rendered":"http:\/\/www.philhassey.com\/blog\/?p=757"},"modified":"2010-11-08T19:12:48","modified_gmt":"2010-11-09T01:12:48","slug":"stealth-target-day-30-from-755-down-to-0-errors","status":"publish","type":"post","link":"https:\/\/www.philhassey.com\/blog\/2010\/11\/08\/stealth-target-day-30-from-755-down-to-0-errors\/","title":{"rendered":"Stealth Target: Day 30 &#8211; From 755 down to 0 errors"},"content":{"rendered":"<p>Wow, it&#8217;s been 30 days?  That&#8217;s a long time!  At least, say, compared to 5 minutes.  I&#8217;ve spent the morning answering emails and trying to round up artists for this game.  Again, check out my <a href=\"http:\/\/www.galcon.com\/stealth\/jobs.php\">jobs page<\/a> if you or anyone you know is interested.  I can&#8217;t wait to see how the game is going to look with &#8220;real&#8221; art \ud83d\ude42<\/p>\n<p>I&#8217;m going to try and get this game &#8220;running&#8221; on the iPad.  At least, compiling.  I&#8217;ve got only a couple hours, so we&#8217;ll see what we can do.<\/p>\n<p>&#8211; Created iPad project.  Moved in all files and game assets and gave it a build just to see a big number.  755 errors!  Swell!<\/p>\n<p>&#8211; I set up my standard -D defines.  Error count down to 348.<\/p>\n<p>&#8211; Added in proper loading of the iOS OpenGLES headers.  Down to 78.<\/p>\n<p>&#8211; Fixed use of SDL_ defines in my code to use my generic defines for various keys.  Down to 42.<\/p>\n<p>&#8211; #ifdef&#8217;d out all SDL stuff based on my USING_SDL define.  Down to 19.<\/p>\n<p>&#8211; Created a few iOS \/ ObjC specific functions in a .mm file.  Down to 17.<\/p>\n<p>&#8211; Changed all GLdouble to GLfloat.  Down to 5.<\/p>\n<p>&#8211; Included &#8220;glues&#8221; a GLU for ES implementation.  Down to 0!!<\/p>\n<p>Now onto the linker errors.  I&#8217;m starting with 6.  The are all the missing audio functions.  I&#8217;ll have to get my iOS audio code copied over from Galcon Fusion for this.<\/p>\n<p>Got rid of those, but now I&#8217;ve got 18 other linker errors.  Trying to work out what Frameworks I need, I guess.  Just needed &#8220;CoreGraphics&#8221; it appears.  And I&#8217;ve got a build!  It&#8217;s a dummy build, in that it just shows the default bouncing box that the project includes.  I&#8217;ve got to connect the iPad app to the actual game now &#8211; but having it compile without errors is always a good first step!<\/p>\n<p>To wrap the game I&#8217;m creating a new file &#8211; gamewrap.cpp.  The header will include some very simple functions so the ObjC code does not have to interact with any of the real game objects.  (This means I&#8217;m going to have a global game variable in gamewrap.cpp.  This is something which can add some level of pain for Android ports, but I&#8217;ll face that music later.)<\/p>\n<p>&#8230; and &#8230; I&#8217;ve got a visual!  It&#8217;s oriented wrong, and I don&#8217;t have it handling events yet, but hey &#8211; it worked!  Wow!<\/p>\n<p><a href=\"https:\/\/www.philhassey.com\/blog\/wp-content\/uploads\/2010\/11\/iPhone-SimulatorScreenSnapz015.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.philhassey.com\/blog\/wp-content\/uploads\/2010\/11\/iPhone-SimulatorScreenSnapz015.png\" alt=\"iPhone SimulatorScreenSnapz015\" title=\"iPhone SimulatorScreenSnapz015\" width=\"466\" height=\"616\" class=\"aligncenter size-full wp-image-758\" srcset=\"https:\/\/www.philhassey.com\/blog\/wp-content\/uploads\/2010\/11\/iPhone-SimulatorScreenSnapz015.png 466w, https:\/\/www.philhassey.com\/blog\/wp-content\/uploads\/2010\/11\/iPhone-SimulatorScreenSnapz015-226x300.png 226w\" sizes=\"auto, (max-width: 466px) 100vw, 466px\" \/><\/a><\/p>\n<p>Now if I can get it handling events and oriented proper, the game will be &#8220;working&#8221; at some level on the iPad \ud83d\ude42  .. Got those working, and the game is almost working &#8211; some of the 3D rendering is still a bit off though:<\/p>\n<p><a href=\"https:\/\/www.philhassey.com\/blog\/wp-content\/uploads\/2010\/11\/iPhone-SimulatorScreenSnapz016.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.philhassey.com\/blog\/wp-content\/uploads\/2010\/11\/iPhone-SimulatorScreenSnapz016.png\" alt=\"iPhone SimulatorScreenSnapz016\" title=\"iPhone SimulatorScreenSnapz016\" width=\"594\" height=\"488\" class=\"aligncenter size-full wp-image-759\" srcset=\"https:\/\/www.philhassey.com\/blog\/wp-content\/uploads\/2010\/11\/iPhone-SimulatorScreenSnapz016.png 594w, https:\/\/www.philhassey.com\/blog\/wp-content\/uploads\/2010\/11\/iPhone-SimulatorScreenSnapz016-300x246.png 300w\" sizes=\"auto, (max-width: 594px) 100vw, 594px\" \/><\/a><\/p>\n<p>Anyway, I guess that leaves me something to do tomorrow!<\/p>\n<p>-Phil<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wow, it&#8217;s been 30 days? That&#8217;s a long time! At least, say, compared to 5 minutes. I&#8217;ve spent the morning answering emails and trying to round up artists for this game. Again, check out my jobs page if you or anyone you know is interested. I can&#8217;t wait to see how the game is going [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[116],"tags":[],"class_list":["post-757","post","type-post","status-publish","format-standard","hentry","category-dynamite"],"_links":{"self":[{"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/posts\/757","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/comments?post=757"}],"version-history":[{"count":2,"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/posts\/757\/revisions"}],"predecessor-version":[{"id":761,"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/posts\/757\/revisions\/761"}],"wp:attachment":[{"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/media?parent=757"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/categories?post=757"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/tags?post=757"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}