/*以降オプション*/
//コメントを見せるか否か?
- setting->enable_user_comment = FALSE;
- setting->enable_owner_comment = FALSE;
- setting->data_user_path = NULL;
- setting->data_owner_path = NULL;
+ memset(setting->comment, 0x00, sizeof(setting->comment));
//一般的な設定
setting->font_path = NULL;
setting->font_index = 0;
setting->aspect_mode = 0;
int i;
char* arg;
- for(i=0;i<argc;i++){
- arg = argv[i];
- if(!setting->data_user_path && strncmp(FRAMEHOOK_OPT_DATA_USER,arg,FRAMEHOOK_OPT_DATA_USER_LEN) == 0){
- char* data_user = arg+FRAMEHOOK_OPT_DATA_USER_LEN;
- setting->data_user_path = data_user;
- setting->enable_user_comment = TRUE;
- fprintf(log,"[framehook/init]User Comment data path:%s\n",setting->data_user_path);
- fflush(log);
- }else if(!setting->data_owner_path && strncmp(FRAMEHOOK_OPT_DATA_OWNER,arg,FRAMEHOOK_OPT_DATA_OWNER_LEN) == 0){
- char* data_owner = arg+FRAMEHOOK_OPT_DATA_OWNER_LEN;
- setting->data_owner_path = data_owner;
- setting->enable_owner_comment = TRUE;
- fprintf(log,"[framehook/init]Owner Comment data path:%s\n",setting->data_owner_path);
- fflush(log);
- }else if(!setting->font_path && strncmp(FRAMEHOOK_OPT_FONT,arg,FRAMEHOOK_OPT_FONT_LEN) == 0){
+ for (i = 0; i < argc; i++) {
+ arg = argv[i];
+ int hit_comment = FALSE;
+ for (int j = 0; j < N_COMMENT_TYPE; j++) {
+ const char* const prefix = FRAMEHOOK_OPT_DATA[j];
+ const int prefix_len = strlen(prefix);
+ SETTING_COMMENT* const comset = &setting->comment[j];
+ if (!comset->path && strncmp(prefix, arg, prefix_len)) {
+ const char* data = arg + prefix_len;
+ comset->path = data;
+ comset->enable = TRUE;
+ fprintf(log, "[framehook/init]Comment data[%d] path:%s\n",
+ j, comset->path);
+ fflush(log);
+ hit_comment = TRUE;
+ break;
+ }
+ }
+ if (hit_comment) {
+ continue;
+ }
+
+ if(!setting->font_path && strncmp(FRAMEHOOK_OPT_FONT,arg,FRAMEHOOK_OPT_FONT_LEN) == 0){
char* font = arg+FRAMEHOOK_OPT_FONT_LEN;
setting->font_path = font;
fprintf(log,"[framehook/init]Font path:%s\n",setting->font_path);