OSDN Git Service

Revert "Merge branch 'master' of git.osdn.net:/gitroot/hengband/hengband"
[hengband/hengband.git] / src / report.c
index 10fbb07..ad5d1da 100644 (file)
@@ -7,21 +7,6 @@
 
 #define _GNU_SOURCE /*!< 未使用*/
 #include "angband.h"
-#include "util.h"
-#include "core.h"
-#include "inet.h"
-#include "dungeon.h"
-
-#include "floor.h"
-#include "player-status.h"
-#include "player-class.h"
-#include "player-race.h"
-#include "player-personality.h"
-#include "files.h"
-#include "world.h"
-#include "realm.h"
-#include "term.h"
-#include "view-mainwindow.h"
 
 #ifdef WORLD_SCORE
 
@@ -46,8 +31,6 @@
 #include <signal.h>
 #endif
 
-concptr screen_dump = NULL;
-
 /*
  * internet resource value
  */
@@ -86,22 +69,20 @@ typedef struct {
 static BUF* buf_new(void)
 {
        BUF *p;
-       p = malloc(sizeof(BUF));
-       if (!p) return NULL;
+
+       if ((p = malloc(sizeof(BUF))) == NULL)
+               return NULL;
 
        p->size = 0;
        p->max_size = BUFSIZE;
-       p->data = malloc(BUFSIZE);
-       if (!p->data)
+       if ((p->data = malloc(BUFSIZE)) == NULL)
        {
                free(p);
                return NULL;
        }
-
        return p;
 }
 
-
 /*!
  * @brief 転送用バッファの解放
  * @param b 解放するバッファの参照ポインタ
@@ -112,7 +93,6 @@ static void buf_delete(BUF *b)
        free(b);
 }
 
-
 /*!
  * @brief 転送用バッファにデータを追加する
  * @param buf 追加先バッファの参照ポインタ
@@ -140,7 +120,6 @@ static int buf_append(BUF *buf, concptr data, size_t size)
        return buf->size;
 }
 
-
 /*!
  * @brief 転送用バッファにフォーマット指定した文字列データを追加する
  * @param buf 追加先バッファの参照ポインタ
@@ -242,7 +221,6 @@ static BUF * buf_subbuf(BUF *buf, int pos1, size_t sz)
 }
 #endif
 
-
 /*!
  * @brief HTTPによるダンプ内容伝送
  * @param sd ソケットID
@@ -283,14 +261,12 @@ static bool http_post(int sd, concptr url, BUF *buf)
        return strncmp(response_buf, HTTP_RESPONSE_CODE_OK, strlen(HTTP_RESPONSE_CODE_OK)) == 0;
 }
 
-
 /*!
  * @brief キャラクタダンプを作って BUFに保存
- * @param creature_ptr プレーヤーへの参照ポインタ
  * @param dumpbuf 伝送内容バッファ
  * @return エラーコード
  */
-static errr make_dump(player_type *creature_ptr, BUF* dumpbuf)
+static errr make_dump(BUF* dumpbuf)
 {
        char            buf[1024];
        FILE *fff;
@@ -310,7 +286,7 @@ static errr make_dump(player_type *creature_ptr, BUF* dumpbuf)
        }
 
        /* 一旦一時ファイルを作る。通常のダンプ出力と共通化するため。 */
-       (void)make_character_dump(creature_ptr, fff);
+       (void)make_character_dump(fff);
        my_fclose(fff);
 
        /* Open for read */
@@ -327,13 +303,19 @@ static errr make_dump(player_type *creature_ptr, BUF* dumpbuf)
        return (0);
 }
 
-
 /*!
  * @brief スクリーンダンプを作成する/ Make screen dump to buffer
  * @return 作成したスクリーンダンプの参照ポインタ
  */
-concptr make_screen_dump(player_type *creature_ptr)
+concptr make_screen_dump(void)
 {
+       BUF *screen_buf;
+       int y, x, i;
+       concptr ret;
+
+       TERM_COLOR a = 0, old_a = 0;
+       SYMBOL_CODE c = ' ';
+
        static concptr html_head[] = {
                "<html>\n<body text=\"#ffffff\" bgcolor=\"#000000\">\n",
                "<pre>",
@@ -345,15 +327,16 @@ concptr make_screen_dump(player_type *creature_ptr)
                0,
        };
 
+       bool old_use_graphics = use_graphics;
+
        int wid, hgt;
+
        Term_get_size(&wid, &hgt);
 
        /* Alloc buffer */
-       BUF *screen_buf;
        screen_buf = buf_new();
        if (screen_buf == NULL) return (NULL);
 
-       bool old_use_graphics = use_graphics;
        if (old_use_graphics)
        {
                /* Clear -more- prompt first */
@@ -362,24 +345,22 @@ concptr make_screen_dump(player_type *creature_ptr)
                use_graphics = FALSE;
                reset_visuals();
 
-               creature_ptr->redraw |= (PR_WIPE | PR_BASIC | PR_EXTRA | PR_MAP | PR_EQUIPPY);
+               p_ptr->redraw |= (PR_WIPE | PR_BASIC | PR_EXTRA | PR_MAP | PR_EQUIPPY);
                handle_stuff();
        }
 
-       for (int i = 0; html_head[i]; i++)
+       for (i = 0; html_head[i]; i++)
                buf_sprintf(screen_buf, html_head[i]);
 
        /* Dump the screen */
-       for (int y = 0; y < hgt; y++)
+       for (y = 0; y < hgt; y++)
        {
                /* Start the row */
                if (y != 0)
                        buf_sprintf(screen_buf, "\n");
 
                /* Dump each row */
-               TERM_COLOR a = 0, old_a = 0;
-               SYMBOL_CODE c = ' ';
-               for (int x = 0; x < wid - 1; x++)
+               for (x = 0; x < wid - 1; x++)
                {
                        int rv, gv, bv;
                        concptr cc = NULL;
@@ -408,21 +389,18 @@ concptr make_screen_dump(player_type *creature_ptr)
                                            ((y == 0 && x == 0) ? "" : "</font>"), rv, gv, bv);
                                old_a = a;
                        }
-
                        if (cc)
                                buf_sprintf(screen_buf, "%s", cc);
                        else
                                buf_sprintf(screen_buf, "%c", c);
                }
        }
