#define FAKE_VER_MAJOR 12 /*!< ゲームのバージョン番号定義(メジャー番号 + 10) */
#define FAKE_VER_MINOR 2 /*!< ゲームのバージョン番号定義(マイナー番号) */
#define FAKE_VER_PATCH 0 /*!< ゲームのバージョン番号定義(パッチ番号) */
-#define FAKE_VER_EXTRA 74 /*!< ゲームのバージョン番号定義(エクストラ番号) */
+#define FAKE_VER_EXTRA 75 /*!< ゲームのバージョン番号定義(エクストラ番号) */
/*!
extern cptr quark_str(s16b num);
extern void quark_init(void);
extern s16b quark_add(cptr str);
-extern s16b message_num(void);
+extern s32b message_num(void);
extern cptr message_str(int age);
extern void message_add(cptr msg);
extern void msg_print(cptr msg);
quark_init();
/* Message variables */
- C_MAKE(message__ptr, MESSAGE_MAX, u16b);
+ C_MAKE(message__ptr, MESSAGE_MAX, u32b);
C_MAKE(message__buf, MESSAGE_BUF, char);
/* Hack -- No messages yet */
int i;
char buf[128];
- s16b num;
- /* Total */
- rd_s16b(&num);
+ if (h_older_than(2, 2, 0, 75))
+ {
+ s16b num;
+ /* Total */
+ rd_s16b(&num);
+
+ /* Read the messages */
+ for (i = 0; i < num; i++)
+ {
+ /* Read the message */
+ rd_string(buf, sizeof(buf));
- /* Read the messages */
- for (i = 0; i < num; i++)
+ /* Save the message */
+ message_add(buf);
+ }
+ }
+ else
{
- /* Read the message */
- rd_string(buf, sizeof(buf));
+ u32b num;
+ /* Total */
+ rd_u32b(&num);
+
+ /* Read the messages */
+ for (i = 0; i < num; i++)
+ {
+ /* Read the message */
+ rd_string(buf, sizeof(buf));
- /* Save the message */
- message_add(buf);
+ /* Save the message */
+ message_add(buf);
+ }
}
+
}
byte tmp8u;
u16b tmp16u;
+ u32b tmp32u;
/* Compact the objects */
/* Dump the number of "messages" */
- tmp16u = message_num();
- if (compress_savefile && (tmp16u > 40)) tmp16u = 40;
- wr_u16b(tmp16u);
+ tmp32u = message_num();
+ if (compress_savefile && (tmp32u > 40)) tmp32u = 40;
+ wr_u32b(tmp32u);
/* Dump the messages (oldest first!) */
- for (i = tmp16u - 1; i >= 0; i--)
+ for (i = tmp32u - 1; i >= 0; i--)
{
wr_string(message_str((s16b)i));
}
* @brief 保存中の過去ゲームメッセージの数を返す。 / How many messages are "available"?
* @return 残っているメッセージの数
*/
-s16b message_num(void)
+s32b message_num(void)
{
int last, next, n;