Compare commits
7 Commits
d5c1325b02
...
3c547b217f
Author | SHA1 | Date | |
---|---|---|---|
3c547b217f | |||
58e2d0b844 | |||
7720e38868 | |||
02b2395ef1 | |||
293e1d195a | |||
5cf6c3baf9 | |||
8376fed87d |
@@ -76,22 +76,15 @@ jobs:
|
|||||||
g++ -o /home/autobuild/tools/win32/bin/objconv -O2 *.cpp
|
g++ -o /home/autobuild/tools/win32/bin/objconv -O2 *.cpp
|
||||||
chmod +x /home/autobuild/tools/win32/bin/objconv
|
chmod +x /home/autobuild/tools/win32/bin/objconv
|
||||||
|
|
||||||
- name: Build and install kerpack
|
- name: Build and install kerpack and kpack
|
||||||
if: steps.cache-toolchain.outputs.cache-hit != 'true'
|
if: steps.cache-toolchain.outputs.cache-hit != 'true'
|
||||||
run: |
|
run: |
|
||||||
export PATH=/home/autobuild/tools/win32/bin:$PATH
|
export PATH=/home/autobuild/tools/win32/bin:$PATH
|
||||||
cd ${{ gitea.workspace }}/programs/other/kpack/kerpack_linux/
|
cd ${{ gitea.workspace }}/programs/other/kpack/kerpack_linux/
|
||||||
make
|
make
|
||||||
chmod +x kerpack
|
chmod +x kerpack
|
||||||
mv kerpack /home/autobuild/tools/win32/bin/.
|
|
||||||
|
|
||||||
- name: Build and install kpack
|
|
||||||
if: steps.cache-toolchain.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
export PATH=/home/autobuild/tools/win32/bin:$PATH
|
|
||||||
cd ${{ gitea.workspace }}/programs/other/kpack/linux/
|
|
||||||
bash build.sh
|
|
||||||
chmod +x kpack
|
chmod +x kpack
|
||||||
|
mv kerpack /home/autobuild/tools/win32/bin/.
|
||||||
mv kpack /home/autobuild/tools/win32/bin/.
|
mv kpack /home/autobuild/tools/win32/bin/.
|
||||||
|
|
||||||
- name: Build and install clink
|
- name: Build and install clink
|
||||||
|
@@ -85,6 +85,7 @@ if build_type == "ru_RU" then tup.append_table(img_files, {
|
|||||||
{"SETTINGS/MYKEY.INI", SRC_PROGS .. "/system/MyKey/trunk/mykey.ini"},
|
{"SETTINGS/MYKEY.INI", SRC_PROGS .. "/system/MyKey/trunk/mykey.ini"},
|
||||||
{"SETTINGS/SYSPANEL.INI", "ru_RU/settings/syspanel.ini"},
|
{"SETTINGS/SYSPANEL.INI", "ru_RU/settings/syspanel.ini"},
|
||||||
}) elseif build_type == "en_US" then tup.append_table(img_files, {
|
}) elseif build_type == "en_US" then tup.append_table(img_files, {
|
||||||
|
{"WELCOME.HTM", VAR_DATA .. "/" .. build_type .. "/welcome.htm.kpack"},
|
||||||
{"EXAMPLE.ASM", SRC_PROGS .. "/develop/examples/example/trunk/example.asm"},
|
{"EXAMPLE.ASM", SRC_PROGS .. "/develop/examples/example/trunk/example.asm"},
|
||||||
{"DEVELOP/BACKY", SRC_PROGS .. "/develop/backy/Backy"},
|
{"DEVELOP/BACKY", SRC_PROGS .. "/develop/backy/Backy"},
|
||||||
{"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
|
{"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
|
||||||
@@ -156,7 +157,7 @@ extra_files = {
|
|||||||
{"kolibrios/3D/info3ds/OBJECTS.PNG", SRC_PROGS .. "/develop/info3ds/objects.png"},
|
{"kolibrios/3D/info3ds/OBJECTS.PNG", SRC_PROGS .. "/develop/info3ds/objects.png"},
|
||||||
{"kolibrios/3D/info3ds/TOOLBAR.PNG", SRC_PROGS .. "/develop/info3ds/toolbar.png"},
|
{"kolibrios/3D/info3ds/TOOLBAR.PNG", SRC_PROGS .. "/develop/info3ds/toolbar.png"},
|
||||||
{"kolibrios/3D/info3ds/FONT8X9.BMP", SRC_PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
|
{"kolibrios/3D/info3ds/FONT8X9.BMP", SRC_PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
|
||||||
{"kolibrios/3D/blocks/", "../programs/bcc32/games/blocks/bin/*"},
|
{"kolibrios/3D/blocks/blocks.kex", "../programs/bcc32/games/blocks/bin/blocks.kex"},
|
||||||
{"kolibrios/3D/blocks/models/", "../programs/bcc32/games/blocks/models/*"},
|
{"kolibrios/3D/blocks/models/", "../programs/bcc32/games/blocks/models/*"},
|
||||||
{"kolibrios/3D/md2view/", "common/3d/md2view/*"},
|
{"kolibrios/3D/md2view/", "common/3d/md2view/*"},
|
||||||
{"kolibrios/3D/md2view/md2_model/", "common/3d/md2view/md2_model/*"},
|
{"kolibrios/3D/md2view/md2_model/", "common/3d/md2view/md2_model/*"},
|
||||||
@@ -630,6 +631,7 @@ tup.append_table(extra_files, {
|
|||||||
{"kolibrios/utils/calcplus", VAR_PROGS .. "/other/calcplus/calcplus"},
|
{"kolibrios/utils/calcplus", VAR_PROGS .. "/other/calcplus/calcplus"},
|
||||||
{"kolibrios/utils/kfm/kfm", VAR_PROGS .. "/fs/kfm/trunk/kfm"},
|
{"kolibrios/utils/kfm/kfm", VAR_PROGS .. "/fs/kfm/trunk/kfm"},
|
||||||
{"kolibrios/utils/tedit/t_edit", VAR_PROGS .. "/other/t_edit/t_edit"},
|
{"kolibrios/utils/tedit/t_edit", VAR_PROGS .. "/other/t_edit/t_edit"},
|
||||||
|
{"kolibrios/3D/blocks/block.bin", VAR_PROGS .. "/bcc32/games/blocks/block.bin"}
|
||||||
})
|
})
|
||||||
-- For russian build, add russian-only programs.
|
-- For russian build, add russian-only programs.
|
||||||
if build_type == "ru_RU" then tup.append_table(img_files, {
|
if build_type == "ru_RU" then tup.append_table(img_files, {
|
||||||
@@ -666,6 +668,7 @@ tup.append_table(img_files, {
|
|||||||
{"EASYSHOT", VAR_PROGS .. "/cmm/misc/easyshot.com"},
|
{"EASYSHOT", VAR_PROGS .. "/cmm/misc/easyshot.com"},
|
||||||
{"MOUSECFG", VAR_PROGS .. "/cmm/mousecfg/mousecfg.com"},
|
{"MOUSECFG", VAR_PROGS .. "/cmm/mousecfg/mousecfg.com"},
|
||||||
{"BARSCFG", VAR_PROGS .. "/cmm/barscfg/barscfg.com"},
|
{"BARSCFG", VAR_PROGS .. "/cmm/barscfg/barscfg.com"},
|
||||||
|
{"SEARCH", VAR_PROGS .. "/cmm/misc/search.com"},
|
||||||
{"SYSPANEL", VAR_PROGS .. "/cmm/misc/software_widget.com"},
|
{"SYSPANEL", VAR_PROGS .. "/cmm/misc/software_widget.com"},
|
||||||
{"SYSMON", VAR_PROGS .. "/cmm/sysmon/sysmon.com"},
|
{"SYSMON", VAR_PROGS .. "/cmm/sysmon/sysmon.com"},
|
||||||
{"TMPDISK", VAR_PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
|
{"TMPDISK", VAR_PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
|
||||||
|
2
data/en_US/Tupfile.lua
Normal file
2
data/en_US/Tupfile.lua
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
if tup.getconfig("NO_FASM") ~= "" then return end
|
||||||
|
tup.rule("welcome.htm", "cp %f %o" .. tup.getconfig("KPACK_CMD"), "welcome.htm.kpack")
|
@@ -12,6 +12,7 @@
|
|||||||
23 Game Center |allgames
|
23 Game Center |allgames
|
||||||
60 System panel |syspanel
|
60 System panel |syspanel
|
||||||
18 Documentation |docpack
|
18 Documentation |docpack
|
||||||
|
49 Search |search
|
||||||
53 Run |run
|
53 Run |run
|
||||||
04 Shut down |end
|
04 Shut down |end
|
||||||
#1 **** DEMOS
|
#1 **** DEMOS
|
||||||
|
@@ -1,78 +1,95 @@
|
|||||||
<html><title>Welcome notes</title><body bgcolor=#fff>
|
<html>
|
||||||
|
<title>Welcome notes</title>
|
||||||
|
|
||||||
<h1><font color=1BB71A>Welcome to KolibriOS</font> 0.8.0.0 beta</h1>
|
<body bgcolor=#fff>
|
||||||
<pre>
|
|
||||||
|
<h1>
|
||||||
|
<font color=1BB71A>Welcome to KolibriOS</font>
|
||||||
|
</h1>
|
||||||
|
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">
|
||||||
Dear friends,
|
Dear friends,
|
||||||
|
|
||||||
What you see now is the most compact operating system in the whole world. Kolibri is a piece of programming art that is based on logic and coffee.
|
What you see now is the most compact operating system in the whole world. KolibriOS is a piece of programming art that is based on logic and coffee.
|
||||||
|
|
||||||
As no one reads manuals, I'm here to help with the most common issues that new users of KolibriOS are facing. This document is also a required read for any <b>YouTube blogger</b> who wants to make a review of the system :)
|
As no one reads manuals, I'm here to help with the most common issues that new users of KolibriOS are facing. This document is also required to read for any <b>YouTube blogger</b> who wants to make a review of the system :)
|
||||||
|
|
||||||
<dd><h3><kosicon n=5>Floppy version</h3>
|
<dd><h3><kosicon n=5> Floppy version</h3>
|
||||||
The asterisk [*] in the Menu means the app isn't available in the Floppy version, only in the Big distro (Flash/ISO/UEFI-HDD). Not all programs are available via Menu to encourage you to explore KolibriOS files by yourself.
|
The asterisk [*] in the Menu means the app isn't available in the Floppy version, only in the Big distro (Flash/ISO/UEFI-HDD). Not all programs are available via Menu to encourage you to explore KolibriOS files by yourself.
|
||||||
|
|
||||||
<h3><kosicon n=25>If you have problems with USB</h3>
|
<h3><kosicon n=25> If you have problems with USB</h3>
|
||||||
Only USB1.1 and USB2 ports are supported, not USB3+. And yep, the USB driver is written entirely in assembler. Some motherboards have options like "USB Legacy Support" or something similar, which may help the system detect your device. Also, some ports on your motherboard may work while others may not, only G-d knows why. So, play with the BIOS/UEFI settings and try different ports.
|
Only USB 1.1 and USB 2.0 ports are supported, not USB 3+. And yep, the USB driver is written entirely in assembler. Some motherboards have options like "USB Legacy Support" or something similar, which may help the system detect your device. Also, some ports on your motherboard may work while others may not, only G-d knows why. So, play with the BIOS/UEFI settings and try different ports.
|
||||||
|
|
||||||
<h3><kosicon n=7>Sound</h3>
|
<h3><kosicon n=7> Sound</h3>
|
||||||
List of supported devices:
|
List of supported devices:
|
||||||
- Most AC97 cards: Intel, nForce, VIA
|
- Most AC97 cards: Intel, nForce, VIA
|
||||||
- A variety of HD Audio devices: Intel, Realtek...
|
- A variety of HD Audio devices: Intel, Realtek...
|
||||||
- SIS PCI audio (Sis 7012)
|
- SIS PCI audio (Sis 7012)
|
||||||
- Creative labs EMU10K1X (Dell OEM)
|
- Creative labs EMU10K1X (Dell OEM)
|
||||||
- Media Forte FM801
|
- Media Forte FM801
|
||||||
- ISA Sound Blaster 16. Only THIS particular model works, not other SB cards that have software SB16-emulation
|
- ISA Sound Blaster 16
|
||||||
|
<i>Only THIS particular model works,
|
||||||
|
not other cards that have software SB16-emulation</i>
|
||||||
|
|
||||||
<h3><kosicon n=61>Video</h3>
|
<h3><kosicon n=61> Video</h3>
|
||||||
By default, you can change the resolution only on the blue boot screen. The modes listed there are provided by the video card's BIOS. It is impossible to 'simply add additional screen modes to the list'. If video card's BIOS doesn't provide some modes then you need a driver. It is not possible to write a generic video card driver. Each driver must be written for a specific video card model.
|
By default, you can change the resolution only on the blue boot screen. The modes listed there are provided by the video card's BIOS. It is impossible to 'simply add additional screen modes to the list'. If video card's BIOS doesn't provide some modes then you need a driver. It is not possible to write a generic video card driver. Separate driver must be written for each specific video card model.
|
||||||
Intel and AMD drivers for some video cards are ported from Linux and are available in the Big distro. Check SYSPANEL. Features: change resolution in Kolibri, hardware cursor (not actual anymore), bit-blit operations accelerated.
|
Intel and AMD drivers for some video cards are ported from Linux and are available in the Big distro.
|
||||||
|
|
||||||
<h3><kosicon n=25>Wi-Fi</h3>
|
Check SYSPANEL. Features: ability to change resolution in KolibriOS, hardware cursor (not actual anymore), bit-blit operations acceleration.
|
||||||
Not supported. You have to know that the Wi-Fi specification is so complex that it is almost impossible to write the code for it from scratch. Only big OSes like Windows / Linux / BSD have it. MacOS and Haiku just ported the BSD drivers. I don't say porting them in KolibiOS is not possible, but the required effort is going to be tremendous.
|
|
||||||
|
|
||||||
<h3><kosicon n=25>LAN/Ethernet</h3>
|
<h3><kosicon n=25> Wi-Fi</h3>
|
||||||
Supported devices:
|
Not supported. You have to know that the Wi-Fi specification is so complex that it is almost impossible to write the code for it from scratch. Only big OSes like Windows / Linux / BSD have it. MacOS and Haiku just ported the BSD drivers. I don't say porting them to KolibiOS is not possible, but the required effort is going to be tremendous.
|
||||||
3c59x 3Com Fast EtherLink (3c59x/450/555/556/575/900/905/980)
|
|
||||||
ar81xx Atheros 8161/8162/8171/8172
|
|
||||||
dec21x4x* Accton en1207B-TX, DEC 21140,.., VirtualPC
|
|
||||||
forcedeth* nVidia nForce chipset integrated ethernet
|
|
||||||
i8255x Intel eepro/100 (i8255x, i82562, i82801,..), QEMU
|
|
||||||
i8254x Intel PRO/1000 (i8254x), Virtualbox, BOCHS, QEMU
|
|
||||||
mtd80x Myson MTD803
|
|
||||||
pcnet32 AMD PCnet (79c970, 79c978, 79c973,..), Virtualbox, QEMU
|
|
||||||
r6040 RDC Semiconductors R6040
|
|
||||||
rhine VIA Rhine II and III
|
|
||||||
rtl8029 Realtek 8029/8019, ne2000 PCI, BOCHS, QEMU
|
|
||||||
rtl8139 Realtek 8139 and clones, QEMU
|
|
||||||
rtl8169 Realtek 8110/8111/8167/8168/8169
|
|
||||||
sis900 SiS900, 7016
|
|
||||||
* - in development.
|
|
||||||
Blessed be our Flemish friend Jeffrey, who has written most of the Network staff by himself: stack, drivers, and a lot of apps (except WebView).
|
|
||||||
|
|
||||||
<h3><kosicon n=12>WebView</h3>
|
<h3><kosicon n=25> LAN/Ethernet</h3>
|
||||||
It was never intended to be a browser but rather a Help Center that uses HTML markup. It fits well this purpose, doesn't it? According to current WebView's codebase (that was my first app ever) it will never become a normal web-browser. Please help us and write/port smth good. Good undertake will be to finish Netsurf port.
|
List of supported devices:
|
||||||
|
- 3c59x 3Com Fast EtherLink (3c59x/450/555/556/575/900/905/980)
|
||||||
|
- ar81xx Atheros 8131/8132/8151/8152/8161/8162/8171/8172
|
||||||
|
Killer E2200/E2400/E2500
|
||||||
|
- dec21x4x* Accton en1207B-TX, DEC 21140, ..., VirtualPC
|
||||||
|
- forcedeth* Nvidia nForce chipset integrated Ethernet
|
||||||
|
- i8255x Intel eepro/100 (i8255x, i82562, i82801, ...), QEMU
|
||||||
|
- i8254x Intel PRO/1000 (i8254x), Virtualbox, BOCHS, QEMU
|
||||||
|
- mtd80x Myson MTD803
|
||||||
|
- pcnet32 AMD PCnet (79c970, 79c978, 79c973, ...), Virtualbox, QEMU
|
||||||
|
- r6040 RDC Semiconductors R6040
|
||||||
|
- rhine VIA Rhine II and III
|
||||||
|
- rtl8029 Realtek 8029/8019, ne2000 PCI, BOCHS, QEMU
|
||||||
|
- rtl8139 Realtek 8139 and clones, QEMU
|
||||||
|
- rtl8169 Realtek 8110/8111/8167/8168/8169
|
||||||
|
- sis900 SiS900, 7016
|
||||||
|
|
||||||
<h3><kosicon n=9>How did you achieve so much while being so small?</h3>
|
* - in development
|
||||||
- Kernel, almost all drivers and most applications are written in assembly.
|
|
||||||
- Files in IMG are packed via the LZMA algorithm from 7-Zip. They are unpacked to RAM when accessed.
|
Blessed be our Flemish friend Jeffrey, who has written most of the Network staff by him: stack, drivers, and a lot of apps (except WebView).
|
||||||
- Images are manually optimized by hand: postering, dithering and other techniques were used.
|
|
||||||
|
<h3><kosicon n=12> WebView</h3>
|
||||||
|
It was never intended to be a browser, but rather a Help Center that uses HTML markup. It fits this purpose well, doesn't it? According to current WebView's codebase (that was my first app ever) it will never become a normal web browser. Please help us and write/port something good. For example, it will be nice try to finish Netsurf port.
|
||||||
|
|
||||||
|
<h3><kosicon n=9> How did you achieve so much while being so small?</h3>
|
||||||
|
- Kernel, almost all drivers and most applications are written in assembly language
|
||||||
|
- Files in IMG are packed via the LZMA algorithm from 7-Zip. They are unpacked to RAM when accessed
|
||||||
|
- Most of the images are manually optimized: posterization, dithering and other techniques were used
|
||||||
- Files names in IMG fit 8.3 naming convention (name.extension) which doesn't use additional FAT12 space
|
- Files names in IMG fit 8.3 naming convention (name.extension) which doesn't use additional FAT12 space
|
||||||
- Image files are combined into a single file
|
- Image files are combined into a single file
|
||||||
- Compact binary header of applications, no sections
|
- Compact binary header of applications, no sections
|
||||||
- Resources are reused, and file duplication is avoided, for example:
|
- Resources are reused, and file duplication is avoided, for example:
|
||||||
~ Shared libraries
|
~ Many apps use shared libraries
|
||||||
~ KFM2 is an Eolite just with another appearance
|
~ KFM2 and Eolite are a single app, just with different appearance
|
||||||
~ Memory app uses system icons as images
|
~ APP+, Games Center and System Panel are a single app also
|
||||||
~ one app for APP+, Games and System panel
|
~ Memory Blocks game uses system icons as images
|
||||||
|
|
||||||
|
|
||||||
See more <a href=http://wiki.kolibrios.org/wiki/Hardware_Support>http://wiki.kolibrios.org/wiki/Hardware_Support</a>
|
See more <a href=http://wiki.kolibrios.org/wiki/Hardware_Support>http://wiki.kolibrios.org/wiki/Hardware_Support</a>
|
||||||
</dd>
|
</dd>
|
||||||
|
|
||||||
<h3><kosicon n=13>Last words</h3>
|
<h3><kosicon n=13> Last words</h3>
|
||||||
<font bg=#F9F0A3>We want to express our gratitude to every KolibriOS contributor. Also we would like to give special thanks to Ville M. Turjanmaa, the author of MenuetOS, the predecessor of our system. Finally, we want to thank you, the brave and curious users, we are doing it all for you!
|
<font bg=#F9F0A3>We want to express our gratitude to every KolibriOS contributor. Also, we would like to give special thanks to Ville M. Turjanmaa, the author of MenuetOS, the predecessor of our system.
|
||||||
|
|
||||||
|
Finally, we want to thank you, brave and curious users, as we are doing it all for you!
|
||||||
|
|
||||||
Have fun!</font>
|
Have fun!</font>
|
||||||
|
|
||||||
Sincerely yours,
|
Sincerely yours,
|
||||||
KolibriOS Team
|
KolibriOS Team
|
||||||
|
|
||||||
<img src=/kolibrios/res/system/signs.png alt="You have to use Big Distro to see this image!">
|
<img src=/kolibrios/res/system/signs.png alt="You have to use Big Distro to see this image!">
|
||||||
<!-- Somewhere deep in the Galaxy stars light up and go out, empires are born and turn to dust. In this impenetrable darkness and decadence, there are people who are still working on Kolibri. Many years will pass and perhaps you and I will no longer be here, and our great-grandchildren will ask "Who were those insane who made such an incredible OS?" -->
|
<!-- Somewhere deep in the Galaxy stars light up and go out, empires are born and turn to dust. In this impenetrable darkness and decadence, there are people who are still working on KolibriOS. Many years will pass and perhaps you and I will no longer be here, and our great-grandchildren will ask "Who were those insane who made such an incredible OS?" -->
|
@@ -13,6 +13,7 @@
|
|||||||
16 Centro de juegos |allgames
|
16 Centro de juegos |allgames
|
||||||
60 System panel |syspanel
|
60 System panel |syspanel
|
||||||
18 Ayuda |docpack
|
18 Ayuda |docpack
|
||||||
|
49 Buscar |search
|
||||||
53 Ejecutar aplicaci<63>n |run
|
53 Ejecutar aplicaci<63>n |run
|
||||||
04 Apagar |end
|
04 Apagar |end
|
||||||
#1 **** DEMOS
|
#1 **** DEMOS
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
23 <20><><EFBFBD><E0AEA2> 業<><E6A5AD> |allgames
|
23 <20><><EFBFBD><E0AEA2> 業<><E6A5AD> |allgames
|
||||||
60 <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |syspanel
|
60 <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |syspanel
|
||||||
18 <20><><EFBFBD>㬥<EFBFBD><E3ACA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |docpack
|
18 <20><><EFBFBD>㬥<EFBFBD><E3ACA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |docpack
|
||||||
|
49 <20><><EFBFBD><EFBFBD><EFBFBD> |search
|
||||||
53 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> |run
|
53 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> |run
|
||||||
04 <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> ࠡ<><E0A0A1><EFBFBD> |end
|
04 <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> ࠡ<><E0A0A1><EFBFBD> |end
|
||||||
#1 **** 2D <20><><EFBFBD><EFBFBD><EFBFBD>
|
#1 **** 2D <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2
programs/bcc32/games/blocks/Tupfile.lua
Normal file
2
programs/bcc32/games/blocks/Tupfile.lua
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
if tup.getconfig("NO_FASM") ~= "" then return end
|
||||||
|
tup.rule("block.asm", "fasm -m 65636 %f %o " .. tup.getconfig("KPACK_CMD"), "block.bin")
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
229
programs/bcc32/games/blocks/models/model_8911_bird.bjs
Normal file
229
programs/bcc32/games/blocks/models/model_8911_bird.bjs
Normal file
@@ -0,0 +1,229 @@
|
|||||||
|
// block name, color, step, coord: x,y,z, rotation: x,y,z
|
||||||
|
|
||||||
|
const m1=16711680;
|
||||||
|
const m2=16776960;
|
||||||
|
const m3=655615;
|
||||||
|
const m4=65315;
|
||||||
|
const m5=16777215;
|
||||||
|
const m6=16756655;
|
||||||
|
const m7=16776367;
|
||||||
|
const m8=0;
|
||||||
|
const m9=65498;
|
||||||
|
|
||||||
|
model_list=[
|
||||||
|
['b2x3x1', m1, 0, 4,-20, 3, 0,0,90],
|
||||||
|
['b2x3x1', m1, 0, 4,-12, 3, 0,0,90],
|
||||||
|
['b2x3x1', m1, 0, 4, -4, 3, 0,0,90],
|
||||||
|
['b2x3x1', m1, 0, 4, 4, 3, 0,0,90],
|
||||||
|
['b2x3x1', m1, 0, 4, 12, 3, 0,0,90],
|
||||||
|
['t2x3x1', m1, 0, 0, 20, 3, 0,0,90],
|
||||||
|
['b1x1x1', m1, 0, 0, 28, 3, 0,0,0],
|
||||||
|
['b1x1x1', m1, 0, -8,-16, 3, 0,0,0],
|
||||||
|
['b1x1x1', m1, 0, 8,-16, 3, 0,0,0],
|
||||||
|
['b2x4x1', m1, 0,-12,-12, 3, 0,0,0],
|
||||||
|
['b2x4x1', m1, 0, 8,-12, 3, 0,0,0],
|
||||||
|
['l2x2x1', m1, 0, -8, 4, 3, 0,0,90],
|
||||||
|
['l2x2x1', m1, 0, 8, 4, 3, 0,0,0],
|
||||||
|
['b1x6x1', m1, 1, 0, 20, 6, 0,0,0],
|
||||||
|
['b1x6x1', m1, 1, -4, 16, 6, 0,0,0],
|
||||||
|
['b1x6x1', m1, 1, 4, 16, 6, 0,0,0],
|
||||||
|
['b1x10x1', m1, 1, 0,-24, 6, 0,0,0],
|
||||||
|
['b2x8x1', m1, 1, -8,-16, 6, 0,0,0],
|
||||||
|
['b2x8x1', m1, 1, 4,-16, 6, 0,0,0],
|
||||||
|
['b2x3x1', m1, 1,-16, -8, 6, 0,0,0],
|
||||||
|
['b2x3x1', m1, 1, 12, -8, 6, 0,0,0],
|
||||||
|
['l2x2x1', m1, 1, -4,-20, 6, 0,0,-180],
|
||||||
|
['l2x2x1', m1, 1,-12,-12, 6, 0,0,-180],
|
||||||
|
['l2x2x1', m1, 1,-12, 4, 6, 0,0,90],
|
||||||
|
['l2x2x1', m1, 1, 12, 4, 6, 0,0,0],
|
||||||
|
['l2x2x1', m1, 1, 12,-12, 6, 0,0,-90],
|
||||||
|
['l2x2x1', m1, 1, 4,-20, 6, 0,0,-90],
|
||||||
|
['b2x3x1', m1, 2, 4,-24, 9, 0,0,90],
|
||||||
|
['b1x3x1', m1, 2, -8,-24, 9, 0,0,0],
|
||||||
|
['b1x3x1', m1, 2, 8,-24, 9, 0,0,0],
|
||||||
|
['b1x4x1', m1, 2,-12,-20, 9, 0,0,0],
|
||||||
|
['b1x4x1', m1, 2, 12,-20, 9, 0,0,0],
|
||||||
|
['b1x6x1', m1, 2,-16,-16, 9, 0,0,0],
|
||||||
|
['b1x6x1', m1, 2, 16,-16, 9, 0,0,0],
|
||||||
|
['t2x3x1', m1, 2,-12, 8, 9, 0,0,90],
|
||||||
|
['t2x3x1', m1, 2, 12, 8, 9, 0,0,90],
|
||||||
|
['b2x4x1', m1, 2, 4, 12, 9, 0,0,90],
|
||||||
|
['b1x2x1', m1, 2, 8, 12, 9, 0,0,0],
|
||||||
|
['b1x3x1', m2, 2, 4, 20, 9, 0,0,90],
|
||||||
|
['b1x3x1', m3, 2, 4, 24, 9, 0,0,90],
|
||||||
|
['t2x3x1', m3, 2, 0, 28, 9, 0,0,90],
|
||||||
|
['b2x3x1', m1, 3, 0,-28, 12, 0,0,90],
|
||||||
|
['b2x2x1', m1, 3, 4,-28, 12, 0,0,0],
|
||||||
|
['l2x2x1', m1, 3,-12,-20, 12, 0,0,-180],
|
||||||
|
['l2x2x1', m1, 3, 12,-20, 12, 0,0,-90],
|
||||||
|
['b2x4x1', m1, 3,-16,-16, 12, 0,0,0],
|
||||||
|
['b2x4x1', m1, 3, 12,-16, 12, 0,0,0],
|
||||||
|
['b1x3x1', m1, 3,-16, 0, 12, 0,0,0],
|
||||||
|
['b1x3x1', m1, 3, 16, 0, 12, 0,0,0],
|
||||||
|
['l2x2x1', m1, 3,-12, 12, 12, 0,0,-90],
|
||||||
|
['l2x2x1', m1, 3, 12, 12, 12, 0,0,180],
|
||||||
|
['b1x2x1', m2, 3, -4, 16, 12, 0,0,90],
|
||||||
|
['b1x2x1', m2, 3, 8, 16, 12, 0,0,90],
|
||||||
|
['t2x3x1', m3, 3, 0, 20, 12, 0,0,90],
|
||||||
|
['b1x3x1', m1, 4, 4,-28, 15, 0,0,90],
|
||||||
|
['l2x2x1', m1, 4, -8,-24, 15, 0,0,180],
|
||||||
|
['l2x2x1', m1, 4, 8,-24, 15, 0,0,-90],
|
||||||
|
['b1x2x1', m1, 4,-12,-20, 15, 0,0,90],
|
||||||
|
['b1x2x1', m1, 4, 16,-20, 15, 0,0,90],
|
||||||
|
['c1x2x1', m4, 4,-16,-16, 15, 0,0,90],
|
||||||
|
['c1x2x1', m4, 4, 20,-16, 15, 0,0,90],
|
||||||
|
['b1x4x1', m1, 4,-16,-12, 15, 0,0,0],
|
||||||
|
['b1x4x1', m1, 4, 16,-12, 15, 0,0,0],
|
||||||
|
['l2x2x1', m1, 4,-12, 4, 15, 0,0,90],
|
||||||
|
['l2x2x1', m1, 4, 12, 4, 15, 0,0,0],
|
||||||
|
['b1x1x1', m1, 4,-12, 12, 15, 0,0,0],
|
||||||
|
['b1x1x1', m1, 4, 12, 12, 15, 0,0,0],
|
||||||
|
['l2x2x1', m2, 4, -4, 12, 15, 0,0,90],
|
||||||
|
['l2x2x1', m2, 4, 4, 12, 15, 0,0,0],
|
||||||
|
['b1x2x1', m2, 4, 0, 16, 15, 0,0,0],
|
||||||
|
['b1x6x1', m1, 5,-16,-20, 18, 0,0,0],
|
||||||
|
['b1x6x1', m1, 5, 16,-20, 18, 0,0,0],
|
||||||
|
['b1x3x1', m1, 5, -8, 4, 18, 0,0,90],
|
||||||
|
['b1x3x1', m1, 5, 16, 4, 18, 0,0,90],
|
||||||
|
['l2x2x1', m1, 5, -8, 12, 18, 0,0,-90],
|
||||||
|
['l2x2x1', m1, 5, 8, 12, 18, 0,0,-180],
|
||||||
|
['b1x3x1', m2, 5, 4, 16, 18, 0,0,90],
|
||||||
|
['b1x2x1', m1, 5,-12,-24, 18, 0,0,0],
|
||||||
|
['b1x2x1', m1, 5, 12,-24, 18, 0,0,0],
|
||||||
|
['b2x3x1', m1, 5, 0,-28, 18, 0,0,90],
|
||||||
|
['b2x2x1', m1, 5, 4,-28, 18, 0,0,0],
|
||||||
|
['t2x3x1', m1, 6, 0,-28, 21, 0,0,90],
|
||||||
|
['l2x2x1', m1, 6, -8,-24, 21, 0,0,0],
|
||||||
|
['l2x2x1', m1, 6,-16,-20, 21, 0,0,0],
|
||||||
|
['l2x2x1', m1, 6, 8,-24, 21, 0,0,90],
|
||||||
|
['l2x2x1', m1, 6, 16,-20, 21, 0,0,90],
|
||||||
|
['b1x3x1', m1, 6,-16,-12, 21, 0,0,0],
|
||||||
|
['b1x3x1', m1, 6, 16,-12, 21, 0,0,0],
|
||||||
|
['l2x2x1', m1, 6,-12, 0, 21, 0,0,90],
|
||||||
|
['l2x2x1', m1, 6, -8, 8, 21, 0,0,-90],
|
||||||
|
['l2x2x1', m1, 6, 12, 0, 21, 0,0,0],
|
||||||
|
['l2x2x1', m1, 6, 8, 8, 21, 0,0,-180],
|
||||||
|
['b1x3x1', m1, 6, -4, 12, 21, 0,0,-90],
|
||||||
|
['b1x1x1', m1, 7, -8, 8, 24, 0,0,0],
|
||||||
|
['b2x3x1', m1, 7, -4, 12, 24, 0,0,-90],
|
||||||
|
['b1x1x1', m1, 7, 8, 8, 24, 0,0,0],
|
||||||
|
['l2x2x1', m1, 7,-12, 4, 24, 0,0,-90],
|
||||||
|
['l2x2x1', m1, 7, 12, 4, 24, 0,0,-180],
|
||||||
|
['b1x3x1', m1, 7,-16, 0, 24, 0,0,180],
|
||||||
|
['b1x3x1', m1, 7, 16, 0, 24, 0,0,180],
|
||||||
|
['l2x2x1', m1, 7,-16,-16, 24, 0,0,0],
|
||||||
|
['l2x2x1', m1, 7, 16,-16, 24, 0,0,90],
|
||||||
|
['l2x2x1', m1, 7, -8,-20, 24, 0,0,180],
|
||||||
|
['l2x2x1', m1, 7, 8,-20, 24, 0,0,-90],
|
||||||
|
['b1x3x1', m3, 7, 4,-24, 24, 0,0,90],
|
||||||
|
['b2x2x1', m5, 8, -8,-24, 27, 0,0,0],
|
||||||
|
['b2x3x1', m5, 8, 8,-24, 27, 0,0,90],
|
||||||
|
['b1x3x1', m1, 8,-12,-24, 27, 0,0,0],
|
||||||
|
['b1x3x1', m1, 8, 12,-24, 27, 0,0,0],
|
||||||
|
['b1x4x1', m1, 8,-16,-20, 27, 0,0,0],
|
||||||
|
['b1x4x1', m1, 8, 16,-20, 27, 0,0,0],
|
||||||
|
['l2x2x1', m1, 8,-16, 0, 27, 0,0,-90],
|
||||||
|
['l2x2x1', m1, 8, 16, 0, 27, 0,0,-180],
|
||||||
|
['l2x2x1', m1, 8, 8, 4, 27, 0,0,0],
|
||||||
|
['b2x4x1', m1, 8, 4, 4, 27, 0,0,90],
|
||||||
|
['b1x1x1', m1, 8,-12, 4, 27, 0,0,0],
|
||||||
|
['r1x1x1', m5, 9,-16,-20, 30, 0,0,0],
|
||||||
|
['r1x1x1', m5, 9, 16,-20, 30, 0,0,0],
|
||||||
|
['b1x2x1', m5, 9, -8,-20, 30, 0,0,90],
|
||||||
|
['b1x2x1', m5, 9, 12,-20, 30, 0,0,90],
|
||||||
|
['t2x3x1', m5, 9, 0,-20, 30, 0,0,-90],
|
||||||
|
['r1x1x1', m6, 9,-12,-24, 30, 0,0,0],
|
||||||
|
['r1x1x1', m6, 9, 12,-24, 30, 0,0,0],
|
||||||
|
['r1x2x1', m7, 9, -4,-28, 30, 0,0,0],
|
||||||
|
['r1x2x1', m7, 9, 4,-28, 30, 0,0,0],
|
||||||
|
['b1x4x1', m1, 9,-16,-16, 30, 0,0,0],
|
||||||
|
['b1x4x1', m1, 9, 16,-16, 30, 0,0,0],
|
||||||
|
['l2x2x1', m1, 9,-12, 0, 30, 0,0,90],
|
||||||
|
['l2x2x1', m1, 9, 12, 0, 30, 0,0,0],
|
||||||
|
['l2x2x1', m1, 9, 8, 8, 30, 0,0,-180],
|
||||||
|
['b2x3x1', m1, 9, 0, 4, 30, 0,0,90],
|
||||||
|
['l2x2x1', m5, 10, -4,-20, 33, 0,0,-180],
|
||||||
|
['l2x2x1', m5, 10,-12,-16, 33, 0,0,-180],
|
||||||
|
['l2x2x1', m5, 10, 4,-20, 33, 0,0,-90],
|
||||||
|
['l2x2x1', m5, 10, 12,-16, 33, 0,0,-90],
|
||||||
|
['a1x2x2', m7, 10, 0,-24, 30, 0,0,-180],
|
||||||
|
['r1x2x1', m7, 10, 0,-24, 33, 0,0,0],
|
||||||
|
['b1x2x1', m1, 10,-16,-12, 33, 0,0,0],
|
||||||
|
['l2x2x1', m1, 10,-16, 0, 33, 0,0,-90],
|
||||||
|
['b1x1x1', m1, 10,-12, 4, 33, 0,0,0],
|
||||||
|
['b2x4x1', m1, 10, 4, 4, 33, 0,0,90],
|
||||||
|
['l2x2x1', m1, 10, 8, 4, 33, 0,0,0],
|
||||||
|
['b2x4x1', m1, 10, 12,-12, 33, 0,0,0],
|
||||||
|
['b1x1x1', m1, 11, 0,-24, 36, 0,0,0],
|
||||||
|
['b1x1x1', m5, 11, -4,-24, 36, 0,0,0],
|
||||||
|
['b1x1x1', m5, 11, 4,-24, 36, 0,0,0],
|
||||||
|
['b1x1x3', m8, 11, -8,-24, 30, 0,0,0],
|
||||||
|
['b1x1x3', m8, 11, 8,-24, 30, 0,0,0],
|
||||||
|
['l2x2x1', m5, 11,-12,-20, 36, 0,0,0],
|
||||||
|
['l2x2x1', m5, 11, 12,-20, 36, 0,0,90],
|
||||||
|
['r1x1x1', m5, 11,-16,-16, 36, 0,0,90],
|
||||||
|
['r1x1x1', m5, 11, 16,-16, 36, 0,0,90],
|
||||||
|
['b1x4x1', m1, 11,-16,-12, 36, 0,0,0],
|
||||||
|
['b2x4x1', m1, 11, 12,-12, 36, 0,0,0],
|
||||||
|
['b2x3x1', m1, 11, 4, 0, 36, 0,0,0],
|
||||||
|
['l2x2x1', m1, 11, -8, 0, 36, 0,0,90],
|
||||||
|
['b1x3x1', m1, 11, 0, 8, 36, 0,0,90],
|
||||||
|
['b1x3x1', m1, 12, 4,-24, 39, 0,0,90],
|
||||||
|
['r1x1x1', m5, 12, -8,-24, 39, 0,0,0],
|
||||||
|
['r1x1x1', m5, 12, 8,-24, 39, 0,0,0],
|
||||||
|
['b1x1x1', m5, 12,-12,-20, 39, 0,0,0],
|
||||||
|
['b1x6x1', m5, 12, 12,-20, 39, 0,0,90],
|
||||||
|
['b1x1x1', m1, 12,-12,-16, 39, 0,0,0],
|
||||||
|
['l2x2x1', m1, 12,-16,-12, 39, 0,0,0],
|
||||||
|
['l2x2x1', m1, 12,-12, -4, 39, 0,0,90],
|
||||||
|
['b1x1x1', m1, 12, -8, 0, 39, 0,0,0],
|
||||||
|
['l2x2x1', m1, 12, -4, 4, 39, 0,0,90],
|
||||||
|
['l2x2x1', m1, 12, 4, 8, 39, 0,0,-180],
|
||||||
|
['b1x1x1', m1, 12, 8, 4, 39, 0,0,0],
|
||||||
|
['l2x2x1', m1, 12, 12, 0, 39, 0,0,-180],
|
||||||
|
['b1x2x1', m1, 12, 16, -8, 39, 0,0,0],
|
||||||
|
['l2x2x1', m1, 12, 12,-12, 39, 0,0,-90],
|
||||||
|
['l2x2x1', m1, 13, 4,-20, 42, 0,0,-90],
|
||||||
|
['l2x2x1', m1, 13, -4,-24, 42, 0,0,0],
|
||||||
|
['b2x6x1', m1, 13,-12,-20, 42, 0,0,0],
|
||||||
|
['b1x3x1', m1, 13, 0, 4, 42, 0,0,90],
|
||||||
|
['b2x2x1', m1, 13, 4, 0, 42, 0,0,0],
|
||||||
|
['b1x6x1', m1, 13, 12,-20, 42, 0,0,0],
|
||||||
|
['b1x4x1', m1, 14,-12,-16, 45, 0,0,0],
|
||||||
|
['b2x4x1', m1, 14, 4,-20, 45, 0,0,90],
|
||||||
|
['b2x6x1', m1, 14, 12,-12, 45, 0,0,90],
|
||||||
|
['b2x4x1', m1, 14, 4, -4, 45, 0,0,90],
|
||||||
|
['b1x3x1', m1, 14, 4, 4, 45, 0,0,90],
|
||||||
|
['l2x2x1', m1, 14, 8, -4, 45, 0,0,0],
|
||||||
|
['l2x2x1', m1, 14, 8,-16, 45, 0,0,-90],
|
||||||
|
['b2x4x1', m1, 15, -4,-16, 48, 0,0,0],
|
||||||
|
['b1x3x1', m1, 15, -8,-12, 48, 0,0,0],
|
||||||
|
['b1x3x1', m1, 15, 4, 0, 48, 0,0,90],
|
||||||
|
['b2x2x1', m1, 15, 4, -8, 48, 0,0,0],
|
||||||
|
['l2x2x1', m1, 15, 4,-12, 48, 0,0,-90],
|
||||||
|
['b1x3x1', m2, 16, 8,-12, 0, 0,0,0],
|
||||||
|
['b1x3x1', m2, 16, -8,-12, 0, 0,0,0],
|
||||||
|
['c1x2x1', m9, 17, 20,-16, 12, 0,0,0],
|
||||||
|
['b1x6x1', m4, 17, 0, 8, 0, 0,0,0, 1],
|
||||||
|
['b1x6x1', m9, 17, 0, 4, -3, 0,0,0, 1],
|
||||||
|
['b1x3x1', m4, 18, 0, 4, 3, 0,0,0, 1],
|
||||||
|
['b1x3x1', m2, 18, 0, 16, 3, 0,0,0, 1],
|
||||||
|
['c1x2x1', m4, 18, 0, 0, 6, 0,0,0, 1],
|
||||||
|
['b1x1x1', m4, 18, 0, 8, 6, 0,0,0, 1],
|
||||||
|
['b1x2x1', m2, 18, 0, 12, 6, 0,0,0, 1],
|
||||||
|
['b1x3x1', m2, 18, 0, 4, 9, 0,0,0, 1],
|
||||||
|
['c1x2x1', m9, 17, -20,-16, 12, 0,0,0],
|
||||||
|
['b1x6x1', m4, 17, 0, 8, 0, 0,0,0, 1],
|
||||||
|
['b1x6x1', m9, 17, 0, 4, -3, 0,0,0, 1],
|
||||||
|
['b1x3x1', m4, 18, 0, 4, 3, 0,0,0, 1],
|
||||||
|
['b1x3x1', m2, 18, 0, 16, 3, 0,0,0, 1],
|
||||||
|
['c1x2x1', m4, 18, 0, 0, 6, 0,0,0, 1],
|
||||||
|
['b1x1x1', m4, 18, 0, 8, 6, 0,0,0, 1],
|
||||||
|
['b1x2x1', m2, 18, 0, 12, 6, 0,0,0, 1],
|
||||||
|
['b1x3x1', m2, 18, 0, 4, 9, 0,0,0, 1],
|
||||||
|
];
|
||||||
|
|
||||||
|
model_animat=[
|
||||||
|
[192,'rotation','z','Left', -1.570796327, 0, 0.017453293],
|
||||||
|
[201,'rotation','z','Right', 0, 1.570796327, 0.017453293],
|
||||||
|
];
|
@@ -0,0 +1,531 @@
|
|||||||
|
// block name, color, step, coord: x,y,z, rotation: x,y,z
|
||||||
|
|
||||||
|
const m1=32768;
|
||||||
|
const m2=9474192;
|
||||||
|
const m3=16777215;
|
||||||
|
const m4=2164260863;
|
||||||
|
const m5=655615;
|
||||||
|
const m6=255;
|
||||||
|
const m7=16776960;
|
||||||
|
const m8=10824234;
|
||||||
|
const m9=16384;
|
||||||
|
const m10=0xc97e3b;
|
||||||
|
|
||||||
|
model_list=[
|
||||||
|
['b2x4x1', m2, 0,-28, -4, 6, 0,0,90],
|
||||||
|
['b2x3x1', m2, 0,-40, 4, 6, 0,0,0],
|
||||||
|
['b2x3x1', m2, 0,-32, 8, 6, 0,0,0],
|
||||||
|
['b2x6x1', m2, 0, -4, 8, 6, 0,0,90],
|
||||||
|
['b1x3x1', m2, 0, -4, 4, 6, 0,0,90],
|
||||||
|
['b2x4x1', m2, 0, -4, -4, 6, 0,0,90],
|
||||||
|
['b1x2x1', m2, 0, -8, -8, 6, 0,0,90],
|
||||||
|
['b2x3x1', m2, 0,-24, -8, 6, 0,0,0],
|
||||||
|
['b2x4x1', m2, 1,-12, -8, 9, 0,0,0],
|
||||||
|
['b2x2x1', m2, 1,-20, -4, 9, 0,0,0],
|
||||||
|
['b1x2x1', m2, 1,-20, -8, 9, 0,0,90],
|
||||||
|
['b2x3x1', m2, 1,-24, -4, 9, 0,0,90],
|
||||||
|
['b2x3x1', m2, 1,-40, -4, 9, 0,0,0],
|
||||||
|
['b1x2x1', m2, 1,-40, 8, 9, 0,0,0],
|
||||||
|
['b2x4x1', m2, 1,-24, 8, 9, 0,0,90],
|
||||||
|
['b1x2x1', m2, 1,-28, 16, 9, 0,0,90],
|
||||||
|
['l2x2x1', m2, 2, 0,-12, 6, 0,0,-90],
|
||||||
|
['l2x2x1', m2, 2, 8,-12, 6, 0,0,-90],
|
||||||
|
['b2x4x1', m2, 2, 12, -8, 6, 0,0,90],
|
||||||
|
['b2x4x1', m2, 2, 12, 0, 6, 0,0,90],
|
||||||
|
['b2x4x1', m2, 2, 12, 8, 6, 0,0,90],
|
||||||
|
['b2x4x1', m2, 2, 12, 16, 6, 0,0,90],
|
||||||
|
['b2x4x1', m2, 2, 28, 16, 6, 0,0,90],
|
||||||
|
['b2x4x1', m2, 2, 28, 8, 6, 0,0,90],
|
||||||
|
['b2x4x1', m2, 2, 28, 0, 6, 0,0,90],
|
||||||
|
['b1x4x1', m2, 2, 28, -4, 6, 0,0,90],
|
||||||
|
['b1x2x1', m2, 2, 24, -8, 6, 0,0,90],
|
||||||
|
['b2x2x1', m3, 3, 20, 16, 9, 0,0,0],
|
||||||
|
['b2x2x1', m2, 3, 12, 16, 9, 0,0,0],
|
||||||
|
['b1x3x1', m2, 3, 20, 12, 9, 0,0,90],
|
||||||
|
['b1x2x1', m2, 3, 20, 4, 9, 0,0,0],
|
||||||
|
['b1x3x1', m2, 3, 20, -8, 9, 0,0,0],
|
||||||
|
['l2x2x1', m2, 3, 24, -4, 9, 0,0,-90],
|
||||||
|
['b2x4x1', m2, 3, 12, -4, 9, 0,0,0],
|
||||||
|
['b2x6x1', m2, 3, 4, -4, 9, 0,0,0],
|
||||||
|
['b1x2x1', m2, 3, 8, 20, 9, 0,0,90],
|
||||||
|
['b1x2x1', m2, 3, 0, 16, 9, 0,0,0],
|
||||||
|
['b2x6x1', m2, 3, 0, 8, 9, 0,0,90],
|
||||||
|
['b2x3x1', m2, 3, -4, -4, 9, 0,0,0],
|
||||||
|
['b2x4x1', m2, 3, 12,-12, 9, 0,0,90],
|
||||||
|
['b1x1x1', m2, 3, 8,-16, 9, 0,0,0],
|
||||||
|
['b1x1x1', m2, 3, 0,-16, 9, 0,0,0],
|
||||||
|
['b1x4x1', m2, 4,-28, -4, 3, 0,0,90],
|
||||||
|
['b1x4x1', m2, 4,-40, 0, 3, 0,0,0],
|
||||||
|
['b1x4x1', m2, 4,-24, 12, 3, 0,0,90],
|
||||||
|
['b1x2x1', m2, 4,-28, 16, 3, 0,0,90],
|
||||||
|
['b1x4x1', m2, 4, -8, 12, 3, 0,0,90],
|
||||||
|
['l2x2x1', m2, 4, 0, 12, 3, 0,0,90],
|
||||||
|
['b1x4x1', m2, 4, 12, 20, 3, 0,0,90],
|
||||||
|
['b1x3x1', m2, 4, 24, 20, 3, 0,0,90],
|
||||||
|
['b1x3x1', m2, 4, 28, 12, 3, 0,0,0],
|
||||||
|
['b1x3x1', m2, 4, 28, 0, 3, 0,0,0],
|
||||||
|
['b1x4x1', m2, 4, 28, -4, 3, 0,0,90],
|
||||||
|
['b1x2x1', m2, 4, 24, -8, 3, 0,0,90],
|
||||||
|
['b1x3x1', m2, 4, 12,-12, 3, 0,0,0],
|
||||||
|
['l2x2x1', m2, 4, 8,-12, 3, 0,0,-180],
|
||||||
|
['b1x4x1', m2, 4, 0,-16, 3, 0,0,0],
|
||||||
|
['b1x2x1', m2, 4, -4, -4, 3, 0,0,90],
|
||||||
|
['b1x2x1', m2, 4, -8, -8, 3, 0,0,90],
|
||||||
|
['b1x4x1', m2, 4,-12, -4, 3, 0,0,90],
|
||||||
|
['b1x2x1', m2, 4,-20, -8, 3, 0,0,90],
|
||||||
|
['b20x20x1', m1, 5,-40,-40, 0, 0,0,0],
|
||||||
|
['b1x4x1', m3, 6,-28, -4, 12, 0,0,90],
|
||||||
|
['b2x4x1', m2, 6,-40, 0, 12, 0,0,0],
|
||||||
|
['b2x4x1', m2, 6,-32, 4, 12, 0,0,0],
|
||||||
|
['b2x6x1', m2, 6,-24, -8, 12, 0,0,0],
|
||||||
|
['b2x4x1', m2, 6, -4, 8, 12, 0,0,90],
|
||||||
|
['b2x4x1', m2, 6, -4, -4, 12, 0,0,90],
|
||||||
|
['b1x2x1', m2, 6, -8, -8, 12, 0,0,90],
|
||||||
|
['b1x3x1', m2, 6, 0, -8, 12, 0,0,0],
|
||||||
|
['b1x2x1', m2, 6, 0,-16, 12, 0,0,0],
|
||||||
|
['b1x2x1', m2, 6, 4,-12, 12, 0,0,0],
|
||||||
|
['b1x4x1', m2, 6, 8,-16, 12, 0,0,0],
|
||||||
|
['b1x4x1', m2, 6, 12,-12, 12, 0,0,0],
|
||||||
|
['b1x2x1', m2, 6, 20, -4, 12, 0,0,90],
|
||||||
|
['b1x2x1', m2, 6, 24, -8, 12, 0,0,90],
|
||||||
|
['b2x4x1', m2, 6, 16, 0, 12, 0,0,0],
|
||||||
|
['b1x2x1', m2, 6, 16, 16, 12, 0,0,0],
|
||||||
|
['b2x2x1', m3, 6, 20, 16, 12, 0,0,0],
|
||||||
|
['b2x4x1', m2, 6, 8, 8, 12, 0,0,0],
|
||||||
|
['b2x4x1', m2, 6, 0, 8, 12, 0,0,0],
|
||||||
|
['b2x6x1', m3, 7, 24, 16, 15, 0,0,90],
|
||||||
|
['b1x2x1', m3, 7, 0, 16, 15, 0,0,0],
|
||||||
|
['b1x4x1', m2, 7, 20, 0, 15, 0,0,0],
|
||||||
|
['b1x4x1', m2, 7, 16, 12, 15, 0,0,90],
|
||||||
|
['b2x4x1', m2, 7, 16, 4, 15, 0,0,90],
|
||||||
|
['b2x4x1', m2, 7, 16, -4, 15, 0,0,90],
|
||||||
|
['b2x4x1', m2, 7, -4, 0, 15, 0,0,0],
|
||||||
|
['b1x4x1', m2, 7, -8, 12, 15, 0,0,90],
|
||||||
|
['b1x4x1', m3, 7,-24, 12, 15, 0,0,90],
|
||||||
|
['b1x3x1', m3, 7,-40, 4, 15, 0,0,0],
|
||||||
|
['l2x2x1', m3, 7,-40, -4, 15, 0,0,0],
|
||||||
|
['b1x4x1', m3, 7,-20, -4, 15, 0,0,90],
|
||||||
|
['l2x2x1', m2, 7,-12, -4, 15, 0,0,180],
|
||||||
|
['l2x2x1', m2, 7, -8, -4, 15, 0,0,-90],
|
||||||
|
['b1x4x1', m2, 7, 0,-16, 15, 0,0,0],
|
||||||
|
['b1x2x1', m2, 7, 4,-12, 15, 0,0,0],
|
||||||
|
['b1x2x1', m2, 7, 8,-16, 15, 0,0,0],
|
||||||
|
['b1x2x1', m2, 7, 12,-12, 15, 0,0,0],
|
||||||
|
['b1x1x1', m3, 8, 24, 16, 18, 0,0,0],
|
||||||
|
['c1x1x1', m4, 8, 24, 20, 18, 0,0,0],
|
||||||
|
['b2x2x1', m3, 8, 16, 16, 18, 0,0,0],
|
||||||
|
['c1x1x1', m4, 8, 12, 20, 18, 0,0,0],
|
||||||
|
['c1x1x1', m4, 8, 12, 16, 18, 0,0,0],
|
||||||
|
['b1x2x1', m3, 8, 8, 16, 18, 0,0,0],
|
||||||
|
['c1x1x1', m4, 8, 4, 20, 18, 0,0,0],
|
||||||
|
['c1x1x1', m4, 8, 4, 16, 18, 0,0,0],
|
||||||
|
['b1x2x1', m3, 8, 0, 16, 18, 0,0,0],
|
||||||
|
['b1x2x1', m3, 8, -4, 12, 18, 0,0,90],
|
||||||
|
['b1x4x1', m3, 8,-12, 12, 18, 0,0,90],
|
||||||
|
['b1x4x1', m3, 8,-28, 12, 18, 0,0,90],
|
||||||
|
['b1x4x1', m3, 8,-40, -4, 18, 0,0,0],
|
||||||
|
['b1x4x1', m3, 8,-24, -4, 18, 0,0,90],
|
||||||
|
['b1x2x1', m3, 8,-16, -4, 18, 0,0,90],
|
||||||
|
['b2x2x1', m3, 8,-12, -8, 18, 0,0,0],
|
||||||
|
['b1x4x1', m3, 8, -4, -4, 18, 0,0,0],
|
||||||
|
['b2x4x1', m3, 8, 12,-12, 18, 0,0,90],
|
||||||
|
['b1x1x1', m3, 8, 0,-16, 18, 0,0,0],
|
||||||
|
['b1x1x1', m3, 8, 8,-16, 18, 0,0,0],
|
||||||
|
['b2x2x1', m3, 9, 20, 16, 21, 0,0,0],
|
||||||
|
['b1x2x1', m5, 9, 16, 16, 21, 0,0,0],
|
||||||
|
['b2x2x1', m3, 9, 8, 16, 21, 0,0,0],
|
||||||
|
['b2x2x1', m5, 9, 0, 16, 21, 0,0,0],
|
||||||
|
['b1x1x1', m3, 9, -4, 12, 21, 0,0,0],
|
||||||
|
['c1x1x1', m4, 9, -8, 12, 21, 0,0,0],
|
||||||
|
['b1x1x1', m3, 9,-12, 12, 21, 0,0,0],
|
||||||
|
['c1x1x1', m4, 9,-16, 12, 21, 0,0,0],
|
||||||
|
['b1x1x1', m3, 9,-20, 12, 21, 0,0,0],
|
||||||
|
['c1x1x1', m4, 9,-24, 12, 21, 0,0,0],
|
||||||
|
['b1x2x1', m3, 9,-28, 12, 21, 0,0,90],
|
||||||
|
['c1x1x1', m4, 9,-36, 12, 21, 0,0,0],
|
||||||
|
['b1x1x1', m3, 9,-40, 12, 21, 0,0,0],
|
||||||
|
['b2x3x1', m3, 9,-44, 0, 21, 0,0,0],
|
||||||
|
['b1x1x1', m3, 9,-40, -4, 21, 0,0,0],
|
||||||
|
['c1x1x1', m4, 9,-36, -4, 21, 0,0,0],
|
||||||
|
['b1x1x1', m3, 9,-32, -4, 21, 0,0,0],
|
||||||
|
['c1x1x1', m4, 9,-28, -4, 21, 0,0,0],
|
||||||
|
['b1x2x1', m3, 9,-20, -4, 21, 0,0,90],
|
||||||
|
['c1x1x1', m4, 9,-16, -4, 21, 0,0,0],
|
||||||
|
['b1x2x1', m3, 9,-12, -8, 21, 0,0,0],
|
||||||
|
['c1x1x1', m4, 9, -8, -8, 21, 0,0,0],
|
||||||
|
['b1x2x1', m3, 9, -4, -4, 21, 0,0,90],
|
||||||
|
['c1x1x1', m4, 9, -4, 0, 21, 0,0,0],
|
||||||
|
['b1x1x1', m3, 9, -4, 4, 21, 0,0,0],
|
||||||
|
['c1x1x1', m4, 9, -4, 8, 21, 0,0,0],
|
||||||
|
['b2x4x1', m3, 9, 12,-12, 21, 0,0,90],
|
||||||
|
['c1x1x1', m4, 9, 0,-16, 21, 0,0,0],
|
||||||
|
['c1x1x1', m4, 9, 8,-16, 21, 0,0,0],
|
||||||
|
['c1x1x1', m4, 10, 24, 20, 24, 0,0,0],
|
||||||
|
['l2x2x1', m3, 10, 20, 16, 24, 0,0,0],
|
||||||
|
['c1x1x1', m4, 10, 12, 20, 24, 0,0,0],
|
||||||
|
['c1x1x1', m4, 10, 8, 20, 24, 0,0,0],
|
||||||
|
['c1x1x1', m4, 10, 8, 16, 24, 0,0,0],
|
||||||
|
['c1x1x1', m4, 10, 12, 16, 24, 0,0,0],
|
||||||
|
['b1x4x1', m3, 10, -4, 0, 24, 0,0,0],
|
||||||
|
['b1x4x1', m3, 10, -8, 12, 24, 0,0,90],
|
||||||
|
['b1x4x1', m3, 10,-24, 12, 24, 0,0,90],
|
||||||
|
['b1x4x1', m3, 10,-40, 0, 24, 0,0,0],
|
||||||
|
['c1x1x1', m4, 10,-44, 8, 24, 0,0,0],
|
||||||
|
['c1x1x1', m4, 10,-44, 4, 24, 0,0,0],
|
||||||
|
['c1x1x1', m4, 10,-44, 0, 24, 0,0,0],
|
||||||
|
['b1x2x1', m3, 10,-36, -4, 24, 0,0,90],
|
||||||
|
['b1x4x1', m3, 10,-20, -4, 24, 0,0,90],
|
||||||
|
['b1x4x1', m3, 10, -4, -4, 24, 0,0,90],
|
||||||
|
['b1x2x1', m3, 10, -8, -8, 24, 0,0,90],
|
||||||
|
['l2x2x1', m3, 10, 4, -8, 24, 0,0,180],
|
||||||
|
['b1x2x1', m5, 10, 0,-16, 24, 0,0,0],
|
||||||
|
['l2x2x1', m3, 10, 12, -8, 24, 0,0,180],
|
||||||
|
['b1x2x1', m5, 10, 8,-16, 24, 0,0,0],
|
||||||
|
['b2x2x1', m3, 11, 24, 16, 27, 0,0,90],
|
||||||
|
['b2x2x1', m5, 11, 8, 16, 27, 0,0,0],
|
||||||
|
['b1x1x1', m3, 11, -4, 12, 27, 0,0,0],
|
||||||
|
['c1x1x1', m4, 11, -8, 12, 27, 0,0,0],
|
||||||
|
['b1x1x1', m3, 11,-12, 12, 27, 0,0,0],
|
||||||
|
['c1x1x1', m4, 11,-16, 12, 27, 0,0,0],
|
||||||
|
['b1x1x1', m3, 11,-20, 12, 27, 0,0,0],
|
||||||
|
['c1x1x1', m4, 11,-24, 12, 27, 0,0,0],
|
||||||
|
['b1x2x1', m3, 11,-28, 12, 27, 0,0,90],
|
||||||
|
['c1x1x1', m4, 11,-36, 12, 27, 0,0,0],
|
||||||
|
['b1x1x1', m3, 11,-40, 12, 27, 0,0,0],
|
||||||
|
['b2x3x1', m3, 11,-44, 0, 27, 0,0,0],
|
||||||
|
['b1x1x1', m3, 11,-40, -4, 27, 0,0,0],
|
||||||
|
['c1x1x1', m4, 11,-36, -4, 27, 0,0,0],
|
||||||
|
['b1x1x1', m3, 11,-32, -4, 27, 0,0,0],
|
||||||
|
['c1x1x1', m4, 11,-28, -4, 27, 0,0,0],
|
||||||
|
['b1x2x1', m3, 11,-20, -4, 27, 0,0,90],
|
||||||
|
['c1x1x1', m4, 11,-16, -4, 27, 0,0,0],
|
||||||
|
['b1x2x1', m3, 11,-12, -8, 27, 0,0,0],
|
||||||
|
['c1x1x1', m4, 11, -8, -8, 27, 0,0,0],
|
||||||
|
['b1x2x1', m3, 11, -4, -4, 27, 0,0,90],
|
||||||
|
['c1x1x1', m4, 11, -4, 0, 27, 0,0,0],
|
||||||
|
['b1x1x1', m3, 11, -4, 4, 27, 0,0,0],
|
||||||
|
['c1x1x1', m4, 11, -4, 8, 27, 0,0,0],
|
||||||
|
['b1x2x1', m5, 11, 0,-12, 27, 0,0,0],
|
||||||
|
['c1x1x1', m5, 11, 0,-16, 27, 0,0,0],
|
||||||
|
['f1x2x1', m5, 11, 4,-12, 27, 0,0,0],
|
||||||
|
['f1x2x1', m5, 11, 8,-12, 27, 0,0,0],
|
||||||
|
['c1x1x1', m5, 11, 8,-16, 27, 0,0,0],
|
||||||
|
['b1x2x1', m5, 11, 12,-12, 27, 0,0,0],
|
||||||
|
['b2x2x1', m3, 12, 20, 16, 30, 0,0,0],
|
||||||
|
['b1x4x1', m3, 12, -4, 0, 30, 0,0,0],
|
||||||
|
['b1x4x1', m3, 12, -8, 12, 30, 0,0,90],
|
||||||
|
['b1x4x1', m3, 12,-24, 12, 30, 0,0,90],
|
||||||
|
['b1x4x1', m3, 12,-40, 0, 30, 0,0,0],
|
||||||
|
['c1x1x1', m4, 12,-44, 8, 30, 0,0,0],
|
||||||
|
['c1x1x1', m4, 12,-44, 4, 30, 0,0,0],
|
||||||
|
['c1x1x1', m4, 12,-44, 0, 30, 0,0,0],
|
||||||
|
['b1x2x1', m3, 12,-36, -4, 30, 0,0,90],
|
||||||
|
['b1x4x1', m3, 12,-20, -4, 30, 0,0,90],
|
||||||
|
['b1x4x1', m3, 12, -4, -4, 30, 0,0,90],
|
||||||
|
['b1x2x1', m3, 12, -8, -8, 30, 0,0,90],
|
||||||
|
['b1x2x1', m5, 12, 8,-10, 30, 0,0,90],
|
||||||
|
['b2x2x1', m3, 13, -4, 12, 33, 0,0,0],
|
||||||
|
['c1x1x1', m4, 13, -8, 12, 33, 0,0,0],
|
||||||
|
['b1x1x1', m3, 13,-12, 12, 33, 0,0,0],
|
||||||
|
['c1x1x1', m4, 13,-16, 12, 33, 0,0,0],
|
||||||
|
['b1x1x1', m3, 13,-20, 12, 33, 0,0,0],
|
||||||
|
['c1x1x1', m4, 13,-24, 12, 33, 0,0,0],
|
||||||
|
['b1x2x1', m3, 13,-28, 12, 33, 0,0,90],
|
||||||
|
['c1x1x1', m4, 13,-36, 12, 33, 0,0,0],
|
||||||
|
['b1x1x1', m3, 13,-40, 12, 33, 0,0,0],
|
||||||
|
['b2x3x1', m3, 13,-44, 0, 33, 0,0,0],
|
||||||
|
['b1x1x1', m3, 13,-40, -4, 33, 0,0,0],
|
||||||
|
['c1x1x1', m4, 13,-36, -4, 33, 0,0,0],
|
||||||
|
['b1x1x1', m3, 13,-32, -4, 33, 0,0,0],
|
||||||
|
['c1x1x1', m4, 13,-28, -4, 33, 0,0,0],
|
||||||
|
['b1x2x1', m3, 13,-20, -4, 33, 0,0,90],
|
||||||
|
['c1x1x1', m4, 13,-16, -4, 33, 0,0,0],
|
||||||
|
['b1x2x1', m3, 13,-12, -8, 33, 0,0,0],
|
||||||
|
['c1x1x1', m4, 13, -8, -8, 33, 0,0,0],
|
||||||
|
['b1x1x1', m3, 13, -8, -4, 33, 0,0,90],
|
||||||
|
['c1x1x1', m4, 13, -4, 0, 33, 0,0,0],
|
||||||
|
['b1x1x1', m3, 13, -4, 4, 33, 0,0,0],
|
||||||
|
['c1x1x1', m4, 13, -4, 8, 33, 0,0,0],
|
||||||
|
['b2x2x1', m3, 13, -4, -8, 33, 0,0,0],
|
||||||
|
['b2x4x1', m3, 13, 28, 16, 33, 0,0,90],
|
||||||
|
['b1x2x1', m3, 14, 24, 12, 33, 0,0,90],
|
||||||
|
['b1x2x1', m3, 14, 24, 24, 33, 0,0,90],
|
||||||
|
['b2x4x1', m6, 14, 20, 12, 36, 0,0,0],
|
||||||
|
['b1x2x1', m6, 14, 28, 16, 36, 0,0,0],
|
||||||
|
['b1x2x1', m6, 14, 16, 16, 36, 0,0,0],
|
||||||
|
['c1x1x1', m4, 14, 0, 16, 36, 0,0,0],
|
||||||
|
['b1x1x1', m3, 14, -4, 16, 36, 0,0,0],
|
||||||
|
['b1x1x1', m3, 14, 0, 12, 36, 0,0,0],
|
||||||
|
['b1x4x1', m3, 14, -8, 12, 36, 0,0,90],
|
||||||
|
['b1x4x1', m3, 14,-24, 12, 36, 0,0,90],
|
||||||
|
['b1x4x1', m3, 14,-40, 0, 36, 0,0,0],
|
||||||
|
['b1x2x1', m3, 14,-36, -4, 36, 0,0,90],
|
||||||
|
['b1x4x1', m3, 14,-20, -4, 36, 0,0,90],
|
||||||
|
['b1x4x1', m3, 14, -4, -4, 36, 0,0,90],
|
||||||
|
['b1x4x1', m3, 14, -4, 0, 36, 0,0,0],
|
||||||
|
['b1x1x1', m3, 14, 0, -4, 36, 0,0,0],
|
||||||
|
['c1x1x1', m4, 14, 0, -8, 36, 0,0,0],
|
||||||
|
['b1x1x1', m3, 14, -4, -8, 36, 0,0,0],
|
||||||
|
['b1x2x1', m6, 14, -8, -8, 36, 0,0,90],
|
||||||
|
['b2x2x1', m3, 15, -4, 12, 39, 0,0,0],
|
||||||
|
['c1x1x1', m4, 15, -8, 12, 39, 0,0,0],
|
||||||
|
['b1x1x1', m3, 15,-12, 12, 39, 0,0,0],
|
||||||
|
['c1x1x1', m4, 15,-16, 12, 39, 0,0,0],
|
||||||
|
['b1x1x1', m3, 15,-20, 12, 39, 0,0,0],
|
||||||
|
['c1x1x1', m4, 15,-24, 12, 39, 0,0,0],
|
||||||
|
['b1x2x1', m3, 15,-28, 12, 39, 0,0,90],
|
||||||
|
['c1x1x1', m4, 15,-36, 12, 39, 0,0,0],
|
||||||
|
['b1x1x1', m3, 15,-40, 12, 39, 0,0,0],
|
||||||
|
['b1x1x1', m3, 15,-40, 4, 39, 0,0,0],
|
||||||
|
['b1x1x1', m3, 15,-40, -4, 39, 0,0,0],
|
||||||
|
['c1x1x1', m4, 15,-36, -4, 39, 0,0,0],
|
||||||
|
['b1x1x1', m3, 15,-32, -4, 39, 0,0,0],
|
||||||
|
['c1x1x1', m4, 15,-28, -4, 39, 0,0,0],
|
||||||
|
['b1x2x1', m3, 15,-20, -4, 39, 0,0,90],
|
||||||
|
['c1x1x1', m4, 15,-16, -4, 39, 0,0,0],
|
||||||
|
['b1x1x1', m3, 15,-12, -4, 39, 0,0,0],
|
||||||
|
['c1x1x1', m4, 15,-40, 8, 39, 0,0,0],
|
||||||
|
['c1x1x1', m4, 15, -4, 0, 39, 0,0,0],
|
||||||
|
['b1x1x1', m3, 15, -4, 4, 39, 0,0,0],
|
||||||
|
['c1x1x1', m4, 15, -4, 8, 39, 0,0,0],
|
||||||
|
['b2x2x1', m3, 15, -4, -8, 39, 0,0,0],
|
||||||
|
['c1x1x1', m4, 15,-40, 0, 39, 0,0,0],
|
||||||
|
['c1x1x1', m4, 15, -8, -4, 39, 0,0,0],
|
||||||
|
['c1x1x1', m4, 16, 0, 16, 42, 0,0,0],
|
||||||
|
['b1x1x1', m3, 16, -4, 16, 42, 0,0,0],
|
||||||
|
['b1x1x1', m3, 16, 0, 12, 42, 0,0,0],
|
||||||
|
['b1x4x1', m3, 16, -8, 12, 42, 0,0,90],
|
||||||
|
['b1x4x1', m3, 16,-24, 12, 42, 0,0,90],
|
||||||
|
['b1x4x1', m3, 16,-40, 0, 42, 0,0,0],
|
||||||
|
['b1x2x1', m3, 16,-36, -4, 42, 0,0,90],
|
||||||
|
['b1x4x1', m3, 16,-20, -4, 42, 0,0,90],
|
||||||
|
['b1x4x1', m3, 16, -4, -4, 42, 0,0,90],
|
||||||
|
['b1x4x1', m3, 16, -4, 0, 42, 0,0,0],
|
||||||
|
['b1x1x1', m3, 16, 0, -4, 42, 0,0,0],
|
||||||
|
['c1x1x1', m4, 16, 0, -8, 42, 0,0,0],
|
||||||
|
['b1x1x1', m3, 16, -4, -8, 42, 0,0,0],
|
||||||
|
['b2x2x1', m3, 17, -4, 12, 45, 0,0,0],
|
||||||
|
['b2x3x1', m6, 17, -8, 12, 45, 0,0,90],
|
||||||
|
['b2x2x1', m6, 17,-24, 12, 45, 0,0,0],
|
||||||
|
['b1x2x1', m6, 17,-28, 12, 45, 0,0,90],
|
||||||
|
['b2x2x1', m6, 17,-40, 12, 45, 0,0,0],
|
||||||
|
['b1x1x1', m3, 17,-40, 8, 45, 0,0,0],
|
||||||
|
['c1x1x1', m4, 17,-40, 4, 45, 0,0,0],
|
||||||
|
['b1x1x1', m3, 17,-40, 0, 45, 0,0,0],
|
||||||
|
['b2x4x1', m6, 17,-28, -8, 45, 0,0,90],
|
||||||
|
['b1x2x1', m6, 17,-20, -4, 45, 0,0,90],
|
||||||
|
['b2x3x1', m6, 17, -8, -8, 45, 0,0,90],
|
||||||
|
['b2x2x1', m3, 17, -4, -8, 45, 0,0,0],
|
||||||
|
['b1x1x1', m3, 17, -4, 0, 45, 0,0,0],
|
||||||
|
['c1x1x1', m4, 17, -4, 4, 45, 0,0,0],
|
||||||
|
['b1x1x1', m3, 17, -4, 8, 45, 0,0,0],
|
||||||
|
['c1x1x1', m3, 18,-24, -8, 15, 0,0,0],
|
||||||
|
['c1x1x1', m3, 18,-20, -8, 15, 0,0,0],
|
||||||
|
['c1x1x1', m3, 18,-32, 16, 15, 0,0,0],
|
||||||
|
['c1x1x1', m3, 18,-28, 16, 15, 0,0,0],
|
||||||
|
['c1x1x1', m3, 18,-24, -8, 18, 0,0,0],
|
||||||
|
['c1x1x1', m3, 18,-20, -8, 18, 0,0,0],
|
||||||
|
['c1x1x1', m3, 18,-32, 16, 18, 0,0,0],
|
||||||
|
['c1x1x1', m3, 18,-28, 16, 18, 0,0,0],
|
||||||
|
['c1x1x1', m3, 18,-24, -8, 21, 0,0,0],
|
||||||
|
['c1x1x1', m3, 18,-20, -8, 21, 0,0,0],
|
||||||
|
['c1x1x1', m3, 18,-32, 16, 21, 0,0,0],
|
||||||
|
['c1x1x1', m3, 18,-28, 16, 21, 0,0,0],
|
||||||
|
['c1x1x1', m4, 19,-24, -8, 24, 0,0,0],
|
||||||
|
['c1x1x1', m4, 19,-20, -8, 24, 0,0,0],
|
||||||
|
['c1x1x1', m4, 19,-32, 16, 24, 0,0,0],
|
||||||
|
['c1x1x1', m4, 19,-28, 16, 24, 0,0,0],
|
||||||
|
['c1x1x1', m3, 19,-24, -8, 27, 0,0,0],
|
||||||
|
['c1x1x1', m3, 19,-20, -8, 27, 0,0,0],
|
||||||
|
['c1x1x1', m3, 19,-32, 16, 27, 0,0,0],
|
||||||
|
['c1x1x1', m3, 19,-28, 16, 27, 0,0,0],
|
||||||
|
['c1x1x1', m3, 19,-24, -8, 30, 0,0,0],
|
||||||
|
['c1x1x1', m3, 19,-20, -8, 30, 0,0,0],
|
||||||
|
['c1x1x1', m3, 19,-32, 16, 30, 0,0,0],
|
||||||
|
['c1x1x1', m3, 19,-28, 16, 30, 0,0,0],
|
||||||
|
['c1x1x1', m4, 20,-24, -8, 33, 0,0,0],
|
||||||
|
['c1x1x1', m4, 20,-20, -8, 33, 0,0,0],
|
||||||
|
['c1x1x1', m4, 20,-32, 16, 33, 0,0,0],
|
||||||
|
['c1x1x1', m4, 20,-28, 16, 33, 0,0,0],
|
||||||
|
['c1x1x1', m3, 20,-24, -8, 36, 0,0,0],
|
||||||
|
['c1x1x1', m3, 20,-20, -8, 36, 0,0,0],
|
||||||
|
['c1x1x1', m3, 20,-32, 16, 36, 0,0,0],
|
||||||
|
['c1x1x1', m3, 20,-28, 16, 36, 0,0,0],
|
||||||
|
['c1x1x1', m3, 20,-24, -8, 39, 0,0,0],
|
||||||
|
['c1x1x1', m3, 20,-20, -8, 39, 0,0,0],
|
||||||
|
['c1x1x1', m3, 20,-32, 16, 39, 0,0,0],
|
||||||
|
['c1x1x1', m3, 20,-28, 16, 39, 0,0,0],
|
||||||
|
['c1x1x1', m4, 21,-24, -8, 42, 0,0,0],
|
||||||
|
['c1x1x1', m4, 21,-20, -8, 42, 0,0,0],
|
||||||
|
['c1x1x1', m4, 21,-32, 16, 42, 0,0,0],
|
||||||
|
['c1x1x1', m4, 21,-28, 16, 42, 0,0,0],
|
||||||
|
['c1x1x1', m3, 21,-24, -8, 45, 0,0,0],
|
||||||
|
['c1x1x1', m3, 21,-20, -8, 45, 0,0,0],
|
||||||
|
['c1x1x1', m3, 21,-32, 16, 45, 0,0,0],
|
||||||
|
['c1x1x1', m3, 21,-28, 16, 45, 0,0,0],
|
||||||
|
['c1x1x1', m3, 21,-24, -8, 48, 0,0,0],
|
||||||
|
['c1x1x1', m3, 21,-20, -8, 48, 0,0,0],
|
||||||
|
['c1x1x1', m3, 21,-32, 16, 48, 0,0,0],
|
||||||
|
['c1x1x1', m3, 21,-28, 16, 48, 0,0,0],
|
||||||
|
['c1x1x1', m3, 22, 20, 16, 39, 0,0,0],
|
||||||
|
['c1x1x1', m3, 22, 24, 16, 39, 0,0,0],
|
||||||
|
['c1x1x1', m3, 22, 24, 20, 39, 0,0,0],
|
||||||
|
['c1x1x1', m3, 22, 20, 20, 39, 0,0,0],
|
||||||
|
['b2x2x1', m3, 22, 20, 16, 42, 0,0,0],
|
||||||
|
['f1x2x1', m6, 22, 20, 16, 45, 0,0,0],
|
||||||
|
['f1x2x1', m6, 22, 24, 16, 45, 0,0,0],
|
||||||
|
['f1x2x1', m6, 23, 24, 18, 48, 0,0,90],
|
||||||
|
['c1x1x1', m6, 23, 0, 16, 48, 0,0,0],
|
||||||
|
['b1x3x1', m6, 23, -4, 12, 48, 0,0,90],
|
||||||
|
['b1x1x1', m3, 23, -8, 16, 48, 0,0,0],
|
||||||
|
['b2x4x1', m6, 23,-16, 8, 48, 0,0,90],
|
||||||
|
['b1x3x1', m6, 23,-32, 12, 48, 0,0,90],
|
||||||
|
['b1x1x1', m3, 23,-40, 16, 48, 0,0,0],
|
||||||
|
['b1x3x1', m3, 23,-40, 0, 48, 0,0,0],
|
||||||
|
['b1x3x1', m6, 23,-32, -4, 48, 0,0,90],
|
||||||
|
['b1x1x1', m3, 23,-40, -8, 48, 0,0,0],
|
||||||
|
['b2x4x1', m6, 23,-16, -4, 48, 0,0,90],
|
||||||
|
['b1x3x1', m6, 23, -4, -4, 48, 0,0,90],
|
||||||
|
['b1x1x1', m3, 23, -8, -8, 48, 0,0,0],
|
||||||
|
['c1x1x1', m6, 23, 0, -8, 48, 0,0,0],
|
||||||
|
['b1x3x1', m3, 23, -4, 0, 48, 0,0,0],
|
||||||
|
['c1x1x1', m6, 24, 22, 18, 51, 0,0,0],
|
||||||
|
['c1x1x1', m6, 24, 0, 16, 51, 0,0,90],
|
||||||
|
['c1x1x1', m6, 24, -8, 16, 51, 0,0,0],
|
||||||
|
['b2x6x1', m6, 24, -4, 8, 51, 0,0,90],
|
||||||
|
['b1x2x1', m6, 24,-28, 8, 51, 0,0,90],
|
||||||
|
['b2x2x1', m3, 24,-32, 12, 51, 0,0,0],
|
||||||
|
['b2x2x1', m6, 24,-40, 8, 51, 0,0,0],
|
||||||
|
['c1x1x1', m6, 24,-40, 16, 51, 0,0,0],
|
||||||
|
['b1x1x1', m3, 24,-40, 4, 51, 0,0,0],
|
||||||
|
['b2x4x1', m6, 24,-28, -4, 51, 0,0,90],
|
||||||
|
['c1x1x1', m6, 24,-40, -8, 51, 0,0,0],
|
||||||
|
['b1x2x1', m6, 24,-20, 0, 51, 0,0,90],
|
||||||
|
['b2x2x1', m3, 24,-24, -8, 51, 0,0,0],
|
||||||
|
['b2x4x1', m6, 24, -4, -4, 51, 0,0,90],
|
||||||
|
['c1x1x1', m6, 24, -8, -8, 51, 0,0,0],
|
||||||
|
['c1x1x1', m6, 24, 0, -8, 51, 0,0,0],
|
||||||
|
['b1x1x1', m3, 24, -4, 4, 51, 0,0,0],
|
||||||
|
['c1x1x1', m7, 25, 22, 18, 54, 0,0,0],
|
||||||
|
['b1x1x1', m3, 25, -4, 4, 54, 0,0,0],
|
||||||
|
['b1x3x1', m5, 25, -4, 8, 54, 0,0,90],
|
||||||
|
['b1x3x1', m5, 25, -4, 0, 54, 0,0,90],
|
||||||
|
['b2x3x1', m5, 25,-20, 0, 54, 0,0,0],
|
||||||
|
['b2x3x1', m5, 25,-28, 0, 54, 0,0,0],
|
||||||
|
['b1x3x1', m5, 25,-32, 8, 54, 0,0,90],
|
||||||
|
['b1x1x1', m3, 25,-40, 4, 54, 0,0,0],
|
||||||
|
['b1x3x1', m5, 25,-32, 0, 54, 0,0,90],
|
||||||
|
['c1x1x1', m3, 25,-32, 12, 54, 0,0,0],
|
||||||
|
['c1x1x1', m3, 25,-28, 12, 54, 0,0,0],
|
||||||
|
['c1x1x1', m3, 25,-28, 16, 54, 0,0,0],
|
||||||
|
['c1x1x1', m3, 25,-32, 16, 54, 0,0,0],
|
||||||
|
['c1x1x1', m3, 25,-24, -4, 54, 0,0,0],
|
||||||
|
['c1x1x1', m3, 25,-20, -4, 54, 0,0,0],
|
||||||
|
['c1x1x1', m3, 25,-20, -8, 54, 0,0,0],
|
||||||
|
['c1x1x1', m3, 25,-24, -8, 54, 0,0,0],
|
||||||
|
['c1x1x1', m3, 26,-32, 12, 57, 0,0,0],
|
||||||
|
['c1x1x1', m3, 26,-28, 12, 57, 0,0,0],
|
||||||
|
['c1x1x1', m3, 26,-28, 16, 57, 0,0,0],
|
||||||
|
['c1x1x1', m3, 26,-32, 16, 57, 0,0,0],
|
||||||
|
['c1x1x1', m3, 26,-24, -4, 57, 0,0,0],
|
||||||
|
['c1x1x1', m3, 26,-20, -4, 57, 0,0,0],
|
||||||
|
['c1x1x1', m3, 26,-20, -8, 57, 0,0,0],
|
||||||
|
['c1x1x1', m3, 26,-24, -8, 57, 0,0,0],
|
||||||
|
['f1x2x1', m6, 27,-20, -8, 60, 0,0,90],
|
||||||
|
['f1x2x1', m6, 27,-20, -4, 60, 0,0,90],
|
||||||
|
['f1x2x1', m6, 27,-22, -8, 63, 0,0,0],
|
||||||
|
['c1x1x1', m6, 27,-22, -6, 66, 0,0,0],
|
||||||
|
['c1x1x1', m7, 27,-22, -6, 69, 0,0,0],
|
||||||
|
['b2x2x1', m3, 28,-32, 12, 60, 0,0,0],
|
||||||
|
['b2x2x1', m5, 28,-32, 12, 63, 0,0,0],
|
||||||
|
['c1x1x1', m3, 28,-32, 12, 66, 0,0,0],
|
||||||
|
['c1x1x1', m3, 28,-28, 12, 66, 0,0,0],
|
||||||
|
['c1x1x1', m3, 28,-28, 16, 66, 0,0,0],
|
||||||
|
['c1x1x1', m3, 28,-32, 16, 66, 0,0,0],
|
||||||
|
['b2x2x1', m3, 28,-32, 12, 69, 0,0,0],
|
||||||
|
['f1x2x1', m5, 29,-28, 12, 72, 0,0,90],
|
||||||
|
['f1x2x1', m5, 29,-28, 16, 72, 0,0,90],
|
||||||
|
['f1x2x1', m5, 29,-30, 12, 75, 0,0,0],
|
||||||
|
['c1x1x1', m5, 29,-30, 12, 78, 0,0,0],
|
||||||
|
['c1x1x1', m5, 29,-30, 12, 81, 0,0,0],
|
||||||
|
['c1x1x1', m7, 29,-30, 12, 84, 0,0,0],
|
||||||
|
['b2x3x1', m5, 30, -8, 0, 57, 0,0,0],
|
||||||
|
['b2x3x1', m5, 30,-16, 0, 57, 0,0,0],
|
||||||
|
['b2x3x1', m5, 30,-24, 0, 57, 0,0,0],
|
||||||
|
['b2x3x1', m5, 30,-32, 0, 57, 0,0,0],
|
||||||
|
['b2x3x1', m5, 30,-40, 0, 57, 0,0,0],
|
||||||
|
['b1x4x1', m5, 30, -4, 4, 60, 0,0,90],
|
||||||
|
['b1x2x1', m5, 30,-20, 4, 60, 0,0,90],
|
||||||
|
['b1x4x1', m5, 30,-28, 4, 60, 0,0,90],
|
||||||
|
['b1x3x1', m5, 31, -4, 4, 63, 0,0,90],
|
||||||
|
['b1x4x1', m5, 31,-16, 4, 63, 0,0,90],
|
||||||
|
['b1x3x1', m5, 31,-32, 4, 63, 0,0,90],
|
||||||
|
['c1x1x1', m7, 31, -4, 4, 66, 0,0,0],
|
||||||
|
['c1x1x1', m7, 31,-40, 4, 66, 0,0,0],
|
||||||
|
['c1x1x1', m8, 32,-32,-36, 3, 0,0,0],
|
||||||
|
['b1x2x1', m9, 32, 0, 0, 3, 0,0,45, 1],
|
||||||
|
['b1x2x1', m9, 32, 0, 0, 6, 0,0,-45, 1],
|
||||||
|
['b1x2x1', m9, 32, 0, 0, 9, 0,0,45, 1],
|
||||||
|
['c1x1x1', m9, 32, 0, 0, 12, 0,0,0, 1],
|
||||||
|
['c1x1x1', m8, 33,-12,-24, 3, 0,0,0],
|
||||||
|
['b1x2x1', m9, 33, 0, 0, 3, 0,0,45, 1],
|
||||||
|
['b1x2x1', m9, 33, 0, 0, 6, 0,0,-45, 1],
|
||||||
|
['b1x2x1', m9, 33, 0, 0, 9, 0,0,45, 1],
|
||||||
|
['b1x2x1', m9, 33, 0, 0, 12, 0,0,-45, 1],
|
||||||
|
['b1x2x1', m9, 33, 0, 0, 15, 0,0,45, 1],
|
||||||
|
['c1x1x1', m9, 33, 0, 0, 18, 0,0,0, 1],
|
||||||
|
['c1x1x1', m8, 34, 16,-36, 3, 0,0,0],
|
||||||
|
['b1x2x1', m9, 34, 0, 0, 3, 0,0,45, 1],
|
||||||
|
['b1x2x1', m9, 34, 0, 0, 6, 0,0,-45, 1],
|
||||||
|
['b1x2x1', m9, 34, 0, 0, 9, 0,0,45, 1],
|
||||||
|
['c1x1x1', m9, 34, 0, 0, 12, 0,0,0, 1],
|
||||||
|
['c1x1x1', m8, 35, 32,-24, 3, 0,0,0],
|
||||||
|
['b1x2x1', m9, 35, 0, 0, 3, 0,0,45, 1],
|
||||||
|
['b1x2x1', m9, 35, 0, 0, 6, 0,0,-45, 1],
|
||||||
|
['b1x2x1', m9, 35, 0, 0, 9, 0,0,45, 1],
|
||||||
|
['b1x2x1', m9, 35, 0, 0, 12, 0,0,-45, 1],
|
||||||
|
['b1x2x1', m9, 35, 0, 0, 15, 0,0,45, 1],
|
||||||
|
['c1x1x1', m9, 35, 0, 0, 18, 0,0,0, 1],
|
||||||
|
['c1x1x1', m8, 36,-20, 28, 3, 0,0,0],
|
||||||
|
['b1x2x1', m9, 36, 0, 0, 3, 0,0,45, 1],
|
||||||
|
['b1x2x1', m9, 36, 0, 0, 6, 0,0,-45, 1],
|
||||||
|
['b1x2x1', m9, 36, 0, 0, 9, 0,0,45, 1],
|
||||||
|
['b1x2x1', m9, 36, 0, 0, 12, 0,0,-45, 1],
|
||||||
|
['b1x2x1', m9, 36, 0, 0, 15, 0,0,45, 1],
|
||||||
|
['c1x1x1', m9, 36, 0, 0, 18, 0,0,0, 1],
|
||||||
|
['c1x1x1', m8, 37, 16, 32, 3, 0,0,0],
|
||||||
|
['b1x2x1', m9, 37, 0, 0, 3, 0,0,45, 1],
|
||||||
|
['b1x2x1', m9, 37, 0, 0, 6, 0,0,-45, 1],
|
||||||
|
['b1x2x1', m9, 37, 0, 0, 9, 0,0,45, 1],
|
||||||
|
['c1x1x1', m9, 37, 0, 0, 12, 0,0,0, 1],
|
||||||
|
['c1x1x1', m3, 38, 36, -4, 3, 0,0,0],
|
||||||
|
['b1x2x1', m10, 38, 36, 0, 3, 0,0,90],
|
||||||
|
['b1x2x1', m10, 38, 36, 12, 3, 0,0,90],
|
||||||
|
['c1x1x1', m3, 38, 36, 16, 3, 0,0,0],
|
||||||
|
['c1x1x1', m3, 39, 36, -4, 6, 0,0,0],
|
||||||
|
['b1x2x1', m10, 39, 36, 0, 6, 0,0,90],
|
||||||
|
['b1x2x1', m10, 39, 36, 12, 6, 0,0,90],
|
||||||
|
['c1x1x1', m3, 39, 36, 16, 6, 0,0,0],
|
||||||
|
['c1x1x1', m3, 40, 36, -4, 9, 0,0,0],
|
||||||
|
['b1x2x1', m10, 40, 36, 0, 9, 0,0,90],
|
||||||
|
['b1x2x1', m10, 40, 36, 12, 9, 0,0,90],
|
||||||
|
['c1x1x1', m3, 40, 36, 16, 9, 0,0,0],
|
||||||
|
['c1x1x1', m3, 41, 36, -4, 12, 0,0,0],
|
||||||
|
['b1x2x1', m10, 41, 36, 0, 12, 0,0,90],
|
||||||
|
['b1x2x1', m10, 41, 36, 12, 12, 0,0,90],
|
||||||
|
['c1x1x1', m3, 41, 36, 16, 12, 0,0,0],
|
||||||
|
['b2x2x1', m3, 41, 32, 4, 12, 0,0,0],
|
||||||
|
['c1x1x1', m3, 42, 36, -4, 15, 0,0,0],
|
||||||
|
['b2x4x1', m10, 42, 32, 0, 15, 0,0,0],
|
||||||
|
['c1x1x1', m3, 42, 36, 16, 15, 0,0,0],
|
||||||
|
['b1x1x1', m3, 43, 36, -4, 18, 0,0,0],
|
||||||
|
['b1x2x1', m6, 43, 36, 0, 18, 0,0,90],
|
||||||
|
['b1x2x1', m6, 43, 36, 12, 18, 0,0,90],
|
||||||
|
['b1x1x1', m3, 43, 36, 16, 18, 0,0,0],
|
||||||
|
['b2x2x1', m10, 43, 32, 4, 18, 0,0,0],
|
||||||
|
['c1x1x1', m6, 44, 36, -4, 21, 0,0,0],
|
||||||
|
['c1x1x1', m6, 44, 36, 16, 21, 0,0,0],
|
||||||
|
['f1x2x1', m6, 44, 36, 4, 21, 0,0,0],
|
||||||
|
['f1x2x1', m6, 44, 32, 4, 21, 0,0,0],
|
||||||
|
['f1x2x1', m6, 44, 36, 6, 24, 0,0,90],
|
||||||
|
];
|
@@ -11,9 +11,9 @@ TODO:
|
|||||||
http://board.kolibrios.org/viewtopic.php?f=23&t=4521&p=77334#p77334
|
http://board.kolibrios.org/viewtopic.php?f=23&t=4521&p=77334#p77334
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define ABOUT_TITLE "EOLITE 5.29"
|
#define ABOUT_TITLE "EOLITE 5.30"
|
||||||
#define TITLE_EOLITE "Eolite File Manager 5.29"
|
#define TITLE_EOLITE "Eolite File Manager 5.30"
|
||||||
#define TITLE_KFM "Kolibri File Manager 2.29";
|
#define TITLE_KFM "Kolibri File Manager 2.30";
|
||||||
|
|
||||||
#define MEMSIZE 1024 * 250
|
#define MEMSIZE 1024 * 250
|
||||||
#include "../lib/clipboard.h"
|
#include "../lib/clipboard.h"
|
||||||
@@ -26,12 +26,15 @@ TODO:
|
|||||||
#include "../lib/kfont.h"
|
#include "../lib/kfont.h"
|
||||||
#include "../lib/collection.h"
|
#include "../lib/collection.h"
|
||||||
#include "../lib/copyf.h"
|
#include "../lib/copyf.h"
|
||||||
|
#include "../lib/dll.h"
|
||||||
|
|
||||||
#include "../lib/obj/libini.h"
|
#include "../lib/obj/libini.h"
|
||||||
#include "../lib/obj/box_lib.h"
|
#include "../lib/obj/box_lib.h"
|
||||||
#include "../lib/obj/libimg.h"
|
#include "../lib/obj/libimg.h"
|
||||||
|
#include "../lib/obj/proc_lib.h"
|
||||||
|
|
||||||
#include "../lib/patterns/history.h"
|
#include "../lib/patterns/history.h"
|
||||||
|
#include "../lib/patterns/select_list.h"
|
||||||
|
|
||||||
#include "imgs/images.h"
|
#include "imgs/images.h"
|
||||||
#include "include/const.h"
|
#include "include/const.h"
|
||||||
@@ -110,6 +113,8 @@ edit_box popin_text = {200,213,180,0xFFFFFF,0x94AECE,0xFFFFFF,0xFFFFFF,0x1000000
|
|||||||
|
|
||||||
PathShow_data FileShow = {0, 56,215, 8, 100, 1, 0, 0x0, 0xFFFfff, #file_name, #temp, 0};
|
PathShow_data FileShow = {0, 56,215, 8, 100, 1, 0, 0x0, 0xFFFfff, #file_name, #temp, 0};
|
||||||
|
|
||||||
|
_ini icons_ini = { "/sys/File managers/icons.ini", NULL };
|
||||||
|
|
||||||
#include "include\settings.h"
|
#include "include\settings.h"
|
||||||
#include "include\gui.h"
|
#include "include\gui.h"
|
||||||
#include "include\progress_dialog.h"
|
#include "include\progress_dialog.h"
|
||||||
@@ -121,6 +126,8 @@ PathShow_data FileShow = {0, 56,215, 8, 100, 1, 0, 0x0, 0xFFFfff, #file_name, #t
|
|||||||
#include "include\about.h"
|
#include "include\about.h"
|
||||||
#include "include\properties.h"
|
#include "include\properties.h"
|
||||||
|
|
||||||
|
#include "search.c"
|
||||||
|
|
||||||
void handle_param()
|
void handle_param()
|
||||||
{
|
{
|
||||||
//-p <path> : just show file/folder properties dialog
|
//-p <path> : just show file/folder properties dialog
|
||||||
@@ -146,6 +153,14 @@ void handle_param()
|
|||||||
|
|
||||||
if (ESBYTE[p]=='\0') return;
|
if (ESBYTE[p]=='\0') return;
|
||||||
|
|
||||||
|
if (ESBYTE[p]=='\\') switch (ESBYTE[p+1])
|
||||||
|
{
|
||||||
|
case 's':
|
||||||
|
strcpy(path, p + 3);
|
||||||
|
SearchThread();
|
||||||
|
ExitProcess();
|
||||||
|
}
|
||||||
|
|
||||||
if (ESBYTE[p]=='-') switch (ESBYTE[p+1])
|
if (ESBYTE[p]=='-') switch (ESBYTE[p+1])
|
||||||
{
|
{
|
||||||
case 'p':
|
case 'p':
|
||||||
@@ -438,6 +453,9 @@ void main()
|
|||||||
case SCAN_CODE_KEY_G:
|
case SCAN_CODE_KEY_G:
|
||||||
EventOpenConsoleHere();
|
EventOpenConsoleHere();
|
||||||
break;
|
break;
|
||||||
|
case SCAN_CODE_KEY_F:
|
||||||
|
EventOpenSearch();
|
||||||
|
break;
|
||||||
case SCAN_CODE_KEY_V:
|
case SCAN_CODE_KEY_V:
|
||||||
EventPaste(path);
|
EventPaste(path);
|
||||||
break;
|
break;
|
||||||
@@ -1322,6 +1340,12 @@ void EventOpenConsoleHere()
|
|||||||
RunProgram("/sys/shell", #param);
|
RunProgram("/sys/shell", #param);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EventOpenSearch()
|
||||||
|
{
|
||||||
|
sprintf(#param, "\\s %s", path);
|
||||||
|
RunProgram(#program_path, #param);
|
||||||
|
}
|
||||||
|
|
||||||
void ProceedMouseGestures()
|
void ProceedMouseGestures()
|
||||||
{
|
{
|
||||||
char stats;
|
char stats;
|
||||||
|
@@ -1,16 +1,8 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("NO_TCC") ~= "" then return end
|
|
||||||
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
|
|
||||||
tup.include(HELPERDIR .. "/use_tcc.lua")
|
|
||||||
|
|
||||||
if tup.getconfig("LANG") == "ru_RU"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
|
||||||
LFLAGS = LFLAGS .. " -stack=20480"
|
tup.rule("Eolite.c", "c-- /D=$(C_LANG) /OPATH=%o %f" .. tup.getconfig("KPACK_CMD"), "Eolite.com")
|
||||||
LIBS += " ../../develop/ktcc/trunk/bin/lib/tiny.o -nostdlib -lbox_lib -lini -limg"
|
|
||||||
|
|
||||||
tup.rule("Eolite.c", "c-- -coff /D=" .. C_LANG .. " /OPATH=%o %f", "%B.obj")
|
|
||||||
tup.rule("Eolite.obj", "objconv -felf32 %f %o", "%B.o")
|
|
||||||
link_tcc("Eolite.o", "%B.com")
|
|
||||||
|
@@ -1,4 +1,3 @@
|
|||||||
_ini icons_ini = { "/sys/File managers/icons.ini", NULL };
|
|
||||||
|
|
||||||
struct ICONS_INI {
|
struct ICONS_INI {
|
||||||
collection exts;
|
collection exts;
|
||||||
|
@@ -1,13 +1,3 @@
|
|||||||
#define MEMSIZE 100*1000
|
|
||||||
|
|
||||||
#include "../lib/fs.h"
|
|
||||||
#include "../lib/gui.h"
|
|
||||||
#include "../lib/list_box.h"
|
|
||||||
#include "../lib/obj/box_lib.h"
|
|
||||||
#include "../lib/obj/proc_lib.h"
|
|
||||||
#include "../lib/obj/libini.h"
|
|
||||||
#include "../lib/patterns/select_list.h"
|
|
||||||
|
|
||||||
//===================================================//
|
//===================================================//
|
||||||
// //
|
// //
|
||||||
// DATA //
|
// DATA //
|
||||||
@@ -34,11 +24,11 @@ enum {
|
|||||||
BTN_CHOOSE_PATH
|
BTN_CHOOSE_PATH
|
||||||
};
|
};
|
||||||
|
|
||||||
proc_info Form;
|
dword mouse_dd;
|
||||||
#define TOOLBAR_H 100
|
edit_box edit_name = {230,13, 30,0xffffff,0x94AECE,0xffffff,0xffffff,
|
||||||
|
0x10000000,sizeof(search_name)-2,#search_name,#mouse_dd, ed_focus,0,0};
|
||||||
edit_box edit_name = {230,13, 30,0xffffff,0x94AECE,0xffffff,0xffffff,0x10000000,sizeof(search_name)-2,#search_name,0, ed_focus,0,0};
|
edit_box edit_path = {310,260,30,0xffffff,0x94AECE,0xffffff,0xffffff,
|
||||||
edit_box edit_path = {310,260,30,0xffffff,0x94AECE,0xffffff,0xffffff,0x10000000,sizeof(search_path)-2,#search_path,0, 0b,0,0};
|
0x10000000,sizeof(search_path)-2,#search_path,#mouse_dd, 0b,0,0};
|
||||||
|
|
||||||
opendialog open_folder_dialog =
|
opendialog open_folder_dialog =
|
||||||
{
|
{
|
||||||
@@ -49,7 +39,7 @@ opendialog open_folder_dialog =
|
|||||||
0, //dword opendir_path,
|
0, //dword opendir_path,
|
||||||
#search_path, //dword dir_default_path,
|
#search_path, //dword dir_default_path,
|
||||||
#open_dialog_path,
|
#open_dialog_path,
|
||||||
#draw_window,
|
#draw_window_search,
|
||||||
0,
|
0,
|
||||||
#search_path, //dword openfile_path,
|
#search_path, //dword openfile_path,
|
||||||
0, //dword filename_area,
|
0, //dword filename_area,
|
||||||
@@ -60,6 +50,10 @@ opendialog open_folder_dialog =
|
|||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define TOOLBAR_H 100
|
||||||
|
#define LISTX 0
|
||||||
|
#define LISTY TOOLBAR_H
|
||||||
|
|
||||||
//===================================================//
|
//===================================================//
|
||||||
// //
|
// //
|
||||||
// RESULTS //
|
// RESULTS //
|
||||||
@@ -97,16 +91,17 @@ void RESULTS::drop()
|
|||||||
// //
|
// //
|
||||||
//===================================================//
|
//===================================================//
|
||||||
|
|
||||||
void main()
|
void SearchThread()
|
||||||
{
|
{
|
||||||
int prev_first, prev_cur_y;
|
int prev_first, prev_cur_y;
|
||||||
load_dll(boxlib, #box_lib_init,0);
|
|
||||||
load_dll(libini, #lib_init,1);
|
#ifndef __COFF__
|
||||||
load_dll(Proc_lib, #OpenDialog_init,0);
|
load_dll(Proc_lib, #OpenDialog_init,0);
|
||||||
|
#endif
|
||||||
OpenDialog_init stdcall (#open_folder_dialog);
|
OpenDialog_init stdcall (#open_folder_dialog);
|
||||||
|
|
||||||
edit_box_set_text stdcall (#edit_name, ".ini");
|
if (!ESBYTE[path]) strcpy(path, "/sys");
|
||||||
edit_box_set_text stdcall (#edit_path, "/kolibrios");
|
edit_box_set_text stdcall (#edit_path, path);
|
||||||
|
|
||||||
@SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER);
|
@SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER);
|
||||||
loop() switch(@WaitEvent())
|
loop() switch(@WaitEvent())
|
||||||
@@ -132,8 +127,19 @@ void main()
|
|||||||
|
|
||||||
case evKey:
|
case evKey:
|
||||||
@GetKeys();
|
@GetKeys();
|
||||||
edit_box_key stdcall (#edit_name);
|
edit_box_key_c stdcall (#edit_name);
|
||||||
edit_box_key stdcall (#edit_path);
|
edit_box_key_c stdcall (#edit_path);
|
||||||
|
if (key_scancode == SCAN_CODE_TAB) {
|
||||||
|
if (edit_name.flags & ed_focus) {
|
||||||
|
edit_name.flags >< edit_path.flags;
|
||||||
|
} else if (edit_path.flags & ed_focus) {
|
||||||
|
edit_path.flags -= ed_focus;
|
||||||
|
} else {
|
||||||
|
edit_name.flags += ed_focus;
|
||||||
|
}
|
||||||
|
draw_window_search();
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (edit_name.flags & ed_focus) || (edit_path.flags & ed_focus) {
|
if (edit_name.flags & ed_focus) || (edit_path.flags & ed_focus) {
|
||||||
if (SCAN_CODE_ENTER == key_scancode) EventSearch();
|
if (SCAN_CODE_ENTER == key_scancode) EventSearch();
|
||||||
} else {
|
} else {
|
||||||
@@ -152,22 +158,20 @@ void main()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case evReDraw:
|
case evReDraw:
|
||||||
draw_window();
|
sc.get();
|
||||||
|
DefineAndDrawWindow(screen.w-600/2,100,640,600,0x73,sc.work,T_WINDOW_HEADER,0);
|
||||||
|
GetProcessInfo(#Form, SelfInfo);
|
||||||
|
IF (Form.status_window&ROLLED_UP) break;
|
||||||
|
if (Form.width < 370) { MoveSize(OLD,OLD,370,OLD); break; }
|
||||||
|
if (Form.height < 250) { MoveSize(OLD,OLD,OLD,250); break; }
|
||||||
|
draw_window_search();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void draw_window()
|
void draw_window_search()
|
||||||
{
|
{
|
||||||
sc.get();
|
SelectList_Init(LISTX, LISTY, Form.cwidth-scroll1.size_x-1, Form.cheight-TOOLBAR_H-1);
|
||||||
DefineAndDrawWindow(screen.w-600/2,100,640,600,0x73,sc.work,T_WINDOW_HEADER,0);
|
|
||||||
GetProcessInfo(#Form, SelfInfo);
|
|
||||||
IF (Form.status_window&ROLLED_UP) return;
|
|
||||||
if (Form.width < 270) { MoveSize(OLD,OLD,270,OLD); return; }
|
|
||||||
if (Form.height < 200) { MoveSize(OLD,OLD,OLD,200); return; }
|
|
||||||
SelectList_Init( 0, TOOLBAR_H,
|
|
||||||
Form.cwidth-scroll1.size_x-1,
|
|
||||||
Form.cheight-TOOLBAR_H-1);
|
|
||||||
SelectList_Draw();
|
SelectList_Draw();
|
||||||
DrawBar(0, TOOLBAR_H-1, Form.cwidth, 1, sc.line);
|
DrawBar(0, TOOLBAR_H-1, Form.cwidth, 1, sc.line);
|
||||||
DrawBar(0, 0, Form.cwidth, TOOLBAR_H-1, sc.work);
|
DrawBar(0, 0, Form.cwidth, TOOLBAR_H-1, sc.work);
|
||||||
@@ -178,7 +182,6 @@ void draw_window()
|
|||||||
DrawStandartCaptButton(10, 63, BTN_SEARCH, T_BUTTON_SEARCH);
|
DrawStandartCaptButton(10, 63, BTN_SEARCH, T_BUTTON_SEARCH);
|
||||||
}
|
}
|
||||||
|
|
||||||
_ini ini = { "/sys/File managers/icons.ini", "icons16" };
|
|
||||||
void SelectList_DrawLine(dword i)
|
void SelectList_DrawLine(dword i)
|
||||||
{
|
{
|
||||||
int yyy = i*select_list.item_h+select_list.y;
|
int yyy = i*select_list.item_h+select_list.y;
|
||||||
@@ -201,16 +204,19 @@ void SelectList_DrawLine(dword i)
|
|||||||
} else {
|
} else {
|
||||||
strcpy(#tname, results.name.get(select_list.first + i));
|
strcpy(#tname, results.name.get(select_list.first + i));
|
||||||
strlwr(#tname);
|
strlwr(#tname);
|
||||||
icon = ini.GetInt(#tname + strrchr(#tname, '.'), 2);
|
icons_ini.section = "icons16";
|
||||||
|
icon = icons_ini.GetInt(#tname + strrchr(#tname, '.'), 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define ICONX 7
|
#define ICONX 7
|
||||||
DrawBar(select_list.x, yyy, ICONX-1, select_list.item_h, 0xFFFfff);
|
DrawBar(LISTX, yyy, ICONX, select_list.item_h, 0xFFFfff);
|
||||||
DrawBar(select_list.x+ICONX+18, yyy, select_list.w-ICONX-18, select_list.item_h, bg);
|
DrawBar(LISTX+ICONX, yyy, 18, 1, 0xFFFfff);
|
||||||
draw_icon_16(select_list.x+ICONX, yyy+1, icon);
|
DrawBar(LISTX+ICONX, yyy + select_list.item_h-1, 18, 1, 0xFFFfff);
|
||||||
|
DrawBar(LISTX+ICONX+18, yyy, select_list.w-ICONX-18, select_list.item_h, bg);
|
||||||
|
draw_icon_16(LISTX+ICONX, yyy+1, icon);
|
||||||
|
|
||||||
WriteText(select_list.x + ICONX+18+4,yyy+select_list.text_y,0x90, col, results.name.get(select_list.first + i));
|
WriteText(LISTX + ICONX+18+4,yyy+select_list.text_y,0x90, col, results.name.get(select_list.first + i));
|
||||||
WriteText(select_list.x + ICONX+18+206,yyy+select_list.text_y,0x90, col, results.path.get(select_list.first + i));
|
WriteText(LISTX + ICONX+18+206,yyy+select_list.text_y,0x90, col, results.path.get(select_list.first + i));
|
||||||
}
|
}
|
||||||
|
|
||||||
void SelectList_LineChanged()
|
void SelectList_LineChanged()
|
||||||
@@ -289,6 +295,4 @@ void find_loop(dword way)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stop:
|
|
||||||
|
|
||||||
|
|
13
programs/cmm/misc/search.c
Normal file
13
programs/cmm/misc/search.c
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#define MEMSIZE 1024*20
|
||||||
|
#define ENTRY_POINT #main
|
||||||
|
|
||||||
|
#include "../lib/fs.h"
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
char param2[4096];
|
||||||
|
strcpy(#param2, "\\s ");
|
||||||
|
strncpy(#param2 + 3, #param, sizeof(param2) - 2 - 3);
|
||||||
|
RunProgram("/sys/File managers/Eolite", #param2);
|
||||||
|
ExitProcess();
|
||||||
|
}
|
@@ -1,6 +0,0 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
|
||||||
if tup.getconfig("LANG") == "ru_RU"
|
|
||||||
then C_LANG = "LANG_RUS"
|
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
|
||||||
end
|
|
||||||
tup.rule("search.c", "c-- /D=$(C_LANG) /OPATH=%o %f" .. tup.getconfig("KPACK_CMD"), "search.com")
|
|
@@ -1,10 +0,0 @@
|
|||||||
@del search
|
|
||||||
@c-- /D=LANG_ENG search.c
|
|
||||||
@rename search.com search
|
|
||||||
@del warning.txt
|
|
||||||
|
|
||||||
if exist search (
|
|
||||||
@exit
|
|
||||||
) else (
|
|
||||||
@pause
|
|
||||||
)
|
|
@@ -1,10 +0,0 @@
|
|||||||
@del search
|
|
||||||
@c-- /D=LANG_RUS search.c
|
|
||||||
@rename search.com search
|
|
||||||
@del warning.txt
|
|
||||||
|
|
||||||
if exist search (
|
|
||||||
@exit
|
|
||||||
) else (
|
|
||||||
@pause
|
|
||||||
)
|
|
@@ -32,7 +32,6 @@ section '.flat' code readable align 16
|
|||||||
include "..\..\..\KOSfuncs.inc"
|
include "..\..\..\KOSfuncs.inc"
|
||||||
include "..\..\..\proc32.inc"
|
include "..\..\..\proc32.inc"
|
||||||
include "..\..\..\macros.inc"
|
include "..\..\..\macros.inc"
|
||||||
include "..\..\..\dll.inc"
|
|
||||||
include "..\..\..\bcc32\include\kos_func.inc"
|
include "..\..\..\bcc32\include\kos_func.inc"
|
||||||
include "..\..\..\bcc32\include\kos_heap.inc"
|
include "..\..\..\bcc32\include\kos_heap.inc"
|
||||||
|
|
||||||
@@ -44,9 +43,9 @@ include "..\..\..\bcc32\include\kos_heap.inc"
|
|||||||
@@StrToInt$qpc equ @StrToInt$qpc
|
@@StrToInt$qpc equ @StrToInt$qpc
|
||||||
@@StrToDouble$qpc equ @StrToDouble$qpc
|
@@StrToDouble$qpc equ @StrToDouble$qpc
|
||||||
|
|
||||||
mem.alloc dd ? ;функция для выделения памяти
|
mem.alloc dd ? ;memory allocation function
|
||||||
mem.free dd ? ;функция для освобождения памяти
|
mem.free dd ? ;function to free up memory
|
||||||
mem.realloc dd ? ;функция для перераспределения памяти
|
mem.realloc dd ? ;function for memory reallocation
|
||||||
dll.load dd ?
|
dll.load dd ?
|
||||||
|
|
||||||
PRECISION equ 16
|
PRECISION equ 16
|
||||||
@@ -54,20 +53,20 @@ NNP_FF_BIN equ 0x6e6962
|
|||||||
NNP_FF_JSON equ 0x6e6f736a
|
NNP_FF_JSON equ 0x6e6f736a
|
||||||
|
|
||||||
struct Layer
|
struct Layer
|
||||||
c_size dd ? ;+ 0 curent size - число нейронов в текущем слое
|
c_size dd ? ;+ 0 curent size - number of neurons in the current layer
|
||||||
n_size dd ? ;+ 4 next size - число нейронов на следующем слое
|
n_size dd ? ;+ 4 next size - number of neurons in the next layer
|
||||||
neurons dd ? ;+ 8 []
|
neurons dd ? ;+ 8 []
|
||||||
biases dd ? ;+12 []
|
biases dd ? ;+12 []
|
||||||
weights dd ? ;+16 [][]
|
weights dd ? ;+16 [][]
|
||||||
ends
|
ends
|
||||||
|
|
||||||
struct NeuralNetwork
|
struct NeuralNetwork
|
||||||
learningRate dq ? ;+ 0 скорость обучения
|
learningRate dq ? ;+ 0
|
||||||
layers dd ? ;+ 8 [] слои
|
layers dd ? ;+ 8 []
|
||||||
layers_length dd ? ;+12 число слоев
|
layers_length dd ? ;+12 number of layers
|
||||||
activation dd ? ;+16 указатель на функцию активации
|
activation dd ? ;+16 pointer to activation function
|
||||||
derivative dd ? ;+20 указатель на функцию
|
derivative dd ? ;+20 function pointer
|
||||||
errors dd ? ;+24 массив для вычислений
|
errors dd ? ;+24 array for calculations
|
||||||
errorsNext dd ? ;+28
|
errorsNext dd ? ;+28
|
||||||
gradients dd ? ;+32
|
gradients dd ? ;+32
|
||||||
deltas dd ? ;+36
|
deltas dd ? ;+36
|
||||||
@@ -113,11 +112,6 @@ proc lib_init
|
|||||||
mov [mem.free], ebx
|
mov [mem.free], ebx
|
||||||
mov [mem.realloc], ecx
|
mov [mem.realloc], ecx
|
||||||
mov [dll.load], edx
|
mov [dll.load], edx
|
||||||
|
|
||||||
or edx, edx
|
|
||||||
jz @f
|
|
||||||
invoke dll.load, @IMPORT
|
|
||||||
@@:
|
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
@@ -137,6 +131,21 @@ Math_random:
|
|||||||
@@:
|
@@:
|
||||||
db 0,0,128,55 ;dd 1.0/65536.0
|
db 0,0,128,55 ;dd 1.0/65536.0
|
||||||
|
|
||||||
|
align 16
|
||||||
|
ieee754_exp:
|
||||||
|
fld qword[esp+4]
|
||||||
|
fldl2e ;push log2(e) onto stack
|
||||||
|
fmulp
|
||||||
|
fst st1 ;copies st0 to st1
|
||||||
|
frndint ;round to integer
|
||||||
|
fst st2 ;copies st0 to st2
|
||||||
|
fsubp ;subtraction with stack pop
|
||||||
|
f2xm1 ;raises 2 to the power st0 and subtracts 1
|
||||||
|
fld1
|
||||||
|
faddp
|
||||||
|
fscale ;scale by powers of two
|
||||||
|
ret
|
||||||
|
|
||||||
align 16
|
align 16
|
||||||
sigmoid:
|
sigmoid:
|
||||||
push ebp
|
push ebp
|
||||||
@@ -145,7 +154,7 @@ sigmoid:
|
|||||||
fld qword[ebp+8]
|
fld qword[ebp+8]
|
||||||
fchs
|
fchs
|
||||||
fstp qword[esp]
|
fstp qword[esp]
|
||||||
call dword[_exp]
|
call ieee754_exp
|
||||||
add esp,8
|
add esp,8
|
||||||
fadd dword[f_1_0]
|
fadd dword[f_1_0]
|
||||||
fdivr dword[f_1_0]
|
fdivr dword[f_1_0]
|
||||||
@@ -190,7 +199,7 @@ Layer_Create:
|
|||||||
mov dword[esi+Layer.weights],eax
|
mov dword[esi+Layer.weights],eax
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
cmp edi,ebx
|
cmp edi,ebx
|
||||||
jbe .end_f
|
jbe .end_f
|
||||||
@@:
|
@@:
|
||||||
mov eax,[ebp+16]
|
mov eax,[ebp+16]
|
||||||
shl eax,3
|
shl eax,3
|
||||||
@@ -250,18 +259,18 @@ NNP_Create:
|
|||||||
mov eax,[ebp+28] ;sizes
|
mov eax,[ebp+28] ;sizes
|
||||||
lea edx,[eax+4]
|
lea edx,[eax+4]
|
||||||
mov dword[ebp-8],edx ;save &sizes[i+1]
|
mov dword[ebp-8],edx ;save &sizes[i+1]
|
||||||
jmp .150
|
jmp .3
|
||||||
.cycle_0: ;for (i=0; i < sizes_length; i++)
|
.cycle_0: ;for (i=0; i < sizes_length; i++)
|
||||||
xor ecx,ecx
|
xor ecx,ecx
|
||||||
mov dword[ebp-4],ecx ;nextSize = 0
|
mov dword[ebp-4],ecx ;nextSize = 0
|
||||||
mov eax,[ebp+32] ;sizes_length
|
mov eax,[ebp+32] ;sizes_length
|
||||||
dec eax
|
dec eax
|
||||||
cmp edi,eax
|
cmp edi,eax
|
||||||
jae .152
|
jae @f
|
||||||
mov edx,[ebp-8]
|
mov edx,[ebp-8]
|
||||||
mov ecx,[edx]
|
mov ecx,[edx]
|
||||||
mov dword[ebp-4],ecx ;nextSize = sizes[i+1]
|
mov dword[ebp-4],ecx ;nextSize = sizes[i+1]
|
||||||
.152:
|
@@:
|
||||||
mov eax,[ebp-4]
|
mov eax,[ebp-4]
|
||||||
push eax
|
push eax
|
||||||
mov edx,[ebp-8]
|
mov edx,[ebp-8]
|
||||||
@@ -277,7 +286,7 @@ NNP_Create:
|
|||||||
mov eax,[ebp-8]
|
mov eax,[ebp-8]
|
||||||
lea edx,[eax-4]
|
lea edx,[eax-4]
|
||||||
mov dword[ebp-12],edx ;save &sizes[i]
|
mov dword[ebp-12],edx ;save &sizes[i]
|
||||||
jmp .154
|
jmp .2
|
||||||
.cycle_1: ;for (j=0; j < sizes[i]; j++)
|
.cycle_1: ;for (j=0; j < sizes[i]; j++)
|
||||||
call Math_random
|
call Math_random
|
||||||
fmul dword[f_2_0]
|
fmul dword[f_2_0]
|
||||||
@@ -290,7 +299,7 @@ NNP_Create:
|
|||||||
fstp qword[ecx+8*esi]
|
fstp qword[ecx+8*esi]
|
||||||
xor ebx,ebx ;k=0
|
xor ebx,ebx ;k=0
|
||||||
cmp ebx,[ebp-4]
|
cmp ebx,[ebp-4]
|
||||||
jae .157
|
jae .1
|
||||||
@@: ;for (k=0; k < nextSize; k++)
|
@@: ;for (k=0; k < nextSize; k++)
|
||||||
call Math_random
|
call Math_random
|
||||||
fmul dword[f_2_0]
|
fmul dword[f_2_0]
|
||||||
@@ -305,15 +314,15 @@ NNP_Create:
|
|||||||
inc ebx
|
inc ebx
|
||||||
cmp ebx,[ebp-4]
|
cmp ebx,[ebp-4]
|
||||||
jb @b
|
jb @b
|
||||||
.157:
|
.1:
|
||||||
inc esi
|
inc esi
|
||||||
.154:
|
.2:
|
||||||
mov ecx,[ebp-12]
|
mov ecx,[ebp-12]
|
||||||
cmp esi,[ecx]
|
cmp esi,[ecx]
|
||||||
jb .cycle_1
|
jb .cycle_1
|
||||||
inc edi
|
inc edi
|
||||||
add dword[ebp-8],4
|
add dword[ebp-8],4
|
||||||
.150:
|
.3:
|
||||||
cmp edi,[ebp+32] ;sizes_length
|
cmp edi,[ebp+32] ;sizes_length
|
||||||
jb .cycle_0
|
jb .cycle_0
|
||||||
;create errors array
|
;create errors array
|
||||||
@@ -349,7 +358,7 @@ f_2_0:
|
|||||||
f_1_0:
|
f_1_0:
|
||||||
dd 1.0
|
dd 1.0
|
||||||
|
|
||||||
;заполнение случайными числами
|
;random number filling
|
||||||
;+ 8 NeuralNetwork* o
|
;+ 8 NeuralNetwork* o
|
||||||
align 16
|
align 16
|
||||||
NNP_Reset:
|
NNP_Reset:
|
||||||
@@ -413,7 +422,7 @@ NNP_Reset:
|
|||||||
pop ebp
|
pop ebp
|
||||||
ret 4
|
ret 4
|
||||||
|
|
||||||
;расчет входных и выходных нейронов
|
;calculation of input and output neurons
|
||||||
;+ 8 NeuralNetwork* o
|
;+ 8 NeuralNetwork* o
|
||||||
;+12 double* inputs
|
;+12 double* inputs
|
||||||
align 16
|
align 16
|
||||||
@@ -508,7 +517,7 @@ NNP_BackPropagation:
|
|||||||
add edi,[esi+NeuralNetwork.layers]
|
add edi,[esi+NeuralNetwork.layers]
|
||||||
xor ebx,ebx ;i=0
|
xor ebx,ebx ;i=0
|
||||||
mov eax,[ebp+12] ;eax = targets[]
|
mov eax,[ebp+12] ;eax = targets[]
|
||||||
jmp .180
|
jmp .1
|
||||||
align 4
|
align 4
|
||||||
.cycle_0:
|
.cycle_0:
|
||||||
mov edx,[edi+Layer.neurons]
|
mov edx,[edi+Layer.neurons]
|
||||||
@@ -518,7 +527,7 @@ align 4
|
|||||||
fstp qword[ecx+8*ebx]
|
fstp qword[ecx+8*ebx]
|
||||||
inc ebx
|
inc ebx
|
||||||
add eax,8
|
add eax,8
|
||||||
.180:
|
.1:
|
||||||
cmp ebx,[edi+Layer.c_size]
|
cmp ebx,[edi+Layer.c_size]
|
||||||
jb .cycle_0
|
jb .cycle_0
|
||||||
dec dword[ebp-4] ;k--
|
dec dword[ebp-4] ;k--
|
||||||
@@ -528,7 +537,7 @@ align 4
|
|||||||
.cycle_1:
|
.cycle_1:
|
||||||
sub edi,sizeof.Layer
|
sub edi,sizeof.Layer
|
||||||
xor ebx,ebx ;i=0
|
xor ebx,ebx ;i=0
|
||||||
jmp .186
|
jmp .2
|
||||||
align 4
|
align 4
|
||||||
.cycle_2:
|
.cycle_2:
|
||||||
mov eax,[edi+sizeof.Layer+Layer.neurons]
|
mov eax,[edi+sizeof.Layer+Layer.neurons]
|
||||||
@@ -541,12 +550,12 @@ align 4
|
|||||||
mov edx,[esi+NeuralNetwork.gradients]
|
mov edx,[esi+NeuralNetwork.gradients]
|
||||||
fstp qword[edx+8*ebx]
|
fstp qword[edx+8*ebx]
|
||||||
inc ebx
|
inc ebx
|
||||||
.186:
|
.2:
|
||||||
cmp ebx,[edi+sizeof.Layer+Layer.c_size]
|
cmp ebx,[edi+sizeof.Layer+Layer.c_size]
|
||||||
jb .cycle_2
|
jb .cycle_2
|
||||||
mov edx,[esi+NeuralNetwork.deltas]
|
mov edx,[esi+NeuralNetwork.deltas]
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
jmp .189
|
jmp .3
|
||||||
align 4
|
align 4
|
||||||
.cycle_3:
|
.cycle_3:
|
||||||
mov eax,[edi+Layer.c_size]
|
mov eax,[edi+Layer.c_size]
|
||||||
@@ -556,7 +565,7 @@ align 4
|
|||||||
pop ecx
|
pop ecx
|
||||||
mov dword[edx],eax
|
mov dword[edx],eax
|
||||||
xor eax,eax ;j=0
|
xor eax,eax ;j=0
|
||||||
jmp .191
|
jmp @f
|
||||||
align 4
|
align 4
|
||||||
.cycle_4:
|
.cycle_4:
|
||||||
mov ecx,[esi+NeuralNetwork.gradients]
|
mov ecx,[esi+NeuralNetwork.gradients]
|
||||||
@@ -566,16 +575,16 @@ align 4
|
|||||||
mov ecx,[edx]
|
mov ecx,[edx]
|
||||||
fstp qword[ecx+8*eax]
|
fstp qword[ecx+8*eax]
|
||||||
inc eax
|
inc eax
|
||||||
.191:
|
@@:
|
||||||
cmp eax,[edi+Layer.c_size]
|
cmp eax,[edi+Layer.c_size]
|
||||||
jb .cycle_4
|
jb .cycle_4
|
||||||
inc ebx
|
inc ebx
|
||||||
add edx,4
|
add edx,4
|
||||||
.189:
|
.3:
|
||||||
cmp ebx,[edi+sizeof.Layer+Layer.c_size]
|
cmp ebx,[edi+sizeof.Layer+Layer.c_size]
|
||||||
jb .cycle_3
|
jb .cycle_3
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
jmp .195
|
jmp .4
|
||||||
align 4
|
align 4
|
||||||
.cycle_5:
|
.cycle_5:
|
||||||
mov eax,[esi+NeuralNetwork.errorsNext]
|
mov eax,[esi+NeuralNetwork.errorsNext]
|
||||||
@@ -583,7 +592,7 @@ align 4
|
|||||||
mov dword[eax+8*ebx],edx
|
mov dword[eax+8*ebx],edx
|
||||||
mov dword[eax+8*ebx+4],edx
|
mov dword[eax+8*ebx+4],edx
|
||||||
xor eax,eax ;j=0
|
xor eax,eax ;j=0
|
||||||
jmp .197
|
jmp @f
|
||||||
align 4
|
align 4
|
||||||
.cycle_6:
|
.cycle_6:
|
||||||
mov edx,[edi+Layer.weights]
|
mov edx,[edi+Layer.weights]
|
||||||
@@ -595,11 +604,11 @@ align 4
|
|||||||
fadd qword[ecx+8*ebx]
|
fadd qword[ecx+8*ebx]
|
||||||
fstp qword[ecx+8*ebx]
|
fstp qword[ecx+8*ebx]
|
||||||
inc eax
|
inc eax
|
||||||
.197:
|
@@:
|
||||||
cmp eax,[edi+sizeof.Layer+Layer.c_size]
|
cmp eax,[edi+sizeof.Layer+Layer.c_size]
|
||||||
jb .cycle_6
|
jb .cycle_6
|
||||||
inc ebx
|
inc ebx
|
||||||
.195:
|
.4:
|
||||||
cmp ebx,[edi]
|
cmp ebx,[edi]
|
||||||
jb .cycle_5
|
jb .cycle_5
|
||||||
;copy errors to next level
|
;copy errors to next level
|
||||||
@@ -610,7 +619,7 @@ align 4
|
|||||||
mov eax,[esi+NeuralNetwork.deltas]
|
mov eax,[esi+NeuralNetwork.deltas]
|
||||||
mov dword[ebp-12],eax
|
mov dword[ebp-12],eax
|
||||||
xor ebx,ebx ;i=0
|
xor ebx,ebx ;i=0
|
||||||
jmp .201
|
jmp .6
|
||||||
align 4
|
align 4
|
||||||
.cycle_7:
|
.cycle_7:
|
||||||
mov ecx,[esi+NeuralNetwork.gradients]
|
mov ecx,[esi+NeuralNetwork.gradients]
|
||||||
@@ -620,7 +629,7 @@ align 4
|
|||||||
fstp qword[eax+8*ebx]
|
fstp qword[eax+8*ebx]
|
||||||
xor eax,eax ;j=0
|
xor eax,eax ;j=0
|
||||||
mov edx,[ebp-12] ;edx = deltas[i]
|
mov edx,[ebp-12] ;edx = deltas[i]
|
||||||
jmp .203
|
jmp .5
|
||||||
align 4
|
align 4
|
||||||
.cycle_8:
|
.cycle_8:
|
||||||
; mov ecx,[edx]
|
; mov ecx,[edx]
|
||||||
@@ -656,7 +665,7 @@ align 4
|
|||||||
; pop edx
|
; pop edx
|
||||||
;@@:
|
;@@:
|
||||||
inc eax
|
inc eax
|
||||||
.203:
|
.5:
|
||||||
cmp eax,[edi+Layer.c_size]
|
cmp eax,[edi+Layer.c_size]
|
||||||
jb .cycle_8
|
jb .cycle_8
|
||||||
mov eax,[ebp-12]
|
mov eax,[ebp-12]
|
||||||
@@ -664,7 +673,7 @@ align 4
|
|||||||
pop ecx
|
pop ecx
|
||||||
inc ebx
|
inc ebx
|
||||||
add dword[ebp-12],4
|
add dword[ebp-12],4
|
||||||
.201:
|
.6:
|
||||||
cmp ebx,[edi+sizeof.Layer+Layer.c_size]
|
cmp ebx,[edi+sizeof.Layer+Layer.c_size]
|
||||||
jb .cycle_7
|
jb .cycle_7
|
||||||
dec dword[ebp-4]
|
dec dword[ebp-4]
|
||||||
@@ -693,8 +702,7 @@ NNP_GetMemData:
|
|||||||
jne .end_f
|
jne .end_f
|
||||||
mov esi,[ebp+16]
|
mov esi,[ebp+16]
|
||||||
mov byte[esi],0
|
mov byte[esi],0
|
||||||
stdcall [_strcat], esi,txt_QlearningRateQ_
|
stdcall str_cat, esi,txt_QlearningRateQ_
|
||||||
add esp,8
|
|
||||||
push 1
|
push 1
|
||||||
push PRECISION
|
push PRECISION
|
||||||
mov eax,[ebp+8]
|
mov eax,[ebp+8]
|
||||||
@@ -702,12 +710,9 @@ NNP_GetMemData:
|
|||||||
push dword[eax+NeuralNetwork.learningRate]
|
push dword[eax+NeuralNetwork.learningRate]
|
||||||
call @@DoubleToStr$qduso
|
call @@DoubleToStr$qduso
|
||||||
add esp,16
|
add esp,16
|
||||||
stdcall [_strcat], esi,eax
|
stdcall str_cat, esi,eax
|
||||||
add esp,8
|
stdcall str_cat, esi,txt_zap_nl
|
||||||
stdcall [_strcat], esi,txt_zap_nl
|
stdcall str_cat, esi,txt_Qlayers_lengthQ
|
||||||
add esp,8
|
|
||||||
stdcall [_strcat], esi,txt_Qlayers_lengthQ
|
|
||||||
add esp,8
|
|
||||||
push 1
|
push 1
|
||||||
push 0
|
push 0
|
||||||
mov ecx,[ebp+8]
|
mov ecx,[ebp+8]
|
||||||
@@ -716,23 +721,18 @@ NNP_GetMemData:
|
|||||||
fstp qword[esp]
|
fstp qword[esp]
|
||||||
call @@DoubleToStr$qduso
|
call @@DoubleToStr$qduso
|
||||||
add esp,16
|
add esp,16
|
||||||
stdcall [_strcat], esi,eax
|
stdcall str_cat, esi,eax
|
||||||
add esp,8
|
stdcall str_cat, esi,txt_zap_nl
|
||||||
stdcall [_strcat], esi,txt_zap_nl
|
stdcall str_cat, esi,txt_QlayersQ
|
||||||
add esp,8
|
|
||||||
.230:
|
|
||||||
stdcall [_strcat], esi,txt_QlayersQ
|
|
||||||
add esp,8
|
|
||||||
xor edi,edi ;i=0
|
xor edi,edi ;i=0
|
||||||
jmp .232
|
jmp .7
|
||||||
align 4
|
align 4
|
||||||
.cycle_0:
|
.cycle_0:
|
||||||
push esi
|
push esi
|
||||||
call @@strlen$qpxc
|
call @@strlen$qpxc
|
||||||
pop ecx
|
pop ecx
|
||||||
add esi,eax
|
add esi,eax
|
||||||
stdcall [_strcat], esi,txt_nl_t_Qc_sizeQ
|
stdcall str_cat, esi,txt_nl_t_Qc_sizeQ
|
||||||
add esp,8
|
|
||||||
mov ebx,edi
|
mov ebx,edi
|
||||||
imul ebx,sizeof.Layer
|
imul ebx,sizeof.Layer
|
||||||
push 1
|
push 1
|
||||||
@@ -748,10 +748,8 @@ align 4
|
|||||||
fstp qword[esp]
|
fstp qword[esp]
|
||||||
call @@DoubleToStr$qduso
|
call @@DoubleToStr$qduso
|
||||||
add esp,16
|
add esp,16
|
||||||
stdcall [_strcat], esi,eax
|
stdcall str_cat, esi,eax
|
||||||
add esp,8
|
stdcall str_cat, esi,txt_zap_nl_t_Qn_sizeQ
|
||||||
stdcall [_strcat], esi,txt_zap_nl_t_Qn_sizeQ
|
|
||||||
add esp,8
|
|
||||||
push 1
|
push 1
|
||||||
push 0
|
push 0
|
||||||
mov ecx,[ebp+8]
|
mov ecx,[ebp+8]
|
||||||
@@ -765,21 +763,17 @@ align 4
|
|||||||
fstp qword[esp]
|
fstp qword[esp]
|
||||||
call @@DoubleToStr$qduso
|
call @@DoubleToStr$qduso
|
||||||
add esp,16
|
add esp,16
|
||||||
stdcall [_strcat], esi,eax
|
stdcall str_cat, esi,eax
|
||||||
add esp,8
|
stdcall str_cat, esi,txt_zap_nl
|
||||||
stdcall [_strcat], esi,txt_zap_nl
|
stdcall str_cat, esi,txt_t_QneuronsQ
|
||||||
add esp,8
|
|
||||||
stdcall [_strcat], esi,txt_t_QneuronsQ
|
|
||||||
add esp,8
|
|
||||||
xor ebx,ebx ;j=0
|
xor ebx,ebx ;j=0
|
||||||
jmp .234
|
jmp .1
|
||||||
align 4
|
align 4
|
||||||
.cycle_1:
|
.cycle_1:
|
||||||
test ebx,ebx
|
test ebx,ebx
|
||||||
je .235
|
je @f
|
||||||
stdcall [_strcat], esi,txt_zap_sp
|
stdcall str_cat, esi,txt_zap_sp
|
||||||
add esp,8
|
@@:
|
||||||
.235:
|
|
||||||
push 1
|
push 1
|
||||||
push PRECISION
|
push PRECISION
|
||||||
mov eax,edi
|
mov eax,edi
|
||||||
@@ -791,29 +785,25 @@ align 4
|
|||||||
push dword[eax+8*ebx]
|
push dword[eax+8*ebx]
|
||||||
call @@DoubleToStr$qduso
|
call @@DoubleToStr$qduso
|
||||||
add esp,16
|
add esp,16
|
||||||
stdcall [_strcat], esi,eax
|
stdcall str_cat, esi,eax
|
||||||
add esp,8
|
|
||||||
inc ebx
|
inc ebx
|
||||||
.234:
|
.1:
|
||||||
mov ecx,edi
|
mov ecx,edi
|
||||||
imul ecx,sizeof.Layer
|
imul ecx,sizeof.Layer
|
||||||
mov eax,[ebp+8]
|
mov eax,[ebp+8]
|
||||||
add ecx,[eax+NeuralNetwork.layers]
|
add ecx,[eax+NeuralNetwork.layers]
|
||||||
cmp ebx,[ecx+Layer.c_size]
|
cmp ebx,[ecx+Layer.c_size]
|
||||||
jb .cycle_1
|
jb .cycle_1
|
||||||
stdcall [_strcat], esi,txt_sqbr_zap_nl
|
stdcall str_cat, esi,txt_sqbr_zap_nl
|
||||||
add esp,8
|
stdcall str_cat, esi,txt_t_QbiasesQ
|
||||||
stdcall [_strcat], esi,txt_t_QbiasesQ
|
|
||||||
add esp,8
|
|
||||||
xor ebx,ebx ;j=0
|
xor ebx,ebx ;j=0
|
||||||
jmp .238
|
jmp .2
|
||||||
align 4
|
align 4
|
||||||
.cycle_2:
|
.cycle_2:
|
||||||
test ebx,ebx
|
test ebx,ebx
|
||||||
je .239
|
je @f
|
||||||
stdcall [_strcat], esi,txt_zap_sp
|
stdcall str_cat, esi,txt_zap_sp
|
||||||
add esp,8
|
@@:
|
||||||
.239:
|
|
||||||
push 1
|
push 1
|
||||||
push PRECISION
|
push PRECISION
|
||||||
mov eax,edi
|
mov eax,edi
|
||||||
@@ -825,43 +815,38 @@ align 4
|
|||||||
push dword[eax+8*ebx]
|
push dword[eax+8*ebx]
|
||||||
call @@DoubleToStr$qduso
|
call @@DoubleToStr$qduso
|
||||||
add esp,16
|
add esp,16
|
||||||
stdcall [_strcat], esi,eax
|
stdcall str_cat, esi,eax
|
||||||
add esp,8
|
|
||||||
inc ebx
|
inc ebx
|
||||||
.238:
|
.2:
|
||||||
mov ecx,edi
|
mov ecx,edi
|
||||||
imul ecx,sizeof.Layer
|
imul ecx,sizeof.Layer
|
||||||
mov eax,[ebp+8]
|
mov eax,[ebp+8]
|
||||||
add ecx,[eax+NeuralNetwork.layers]
|
add ecx,[eax+NeuralNetwork.layers]
|
||||||
cmp ebx,[ecx+Layer.c_size]
|
cmp ebx,[ecx+Layer.c_size]
|
||||||
jb .cycle_2
|
jb .cycle_2
|
||||||
stdcall [_strcat], esi,txt_sqbr_zap_t_QweightsQ
|
stdcall str_cat, esi,txt_sqbr_zap_t_QweightsQ
|
||||||
add esp,8
|
|
||||||
mov eax,[ebp+8]
|
mov eax,[ebp+8]
|
||||||
mov ecx,edi
|
mov ecx,edi
|
||||||
imul ecx,sizeof.Layer
|
imul ecx,sizeof.Layer
|
||||||
add ecx,[eax+NeuralNetwork.layers]
|
add ecx,[eax+NeuralNetwork.layers]
|
||||||
cmp dword[ecx+Layer.n_size],0
|
cmp dword[ecx+Layer.n_size],0
|
||||||
je .241
|
je .6
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
jmp .243
|
jmp .5
|
||||||
.242:
|
.cycle_3:
|
||||||
test ebx,ebx
|
test ebx,ebx
|
||||||
je .244
|
je @f
|
||||||
stdcall [_strcat], esi,txt_zap_nl_t_t
|
stdcall str_cat, esi,txt_zap_nl_t_t
|
||||||
add esp,8
|
@@:
|
||||||
.244:
|
stdcall str_cat, esi,txt_sqbro
|
||||||
stdcall [_strcat], esi,txt_sqbro
|
|
||||||
add esp,8
|
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
mov dword[ebp-4],eax
|
mov dword[ebp-4],eax
|
||||||
jmp .246
|
jmp .4
|
||||||
.245:
|
.3:
|
||||||
cmp dword[ebp-4],0
|
cmp dword[ebp-4],0
|
||||||
je .247
|
je @f
|
||||||
stdcall [_strcat], esi,txt_zap_sp
|
stdcall str_cat, esi,txt_zap_sp
|
||||||
add esp,8
|
@@:
|
||||||
.247:
|
|
||||||
push 1
|
push 1
|
||||||
push PRECISION
|
push PRECISION
|
||||||
mov edx,edi
|
mov edx,edi
|
||||||
@@ -875,43 +860,39 @@ align 4
|
|||||||
push dword[ecx+8*eax]
|
push dword[ecx+8*eax]
|
||||||
@@:
|
@@:
|
||||||
call @@DoubleToStr$qduso
|
call @@DoubleToStr$qduso
|
||||||
dec dword[esp+8] ;уменьшаем PRECISION
|
dec dword[esp+8] ;decrease PRECISION
|
||||||
jz @f ;для избежания зацикливания
|
jz @f ;to avoid looping
|
||||||
cmp word[eax],'#'
|
cmp word[eax],'#'
|
||||||
je @b ;если число не поместилось пробуем перевести с меньшей точностью
|
je @b ;if the number does not fit, we try to translate with less precision
|
||||||
@@:
|
@@:
|
||||||
add esp,16
|
add esp,16
|
||||||
stdcall [_strcat], esi,eax
|
stdcall str_cat, esi,eax
|
||||||
add esp,8
|
|
||||||
inc dword[ebp-4]
|
inc dword[ebp-4]
|
||||||
.246:
|
.4:
|
||||||
mov ecx,edi
|
mov ecx,edi
|
||||||
imul ecx,sizeof.Layer
|
imul ecx,sizeof.Layer
|
||||||
mov eax,[ebp+8]
|
mov eax,[ebp+8]
|
||||||
add ecx,[eax+NeuralNetwork.layers]
|
add ecx,[eax+NeuralNetwork.layers]
|
||||||
mov ecx,[ecx+Layer.n_size]
|
mov ecx,[ecx+Layer.n_size]
|
||||||
cmp ecx,[ebp-4]
|
cmp ecx,[ebp-4]
|
||||||
ja .245
|
ja .3
|
||||||
stdcall [_strcat], esi,txt_sqbr
|
stdcall str_cat, esi,txt_sqbr
|
||||||
add esp,8
|
|
||||||
inc ebx
|
inc ebx
|
||||||
.243:
|
.5:
|
||||||
mov eax,edi
|
mov eax,edi
|
||||||
imul eax,sizeof.Layer
|
imul eax,sizeof.Layer
|
||||||
mov ecx,[ebp+8]
|
mov ecx,[ebp+8]
|
||||||
add eax,[ecx+NeuralNetwork.layers]
|
add eax,[ecx+NeuralNetwork.layers]
|
||||||
cmp ebx,[eax+Layer.c_size]
|
cmp ebx,[eax+Layer.c_size]
|
||||||
jb .242
|
jb .cycle_3
|
||||||
.241:
|
.6:
|
||||||
stdcall [_strcat], esi,txt_sqbr_fbr_zap
|
stdcall str_cat, esi,txt_sqbr_fbr_zap
|
||||||
add esp,8
|
|
||||||
inc edi
|
inc edi
|
||||||
.232:
|
.7:
|
||||||
mov eax,[ebp+8]
|
mov eax,[ebp+8]
|
||||||
cmp edi,[eax+NeuralNetwork.layers_length]
|
cmp edi,[eax+NeuralNetwork.layers_length]
|
||||||
jb .cycle_0
|
jb .cycle_0
|
||||||
stdcall [_strcat], esi,txt_nl_t_sqbr
|
stdcall str_cat, esi,txt_nl_t_sqbr
|
||||||
add esp,8
|
|
||||||
.end_f:
|
.end_f:
|
||||||
pop edi esi ebx
|
pop edi esi ebx
|
||||||
mov esp,ebp
|
mov esp,ebp
|
||||||
@@ -963,12 +944,11 @@ NNP_SetMemData:
|
|||||||
mov eax,[ebp+16]
|
mov eax,[ebp+16]
|
||||||
mov edx,[ebp+12]
|
mov edx,[ebp+12]
|
||||||
; cmp edx,NNP_FF_BIN
|
; cmp edx,NNP_FF_BIN
|
||||||
; jne .191
|
; jne @f
|
||||||
;...
|
;...
|
||||||
;.191:
|
;@@:
|
||||||
cmp edx,NNP_FF_JSON
|
cmp edx,NNP_FF_JSON
|
||||||
jne .198
|
jne .9
|
||||||
.199:
|
|
||||||
stdcall @@strstr$qpxct1, eax,txt_learningRate
|
stdcall @@strstr$qpxct1, eax,txt_learningRate
|
||||||
add esp,8
|
add esp,8
|
||||||
mov esi,eax
|
mov esi,eax
|
||||||
@@ -976,27 +956,27 @@ NNP_SetMemData:
|
|||||||
add esp,8
|
add esp,8
|
||||||
mov esi,eax
|
mov esi,eax
|
||||||
test esi,esi
|
test esi,esi
|
||||||
jne .200
|
jne @f
|
||||||
mov eax,1
|
mov eax,1
|
||||||
jmp .193
|
jmp .end_f
|
||||||
.200:
|
@@:
|
||||||
stdcall @@strchr$qpxci, esi,':'
|
stdcall @@strchr$qpxci, esi,':'
|
||||||
add esp,8
|
add esp,8
|
||||||
mov ebx,eax
|
mov ebx,eax
|
||||||
test ebx,ebx
|
test ebx,ebx
|
||||||
jne .201
|
jne @f
|
||||||
mov eax,2
|
mov eax,2
|
||||||
jmp .193
|
jmp .end_f
|
||||||
.201:
|
@@:
|
||||||
inc ebx
|
inc ebx
|
||||||
stdcall @@strchr$qpxci, esi,','
|
stdcall @@strchr$qpxci, esi,','
|
||||||
add esp,8
|
add esp,8
|
||||||
mov esi,eax
|
mov esi,eax
|
||||||
test esi,esi
|
test esi,esi
|
||||||
jne .202
|
jne @f
|
||||||
mov eax,3
|
mov eax,3
|
||||||
jmp .193
|
jmp .end_f
|
||||||
.202:
|
@@:
|
||||||
mov byte[esi],0
|
mov byte[esi],0
|
||||||
inc esi
|
inc esi
|
||||||
stdcall @@StrToInt$qpc, ebx
|
stdcall @@StrToInt$qpc, ebx
|
||||||
@@ -1008,38 +988,38 @@ NNP_SetMemData:
|
|||||||
mov eax,[ebp+8]
|
mov eax,[ebp+8]
|
||||||
mov edx,[eax+12]
|
mov edx,[eax+12]
|
||||||
cmp edx,[ebp-4]
|
cmp edx,[ebp-4]
|
||||||
je .203
|
je @f
|
||||||
mov eax,txt_err_layers_neq
|
mov eax,txt_err_layers_neq
|
||||||
jmp .193
|
jmp .end_f
|
||||||
.203:
|
@@:
|
||||||
xor edi,edi ;i=0
|
xor edi,edi ;i=0
|
||||||
jmp .205
|
jmp .8
|
||||||
.204: ;for(i=0;i<o->layers_length;i++)
|
.cycle_0: ;for(i=0;i<o->layers_length;i++)
|
||||||
stdcall @@strstr$qpxct1, esi,txt_c_size
|
stdcall @@strstr$qpxct1, esi,txt_c_size
|
||||||
add esp,8
|
add esp,8
|
||||||
mov esi,eax
|
mov esi,eax
|
||||||
test esi,esi
|
test esi,esi
|
||||||
jne .206
|
jne @f
|
||||||
mov eax,txt_err_c_size
|
mov eax,txt_err_c_size
|
||||||
jmp .193
|
jmp .end_f
|
||||||
.206:
|
@@:
|
||||||
stdcall @@strchr$qpxci, esi,':'
|
stdcall @@strchr$qpxci, esi,':'
|
||||||
add esp,8
|
add esp,8
|
||||||
mov ebx,eax
|
mov ebx,eax
|
||||||
test ebx,ebx
|
test ebx,ebx
|
||||||
jne .207
|
jne @f
|
||||||
mov eax,6
|
mov eax,6
|
||||||
jmp .193
|
jmp .end_f
|
||||||
.207:
|
@@:
|
||||||
inc ebx
|
inc ebx
|
||||||
stdcall @@strchr$qpxci, esi,','
|
stdcall @@strchr$qpxci, esi,','
|
||||||
add esp,8
|
add esp,8
|
||||||
mov esi,eax
|
mov esi,eax
|
||||||
test esi,esi
|
test esi,esi
|
||||||
jne .208
|
jne @f
|
||||||
mov eax,7
|
mov eax,7
|
||||||
jmp .193
|
jmp .end_f
|
||||||
.208:
|
@@:
|
||||||
mov byte[esi],0
|
mov byte[esi],0
|
||||||
inc esi
|
inc esi
|
||||||
stdcall @@StrToInt$qpc, ebx
|
stdcall @@StrToInt$qpc, ebx
|
||||||
@@ -1049,27 +1029,27 @@ NNP_SetMemData:
|
|||||||
add esp,8
|
add esp,8
|
||||||
mov esi,eax
|
mov esi,eax
|
||||||
test esi,esi
|
test esi,esi
|
||||||
jne .209
|
jne @f
|
||||||
mov eax,8
|
mov eax,8
|
||||||
jmp .193
|
jmp .end_f
|
||||||
.209:
|
@@:
|
||||||
stdcall @@strchr$qpxci, esi,':'
|
stdcall @@strchr$qpxci, esi,':'
|
||||||
add esp,8
|
add esp,8
|
||||||
mov ebx,eax
|
mov ebx,eax
|
||||||
test ebx,ebx
|
test ebx,ebx
|
||||||
jne .210
|
jne @f
|
||||||
mov eax,9
|
mov eax,9
|
||||||
jmp .193
|
jmp .end_f
|
||||||
.210:
|
@@:
|
||||||
inc ebx
|
inc ebx
|
||||||
stdcall @@strchr$qpxci, esi,','
|
stdcall @@strchr$qpxci, esi,','
|
||||||
add esp,8
|
add esp,8
|
||||||
mov esi,eax
|
mov esi,eax
|
||||||
test esi,esi
|
test esi,esi
|
||||||
jne .211
|
jne @f
|
||||||
mov eax,10
|
mov eax,10
|
||||||
jmp .193
|
jmp .end_f
|
||||||
.211:
|
@@:
|
||||||
mov byte[esi],0
|
mov byte[esi],0
|
||||||
inc esi
|
inc esi
|
||||||
stdcall @@StrToInt$qpc,ebx
|
stdcall @@StrToInt$qpc,ebx
|
||||||
@@ -1081,11 +1061,11 @@ NNP_SetMemData:
|
|||||||
add eax,[edx+NeuralNetwork.layers]
|
add eax,[edx+NeuralNetwork.layers]
|
||||||
mov edx,[eax+Layer.c_size]
|
mov edx,[eax+Layer.c_size]
|
||||||
cmp edx,[ebp-4]
|
cmp edx,[ebp-4]
|
||||||
jne .213
|
jne @f
|
||||||
mov edx,[eax+Layer.n_size]
|
mov edx,[eax+Layer.n_size]
|
||||||
cmp edx,[ebp-8]
|
cmp edx,[ebp-8]
|
||||||
je .214
|
je .1
|
||||||
.213:
|
@@:
|
||||||
mov ecx,[ebp+8]
|
mov ecx,[ebp+8]
|
||||||
stdcall NNP_GetMaxLLen,ecx
|
stdcall NNP_GetMaxLLen,ecx
|
||||||
mov ecx,edi
|
mov ecx,edi
|
||||||
@@ -1106,10 +1086,10 @@ NNP_SetMemData:
|
|||||||
add eax,edx
|
add eax,edx
|
||||||
stdcall Layer_Create,eax
|
stdcall Layer_Create,eax
|
||||||
cmp ebx,[ebp-4] ;if(n>s || k>s)
|
cmp ebx,[ebp-4] ;if(n>s || k>s)
|
||||||
jb .215
|
jb @f
|
||||||
cmp ebx,[ebp-8]
|
cmp ebx,[ebp-8]
|
||||||
jae .214
|
jae .1
|
||||||
.215:
|
@@:
|
||||||
mov edx,[ebp+8]
|
mov edx,[ebp+8]
|
||||||
mov ecx,[edx+NeuralNetwork.errors]
|
mov ecx,[edx+NeuralNetwork.errors]
|
||||||
cmp ecx,[edx+NeuralNetwork.errorsNext]
|
cmp ecx,[edx+NeuralNetwork.errorsNext]
|
||||||
@@ -1135,45 +1115,45 @@ NNP_SetMemData:
|
|||||||
stdcall [mem.realloc], [edx+NeuralNetwork.deltas],ebx
|
stdcall [mem.realloc], [edx+NeuralNetwork.deltas],ebx
|
||||||
mov edx,[ebp+8]
|
mov edx,[ebp+8]
|
||||||
mov dword[edx+NeuralNetwork.deltas],eax
|
mov dword[edx+NeuralNetwork.deltas],eax
|
||||||
.214:
|
.1:
|
||||||
stdcall @@strstr$qpxct1, esi,txt_biases
|
stdcall @@strstr$qpxct1, esi,txt_biases
|
||||||
add esp,8
|
add esp,8
|
||||||
mov esi,eax
|
mov esi,eax
|
||||||
test esi,esi
|
test esi,esi
|
||||||
jne .216
|
jne @f
|
||||||
mov eax,11
|
mov eax,11
|
||||||
jmp .193
|
jmp .end_f
|
||||||
.216:
|
@@:
|
||||||
stdcall @@strchr$qpxci, esi,'['
|
stdcall @@strchr$qpxci, esi,'['
|
||||||
add esp,8
|
add esp,8
|
||||||
mov ebx,eax
|
mov ebx,eax
|
||||||
test ebx,ebx
|
test ebx,ebx
|
||||||
jne .217
|
jne @f
|
||||||
mov eax,txt_err_sqbrl_b1
|
mov eax,txt_err_sqbrl_b1
|
||||||
jmp .193
|
jmp .end_f
|
||||||
.217:
|
@@:
|
||||||
inc ebx
|
inc ebx
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
mov dword[ebp-8],edx
|
mov dword[ebp-8],edx
|
||||||
jmp .219
|
jmp .4
|
||||||
.218:
|
.2:
|
||||||
dec edx
|
dec edx
|
||||||
cmp eax,edx
|
cmp eax,edx
|
||||||
jae .220
|
jae @f
|
||||||
stdcall @@strchr$qpxci, ebx,','
|
stdcall @@strchr$qpxci, ebx,','
|
||||||
add esp,8
|
add esp,8
|
||||||
mov esi,eax
|
mov esi,eax
|
||||||
jmp .221
|
jmp .3
|
||||||
.220:
|
@@:
|
||||||
stdcall @@strchr$qpxci, ebx,']'
|
stdcall @@strchr$qpxci, ebx,']'
|
||||||
add esp,8
|
add esp,8
|
||||||
mov esi,eax
|
mov esi,eax
|
||||||
.221:
|
.3:
|
||||||
test esi,esi
|
test esi,esi
|
||||||
jne .222
|
jne @f
|
||||||
mov eax,13
|
mov eax,13
|
||||||
jmp .193
|
jmp .end_f
|
||||||
.222:
|
@@:
|
||||||
mov byte[esi],0
|
mov byte[esi],0
|
||||||
stdcall @@StrToDouble$qpc,ebx
|
stdcall @@StrToDouble$qpc,ebx
|
||||||
pop ecx
|
pop ecx
|
||||||
@@ -1186,7 +1166,7 @@ NNP_SetMemData:
|
|||||||
mov edx,[eax+edx+Layer.biases]
|
mov edx,[eax+edx+Layer.biases]
|
||||||
fstp qword[edx+8*ecx]
|
fstp qword[edx+8*ecx]
|
||||||
inc dword[ebp-8]
|
inc dword[ebp-8]
|
||||||
.219:
|
.4:
|
||||||
mov edx,edi
|
mov edx,edi
|
||||||
imul edx,sizeof.Layer
|
imul edx,sizeof.Layer
|
||||||
mov ecx,[ebp+8]
|
mov ecx,[ebp+8]
|
||||||
@@ -1194,29 +1174,29 @@ NNP_SetMemData:
|
|||||||
mov edx,[edx+Layer.c_size]
|
mov edx,[edx+Layer.c_size]
|
||||||
mov eax,[ebp-8]
|
mov eax,[ebp-8]
|
||||||
cmp edx,eax
|
cmp edx,eax
|
||||||
ja .218
|
ja .2
|
||||||
mov esi,ebx
|
mov esi,ebx
|
||||||
stdcall @@strstr$qpxct1, esi,txt_weights
|
stdcall @@strstr$qpxct1, esi,txt_weights
|
||||||
add esp,8
|
add esp,8
|
||||||
mov esi,eax
|
mov esi,eax
|
||||||
test esi,esi
|
test esi,esi
|
||||||
jne .224
|
jne @f
|
||||||
mov eax,14
|
mov eax,14
|
||||||
jmp .193
|
jmp .end_f
|
||||||
.224:
|
@@:
|
||||||
stdcall @@strchr$qpxci, esi,'['
|
stdcall @@strchr$qpxci, esi,'['
|
||||||
add esp,8
|
add esp,8
|
||||||
mov esi,eax
|
mov esi,eax
|
||||||
test esi,esi
|
test esi,esi
|
||||||
jne .225
|
jne @f
|
||||||
mov eax,txt_err_sqbrl_w1
|
mov eax,txt_err_sqbrl_w1
|
||||||
jmp .193
|
jmp .end_f
|
||||||
.225:
|
@@:
|
||||||
inc esi
|
inc esi
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
mov dword[ebp-8],edx ;k=0
|
mov dword[ebp-8],edx ;k=0
|
||||||
jmp .227
|
jmp .7
|
||||||
.226: ;for(k=0;k<o->layers[i].c_size;k++)
|
.cycle_1: ;for(k=0;k<o->layers[i].c_size;k++)
|
||||||
|
|
||||||
mov eax,edi
|
mov eax,edi
|
||||||
imul eax,sizeof.Layer
|
imul eax,sizeof.Layer
|
||||||
@@ -1226,39 +1206,39 @@ NNP_SetMemData:
|
|||||||
or eax,eax
|
or eax,eax
|
||||||
jnz .end_null_we
|
jnz .end_null_we
|
||||||
inc dword[ebp-8] ;k++
|
inc dword[ebp-8] ;k++
|
||||||
jmp .227 ;if 'weights' is null array
|
jmp .7 ;if 'weights' is null array
|
||||||
.end_null_we:
|
.end_null_we:
|
||||||
|
|
||||||
stdcall @@strchr$qpxci, esi,'['
|
stdcall @@strchr$qpxci, esi,'['
|
||||||
add esp,8
|
add esp,8
|
||||||
mov ebx,eax
|
mov ebx,eax
|
||||||
test ebx,ebx
|
test ebx,ebx
|
||||||
jne .228
|
jne @f
|
||||||
mov eax,txt_err_sqbrl_w2
|
mov eax,txt_err_sqbrl_w2
|
||||||
jmp .193
|
jmp .end_f
|
||||||
.228:
|
@@:
|
||||||
inc ebx
|
inc ebx
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
mov dword[ebp-12],edx ;j=0
|
mov dword[ebp-12],edx ;j=0
|
||||||
jmp .230
|
jmp .6
|
||||||
.229: ;for(j=0;j<o->layers[i].n_size;j++)
|
.cycle_2: ;for(j=0;j<o->layers[i].n_size;j++)
|
||||||
dec edx
|
dec edx
|
||||||
cmp eax,edx ;eax = j, edx = n_size-1
|
cmp eax,edx ;eax = j, edx = n_size-1
|
||||||
jae .231
|
jae @f
|
||||||
stdcall @@strchr$qpxci, ebx,','
|
stdcall @@strchr$qpxci, ebx,','
|
||||||
add esp,8
|
add esp,8
|
||||||
mov esi,eax
|
mov esi,eax
|
||||||
jmp .232
|
jmp .5
|
||||||
.231:
|
@@:
|
||||||
stdcall @@strchr$qpxci, ebx,']'
|
stdcall @@strchr$qpxci, ebx,']'
|
||||||
add esp,8
|
add esp,8
|
||||||
mov esi,eax
|
mov esi,eax
|
||||||
.232:
|
.5:
|
||||||
test esi,esi
|
test esi,esi
|
||||||
jne .233
|
jne @f
|
||||||
mov eax,txt_err_sqbrr_w2
|
mov eax,txt_err_sqbrr_w2
|
||||||
jmp .193
|
jmp .end_f
|
||||||
.233:
|
@@:
|
||||||
mov byte[esi],0
|
mov byte[esi],0
|
||||||
stdcall @@StrToDouble$qpc,ebx
|
stdcall @@StrToDouble$qpc,ebx
|
||||||
pop ecx
|
pop ecx
|
||||||
@@ -1273,7 +1253,7 @@ NNP_SetMemData:
|
|||||||
mov edx,[ebp-12]
|
mov edx,[ebp-12]
|
||||||
fstp qword[eax+8*edx]
|
fstp qword[eax+8*edx]
|
||||||
inc dword[ebp-12]
|
inc dword[ebp-12]
|
||||||
.230:
|
.6:
|
||||||
mov edx,edi
|
mov edx,edi
|
||||||
imul edx,sizeof.Layer
|
imul edx,sizeof.Layer
|
||||||
mov ecx,[ebp+8]
|
mov ecx,[ebp+8]
|
||||||
@@ -1281,27 +1261,27 @@ NNP_SetMemData:
|
|||||||
mov edx,[edx+Layer.n_size]
|
mov edx,[edx+Layer.n_size]
|
||||||
mov eax,[ebp-12]
|
mov eax,[ebp-12]
|
||||||
cmp edx,eax
|
cmp edx,eax
|
||||||
ja .229
|
ja .cycle_2
|
||||||
mov esi,ebx
|
mov esi,ebx
|
||||||
inc dword[ebp-8]
|
inc dword[ebp-8]
|
||||||
.227:
|
.7:
|
||||||
mov eax,edi
|
mov eax,edi
|
||||||
imul eax,sizeof.Layer
|
imul eax,sizeof.Layer
|
||||||
mov edx,[ebp+8]
|
mov edx,[ebp+8]
|
||||||
add eax,[edx+NeuralNetwork.layers]
|
add eax,[edx+NeuralNetwork.layers]
|
||||||
mov eax,[eax+Layer.c_size]
|
mov eax,[eax+Layer.c_size]
|
||||||
cmp eax,[ebp-8]
|
cmp eax,[ebp-8]
|
||||||
ja .226
|
ja .cycle_1
|
||||||
inc edi
|
inc edi
|
||||||
.205:
|
.8:
|
||||||
mov edx,[ebp+8]
|
mov edx,[ebp+8]
|
||||||
cmp edi,[edx+NeuralNetwork.layers_length]
|
cmp edi,[edx+NeuralNetwork.layers_length]
|
||||||
jb .204
|
jb .cycle_0
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
jmp .193
|
jmp .end_f
|
||||||
.198:
|
.9:
|
||||||
mov eax,1000
|
mov eax,1000
|
||||||
.193:
|
.end_f:
|
||||||
pop edi esi ebx
|
pop edi esi ebx
|
||||||
mov esp,ebp
|
mov esp,ebp
|
||||||
pop ebp
|
pop ebp
|
||||||
@@ -1320,20 +1300,19 @@ Layer_Destroy:
|
|||||||
call @$bdele$qpv
|
call @$bdele$qpv
|
||||||
pop ecx
|
pop ecx
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
jmp .143
|
jmp @f
|
||||||
.142:
|
.cycle_1:
|
||||||
mov eax,[esi+Layer.weights]
|
mov eax,[esi+Layer.weights]
|
||||||
push dword[eax+4*ebx]
|
push dword[eax+4*ebx]
|
||||||
call @$bdele$qpv
|
call @$bdele$qpv
|
||||||
pop ecx
|
pop ecx
|
||||||
inc ebx
|
inc ebx
|
||||||
.143:
|
@@:
|
||||||
cmp ebx,[esi+Layer.c_size]
|
cmp ebx,[esi+Layer.c_size]
|
||||||
jb .142
|
jb .cycle_1
|
||||||
push dword[esi+Layer.weights]
|
push dword[esi+Layer.weights]
|
||||||
call @$bdele$qpv
|
call @$bdele$qpv
|
||||||
pop ecx
|
pop ecx
|
||||||
.145:
|
|
||||||
pop esi ebx ebp
|
pop esi ebx ebp
|
||||||
ret 4
|
ret 4
|
||||||
|
|
||||||
@@ -1344,17 +1323,17 @@ NNP_Destroy:
|
|||||||
push ebx esi
|
push ebx esi
|
||||||
mov esi,[ebp+8]
|
mov esi,[ebp+8]
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
jmp .232
|
jmp @f
|
||||||
.231:
|
.cycle_1:
|
||||||
mov eax,ebx
|
mov eax,ebx
|
||||||
imul eax,sizeof.Layer
|
imul eax,sizeof.Layer
|
||||||
add eax,[esi+NeuralNetwork.layers]
|
add eax,[esi+NeuralNetwork.layers]
|
||||||
push eax
|
push eax
|
||||||
call Layer_Destroy
|
call Layer_Destroy
|
||||||
inc ebx
|
inc ebx
|
||||||
.232:
|
@@:
|
||||||
cmp ebx,[esi+NeuralNetwork.layers_length]
|
cmp ebx,[esi+NeuralNetwork.layers_length]
|
||||||
jb .231
|
jb .cycle_1
|
||||||
push dword[esi+NeuralNetwork.layers]
|
push dword[esi+NeuralNetwork.layers]
|
||||||
call @$bdele$qpv
|
call @$bdele$qpv
|
||||||
pop ecx
|
pop ecx
|
||||||
@@ -1398,14 +1377,3 @@ EXPORTS:
|
|||||||
sz_getmemdata db 'NNP_GetMemData',0
|
sz_getmemdata db 'NNP_GetMemData',0
|
||||||
sz_setmemdata db 'NNP_SetMemData',0
|
sz_setmemdata db 'NNP_SetMemData',0
|
||||||
sz_destroy db 'NNP_Destroy',0
|
sz_destroy db 'NNP_Destroy',0
|
||||||
|
|
||||||
align 16
|
|
||||||
@IMPORT:
|
|
||||||
|
|
||||||
library \
|
|
||||||
libc, 'libc.obj'
|
|
||||||
|
|
||||||
import libc, \
|
|
||||||
_strcat, 'strcat',\
|
|
||||||
_exp, 'exp'
|
|
||||||
;_scanf, 'scanf',\ ;???
|
|
||||||
|
@@ -1,5 +1,11 @@
|
|||||||
====Leency====
|
====Leency====
|
||||||
|
|
||||||
|
v0.62 (21/03/2025)
|
||||||
|
- proper window rolling up fix
|
||||||
|
- bigger cells and fonts
|
||||||
|
- add icon to a new game button
|
||||||
|
- better alignment of ui elements in header
|
||||||
|
|
||||||
v0.52 (16/12/2008)
|
v0.52 (16/12/2008)
|
||||||
- window rolling up fix
|
- window rolling up fix
|
||||||
|
|
||||||
|
@@ -18,43 +18,42 @@
|
|||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
?define HEADER_Y 4
|
|
||||||
?define BTNSIZE 19
|
|
||||||
char game_mode[] = "1/3";
|
char game_mode[] = "1/3";
|
||||||
|
|
||||||
void draw_window() // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
void draw_window()
|
||||||
{
|
{
|
||||||
sys_get_colors(#colors, 40);
|
dword iconimg = sys_memopen("ICONS18", 0, SHM_READ);
|
||||||
|
//sys_get_colors(#colors, 40);
|
||||||
|
|
||||||
// WINDOW
|
|
||||||
sys_window_redraw(1);
|
sys_window_redraw(1);
|
||||||
EBX = xpos << 16 + xsize + 9;
|
EBX = xpos << 16 + xsize + 9;
|
||||||
ECX = ypos << 16 + ysize;
|
ECX = ypos << 16 + ysize;
|
||||||
sys_draw_window(EBX, ECX, 0x34CCCCCC, colors.w_work | 0x80000000, "MineSweeper");
|
sys_draw_window(EBX, ECX, 0x34CCCCCC, clGray | 0x80000000, "MineSweeper");
|
||||||
sys_window_redraw(2);
|
|
||||||
|
|
||||||
// Leency ROLLED UP FIX
|
|
||||||
sys_process_info(#procinfo, -1);
|
sys_process_info(#procinfo, -1);
|
||||||
IF (procinfo.ysize<70) return;
|
#define ROLLED_UP 0x04
|
||||||
|
IF (procinfo.status_window&ROLLED_UP) return;
|
||||||
|
|
||||||
// <NEW GAME> BUTTON (911)
|
// <NEW GAME> BUTTON (911)
|
||||||
EBX = xsize / 2 - 10;
|
sys_draw_button(CENTER_POS << 16 + BTNSIZE, HEADER_Y<<16+BTNSIZE, 911+BT_HIDE, clLightGray);
|
||||||
EBX = EBX << 16 + BTNSIZE;
|
draw_rectangle(CENTER_POS,HEADER_Y,BTNSIZE,BTNSIZE,clWhite,clDarkGray);
|
||||||
sys_draw_button(EBX, HEADER_Y<<16+BTNSIZE, 911+BT_HIDE, clLightGray);
|
draw_rectangle(CENTER_POS+1,HEADER_Y+1,BTNSIZE-2,BTNSIZE-2,clWhite,clWhite);
|
||||||
draw_rectangle(xsize/2-10,HEADER_Y,BTNSIZE,BTNSIZE,clWhite,clDarkGray);
|
sys_put_palette_image(18*18*4*58 + iconimg, 18<<16+18, CENTER_POS+2<<16+HEADER_Y+2, 32, 0);
|
||||||
|
|
||||||
// <CHANGE MODE> BUTTON (1001)
|
// <CHANGE MODE> BUTTON (1001)
|
||||||
sys_draw_button(5<<16+32, HEADER_Y<<16+BTNSIZE, 1001+BT_HIDE, clLightGray);
|
sys_draw_button(5<<16+32, HEADER_Y<<16+BTNSIZE, 1001+BT_HIDE, clLightGray);
|
||||||
draw_rectangle(5,HEADER_Y,32,BTNSIZE,clWhite,clDarkGray);
|
draw_rectangle(5,HEADER_Y,32,BTNSIZE,clWhite,clDarkGray);
|
||||||
game_mode[0] = mode + '0';
|
game_mode[0] = mode + '0';
|
||||||
sys_write_text(9<<16+HEADER_Y+3, 0x90000000+clDarkGray, #game_mode, 3);
|
sys_write_text(9<<16+HEADER_Y+4, 0x90656565, #game_mode, 3);
|
||||||
|
|
||||||
// <USER FIELD> BUTTON (1002)
|
// <USER FIELD> BUTTON (1002)
|
||||||
//sys_draw_button(BTNSIZE<<16+7, ECX, EDX+1, 0xddbb44);
|
//sys_draw_button(BTNSIZE<<16+7, ECX, EDX+1, 0xddbb44);
|
||||||
|
|
||||||
draw_time(); // draw timer
|
draw_time();
|
||||||
draw_mines_left(); // draw mines
|
draw_mines_left();
|
||||||
draw_squares(); // draw field
|
draw_squares();
|
||||||
|
|
||||||
|
sys_window_redraw(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
dword num_colors[8]=
|
dword num_colors[8]=
|
||||||
@@ -70,11 +69,11 @@ dword num_colors[8]=
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// Draw a single square
|
||||||
void draw_square(int x, y)
|
void draw_square(int x, y)
|
||||||
{
|
{
|
||||||
int xl, xr, yt, yb; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>
|
int xl, xr, yt, yb; // lefx, right, top, bottom
|
||||||
dword tcolor = clBlack; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
dword tcolor = clBlack; // set default color as black
|
||||||
byte tchar, tval;
|
byte tchar, tval;
|
||||||
|
|
||||||
xl = XPX * x + XST;
|
xl = XPX * x + XST;
|
||||||
@@ -86,7 +85,7 @@ void draw_square(int x, y)
|
|||||||
ECX = yt+1 << 16 + yb - yt-1;
|
ECX = yt+1 << 16 + yb - yt-1;
|
||||||
$inc ebx
|
$inc ebx
|
||||||
$inc ecx
|
$inc ecx
|
||||||
sys_draw_bar(EBX, ECX, clLightGray); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
sys_draw_bar(EBX, ECX, clLightGray); // fill bg
|
||||||
|
|
||||||
if (!get_open(x, y))
|
if (!get_open(x, y))
|
||||||
{
|
{
|
||||||
@@ -100,16 +99,16 @@ void draw_square(int x, y)
|
|||||||
|
|
||||||
SWITCH (get_mark(x, y))
|
SWITCH (get_mark(x, y))
|
||||||
{
|
{
|
||||||
CASE 2: tcolor = 0x121288; tchar = '?'; BREAK;
|
CASE 2: tcolor = 0x10121288; tchar = '?'; BREAK;
|
||||||
CASE 1: tcolor = 0xd04444; tchar = 'P';
|
CASE 1: tcolor = 0x10d04444; tchar = 'P';
|
||||||
}
|
}
|
||||||
|
|
||||||
IF (get_mark(x,y))
|
IF (get_mark(x,y))
|
||||||
{
|
{
|
||||||
EBX = xl + 5 << 16 + yt + 4;
|
EBX = xl + 6 << 16 + yt + 4;
|
||||||
sys_write_text(EBX, tcolor, #tchar, 1);
|
sys_write_text(EBX, tcolor, #tchar, 1);
|
||||||
EBX += 0x00010000;
|
EBX += 0x00010000;
|
||||||
/* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* Second run - registers are saved */
|
||||||
sys_write_text(EBX, ECX, EDX, ESI);
|
sys_write_text(EBX, ECX, EDX, ESI);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -120,15 +119,15 @@ void draw_square(int x, y)
|
|||||||
{
|
{
|
||||||
IF (tval == MINE)
|
IF (tval == MINE)
|
||||||
{
|
{
|
||||||
tcolor = 0xee1111;
|
tcolor = 0x10ee1111;
|
||||||
tchar = '*';
|
tchar = '*';
|
||||||
}
|
}
|
||||||
ELSE
|
ELSE
|
||||||
{
|
{
|
||||||
tchar = tval + '0';
|
tchar = tval + '0';
|
||||||
tcolor = num_colors[tval-1];
|
tcolor = num_colors[tval-1]+0x10000000;
|
||||||
}
|
}
|
||||||
EBX = xl + 5 << 16 + yt + 5;
|
EBX = xl + 7 << 16 + yt + 4;
|
||||||
sys_write_text(EBX, tcolor, #tchar, 1);
|
sys_write_text(EBX, tcolor, #tchar, 1);
|
||||||
EBX += 0x00010000;
|
EBX += 0x00010000;
|
||||||
sys_write_text(EBX, ECX, EDX, ESI);
|
sys_write_text(EBX, ECX, EDX, ESI);
|
||||||
@@ -140,19 +139,19 @@ void draw_square(int x, y)
|
|||||||
|
|
||||||
void draw_time()
|
void draw_time()
|
||||||
{
|
{
|
||||||
sys_draw_bar(xsize-XST-58<<16+29, HEADER_Y<<16+20, clWhiteGray);
|
sys_draw_bar(xsize-XST-63<<16+34, HEADER_Y<<16+22, clWhiteGray);
|
||||||
sys_write_number(0x00030000, time, xsize-XST-56<<16+HEADER_Y+3, 0x101166C3);
|
sys_write_number(0x00030000, time, xsize-XST-58<<16+HEADER_Y+4, 0x101166C3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void draw_mines_left()
|
void draw_mines_left()
|
||||||
{
|
{
|
||||||
sys_draw_bar(xsize-XST-29<<16+29, HEADER_Y<<16+20, clWhiteGray);
|
sys_draw_bar(xsize-XST-32<<16+32, HEADER_Y<<16+22, clWhiteGray);
|
||||||
sys_write_number(0x00030000, cmines, xsize-XST-27<<16+HEADER_Y+3, 0x10ff0000);
|
sys_write_number(0x00030000, cmines, xsize-XST-29<<16+HEADER_Y+4, 0x10ff0000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
// Draw mine field
|
||||||
void draw_squares()
|
void draw_squares()
|
||||||
{
|
{
|
||||||
int x,y;
|
int x,y;
|
||||||
|
@@ -64,7 +64,8 @@ struct ProcessInfo
|
|||||||
ystart,
|
ystart,
|
||||||
xsize,
|
xsize,
|
||||||
ysize;
|
ysize;
|
||||||
byte not_used2[974];
|
char status_window;
|
||||||
|
byte reserved[1024-71];
|
||||||
};
|
};
|
||||||
|
|
||||||
#define SystemColors SystemColours // usa/british
|
#define SystemColors SystemColours // usa/british
|
||||||
@@ -212,6 +213,15 @@ inline fastcall dword sys_put_image(dword EBX, ECX, EDX)
|
|||||||
$int 0x40
|
$int 0x40
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline fastcall void sys_put_palette_image(dword EBX,ECX,EDX,ESI,EDI)
|
||||||
|
{
|
||||||
|
$push ebp
|
||||||
|
EAX = 65;
|
||||||
|
EBP = 0;
|
||||||
|
$int 0x40
|
||||||
|
$pop ebp
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*********************************************************
|
/*********************************************************
|
||||||
08 = DEFINE BUTTON
|
08 = DEFINE BUTTON
|
||||||
@@ -1117,11 +1127,44 @@ inline fastcall dword sys_debug_read_char(dword EBX)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline fastcall dword window_move_size(dword EBX,ECX,EDX,ESI){
|
inline fastcall dword sys_window_move_size(dword EBX,ECX,EDX,ESI){
|
||||||
EAX = 67;
|
EAX = 67;
|
||||||
$int 0x40
|
$int 0x40
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*********************************************************
|
||||||
|
68.11 = mem_init is required to work with heap
|
||||||
|
*********************************************************/
|
||||||
|
|
||||||
|
inline fastcall void sys_mem_init()
|
||||||
|
{
|
||||||
|
$mov eax, 68
|
||||||
|
$mov ebx, 11
|
||||||
|
$int 0x40
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************************
|
||||||
|
68.22 = shared memory
|
||||||
|
in:
|
||||||
|
ecx = area name, 31 symbols max
|
||||||
|
edx = area size for SHM_CREATE SHM_OPEN_ALWAYS
|
||||||
|
esi = flags, see the list below
|
||||||
|
out:
|
||||||
|
eax = pointer to memory or 0
|
||||||
|
edx = memsize
|
||||||
|
*********************************************************/
|
||||||
|
|
||||||
|
#define SHM_OPEN 0x00
|
||||||
|
#define SHM_OPEN_ALWAYS 0x04
|
||||||
|
#define SHM_CREATE 0x08
|
||||||
|
#define SHM_READ 0x00
|
||||||
|
#define SHM_WRITE 0x01
|
||||||
|
inline fastcall dword sys_memopen(ECX, EDX, ESI)
|
||||||
|
{
|
||||||
|
$mov eax, 68
|
||||||
|
$mov ebx, 22
|
||||||
|
$int 0x40
|
||||||
|
}
|
||||||
|
|
||||||
/*********************************************************
|
/*********************************************************
|
||||||
-1 = EXIT PROCESS
|
-1 = EXIT PROCESS
|
||||||
|
@@ -26,17 +26,26 @@
|
|||||||
//? define DEBUG 1
|
//? define DEBUG 1
|
||||||
|
|
||||||
? print "\n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ"
|
? print "\n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ"
|
||||||
? print "\n<> KolibriOS MineSweeper v0.52 <20>"
|
? print "\n<> KolibriOS MineSweeper v0.62 <20>"
|
||||||
? print "\n<> (C) Leency (leency@mail.ru) 2010,2011 <20>"
|
? print "\n<> (C) Leency (leency@mail.ru) 2010-2025 <20>"
|
||||||
? print "\n<> (C) Ivan Poddubny (ivan-yar@bk.ru) 2003,2004 <20>"
|
? print "\n<> (C) Ivan Poddubny (ivan-yar@bk.ru) 2003,2004 <20>"
|
||||||
? print "\n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n\n"
|
? print "\n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n\n"
|
||||||
|
|
||||||
/************************************** DATA **************************************/
|
/************************************* DEFINES *************************************/
|
||||||
|
|
||||||
? define XPX 16 // X pixels by square - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
?define HEADER_Y 5
|
||||||
? define YPX 16 // Y pixels by square
|
?define BTNSIZE 21
|
||||||
|
?define CENTER_POS xsize / 2 - 10
|
||||||
|
|
||||||
|
?define XST 5 // offset of first pixel X - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
?define YST 32
|
||||||
|
|
||||||
|
? define XPX 21 // X pixels by square - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
? define YPX 21 // Y pixels by square
|
||||||
? define MINE 255 // <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> value = MINE
|
? define MINE 255 // <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> value = MINE
|
||||||
|
|
||||||
|
/************************************** DATA **************************************/
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
byte value; // number of mines - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
byte value; // number of mines - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -58,9 +67,6 @@ struct
|
|||||||
byte nmines;
|
byte nmines;
|
||||||
} stdmodes[3] = {9,9,10, 16,16,40, 30,16,99}; // {x,y,m}
|
} stdmodes[3] = {9,9,10, 16,16,40, 30,16,99}; // {x,y,m}
|
||||||
|
|
||||||
?define XST 5 // offset of first pixel X - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
||||||
?define YST 28
|
|
||||||
|
|
||||||
int ncx, // number of squares in X - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
int ncx, // number of squares in X - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
ncy,
|
ncy,
|
||||||
cmines, // mines discovered - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
cmines, // mines discovered - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||||
@@ -79,7 +85,7 @@ byte stop_game = FALSE, // game stopped -
|
|||||||
firstmine;
|
firstmine;
|
||||||
|
|
||||||
ProcessInfo procinfo;
|
ProcessInfo procinfo;
|
||||||
SystemColors colors;
|
//SystemColors colors;
|
||||||
|
|
||||||
/************************************** CODE **************************************/
|
/************************************** CODE **************************************/
|
||||||
|
|
||||||
@@ -429,6 +435,8 @@ void end_game()
|
|||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
|
sys_mem_init();
|
||||||
|
|
||||||
new_game();
|
new_game();
|
||||||
draw_window();
|
draw_window();
|
||||||
|
|
||||||
@@ -458,11 +466,11 @@ void main()
|
|||||||
ELSE IF (EAX == 1001) // change mode
|
ELSE IF (EAX == 1001) // change mode
|
||||||
{
|
{
|
||||||
mode++;
|
mode++;
|
||||||
if (mode==4) mode=1;
|
IF (mode==4) mode=1;
|
||||||
//EAX = mode; EAX++; EAX = EAX%3; EAX++; mode = AL;
|
//EAX = mode; EAX++; EAX = EAX%3; EAX++; mode = AL;
|
||||||
|
|
||||||
new_game();
|
new_game();
|
||||||
window_move_size(OLD,OLD,xsize+9,ysize);
|
sys_window_move_size(OLD,OLD,xsize+9,ysize);
|
||||||
CONTINUE;
|
CONTINUE;
|
||||||
}
|
}
|
||||||
// ELSE IF (EAX == 1002)
|
// ELSE IF (EAX == 1002)
|
||||||
|
Reference in New Issue
Block a user