<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
	<channel>
		<title>BlitzBasic Portal Worklogs - Monkey Amiga Targets</title>
		<link>https://www.blitzforum.de/worklogs/482/</link>
		<description>Worklog von SEDM</description>
		<language>de</language>
		<managingEditor>mail@blitzforum.de</managingEditor>
		<webMaster>mail@blitzforum.de</webMaster>
		<pubDate>Thu, 27 Jun 2013 20:45:38 +0200</pubDate>
		<lastBuildDate>Thu, 27 Jun 2013 20:45:38 +0200</lastBuildDate>

		<item>
			<title>64Bit Systeme machen immer nur Ärger</title>
			<link>https://www.blitzforum.de/worklogs/482/#3697</link>
			<guid>https://www.blitzforum.de/worklogs/482/#3697</guid>
			<author>Farbfinsternis</author>
			<description>Version 0.13 ist wie versprochen nur schlappe 800kb klein und setzt Version 0.12 voraus. Einfach das Archiv entpacken und &amp;uuml;ber 0.12 kopieren.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;Was ist neu?&lt;br /&gt;&lt;li&gt; Window Flags (WFLG_) habe ich von amiga.intuition nach amiga.window verschoben&lt;br /&gt;&lt;li&gt; Intuition.OpenWindowTags() habe ich entfernt, Fenster werden jetzt grunds&amp;auml;tzlich &amp;uuml;ber die Klasse &amp;quot;Window&amp;quot; verwaltet&lt;br /&gt;&lt;li&gt; Window.Title:Void(title:String) &amp;auml;ndert den Fenstertitel. Das funktioniert nun auch endlich auf AROS 64&lt;br /&gt;&lt;li&gt; amiga.window importiert nun amiga.rastport, in Vorbereitung auf 0.14 in dem wieder Zeichenmethoden eingef&amp;uuml;hrt werden. &lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://amigamonkey.colorflow.de/downloads/amigamonkey.0.13.zip&quot; target=&quot;_blank&quot;&gt;http://amigamonkey.colorflow.d...y.0.13.zip&lt;/a&gt;&lt;br /&gt;</description>
			<pubDate>Thu, 27 Jun 2013 20:45:38 +0200</pubDate>
		</item>

		<item>
			<title>AROS complete</title>
			<link>https://www.blitzforum.de/worklogs/482/#3695</link>
			<guid>https://www.blitzforum.de/worklogs/482/#3695</guid>
			<author>Farbfinsternis</author>
			<description>Version 0.12 erweitert die Liste der kompilierbaren Ziele um:&lt;br /&gt;&lt;br /&gt;- AROS i386&lt;br /&gt;- AROS 64Bit&lt;br /&gt;- AROS PPC&lt;br /&gt;&lt;br /&gt;ausf&amp;uuml;hrbare Beispiele f&amp;uuml;r AmigaOS3.x und die drei AROS Ziele finden sich unter \bananas\basic\basic.build\amiga\&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://amigamonkey.colorflow.de/downloads/amigamonkey.0.12.zip&quot; target=&quot;_blank&quot;&gt;http://amigamonkey.colorflow.d...y.0.12.zip&lt;/a&gt; (ca. 23MB)&lt;br /&gt;&lt;br /&gt;Ab Version 0.13 werden die Updates kumulativ sein damit man nicht jedesmal das riesen Paket herunter laden muss.&lt;br /&gt;</description>
			<pubDate>Wed, 26 Jun 2013 20:14:33 +0200</pubDate>
		</item>

		<item>
			<title>Wieder bei 0.1</title>
			<link>https://www.blitzforum.de/worklogs/482/#3694</link>
			<guid>https://www.blitzforum.de/worklogs/482/#3694</guid>
			<author>Farbfinsternis</author>
			<description>Prinzipiell muss ich die Versionierung von vorn beginnen da mit den massiven &amp;Auml;nderungen die Mark Sibly an Monkey vorgenommen hat, auch ich wieder von vorn beginnen muss. Also findet ihr nun unter &lt;a href=&quot;http://amigamonkey.colorflow.de/downloads/AmigaMonkey.zip&quot; target=&quot;_blank&quot;&gt;http://amigamonkey.colorflow.d...Monkey.zip&lt;/a&gt; praktisch die Version 0.1&lt;br /&gt;&lt;br /&gt;Neu ist die Trennung der Module in Amiga spezifische Definitionen. W&amp;auml;hrend &amp;quot;Exec&amp;quot; noch kein eigenes Modul hat, aber per Default immer definiert ist, gibt es nun das Modul &amp;quot;amiga.intuition&amp;quot; und das Modul &amp;quot;amiga.window&amp;quot;.&lt;br /&gt;&lt;br /&gt;Man kann nun entweder das Modul &amp;quot;amiga&amp;quot; importieren und somit alles was es so gibt f&amp;uuml;r dieses Target, oder aber man importiert ganz gezielt einzelne Module ... je nach dem was man mit seinem Programm machen will. Das hat zum Einen den Zweck dass man damit das Executable verkleinert (kleiner als 143kb geht leider nicht), zum Anderen dass spezifische Module leichter hinzugef&amp;uuml;gt werden k&amp;ouml;nnen. Au&amp;szlig;erdem bietet es die M&amp;ouml;glichkeit eine &amp;Auml;hnlichkeit zur Amiga C/C++ Programmierung zu erreichen. Ich wei&amp;szlig; ... Monkey sieht kaum aus wie C/C++, aber auch kaum noch wie Basic obwohl es ein Basic-Dialekt ist.&lt;br /&gt;&lt;br /&gt;Ein lauff&amp;auml;higes AmigaMonkey Programm:&lt;br /&gt;&lt;b&gt;Code: &lt;/b&gt;&lt;span style=&quot;font-size:0.8em; display:inline;&quot; id=&quot;showcodebox0&quot;&gt; &lt;a href=&quot;javascript&amp;#058;show_code('0')&quot;&gt;[AUSKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;font-size:0.8em; display:none;&quot; id=&quot;hidecodebox0&quot;&gt; &lt;a href=&quot;javascript&amp;#058;hide_code('0')&quot;&gt;[EINKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;div id=&quot;codebox0&quot; class=&quot;codebox&quot; style=&quot;max-height: 200px;&quot; onload=&quot;check_code('0');&quot;&gt;&lt;br /&gt;Strict&lt;br /&gt;&lt;br /&gt;Import amiga.intuition&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;' der Einsprungspunkt eines jeden Monkey Programms&lt;br /&gt;Function Main&amp;#58;Int&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;New AmigaMonkey&amp;#40;&amp;#41;' wir instantiieren unser Programm&lt;br /&gt;&amp;nbsp; &amp;nbsp;Return 0&lt;br /&gt;End&lt;br /&gt;&lt;br /&gt;Class AmigaMonkey&lt;br /&gt;&amp;nbsp; &amp;nbsp;Method New&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;' zuerst ein paar Angaben wie unser Fenster aussehen soll...&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Local windowFlags&amp;#58;Int&amp;nbsp; &amp;nbsp;= WFLG_DRAGBAR | WFLG_CLOSEGADGET | WFLG_ACTIVATE&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;' ...dann sagen wir auf welche Ereignisse das Fenster reagieren soll...&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Local idcmpFlags&amp;#58;Int&amp;nbsp; &amp;nbsp;= IDCMP_CLOSEWINDOW | IDCMP_MOUSEMOVE |&amp;nbsp; IDCMP_INTUITICKS&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;' ...und jetzt &amp;ouml;ffnen wir das Fenster...&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Self.myWindow = New Window&amp;#40;&amp;quot;Hallo Amiga&amp;quot;, 20, 20, 320, 256, windowFlags, idcmpFlags&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;' ...und h&amp;uuml;pfen in die Hauptschleife&amp;#58;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Self.main&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;End&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Method main&amp;#58;Void&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Local exitFlag&amp;#58;Bool = False&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;While Not exitFlag&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;' wenn Intuition meldet dass der Closebutton des Fensters&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;' gedr&amp;uuml;ckt wurde....&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;If Self.myWindow.WaitEvent&amp;#40;&amp;#41; = IDCMP_CLOSEWINDOW exitFlag = True&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Wend&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;' ...schliessen wir das Fenster und beenden das Programm&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Self.myWindow.Close&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;End&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Private&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field myWindow&amp;#58;Window&lt;br /&gt;End&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Dies tut recht wenig ... es &amp;ouml;ffnet ein Fenster an der Position 20, 20 mit den Dimensionen 320x256, setzt den Titel des Fensters auf &amp;quot;Hallo Amiga&amp;quot; und wartet dann in der Methode &amp;quot;main&amp;quot; darauf dass das Fenster geschlossen wird. Der Garbage Collector k&amp;uuml;mmert sich dann um die Freigabe des allokierten Speichers (was in &amp;auml;lteren Versionen des Targets noch nicht ging).&lt;br /&gt;&lt;br /&gt;Die Window-Flags (WFLG_) und IDCMP Flags sind direkt nutzbar wie man oben in den Definitionen sehen kann. Derzeit nutzt die Klasse &amp;quot;Window&amp;quot; nur die Methode &amp;quot;OpenWindowTags&amp;quot;, die anderen M&amp;ouml;glichkeiten (&amp;quot;OpenWindowTagList&amp;quot; etc..) k&amp;ouml;nnen aber problemlos nach gereicht werden.&lt;br /&gt;&lt;br /&gt;Das oben verlinkte Archiv beinhaltet eine fast komplette Monkey-Installation in der Version V71b. Ich habe aus meiner Pro-Version alles entfernt was nicht Public Domain ist. Somit kann man das Archiv direkt nutzen und muss nichts mehr hinzu kopieren. Das Programm &amp;quot;monkey&amp;quot; ist eine recht gute IDE und das Target &amp;quot;Amiga&amp;quot; ist per Default eingestellt.&lt;br /&gt;&lt;br /&gt;Zwei Textdateien erkl&amp;auml;ren weitere wichtige Dinge zum Umgang mit diesem Archiv: &lt;br /&gt;&amp;quot;amiga.changelog.txt&amp;quot; ist halt das Changelog ... &lt;br /&gt;&amp;quot;amiga.readme.txt&amp;quot; erz&amp;auml;hlt etwas mehr &amp;uuml;ber die Installation und Verwendung ....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Als n&amp;auml;chstes muss ich die String Klasse anfassen .... leider hat Mark Sibly diese (und auch andere Konstrukte) nicht in einen Namespace gesperrt so dass ich sie wieder einmal umbenennen und bearbeiten muss. Wenn das passiert ist sollten auch die Ziele MorphOS, AROS32 und AROSPPC wieder funktionieren. &lt;br /&gt;</description>
			<pubDate>Sat, 22 Jun 2013 22:08:04 +0200</pubDate>
		</item>

		<item>
			<title>AmigaMonkey 2013</title>
			<link>https://www.blitzforum.de/worklogs/482/#3693</link>
			<guid>https://www.blitzforum.de/worklogs/482/#3693</guid>
			<author>Farbfinsternis</author>
			<description>Mehr als ein Jahr hat es gedauert bis sich der Tornado &amp;uuml;ber Monkey gelegt und Mark Sibly das System so gut wie komplett neu definiert hat. Das neue Target-System ist nun stabil und wird wohl vorerst keine weiteren &amp;Auml;nderungen erfahren. Somit habe ich damit begonnen das Amiga-Target auf dieses v&amp;ouml;llig neue System anzupassen.&lt;br /&gt;&lt;br /&gt;Dieser Source:&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;http://amigamonkey.colorflow.de/pics/amigamonkey02.jpg&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;erzeugt schonmal folgende Ausgabe:&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;http://amigamonkey.colorflow.de/pics/amigamonkey01.jpg&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;Warum das jetzt so spannend ist? In den letzten Versionen des Targets musste ich tief in essentielle Teile von Monkey eingreifen um solch eine Ausgabe erzeugen zu k&amp;ouml;nnen. Jetzt hat sich tats&amp;auml;chlich nur das Target ge&amp;auml;ndert, AmiDevCpp &amp;uuml;bersetzt den verbesserten Standard Module-Code nun ohne zu murren oder mit Amiga relevanten Definitionen zu kollidieren.&lt;br /&gt;Das bedeutet dass ich AmigaMonkey C++ Code endlich in einen Namespace sperren kann und nicht mehr mit Mark Siblys Bezeichnern in Konflikt gerate. Das hat den Vorteil dass zum Einen der GC (GarbageCollector) endlich funktioniert und au&amp;szlig;erdem zum ersten Mal &amp;uuml;berhaupt das Modul &amp;quot;Reflection&amp;quot; verwendet werden kann.&lt;br /&gt;&lt;br /&gt;In den letzten Versionen des Targets wurde alles in ein Modul gepackt um die Einfachheit von Monkey zu transportieren. Der Vorteil: Man kann so loslegen wie die Monkey-Folks es weltweit tun. Der Nachteil: Je umfangreicher das Modul wird, umso gr&amp;ouml;&amp;szlig;er wird das Executable. Die L&amp;ouml;sung: Amiga Libraries (dos, intuition, graphics etc.) werden in einzelnen Modulen gewrapped welche wiederum im optionalen Modul &amp;quot;amiga&amp;quot; in Monkey kompatible Funktionen gefasst werden. Wer also alles haben will importiert &amp;quot;amiga&amp;quot;, wer differenzierter arbeiten m&amp;ouml;chte darf die Libraries einzeln importieren.&lt;br /&gt;&lt;br /&gt;Mit der neuen Monkey Version (derzeit V71b) muss ich auch mit der Portierung von Trans (transcc) von vorn beginnen und es muss derzeit immer noch unter Windows via AmiDevCpp f&amp;uuml;r Amiga und Derivate kompiliert werden. Die Liste sieht folgendes vor:&lt;br /&gt;&lt;br /&gt;- AmigaOS3&lt;br /&gt;- AmigaOS4&lt;br /&gt;- AROS32&lt;br /&gt;- AROS64&lt;br /&gt;- AROSPPC&lt;br /&gt;- MOS&lt;br /&gt;&lt;br /&gt;...funktionieren tun derzeit die Ziele AOS3, AROS32 und AROSPPC&lt;br /&gt;&lt;br /&gt;eine Config f&amp;uuml;r alle Ziele sieht derzeit so aus:&lt;br /&gt;Zitat:&lt;div class=&quot;quotebox&quot;&gt;&lt;br /&gt;AMIDEVCPP_PATH = &amp;quot;C:\AmiDevCPP&amp;quot;&lt;br /&gt;BUILD_AOS3 = &amp;quot;true&amp;quot;&lt;br /&gt;BUILD_AOS4 = &amp;quot;true&amp;quot;&lt;br /&gt;BUILD_AROS32 = &amp;quot;true&amp;quot;&lt;br /&gt;BUILD_AROS64 = &amp;quot;true&amp;quot;&lt;br /&gt;BUILD_AROSPPC = &amp;quot;true&amp;quot;&lt;br /&gt;BUILD_MOS = &amp;quot;true&amp;quot;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Sobald mehr geht als die substanziellen Spracheigenschaften (Class, Function, Method etc.) werde ich eine neue Version hochladen.</description>
			<pubDate>Wed, 12 Jun 2013 21:19:14 +0200</pubDate>
		</item>

		<item>
			<title>Kleine Änderungen...</title>
			<link>https://www.blitzforum.de/worklogs/482/#3485</link>
			<guid>https://www.blitzforum.de/worklogs/482/#3485</guid>
			<author>Farbfinsternis</author>
			<description>Monkey 0.26 kann jetzt von &lt;a href=&quot;http://www.sedm.de/monkey/amonkey/AMonkey026.zip&quot; target=&quot;_blank&quot;&gt;http://www.sedm.de/monkey/amonkey/AMonkey026.zip&lt;/a&gt; heruntergeladen werden. Hier das Changelog:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt; ge&amp;auml;ndert : Die Mojo-Reimplementation heisst jetzt &amp;quot;Amiga&amp;quot;&lt;br /&gt;&lt;li&gt; ge&amp;auml;ndert : Das Target selbst heisst jetzt auch &amp;quot;Amiga&amp;quot; und nicht mehr &amp;quot;AOS3&amp;quot;&lt;br /&gt;&lt;li&gt; ge&amp;auml;ndert : Das Target besitzt nun ein eigenes Config File&lt;br /&gt;&lt;li&gt; ge&amp;auml;ndert : Man kann jetzt f&amp;uuml;r jede einzelne Plattform angeben ob sie kompiliert werden soll oder nicht. Auch die Aros Ziele sind nun einzeln definierbar&lt;br /&gt;&lt;li&gt; ge&amp;auml;ndert : Der Pfad zu den AmiDevCPP Binaries wird jetzt in der Config angegeben und muss nicht mehr in die Windows PATH Variable eingetragen werden&lt;br /&gt;&lt;li&gt; ge&amp;auml;ndert : Die Monkey Demo wird nicht mehr ben&amp;ouml;tigt. Das oben verlinkte Archiv beinhaltet alles was man ben&amp;ouml;tigt um Monkey Programme f&amp;uuml;r den Amiga unter Windows zu kompilieren. Einzig AmiDevCPP muss noch heruntergeladen werden.&lt;br /&gt;&lt;li&gt; beachte : Zwar k&amp;ouml;nnen alle Ziele in der Config auf True gesetzt werden, aber nur AmigaOS3.x, Aros386 und ArosPPC werden derzeit fehlerfrei &amp;uuml;bersetzt.&lt;br /&gt;&lt;li&gt; beachte: Bis &amp;quot;Trans&amp;quot; komplett auf Amiga/MorphOS/Aros portiert ist, muss die Datei config.winnt.txt angepasst werden, die Datei &amp;quot;config.amiga.txt&amp;quot; ist erst relevant wenn sie auf einem Amiga gelesen wird.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Beachte: Es gibt noch keine unabh&amp;auml;ngige Amiga/MOS/Aros Version von Monkey. Ich sch&amp;auml;tze dass diese mit Version 0.3 verf&amp;uuml;gbar sein wird. Auch Amiga Monkey 0.26 ben&amp;ouml;tigt noch Windows um f&amp;uuml;r AmigaOS3.x, AROSi386 und AROS PPC zu kompilieren.</description>
			<pubDate>Fri, 24 Feb 2012 21:32:01 +0100</pubDate>
		</item>

		<item>
			<title>Amiga goes Trans</title>
			<link>https://www.blitzforum.de/worklogs/482/#3478</link>
			<guid>https://www.blitzforum.de/worklogs/482/#3478</guid>
			<author>Farbfinsternis</author>
			<description>&amp;quot;Trans&amp;quot; kompiliert sich nun selbst erfolgreich f&amp;uuml;r AmigaOS3.x ... leider funktioniert das Kompilat noch nicht, aber das ist nur eine Frage der Zeit. Wenn &amp;quot;trans&amp;quot; f&amp;uuml;r AmigaOS3.x verf&amp;uuml;gbar ist habe ich das R&amp;uuml;stzeug um es auch f&amp;uuml;r MorphOS, AROS und AmigaOS4.x verf&amp;uuml;gbar zu machen. Zwar wird man auf Amiga Derivaten nicht die Ziele bedienen k&amp;ouml;nnen die Monkey normalerweise zur Verf&amp;uuml;gung stellt, aber eine aktuelle, moderne und neue Programmiersprache f&amp;uuml;r den Amiga kann ja nicht verkehrt sein.&lt;br /&gt;&lt;br /&gt;Eine kleinere Anpassung befasst sich mit dem Umstand dass das Target und das &amp;quot;Mojo like&amp;quot; Modul bislang &amp;quot;aos3&amp;quot; hiessen, was nat&amp;uuml;rlich obskur ist wenn man f&amp;uuml;r AOS4, MOS oder AROS kompilieren will. Eigentlich ist es nur Makulatur aber viele User st&amp;ouml;rten sich daran. So habe ich nun das Target so umgebaut dass es auf den Namen &amp;quot;Amiga&amp;quot; h&amp;ouml;rt und auch das &amp;quot;Mojo-Derivat&amp;quot; hat nun den Namen &amp;quot;Amiga&amp;quot;.</description>
			<pubDate>Sun, 12 Feb 2012 22:07:34 +0100</pubDate>
		</item>

		<item>
			<title>Images</title>
			<link>https://www.blitzforum.de/worklogs/482/#3407</link>
			<guid>https://www.blitzforum.de/worklogs/482/#3407</guid>
			<author>Farbfinsternis</author>
			<description>0.25 macht Monkey bunt!&lt;br /&gt;&lt;a href=&quot;http://www.sedm.dxe/monkey/AmigaTarget.zip&quot; target=&quot;_blank&quot;&gt;Download AmigaMonkey 0.25&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Changes:&lt;br /&gt;Zitat:&lt;div class=&quot;quotebox&quot;&gt;&lt;br /&gt;12/13/2011 v0.25&lt;br /&gt;added	: class Image&lt;br /&gt;added	: Image.Width&lt;br /&gt;added	: Image.Height&lt;br /&gt;added	: Image.Depth&lt;br /&gt;added	: Image.Load:Void(filename:String, remapColors:Bool = False)&lt;br /&gt;added	: Image.Free:Void()&lt;br /&gt;added	: LoadImage:Image(filename:String)&lt;br /&gt;added	: LoadImage:Image(filename:String, remapColors:Byte)&lt;br /&gt;added	: Window.DrawImage:Void(img:Image, x:Int, y:Int)&lt;br /&gt;added	: DrawImage:Void(win:Window, img:Image, x:Int, y:Int)&lt;br /&gt;added	: DrawImage:Void(img:Image, x:Int, y:Int) [Mojo Style]&lt;br /&gt;added	: FreeImage:Void(img:Image)&lt;br /&gt;added	: Window.SetScreen:Void(pubScreen:String = &amp;quot;workbench&amp;quot;)&lt;br /&gt;added	: SetScreen:Void(win:Window, pubScreen:String = &amp;quot;workbench&amp;quot;)&lt;br /&gt;added	: SetScreen:Void(pubScreen:String = &amp;quot;workbench&amp;quot;) [Mojo Style]&lt;br /&gt;added	: SetUpdateRate:Void(hertz:Int) [only with Mojo Style]&lt;br /&gt;added	: Window.getWidth:Int()&lt;br /&gt;added	: Window.getHeight:Int()&lt;br /&gt;added	: WindowWidth:Int(win:Window)&lt;br /&gt;added	: WindowHeight:Int(win:Window)&lt;br /&gt;added	: DeviceWidth:Int() [Mojo Style]&lt;br /&gt;added	: DeviceHeight:Int() [Mojo Style]&lt;br /&gt;changed	: MilliSecs() now returns a 64 bit value&lt;br /&gt;changed : CreateWindow() now has the optional parameter &amp;quot;borderless&amp;quot;&lt;br /&gt;fixed	: ClsColor() now affects the BPen&lt;br /&gt;fixed	: in Mojo-Style now the workbench will be locked&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;http://www.sedm.de/monkey/drawImage.jpg&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;Der Source zum Bild:&lt;br /&gt;&lt;b&gt;Code: &lt;/b&gt;&lt;span style=&quot;font-size:0.8em; display:inline;&quot; id=&quot;showcodebox1&quot;&gt; &lt;a href=&quot;javascript&amp;#058;show_code('1')&quot;&gt;[AUSKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;font-size:0.8em; display:none;&quot; id=&quot;hidecodebox1&quot;&gt; &lt;a href=&quot;javascript&amp;#058;hide_code('1')&quot;&gt;[EINKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;div id=&quot;codebox1&quot; class=&quot;codebox&quot; style=&quot;max-height: 200px;&quot; onload=&quot;check_code('1');&quot;&gt;&lt;br /&gt;Import amigaos3&lt;br /&gt;&lt;br /&gt;Class myApp extends App&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field mx&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field my&amp;#58;int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field time&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field FPS&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field tmpFPS&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field tmpTime&amp;#58;int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field lastFPS&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field fnt&amp;#58;Font&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field lastX&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field lastY&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field img&amp;#58;Image&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field bg&amp;#58;Image&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Method OnCreate&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;fnt = LoadFont&amp;#40;&amp;quot;helvetica.font&amp;quot;, 16&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;img = LoadImage&amp;#40;&amp;quot;amiga.data/monkey.iff&amp;quot;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;bg = LoadImage&amp;#40;&amp;quot;amiga.data/background.jpg&amp;quot;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;SetFont&amp;#40;fnt&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;AppTitle&amp;#40;&amp;quot;draw with Monkey&amp;quot;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;SetColor&amp;#40;255, 255, 0&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;ClsColor&amp;#40;200, 90, 0&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Cls&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;lastX = 0&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;lastY = 0&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;SetUpdateRate&amp;#40;60&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;End&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Method OnUpdate&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;mx = MouseX&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;my = MouseY&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;tmpFPS = tmpFPS + 1&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;tmpTime = MilliSecs&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if tmpTime - time &amp;gt; 1000&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;FPS&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;= tmpFPS&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;tmpFPS&amp;nbsp; &amp;nbsp;= 0&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;time &amp;nbsp; &amp;nbsp;= tmpTime&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;EndIf&lt;br /&gt;&amp;nbsp; &amp;nbsp;End&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Method OnRender&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;DrawImage&amp;#40;bg, 0, 0&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if MouseDown&amp;#40;&amp;#41; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;DrawCircle&amp;#40;mx-1, my-1, 3&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if lastX &amp;gt; 0 And lastY &amp;gt; 0 DrawLine&amp;#40;lastX, lastY, mx, my&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;lastX = mx&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;lastY = my&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;EndIf&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if tmpTime &amp;lt;&amp;gt; time DrawText&amp;#40;&amp;quot;FPS&amp;#58; &amp;quot; + FPS, 10, 10&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;DrawImage&amp;#40;img, mx, my&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;End&lt;br /&gt;End&lt;br /&gt;&lt;br /&gt;Function Main&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;New myApp&lt;br /&gt;End&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Diesen Source kann man noch &lt;b&gt;nicht&lt;/b&gt; f&amp;uuml;r andere Targets &amp;uuml;bersetzen da Monkey Fonts nicht kennt, sondern dort ein Image l&amp;auml;dt und die Chars als Frame behandelt. Das Amiga Target l&amp;auml;dt einen AmigaFont als &amp;quot;DiskFont&amp;quot;. Desweiteren imitiert das Amiga Target noch nicht das Verhalten von Mojo was das Filesystem angeht. Mojo erwartet Dateien in &amp;quot;[Name des Projekts].data&amp;quot;. Innerhalb dieses Raums kann man dann beliebige Verzeichnisse verwenden. Das Amiga Target ber&amp;uuml;cksichtigt dies noch nicht.&lt;br /&gt;&lt;br /&gt;Prinzipiell k&amp;ouml;nnt man jetzt schon Spiele mit Monkey f&amp;uuml;r Amiga programmieren, leider gibt es noch keine Masken oder gar Alpha f&amp;uuml;r Images und Tastatureingaben werden noch nicht ber&amp;uuml;cksichtigt. Wer aber nur mit der Maus und mit rechteckigen Images klar kommt darf loslegen &lt;img src=&quot;/forum/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Ein weiterer Stolperstein ist dass Monkey sich verh&amp;auml;lt wie sich Systeme neben dem Amiga halt verhalten: Sie malen die Spielegrafik in jedem Frame neu. Mein Rechner malt Crysis2 in einer Sekunde 120 Mal neu. Ein Amiga schafft das leider nicht (au&amp;szlig;er er ist ein aktueller PPC Rechner oder eine WinUAE Emulation). Es wird noch zahlreiche &amp;Auml;nderungen geben um zu gew&amp;auml;hrleisten dass man mit Monkey auch Spiele schreiben kann die auf einem 14MHz A1200 noch hinreichend laufen ... aber zun&amp;auml;chst soll es erstmal komplett sein und funktionieren.&lt;br /&gt;&lt;br /&gt;Auf zur 0.26 ... es gibt viel zu tun!</description>
			<pubDate>Tue, 13 Dec 2011 21:12:40 +0100</pubDate>
		</item>

		<item>
			<title>Lines and Circles</title>
			<link>https://www.blitzforum.de/worklogs/482/#3404</link>
			<guid>https://www.blitzforum.de/worklogs/482/#3404</guid>
			<author>Farbfinsternis</author>
			<description>Version 0.24 ist am Start.&lt;br /&gt;&lt;br /&gt;Zitat:&lt;div class=&quot;quotebox&quot;&gt;&lt;br /&gt;12/11/2011 v0.24&lt;br /&gt;added	: Window.DrawLine:Void(x1:Int, y1:Int, x2:Int, y2:Int)&lt;br /&gt;added	: DrawLine:Void(win:Window, x1:Int, y1:Int, x2:Int, y2:Int)&lt;br /&gt;added	: DrawLine:Void(x1:Int, y1:Int, x2:Int, y2:Int) [Mojo Style]&lt;br /&gt;added	: Window.DrawEllipse:Void(x:Int, y:Int, width:Int, height:Int)&lt;br /&gt;added	: DrawEllipse:Void(win:Window, x:Int, y:Int, width:Int, height:Int)&lt;br /&gt;added	: DrawEllipse:Void(x:Int, y:Int, width:Int, height:Int) [Mojo Style]&lt;br /&gt;added	: Window.DrawOval:Void(x:Int, y:Int, width:Int, height:Int)&lt;br /&gt;added	: DrawOval:Void(win:Window, x:Int, y:Int, width:Int, height:Int)&lt;br /&gt;added	: DrawOval:Void(x:Int, y:Int, width:Int, height:Int) [Mojo Style]&lt;br /&gt;added	: Window.DrawCircle:Void(x:Int, y:Int, radius:Int)&lt;br /&gt;added	: DrawCircle:Void(win:Window, x:Int, y:Int, radius:Int)&lt;br /&gt;added	: DrawCircle:Void(x:Int, y:Int, radius:Int) [Mojo Style]&lt;br /&gt;changed	: at start Monkey stets BPen to pen number 0&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Ich wei&amp;szlig; dass &amp;quot;DrawEllipse&amp;quot; und &amp;quot;DrawOval&amp;quot; dasselbe tun, aber wenn Monkey da redundant ist muss ich es auch sein &lt;img src=&quot;/forum/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;http://www.sedm.de/monkey/linesAndCircles.jpg&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Der Code zum Bild:&lt;br /&gt;&lt;b&gt;Code: &lt;/b&gt;&lt;span style=&quot;font-size:0.8em; display:inline;&quot; id=&quot;showcodebox2&quot;&gt; &lt;a href=&quot;javascript&amp;#058;show_code('2')&quot;&gt;[AUSKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;font-size:0.8em; display:none;&quot; id=&quot;hidecodebox2&quot;&gt; &lt;a href=&quot;javascript&amp;#058;hide_code('2')&quot;&gt;[EINKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;div id=&quot;codebox2&quot; class=&quot;codebox&quot; style=&quot;max-height: 200px;&quot; onload=&quot;check_code('2');&quot;&gt;&lt;br /&gt;Import amigaos3&lt;br /&gt;&lt;br /&gt;Class myApp extends App&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field mx&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field my&amp;#58;int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field time&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field FPS&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field tmpFPS&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field tmpTime&amp;#58;int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field lastFPS&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field fnt&amp;#58;Font&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field lastX&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field lastY&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Method OnCreate&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;fnt = LoadFont&amp;#40;&amp;quot;helvetica.font&amp;quot;, 16&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;SetFont&amp;#40;fnt&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;AppTitle&amp;#40;&amp;quot;draw with Monkey&amp;quot;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;SetColor&amp;#40;255, 255, 0&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;ClsColor&amp;#40;200, 90, 0&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Cls&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;lastX = 0&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;lastY = 0&lt;br /&gt;&amp;nbsp; &amp;nbsp;End&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Method OnUpdate&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;mx = MouseX&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;my = MouseY&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;tmpFPS = tmpFPS + 1&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;tmpTime = MilliSecs&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if tmpTime - time &amp;gt; 1000&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;FPS&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;= tmpFPS&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;tmpFPS&amp;nbsp; &amp;nbsp;= 0&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;time &amp;nbsp; &amp;nbsp;= tmpTime&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;EndIf&lt;br /&gt;&amp;nbsp; &amp;nbsp;End&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Method OnRender&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if MouseDown&amp;#40;&amp;#41; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;DrawCircle&amp;#40;mx-1, my-1, 3&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if lastX &amp;gt; 0 And lastY &amp;gt; 0 DrawLine&amp;#40;lastX, lastY, mx, my&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;lastX = mx&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;lastY = my&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;EndIf&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if tmpTime &amp;lt;&amp;gt; time DrawText&amp;#40;&amp;quot;FPS&amp;#58; &amp;quot; + FPS + &amp;quot; Time&amp;#58; &amp;quot; + time, 10, 10&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;End&lt;br /&gt;End&lt;br /&gt;&lt;br /&gt;Function Main&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;New myApp&lt;br /&gt;End&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.sedm.de/monkey/AmigaTarget.zip&quot; target=&quot;_blank&quot;&gt;Download Amiga Monkey Target 0.24 (ca. 1.1MB)&lt;/a&gt;</description>
			<pubDate>Sun, 11 Dec 2011 22:09:57 +0100</pubDate>
		</item>

		<item>
			<title>Zeit und Text</title>
			<link>https://www.blitzforum.de/worklogs/482/#3403</link>
			<guid>https://www.blitzforum.de/worklogs/482/#3403</guid>
			<author>Farbfinsternis</author>
			<description>Dank der Hilfe und der extremen Geduld einiger a1k Member kann ich heute Version 0.23 pr&amp;auml;sentieren. Neu sind die Funktionen MilliSecs(), LoadFont(), SetFont() und DrawText().&lt;br /&gt;Zitat:&lt;div class=&quot;quotebox&quot;&gt;&lt;br /&gt;12/10/2011 v0.23&lt;br /&gt;added	: MilliSecs:Int()&lt;br /&gt;added	: Window.LoadFont:Font(fontName:String, size:Int)&lt;br /&gt;added	: Window.LoadFont:Font(fontName:String, size:Int, style:Int)&lt;br /&gt;added	: Window.LoadFont:Font(fontName:String, size:Int, style:Int, flags:Int)&lt;br /&gt;added	: Window.SetFont(font:Font)&lt;br /&gt;added	: Window.DrawText(text:String, x:Int, y:Int)&lt;br /&gt;added	: LoadFont:Font(win:Window, fontName:String, size:Int)&lt;br /&gt;added	: LoadFont:Font(win:Window, fontName:String, size:Int, style:Int)&lt;br /&gt;added	: LoadFont:Font(win:Window, fontName:String, size:Int, style:Int, flags:Int)&lt;br /&gt;added	: LoadFont:Font(fontName:String, size:Int) [Mojo Style]&lt;br /&gt;added	: LoadFont:Font(fontName:String, size:Int, style:Int) [Mojo Style]&lt;br /&gt;added	: LoadFont:Font(fontName:String, size:Int, style:Int, flags:Int) [Mojo Style]&lt;br /&gt;added	: SetFont(win:Window, font:Font)&lt;br /&gt;added	: SetFont(font:Font) [Mojo Style]&lt;br /&gt;added	: DrawText(win:Window, text:String, x:Int, y:Int)&lt;br /&gt;added	: DrawText(text:String, x:Int, y:Int) [Mojo Style]&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;LoadFont()&lt;/b&gt;&lt;br /&gt;LoadFont() l&amp;auml;dt derzeit nur Amiga Fonts per OpenDiskFont(), die &amp;uuml;berladenen Methoden f&amp;uuml;r AFont.load() sind noch nicht in Monkey implementiert. Derzeit kann man nur den Namen und die Gr&amp;ouml;&amp;szlig;e des gew&amp;uuml;nschten Fonts angeben.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SetFont()&lt;/b&gt;&lt;br /&gt;LoadFont() und SetFont() m&amp;uuml;ssen derzeit explizit aufgerufen werden wenn man mittels DrawText() etwas ins Fenster schreiben m&amp;ouml;chte. In Zukunft wird Monkey aber einen Default-Font laden (gibt es auf AOS4, AROS und MOS noch ROMFONT?)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;DrawText()&lt;/b&gt;&lt;br /&gt;Diese Funktion verwendet zwar schon den APen, der BPen ist aber zuf&amp;auml;llig. Wird noch ge&amp;auml;ndert.&lt;br /&gt;&lt;br /&gt;Hier ein Bild mit dem aktuellen Entwicklungsstand:&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;http://www.sedm.de/monkey/drawText.jpg&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;...und hier der Monkey Source im &amp;quot;mojo style&amp;quot; der dieses Bild erzeugt hat:&lt;br /&gt;&lt;b&gt;Code: &lt;/b&gt;&lt;span style=&quot;font-size:0.8em; display:inline;&quot; id=&quot;showcodebox3&quot;&gt; &lt;a href=&quot;javascript&amp;#058;show_code('3')&quot;&gt;[AUSKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;font-size:0.8em; display:none;&quot; id=&quot;hidecodebox3&quot;&gt; &lt;a href=&quot;javascript&amp;#058;hide_code('3')&quot;&gt;[EINKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;div id=&quot;codebox3&quot; class=&quot;codebox&quot; style=&quot;max-height: 200px;&quot; onload=&quot;check_code('3');&quot;&gt;&lt;br /&gt;Import amigaos3&lt;br /&gt;&lt;br /&gt;Class myApp extends App&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field mx&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field my&amp;#58;int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field time&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field FPS&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field tmpFPS&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field tmpTime&amp;#58;int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field lastFPS&amp;#58;Int&lt;br /&gt;&amp;nbsp; &amp;nbsp;Field fnt&amp;#58;Font&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Method OnCreate&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;fnt = LoadFont&amp;#40;&amp;quot;helvetica.font&amp;quot;, 16&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;SetFont&amp;#40;fnt&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;AppTitle&amp;#40;&amp;quot;draw with Monkey&amp;quot;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;SetColor&amp;#40;255, 255, 0&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;ClsColor&amp;#40;90, 120, 200&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Cls&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;End&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Method OnUpdate&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;mx = MouseX&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;my = MouseY&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;tmpFPS = tmpFPS + 1&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;tmpTime = MilliSecs&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if tmpTime - time &amp;gt; 1000&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;FPS&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;= tmpFPS&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;tmpFPS&amp;nbsp; &amp;nbsp;= 0&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;time &amp;nbsp; &amp;nbsp;= tmpTime&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;EndIf&lt;br /&gt;&amp;nbsp; &amp;nbsp;End&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Method OnRender&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if MouseDown&amp;#40;&amp;#41; DrawRect&amp;#40;mx-1, my-1, 3, 3&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if tmpTime &amp;lt;&amp;gt; time DrawText&amp;#40;&amp;quot;FPS&amp;#58; &amp;quot; + FPS + &amp;quot; Time&amp;#58; &amp;quot; + time, 10, 10&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;End&lt;br /&gt;End&lt;br /&gt;&lt;br /&gt;Function Main&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;New myApp&lt;br /&gt;End&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.sedm.de/monkey/AmigaTarget.zip&quot; target=&quot;_blank&quot;&gt;Download AmigaTarget for Monkey v0.23 (~1.1MB)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Vielen Dank nochmal an alle Helfer, ohne Euch w&amp;auml;re ich noch nicht so weit!</description>
			<pubDate>Sat, 10 Dec 2011 20:20:32 +0100</pubDate>
		</item>

		<item>
			<title>Update #4</title>
			<link>https://www.blitzforum.de/worklogs/482/#3400</link>
			<guid>https://www.blitzforum.de/worklogs/482/#3400</guid>
			<author>Farbfinsternis</author>
			<description>Version 0.22 ist nun online.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;http://www.sedm.de/monkey/AmigaTarget_DrawRect.jpg&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Neu ist zun&amp;auml;chst die &amp;Auml;nderung an der Datei &amp;quot;install.txt&amp;quot; welche jetzt &amp;quot;readme.txt&amp;quot; hei&amp;szlig;t. In dieser Datei gibt es nun Links zu den ben&amp;ouml;tigten Dateien, Hints zu Sachen welche wo nicht funktionieren, und was man derzeit ben&amp;ouml;tigt um Monkey Code zu schreiben und zu kompilieren:&lt;br /&gt;Zitat:&lt;div class=&quot;quotebox&quot;&gt;&lt;br /&gt;AmigaTarget is a new compiler target for the new programming language &amp;quot;Monkey&amp;quot;. You can get the &lt;br /&gt;public domain version of Monkey from &lt;a href=&quot;http://www.monkeycoder.co.nz/file/get.php?file=/Products/demos/MonkeyDemo45c.zip&quot; target=&quot;_blank&quot;&gt;http://www.monkeycoder.co.nz/f...emo45c.zip&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;with this target you have the ability to compile a Monkey code for Amiga m68k (OS3.x required) &lt;br /&gt;and for the targets AROSi386 and AROS-PPC.&lt;br /&gt;&lt;br /&gt;this version is Alpha! at this time there is no Monkey codes wich you can compile for Amiga targets. Read the file &lt;br /&gt;changes.txt to know wich functions are currently implemented.&lt;br /&gt;&amp;quot;Monkey AmigaTarget&amp;quot; builds still run on a naked Amiga1200 with OS3.1&lt;br /&gt;&lt;br /&gt;Requirements:&lt;br /&gt;- WindowsXP or newer&lt;br /&gt;- AmiDevCpp from &lt;a href=&quot;http://amidevcpp.amiga-world.de/AmiDevCpp/info/AmiDevCpp_graceful_Bulldozer_v098_Setup.exe.php&quot; target=&quot;_blank&quot;&gt;http://amidevcpp.amiga-world.d...up.exe.php&lt;/a&gt;&lt;br /&gt;- Monkey as demo from &lt;a href=&quot;http://www.monkeycoder.co.nz/file/get.php?file=/Products/demos/MonkeyDemo45c.zip&quot; target=&quot;_blank&quot;&gt;http://www.monkeycoder.co.nz/f...emo45c.zip&lt;/a&gt; or the full version&lt;br /&gt;&lt;br /&gt;Installation:&lt;br /&gt;1. get Monkey Demo from &lt;a href=&quot;http://www.monkeycoder.co.nz/file/get.php?file=/Products/demos/MonkeyDemo45c.zip&quot; target=&quot;_blank&quot;&gt;http://www.monkeycoder.co.nz/f...emo45c.zip&lt;/a&gt;&lt;br /&gt;2. extract Monkey Demo&lt;br /&gt;3. extract the AmigaTarget.zip Archive over the Monkey dire&amp;amp;#263;tory&lt;br /&gt;4. install AmiDevCpp from &lt;a href=&quot;http://amidevcpp.amiga-world.de/AmiDevCpp/info/AmiDevCpp_graceful_Bulldozer_v098_Setup.exe.php&quot; target=&quot;_blank&quot;&gt;http://amidevcpp.amiga-world.d...up.exe.php&lt;/a&gt;&lt;br /&gt;5. add the AmiDevCpp path ([AMIDEVCPP]\usr\local\amiga\bin) to your windows path variable&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Ich wei&amp;szlig; dass mein Englisch Scheisse ist, wer es korrigieren m&amp;ouml;chte ist herzlich eingeladen &lt;img src=&quot;/forum/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Die wichtigen &amp;Auml;nderungen finden sich in der changes.txt:&lt;br /&gt;Zitat:&lt;div class=&quot;quotebox&quot;&gt;&lt;br /&gt;12/06/2011 v0.22&lt;br /&gt;added	: ready to start winnt_config.txt to /bin/&lt;br /&gt;added	: Window.AppTitle:Void(title:String)&lt;br /&gt;added	: AppTitle:Void(win:Window, title:String)&lt;br /&gt;added	: AppTitle(title:String) [Mojo Style]&lt;br /&gt;added	: Window.DrawRect:Void(x:Int, y:Int, width:Int, height:Int)&lt;br /&gt;added	: DrawRect(win:Window, x:Int, y:Int, width:Int, height:Int)&lt;br /&gt;added	: DrawRect(x:Int, y:Int, width:Int, height:Int) [Mojo Style]&lt;br /&gt;added	: SetGraphicsMode:Void(mode:Int)&lt;br /&gt;added	: PNG Icon for AOS3 executables&lt;br /&gt;changed	: Plot() now called DrawPoint()&lt;br /&gt;changed	: added -noixemul to compiler options&lt;br /&gt;changed : removed the targets AmigaOS4.x, MorphOS and AROS-64Bit&lt;br /&gt;changed	: /bin/winnt_config.txt is prepared. there is no more need to alter them.&lt;br /&gt;fixed	: MouseDown() was active at start&lt;br /&gt;fixed	: ClsColor() has changed the current pen&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Das Archiv f&amp;uuml;r die Version 0.22 kann wie gehabt unter &lt;a href=&quot;http://www.sedm.de/monkey/AmigaTarget.zip&quot; target=&quot;_blank&quot;&gt;http://www.sedm.de/monkey/AmigaTarget.zip&lt;/a&gt; herunter geladen werden.&lt;br /&gt;&lt;br /&gt;Im Archiv enthalten sind Executables f&amp;uuml;r AmigaOS3.x, AROSi386 und AROS-PPC.&lt;br /&gt;&lt;br /&gt;Der &amp;quot;Mojo Style&amp;quot; l&amp;auml;uft nun super was &amp;uuml;berhaupt notwendig war um irgendwann bestehende Monkey Codes zu kompilieren. Desweiteren wurden ein paar Fehler ausgeb&amp;uuml;gelt.  Hinzugekommen ist &amp;quot;DrawRect&amp;quot; welches es gestattet ein Rechteck in der aktuell gesetzten Farbe in das Fenster zu malen. Dieses Fenster kann nun automatisch erstellt werden (Mojo Style) oder selbst definiert werden indem man SetGraphicsMode() aufruft. Es gilt zu beachten dass im Mojo Style kein Fenster als Parameter f&amp;uuml;r Funktionen angegeben werden muss. Im Amiga Mode muss dies aber passieren damit Monkey wei&amp;szlig; welches Fenster angesprochen wird. Eine genaue Dokumentation daf&amp;uuml;r wird noch erstellt.</description>
			<pubDate>Tue, 06 Dec 2011 21:41:58 +0100</pubDate>
		</item>


	</channel>
</rss>
