Initial Dirty Commit

This commit is contained in:
4aiman 2020-04-20 13:01:23 +03:00
commit 2de33b3101
10 changed files with 2022 additions and 0 deletions

BIN
README.md Normal file

Binary file not shown.

98
ToZcalc.ctpr Normal file
View file

@ -0,0 +1,98 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="12"/>
<PathDelim Value="\"/>
<General>
<Flags>
<CompatibilityMode Value="True"/>
</Flags>
<SessionStorage Value="InProjectDir"/>
<Title Value="ToZcalc"/>
<Scaled Value="True"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<XPManifest>
<DpiAware Value="True"/>
</XPManifest>
<Icon Value="0"/>
</General>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
</PublishOptions>
<RunParams>
<FormatVersion Value="2"/>
</RunParams>
<RequiredPackages Count="3">
<Item1>
<PackageName Value="pl_ExControls"/>
</Item1>
<Item2>
<PackageName Value="pl_BGRAcontrols"/>
</Item2>
<Item3>
<PackageName Value="adLCL"/>
</Item3>
</RequiredPackages>
<Units Count="2">
<Unit0>
<Filename Value="ToZcalc.ppr"/>
<IsPartOfProject Value="True"/>
</Unit0>
<Unit1>
<Filename Value="main.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
</Unit1>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<PathDelim Value="\"/>
<Target>
<Filename Value="ToZcalc"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<CodeGeneration>
<SmartLinkUnit Value="True"/>
<RelocatableUnit Value="True"/>
</CodeGeneration>
<Linking>
<Debugging>
<UseExternalDbgSyms Value="True"/>
</Debugging>
<LinkSmart Value="True"/>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<Verbosity>
<ShowDebugInfo Value="True"/>
</Verbosity>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>

182
ToZcalc.ctps Normal file
View file

@ -0,0 +1,182 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectSession>
<PathDelim Value="\"/>
<Version Value="12"/>
<BuildModes Active="Default"/>
<Units Count="5">
<Unit0>
<Filename Value="ToZcalc.ppr"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="1"/>
<CursorPos X="35" Y="14"/>
<UsageCount Value="34"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="main.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/>
<CursorPos X="23" Y="9"/>
<UsageCount Value="34"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="C:\codetyphon\typhon\lcl\interfaces\win32\win32listsl.inc"/>
<FRMtype Value="0"/>
<EditorIndex Value="-1"/>
<TopLine Value="132"/>
<CursorPos Y="153"/>
<UsageCount Value="12"/>
</Unit2>
<Unit3>
<Filename Value="main.frm"/>
<FRMtype Value="0"/>
<EditorIndex Value="3"/>
<TopLine Value="325"/>
<CursorPos X="56" Y="352"/>
<UsageCount Value="13"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="FRM"/>
</Unit3>
<Unit4>
<Filename Value="ToZcalc.ctpr"/>
<FRMtype Value="0"/>
<EditorIndex Value="2"/>
<UsageCount Value="13"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="XML"/>
</Unit4>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="main.pas"/>
<Caret Line="226" Column="18" TopLine="186"/>
</Position1>
<Position2>
<Filename Value="main.pas"/>
<Caret Line="225" Column="18" TopLine="185"/>
</Position2>
<Position3>
<Filename Value="main.pas"/>
<Caret Line="226" Column="18" TopLine="186"/>
</Position3>
<Position4>
<Filename Value="main.pas"/>
<Caret Line="225" Column="18" TopLine="185"/>
</Position4>
<Position5>
<Filename Value="main.pas"/>
<Caret Line="226" Column="18" TopLine="186"/>
</Position5>
<Position6>
<Filename Value="main.pas"/>
<Caret Line="225" Column="18" TopLine="185"/>
</Position6>
<Position7>
<Filename Value="main.pas"/>
<Caret Line="226" Column="18" TopLine="186"/>
</Position7>
<Position8>
<Filename Value="main.pas"/>
<Caret Line="225" Column="18" TopLine="185"/>
</Position8>
<Position9>
<Filename Value="main.pas"/>
<Caret Line="226" Column="18" TopLine="186"/>
</Position9>
<Position10>
<Filename Value="main.pas"/>
<Caret Line="225" Column="18" TopLine="185"/>
</Position10>
<Position11>
<Filename Value="main.pas"/>
<Caret Line="226" Column="18" TopLine="186"/>
</Position11>
<Position12>
<Filename Value="main.pas"/>
<Caret Line="225" Column="18" TopLine="185"/>
</Position12>
<Position13>
<Filename Value="main.pas"/>
<Caret Line="227" Column="18" TopLine="187"/>
</Position13>
<Position14>
<Filename Value="main.pas"/>
<Caret Line="226" Column="18" TopLine="186"/>
</Position14>
<Position15>
<Filename Value="main.pas"/>
<Caret Line="227" Column="18" TopLine="187"/>
</Position15>
<Position16>
<Filename Value="main.pas"/>
<Caret Line="226" Column="18" TopLine="186"/>
</Position16>
<Position17>
<Filename Value="main.pas"/>
<Caret Line="227" Column="18" TopLine="187"/>
</Position17>
<Position18>
<Filename Value="main.pas"/>
<Caret Line="226" Column="18" TopLine="186"/>
</Position18>
<Position19>
<Filename Value="main.pas"/>
<Caret Line="227" Column="18" TopLine="187"/>
</Position19>
<Position20>
<Filename Value="main.pas"/>
<Caret Line="226" Column="18" TopLine="186"/>
</Position20>
<Position21>
<Filename Value="main.pas"/>
<Caret Line="153" Column="27" TopLine="122"/>
</Position21>
<Position22>
<Filename Value="main.pas"/>
<Caret Line="233" TopLine="192"/>
</Position22>
<Position23>
<Filename Value="main.pas"/>
<Caret Line="153" Column="18" TopLine="133"/>
</Position23>
<Position24>
<Filename Value="main.pas"/>
<Caret Line="56" TopLine="21"/>
</Position24>
<Position25>
<Filename Value="main.pas"/>
<Caret Line="153" Column="13" TopLine="132"/>
</Position25>
<Position26>
<Filename Value="main.pas"/>
<Caret Line="152" Column="44" TopLine="145"/>
</Position26>
<Position27>
<Filename Value="main.pas"/>
<Caret Line="237" TopLine="216"/>
</Position27>
<Position28>
<Filename Value="main.pas"/>
<Caret Line="222" Column="37" TopLine="195"/>
</Position28>
<Position29>
<Filename Value="main.pas"/>
<Caret Line="225" Column="42" TopLine="210"/>
</Position29>
<Position30>
<Filename Value="main.pas"/>
<Caret Line="211" Column="43" TopLine="180"/>
</Position30>
</JumpHistory>
<RunParams>
<FormatVersion Value="2"/>
<Modes ActiveMode=""/>
</RunParams>
</ProjectSession>
</CONFIG>

