summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorJorn Van denbussche <jorn.vandenbussche@ugent.be>2018-03-11 19:21:09 +0100
committerJorn Van denbussche <jorn.vandenbussche@ugent.be>2018-03-11 19:21:09 +0100
commit886156da2ca14bfdd7e06858bfc25f6507944d38 (patch)
tree576ab197128cf45c578f5b182d472ffc125fae76 /modules
parenteceba5aa6a36521c878cf976845123e820d27161 (diff)
Fixes importing hdr files with extra header info
Diffstat (limited to 'modules')
-rw-r--r--modules/hdr/image_loader_hdr.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/modules/hdr/image_loader_hdr.cpp b/modules/hdr/image_loader_hdr.cpp
index 3cc362b5d6..d592c19b97 100644
--- a/modules/hdr/image_loader_hdr.cpp
+++ b/modules/hdr/image_loader_hdr.cpp
@@ -42,14 +42,18 @@ Error ImageLoaderHDR::load_image(Ref<Image> p_image, FileAccess *f, bool p_force
ERR_FAIL_COND_V(header != "#?RADIANCE" && header != "#?RGBE", ERR_FILE_UNRECOGNIZED);
while (true) {
- String format = f->get_token();
+ String line = f->get_line();
ERR_FAIL_COND_V(f->eof_reached(), ERR_FILE_UNRECOGNIZED);
- if (format.begins_with("FORMAT=") && format != "FORMAT=32-bit_rle_rgbe") {
- ERR_EXPLAIN("Only 32-bit_rle_rgbe is supported for .hdr files.");
- return ERR_FILE_UNRECOGNIZED;
- }
- if (format == "FORMAT=32-bit_rle_rgbe")
+ if (line == "") // empty line indicates end of header
break;
+ if (line.begins_with("FORMAT=")) { // leave option to implement other commands
+ if (line != "FORMAT=32-bit_rle_rgbe") {
+ ERR_EXPLAIN("Only 32-bit_rle_rgbe is supported for HDR files.");
+ return ERR_FILE_UNRECOGNIZED;
+ }
+ } else if (!line.begins_with("#")) { // not comment
+ WARN_PRINTS("Ignoring unsupported header information in HDR : " + line);
+ }
}
String token = f->get_token();