mirror of
https://github.com/Zeal-Operating-System/ZealOS.git
synced 2024-12-25 15:10:28 +00:00
Merge branch 'master' into network-loopback
This commit is contained in:
commit
deafd49030
22 changed files with 515 additions and 163 deletions
10
.gitignore
vendored
10
.gitignore
vendored
|
@ -2,17 +2,17 @@
|
|||
*.bin
|
||||
*.ZXE
|
||||
*.MAP
|
||||
src/Boot/
|
||||
/src/Boot
|
||||
*.ELF
|
||||
*.elf
|
||||
*.sys
|
||||
*.SYS
|
||||
src/EFI/
|
||||
build/limine
|
||||
build/ovmf
|
||||
/src/EFI
|
||||
/build/limine
|
||||
/build/ovmf
|
||||
*.iso
|
||||
*.raw
|
||||
*.hdd
|
||||
*.o
|
||||
*.d
|
||||
zealbooter/limine.h
|
||||
/zealbooter/limine.h
|
||||
|
|
|
@ -2,15 +2,13 @@
|
|||
|
||||
[![Discord](https://img.shields.io/discord/934200098144022609?color=7289DA&label=Discord&logo=discord&logoColor=white)](https://discord.gg/rK6U3xdr7D) [![](https://img.shields.io/badge/wiki-documentation-forestgreen)](https://github.com/Zeal-Operating-System/ZealOS/wiki)
|
||||
|
||||
The Zeal Operating System is a modernized, professional fork of the 64-bit Temple Operating System. Guiding principles of development include transparency, full user control, and adherence to public-domain/open-source implementations.
|
||||
The Zeal Operating System is a modernized fork of the 64-bit Temple Operating System. Guiding principles of development include transparency, full user control, and adherence to public-domain/open-source implementations.
|
||||
|
||||
![](/screenshots/screenshot2.png)
|
||||
|
||||
ZealOS strives to be simple, documented, and require as little of a knowledge gap as possible. One person should be able to comprehend the entire system in at least a semi-detailed way within a few days of study.
|
||||
Simplify, don't complicate; make accessible, don't obfuscate.
|
||||
|
||||
> The CIA encourages code obfuscation. They make it more complicated than necessary.\
|
||||
—Terry A. Davis
|
||||
**Simplify, don't complicate; make accessible, don't obfuscate.**
|
||||
|
||||
Features in development include:
|
||||
- [32-bit color VBE graphics](https://github.com/TempleProgramming/HolyGL)
|
||||
|
|
|
@ -578,9 +578,39 @@ U0 RotateMan(F64 d)
|
|||
}
|
||||
}
|
||||
|
||||
CTask *mouse_task = NULL;
|
||||
CTask *game_task = Fs;
|
||||
F64 mouse_scale = 32.0;
|
||||
|
||||
U0 MouseHandler()
|
||||
{
|
||||
Bool button;
|
||||
I64 x;
|
||||
|
||||
while (MouseRawQueueFind(game_task))
|
||||
{
|
||||
button = mouse_hard.raw_bttns[0];
|
||||
x = mouse_hard.raw_data.x;
|
||||
|
||||
if (button || x != 0)
|
||||
MouseRawReset; // Mark mouse data as consumed
|
||||
if (button)
|
||||
MessagePostWait(game_task, MESSAGE_KEY_DOWN_UP, CH_SPACE, 0);
|
||||
if (x != 0)
|
||||
man_é += (x / mouse_scale) / MICRO_STEPS;
|
||||
|
||||
Sleep(10);
|
||||
}
|
||||
mouse_task = NULL;
|
||||
}
|
||||
|
||||
U0 CastleFrankenstein()
|
||||
{
|
||||
I64 sc;
|
||||
Bool is_raw = TRUE;
|
||||
|
||||
MouseRaw(is_raw);
|
||||
mouse_task = Spawn(&MouseHandler, NULL, "MouseHandler");
|
||||
|
||||
MenuPush(
|
||||
"File {"
|
||||
|
@ -594,6 +624,9 @@ U0 CastleFrankenstein()
|
|||
" Left(,,SC_CURSOR_LEFT);"
|
||||
" Right(,,SC_CURSOR_RIGHT);"
|
||||
" Fire(,CH_SPACE);"
|
||||
" MouseMode(,'m');"
|
||||
" MouseScaleUp(,'+');"
|
||||
" MouseScaleDown(,'-');"
|
||||
"}"
|
||||
);
|
||||
|
||||
|
@ -618,6 +651,30 @@ U0 CastleFrankenstein()
|
|||
Fire;
|
||||
break;
|
||||
|
||||
case 'm':
|
||||
if (is_raw)
|
||||
{
|
||||
is_raw = FALSE;
|
||||
MouseRaw(is_raw);
|
||||
Kill(mouse_task);
|
||||
}
|
||||
else
|
||||
{
|
||||
is_raw = TRUE;
|
||||
MouseRaw(is_raw);
|
||||
mouse_task = Spawn(&MouseHandler, NULL, "MouseHandler");
|
||||
}
|
||||
break;
|
||||
|
||||
case '+':
|
||||
case '=':
|
||||
mouse_scale *= 0.9;
|
||||
break;
|
||||
|
||||
case '-':
|
||||
mouse_scale *= 1.1;
|
||||
break;
|
||||
|
||||
case '\n':
|
||||
Init;
|
||||
break;
|
||||
|
@ -664,6 +721,7 @@ fs_done:
|
|||
}
|
||||
|
||||
CastleFrankenstein;
|
||||
MouseRaw(FALSE);
|
||||
|