]> bicyclesonthemoon.info Git - ott/enhance/blobdiff - core.c
npb ready but debug needed
[ott/enhance] / core.c
diff --git a/core.c b/core.c
index 42835617d6e69c756a5cf76bc756e87a6e4d14f8..5e80a1756b9c1950980a313f0c2b1835fdc4329c 100644 (file)
--- a/core.c
+++ b/core.c
@@ -514,6 +514,21 @@ int load_picture (uint_fast16_t id, char *path, struct IL_full_info *info, FLAG_
        return convert_picture(id, info, flags);
 }
 
+int load_picture_mem (uint_fast16_t id, const void *address, ILuint size, struct IL_full_info *info, FLAG_TYPE *flags)
+{
+       if (id >= n_pictures)
+               return EINVAL;
+       
+       // if(!(picture[id].open))
+               create_picture(id);
+       
+       ilBindImage(picture[id].handle);
+       if (!ilLoadL(IL_TYPE_UNKNOWN, address, size))
+               return EIO;
+       
+       return convert_picture(id, info, flags);
+}
+
 int build_picture (uint_fast16_t id, ILint width, ILint height, ILint frames, struct IL_full_info *info, FLAG_TYPE *flags)
 {
        struct IL_full_info reference_info;
@@ -702,6 +717,24 @@ int perform_action_1picture (
        );
 }
 
+int perform_action_1picture_1pixel (
+       uint_fast16_t id,
+       ILint x, ILint y, ILint f,
+       ACTION_F *function,
+       FLAG_TYPE flags,
+       void *data
+)
+{
+       return perform_action_1picture (
+               id,
+               x, y, f,
+               1, 1, 1,
+               function,
+               flags | IN_WINDOW,
+               data
+       );
+}
+
 int perform_action (
        uint_fast16_t n,
        uint_fast16_t *id,
@@ -1470,7 +1503,7 @@ int copy_pixels (ILuint n, struct PixelInfo *p, void *data)
                {
                        if (!(p[1].flags & EFF_GRAY))
                                return EINVAL;
-                       p[1].value = p[0].value
+                       p[1].value = p[0].value;
                }
                else
                {
@@ -1513,7 +1546,7 @@ int fill_color (ILuint n, struct PixelInfo *p, void *data)
 }
 
 
-ILuint copy_1p_alpha (ILint64 src, ILint64 dst, ILint64 alpha, iILint64 max)
+ILuint copy_1p_alpha (ILint64 src, ILint64 dst, ILint64 alpha, ILint64 max)
 {
        ILint64 v = (src * alpha + dst * (max - alpha)) / max;
        return (ILuint)v;