OSDN Git Service

[modify]スクリーンダンプの最大サイズを増加
authorHabu <habu@users.sourceforge.jp>
Tue, 3 Apr 2018 12:56:20 +0000 (21:56 +0900)
committerHabu <habu@users.sourceforge.jp>
Tue, 3 Apr 2018 12:56:20 +0000 (21:56 +0900)
これまでスクリーンダンプの最大サイズは64KiBで、それを超えた場合はスクリーンダンプ無しにしていた。
大画面で地形の表示が多い状態でスクリーンダンプを生成すると64KiBを超えることが結構あり、
スコアサーバでスクリーンダンプ無しのスコアがたまに登録されるのはそれが原因と思われる。
100KiBを超えることはなかなかなさそうだが、とりあえず現状の4倍の256KiBにしておく。

src/defines.h
src/load.c
src/report.c

index b452dae..d7cc076 100644 (file)
@@ -5493,7 +5493,7 @@ extern int PlayerUID;
 #define MAX_MACRO_TRIG 200 /*!< 登録を許すマクロ(トリガー)の最大数 */
 
 /* Max size of screen dump buffer */
-#define SCREEN_BUF_SIZE 65536
+#define SCREEN_BUF_MAX_SIZE (4 * 65536)
 
 
 /*
index 0a6ee90..bed6157 100644 (file)
@@ -3777,7 +3777,7 @@ static errr rd_savefile_new_aux(void)
 
        if (!z_older_than(11, 0, 9))
        {
-               char buf[SCREEN_BUF_SIZE];
+               char buf[SCREEN_BUF_MAX_SIZE];
                rd_string(buf, sizeof(buf));
                if (buf[0]) screen_dump = string_make(buf);
        }
index 7d9bf83..6ccf632 100644 (file)
@@ -408,7 +408,7 @@ cptr make_screen_dump(void)
                buf_sprintf(screen_buf, html_foot[i]);
 
        /* Screen dump size is too big ? */
-       if (screen_buf->size + 1> SCREEN_BUF_SIZE)
+       if (screen_buf->size + 1> SCREEN_BUF_MAX_SIZE)
        {
                ret = NULL;
        }