From 7fe506355fbe4e0bc1daab98504866f0fb8294d1 Mon Sep 17 00:00:00 2001 From: Nichole Mattera Date: Wed, 1 Sep 2010 11:22:13 +0000 Subject: [PATCH] Initial source code. --- JALOG_CONV.dev | 59 ++++++++++++ JALOG_CONV.ico | Bin 0 -> 4150 bytes JALOG_CONV_private.h | 23 +++++ JALOG_CONV_private.rc | 37 ++++++++ JALOG_CONV_private.res | Bin 0 -> 5358 bytes Makefile.win | 33 +++++++ main.c | 208 +++++++++++++++++++++++++++++++++++++++++ 7 files changed, 360 insertions(+) create mode 100644 JALOG_CONV.dev create mode 100644 JALOG_CONV.ico create mode 100644 JALOG_CONV_private.h create mode 100644 JALOG_CONV_private.rc create mode 100644 JALOG_CONV_private.res create mode 100644 Makefile.win create mode 100644 main.c diff --git a/JALOG_CONV.dev b/JALOG_CONV.dev new file mode 100644 index 0000000..5cbfb66 --- /dev/null +++ b/JALOG_CONV.dev @@ -0,0 +1,59 @@ +[Project] +FileName=JALOG_CONV.dev +Name=JALOG_CONV +UnitCount=1 +Type=1 +Ver=1 +ObjFiles= +Includes= +Libs= +PrivateResource=JALOG_CONV_private.rc +ResourceIncludes= +MakeIncludes= +Compiler=-D_GNU_SOURCE_@@_ +CppCompiler= +Linker=-D_GNU_SOURCE_@@_ +IsCpp=0 +Icon=JALOG_CONV.ico +ExeOutput= +ObjectOutput= +OverrideOutput=1 +OverrideOutputName=JALOG_CONV.EXE +HostApplication= +Folders= +CommandLine= +UseCustomMakefile=0 +CustomMakefile= +IncludeVersionInfo=1 +SupportXPThemes=0 +CompilerSet=0 +CompilerSettings=0000000000000000000000 + +[Unit1] +FileName=main.c +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=84 +LanguageID=1033 +CharsetID=1252 +CompanyName=Steven Mattera +FileVersion=1.0 +FileDescription= +InternalName= +LegalCopyright=Copyright 2010 Steven Mattera. All Rights Reserved. +LegalTrademarks= +OriginalFilename=JALOG_CONV.EXE +ProductName=Jedi Academy Server Log Converter +ProductVersion=1.0 +AutoIncBuildNr=1 + diff --git a/JALOG_CONV.ico b/JALOG_CONV.ico new file mode 100644 index 0000000000000000000000000000000000000000..7d9af9f62f20357bd85696a8ca071b3fd8c3474f GIT binary patch literal 4150 zcmd6pp;8<{5Qc{&GIfPap)g0qW}hHB>J;&)RAH!Ehe9C}caM-t@c=vkG6Hpqr$}KV zE?>`g+YHM=7Glx`L+@DW4|9D%-GBNbeeWg1@bg z*Xxz>Jf^YwVf?S3-)sEi`18KZd+;H1cz6if(Xu>&4;hSNS#ow(uCA_X{5|}k*7!>> z86Yozm#psdw-&}&(8m(=0ben#y443Cds8jgRD*wR0aX~2qf8tLr)0MPhlNOVdU{GC zALS5X!_MBNnD>McjKPq2Ug3ma&B$2W7g7*F{Q3Dg@i>UUq)Xzh_;qxlEkQ7<;`3v? zZ!?9Hj2X|~0S=8eQha9^iFX$O|FDc+Z7WUiHXcB>k6j};YP6_x`owev=v7o4LFHKp~)2T&lE&x)XIXBto_59}M2Ju(V)JO6OE`OUx{?G=WEI7Bf zw=hrrx5|=})+lm|4|rRGvM-kfajO1z_)}B@Ia|es3H@v5(>90?CMf`CmtUqon%JC~ z2xLrsxWHEHuj(`E|CC~@)9PdMco0$_s_6T;jcgwHzf7M5$8l$EQL7*YwCR7qJqWqK z6ZID#@exGvadHdDLJE+n0-^lAiM&;ooJ@V}meCeOx?z_|0X{z?{U`DVA6eLC3Srco z1ev^+U>17mulmrFt+o2=lfqu51Yj`~qgQd*g~U%OMotFckmw;kGtzdu_02Mczxa&7 zbNHZvnYrAN7Mz)9;U{y2YQa^8)OS^M3&5>HeOUgqC2jE?qnz5JAY)d+XuBqVE>aFP zlg#jzyim%uAh5QDHJ1U>uJAJpae3-vi!y@mq+u>G9b=oqSEJEL*6PqmI1ol3ju>Y_ z#WD;UBD6fMVub9YLJ=%~M)j%J-3tDuV // include for version info constants + + +A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "JALOG_CONV.ico" + +// +// TO CHANGE VERSION INFORMATION, EDIT PROJECT OPTIONS... +// +1 VERSIONINFO +FILEVERSION 1,0,0,84 +PRODUCTVERSION 1,0,0,84 +FILETYPE VFT_APP +{ + BLOCK "StringFileInfo" + { + BLOCK "040904E4" + { + VALUE "CompanyName", "Steven Mattera" + VALUE "FileVersion", "1.0" + VALUE "FileDescription", "" + VALUE "InternalName", "" + VALUE "LegalCopyright", "Copyright 2010 Steven Mattera. All Rights Reserved." + VALUE "LegalTrademarks", "" + VALUE "OriginalFilename", "JALOG_CONV.EXE" + VALUE "ProductName", "Jedi Academy Server Log Converter" + VALUE "ProductVersion", "1.0" + } + } + BLOCK "VarFileInfo" + { + VALUE "Translation", 0x0409, 1252 + } +} + diff --git a/JALOG_CONV_private.res b/JALOG_CONV_private.res new file mode 100644 index 0000000000000000000000000000000000000000..6b4a2057dbbe9ea1beddd4d75b5675d16d840fb8 GIT binary patch literal 5358 zcmd6r&ud&&6vxjb1EEl21s76WgwjY6DecgWAf=^0v?bc1Eu%a8E2gDs67r(hg3v|j zO4L>U1S!RZtL}u-rHihzDAlD)LFra;{G9WhcjnGZQl?pXlezEQd(Zuz@A=;I-Xw3X z)iQ6--Y}EZZXH~$RF<+W{h)-76H{{PS8@o6A|Mklc z;lDlpY-O_*_>k%KdZ1ldx0m2UhDNe%xqH{1Jb4oSBlu;`I1>T#;;$_mqx_W%y>F~s zO!NU?Vk+xWA8cAXnzM-p|2zV+kWcmi*-A%%!A2yybLS3$G!%#Q&!LByt#HGc z21ACpVYnTQp&GjgA^-dL@8i!#L|_sJ{C#zl74w7;KB{8#EB^sz9YT}z>Cf2#4s7Wu ze9h3~uTud0@VW=e)B@PMbe2DW93Q8Kv*)O!YTCJL=Z4>BGklKm$@{FhPnnLEyco$Q z8|!*ybvxce5QCoN9zJ}i>KMNlT1LU}bUR&PcDjx%a86S92Y2n54H^Oj&0)Jy8eLjccCZlY{v7c)UQr*BPjK;9@rXaP!6ypFix)3op89Vo zOHL|BA(!}omnlg0^>ss>(0_As}vN4TFUz04j;_2mHNvjgld%(fTf`rwTi(hBz{WKFwy~oK%4QI5p5l}Y(*J| zzwqguXZ?i+X2$aK2+{Hg7`_sIGM7*#xRfFEFpEwXaAhHV*#7dCw1uzU(}@xVnHEWS zr*cjHJV?2znPi4l;zB9+g23JqR^zvk{ z3=RT=5a`1##=U?|=ybytLdjEEG>|ovP&kV}z4*uDZUg=bM^9*+%fy+?8HqE%jCj~M z$cLVxBh-IRz#skLFa5z$jzXYMwKbFYfj!7ku%aYnW>WuB9~CgGCI5_-;Yx5kGdnh> zK0v`4eV#sj3V%fe0Rw;f2H_kEJQFFIc&t!HXyBtf{QXbbc*c?xOEjT1Fc~($OE+H) zVp3Q~40FEjRX@)gPb{^}DowJV_pP@gE z?d|9Gpa1$!|6Gij`Wl15%+Pl0o(BML%~tJ(E!hHSH*C@7L0+=YZJE_e;d982*dcq5 z&k;B{qoej3kxt-q%U0|%{)?C?|b%zuX9(VC1Nd(urm7w_AQ$OXCYQSgB7^D z0tbYSjEVhd;YG;HL|O78*;fA>Re;}7Ti|t zCOhhOI`lp_;OVF3xz+mlNXnlj{v0*&0rhbr>ZC`kQ}!tzZ`VSlE;!5BU!djMh(c$B z-HpiODyU*}oAHHYzshKi{R>=Ozop1&b)Y)$!QyO3V>C~=KHrnUsu%gz*$k_X`UlIX sXs??k^jPFtp8Kx$@9p}%;FQ&G0;jBg$2VpE_RiasmG3Zpax$?010h4#bpQYW literal 0 HcmV?d00001 diff --git a/Makefile.win b/Makefile.win new file mode 100644 index 0000000..13b6d85 --- /dev/null +++ b/Makefile.win @@ -0,0 +1,33 @@ +# Project: JALOG_CONV +# Makefile created by Dev-C++ 4.9.9.2 + +CPP = g++.exe +CC = gcc.exe +WINDRES = windres.exe +RES = JALOG_CONV_private.res +OBJ = main.o $(RES) +LINKOBJ = main.o $(RES) +LIBS = -L"C:/Dev-Cpp/lib" -D_GNU_SOURCE +INCS = -I"C:/Dev-Cpp/include" +CXXINCS = -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" +BIN = JALOG_CONV.EXE +CXXFLAGS = $(CXXINCS) +CFLAGS = $(INCS) -D_GNU_SOURCE +RM = rm -f + +.PHONY: all all-before all-after clean clean-custom + +all: all-before JALOG_CONV.EXE all-after + + +clean: clean-custom + ${RM} $(OBJ) $(BIN) + +$(BIN): $(OBJ) + $(CC) $(LINKOBJ) -o "JALOG_CONV.EXE" $(LIBS) + +main.o: main.c + $(CC) -c main.c -o main.o $(CFLAGS) + +JALOG_CONV_private.res: JALOG_CONV_private.rc + $(WINDRES) -i JALOG_CONV_private.rc --input-format=rc -o JALOG_CONV_private.res -O coff diff --git a/main.c b/main.c new file mode 100644 index 0000000..e44a653 --- /dev/null +++ b/main.c @@ -0,0 +1,208 @@ +// main.c +// Jedi Academy Server Log Converter - Version 1.0 +// +// Created By Steven Mattera on August 30th 2010. +// Copyright (c) 2010 Steven Mattera +// +// Jedi Academy Server Log Converter is free software; you can +// redistribute it and/or modify it under the terms of the GNU General +// Public License as published by the Free Software Foundation; either +// version 2 of the License, or (at your option) any later version. +// +// Jedi Academy Server Log Converter is distributed in the hope that it +// will be useful, but WITHOUT ANY WARRENTY; without even the implied +// warrenty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more deails. +// +// You should have received a copy of the GNU General Public License +// along with Jedi Academy Server Log Converter; if not, write to the Free +// Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 +// USA +// + +#include +#include +#include +#include +#include + +FILE * openLogFile(char *path); +FILE * openConvFile(char *argv[]); + +int main(int argc, char *argv[]) { + FILE * logFile; + FILE * convFile; + + printf("Jedi Academy Server Log Converter\n"); + printf("Copyright (c) 2010 Steven Mattera \n\n"); + printf("Jedi Academy Server Log Converter is free software; you can redistribute it\n"); + printf("and/or modify it under the terms of the GNU General Public License as published\n"); + printf("by the Free Software Foundation; either version 2 of the License, or (at your\n"); + printf("option) any later version.\n\n"); + printf("Jedi Academy Server Log Converter is distributed in the hope that it will be\n"); + printf("useful, but WITHOUT ANY WARRENTY; without even the implied warrenty of \n"); + printf("MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public\n"); + printf("License for more deails.\n\n"); + printf("You should have received a copy of the GNU General Public License along with\n"); + printf("Jedi Academy Server Log Converter; if not, write to the Free Software\n"); + printf("Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n\n"); + + if(argc != 2) { + printf("Usage: JALOG_CONV.EXE \n"); + system("pause"); + + return -1; + } + + logFile = openLogFile(argv[1]); + if (logFile == NULL) return -1; + + convFile = openConvFile(argv); + if (convFile == NULL) return -1; + + fputs("\n\n", convFile); + + char * line; + char * lineProcessing; + char * convLine; + size_t currentPosition; + int color = 7; + + while(!feof(logFile)) { + line = (char *)malloc(sizeof(char)*512); + memset(line, '\0', sizeof(char)*512); + + fgets(line, 512, logFile); + if(color != 7) { + fputs("", convFile); + color = 7; + } + + int n; + for (n = 0; n < strlen(line); n++) { + if(line[n] == '^') { + switch (atoi(&line[n+1])) { + case 1: + if(color != 1) { + color = 1; + fputs("", convFile); + } + break; + case 2: + if(color != 2) { + color = 2; + fputs("", convFile); + } + break; + case 3: + if(color != 3) { + color = 3; + fputs("", convFile); + } + break; + case 4: + if(color != 4) { + color = 4; + fputs("", convFile); + } + break; + case 5: + if(color != 5) { + color = 5; + fputs("", convFile); + } + break; + case 6: + if(color != 6) { + color = 6; + fputs("", convFile); + } + break; + case 7: + if(color != 7) { + color = 7; + fputs("", convFile); + } + break; + case 0: + if(color != 8) { + color = 8; + fputs("", convFile); + } + break; + default: + fputc('^', convFile); + fputc(line[n+1], convFile); + break; + } + n++; + } + else if (line[n] == ':' && color != 7) { + fputs("", convFile); + fputc(':', convFile); + } + else if (line[n] == '\\' && color != 7) { + fputs("", convFile); + fputc('\\', convFile); + } + else if (line[n] == ' ' && line[n+1] == 'k' && line[n+2] == 'i' && line[n+3] == 'l' && line[n+4] == 'l' && line[n+5] == 'e' && line[n+6] == 'd' && line[n+7] == ' ' && color != 7) { + fputs("", convFile); + fputc(' ', convFile); + } + else if (line[n] == ' ' && line[n+1] == 'b' && line[n+2] == 'y' && line[n+3] == ' ' && color != 7) { + fputs("", convFile); + fputc(' ', convFile); + } + else { + fputc(line[n], convFile); + } + } + + fputs("
\n", convFile); + + free(line); + } + + fputs("\n", convFile); + fputs("", convFile); + + fclose(convFile); + fclose(logFile); + + return 0; +} + +FILE * openLogFile(char *path) { + FILE * logFile = fopen(path, "r"); + + if(logFile == NULL) { + printf("Error: Opening reading stream.\n\n"); + system("pause"); + + return NULL; + } + + return logFile; +} + +FILE * openConvFile(char *argv[]) { + char abs_exe_path[MAX_PATH]; + + char * pch = strrchr(argv[0],'\\'); + strncpy(abs_exe_path, argv[0], pch-argv[0]+1); + free(pch); + + char convPath[PATH_MAX]; + sprintf(convPath, "%sJALOG_CONV.HTML", abs_exe_path); + FILE * convFile = fopen(convPath, "w+"); + + + if(convFile == NULL) { + printf("Error: Opening writing stream.\n\n"); + system("pause"); + + return NULL; + } + + return convFile; +}