-
        buf_sprintf(screen_buf, "</font>");
 
-       for (int i = 0; html_foot[i]; i++)
+       for (i = 0; html_foot[i]; i++)
                buf_sprintf(screen_buf, html_foot[i]);
 
        /* Screen dump size is too big ? */
-       concptr ret;
        if (screen_buf->size + 1> SCREEN_BUF_MAX_SIZE)
        {
                ret = NULL;
@@ -443,21 +421,18 @@ concptr make_screen_dump(player_type *creature_ptr)
                use_graphics = TRUE;
                reset_visuals();
 
-               creature_ptr->redraw |= (PR_WIPE | PR_BASIC | PR_EXTRA | PR_MAP | PR_EQUIPPY);
+               p_ptr->redraw |= (PR_WIPE | PR_BASIC | PR_EXTRA | PR_MAP | PR_EQUIPPY);
                handle_stuff();
        }
 
        return ret;
 }
 
-
 /*!
- * todo メッセージは言語選択の関数マクロで何とかならんか?
  * @brief スコア転送処理のメインルーチン
- * @param creature_ptr プレーヤーへの参照ポインタ
  * @return エラーコード
  */
-errr report_score(player_type *creature_ptr)
+errr report_score(void)
 {
 #ifdef MACINTOSH
        OSStatus err;
@@ -471,16 +446,18 @@ errr report_score(player_type *creature_ptr)
 #endif
 
        BUF *score;
+       int sd;
+       char seikakutmp[128];
+
        score = buf_new();
 
-       char seikakutmp[128];
 #ifdef JP
        sprintf(seikakutmp, "%s%s", ap_ptr->title, (ap_ptr->no ? "の" : ""));
 #else
        sprintf(seikakutmp, "%s ", ap_ptr->title);
 #endif
 
-       buf_sprintf(score, "name: %s\n", creature_ptr->name);
+       buf_sprintf(score, "name: %s\n", p_ptr->name);
 #ifdef JP
        buf_sprintf(score, "version: 変愚蛮怒 %d.%d.%d\n",
                    FAKE_VER_MAJOR-10, FAKE_VER_MINOR, FAKE_VER_PATCH);
@@ -488,23 +465,23 @@ errr report_score(player_type *creature_ptr)
        buf_sprintf(score, "version: Hengband %d.%d.%d\n",
                    FAKE_VER_MAJOR-10, FAKE_VER_MINOR, FAKE_VER_PATCH);
 #endif
-       buf_sprintf(score, "score: %d\n", calc_score(creature_ptr));
-       buf_sprintf(score, "level: %d\n", creature_ptr->lev);
-       buf_sprintf(score, "depth: %d\n", creature_ptr->current_floor_ptr->dun_level);
-       buf_sprintf(score, "maxlv: %d\n", creature_ptr->max_plv);
+       buf_sprintf(score, "score: %d\n", total_points());
+       buf_sprintf(score, "level: %d\n", p_ptr->lev);
+       buf_sprintf(score, "depth: %d\n", current_floor_ptr->dun_level);
+       buf_sprintf(score, "maxlv: %d\n", p_ptr->max_plv);
        buf_sprintf(score, "maxdp: %d\n", max_dlv[DUNGEON_ANGBAND]);
-       buf_sprintf(score, "au: %d\n", creature_ptr->au);
+       buf_sprintf(score, "au: %d\n", p_ptr->au);
        buf_sprintf(score, "turns: %d\n", turn_real(current_world_ptr->game_turn));
-       buf_sprintf(score, "sex: %d\n", creature_ptr->psex);
+       buf_sprintf(score, "sex: %d\n", p_ptr->psex);
        buf_sprintf(score, "race: %s\n", rp_ptr->title);
        buf_sprintf(score, "class: %s\n", cp_ptr->title);
        buf_sprintf(score, "seikaku: %s\n", seikakutmp);
-       buf_sprintf(score, "realm1: %s\n", realm_names[creature_ptr->realm1]);
-       buf_sprintf(score, "realm2: %s\n", realm_names[creature_ptr->realm2]);
-       buf_sprintf(score, "killer: %s\n", creature_ptr->died_from);
+       buf_sprintf(score, "realm1: %s\n", realm_names[p_ptr->realm1]);
+       buf_sprintf(score, "realm2: %s\n", realm_names[p_ptr->realm2]);
+       buf_sprintf(score, "killer: %s\n", p_ptr->died_from);
        buf_sprintf(score, "-----charcter dump-----\n");
 
-       make_dump(creature_ptr, score);
+       make_dump(score);
 
        if (screen_dump)
        {
@@ -535,8 +512,7 @@ errr report_score(player_type *creature_ptr)
 
        Term_clear();
 
-       int sd;
-       while (TRUE)
+       while (1)
        {
                char buff[160];
 #ifdef JP