{"id":30,"date":"2020-07-18T17:35:57","date_gmt":"2020-07-19T00:35:57","guid":{"rendered":"http:\/\/blog.nrezinorn.net\/?p=30"},"modified":"2020-07-18T17:37:30","modified_gmt":"2020-07-19T00:37:30","slug":"adventures-with-sdl2","status":"publish","type":"post","link":"https:\/\/blog.nrezinorn.net\/index.php\/2020\/07\/18\/adventures-with-sdl2\/","title":{"rendered":"Adventures with SDL2"},"content":{"rendered":"\n<p>For the last couple months, I&#8217;ve been porting a friends game solo from DirectX 8 (Hello 2004!) to SDL2.  It&#8217;s been interesting to say the least, and most of the larger issues have been from setting up the build environment on Windows.  It&#8217;s a platform game, and SDL is well suited for our purposes.<\/p>\n\n\n\n<p>The game is using SDL2 to make it easier to run on Mac\/Win\/Linux:  which is important to me, and my friend won&#8217;t mind the extra people able to play his original game.   Most things are porting very easily:  Graphics (png and bitmaps) , renderer (blitting), basic sounds (wav).  The elephant in the room is that DirectMusic was used for music.  I have found a few libraries that may work &#8211; my goal is to real-time convert DirectMusic -&gt; some format that SDL_Mixer can play.    It&#8217;s important to me to keep the &#8220;feel&#8221; of the original game intact, and music plays a large part.<\/p>\n\n\n\n<p>As of today, I am able to build and run the code base on OS X and Windows 10, and I intend to verify builds work on Linux. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>For the last couple months, I&#8217;ve been porting a friends game solo from DirectX 8 (Hello 2004!) to SDL2. It&#8217;s been interesting to say the least, and most of the larger issues have been from setting up the build environment on Windows. It&#8217;s a platform game, and SDL is well suited for our purposes. The [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,3],"tags":[8,7,5,6],"class_list":["post-30","post","type-post","status-publish","format-standard","hentry","category-gamedev","category-games","tag-c","tag-cpp","tag-gamedev","tag-sdl2"],"_links":{"self":[{"href":"https:\/\/blog.nrezinorn.net\/index.php\/wp-json\/wp\/v2\/posts\/30","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.nrezinorn.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.nrezinorn.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.nrezinorn.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.nrezinorn.net\/index.php\/wp-json\/wp\/v2\/comments?post=30"}],"version-history":[{"count":2,"href":"https:\/\/blog.nrezinorn.net\/index.php\/wp-json\/wp\/v2\/posts\/30\/revisions"}],"predecessor-version":[{"id":32,"href":"https:\/\/blog.nrezinorn.net\/index.php\/wp-json\/wp\/v2\/posts\/30\/revisions\/32"}],"wp:attachment":[{"href":"https:\/\/blog.nrezinorn.net\/index.php\/wp-json\/wp\/v2\/media?parent=30"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.nrezinorn.net\/index.php\/wp-json\/wp\/v2\/categories?post=30"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.nrezinorn.net\/index.php\/wp-json\/wp\/v2\/tags?post=30"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}