Skip to content

Commit

Permalink
[LeGo] Enginecalls in BinaryMachines
Browse files Browse the repository at this point in the history
  • Loading branch information
muczc1wek committed Sep 17, 2023
1 parent 428a4b2 commit fab9edb
Show file tree
Hide file tree
Showing 2 changed files with 188 additions and 6 deletions.
96 changes: 94 additions & 2 deletions docs/zengin/scripts/extenders/lego/tools/binary_machines.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ func int BW_NewFile(var string file)
- `#!dae var string file`
Name of created file

**Return value**

The function returns `TRUE` if the file is successfully created and initialized, `FALSE`is returned otherwise.

### `BW_Close`
Closes the current write stream.
```dae
Expand All @@ -48,7 +52,7 @@ func void BW_Int(var int data)
**Parameters**

- `#!dae var int data`
Int value to wirte
Integer value to write

### `BW_Char`
Writes the first character from the `data` to the stream. Same as `BW(Str_GetCharAt(data, 0), 1)`.
Expand Down Expand Up @@ -120,6 +124,11 @@ func int BR_OpenFile(var string file)
- `#!dae var string file`
File to be opened

**Return value**

The function returns `TRUE` if the file is successfully opened and initialized, `FALSE`is returned otherwise.


### `BR_Close`
Closes the current read stream.
```dae
Expand Down Expand Up @@ -156,7 +165,7 @@ func string BR_Char()
```
**Return value**

The function returns the read character.
The function returns the read character as a `string`.

### `BR_String`
Reads a string terminated by `\0` from the stream.
Expand Down Expand Up @@ -213,6 +222,89 @@ func string BR_Text(var int length)

The function returns the read string.

