Skip to content

Commit

Permalink
Добавлен проект библиотеки для Lazarus'а.
Browse files Browse the repository at this point in the history
  • Loading branch information
devapromix committed Feb 28, 2017
1 parent da449b4 commit cf9dc32
Show file tree
Hide file tree
Showing 7 changed files with 172 additions and 36 deletions.
2 changes: 2 additions & 0 deletions clean.bat
Expand Up @@ -4,9 +4,11 @@ del /s *.ppu
del /s *.lps
del /s *.bak
del /s *.identcache
del /s *.compiled
del /s *.otares
del /s *.local
del /s *.dbg
del /s *.cfg
del /s *.ddp
del /s *.o
del /s *.a
6 changes: 3 additions & 3 deletions sources/README.md
@@ -1,12 +1,12 @@
# BeaRLibItems

##DemoProgram
Исходники программы, что демонстр. работу библиотеки: FreePascal.
Исходники программы, демонстр. работу библиотеки: FreePascal.

##Include
Исходники файлов, необходимых для подключения библиотеки (биндинги).
Поддерживаемые языки программирования: FreePascal (Delphi).
Поддерживаемые языки программирования: FreePascal/Delphi.

##Library
Исходники библиотеки: Delphi.
Исходники библиотеки: FreePascal/Delphi.

1 change: 0 additions & 1 deletion sources/demoprogram/test.lpi
Expand Up @@ -46,7 +46,6 @@
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<CodeGeneration>
<SmartLinkUnit Value="True"/>
Expand Down
72 changes: 72 additions & 0 deletions sources/library/BeaRLibItems.lpi
@@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<PathDelim Value="\"/>
<General>
<Flags>
<MainUnitHasCreateFormStatements Value="False"/>
<MainUnitHasTitleStatement Value="False"/>
</Flags>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="BeaRLibItems"/>
<UseAppBundle Value="False"/>
<ResourceType Value="res"/>
</General>
<i18n>
<EnableI18N LFM="False"/>
</i18n>
<VersionInfo>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
</local>
</RunParams>
<Units Count="1">
<Unit0>
<Filename Value="BeaRLibItems.lpr"/>
<IsPartOfProject Value="True"/>
</Unit0>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<PathDelim Value="\"/>
<Target>
<Filename Value="../../demo/BeaRLibItems"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
</SearchPaths>
<CodeGeneration>
<RelocatableUnit Value="True"/>
</CodeGeneration>
<Linking>
<Options>
<ExecutableType Value="Library"/>
</Options>
</Linking>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>
63 changes: 63 additions & 0 deletions sources/library/BeaRLibItems.lpr
@@ -0,0 +1,63 @@
library BeaRLibItems;

{$mode objfpc}{$H+}

uses
uCommon in 'uCommon.pas',
uMaps in 'uMaps.pas',
uInventory in 'uInventory.pas';

exports
// Library
Items_Open,
Items_Close,
Items_GetVersion,
// Map
Items_Maps_Clear,
Items_Maps_MapClear,
Items_Maps_MapClearXY,

Items_Maps_GetCount,
Items_Maps_GetMapCount,
Items_Maps_GetMapCountXY,

Items_Maps_GetItemCount,
Items_Maps_GetMapItemCount,
Items_Maps_GetMapItemCountXY,

Items_Maps_SetItem,
Items_Maps_GetItem,

Items_Maps_SetMapItemXY,
Items_Maps_GetMapItemXY,

Items_Maps_SetItems,
Items_Maps_GetItems,
Items_Maps_GetMapItems,
Items_Maps_GetMapItemsXY,

Items_Maps_Items_Append,
Items_Maps_Items_Delete,
Items_Maps_Items_DeleteXY,

Items_Maps_GetMapItemAmountXY,

// Inventory
Items_Inventory_Clear,
Items_Inventory_GetCount,

Items_Inventory_GetItemCount,
Items_Inventory_GetItemAmount,

Items_Inventory_SetItem,
Items_Inventory_GetItem,

Items_Inventory_SetItems,
Items_Inventory_GetItems,

Items_Inventory_Items_Append,
Items_Inventory_Items_Delete;

begin

end.
20 changes: 10 additions & 10 deletions sources/library/uInventory.pas
Expand Up @@ -24,17 +24,17 @@ implementation
var
InvItems: TItems;

procedure Items_Inventory_Clear();
procedure Items_Inventory_Clear(); stdcall;
begin
Empty(InvItems);
end;

function Items_Inventory_GetCount(): Integer;
function Items_Inventory_GetCount(): Integer; stdcall;
begin
Result := Length(InvItems);
end;

function Items_Inventory_GetItemCount(ItemID: Integer): Integer;
function Items_Inventory_GetItemCount(ItemID: Integer): Integer; stdcall;
var
I: Integer;
begin
Expand All @@ -44,7 +44,7 @@ function Items_Inventory_GetItemCount(ItemID: Integer): Integer;
Inc(Result);
end;

function Items_Inventory_GetItemAmount(ItemID: Integer): Integer;
function Items_Inventory_GetItemAmount(ItemID: Integer): Integer; stdcall;
var
I: Integer;
begin
Expand All @@ -54,12 +54,12 @@ function Items_Inventory_GetItemAmount(ItemID: Integer): Integer;
Inc(Result, InvItems[I].Amount);
end;

function Items_Inventory_GetItem(Index: Integer): TItem;
function Items_Inventory_GetItem(Index: Integer): TItem; stdcall;
begin
Result := InvItems[Index];
end;

function Items_Inventory_SetItem(Index: Integer; AItem: TItem): Boolean;
function Items_Inventory_SetItem(Index: Integer; AItem: TItem): Boolean; stdcall;
begin
Result := False;
if IndexInRange(InvItems, Index) then
Expand All @@ -69,17 +69,17 @@ function Items_Inventory_SetItem(Index: Integer; AItem: TItem): Boolean;
end;
end;

procedure Items_Inventory_GetItems(var AItems: TItems);
procedure Items_Inventory_GetItems(var AItems: TItems); stdcall;
begin
AItems := InvItems;
end;

procedure Items_Inventory_SetItems(var AItems: TItems);
procedure Items_Inventory_SetItems(var AItems: TItems); stdcall;
begin
InvItems := AItems;
end;

procedure Items_Inventory_Items_Append(AItem: TItem);
procedure Items_Inventory_Items_Append(AItem: TItem); stdcall;
var
I, J, A: Integer;
begin
Expand Down Expand Up @@ -112,7 +112,7 @@ procedure Items_Inventory_Items_Append(AItem: TItem);
end else AddItem(InvItems, AItem);
end;

function Items_Inventory_Items_Delete(Index: Integer; var AItem: TItem): Boolean;
function Items_Inventory_Items_Delete(Index: Integer; var AItem: TItem): Boolean; stdcall;
begin
Result := False;
if IndexInRange(InvItems, Index) then
Expand Down

0 comments on commit cf9dc32

Please sign in to comment.