struct libimg_image { dword image, w, h; }; :void Libimg_LoadImage(dword struct_pointer, file_path) { dword image_pointer; image_pointer = load_image(file_path); if (!image_pointer) notify("Error: Image not loaded"); ESDWORD[struct_pointer] = image_pointer; ESDWORD[struct_pointer+4] = DSWORD[image_pointer+4]; ESDWORD[struct_pointer+8] = DSWORD[image_pointer+8]; } :void Libimg_FillTransparent(dword struct_pointer, w, h, new_transparent_color) { dword i, max_i, image_data; image_data = ESDWORD[struct_pointer + 24]; max_i = w * h * 4 + image_data; for (i = image_data; i < max_i; i += 4) if (DSDWORD[i]==0) DSDWORD[i] = new_transparent_color; }