From f41e41189a82b4eb0e6084e0f99beeb5d3c4749b Mon Sep 17 00:00:00 2001
From: ROOL <code@riscosopen.org>
Date: Sun, 3 May 2020 12:38:56 +0100
Subject: [PATCH] Extra rlib sprite function for ROM stubs

Detail:
  Export sprite_put_mask_scaled when UROM.
  Also, delete sprite_put_greyscaled() which has been unimplemented in SpriteExtend since RISC OS 3.60.
Admin:
  Required by Paint bounty.

Version 6.05. Not tagged
---
 VersionASM        |  6 +++---
 VersionNum        |  8 ++++----
 rlib/c/sprite     | 21 ---------------------
 rlib/h/sprite     | 10 ----------
 rlib/s/rl_entries |  3 +--
 5 files changed, 8 insertions(+), 40 deletions(-)

diff --git a/VersionASM b/VersionASM
index 2e24247..6b8ec0b 100644
--- a/VersionASM
+++ b/VersionASM
@@ -12,9 +12,9 @@
 Module_MajorVersion     SETS    "6.05"
 Module_Version          SETA    605
 Module_MinorVersion     SETS    ""
-Module_Date             SETS    "06 May 2020"
-Module_ApplicationDate  SETS    "06-May-20"
+Module_Date             SETS    "09 May 2020"
+Module_ApplicationDate  SETS    "09-May-20"
 Module_ComponentName    SETS    "RISC_OSLib"
 Module_FullVersion      SETS    "6.05"
-Module_HelpVersion      SETS    "6.05 (06 May 2020)"
+Module_HelpVersion      SETS    "6.05 (09 May 2020)"
                         END
diff --git a/VersionNum b/VersionNum
index d30f9a2..934a970 100644
--- a/VersionNum
+++ b/VersionNum
@@ -5,17 +5,17 @@
  */
 #define Module_MajorVersion_CMHG        6.05
 #define Module_MinorVersion_CMHG
-#define Module_Date_CMHG                06 May 2020
+#define Module_Date_CMHG                09 May 2020
 
 #define Module_MajorVersion             "6.05"
 #define Module_Version                  605
 #define Module_MinorVersion             ""
-#define Module_Date                     "06 May 2020"
+#define Module_Date                     "09 May 2020"
 
-#define Module_ApplicationDate          "06-May-20"
+#define Module_ApplicationDate          "09-May-20"
 
 #define Module_ComponentName            "RISC_OSLib"
 
 #define Module_FullVersion              "6.05"
-#define Module_HelpVersion              "6.05 (06 May 2020)"
+#define Module_HelpVersion              "6.05 (09 May 2020)"
 #define Module_LibraryVersionInfo       "6:5"
diff --git a/rlib/c/sprite b/rlib/c/sprite
index 7e03dcc..950d723 100644
--- a/rlib/c/sprite
+++ b/rlib/c/sprite
@@ -510,25 +510,6 @@ os_error * sprite_put_scaled(sprite_area *area, sprite_id *spr,
   return result;
 }
 
-#ifndef UROM
-os_error * sprite_put_greyscaled(sprite_area *area, sprite_id *spr,
-                                 int x, int y,
-                                 sprite_factors *factors,
-                                 sprite_pixtrans *pixtrans)
-{
-  os_regset r;
-  os_error *result;
-  setfromtag(53, area, spr, &r);
-  r.r[3] = x;
-  r.r[4] = y;
-  r.r[5] = 0;                   /* doesn't support mask or gcol action */
-  r.r[6] = (int) factors;
-  r.r[7] = (int) pixtrans;
-  result = sprite__op(&r);
-  return result;
-}
-#endif
-
 #ifndef UROM
 os_error * sprite_put_mask(sprite_area *area, sprite_id *spr)
 {
@@ -552,7 +533,6 @@ os_error * sprite_put_mask_given(sprite_area *area, sprite_id *spr,
   return result;
 }
 
-#ifndef UROM
 os_error * sprite_put_mask_scaled(sprite_area *area, sprite_id *spr,
                                   int x, int y,
                                   sprite_factors *factors)
@@ -566,7 +546,6 @@ os_error * sprite_put_mask_scaled(sprite_area *area, sprite_id *spr,
   result = sprite__op(&r);
   return result;
 }
-#endif
 
 #ifndef UROM
 os_error * sprite_put_char_scaled(char ch,
diff --git a/rlib/h/sprite b/rlib/h/sprite
index 55884ed..e926dad 100644
--- a/rlib/h/sprite
+++ b/rlib/h/sprite
@@ -282,16 +282,6 @@ extern os_error * sprite_put_scaled(sprite_area *, sprite_id *, int gcol,
                             sprite_factors *factors,
                             sprite_pixtrans pixtrans[]);
 
-/* ---------------------------- sprite_put_greyscaled ----------------------
- * Plot the specified sprite at (x,y) using the given GCOL action, and
- * greyscaled using the given scale factors.
- *
- */
-extern os_error * sprite_put_greyscaled(sprite_area *, sprite_id *,
-                            int x, int y,
-                            sprite_factors *factors,
-                            sprite_pixtrans pixtrans[]);
-
 /* ----------------------------- sprite_put_mask ---------------------------
  * Plot the specified sprite mask in the background colour.
  *
diff --git a/rlib/s/rl_entries b/rlib/s/rl_entries
index 9432999..522b5d2 100644
--- a/rlib/s/rl_entries
+++ b/rlib/s/rl_entries
@@ -304,10 +304,9 @@
 ;        Entry   sprite_put, imported, , , ,
       Entry   sprite_put_given, imported, , , ,
       Entry   sprite_put_scaled, imported, , , ,
-;        Entry   sprite_put_greyscaled, imported, , , ,
 ;        Entry   sprite_put_mask, imported, , , ,
       Entry   sprite_put_mask_given, imported, , , ,
-;        Entry   sprite_put_mask_scaled, imported, , , ,
+      Entry   sprite_put_mask_scaled, imported, , , ,
 ;        Entry   sprite_put_char_scaled, imported, , , ,
       Entry   sprite_create_mask, imported, , , ,
       Entry   sprite_remove_mask, imported, , , ,
-- 
GitLab