// CtrIcon.cpp : コンソール アプリケーションのエントリ ポイントを定義します。 // #ifndef __IDB_CTR_ICON_H_ #define __IDB_CTR_ICON_H_ #include #include #define BIG_TEXTURE_WIDTH 64 // 通常アイコンのテクスチャサイズ #define BIG_TEXTURE_HEIGHT 64 #define SMALL_TEXTURE_WIDTH 32 // 小さなアイコンのテクスチャサイズ #define SMALL_TEXTURE_HEIGHT 32 #define BIG_ICON_WIDTH nn::CTR::SYSTEMMENUDATA_BIG_ICON_WIDTH #define BIG_ICON_HEIGHT nn::CTR::SYSTEMMENUDATA_BIG_ICON_HEIGHT #define SMALL_ICON_WIDTH nn::CTR::SYSTEMMENUDATA_SMALL_ICON_HEIGHT // 小さなアイコンの使用領域&アイコンデータのサイズ #define SMALL_ICON_HEIGHT nn::CTR::SYSTEMMENUDATA_SMALL_ICON_HEIGHT #define TWL_ICON_WIDTH 32 #define TWL_ICON_HEIGHT 32 #define PIXEL_SIZE sizeof(u16) // 1ピクセルのビット深度 #define DATA_BLOCK_WIDTH 8 // ブロックサイズ #define DATA_BLOCK_HEIGHT 8 #define DATA_BLOCK_LENGTH (DATA_BLOCK_WIDTH * DATA_BLOCK_HEIGHT) #define DATA_BLOCK_SIZE (DATA_BLOCK_LENGTH* PIXEL_SIZE) // ブロック単位での大きさ #define BIG_ICON_BLOCK_WIDTH (BIG_ICON_WIDTH / DATA_BLOCK_WIDTH) #define BIG_ICON_BLOCK_HEIGHT (BIG_ICON_HEIGHT/ DATA_BLOCK_HEIGHT) #define SMALL_ICON_BLOCK_WIDTH (SMALL_ICON_WIDTH / DATA_BLOCK_WIDTH) #define SMALL_ICON_BLOCK_HEIGHT (SMALL_ICON_HEIGHT/ DATA_BLOCK_HEIGHT) #define TWL_ICON_BLOCK_WIDTH (TWL_ICON_WIDTH / DATA_BLOCK_WIDTH) #define TWL_ICON_BLOCK_HEIGHT (TWL_ICON_HEIGHT/ DATA_BLOCK_HEIGHT) #define BIG_TEXTURE_BLOCK_WIDTH (BIG_TEXTURE_WIDTH / DATA_BLOCK_WIDTH) #define BIG_TEXTURE_BLOCK_HEIGHT (BIG_TEXTURE_HEIGHT/ DATA_BLOCK_HEIGHT) #define SMALL_TEXTURE_BLOCK_WIDTH (SMALL_TEXTURE_WIDTH / DATA_BLOCK_WIDTH) #define SMALL_TEXTURE_BLOCK_HEIGHT (SMALL_TEXTURE_HEIGHT/ DATA_BLOCK_HEIGHT) // アイコン画像をテクスチャに変換したデータ(2の乗数にするためのパディングつき) typedef struct { u16 little[SMALL_TEXTURE_HEIGHT*SMALL_TEXTURE_WIDTH]; u16 big[BIG_TEXTURE_HEIGHT*BIG_TEXTURE_WIDTH]; } IDB_TextureData; typedef nn::CTR::SystemMenuDataIcon IDB_IconData; #endif // ifndef __IDB_IDB_H_