ctr_Repair/trunk/SkipFirstLaunch/idb/include/CtrIcon.h
N2614 0d5bf9a14e UIG製のコードを追加
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@651 385bec56-5757-e545-9c3a-d8741f4650f1
2012-02-22 02:25:50 +00:00

56 lines
2.2 KiB
C

// CtrIcon.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//
#ifndef __IDB_CTR_ICON_H_
#define __IDB_CTR_ICON_H_
#include <nn/types.h>
#include <nn/CTR/CTR_SystemMenuData.h>
#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_