Version_2.0_Preview
Nichole Mattera 14 years ago
parent 3d865af692
commit 29889ddfbe
  1. 49
      JALOG_CONV.dev
  2. 10
      JALOG_CONV_private.h
  3. 11
      JALOG_CONV_private.rc
  4. BIN
      JALOG_CONV_private.res
  5. 16
      Makefile.win
  6. 216
      main.c
  7. 140
      main.cpp
  8. 1
      resource.h
  9. 3
      resource.rc

@ -1,8 +1,8 @@
[Project]
FileName=JALOG_CONV.dev
Name=JALOG_CONV
UnitCount=1
Type=1
UnitCount=3
Type=0
Ver=1
ObjFiles=
Includes=
@ -10,15 +10,15 @@ Libs=
PrivateResource=JALOG_CONV_private.rc
ResourceIncludes=
MakeIncludes=
Compiler=-D_GNU_SOURCE_@@_
Compiler=
CppCompiler=
Linker=-D_GNU_SOURCE_@@_
IsCpp=0
Icon=JALOG_CONV.ico
Linker=
IsCpp=1
Icon=
ExeOutput=
ObjectOutput=
OverrideOutput=1
OverrideOutputName=JALOG_CONV.EXE
OverrideOutput=0
OverrideOutputName=JALOG_CONV.exe
HostApplication=
Folders=
CommandLine=
@ -30,8 +30,8 @@ CompilerSet=0
CompilerSettings=0000000000000000000000
[Unit1]
FileName=main.c
CompileCpp=0
FileName=main.cpp
CompileCpp=1
Folder=
Compile=1
Link=1
@ -40,20 +40,39 @@ OverrideBuildCmd=0
BuildCmd=
[VersionInfo]
Major=1
Minor=1
Major=0
Minor=2
Release=0
Build=89
LanguageID=1033
CharsetID=1252
CompanyName=Steven Mattera
FileVersion=1.0
FileVersion=2.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
ProductVersion=2.0
AutoIncBuildNr=0
[Unit2]
FileName=resource.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit3]
FileName=resource.rc
Folder=JALOG_CONV
Compile=1
Link=0
Priority=1000
OverrideBuildCmd=0
BuildCmd=

@ -5,19 +5,19 @@
#define JALOG_CONV_PRIVATE_H
/* VERSION DEFINITIONS */
#define VER_STRING "1.1.0.89"
#define VER_MAJOR 1
#define VER_MINOR 1
#define VER_STRING "0.2.0.89"
#define VER_MAJOR 0
#define VER_MINOR 2
#define VER_RELEASE 0
#define VER_BUILD 89
#define COMPANY_NAME "Steven Mattera"
#define FILE_VERSION "1.0"
#define FILE_VERSION "2.0"
#define FILE_DESCRIPTION ""
#define INTERNAL_NAME ""
#define LEGAL_COPYRIGHT "Copyright 2010 Steven Mattera. All Rights Reserved."
#define LEGAL_TRADEMARKS ""
#define ORIGINAL_FILENAME "JALOG_CONV.EXE"
#define PRODUCT_NAME "Jedi Academy Server Log Converter"
#define PRODUCT_VERSION "1.0"
#define PRODUCT_VERSION "2.0"
#endif /*JALOG_CONV_PRIVATE_H*/

@ -3,15 +3,14 @@
#include <windows.h> // include for version info constants
A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "JALOG_CONV.ico"
#include "resource.rc"
//
// TO CHANGE VERSION INFORMATION, EDIT PROJECT OPTIONS...
//
1 VERSIONINFO
FILEVERSION 1,1,0,89
PRODUCTVERSION 1,1,0,89
FILEVERSION 0,2,0,89
PRODUCTVERSION 0,2,0,89
FILETYPE VFT_APP
{
BLOCK "StringFileInfo"
@ -19,14 +18,14 @@ FILETYPE VFT_APP
BLOCK "040904E4"
{
VALUE "CompanyName", "Steven Mattera"
VALUE "FileVersion", "1.0"
VALUE "FileVersion", "2.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"
VALUE "ProductVersion", "2.0"
}
}
BLOCK "VarFileInfo"

Binary file not shown.