### `BR_NextLine`
Changes the read position to the next paragraph, created with [`BW_NextLine`](#bw_nextline)
```dae
func void BR_NextLine()
```

## Enginecalls

### `WIN_GetLastError`
Call of a Win32 API [`GetLastError` function](https://learn.microsoft.com/en-us/windows/win32/api/errhandlingapi/nf-errhandlingapi-getlasterror)
```dae
func int WIN_GetLastError()
```
**Return value**

The function returns calling thread's last-error code.

### `WIN_CreateFile`
Call of a Win32 API [`CreateFileA` function](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea)
```dae
func int WIN_CreateFile(var string lpFileName,var int dwDesiredAccess,var int dwShareMode,var int lpSecurityAttributes,var int dwCreationDisposition,var int dwFlagsAndAttributes,var int hTemplateFile)
```
**Parameters**

Full description of parameters can be found [here](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea#parameters)

**Return value**

Information about return value can be found [here](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea#return-value)

### `WIN_WriteFile`
Call of a Win32 API [`WriteFile` function](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-writefile)
```dae
func void WIN_WriteFile(var int hFile,var int lpBuffer,var int nNumberOfBytesToWrite,var int lpNumberOfBytesWritten,var int lpOverlapped)
```
**Parameters**

Full description of parameters can be found [here](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-writefile#parameters)

### `WIN_ReadFile`
Call of a Win32 API [`ReadFile` function](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-readfile)
```dae
func void WIN_ReadFile(var int hFile,var int lpBuffer,var int nNumberOfBytesToRead,var int lpNumberOfBytesRead,var int lpOverlapped)
```
**Parameters**

Full description of parameters can be found [here](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-readfile#parameters)

### `WIN_CloseHandle`
Call of a Win32 API [`CloseHandle` function](https://learn.microsoft.com/en-us/windows/win32/api/handleapi/nf-handleapi-closehandle)
```dae
func void WIN_CloseHandle(var int hObject)
```
**Parameters**

Full description of parameters can be found [here](https://learn.microsoft.com/en-us/windows/win32/api/handleapi/nf-handleapi-closehandle#parameters)

### `WIN_GetFileSize`
Call of a Win32 API [`GetFileSize` function](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfilesize)
```dae
func int WIN_GetFileSize(var int hFile,var int lpFileSizeHigh)
```
**Parameters**

Full description of parameters can be found [here](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfilesize#parameters)

**Return value**

Information about return value can be found [here](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfilesize#return-value)

### Constants
In addition there are some constants defined for use with the specific engine calls.
```dae
const int CREATE_ALWAYS = 2;
const int OPEN_EXISTING = 3;
const int GENERIC_ALL = 1073741824;
const int GENERIC_READ = -2147483648;
const int FILE_SHARE_READ = 1;
const int FILE_SHARE_WRITE = 2;
const int FILE_SHARE_DELETE = 4;
const int FILE_ATTRIBUTE_NORMAL = 128;
```

## Examples

### Save and load variables
Expand Down
98 changes: 94 additions & 4 deletions docs/zengin/scripts/extenders/lego/tools/binary_machines.pl.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ func int BW_NewFile(var string file)
- `#!dae var string file`
Nazwa tworzonego pliku

**Zwracana wartość**

Funkcja zwraca `TRUE` jeśli plik został pomyślnie utworzony i zainicjalizowany, w przeciwnym razie zwracane jest `FALSE`.

### `BW_Close`
Zamyka aktualny strumień zapisu.
```dae
Expand Down Expand Up @@ -110,9 +114,7 @@ func void BW_NextLine()

## BinaryReader

### `BR_OpenFile

`
### `BR_OpenFile`
Otwiera plik o nazwie `file` i otwiera strumień. Nie działa, jeśli strumień jest już otwarty.
```dae
func int BR_OpenFile(var string file)
Expand All @@ -122,6 +124,11 @@ func int BR_OpenFile(var string file)
- `#!dae var string file`
Plik, który ma być otwarty

**Zwracana wartość**

Funkcja zwraca `TRUE` jeśli plik został pomyślnie otworzony i zainicjalizowany, w przeciwnym razie zwracane jest `FALSE`.


### `BR_Close`
Zamyka aktualny strumień odczytu.
```dae
Expand Down Expand Up @@ -158,7 +165,7 @@ func string BR_Char()
```
**Zwracana wartość**

Funkcja zwraca odczytany znak.
Funkcja zwraca odczytany znak jako `string`.

### `BR_String`
Odczytuje ciąg znaków zakończony znakiem `\0` ze strumienia.
Expand Down Expand Up @@ -215,6 +222,89 @@ func string BR_Text(var int length)

Funkcja zwraca odczytany ciąg znaków.

### `BR_NextLine`
Zmienia pozycję odczytu na następny akapit, utworzony za pomocą [`BW_NextLine`](#bw_nextline).
```dae
func void BR_NextLine()
```

## Wywołania funkcji silnika

### `WIN_GetLastError`
Wywołanie [funkcji `GetLastError`](https://learn.microsoft.com/en-us/windows/win32/api/errhandlingapi/nf-errhandlingapi-getlasterror) z Win32 API.
```dae
func int WIN_GetLastError()
```
**Zwracana wartość**

Funkcja zwraca kod ostatniego błędu wątku wywołującego.

### `WIN_CreateFile`
Wywołanie [funkcji `CreateFileA`](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea) z Win32 API.
```dae
func int WIN_CreateFile(var string lpFileName,var int dwDesiredAccess,var int dwShareMode,var int lpSecurityAttributes,var int dwCreationDisposition,var int dwFlagsAndAttributes,var int hTemplateFile)
```
**Parametry**

Pełny opis parametrów można znaleźć [tutaj](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea#parameters)

**Zwracana wartość**

Informacje o zwracanej wartości znajdziesz [tutaj](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea#return-value)

### `WIN_WriteFile`
Wywołanie [funkcji `WriteFile`](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-writefile) z Win32 API.
```dae
func void WIN_WriteFile(var int hFile,var int lpBuffer,var int nNumberOfBytesToWrite,var int lpNumberOfBytesWritten,var int lpOverlapped)
```
**Parametry**

Pełny opis parametrów można znaleźć [tutaj](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-writefile#parameters)

### `WIN_ReadFile`
Wywołanie [funkcji `ReadFile`](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-readfile) z Win32 API.
```dae
func void WIN_ReadFile(var int hFile,var int lpBuffer,var int nNumberOfBytesToRead,var int lpNumberOfBytesRead,var int lpOverlapped)
```
**Parametry**

Pełny opis parametrów można znaleźć [tutaj](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-readfile#parameters)

### `WIN_CloseHandle`
Wywołanie [funkcji `CloseHandle`](https://learn.microsoft.com/en-us/windows/win32/api/handleapi/nf-handleapi-closehandle) z Win32 API.
```dae
func void WIN_CloseHandle(var int hObject)
```
**Parametry**

Pełny opis parametrów można znaleźć [tutaj](https://learn.microsoft.com/en-us/windows/win32/api/handleapi/nf-handleapi-closehandle#parameters)

### `WIN_GetFileSize`
Wywołanie [funkcji `GetFileSize`](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfilesize) z Win32 API.
```dae
func int WIN_GetFileSize(var int hFile,var int lpFileSizeHigh)
```
**Parametry**

Pełny opis parametrów można znaleźć [tutaj](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfilesize#parameters)

**Zwracana wartość**

Informacje o zwracanej wartości znajdziesz [tutaj](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfilesize#return-value)

### Constants
Dodatkowo istnieją pewne stałe zdefiniowane do użycia z określonymi wywołaniami funkcji silnika.
```dae
const int CREATE_ALWAYS = 2;
const int OPEN_EXISTING = 3;
const int GENERIC_ALL = 1073741824;
const int GENERIC_READ = -2147483648;
const int FILE_SHARE_READ = 1;
const int FILE_SHARE_WRITE = 2;
const int FILE_SHARE_DELETE = 4;
const int FILE_ATTRIBUTE_NORMAL = 128;
```

## Przykłady

### Zapisywanie i wczytywanie zmiennych
Expand Down

0 comments on commit fab9edb

Please sign in to comment.