mirror of
https://github.com/rvtr/ntr_bootrom.git
synced 2025-10-31 07:11:11 -04:00
90 lines
2.7 KiB
C
90 lines
2.7 KiB
C
//====================================================================
|
||
// Iris2D.h
|
||
// 2Dアフィン変換ライブラリ
|
||
//
|
||
// Copyright (C) 2003 NINTENDO Co.,Ltd.
|
||
//====================================================================
|
||
#ifndef _IRIS_2D_H
|
||
#define _IRIS_2D_H
|
||
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
|
||
#include <IrisTarget.h>
|
||
#include <IrisTypes.h>
|
||
|
||
|
||
|
||
//----------------------------------------------------------------------
|
||
// BGアフィン変換 セット
|
||
//
|
||
//・BGのアフィンパラメータを算出し、セットします。
|
||
//
|
||
//・引数:
|
||
// BgAffineSrcData *srcp ソースアドレス
|
||
// BgAffineDestData *destp デスティネーションアドレス
|
||
// s32 num 計算回数
|
||
//
|
||
//・BgAffineSrcData構造体
|
||
// s32 srcCenterX 元データ中心座標(小数点以下8bit)
|
||
// s32 srcCenterY
|
||
// s16 dispCenterX 表示中心座標
|
||
// s16 dispCenterY
|
||
// s16 ratioX 拡大縮小率(逆数/小数点以下8bit)
|
||
// s16 ratioY
|
||
// s16 theta 回転角(小数点以下8bit)
|
||
//
|
||
//・BgAffineDestData構造体
|
||
// s16 h_diffX ライン方向X座標差分
|
||
// s16 v_diffX 垂直方向X座標差分
|
||
// s16 h_diffY ライン方向Y座標差分
|
||
// s16 v_diffY 垂直方向Y座標差分
|
||
// s32 startX スタートX座標
|
||
// s32 startY スタートY座標
|
||
//
|
||
//・戻り値:なし
|
||
//----------------------------------------------------------------------
|
||
|
||
void BG_SetAffine(const BgAffineSrcData *srcp, BgAffineDestData *destp, s32 num);
|
||
|
||
|
||
//----------------------------------------------------------------------
|
||
// OBJアフィン変換 セット
|
||
//
|
||
//・OBJのアフィンパラメータを算出し、セットします。
|
||
//
|
||
//・引数:
|
||
// ObjAffineSrcData *srcp ソースアドレス
|
||
// void *destp デスティネーションアドレス
|
||
// s32 num 計算回数
|
||
// s32 offset パラメータアドレスのオフセット・バイト数(通常 2|8)
|
||
// OAMに直接セットする場合は"8"を指定
|
||
//
|
||
//・ObjAffineSrcData構造体
|
||
// s16 ratioX 拡大縮小率(逆数/小数点以下8bit)
|
||
// s16 ratioY
|
||
// s16 theta 回転角(小数点以下8bit)
|
||
//
|
||
//・ObjAffineDestData構造体
|
||
// s16 h_diffX ライン方向X座標差分
|
||
// s16 v_diffX 垂直方向X座標差分
|
||
// s16 h_diffY ライン方向Y座標差分
|
||
// s16 v_diffY 垂直方向Y座標差分
|
||
//
|
||
//・戻り値:なし
|
||
//----------------------------------------------------------------------
|
||
|
||
void OBJ_SetAffine(const ObjAffineSrcData *srcp, void *destp, s32 num, s32 offset);
|
||
|
||
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
#endif // _IRIS_2D_H
|
||
|