@ -7,27 +7,27 @@ 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
LIBS = -L"C:/Dev-Cpp/lib" -mwindows
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
BIN = JALOG_CONV.exe
CXXFLAGS = $(CXXINCS)
CFLAGS = $(INCS) -D_GNU_SOURCE
CFLAGS = $(INCS)
RM = rm -f
.PHONY: all all-before all-after clean clean-custom
all: all-before JALOG_CONV.EXE all-after
all: all-before JALOG_CONV.exe all-after
clean: clean-custom
${RM} $(OBJ) $(BIN)
$(BIN): $(OBJ)
$(CC) $(LINKOBJ) -o "JALOG_CONV.EXE" $(LIBS)
$(CPP) $(LINKOBJ) -o "JALOG_CONV.exe" $(LIBS)
main.o: main.c
$(CC) -c main.c -o main.o $(CFLAGS)
main.o: main.cpp
$(CPP) -c main.cpp -o main.o $(CXXFLAGS)
JALOG_CONV_private.res: JALOG_CONV_private.rc
JALOG_CONV_private.res: JALOG_CONV_private.rc resource.rc
$(WINDRES) -i JALOG_CONV_private.rc --input-format=rc -o JALOG_CONV_private.res -O coff

216
main.c

@ -1,216 +0,0 @@
// main.c
// Jedi Academy Server Log Converter - Version 1.1
//
// Created By Steven Mattera on August 30th 2010.
// Copyright (c) 2010 Steven Mattera <stevenmattera@gmail.com>
//
// 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 <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <unistd.h>
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 <stevenmattera@gmail.com>\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 <PATH_TO_LOG>\n");
system("pause");
return -1;
}
logFile = openLogFile(argv[1]);
if (logFile == NULL) return -1;
convFile = openConvFile(argv);
if (convFile == NULL) return -1;
fputs("<html><head><style>body{background-color:gray}b{font-weight:normal}.r{color:red}.g{color:green}.y{color:yellow}.b{color:blue}.c{color:cyan}.m{color:magenta}.w{color:white}.l{color:black}</style></head><body><span class='w'>", 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("</b><b class=w>", 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("</b><b class='r'>", convFile);
}
break;
case 2:
if(color != 2) {
color = 2;
fputs("</b><b class='g'>", convFile);
}
break;
case 3:
if(color != 3) {
color = 3;
fputs("</b><b class=y'>", convFile);
}
break;
case 4:
if(color != 4) {
color = 4;
fputs("</b><b class='b'>", convFile);
}
break;
case 5:
if(color != 5) {
color = 5;
fputs("</b><b class='c'>", convFile);
}
break;
case 6:
if(color != 6) {
color = 6;
fputs("</b><b class='m'>", convFile);
}
break;
case 7:
if(color != 7) {
color = 7;
fputs("</b><b class='w'>", convFile);
}
break;
case 0:
if(color != 8) {
color = 8;
fputs("</b><b class='l'>", convFile);
}
break;
default:
fputc('^', convFile);
fputc(line[n+1], convFile);
break;
}
n++;
}
else if (line[n] == ':' && color != 7) {
fputs("</b><b class='w'>", convFile);
fputc(':', convFile);
}
else if (line[n] == '\\' && color != 7) {
fputs("</b><b class='w'>", 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("</b><b class='w'>", convFile);
fputc(' ', convFile);
}
else if (line[n] == ' ' && line[n+1] == 'b' && line[n+2] == 'y' && line[n+3] == ' ' && color != 7) {
fputs("</b><b class='w'>", convFile);
fputc(' ', convFile);
}
else if (line[n] == '<') {
fputs("&lt;", convFile);
}
else if (line[n] == '>') {
fputs("&gt;", convFile);
}
else if (line[n] == '&') {
fputs("&amp;", convFile);
}
else if (line[n] != '\n' || line[n] != '\r') {
fputc(line[n], convFile);
}
}
fputs("<br>", convFile);
free(line);
}
fputs("</body></html>", 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;
}

