From 327f14a06cd27b0213c005ec582cc09b0acc382e Mon Sep 17 00:00:00 2001
From: Jeffrey Lee <jlee@gitlab.riscosopen.org>
Date: Sun, 9 Mar 2014 23:16:44 +0000
Subject: [PATCH] Fix background tiling logic

Detail:
  s/StartLoop - Fix non-softload version to exit immediately after the tiled OS_SpriteOp instead of falling through to the old manual loop. Make sure r1 is initialised correctly for the manual loop (contrary to the source comments, the function was previously relying on r1 being a pointer to the redraw rectangle on entry)
Admin:
  Tested on BB-xM (ROM build with OS_SpriteOp 65), Iyonix (softload without OS_SpriteOp 65 available)
  Issue spotted by eagle-eyed Sprow


Version 0.98. Tagged as 'Pinboard-0_98'
---
 VersionASM  |  8 ++++----
 VersionNum  | 14 +++++++-------
 s/StartLoop |  4 ++++
 3 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/VersionASM b/VersionASM
index ac3dd47..3028a14 100644
--- a/VersionASM
+++ b/VersionASM
@@ -11,13 +11,13 @@
                         GBLS    Module_HelpVersion
                         GBLS    Module_ComponentName
                         GBLS    Module_ComponentPath
-Module_MajorVersion     SETS    "0.97"
-Module_Version          SETA    97
+Module_MajorVersion     SETS    "0.98"
+Module_Version          SETA    98
 Module_MinorVersion     SETS    ""
 Module_Date             SETS    "09 Mar 2014"
 Module_ApplicationDate  SETS    "09-Mar-14"
 Module_ComponentName    SETS    "Pinboard"
 Module_ComponentPath    SETS    "castle/RiscOS/Sources/Desktop/Pinboard"
-Module_FullVersion      SETS    "0.97"
-Module_HelpVersion      SETS    "0.97 (09 Mar 2014)"
+Module_FullVersion      SETS    "0.98"
+Module_HelpVersion      SETS    "0.98 (09 Mar 2014)"
                         END
diff --git a/VersionNum b/VersionNum
index 58137f2..109b057 100644
--- a/VersionNum
+++ b/VersionNum
@@ -1,15 +1,15 @@
-/* (0.97)
+/* (0.98)
  *
  * This file is automatically maintained by srccommit, do not edit manually.
  * Last processed by srccommit version: 1.1.
  *
  */
-#define Module_MajorVersion_CMHG        0.97
+#define Module_MajorVersion_CMHG        0.98
 #define Module_MinorVersion_CMHG        
 #define Module_Date_CMHG                09 Mar 2014
 
-#define Module_MajorVersion             "0.97"
-#define Module_Version                  97
+#define Module_MajorVersion             "0.98"
+#define Module_Version                  98
 #define Module_MinorVersion             ""
 #define Module_Date                     "09 Mar 2014"
 
@@ -18,6 +18,6 @@
 #define Module_ComponentName            "Pinboard"
 #define Module_ComponentPath            "castle/RiscOS/Sources/Desktop/Pinboard"
 
-#define Module_FullVersion              "0.97"
-#define Module_HelpVersion              "0.97 (09 Mar 2014)"
-#define Module_LibraryVersionInfo       "0:97"
+#define Module_FullVersion              "0.98"
+#define Module_HelpVersion              "0.98 (09 Mar 2014)"
+#define Module_LibraryVersionInfo       "0:98"
diff --git a/s/StartLoop b/s/StartLoop
index 7e4daad..7ea6cf6 100644
--- a/s/StartLoop
+++ b/s/StartLoop
@@ -531,9 +531,13 @@ PlotImageTiled
         LDR     r1,=ErrorNumber_Sprite_BadReasonCode
         TEQ     r0,r1
         EXIT    NE
+      |
+        EXIT
       ]
 
 05
+        ADR     r1,dataarea             ; Get the redraw rectangle
+
         ; Work out MinX of first tile to plot
 
         LDR     r14,[r1,#28]            ; X0 of current rectangle.
-- 
GitLab