TwlToolsRED/tests/SimpleFontViewSD/textdemolib/include/g2d_textdemolib/cmn.h
yoshida_teruhisa e69bf8e098 NitroSystem の textdemolib をごくごく一部改造して使っていたので、その周辺のソースも含める(たいしたサイズでもないので)
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlToolsRED@275 7061adef-622a-194b-ae81-725974e89856
2009-05-20 02:45:18 +00:00

103 lines
2.6 KiB
C

/*---------------------------------------------------------------------------*
Project: NITRO-System - demos - g2d - Text - textdemolib - include - g2d_textdemolib
File: cmn.h
Copyright 2004-2008 Nintendo. All rights reserved.
These coded instructions, statements, and computer programs contain
proprietary information of Nintendo of America Inc. and/or Nintendo
Company Ltd., and are protected by Federal copyright law. They may
not be disclosed to third parties or copied or duplicated in any form,
in whole or in part, without the prior written consent of Nintendo.
$Revision$
*---------------------------------------------------------------------------*/
#ifndef CMN_H_
#define CMN_H_
#include <nitro/types.h>
#include <nitro/os/common/interrupt.h>
#include <nitro/os/common/arena.h>
#include <nitro/os/common/alloc.h>
#include <nnsys/fnd/allocator.h>
#include <nnsys/fnd/archive.h>
#ifdef __cplusplus
extern "C" {
#endif
#define ARY_SIZEOF(ary) ( sizeof(ary) / sizeof( (ary)[0] ) )
#define ROUNDUP_DIV(a, b) (( (a) + ((b) - 1) ) / (b))
const static float ONE_FRAME_US = 16715.1; // 1フレームは 16715.1 us
const static float ONE_VBLANK_US = 4512.4; // Vブランク期間は 4512.4 us
typedef struct CMNGamePad
{
u16 trigger;
u16 release;
u16 button;
}
CMNGamePad;
extern CMNGamePad CMNGamePadState;
void CMN_InitInterrupt( void );
void CMN_BeginVBlankIntr( OSIrqFunction vBlankFunc );
void CMN_InitAllocator( NNSFndAllocator* pAllocator );
void CMN_InitFileSystem( NNSFndAllocator* pAllocator );
void CMN_ClearVram( void );
void CMN_ReadGamePad(void);
u32 CMN_LoadFile(void** ppFile, const char* fpath, NNSFndAllocator* pAlloc);
void CMN_UnloadFile(void* pFile, NNSFndAllocator* pAlloc);
NNSFndArchive* CMN_LoadArchive(const char* name, const char* path, NNSFndAllocator* pAllocator);
void CMN_RemoveArchive(NNSFndArchive* archive, NNSFndAllocator* pAllocator);
static inline u16 CMN_IsTrigger(u16 key)
{
return (u16)(CMNGamePadState.trigger & key);
}
static inline u16 CMN_IsRelease(u16 key)
{
return (u16)(CMNGamePadState.release & key);
}
static inline u16 CMN_IsPress(u16 key)
{
return (u16)(CMNGamePadState.button & key);
}
static inline void CMN_WaitVBlankIntr(void)
{
OS_WaitIrq(TRUE, OS_IE_V_BLANK);
}
static inline void CMN_SetPlaneVisible(GXPlaneMask plane)
{
GX_SetVisiblePlane(GX_GetVisiblePlane() | plane);
}
static inline void CMN_SetPlaneInvisible(GXPlaneMask plane)
{
GX_SetVisiblePlane(GX_GetVisiblePlane() & ~plane);
}
#ifdef __cplusplus
}/* extern "C" */
#endif
#endif // CMN_H_