head 1.1; branch 1.1.1; access ; symbols start:1.1.1.1 PAlibDoc:1.1.1; locks ; strict; comment @# @; 1.1 date 2005.11.02.08.30.22; author jandujar; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2005.11.02.08.30.22; author jandujar; state Exp; branches ; next ; desc @@ 1.1 log @Initial revision @ text @
00001 #ifndef _PA_SpecialFx 00002 #define _PA_SpecialFx 00003 00004 00005 00006 00007 00008 #define REG_MOSAIC(screen) _REG16(0x0400004C + (screen * 0x1000)) 00009 #define REG_BLDCNT(screen) _REG16(0x04000050 + (screen * 0x1000)) 00010 #define REG_BLDALPHA(screen) _REG16(0x04000052 + (screen * 0x1000)) 00011 00012 #define SFX_BG0 1 00013 #define SFX_BG1 2 00014 #define SFX_BG2 4 00015 #define SFX_BG3 8 00016 #define SFX_OBJ 16 00017 #define SFX_BD 32 00018 00019 #define SFX_NONE 0 00020 #define SFX_ALPHA 1 00021 #define SFX_BRIGHTINC 2 00022 #define SFX_BRIGHTDEC 3 00023 00024 00050 #define PA_EnableBgMosaic(screen, bg) _REG16(REG_BGCNT(screen, bg)) |= (1 << 6) 00051 00052 00064 #define PA_DisableBgMosaic(screen, bg) _REG16(REG_BGCNT(screen, bg)) &= ~(1 << 6) 00065 00066 00067 00082 #define PA_SetBgMosaicXY(screen, h_size, v_size) {REG_MOSAIC(screen) &= 255; REG_MOSAIC(screen) |= (h_size + (v_size << 4));} 00083 00084 00099 #define PA_SetSpriteMosaicXY(screen, h_size, v_size) {REG_MOSAIC(screen) &= (255 << 8); REG_MOSAIC(screen) |= ((h_size << 8) + (v_size << 12));} 00100 00101 00102 00103 00104 00122 #define PA_EnableSpecialFx(screen, EffectType, FirstTarget, SecondTarget) REG_BLDCNT(screen) = (FirstTarget + (SecondTarget << 8) + (EffectType << 6)) 00123 00124 00125 00126 00135 #define PA_DisableSpecialFx(screen) REG_BLDCNT(screen) = 0 00136 00137 00138 00153 #define PA_SetSFXAlpha(screen, Coeff1, Coeff2) REG_BLDALPHA(screen) = Coeff1 + (Coeff2 << 8) 00154 00155 // end of SpecialFx 00157 00158 00159 #endif 00160 00161