{"id":358,"date":"2018-12-16T22:11:49","date_gmt":"2018-12-16T21:11:49","guid":{"rendered":"http:\/\/www.acidpool.at\/005_wordpress\/?p=358"},"modified":"2019-05-07T17:55:56","modified_gmt":"2019-05-07T15:55:56","slug":"sieht-gar-nocht-so-tot-aus","status":"publish","type":"post","link":"http:\/\/www.acidpool.at\/005_wordpress\/index.php\/2018\/12\/16\/sieht-gar-nocht-so-tot-aus\/","title":{"rendered":"Sieht gar nicht so tot aus."},"content":{"rendered":"\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1004\" height=\"288\" src=\"http:\/\/www.acidpool.at\/005_wordpress\/wp-content\/uploads\/2018\/12\/Nicht_tot.jpg\" alt=\"\" class=\"wp-image-359\" srcset=\"http:\/\/www.acidpool.at\/005_wordpress\/wp-content\/uploads\/2018\/12\/Nicht_tot.jpg 1004w, http:\/\/www.acidpool.at\/005_wordpress\/wp-content\/uploads\/2018\/12\/Nicht_tot-300x86.jpg 300w, http:\/\/www.acidpool.at\/005_wordpress\/wp-content\/uploads\/2018\/12\/Nicht_tot-768x220.jpg 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n<p>Hat jetzt ein paar Tage gedauert bis ich wieder motiviert war&#8230; bis ich genug motiviert war um um zu starten.<\/p>\n<p>W\u00e4hrend ich also meinen Hintern in die H\u00f6he hievte blieb ich wieder bei der 1536*864px-G\u2019schicht picken. Bei\u00a0 meinen Recherchen stellte sich heraus das <code>SPI_GETWORKAREA<\/code> verwendet wird und &#8222;Work Area&#8220; ein dehnbarer Begriff ist:<\/p>\n<p>&#8222;<em>Retrieves the size of the work area on the primary display monitor. The work area is the portion of the screen not obscured by the system taskbar or by application desktop toolbars. The pvParam parameter must point to a RECT structure that receives the coordinates of the work area, expressed in physical pixel size. Any DPI virtualization mode of the caller has no effect on this output. To get the work area of a monitor other than the primary display monitor, call the GetMonitorInfo function.<\/em>&#8222;<br \/>(<a href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/desktop\/api\/winuser\/nf-winuser-systemparametersinfoa\" target=\"_blank\" rel=\"noopener noreferrer\">Source<\/a>)<\/p>\n<p>Nachdem ich mich eine Runde gefreut und vergeblich eine Alternative gesucht habe, fiel mir ein das _SCREENIMAGE auch schon herumzickt und ich keine Ahnung habe wie ich das repariere\/umgehe. Au\u00dferdem war da ja noch die Windows+PrtScrn-Kombination.<\/p>\n<p>(<em>Trotzdem: Die geschwundene Breite konnte ich auf das Startmen\u00fc r\u00fcckf\u00fchren, die geschwundene H\u00f6he auf die Vorschaufenster der minimierten Tasks. Sollte ich Lust haben k\u00f6nnte ich mal versuchen die Aero-Oberfl\u00e4che zu deaktivieren&#8230; irgendwann mal. \ud83d\ude09<\/em>)<\/p>\n<p>Zur\u00fcck in QB64 habe ich mich mit der Verzeichnisstruktur besch\u00e4ftigt. Der <strong>SpriteXtractor<\/strong> (<em>Was f\u00fcr ein Angebername&#8230; *g*<\/em>) kontrolliert beim Start ob es einen Eigene Bilder\\Screenshot-Folder gibt (<em>Inkl. kernel32-bezogenem auslesen des Pfades&#8230;<\/em>), wo sich die gerade ausgef\u00fchrte <code>.exe<\/code> befindet, wie es mit den IN\/OUT-Foldern steht (<em>Falls keine existieren werden sie erstellt.<\/em>) und ob vSNES im gleichnamigen Unterordner geparkt ist.<\/p>\n<p>Dann habe ich eine Subroutine eingef\u00fcgt die eine Liste aller <code>.zst<\/code> im IN-Folder erstellt. (<em>Ziemlich umst\u00e4ndlich umgesetzt aber effektiv&#8230;<\/em>)<\/p>\n<p>Aus einer Laune heraus habe ich mich mit der <code>vSNES.ini<\/code> gespielt und dabei entdeckt das sich in dieser die Fensterpositionen, die letzten Pf\u00e4de und sonst noch viel Sinnvolles befindet. Ich kann mir als die angedachte Positions-Kontrolle dadurch ersparen.<\/p>\n<p>Der n\u00e4chste Schritt bestand also daraus diese <code>vSNES.ini<\/code> zu bearbeiten. Eines Tages lerne ich ganz sicher wie ich Textdateien editiere und nicht jedes mal neu erstellen muss.. egal. Kurzfassung, ja es funktioniert. (<em>Genauso umst\u00e4ndlich umgesezt wie die <code>.zst<\/code>-Liste&#8230; aber hey, solange es funktioniert.<\/em>)<\/p>\n<p>Als n\u00e4chstes stand dann schon <strong>vSNES<\/strong> an. Dank ich die <code>.zst<\/code> fortlaufend umbenannt habe (<code>0001_Shadowrun.zst<\/code>, <code>0002_Shadowrun.zst<\/code>, <code>0003_Shadowrun.zst<\/code>, &#8230;) ist es nicht notwendig das Rom zu laden da dies genauso hei\u00dfen m\u00fcsste wie die <code>.zst<\/code> und ich also f\u00fcr jedes <code>.zst<\/code> eine Kopie des Roms haben m\u00fcsste. Bis jetzt habe ich es afair aber noch nie ben\u00f6tigt. Sollte ich herausfinden das es doch notwendig ist, kann ich mich immer noch mit dem Thema befassen. (<em>Und wenn es nur eine Routine ist die Kopien erstellt und umbenennt&#8230;<\/em>)<\/p>\n<p>Das Laden des <code>.zst<\/code> funktioniert dank der Tastatursteuerung des Programms einwandfrei. (<em>Vor allem das man der Listenummer des aktuellen Files entsprechend &#8222;Cursor Runter&#8220; dr\u00fccken muss ist eine unheimliche Erleichterung.<\/em>). Das Scene-Fenster \u00f6ffnen und die relevanten Reiter aktivieren ebenfalls.<\/p>\n<p>Jetzt k\u00e4me das Speichern der einzelnen Layer an die Reihe. Dazu brauche ich aber noch ein sinnvolles Ablagesystem und muss kontrollieren ob die ausgeblendeten Reiter ausgeblendet bleiben. Sollten sie das nicht tun, muss ich einen Plan entwickeln wie ich herausfinde ob ein Reiter ausgeblendet ist.<\/p>\n<p>Das die f\u00fcr <code>SetCursorPos<\/code> notwendigen x\/y-Koordinaten nicht mit denen die ich im Photoshop aus dem Screenshot auslese \u00fcbereinstimmen wundert\/wurmt mich btw. auch noch.<\/p>","protected":false},"excerpt":{"rendered":"<p>Hat jetzt ein paar Tage gedauert bis ich wieder motiviert war&#8230; bis ich genug motiviert war um um zu starten. W\u00e4hrend ich also meinen Hintern in die H\u00f6he hievte blieb ich wieder bei der 1536*864px-G\u2019schicht picken. Bei\u00a0 meinen Recherchen stellte sich heraus das SPI_GETWORKAREA verwendet wird und &#8222;Work Area&#8220; ein dehnbarer Begriff ist: &#8222;Retrieves the &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.acidpool.at\/005_wordpress\/index.php\/2018\/12\/16\/sieht-gar-nocht-so-tot-aus\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eSieht gar nicht so tot aus.\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":359,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-358","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-srsnesdrmm"],"_links":{"self":[{"href":"http:\/\/www.acidpool.at\/005_wordpress\/index.php\/wp-json\/wp\/v2\/posts\/358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.acidpool.at\/005_wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.acidpool.at\/005_wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.acidpool.at\/005_wordpress\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.acidpool.at\/005_wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=358"}],"version-history":[{"count":5,"href":"http:\/\/www.acidpool.at\/005_wordpress\/index.php\/wp-json\/wp\/v2\/posts\/358\/revisions"}],"predecessor-version":[{"id":492,"href":"http:\/\/www.acidpool.at\/005_wordpress\/index.php\/wp-json\/wp\/v2\/posts\/358\/revisions\/492"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.acidpool.at\/005_wordpress\/index.php\/wp-json\/wp\/v2\/media\/359"}],"wp:attachment":[{"href":"http:\/\/www.acidpool.at\/005_wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=358"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.acidpool.at\/005_wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=358"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.acidpool.at\/005_wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}