custom.c
来自「ANFY特效」· C语言 代码 · 共 655 行 · 第 1/2 页
C
655 行
{ "VarStart", "variationstart" }, { "VarMove", "variationmove" }, { "Precision", "precision" }, { "WRadiuos", "radius" }, { "Filter", "filter" }, { "Font", "font" }, { "BackType", "background" }, { "Mode", "mode" }, { "Flat", "flat" }, { "MouseSens", "mouseSens" }, { "YRotation", "YRotation" }, { "OffsetStep", "offsetStep" }, { "StatusbarY", "statusbar_y" }, { "TextureFile", "texture" }, { "ExtrudeDiff", "extrudediff" }, { "TextDiff", "textdiff" }, { "BackColor", "bgcolor" }, { "WheelColor", "wheelcolor" }, { "TextColor", "textcolor" }, { "SelColor", "selectcolor" }, { "MenuFx", "menu_fx" }, { "Align", "textalign" }, { "BackFx", "back_fx" }, { "MenuY", "menu_y" }, { "SeedCol", "mmgalaxy_scol" }, { "BackClr", "mmgalaxy_clr" }, { "BackClrChk", "mmgalaxy_bcol" }, { "SmoothFilter", "mmgalaxy_filter" }, { "FireR", "mmgalaxy_r" }, { "FireG", "mmgalaxy_g" }, { "FireB", "mmgalaxy_b" }, { "Shape", "mmgalaxy_fx" }, { "InGoing", "scrollSpeedInGoing" }, { "OutGoing", "scrollSpeedOutGoing" }, { "InBounc", "numberOfBouncesInGoing" }, { "OutBounc", "numberOfBouncesOutGoing" }, { "BGravity", "bounceGravity" }, { "BAplitude", "bounceAmplitude" }, { "SelBackColor", "backgroundColorSelection" }, { "ScrollColor", "systemColor" }, { "FilterColor", "filterColor" }, { "AutoHigh", "autoHighLight" }, { "ScrollBar", "scrollBarStyle" }, { "Border", "borderStyle" }, { "Icon_", "Icon" }, // { INI_CONFIG_ "Config_", "" }, { "HalfReflect", "halfreflect" }, { "Interval", "interval" }, { "Fadespeed", "fadespeed" }, { "ProgrFade", "progressivefade" }, { "JPGQuality", "jpgquality" }, { "SaveButton", "savebutton" }, { "SendToMail", "sendtomail" }, { "PenColor", "pencolor" }, { "StartMessage", "startmsg" }, { "TextType", "texttype" }, { "WaveMode", "wavemode" }, { "WaveSpeed", "wavespeed" }, { "WaveType", "wavetype" }, { "ReverseFx", "reversefx" }, { "MirrorMode", "mirrormode" }, { "MirrorHeigth", "mirrorheight" }, { "FontIndex", "fontindex" }, { "F1NumFar", "flakes1" }, { "F2NumMidle", "flakes2" }, { "F3NumNear", "flakes3" }, { "F4NumForground", "flakes4" }, { "WindMaxSpeed", "windmax" }, { "WindVar", "windvariation" }, { "SnowSpeed", "speed" }, { "SnowOver", "overtext" }, { "AudioFile", "boomsound" }, { "FwMax", "maxfireworks" }, { "FwPower", "fireworkspower" }, { "FwDensity", "fireworksdensity" }, { "FwTimeDuration", "fireworksduration" }, { "Gravity", "gravity" }, { "ShowOverText", "overtext" }, { "FloatMode", "floatmode" }, { "FloatInFront", "floatinfront" }, { "FloatTitle", "floatitle" }, { "FloatX", "floatx" }, { "FloatY", "floaty" }, { "CharSet", "charset" }, { NULL, NULL } };char* convert_old_var (char* old){ static char param[32]; char *ptr, tmp[8]; int i; for (i = 0; conv_table[i][0] != NULL; i++) if (strcmp (conv_table[i][0], old) == 0) return conv_table[i][1]; ptr = &old[strlen(old)-1]; while (*ptr <= '9' && *ptr >= '0') ptr--; ptr++; strcpy (tmp, ptr); *ptr = 0; printf ("%s - %s\n", old, tmp); for (i = 0; conv_table[i][0] != NULL; i++) if (strcmp (conv_table[i][0], old) == 0) { sprintf (param, "%s%s", conv_table[i][1], tmp); return param; } return old;}char* strupr (char* str);char* convert_new_var (char* np){ static char param[32]; char *ptr, tmp[8], new[256], t2[64]; int i; strcpy (new, np); strupr (new); for (i = 0; conv_table[i][1] != NULL; i++) { strcpy (t2, conv_table[i][1]); strupr (t2); if (strcmp (t2, new) == 0) return conv_table[i][0]; } ptr = &new[strlen(new)-1]; while (*ptr <= '9' && *ptr >= '0') ptr--; ptr++; strcpy (tmp, ptr); *ptr = 0; // printf ("%s - %s\n", old, tmp); for (i = 0; conv_table[i][0] != NULL; i++) { strcpy (t2, conv_table[i][1]); strupr (t2); if (strcmp (t2, new) == 0) { sprintf (param, "%s%s", conv_table[i][0], tmp); return param; } } return np;}char* get_rc_path (){ char *filename, *home; int l; home = g_get_home_dir (); l = strlen (home); filename = g_malloc (l + 15); strcpy (filename, home); if (filename[l-1] != '/') strcat (filename, "/"); strcat (filename, ".anfyrc"); return filename;}int init_rc (){ char* path; FILE *f; int l; void* buf; path = get_rc_path (); f = fopen (path, "rt"); if (f == NULL) { f = fopen ("/usr/local/share/anfy/anfyrc", "rb"); if (f == NULL) { g_free (path); return 0; } fseek (f, 0, SEEK_END); l = ftell (f); rewind (f); buf = g_malloc (l); fread (buf, 1, l, f); fclose (f); f = fopen (path, "wb"); fwrite (buf, 1, l, f); fclose (f); g_free (buf); } else fclose (f); g_free (path); return 1;}int GetSavedVar (char* section, char* key, char* value){ char buf[256], *ptr; FILE* rc; ptr = get_rc_path (); rc = fopen (ptr, "rt"); g_free (ptr); strcpy (value, ""); while (fgets (buf, 256, rc) != 0) { if (buf[0] != '[') continue; ptr = strchr (buf, ']'); *ptr = '\0'; if (strcmp (&buf[1], section) == 0) { while (fgets (buf, 256, rc) != 0) { ptr = strchr (buf, '='); if (ptr == NULL) break; *ptr = '\0'; if (strcmp (buf, key) == 0) { strcpy (value, ptr+2); ptr = strrchr (value, '\"'); *ptr = '\0'; break; } } break; } } fclose (rc); return strlen (value);}void SaveVar (char* section, char* key, char* value){ char buf[256], *ptr, *tmp; FILE *old_rc, *new_rc; ptr = get_rc_path (); tmp = g_strdup (ptr); strcat (ptr, ".bak"); remove (ptr); rename (tmp, ptr); old_rc = fopen (ptr, "rt"); new_rc = fopen (tmp, "wt"); g_free (ptr); g_free (tmp); while (fgets (buf, 256, old_rc) != 0) { fputs (buf, new_rc); if (buf[0] != '[') continue; ptr = strchr (buf, ']'); *ptr = '\0'; if (strcmp (&buf[1], section) != 0) continue; sprintf (buf, "%s=\"%s\"\n", key, value); fputs (buf, new_rc); while (fgets (buf, 256, old_rc) != 0) { ptr = strchr (buf, '='); if (ptr != NULL) { *ptr = '\0'; if (strcmp (buf, key) == 0) break; *ptr = '='; fputs (buf, new_rc); } else fputs (buf, new_rc); } } while (fgets (buf, 256, old_rc) != 0) fputs (buf, new_rc); fclose (old_rc); fclose (new_rc);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?