/*---------------------------------------------------------------------------* Project: WiiConnect24 API demos File: FLViewer.h Copyright 2006 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. $Log: FLViewer.h,v $ Revision 1.1 2006/09/13 10:07:22 torigoe_nobutaka Initial check in. $NoKeywords: $ *---------------------------------------------------------------------------*/ #ifndef __DEMOS_NWC24DEMO_FRIEND_LIST_VIEWER_H__ #define __DEMOS_NWC24DEMO_FRIEND_LIST_VIEWER_H__ #include #include #define FONT_SIZE 16 #define HEX_BUF_SIZE 5 #define LIST_BOX_ROWS 20 #define FD_ID_BUF_SIZE 17 #define NAME_LEN 10 #define NAME_BUF_SIZE 2 * NAME_LEN + 1 #define WII_ID_BUF_SIZE 17 #define MAIL_ADDR_BUF_SIZE 256 #define NUM_EDIT_ITEMS 5 #define EDIT_ITEM_TYPE 0 #define EDIT_ITEM_STATUS 1 #define EDIT_ITEM_FD_ID 2 #define EDIT_ITEM_NAME 3 #define EDIT_ITEM_ADDRESS 4 #ifdef __cplusplus extern "C" { #endif /*===========================================================================*/ /*---------------------------------------------------------------------------* Type definitions *---------------------------------------------------------------------------*/ /* Tentative friend information being edited */ typedef struct EditFriendInfo { u32 type; u32 status; char fdId[FD_ID_BUF_SIZE]; char name[NAME_BUF_SIZE]; char wiiId[WII_ID_BUF_SIZE]; char mailAddr[MAIL_ADDR_BUF_SIZE]; u8 padding[5]; } EditFriendInfo; /* Application status */ typedef enum AppState { STATE_SELECT_FRIEND, // Selection of friend STATE_SELECT_EDIT_ITEM, // Select friend information item to edit STATE_EDIT_TYPE, // Editing address type STATE_EDIT_STATUS, // Editing communication capable/incapable information STATE_EDIT_FD_ID, // Editing FDID STATE_EDIT_NAME, // Editing nickname STATE_EDIT_WII_ID, // Editing Wii number STATE_EDIT_MAIL_ADDR, // Editing e-mail address STATE_DELETE_FRIEND // Delete friend information } AppState; /*---------------------------------------------------------------------------* Global constants *---------------------------------------------------------------------------*/ extern const GXColor CLR_DARKBLUE; extern const GXColor CLR_WHITE; extern const GXColor CLR_GRAY; extern const GXColor CLR_YELLOW; extern const GXColor CLR_DARKYELLOW; extern const GXColor CLR_GREEN; extern const char* STR_NOT_REGISTERED; extern const BOOL UPDATABLE_ITEM_TABLE[]; /*---------------------------------------------------------------------------* Global variables *---------------------------------------------------------------------------*/ extern s16 g_screenWidth; extern s16 g_screenHeight; extern u32 g_longHold; // Button held down extern AppState g_state; extern u32 g_numFriendInfos; extern u32 g_idxSelectedFriend; extern u32 g_idxTopOfFriendList; extern u8 g_selectedEditItem; extern NWC24FriendInfo* g_tempInfo; extern EditFriendInfo g_editFriendInfo; // Friend information being edited extern EditFriendInfo g_backupFriendInfo; // Friend information for Undo extern char g_nameBuf[][NAME_BUF_SIZE]; extern u32 g_idxNameBufStart; extern char g_hexBuf[]; extern BOOL g_bHelp; /*---------------------------------------------------------------------------* Function prototypes *---------------------------------------------------------------------------*/ void CheckError ( const char* strFunc, NWC24Err err ); u64 ConvStringTo16Digits( const char* str ); void ConvNameUtf16ToSjis ( char* dst, const u16* src ); void ConvNameSjisToUtf16 ( u16* dst, const char* src ); u32 SjisStrLen ( const char* str ); BOOL SjisIsMultibyte ( const char* str ); void InitEditFriendInfo ( NWC24FriendInfo* info ); void RegisterFriendInfo ( u32 index ); /*===========================================================================*/ #ifdef __cplusplus } #endif #endif /* __DEMOS_NWC24DEMO_FRIEND_LIST_VIEWER_H__ */ /*======== End of FLViewer.h ========*/