{"id":2253,"date":"2012-01-18T19:56:08","date_gmt":"2012-01-18T17:56:08","guid":{"rendered":"http:\/\/www.final-memory.org\/?p=2253"},"modified":"2012-01-18T19:57:21","modified_gmt":"2012-01-18T17:57:21","slug":"paradizelib-meine-abstraktionsschicht-fur-die-abstraktionsschicht","status":"publish","type":"post","link":"https:\/\/www.final-memory.org\/?p=2253","title":{"rendered":"ParadizeLib &#8211; meine Abstraktionsschicht f\u00fcr die Abstraktionsschicht"},"content":{"rendered":"<p>Toller Titel, ich weiss <img decoding=\"async\" class=\"lmbbox_smileys_img\" src=\"http:\/\/www.final-memory.org\/wp-content\/plugins\/lmbbox-smileys\/smileys\/tb\/wink1.gif\" alt=\";)\" \/><\/p>\n<p>Im Jahr 2009 habe ich mir ja eine Opensource Handheld, einen GP2X Wiz zugelegt. Nat\u00fcrlich wollte ich daf\u00fcr auch programmieren. Mit Quadromania war auch irgendwann mein erstes Spiel in C fertig und auch schrittweise erweitert.<\/p>\n<p>In Zuge dessen fiel mir dann auf, da\u00df SDL nicht gleich SDL ist. Auch wenn man SDL benutzt, muss man leider gerade was Joystickabfrage angeht immer noch Softwareweichen vorsehen, je nach Target. Beim GP2X Wiz zum Beispiel ist der SDL Joystick zwar vorhanden, aber er bietet keinen Achsenevents, da er digital arbeitet. Also muss man im Code ummappen.<\/p>\n<p>Irgendwann dachte ich dann \u00fcber eine Abstraktionsschicht nach und die ParadizeLib war das Ergebnis. Hier wird grundlegendes Einstellen des Bildschirms \u00fcber SDL, Einsammeln von Tastendr\u00fccken, Joystick und Mauseingabe auf plattformunabh\u00e4ngige Aufrufe gelegt. Das Benutzerprogramm benutzt nur die ParadizeLib, die dann sich danach richtet, ob f\u00fcr einen GP2X Wiz oder eben ein normales Linux compiliert wird.<\/p>\n<p>Die ParadizeLib abstrahiert zum Beispiel einen Joystick mit 2 Achsen und bis zu 4 Tasten. Am PC kann das dann ein USB Gamepad sein, am GP2X Wiz ist es aber das Steuerkreuz und die zugeh\u00f6rigen Tasten.<\/p>\n<p>Lange Rede, kurzer Sinn, das Projekt gammelte seit 2 Jahren auf meiner Platte rum, und ich dachte mir, bevor ich es vergesse, mache ich es lieber OpenSource und arbeite vielleicht daran ab und an weiter.<\/p>\n<p>Ich habe hier eine kurze Seite eingerichtet, vgl. im Menu, aber das eigentlich Repository liegt bei Google Code und ist per Mercurial abrufbar. Die Projektseite lautet <a href=\"http:\/\/code.google.com\/p\/paradizelib\/\" target=\"_blank\">http:\/\/code.google.com\/p\/paradizelib\/<\/a><\/p>\n<p>Wer Spass daran hat, kann sich die Library ja mal ansehen und vielleicht weiter daran entwickeln. Ich stehe gerne f\u00fcr Diskussion zur Verf\u00fcgung. Irgendwann schreibe ich auch hoffentlich mal ein Spiel, welches diese Library auch verwendet.<\/p>\n<div id=\"facebook_like\"><iframe src=\"http:\/\/www.facebook.com\/plugins\/like.php?href=https%3A%2F%2Fwww.final-memory.org%2F%3Fp%3D2253&amp;layout=standard&amp;show_faces=true&amp;width=500&amp;action=like&amp;font=segoe+ui&amp;colorscheme=light&amp;height=80\" scrolling=\"no\" frameborder=\"0\" style=\"border:none; overflow:hidden; width:500px; height:80px;\" allowTransparency=\"true\"><\/iframe><\/div>","protected":false},"excerpt":{"rendered":"<p>Toller Titel, ich weiss Im Jahr 2009 habe ich mir ja eine Opensource Handheld, einen GP2X Wiz zugelegt. Nat\u00fcrlich wollte ich daf\u00fcr auch programmieren. Mit Quadromania war auch irgendwann mein erstes Spiel in C fertig und auch schrittweise erweitert. In Zuge dessen fiel mir dann auf, da\u00df SDL nicht gleich SDL ist. Auch wenn man &hellip; <a href=\"https:\/\/www.final-memory.org\/?p=2253\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;ParadizeLib &#8211; meine Abstraktionsschicht f\u00fcr die Abstraktionsschicht&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[76,51,24,32,33],"tags":[],"class_list":["post-2253","post","type-post","status-publish","format-standard","hentry","category-ansi-c","category-gp2x-wiz","category-linux","category-sdl","category-spieleprogrammierung"],"_links":{"self":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/posts\/2253","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2253"}],"version-history":[{"count":5,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/posts\/2253\/revisions"}],"predecessor-version":[{"id":2257,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/posts\/2253\/revisions\/2257"}],"wp:attachment":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2253"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2253"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}