SACT2 for System4.x
SACT2には、スプライト上のCGを加工するために、 以下のようなCG〜関数が用意されています。
nDest,nSrcなどの番号にはスプライト番号を指定します。
nSrcに MAINSURFACE ()と指定した場合、表示画面(メインサーフェイス)を示します。 たとえば、表示画面を1番のスプライトにコピーする場合は、
SP_CREATE_PIXEL_ONLY(1, 640, 480); CG_COPY(1, 0, 0, MAINSURFACE(), 0, 0, 640, 480);のようにします。
色(nR,nG,nB),率(nAlpha,nRate)などの値は(0〜255)で指定します。
コピー | 比較コピー | α値参照ブレンド | αマップ参照ブレンド |
フィルタブレンド | 塗りつぶし | α=α×α | 矩形効果 |
テクスチャラップ | 拡大縮小 | 文字描画 | 文字描画(一時フォント) |
フォント | フォント(構造体) | 回転拡大縮小 | Y軸回転 |
X軸回転 | 反転 |
void CG_COPY(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight);
ピクセルマップをコピーします
void CG_COPY_BRIGHT(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight, int nRate);
ピクセルマップを明るさを指定してコピーします
nRate=0で黒塗りつぶしと同様,nRate=255で通常コピーと同様
void CG_COPY_AMAP(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight);
αマップをコピーします
void CG_COPY_SPRITE(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight, int nR, int nG, int nB);
指定色を抜いたコピーを行います
void CG_COPY_USE_AMAP_UNDER(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight, int nAlpha);
αマップの値がnAlpha未満の部分のピクセルをコピーします
void CG_COPY_USE_AMAP_BORDER(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight, int nAlpha);
αマップの値がnAlpha以上の部分のピクセルをコピーします
void CG_COPY_AMAP_MAX(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight);
nSrcのαマップの値がnDestのαマップの値より大きい部分のみコピーします
void CG_COPY_AMAP_MIN(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight);
nSrcのαマップの値がnDestのαマップの値未満の部分のみコピーします
void CG_BLEND(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight, int nAlpha);
nAlphaのブレンド率でブレンドします
void CG_BLEND_SRC_BRIGHT(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight, int nAlpha, int nRate);
nAlphaのブレンド率かつnRateの明るさでブレンドします
void CG_BLEND_ADD_SATUR(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight);
加算飽和ブレンドを行います
void CG_BLEND_AMAP(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight);
マスク抜きコピーを行います
void CG_BLEND_AMAP_SRCONLY(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight);
マスク抜きで飽和加算を行います
void CG_BLEND_AMAP_COLOR(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight, int nR, int nG, int nB);
マスク抜きで単色を飽和加算します
nSrcのピクセルマップは無視されます
void CG_BLEND_AMAP_COLOR_ALPHA(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight, int nR, int nG, int nB, int nAlpha);
void CG_BLEND_AMAP_ALPHA(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight, int nAlpha);
void CG_BLEND_AMAP_BRIGHT(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight, int nRate);
void CG_BLEND_AMAP_ALPHA_SRC_BRIGHT(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight, int nAlpha, int nRate);
void CG_BLEND_USE_AMAP_COLOR(int nDest, int nDx, int nDy, int nAlpha, int nAx, int nAy, int nWidth, int nHeight, int nR, int nG, int nB, int nRate);
void CG_BLEND_AMAP_BIN(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight, int nBorder);
void CG_BLEND_SCREEN(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight);
void CG_BLEND_MULTIPLY(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight);
void CG_BLEND_SCREEN_ALPHA(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight, int nAlpha);
void CG_FILL(int nDest, int nX, int nY, int nWidth, int nHeight, int nR, int nG, int nB);
void CG_FILL_ALPHA_COLOR(int nDest, int nX, int nY, int nWidth, int nHeight, int nR, int nG, int nB, int nRate);
void CG_FILL_AMAP(int nDest, int nX, int nY, int nWidth, int nHeight, int nAlpha);
void CG_FILL_AMAP_OVER_BORDER(int nDest, int nX, int nY, int nWidth, int nHeight, int nAlpha, int nBorder);
void CG_FILL_AMAP_UNDER_BORDER(int nDest, int nX, int nY, int nWidth, int nHeight, int nAlpha, int nBorder);
void CG_FILL_SCREEN(int nDest, int nX, int nY, int nWidth, int nHeight, int nR, int nG, int nB);
void CG_FILL_MULTIPLY(int nDest, int nX, int nY, int nWidth, int nHeight, int nR, int nG, int nB);
void CG_SATUR_DP_DPXSA(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight);
void CG_SCREEN_DA_DAXSA(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight);
void CG_ADD_DA_DAXSA(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight);
void CG_SPRITE_COPY_AMAP(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight, int nColorKey);
void CG_BRIGHT_DEST_ONLY(int nDest, int nX, int nY, int nWidth, int nHeight, int nRate);
void CG_COPY_TEXTURE_WRAP(int nDest, int nDx, int nDy, int nDWidth, int nDHeight, int nSrc, int nSx, int nSy, int nSWidth, int nSHeight, int nU, int nV);
void CG_COPY_TEXTURE_WRAPALPHA(int nDest, int nDx, int nDy, int nDWidth, int nDHeight, int nSrc, int nSx, int nSy, int nSWidth, int nSHeight, int nU, int nV, int nAlpha);
void CG_COPY_STRETCH(int nDest, int nDx, int nDy, int nDWidth, int nDHeight, int nSrc, int nSx, int nSy, int nSWidth, int nSHeight);
void CG_COPY_STRETCH_BLEND(int nDest, int nDx, int nDy, int nDWidth, int nDHeight, int nSrc, int nSx, int nSy, int nSWidth, int nSHeight, int nAlpha);
void CG_COPY_STRETCH_BLEND_AMAP(int nDest, int nDx, int nDy, int nDWidth, int nDHeight, int nSrc, int nSx, int nSy, int nSWidth, int nSHeight);
void CG_COPY_STRETCH_AMAP(int nDest, int nDx, int nDy, int nDWidth, int nDHeight, int nSrc, int nSx, int nSy, int nSWidth, int nSHeight);
void CG_COPY_STRETCH_INTERP(int nDest, int nDx, int nDy, int nDWidth, int nDHeight, int nSrc, int nSx, int nSy, int nSWidth, int nSHeight);
void CG_COPY_STRETCH_AMAP_INTERP(int nDest, int nDx, int nDy, int nDWidth, int nDHeight, int nSrc, int nSx, int nSy, int nSWidth, int nSHeight);
void CG_COPY_REDUCE(int nDest, int nDx, int nDy, int nDWidth, int nDHeight, int nSrc, int nSx, int nSy, int nSWidth, int nSHeight);
void CG_COPY_REDUCE_AMAP(int nDest, int nDx, int nDy, int nDWidth, int nDHeight, int nSrc, int nSx, int nSy, int nSWidth, int nSHeight);
void CG_PA_COPY_REDUCE(int nDest, int nDx, int nDy, int nDWidth, int nDHeight, int nSrc, int nSx, int nSy, int nSWidth, int nSHeight);
void CG_DRAW_TEXT_TO_PMAP(int nDest, int nX, int nY, string szText);
void CG_DRAW_TEXT_TO_AMAP(int nDest, int nX, int nY, string szText);
void CG_DRAW_TEXT_TO_PMAP_FONT(int nDest, int nX, int nY, string szText, ref font_metrics_t fm);
void CG_DRAW_TEXT_TO_AMAP_FONT(int nDest, int nX, int nY, string szText, ref font_metrics_t fm);
void CG_SET_FONT_SIZE(int nSize);
void CG_SET_FONT_NAME(string pIText);
void CG_SET_FONT_WEIGHT(int nWeight);
void CG_SET_FONT_UNDERLINE(int nFlag);
void CG_SET_FONT_STRIKE_OUT(int nFlag);
void CG_SET_FONT_SPACE(int nSpace);
void CG_SET_FONT_COLOR(int nR, int nG, int nB);
int CG_GET_FONT_SIZE(void);
string CG_GET_FONT_NAME(void);
int CG_GET_FONT_WEIGHT(void);
int CG_GET_FONT_UNDERLINE(void)
int CG_GET_FONT_STRIKE_OUT(void);
int CG_GET_FONT_SPACE(void);
void CG_GET_FONT_COLOR(ref int nR, ref int nG, ref int nB);
void CG_SET_FONT_METRICS(ref font_metrics_t fm);
void CG_GET_FONT_METRICS(ref font_metrics_t fm);
void CG_COPY_ROT_ZOOM(int nDest, int nSrc, int nSx, int nSy, int nWidth, int nHeight, float fRotate, float fMag);
void CG_COPY_ROT_ZOOM_USE_AMAP(int nDest, int nSrc, int nSx, int nSy, int nWidth, int nHeight, float fRotate, float fMag);
void CG_COPY_ROTATE_Y(int nWrite, int nDest, int nSrc, int nSx, int nSy, int nWidth, int nHeight, float fRotate, float fMag);
void CG_COPY_ROTATE_Y_USE_AMAP(int nWrite, int nDest, int nSrc, int nSx, int nSy, int nWidth, int nHeight, float fRotate, float fMag);
void CG_COPY_ROTATE_Y_FIX_L(int nWrite, int nDest, int nSrc, int nSx, int nSy, int nWidth, int nHeight, float fRotate, float fMag);
void CG_COPY_ROTATE_Y_FIX_R(int nWrite, int nDest, int nSrc, int nSx, int nSy, int nWidth, int nHeight, float fRotate, float fMag);
void CG_COPY_ROTATE_Y_FIX_L_USE_AMAP(int nWrite, int nDest, int nSrc, int nSx, int nSy, int nWidth, int nHeight, float fRotate, float fMag);
void CG_COPY_ROTATE_Y_FIX_R_USE_AMAP(int nWrite, int nDest, int nSrc, int nSx, int nSy, int nWidth, int nHeight, float fRotate, float fMag);
void CG_COPY_ROTATE_X(int nWrite, int nDest, int nSrc, int nSx, int nSy, int nWidth, int nHeight, float fRotate, float fMag);
void CG_COPY_ROTATE_X_USE_AMAP(int nWrite, int nDest, int nSrc, int nSx, int nSy, int nWidth, int nHeight, float fRotate, float fMag);
void CG_COPY_ROTATE_X_FIX_U(int nWrite, int nDest, int nSrc, int nSx, int nSy, int nWidth, int nHeight, float fRotate, float fMag);
void CG_COPY_ROTATE_X_FIX_D(int nWrite, int nDest, int nSrc, int nSx, int nSy, int nWidth, int nHeight, float fRotate, float fMag);
void CG_COPY_ROTATE_X_FIX_U_USE_AMAP(int nWrite, int nDest, int nSrc, int nSx, int nSy, int nWidth, int nHeight, float fRotate, float fMag);
void CG_COPY_ROTATE_X_FIX_D_USE_AMAP(int nWrite, int nDest, int nSrc, int nSx, int nSy, int nWidth, int nHeight, float fRotate, float fMag);
void CG_COPY_REVERSE_LR(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight);
void CG_COPY_REVERSE_UD(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight);
void CG_COPY_REVERSE_AMAP_LR(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight);
void CG_COPY_REVERSE_AMAP_UD(int nDest, int nDx, int nDy, int nSrc, int nSx, int nSy, int nWidth, int nHeight);
Copyright © 2002-2004 ALICE-SOFT