@ -0,0 +1,140 @@
#include <windows.h>
#include "resource.h"
enum {
ID_LOADEDIT = 1,
ID_LOADBUTTON,
ID_SAVEEDIT,
ID_SAVEBUTTON,
ID_CONVERTBUTTON
};
const char g_szClassName[] = "defaultWindow";
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
int WINAPI showError(LPCTSTR lpText);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
WNDCLASSEX wc;
MSG Msg;
HWND hwnd;
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_MYICON));
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = GetSysColorBrush(COLOR_3DFACE);
wc.lpszMenuName = NULL;
wc.lpszClassName = g_szClassName;
wc.hIconSm = (HICON)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_MYICON), IMAGE_ICON, 16, 16, 0);
if (!RegisterClassEx(&wc)) {
showError("Window Registration Failed!");
return 0;
}
hwnd = CreateWindowEx(0, g_szClassName, "Jedi Academy Server Log Converter", WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX , (GetSystemMetrics(SM_CXSCREEN) - 500)/2, (GetSystemMetrics(SM_CYSCREEN) - 72)/2, 500, 100, NULL, NULL, hInstance, NULL);
if (hwnd == NULL) {
showError("Window Creation Failed!");
return 0;
}
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&Msg, NULL, 0, 0) > 0) {
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {
char szFileName[MAX_PATH] = "";
OPENFILENAME ofn;
switch(msg) {
case WM_CREATE:
HFONT hfDefault;
HWND hLoadEdit;
HWND hLoadButton;
HWND hSaveEdit;
HWND hSaveButton;
HWND hConvertButton;
hLoadEdit = CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", "", WS_CHILD|WS_VISIBLE|ES_AUTOHSCROLL, 10, 10, 300, 21, hwnd, (HMENU)ID_LOADEDIT, GetModuleHandle(NULL), NULL);
hLoadButton = CreateWindowEx(0, "BUTTON", "Input", WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 320, 10, 70, 21, hwnd, (HMENU)ID_LOADBUTTON, GetModuleHandle(NULL), NULL);
hSaveEdit = CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", "", WS_CHILD|WS_VISIBLE|ES_AUTOHSCROLL, 10, 41, 300, 21, hwnd, (HMENU)ID_SAVEEDIT, GetModuleHandle(NULL), NULL);
hSaveButton = CreateWindowEx(0, "BUTTON", "Output", WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 320, 41, 70, 21, hwnd, (HMENU)ID_SAVEBUTTON, GetModuleHandle(NULL), NULL);
hConvertButton = CreateWindowEx(0, "BUTTON", "Convert", WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 400, 10, 80, 52, hwnd, (HMENU)ID_CONVERTBUTTON, GetModuleHandle(NULL), NULL);
hfDefault = (HFONT)GetStockObject(DEFAULT_GUI_FONT);
SendMessage(hLoadEdit, WM_SETFONT, (WPARAM)hfDefault, MAKELPARAM(FALSE, 0));
SendMessage(hLoadButton, WM_SETFONT, (WPARAM)hfDefault, MAKELPARAM(FALSE, 0));
SendMessage(hSaveEdit, WM_SETFONT, (WPARAM)hfDefault, MAKELPARAM(FALSE, 0));
SendMessage(hSaveButton, WM_SETFONT, (WPARAM)hfDefault, MAKELPARAM(FALSE, 0));
SendMessage(hConvertButton, WM_SETFONT, (WPARAM)hfDefault, MAKELPARAM(FALSE, 0));
break;
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_COMMAND:
switch(wParam) {
case ID_LOADBUTTON:
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = hwnd;
ofn.lpstrFilter = "Log Files (*.log)\0*.log\0Log Files (*.txt)\0*.txt\0All Files (*.*)\0*.*\0";
ofn.lpstrFile = szFileName;
ofn.nMaxFile = MAX_PATH;
ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
ofn.lpstrDefExt = "log";
if(GetOpenFileName(&ofn)) {
HWND hLoadEdit = GetDlgItem(hwnd, ID_LOADEDIT);
SetWindowText(hLoadEdit, szFileName);
}
break;
case ID_SAVEBUTTON:
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = hwnd;
ofn.lpstrFilter = "HTML Files (*.html)\0*.html\0RTF Files (*.rtf)\0*.rtf\0Text Files (*.txt)\0*.txt\0";
ofn.lpstrFile = szFileName;
ofn.nMaxFile = MAX_PATH;
ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
ofn.lpstrDefExt = "html";
if(GetSaveFileName(&ofn)) {
HWND hSaveEdit = GetDlgItem(hwnd, ID_SAVEEDIT);
SetWindowText(hSaveEdit, szFileName);
}
break;
case ID_CONVERTBUTTON:
showError("Conversion starts here.");
break;
}
break;
default:
return DefWindowProc(hwnd, msg, wParam, lParam);
}
return 0;
}
int WINAPI showError(LPCTSTR lpText) {
return MessageBox(NULL, lpText, "Error", MB_ICONEXCLAMATION|MB_OK);
}

@ -0,0 +1 @@
#define IDI_MYICON 101

@ -0,0 +1,3 @@
#include "resource.h"
IDI_MYICON ICON "JALOG_CONV.ico"
Loading…
Cancel
Save