/*
 * $Id: loadgraph.h,v 1.1 2003/02/07 18:15:44 wheeler Exp $
 *
 * $Log: loadgraph.h,v $
 * Revision 1.1  2003/02/07 18:15:44  wheeler
 * Fox's version of libultra and friends.
 *
 * Revision 1.16  1996/11/26  05:49:34  hayakawa
 * 定義に必要なファイルをインクルードするようにした
 *
 * Revision 1.15  1996/10/29  12:46:32  hayakawa
 * NOUSE_AUDIO条件コンパイル
 *
 * Revision 1.14  1996/10/20  09:12:44  hayakawa
 * _LANGUAGE_C_PLUS_PLUS を __cplusplus に変更
 *
 */

#ifndef __LOADGRAPH_H_
#define __LOADGRAPH_H_

#include "ultra64.h"		/* n64基本ヘッダ */
#include "bg_types.h"		/* ＢＧライブラリ固有の型定義 */

typedef volatile struct load_graph_s {
    BG_Funcx bgfuncx;
    OSTime all_start_time;	/* １フレームの描画時間 */
    OSTime all_time;		/* １フレームの描画時間 */
#if !NOUSE_AUDIO
    OSTime audio_rsp_sum_time;	/* RSPが動作した時間 */
    OSTime audio_rsp_time;	/* RSPが動作した時間 */
#endif /* !NOUSE_AUDIO */
    OSTime graph_rsp_sum_time;	/* RSPが動作した時間 */
    OSTime graph_rsp_time;	/* RSPが動作した時間 */
    OSTime rdp_sum_time;	/* RDPが動作した時間 */
    OSTime rdp_time;		/* RDPが動作した時間 */
    int ypos;
} load_graph_t;

extern load_graph_t load_graph;

#ifdef __cplusplus
extern "C" {
#endif

void
loadgraph_move(void);
#if 0
vfuncx_t loadgraph_callback;
#else
void
loadgraph_callback(BG_Funcx *const heiho_func, void *const bgptr);
#endif

void
loadgraph_setYpos(
    load_graph_t *this1,
    int ypos
);

void
loadgraph_init(
    load_graph_t *this1
);

#ifdef __cplusplus
} /* extern "C" */
#endif

#endif
