#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
#include <signal.h>
#endif
-concptr screen_dump = NULL;
-
/*
* internet resource value
*/
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 解放するバッファの参照ポインタ
free(b);
}
-
/*!
* @brief 転送用バッファにデータを追加する
* @param buf 追加先バッファの参照ポインタ
return buf->size;
}
-
/*!
* @brief 転送用バッファにフォーマット指定した文字列データを追加する
* @param buf 追加先バッファの参照ポインタ
}
#endif
-
/*!
* @brief HTTPによるダンプ内容伝送
* @param sd ソケットID
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;
}
/* 一旦一時ファイルを作る。通常のダンプ出力と共通化するため。 */
- (void)make_character_dump(creature_ptr, fff);
+ (void)make_character_dump(fff);
my_fclose(fff);
/* Open for read */
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>",
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 */
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;
((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;
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;
#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);
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)
{
Term_clear();
- int sd;
- while (TRUE)
+ while (1)
{
char buff[160];
#ifdef JP