BIN
ToZcalc.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

23
ToZcalc.ppr Normal file
View file

@ -0,0 +1,23 @@
program ToZcalc;
{$mode objfpc}
{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the adLCL widgetset
Forms, main
{ you can add units after this };
{$R *.res}
begin
RequireDerivedFormResource:=True;
Application.Scaled:=True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

BIN
ToZcalc.res Normal file

Binary file not shown.

BIN
font.res Normal file

Binary file not shown.

1499
main.frm Normal file

File diff suppressed because it is too large Load diff

220
main.pas Normal file
View file

@ -0,0 +1,220 @@
unit main;
{$mode objfpc}{$H+}
interface
uses
Windows, Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls,
ActnList, LResources, ExtCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
ComboBox1: TComboBox;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
ComboBox5: TComboBox;
ComboBox6: TComboBox;
ComboBox7: TComboBox;
ComboBox8: TComboBox;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure ComboBox1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
private
function NewElement(edit:TEdit): string;
public
end;
var
Form1: TForm1;
implementation
{$R *.frm}
{$R font.res}
var i:array[0..1, 0..3] of integer; s1, s2, s3:string;
p: array [0..3] of integer;
e: array [0..4] of string = ('Normal', 'Fire', 'Earth', 'Water', 'Wind');
a: array [0..9] of string = ('Status', 'Abilities', 'HP', 'SC', 'BG', 'S.Change', 'Cat 1', 'Cat 2', 'Elemental', 'Incantation');
c: array [0..7] of TCombobox;
d: array [0..3] of TEdit;
s: array [0..3] of string;
const
MM_MAX_NUMAXES = 16;
type
PDesignVector = ^TDesignVector;
TDesignVector = packed record
dvReserved: DWORD;
dvNumAxes: DWORD;
dvValues: array[0..MM_MAX_NUMAXES-1] of Longint;
end;
function AddFontMemResourceEx(p1: Pointer; p2: DWORD; p3: PDesignVector; p4: LPDWORD): THandle; stdcall external 'gdi32.dll' name 'AddFontMemResourceEx';
function RemoveFontMemResourceEx(p1: THandle): BOOL; stdcall external 'gdi32.dll' name 'RemoveFontMemResourceEx';
function LoadFontFromRes(FontName: PChar):THandle;
var
ResHandle: HRSRC;
ResSize, NbFontAdded: Cardinal;
ResAddr: HGLOBAL;
begin
ResHandle := FindResource(system.HINSTANCE, FontName, RT_RCDATA);
if ResHandle = 0 then
RaiseLastOSError;
ResAddr := LoadResource(system.HINSTANCE, ResHandle);
if ResAddr = 0 then
RaiseLastOSError;
ResSize := SizeOfResource(system.HINSTANCE, ResHandle);
if ResSize = 0 then
RaiseLastOSError;
Result := AddFontMemResourceEx(Pointer(ResAddr), ResSize, nil, @NbFontAdded);
if Result = 0 then
RaiseLastOSError;
end;
{ TForm1 }
function Tform1.NewElement(edit:TEdit): string;
var t, r:integer; id1,id2,col1,col2,row1,row2,id3,col3,row3, type_:integer; item1, item2, item3:string;
begin//
with edit do begin
t:=tag+1;
if t div 4 > 0 then r:=4
else if t div 3 > 0 then r:=3
else if t div 2 > 0 then r:=2
else if t div 1 > 0 then r:=1;
id1 := c[r-1].itemindex; // r=1, id1=0, id2=4; 2 1 5; 3 2 6; 4 3 7;
id2 := c[r+3].itemindex;
item1 := ComboBox1.Items[id1];
item2 := ComboBox1.Items[id2];
col1 := (id1-1) div 5;
row1 := ((id1-1) mod 5)+1;
col2 := (id2-1) div 5;
row2 := ((id2-1) mod 5)+1;
// different elements and columns
if (col1 <> col2) and (row1 <> row2) then begin
id3:=(id1+id2) div 2;
while (id3=id1) or (id3=id2) do id3 := id3+1;
col3 := (id3-1) div 5;
row3 := ((id3-1) mod 5)+1;
type_:=1;
end
else if (col1 <> col2) and (row1 = row2) then begin
col3 := (col1+col2) div 2;
row3 := row1;
while (col3=col1) or (col3=col2) do begin
col3 := col3+1;
if col3>9 then col3 := 0;
end;
id3:=col3*5+row3;
type_:=2;
end
else if (col1 = col2) and (row1 <> row2) then begin
col3 := col1;
row3:= (row1+row2)-1;
if row3>5 then row3 :=row3-5;
while (row3=row1) or (row3=row2) do
begin
row3:=row3+1;
if row3>5 then row3 :=row3-5;
end;
id3:=col3*5+row3;
type_:=3;
end
else begin
id3 := id1;
col3:= col1;
row3:=row1;
type_:=0;
end;
item3 := ComboBox1.Items[id3];
text := item3;
s[r-1] := item3;
end;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
var id: integer = 0;
item, col, row:integer;
begin //
with (sender as TComboBox) do begin
if itemindex<0 then exit;
if tag>3
then
id:=tag-4
else
id:=tag;
i[tag div 4, id] := ItemIndex;
NewElement(d[id]);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var _:integer;
begin
for _ := 0 to 3 do begin
i[0,_] := 0;
i[1,_] := 0;
p[_] := 0;
end;
s1:='';
s2:='';
with sender as TForm1 do begin
c[0]:=Combobox1;
c[1]:=Combobox2;
c[2]:=Combobox3;
c[3]:=Combobox4;
c[4]:=Combobox5;
c[5]:=Combobox6;
c[6]:=Combobox7;
c[7]:=Combobox8;
d[0]:=Edit1;
d[1]:=Edit2;
d[2]:=Edit3;
d[3]:=Edit4;
end;
end;
procedure TForm1.FormShow(Sender: TObject);
var
vFnt : THandle;
i:integer;
begin
vFnt := LoadFontFromRes('seagullregular');
SendMessage(Handle, WM_FONTCHANGE, 0, 0);
Application.ProcessMessages;
Font.Name:='SEAGULL REGULAR';
for i:=0 to 7 do c[i].font.name:=Font.Name;
for i:=0 to 3 do d[i].font.name:=Font.Name;
Image1.BringToFront;
end;
end.

BIN
readme.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB