summaryrefslogtreecommitdiffhomepage
path: root/dev
diff options
context:
space:
mode:
Diffstat (limited to 'dev')
-rw-r--r--dev/BootLoader/BootKit/BootKit.h12
-rw-r--r--dev/BootLoader/src/BootFileReader.cc2
-rw-r--r--dev/BootLoader/src/BootThread.cc2
-rw-r--r--dev/BootLoader/src/HEL/AMD64/BootMain.cc38
-rw-r--r--dev/Kernel/FirmwareKit/EFI/API.h2
-rw-r--r--dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc22
-rw-r--r--dev/Kernel/HALKit/AMD64/HalCoreScheduler.cc4
-rw-r--r--dev/Kernel/HALKit/AMD64/HalDebugOutput.cc2
-rw-r--r--dev/Kernel/HALKit/AMD64/HalKernelMain.cc8
-rw-r--r--dev/Kernel/HALKit/ARM64/HalKernelMain.cc6
-rw-r--r--dev/Kernel/HALKit/ARM64/Storage/.gitkeep0
-rw-r--r--dev/Kernel/HALKit/ARM64/Storage/HalFlashMemory.cc (renamed from dev/Kernel/HALKit/ARM64/Storage/HalFlash.cc)6
-rw-r--r--dev/Kernel/KernelKit/DebugOutput.h2
-rw-r--r--dev/Kernel/KernelKit/Heap.h2
-rw-r--r--dev/Kernel/NewKit/DriverMgr.h19
-rw-r--r--dev/Kernel/NewKit/KString.h2
-rw-r--r--dev/Kernel/NewKit/KernelPanic.h (renamed from dev/Kernel/NewKit/Stop.h)2
-rw-r--r--dev/Kernel/NewKit/New.h4
-rw-r--r--dev/Kernel/NewKit/NewKit.h2
-rw-r--r--dev/Kernel/NewKit/OwnPtr.h2
-rw-r--r--dev/Kernel/NewKit/Ref.h2
-rw-r--r--dev/Kernel/NewKit/SwapMgr.h21
-rw-r--r--dev/Kernel/NewKit/ThreadMgr.h20
-rw-r--r--dev/Kernel/src/ACPIFactoryInterface.cc2
-rw-r--r--dev/Kernel/src/BitMapMgr.cc2
-rw-r--r--dev/Kernel/src/FS/HPFS.cc2
-rw-r--r--dev/Kernel/src/FS/NeFS.cc2
-rw-r--r--dev/Kernel/src/Heap.cc4
-rw-r--r--dev/Kernel/src/KernelMain.cc4
-rw-r--r--dev/Kernel/src/KernelPanic.cc (renamed from dev/Kernel/src/Stop.cc)14
-rw-r--r--dev/Kernel/src/LPC.cc4
-rw-r--r--dev/Kernel/src/PEFCodeMgr.cc2
-rw-r--r--dev/Kernel/src/User.cc2
-rw-r--r--dev/Kernel/src/UserProcessScheduler.cc2
-rw-r--r--dev/Modules/FB/Math.h26
-rw-r--r--dev/Modules/Flash/Flash.h4
-rw-r--r--dev/Modules/GfxMgr/AccessibilityMgr.h (renamed from dev/Modules/FB/AccessibilityMgr.h)8
-rw-r--r--dev/Modules/GfxMgr/AppearanceMgr.h (renamed from dev/Modules/FB/AppearanceMgr.h)50
-rw-r--r--dev/Modules/GfxMgr/FBMgr.h (renamed from dev/Modules/FB/FB.h)39
-rw-r--r--dev/Modules/GfxMgr/MathMgr.h29
-rw-r--r--dev/Modules/GfxMgr/Rsrc/Controls.rsrc (renamed from dev/Modules/FB/Rsrc/WndControls.rsrc)4
-rw-r--r--dev/Modules/GfxMgr/Rsrc/Cursor.rsrc (renamed from dev/Modules/FB/Rsrc/Cursor.rsrc)0
-rw-r--r--dev/Modules/GfxMgr/TextMgr.h (renamed from dev/Modules/FB/Text.h)4
-rw-r--r--dev/SCIKit/GPU.h2
-rw-r--r--dev/SCIKit/LPC.h2
-rw-r--r--dev/SCIKit/Macros.h2
-rw-r--r--dev/SCIKit/SCI.h2
-rw-r--r--dev/SCIKit/SysCalls.h2
-rw-r--r--dev/SCIKit/sci.json2
-rw-r--r--dev/SCIKit/src/GPU.cc2
-rw-r--r--dev/SCIKit/src/LPC.cc2
-rw-r--r--dev/SCIKit/src/SCI.cc2
52 files changed, 228 insertions, 176 deletions
diff --git a/dev/BootLoader/BootKit/BootKit.h b/dev/BootLoader/BootKit/BootKit.h
index 3a801ec8..90d6fae9 100644
--- a/dev/BootLoader/BootKit/BootKit.h
+++ b/dev/BootLoader/BootKit/BootKit.h
@@ -14,8 +14,8 @@
#include <BootKit/HW/ATA.h>
#include <FirmwareKit/EPM.h>
#include <CompilerKit/Version.h>
-#include <Modules/FB/FB.h>
-#include <Modules/FB/AppearanceMgr.h>
+#include <Modules/GfxMgr/FBMgr.h>
+#include <Modules/GfxMgr/AppearanceMgr.h>
#include <BootKit/Rsrc/zka_disk.rsrc>
#include <BootKit/Rsrc/zka_no_disk.rsrc>
#include <BootKit/Rsrc/zka_has_disk.rsrc>
@@ -323,9 +323,9 @@ namespace Boot
if (fDiskDev.GetDiskSize() < kMinimumDiskSize)
{
- cg_init();
+ fb_init();
- CGDrawBitMapInRegion(zka_no_disk, ZKA_NO_DISK_HEIGHT, ZKA_NO_DISK_WIDTH, (kHandoverHeader->f_GOP.f_Width - ZKA_NO_DISK_WIDTH) / 2, (kHandoverHeader->f_GOP.f_Height - ZKA_NO_DISK_HEIGHT) / 2);
+ FBDrawBitMapInRegion(zka_no_disk, ZKA_NO_DISK_HEIGHT, ZKA_NO_DISK_WIDTH, (kHandoverHeader->f_GOP.f_Width - ZKA_NO_DISK_WIDTH) / 2, (kHandoverHeader->f_GOP.f_Height - ZKA_NO_DISK_HEIGHT) / 2);
EFI::ThrowError(L"Drive-Too-Tiny", L"Can't format a New Filesystem partition here.");
return false;
}
@@ -382,8 +382,8 @@ namespace Boot
}
else
{
- cg_init();
- CGDrawBitMapInRegion(zka_no_disk, ZKA_NO_DISK_HEIGHT, ZKA_NO_DISK_WIDTH, (kHandoverHeader->f_GOP.f_Width - ZKA_NO_DISK_WIDTH) / 2, (kHandoverHeader->f_GOP.f_Height - ZKA_NO_DISK_HEIGHT) / 2);
+ fb_init();
+ FBDrawBitMapInRegion(zka_no_disk, ZKA_NO_DISK_HEIGHT, ZKA_NO_DISK_WIDTH, (kHandoverHeader->f_GOP.f_Width - ZKA_NO_DISK_WIDTH) / 2, (kHandoverHeader->f_GOP.f_Height - ZKA_NO_DISK_HEIGHT) / 2);
EFI::ThrowError(L"Filesystem-Failure-Part", L"Filesystem couldn't be partitioned, this drive cannot be formatted as an explicit partition map.");
}
diff --git a/dev/BootLoader/src/BootFileReader.cc b/dev/BootLoader/src/BootFileReader.cc
index 06b66314..3c085ac4 100644
--- a/dev/BootLoader/src/BootFileReader.cc
+++ b/dev/BootLoader/src/BootFileReader.cc
@@ -13,7 +13,7 @@
#include <BootKit/BootKit.h>
#include <FirmwareKit/Handover.h>
#include <FirmwareKit/EFI/API.h>
-#include <Modules/FB/Text.h>
+#include <Modules/GfxMgr/TextMgr.h>
/// @file BootFileReader
/// @brief Bootloader File reader.
diff --git a/dev/BootLoader/src/BootThread.cc b/dev/BootLoader/src/BootThread.cc
index 68964084..6d78d0d1 100644
--- a/dev/BootLoader/src/BootThread.cc
+++ b/dev/BootLoader/src/BootThread.cc
@@ -13,7 +13,7 @@
#include <KernelKit/PE.h>
#include <KernelKit/MSDOS.h>
#include <CFKit/Utils.h>
-#include <Modules/FB/Text.h>
+#include <Modules/GfxMgr/TextMgr.h>
/// @brief External boot services symbol.
EXTERN EfiBootServices* BS;
diff --git a/dev/BootLoader/src/HEL/AMD64/BootMain.cc b/dev/BootLoader/src/HEL/AMD64/BootMain.cc
index 1d0787cc..dd7528d8 100644
--- a/dev/BootLoader/src/HEL/AMD64/BootMain.cc
+++ b/dev/BootLoader/src/HEL/AMD64/BootMain.cc
@@ -5,8 +5,8 @@
------------------------------------------- */
#include <BootKit/BootKit.h>
-#include <Modules/FB/FB.h>
-#include <Modules/FB/Text.h>
+#include <Modules/GfxMgr/FBMgr.h>
+#include <Modules/GfxMgr/TextMgr.h>
#include <FirmwareKit/EFI.h>
#include <FirmwareKit/EFI/API.h>
#include <FirmwareKit/Handover.h>
@@ -16,7 +16,7 @@
#include <NewKit/Macros.h>
#include <NewKit/Ref.h>
#include <BootKit/Thread.h>
-#include <Modules/FB/FB.h>
+#include <Modules/GfxMgr/FBMgr.h>
// Makes the compiler shut up.
#ifndef kMachineModel
@@ -24,11 +24,11 @@
#endif // !kMachineModel
#ifndef kExpectedWidth
-#define kExpectedWidth (1920)
+#define kExpectedWidth (1280)
#endif
#ifndef kExpectedHeight
-#define kExpectedHeight (1080)
+#define kExpectedHeight (720)
#endif
/** Graphics related. */
@@ -141,13 +141,13 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr ImageHandle,
kHandoverHeader = handover_hdr;
- cg_init();
+ fb_init();
- CG::ui_draw_background();
+ UI::ui_draw_background();
- CGDrawBitMapInRegion(zka_disk, ZKA_DISK_HEIGHT, ZKA_DISK_WIDTH, (kHandoverHeader->f_GOP.f_Width - ZKA_DISK_WIDTH) / 2, (kHandoverHeader->f_GOP.f_Height - ZKA_DISK_HEIGHT) / 2);
+ FBDrawBitMapInRegion(zka_disk, ZKA_DISK_HEIGHT, ZKA_DISK_WIDTH, (kHandoverHeader->f_GOP.f_Width - ZKA_DISK_WIDTH) / 2, (kHandoverHeader->f_GOP.f_Height - ZKA_DISK_HEIGHT) / 2);
- cg_fini();
+ fb_fini();
UInt32 cnt_enabled = 0;
UInt32 cnt_disabled = 0;
@@ -168,11 +168,11 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr ImageHandle,
#ifdef ZKA_AUTO_FORMAT
if (!partition_factory.IsPartitionValid())
{
- CG::ui_draw_background();
+ UI::ui_draw_background();
- CGDrawBitMapInRegion(zka_no_disk, ZKA_NO_DISK_HEIGHT, ZKA_NO_DISK_WIDTH, (kHandoverHeader->f_GOP.f_Width - ZKA_NO_DISK_WIDTH) / 2, (kHandoverHeader->f_GOP.f_Height - ZKA_NO_DISK_HEIGHT) / 2);
+ FBDrawBitMapInRegion(zka_no_disk, ZKA_NO_DISK_HEIGHT, ZKA_NO_DISK_WIDTH, (kHandoverHeader->f_GOP.f_Width - ZKA_NO_DISK_WIDTH) / 2, (kHandoverHeader->f_GOP.f_Height - ZKA_NO_DISK_HEIGHT) / 2);
- cg_fini();
+ fb_fini();
Boot::BDiskFormatFactory<BootDeviceATA>::BFileDescriptor root{};
@@ -183,11 +183,11 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr ImageHandle,
partition_factory.Format("FileSystem (A:)\0", &root, 1);
- CG::ui_draw_background();
+ UI::ui_draw_background();
- CGDrawBitMapInRegion(zka_has_disk, ZKA_HAS_DISK_HEIGHT, ZKA_HAS_DISK_WIDTH, (kHandoverHeader->f_GOP.f_Width - ZKA_HAS_DISK_WIDTH) / 2, (kHandoverHeader->f_GOP.f_Height - ZKA_HAS_DISK_HEIGHT) / 2);
+ FBDrawBitMapInRegion(zka_has_disk, ZKA_HAS_DISK_HEIGHT, ZKA_HAS_DISK_WIDTH, (kHandoverHeader->f_GOP.f_Width - ZKA_HAS_DISK_WIDTH) / 2, (kHandoverHeader->f_GOP.f_Height - ZKA_HAS_DISK_HEIGHT) / 2);
- cg_fini();
+ fb_fini();
}
#endif // ZKA_AUTO_FORMAT
@@ -288,8 +288,8 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr ImageHandle,
}
else
{
- cg_init();
- CGDrawBitMapInRegion(zka_no_disk, ZKA_NO_DISK_HEIGHT, ZKA_NO_DISK_WIDTH, (kHandoverHeader->f_GOP.f_Width - ZKA_NO_DISK_WIDTH) / 2, (kHandoverHeader->f_GOP.f_Height - ZKA_NO_DISK_HEIGHT) / 2);
+ fb_init();
+ FBDrawBitMapInRegion(zka_no_disk, ZKA_NO_DISK_HEIGHT, ZKA_NO_DISK_WIDTH, (kHandoverHeader->f_GOP.f_Width - ZKA_NO_DISK_WIDTH) / 2, (kHandoverHeader->f_GOP.f_Height - ZKA_NO_DISK_HEIGHT) / 2);
EFI::Stop();
}
@@ -307,8 +307,8 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr ImageHandle,
}
else
{
- cg_init();
- CGDrawBitMapInRegion(zka_no_disk, ZKA_NO_DISK_HEIGHT, ZKA_NO_DISK_WIDTH, (kHandoverHeader->f_GOP.f_Width - ZKA_NO_DISK_WIDTH) / 2, (kHandoverHeader->f_GOP.f_Height - ZKA_NO_DISK_HEIGHT) / 2);
+ fb_init();
+ FBDrawBitMapInRegion(zka_no_disk, ZKA_NO_DISK_HEIGHT, ZKA_NO_DISK_WIDTH, (kHandoverHeader->f_GOP.f_Width - ZKA_NO_DISK_WIDTH) / 2, (kHandoverHeader->f_GOP.f_Height - ZKA_NO_DISK_HEIGHT) / 2);
EFI::Stop();
}
diff --git a/dev/Kernel/FirmwareKit/EFI/API.h b/dev/Kernel/FirmwareKit/EFI/API.h
index 7bb83ebf..218ca85a 100644
--- a/dev/Kernel/FirmwareKit/EFI/API.h
+++ b/dev/Kernel/FirmwareKit/EFI/API.h
@@ -21,7 +21,7 @@ class BTextWriter;
#define __BOOTKIT_NO_INCLUDE__ 1
#include <BootKit/BootKit.h>
-#include <Modules/FB/FB.h>
+#include <Modules/GfxMgr/FBMgr.h>
#endif // ifdef __ZBAOSLDR__
inline EfiSystemTable* ST = nullptr;
diff --git a/dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc b/dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc
index 036593e5..aa1d66d7 100644
--- a/dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc
+++ b/dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc
@@ -18,7 +18,7 @@ EXTERN_C void idt_handle_gpf(Kernel::UIntPtr rsp)
auto process = Kernel::UserProcessScheduler::The().GetCurrentProcess();
if (!process)
- Kernel::ke_stop(RUNTIME_CHECK_PAGE);
+ Kernel::ke_panic(RUNTIME_CHECK_PAGE);
process.Leak().ProcessSignal.SignalIP = 0UL;
process.Leak().ProcessSignal.SignalID = SIGKILL;
@@ -30,7 +30,7 @@ EXTERN_C void idt_handle_gpf(Kernel::UIntPtr rsp)
process.Leak().Crash();
- Kernel::ke_stop(RUNTIME_CHECK_POINTER);
+ Kernel::ke_panic(RUNTIME_CHECK_POINTER);
}
/// @brief Handle page fault.
@@ -43,7 +43,7 @@ EXTERN_C void idt_handle_pf(Kernel::UIntPtr rsp)
auto process = Kernel::UserProcessScheduler::The().GetCurrentProcess();
if (!process)
- Kernel::ke_stop(RUNTIME_CHECK_PAGE);
+ Kernel::ke_panic(RUNTIME_CHECK_PAGE);
process.Leak().ProcessSignal.SignalIP = 0UL;
process.Leak().ProcessSignal.SignalID = SIGKILL;
@@ -55,7 +55,7 @@ EXTERN_C void idt_handle_pf(Kernel::UIntPtr rsp)
process.Leak().Crash();
- Kernel::ke_stop(RUNTIME_CHECK_PAGE);
+ Kernel::ke_panic(RUNTIME_CHECK_PAGE);
}
/// @brief Handle scheduler interrupt.
@@ -90,7 +90,7 @@ EXTERN_C void idt_handle_math(Kernel::UIntPtr rsp)
auto process = Kernel::UserProcessScheduler::The().GetCurrentProcess();
if (!process)
- Kernel::ke_stop(RUNTIME_CHECK_PAGE);
+ Kernel::ke_panic(RUNTIME_CHECK_PAGE);
process.Leak().ProcessSignal.SignalIP = 0UL;
process.Leak().ProcessSignal.SignalID = SIGKILL;
@@ -102,7 +102,7 @@ EXTERN_C void idt_handle_math(Kernel::UIntPtr rsp)
process.Leak().Crash();
- Kernel::ke_stop(RUNTIME_CHECK_UNEXCPECTED);
+ Kernel::ke_panic(RUNTIME_CHECK_UNEXCPECTED);
}
/// @brief Handle any generic fault.
@@ -114,7 +114,7 @@ EXTERN_C void idt_handle_generic(Kernel::UIntPtr rsp)
auto process = Kernel::UserProcessScheduler::The().GetCurrentProcess();
if (!process)
- Kernel::ke_stop(RUNTIME_CHECK_PAGE);
+ Kernel::ke_panic(RUNTIME_CHECK_PAGE);
process.Leak().ProcessSignal.SignalIP = 0UL;
process.Leak().ProcessSignal.SignalID = SIGKILL;
@@ -126,7 +126,7 @@ EXTERN_C void idt_handle_generic(Kernel::UIntPtr rsp)
process.Leak().Crash();
- Kernel::ke_stop(RUNTIME_CHECK_UNEXCPECTED);
+ Kernel::ke_panic(RUNTIME_CHECK_UNEXCPECTED);
}
EXTERN_C Kernel::Void idt_handle_breakpoint(Kernel::UIntPtr rip)
@@ -134,7 +134,7 @@ EXTERN_C Kernel::Void idt_handle_breakpoint(Kernel::UIntPtr rip)
auto process = Kernel::UserProcessScheduler::The().GetCurrentProcess();
if (!process)
- Kernel::ke_stop(RUNTIME_CHECK_PAGE);
+ Kernel::ke_panic(RUNTIME_CHECK_PAGE);
kcout << "Kernel: Process RIP: " << Kernel::hex_number(rip) << endl;
kcout << "Kernel: SIGTRAP set.\r";
@@ -158,7 +158,7 @@ EXTERN_C void idt_handle_ud(Kernel::UIntPtr rsp)
auto process = Kernel::UserProcessScheduler::The().GetCurrentProcess();
if (!process)
- Kernel::ke_stop(RUNTIME_CHECK_PAGE);
+ Kernel::ke_panic(RUNTIME_CHECK_PAGE);
process.Leak().ProcessSignal.SignalIP = 0UL;
process.Leak().ProcessSignal.SignalID = SIGKILL;
@@ -170,7 +170,7 @@ EXTERN_C void idt_handle_ud(Kernel::UIntPtr rsp)
process.Leak().Crash();
- Kernel::ke_stop(RUNTIME_CHECK_UNEXCPECTED);
+ Kernel::ke_panic(RUNTIME_CHECK_UNEXCPECTED);
}
/// @brief Enter syscall from assembly.
diff --git a/dev/Kernel/HALKit/AMD64/HalCoreScheduler.cc b/dev/Kernel/HALKit/AMD64/HalCoreScheduler.cc
index 02150f6e..ac103d0d 100644
--- a/dev/Kernel/HALKit/AMD64/HalCoreScheduler.cc
+++ b/dev/Kernel/HALKit/AMD64/HalCoreScheduler.cc
@@ -11,8 +11,8 @@
#include <KernelKit/Semaphore.h>
#include <KernelKit/UserProcessScheduler.h>
#include <KernelKit/Timer.h>
-#include <Modules/FB/Text.h>
-#include <NewKit/Stop.h>
+#include <Modules/GfxMgr/TextMgr.h>
+#include <NewKit/KernelPanic.h>
// Needed for SMP.
#include <KernelKit/HardwareThreadScheduler.h>
diff --git a/dev/Kernel/HALKit/AMD64/HalDebugOutput.cc b/dev/Kernel/HALKit/AMD64/HalDebugOutput.cc
index 6ae5859d..ce3690b3 100644
--- a/dev/Kernel/HALKit/AMD64/HalDebugOutput.cc
+++ b/dev/Kernel/HALKit/AMD64/HalDebugOutput.cc
@@ -47,7 +47,7 @@ namespace Kernel
// Check if serial is faulty (i.e: not same byte as sent)
if (HAL::rt_in8(PORT) != 0xAE)
{
- ke_stop(RUNTIME_CHECK_HANDSHAKE);
+ ke_panic(RUNTIME_CHECK_HANDSHAKE);
}
kState = kStateReady;
diff --git a/dev/Kernel/HALKit/AMD64/HalKernelMain.cc b/dev/Kernel/HALKit/AMD64/HalKernelMain.cc
index bf297d6a..75c41433 100644
--- a/dev/Kernel/HALKit/AMD64/HalKernelMain.cc
+++ b/dev/Kernel/HALKit/AMD64/HalKernelMain.cc
@@ -11,8 +11,8 @@
#include <Modules/ACPI/ACPIFactoryInterface.h>
#include <NetworkKit/IPC.h>
#include <CFKit/Property.h>
-#include <Modules/FB/AppearanceMgr.h>
-#include <Modules/FB/Text.h>
+#include <Modules/GfxMgr/AppearanceMgr.h>
+#include <Modules/GfxMgr/TextMgr.h>
EXTERN_C Kernel::VoidPtr kInterruptVectorTable[];
EXTERN_C Kernel::VoidPtr mp_user_switch_proc;
@@ -79,12 +79,12 @@ EXTERN_C void hal_init_platform(
Kernel::HAL::GDTLoader gdt_loader;
gdt_loader.Load(gdt_reg);
- Kernel::ke_stop(RUNTIME_CHECK_BOOTSTRAP);
+ Kernel::ke_panic(RUNTIME_CHECK_BOOTSTRAP);
}
EXTERN_C Kernel::Void hal_real_init(Kernel::Void) noexcept
{
- CG::ui_draw_background();
+ UI::ui_draw_background();
auto str_proc = Kernel::rt_alloc_string("System");
Kernel::rtl_create_process(rtl_kernel_main, str_proc);
diff --git a/dev/Kernel/HALKit/ARM64/HalKernelMain.cc b/dev/Kernel/HALKit/ARM64/HalKernelMain.cc
index 3892e31b..ff4676e4 100644
--- a/dev/Kernel/HALKit/ARM64/HalKernelMain.cc
+++ b/dev/Kernel/HALKit/ARM64/HalKernelMain.cc
@@ -5,7 +5,7 @@
------------------------------------------- */
#include <ArchKit/ArchKit.h>
-#include <Modules/FB/FB.h>
+#include <Modules/GfxMgr/FBMgr.h>
#include <FirmwareKit/Handover.h>
#include <KernelKit/FileMgr.h>
#include <KernelKit/Heap.h>
@@ -15,7 +15,7 @@
#include <KernelKit/CodeMgr.h>
#include <Modules/ACPI/ACPIFactoryInterface.h>
#include <NetworkKit/IPC.h>
-#include <Modules/FB/AppearanceMgr.h>
+#include <Modules/GfxMgr/AppearanceMgr.h>
#include <CFKit/Property.h>
Kernel::Void hal_real_init(Kernel::Void) noexcept;
@@ -47,7 +47,7 @@ EXTERN_C void hal_init_platform(
/// @note do initialize the interrupts after it.
- CG::ui_draw_background();
+ UI::ui_draw_background();
auto str_proc = Kernel::rt_alloc_string("System");
Kernel::rtl_create_process(rtl_kernel_main, str_proc);
diff --git a/dev/Kernel/HALKit/ARM64/Storage/.gitkeep b/dev/Kernel/HALKit/ARM64/Storage/.gitkeep
deleted file mode 100644
index e69de29b..00000000
--- a/dev/Kernel/HALKit/ARM64/Storage/.gitkeep
+++ /dev/null
diff --git a/dev/Kernel/HALKit/ARM64/Storage/HalFlash.cc b/dev/Kernel/HALKit/ARM64/Storage/HalFlashMemory.cc
index 9bd71b57..d5a9ecf4 100644
--- a/dev/Kernel/HALKit/ARM64/Storage/HalFlash.cc
+++ b/dev/Kernel/HALKit/ARM64/Storage/HalFlashMemory.cc
@@ -10,13 +10,13 @@
/// @file Flash.cc
/// @brief Flash memory builtin.
-#ifdef __USE_MBCI_FLASH__
+#ifdef ZKA_USE_MBCI_FLASH
#define kMaxFlash (4U)
namespace Kernel
{
- /// /:/BRIDGE/FLSH/1
+ /// /Mount/Flash/n
constexpr auto kFlashBridgeMagic = "FLSH";
constexpr auto kFlashBridgeRevision = 1;
@@ -63,4 +63,4 @@ namespace Kernel
}
} // namespace Kernel
-#endif // if __USE_MBCI_FLASH__ (Bridge)
+#endif // if ZKA_USE_MBCI_FLASH (Bridge)
diff --git a/dev/Kernel/KernelKit/DebugOutput.h b/dev/Kernel/KernelKit/DebugOutput.h
index 42cd8748..af9c5b79 100644
--- a/dev/Kernel/KernelKit/DebugOutput.h
+++ b/dev/Kernel/KernelKit/DebugOutput.h
@@ -192,7 +192,7 @@ namespace Kernel
#endif // ifdef kcout
#define kcout \
- (Kernel::TerminalDevice::The() << "\e[0;31m [ " << __FILE__ << ": LINE: " << Kernel::number(__LINE__)); \
+ (Kernel::TerminalDevice::The() << "\e[0;31m [ (" << __FILE__ << ") Line: " << Kernel::number(__LINE__)); \
(Kernel::TerminalDevice::The() << " ] \e[0m" \
<< ": ")
#define endl Kernel::TerminalDevice::The() << Kernel::end_line()
diff --git a/dev/Kernel/KernelKit/Heap.h b/dev/Kernel/KernelKit/Heap.h
index 6c7e04bd..90ed6266 100644
--- a/dev/Kernel/KernelKit/Heap.h
+++ b/dev/Kernel/KernelKit/Heap.h
@@ -11,7 +11,7 @@
// file: Heap.h
// description: heap allocation support.
-#include <NewKit/Stop.h>
+#include <NewKit/KernelPanic.h>
#include <KernelKit/LPC.h>
#include <HintKit/CompilerHint.h>
diff --git a/dev/Kernel/NewKit/DriverMgr.h b/dev/Kernel/NewKit/DriverMgr.h
new file mode 100644
index 00000000..a23ce4f2
--- /dev/null
+++ b/dev/Kernel/NewKit/DriverMgr.h
@@ -0,0 +1,19 @@
+
+/* -------------------------------------------
+
+ Copyright (C) 2024, Theater Quality Inc, all rights reserved.
+
+------------------------------------------- */
+
+#pragma once
+
+#include <NewKit/Defines.h>
+
+/// @file DriverMgr.h
+/// @brief Driver loader manager.
+
+namespace Kernel
+{
+ class UserDriver;
+ class KernelDriver;
+} \ No newline at end of file
diff --git a/dev/Kernel/NewKit/KString.h b/dev/Kernel/NewKit/KString.h
index a7020a10..9ea2f0e4 100644
--- a/dev/Kernel/NewKit/KString.h
+++ b/dev/Kernel/NewKit/KString.h
@@ -10,7 +10,7 @@
#include <NewKit/Defines.h>
#include <NewKit/ErrorOr.h>
#include <NewKit/Utils.h>
-#include <NewKit/Stop.h>
+#include <NewKit/KernelPanic.h>
#define cMinimumStringSize 8196
diff --git a/dev/Kernel/NewKit/Stop.h b/dev/Kernel/NewKit/KernelPanic.h
index 0d7bf27b..7fc2ab30 100644
--- a/dev/Kernel/NewKit/Stop.h
+++ b/dev/Kernel/NewKit/KernelPanic.h
@@ -57,7 +57,7 @@ namespace Kernel
STATIC Void Recover() noexcept;
};
- void ke_stop(const Int32& id);
+ void ke_panic(const Int32& id);
} // namespace Kernel
#ifdef TRY
diff --git a/dev/Kernel/NewKit/New.h b/dev/Kernel/NewKit/New.h
index eb6c33e4..8ee33232 100644
--- a/dev/Kernel/NewKit/New.h
+++ b/dev/Kernel/NewKit/New.h
@@ -4,11 +4,13 @@
Copyright (C) 2024, Theater Quality Inc, all rights reserved.
------------------------------------------- */
+
#pragma once
#include <KernelKit/Heap.h>
-typedef __SIZE_TYPE__ size_t; // gcc will complain about that
+/// @note compatible with tk too.
+typedef __SIZE_TYPE__ size_t;
void* operator new(size_t ptr);
void* operator new[](size_t ptr);
diff --git a/dev/Kernel/NewKit/NewKit.h b/dev/Kernel/NewKit/NewKit.h
index e17c3465..e32e96b4 100644
--- a/dev/Kernel/NewKit/NewKit.h
+++ b/dev/Kernel/NewKit/NewKit.h
@@ -11,7 +11,7 @@
#include <NewKit/ArrayList.h>
#include <NewKit/ErrorOr.h>
#include <NewKit/Json.h>
-#include <NewKit/Stop.h>
+#include <NewKit/KernelPanic.h>
#include <NewKit/MutableArray.h>
#include <NewKit/New.h>
#include <NewKit/OwnPtr.h>
diff --git a/dev/Kernel/NewKit/OwnPtr.h b/dev/Kernel/NewKit/OwnPtr.h
index 36d1cdea..4f1cec7a 100644
--- a/dev/Kernel/NewKit/OwnPtr.h
+++ b/dev/Kernel/NewKit/OwnPtr.h
@@ -8,7 +8,7 @@
#pragma once
#include <NewKit/Defines.h>
-#include <NewKit/Stop.h>
+#include <NewKit/KernelPanic.h>
#include <NewKit/Ref.h>
namespace Kernel
diff --git a/dev/Kernel/NewKit/Ref.h b/dev/Kernel/NewKit/Ref.h
index 75500693..34b8891a 100644
--- a/dev/Kernel/NewKit/Ref.h
+++ b/dev/Kernel/NewKit/Ref.h
@@ -9,7 +9,7 @@
#define _NEWKIT_REF_H_
#include <NewKit/Defines.h>
-#include <NewKit/Stop.h>
+#include <NewKit/KernelPanic.h>
#include <KernelKit/Heap.h>
namespace Kernel
diff --git a/dev/Kernel/NewKit/SwapMgr.h b/dev/Kernel/NewKit/SwapMgr.h
new file mode 100644
index 00000000..822a1565
--- /dev/null
+++ b/dev/Kernel/NewKit/SwapMgr.h
@@ -0,0 +1,21 @@
+
+/* -------------------------------------------
+
+ Copyright (C) 2024, Theater Quality Inc, all rights reserved.
+
+------------------------------------------- */
+
+#pragma once
+
+#include <NewKit/Defines.h>
+
+#define kSwapMgrBlockMaxSize mib_cast(16)
+#define KSwapMgrBlockMagic "SWEP "
+
+/// @file SwapMgr.h
+/// @brief Virtual memory swap API.
+
+namespace Kernel
+{
+ class UserSwapProcess;
+} \ No newline at end of file
diff --git a/dev/Kernel/NewKit/ThreadMgr.h b/dev/Kernel/NewKit/ThreadMgr.h
new file mode 100644
index 00000000..8148c28d
--- /dev/null
+++ b/dev/Kernel/NewKit/ThreadMgr.h
@@ -0,0 +1,20 @@
+
+/* -------------------------------------------
+
+ Copyright (C) 2024, Theater Quality Inc, all rights reserved.
+
+------------------------------------------- */
+
+#pragma once
+
+#include <NewKit/Defines.h>
+
+/// @file ThreadMgr.h
+/// @brief This file takes care of creating processes/threads from a subsystem context.
+
+namespace Kernel
+{
+ class UserSubsystem;
+ class UserEnvVar;
+ class UserEnv;
+} \ No newline at end of file
diff --git a/dev/Kernel/src/ACPIFactoryInterface.cc b/dev/Kernel/src/ACPIFactoryInterface.cc
index 424a951a..83890220 100644
--- a/dev/Kernel/src/ACPIFactoryInterface.cc
+++ b/dev/Kernel/src/ACPIFactoryInterface.cc
@@ -37,7 +37,7 @@ namespace Kernel
if (num < 1)
{
/// stop here, we should have entries...
- ke_stop(RUNTIME_CHECK_ACPI);
+ ke_panic(RUNTIME_CHECK_ACPI);
return ErrorOr<voidPtr>{-1};
}
diff --git a/dev/Kernel/src/BitMapMgr.cc b/dev/Kernel/src/BitMapMgr.cc
index be9f73b8..f73ea911 100644
--- a/dev/Kernel/src/BitMapMgr.cc
+++ b/dev/Kernel/src/BitMapMgr.cc
@@ -13,7 +13,7 @@
#endif
#include <NewKit/Defines.h>
-#include <NewKit/Stop.h>
+#include <NewKit/KernelPanic.h>
#define kBitMapMagic (0x10210U)
diff --git a/dev/Kernel/src/FS/HPFS.cc b/dev/Kernel/src/FS/HPFS.cc
index 8aba73ac..98c41f23 100644
--- a/dev/Kernel/src/FS/HPFS.cc
+++ b/dev/Kernel/src/FS/HPFS.cc
@@ -12,7 +12,7 @@
#include <FSKit/HPFS.h>
#include <KernelKit/LPC.h>
#include <NewKit/Crc32.h>
-#include <NewKit/Stop.h>
+#include <NewKit/KernelPanic.h>
#include <NewKit/KString.h>
#include <NewKit/Utils.h>
#include <FirmwareKit/EPM.h>
diff --git a/dev/Kernel/src/FS/NeFS.cc b/dev/Kernel/src/FS/NeFS.cc
index 1dd08e4f..650d42c3 100644
--- a/dev/Kernel/src/FS/NeFS.cc
+++ b/dev/Kernel/src/FS/NeFS.cc
@@ -14,7 +14,7 @@
#include <Modules/Flash/Flash.h>
#include <KernelKit/LPC.h>
#include <NewKit/Crc32.h>
-#include <NewKit/Stop.h>
+#include <NewKit/KernelPanic.h>
#include <NewKit/KString.h>
#include <NewKit/Utils.h>
#include <KernelKit/UserProcessScheduler.h>
diff --git a/dev/Kernel/src/Heap.cc b/dev/Kernel/src/Heap.cc
index 77425670..2575bbcc 100644
--- a/dev/Kernel/src/Heap.cc
+++ b/dev/Kernel/src/Heap.cc
@@ -105,7 +105,7 @@ namespace Kernel
return nullptr;
kcout << "This function is not implemented by minOSKrnl, please use the BSD's realloc instead.\r";
- ke_stop(RUNTIME_CHECK_PROCESS);
+ ke_panic(RUNTIME_CHECK_PROCESS);
return nullptr;
}
@@ -235,7 +235,7 @@ namespace Kernel
{
if (!heap_info_ptr->fUser)
{
- ke_stop(RUNTIME_CHECK_POINTER);
+ ke_panic(RUNTIME_CHECK_POINTER);
}
}
}
diff --git a/dev/Kernel/src/KernelMain.cc b/dev/Kernel/src/KernelMain.cc
index cc889619..d3498f24 100644
--- a/dev/Kernel/src/KernelMain.cc
+++ b/dev/Kernel/src/KernelMain.cc
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright ZKA Technologies
+ Copyright Theater Quality Inc
File: Main.cxx
Purpose: Main entrypoint of kernel.
@@ -22,7 +22,7 @@
#include <NewKit/Utils.h>
#include <KernelKit/CodeMgr.h>
#include <CFKit/Property.h>
-#include <Modules/FB/AppearanceMgr.h>
+#include <Modules/GfxMgr/AppearanceMgr.h>
#include <KernelKit/Timer.h>
namespace Kernel::Detail
diff --git a/dev/Kernel/src/Stop.cc b/dev/Kernel/src/KernelPanic.cc
index a8974849..0fd2ec64 100644
--- a/dev/Kernel/src/Stop.cc
+++ b/dev/Kernel/src/KernelPanic.cc
@@ -4,15 +4,15 @@
------------------------------------------- */
-#include <NewKit/Stop.h>
+#include <NewKit/KernelPanic.h>
#include <ArchKit/ArchKit.h>
#include <KernelKit/Timer.h>
#include <KernelKit/DebugOutput.h>
#include <NewKit/KString.h>
#include <FirmwareKit/Handover.h>
#include <KernelKit/FileMgr.h>
-#include <Modules/FB/FB.h>
-#include <Modules/FB/Text.h>
+#include <Modules/GfxMgr/FBMgr.h>
+#include <Modules/GfxMgr/TextMgr.h>
#define kWebsiteURL "https://el-mahrouss-logic.com/products/help/"
@@ -25,9 +25,9 @@ namespace Kernel
/// @brief Stops execution of the kernel.
/// @param id kernel stop ID.
/***********************************************************************************/
- Void ke_stop(const Kernel::Int32& id)
+ Void ke_panic(const Kernel::Int32& id)
{
- cg_init();
+ fb_init();
auto panic_text = RGB(0xff, 0xff, 0xff);
@@ -41,7 +41,7 @@ namespace Kernel
start_y += 10;
- cg_fini();
+ fb_fini();
// show text according to error id.
@@ -124,7 +124,7 @@ namespace Kernel
kcout << "FAILED: FILE: " << file << endl;
kcout << "FAILED: LINE: " << line << endl;
- ke_stop(RUNTIME_CHECK_FAILED); // Runtime Check failed
+ ke_panic(RUNTIME_CHECK_FAILED); // Runtime Check failed
}
}
} // namespace Kernel
diff --git a/dev/Kernel/src/LPC.cc b/dev/Kernel/src/LPC.cc
index 07a7b982..f9a13796 100644
--- a/dev/Kernel/src/LPC.cc
+++ b/dev/Kernel/src/LPC.cc
@@ -5,7 +5,7 @@
------------------------------------------- */
#include <KernelKit/LPC.h>
-#include <NewKit/Stop.h>
+#include <NewKit/KernelPanic.h>
namespace Kernel
{
@@ -18,7 +18,7 @@ namespace Kernel
{
if (kRaiseOnBugCheck)
{
- ke_stop(RUNTIME_CHECK_BAD_BEHAVIOR);
+ ke_panic(RUNTIME_CHECK_BAD_BEHAVIOR);
}
return No;
diff --git a/dev/Kernel/src/PEFCodeMgr.cc b/dev/Kernel/src/PEFCodeMgr.cc
index a27db7e3..a8205004 100644
--- a/dev/Kernel/src/PEFCodeMgr.cc
+++ b/dev/Kernel/src/PEFCodeMgr.cc
@@ -9,7 +9,7 @@
#include <KernelKit/PEFCodeMgr.h>
#include <KernelKit/UserProcessScheduler.h>
#include <NewKit/Defines.h>
-#include <NewKit/Stop.h>
+#include <NewKit/KernelPanic.h>
#include <NewKit/OwnPtr.h>
#include <NewKit/KString.h>
diff --git a/dev/Kernel/src/User.cc b/dev/Kernel/src/User.cc
index d45c8e1b..8d1bcac9 100644
--- a/dev/Kernel/src/User.cc
+++ b/dev/Kernel/src/User.cc
@@ -12,7 +12,7 @@
#include <KernelKit/User.h>
#include <KernelKit/LPC.h>
-#include <NewKit/Stop.h>
+#include <NewKit/KernelPanic.h>
#include <KernelKit/FileMgr.h>
#include <KernelKit/UserProcessScheduler.h>
#include <KernelKit/Heap.h>
diff --git a/dev/Kernel/src/UserProcessScheduler.cc b/dev/Kernel/src/UserProcessScheduler.cc
index 512b0c22..3904c222 100644
--- a/dev/Kernel/src/UserProcessScheduler.cc
+++ b/dev/Kernel/src/UserProcessScheduler.cc
@@ -256,7 +256,7 @@ namespace Kernel
if (!success)
{
- ke_stop(RUNTIME_CHECK_PROCESS);
+ ke_panic(RUNTIME_CHECK_PROCESS);
}
this->DylibDelegate = nullptr;
diff --git a/dev/Modules/FB/Math.h b/dev/Modules/FB/Math.h
deleted file mode 100644
index 123e9914..00000000
--- a/dev/Modules/FB/Math.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* -------------------------------------------
-
- Copyright ZKA Technologies.
-
-------------------------------------------- */
-
-#pragma once
-
-/// @file Math.h
-/// @brief Linear interpolation implementation.
-
-#ifdef ZKA_FB_USE_DOUBLE
-typedef double fb_real_t;
-#else
-typedef float fb_real_t;
-#endif
-
-/// @brief Linear interpolation equation solver.
-/// @param from where?
-/// @param to to?
-/// @param at which state we're at **to**.
-inline fb_real_t fb_math_lerp(fb_real_t to, fb_real_t from, fb_real_t stat)
-{
- fb_real_t difference = to - from;
- return from + (difference * stat);
-}
diff --git a/dev/Modules/Flash/Flash.h b/dev/Modules/Flash/Flash.h
index f549ef44..9f5d4117 100644
--- a/dev/Modules/Flash/Flash.h
+++ b/dev/Modules/Flash/Flash.h
@@ -6,7 +6,7 @@
#pragma once
-#ifdef __USE_MBCI_FLASH__
+#ifdef ZKA_USE_MBCI_FLASH
#include <NewKit/Defines.h>
@@ -18,4 +18,4 @@ Kernel::SizeT drv_get_sector_count();
/// @return drive size
Kernel::SizeT drv_get_size();
-#endif // ifdef __USE_MBCI_FLASH__
+#endif // ifdef ZKA_USE_MBCI_FLASH
diff --git a/dev/Modules/FB/AccessibilityMgr.h b/dev/Modules/GfxMgr/AccessibilityMgr.h
index 843ad9a7..7507f5c0 100644
--- a/dev/Modules/FB/AccessibilityMgr.h
+++ b/dev/Modules/GfxMgr/AccessibilityMgr.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright ZKA Technologies.
+ Copyright Theater Quality Inc.
------------------------------------------- */
@@ -9,11 +9,11 @@
#include <NewKit/NewKit.h>
#include <KernelKit/LPC.h>
-#include <Modules/FB/FB.h>
-#include <Modules/FB/Math.h>
+#include <Modules/GfxMgr/FBMgr.h>
+#include <Modules/GfxMgr/MathMgr.h>
#include <ArchKit/ArchKit.h>
-namespace CG
+namespace UI
{
using namespace Kernel;
diff --git a/dev/Modules/FB/AppearanceMgr.h b/dev/Modules/GfxMgr/AppearanceMgr.h
index ca6fff10..2318231d 100644
--- a/dev/Modules/FB/AppearanceMgr.h
+++ b/dev/Modules/GfxMgr/AppearanceMgr.h
@@ -1,22 +1,22 @@
/* -------------------------------------------
- Copyright ZKA Technologies.
+ Copyright Theater Quality Inc.
------------------------------------------- */
#pragma once
-#include <Modules/FB/AccessibilityMgr.h>
+#include <Modules/GfxMgr/AccessibilityMgr.h>
#include <KernelKit/Heap.h>
#include <KernelKit/UserProcessScheduler.h>
#include <KernelKit/LPC.h>
#include <NewKit/Defines.h>
#include <NewKit/Utils.h>
-#include <Modules/FB/FB.h>
-#include <Modules/FB/Rsrc/WndControls.rsrc>
-#include <Modules/FB/Text.h>
+#include <Modules/GfxMgr/FBMgr.h>
+#include <Modules/GfxMgr/Rsrc/Controls.rsrc>
+#include <Modules/GfxMgr/TextMgr.h>
-namespace CG
+namespace UI
{
using namespace Kernel;
@@ -57,12 +57,12 @@ namespace CG
inline Void ui_draw_background() noexcept
{
- cg_init();
+ fb_init();
- CGDrawInRegion(cg_get_clear_clr(), CG::UIAccessibilty::Height(), CG::UIAccessibilty::Width(),
+ FBDrawInRegion(fb_get_clear_clr(), UI::UIAccessibilty::Height(), UI::UIAccessibilty::Width(),
0, 0);
- cg_fini();
+ fb_fini();
}
inline struct UIObject* ui_create_object(Int32 kind, const Char* obj_name, const Char* class_name, Int32 x, Int32 y, Int32 width, Int32 height, UIObject* parent = nullptr)
@@ -142,7 +142,7 @@ namespace CG
!obj->w_needs_repaint)
return 1;
- cg_init();
+ fb_init();
obj->w_needs_repaint = false;
@@ -181,26 +181,26 @@ namespace CG
{
if (obj->w_display_ptr)
{
- CGDrawInRegion(cg_color(0xDF, 0xDF, 0xDF), obj->w_h, obj->w_w, obj->w_x, obj->w_y);
- CGDrawBitMapInRegion(obj->w_display_ptr, obj->w_display_ptr_h, obj->w_display_ptr_w, obj->w_x, obj->w_y);
+ FBDrawInRegion(fb_color(0xDF, 0xDF, 0xDF), obj->w_h, obj->w_w, obj->w_x, obj->w_y);
+ FBDrawBitMapInRegion(obj->w_display_ptr, obj->w_display_ptr_h, obj->w_display_ptr_w, obj->w_x, obj->w_y);
}
else
{
- CGDrawInRegion(cg_color(0xDF, 0xDF, 0xDF), obj->w_w, obj->w_h, obj->w_y, obj->w_x);
+ FBDrawInRegion(fb_color(0xDF, 0xDF, 0xDF), obj->w_w, obj->w_h, obj->w_y, obj->w_x);
}
- CGDrawInRegion(cg_color(0xFF, 0xFF, 0xFF), obj->w_w, FLAT_CONTROLS_HEIGHT, obj->w_y, obj->w_x);
+ FBDrawInRegion(fb_color(0xFF, 0xFF, 0xFF), obj->w_w, FLAT_CONTROLS_HEIGHT, obj->w_y, obj->w_x);
if (obj->w_sub_type != kUIFlagHideCloseControl)
{
- CGDrawBitMapInRegion(zka_flat_controls, FLAT_CONTROLS_HEIGHT, FLAT_CONTROLS_WIDTH, obj->w_y, obj->w_x + obj->w_w - FLAT_CONTROLS_WIDTH);
+ FBDrawBitMapInRegion(zka_flat_controls, FLAT_CONTROLS_HEIGHT, FLAT_CONTROLS_WIDTH, obj->w_y, obj->w_x + obj->w_w - FLAT_CONTROLS_WIDTH);
}
else if (obj->w_sub_type == kUIFlagCloseControlSelect)
{
- CGDrawBitMapInRegion(zka_flat_controls_active, FLAT_CONTROLS_CLOSEHEIGHT, FLAT_CONTROLS_CLOSEWIDTH, obj->w_y, obj->w_x + obj->w_w - FLAT_CONTROLS_WIDTH);
+ FBDrawBitMapInRegion(zka_flat_controls_active, FLAT_CONTROLS_CLOSE_HEIGHT, FLAT_CONTROLS_CLOSE_WIDTH, obj->w_y, obj->w_x + obj->w_w - FLAT_CONTROLS_WIDTH);
}
- fb_render_string(obj->w_window_name, obj->w_x + 8, obj->w_y + 8, cg_color(0x00, 0x00, 0x00));
+ fb_render_string(obj->w_window_name, obj->w_x + 8, obj->w_y + 8, fb_color(0x00, 0x00, 0x00));
}
else
{
@@ -216,9 +216,9 @@ namespace CG
if (!obj->w_display_custom_draw)
{
- CGDrawInRegion(cg_color(0xD3, 0x74, 0x00), obj->w_w + 1, obj->w_h + 1, obj->w_x, obj->w_y);
- CGDrawInRegion(cg_color(0xFF, 0xFF, 0xFF), obj->w_w - 1, obj->w_h - 1, obj->w_x + 1, obj->w_y + 1);
- ui_render_text(obj, obj->w_window_name, y_center, x_center, cg_color(0x00, 0x00, 0x00));
+ FBDrawInRegion(fb_color(0xD3, 0x74, 0x00), obj->w_w + 1, obj->w_h + 1, obj->w_x, obj->w_y);
+ FBDrawInRegion(fb_color(0xFF, 0xFF, 0xFF), obj->w_w - 1, obj->w_h - 1, obj->w_x + 1, obj->w_y + 1);
+ ui_render_text(obj, obj->w_window_name, y_center, x_center, fb_color(0x00, 0x00, 0x00));
}
else
{
@@ -232,9 +232,9 @@ namespace CG
if (!obj->w_display_custom_draw)
{
- CGDrawInRegion(cg_color(0xDC, 0xDC, 0xDC), obj->w_w + 1, obj->w_h + 1, obj->w_y, obj->w_x);
- CGDrawInRegion(cg_color(0xFF, 0xFF, 0xFF), obj->w_w - 1, obj->w_h - 1, obj->w_y + 1, obj->w_x + 1);
- fb_render_string(obj->w_window_name, y_center, x_center, cg_color(0x00, 0x00, 0x00));
+ FBDrawInRegion(fb_color(0xDC, 0xDC, 0xDC), obj->w_w + 1, obj->w_h + 1, obj->w_y, obj->w_x);
+ FBDrawInRegion(fb_color(0xFF, 0xFF, 0xFF), obj->w_w - 1, obj->w_h - 1, obj->w_y + 1, obj->w_x + 1);
+ fb_render_string(obj->w_window_name, y_center, x_center, fb_color(0x00, 0x00, 0x00));
}
else
{
@@ -242,7 +242,7 @@ namespace CG
}
}
- cg_fini();
+ fb_fini();
// draw child windows and controls.
// doesn't have to be a window, enabling then windows in windows.
@@ -259,7 +259,7 @@ namespace CG
ui_render_object(obj->w_child_elements[child]);
}
- cg_fini();
+ fb_fini();
return 0;
}
diff --git a/dev/Modules/FB/FB.h b/dev/Modules/GfxMgr/FBMgr.h
index 6a609255..f5cdf4d2 100644
--- a/dev/Modules/FB/FB.h
+++ b/dev/Modules/GfxMgr/FBMgr.h
@@ -8,18 +8,16 @@
#include <NewKit/Defines.h>
-#define cg_init() Kernel::SizeT kCGCursor = 0
+#define fb_init() Kernel::SizeT kCGCursor = 0
-#define cg_color(R, G, B) RGB(R, G, B)
+#define fb_color(R, G, B) RGB(R, G, B)
-#define cg_get_clear_clr() cg_color(0x20, 0x20, 0x20)
+#define fb_get_clear_clr() fb_color(0x20, 0x20, 0x20)
-#define cg_fini() kCGCursor = 0
+#define fb_fini() kCGCursor = 0
/// @brief Performs OR drawing on the framebuffer.
-#define CGDrawBitMapInRegionA(_BitMp, _Height, _Width, _BaseX, _BaseY) \
- kCGCursor = 0; \
- \
+#define FBDrawBitMapInRegionA(_BitMp, _Height, _Width, _BaseX, _BaseY) \
for (Kernel::SizeT i = _BaseX; i < (_Height + _BaseX); ++i) \
{ \
for (Kernel::SizeT u = _BaseY; u < (_Width + _BaseY); ++u) \
@@ -34,9 +32,7 @@
}
/// @brief Draws a resource.
-#define CGDrawBitMapInRegion(_BitMp, _Height, _Width, _BaseX, _BaseY) \
- kCGCursor = 0; \
- \
+#define FBDrawBitMapInRegion(_BitMp, _Height, _Width, _BaseX, _BaseY) \
for (Kernel::SizeT i = _BaseX; i < (_Height + _BaseX); ++i) \
{ \
for (Kernel::SizeT u = _BaseY; u < (_Width + _BaseY); ++u) \
@@ -50,9 +46,7 @@
} \
}
-#define CGDrawBitMapInRegionToRgn(_Rgn, _BitMp, _Height, _Width, _BaseX, _BaseY) \
- kCGCursor = 0; \
- \
+#define FBDrawBitMapInRegionToRgn(_Rgn, _BitMp, _Height, _Width, _BaseX, _BaseY) \
for (Kernel::SizeT i = _BaseX; i < (_Height + _BaseX); ++i) \
{ \
for (Kernel::SizeT u = _BaseY; u < (_Width + _BaseY); ++u) \
@@ -68,7 +62,6 @@
/// @brief Cleans a resource.
#define CGClearRegion(_Height, _Width, _BaseX, _BaseY) \
- \
for (Kernel::SizeT i = _BaseX; i < _Height + _BaseX; ++i) \
{ \
for (Kernel::SizeT u = _BaseY; u < _Width + _BaseY; ++u) \
@@ -76,13 +69,12 @@
*(((volatile Kernel::UInt32*)(kHandoverHeader->f_GOP.f_The + \
4 * kHandoverHeader->f_GOP.f_PixelPerLine * \
i + \
- 4 * u))) = cg_get_clear_clr(); \
+ 4 * u))) = fb_get_clear_clr(); \
} \
}
/// @brief Draws inside a zone.
-#define CGDrawInRegion(_Clr, _Height, _Width, _BaseX, _BaseY) \
- \
+#define FBDrawInRegion(_Clr, _Height, _Width, _BaseX, _BaseY) \
for (Kernel::SizeT x_base = _BaseX; x_base < (_Width + _BaseX); ++x_base) \
{ \
for (Kernel::SizeT y_base = _BaseY; y_base < (_Height + _BaseY); ++y_base) \
@@ -95,9 +87,7 @@
}
/// @brief Draws inside a zone.
-#define CGDrawInRegionToRgn(_Rgn, _Clr, _Height, _Width, _BaseX, _BaseY) \
- kCGCursor = 0; \
- \
+#define FBDrawInRegionToRgn(_Rgn, _Clr, _Height, _Width, _BaseX, _BaseY) \
for (Kernel::SizeT x_base = _BaseX; x_base < (_Width + _BaseX); ++x_base) \
{ \
for (Kernel::SizeT y_base = _BaseY; y_base < (_Height + _BaseY); ++y_base) \
@@ -110,7 +100,7 @@
} \
}
-#define CGDrawInRegionToVideoRgn(_VideoRgn, _Clr, _Height, _Width, _BaseX, _BaseY) \
+#define FBDrawInRegionToVideoRgn(_VideoRgn, _Clr, _Height, _Width, _BaseX, _BaseY) \
kCGCursor = 0; \
\
for (Kernel::SizeT x_base = _BaseX; x_base < (_Width + _BaseX); ++x_base) \
@@ -125,9 +115,7 @@
} \
}
-#define CGDrawInRegionToVideoRgnA(_VideoRgn, _Clr, _Height, _Width, _BaseX, _BaseY) \
- kCGCursor = 0; \
- \
+#define FBDrawInRegionToVideoRgnA(_VideoRgn, _Clr, _Height, _Width, _BaseX, _BaseY) \
for (Kernel::SizeT x_base = _BaseX; x_base < (_Width + _BaseX); ++x_base) \
{ \
for (Kernel::SizeT y_base = _BaseY; y_base < (_Height + _BaseY); ++y_base) \
@@ -140,8 +128,7 @@
} \
}
-#define CGDrawInRegionA(_Clr, _Height, _Width, _BaseX, _BaseY) \
- \
+#define FBDrawInRegionA(_Clr, _Height, _Width, _BaseX, _BaseY) \
for (Kernel::SizeT x_base = _BaseX; x_base < (_Width + _BaseX); ++x_base) \
{ \
for (Kernel::SizeT y_base = _BaseY; y_base < (_Height + _BaseY); ++y_base) \
diff --git a/dev/Modules/GfxMgr/MathMgr.h b/dev/Modules/GfxMgr/MathMgr.h
new file mode 100644
index 00000000..13e653a5
--- /dev/null
+++ b/dev/Modules/GfxMgr/MathMgr.h
@@ -0,0 +1,29 @@
+/* -------------------------------------------
+
+ Copyright Theater Quality Inc.
+
+------------------------------------------- */
+
+#pragma once
+
+/// @file MathMgr.h
+/// @brief Linear interpolation implementation.
+
+namespace UI
+{
+#ifdef ZKA_FB_USE_DOUBLE
+ typedef double fb_real_t;
+#else
+ typedef float fb_real_t;
+#endif
+
+ /// @brief Linear interpolation equation solver.
+ /// @param from where?
+ /// @param to to?
+ /// @param at which state we're at **to**.
+ inline fb_real_t fb_math_lerp(fb_real_t to, fb_real_t from, fb_real_t stat)
+ {
+ fb_real_t difference = to - from;
+ return from + (difference * stat);
+ }
+} // namespace UI \ No newline at end of file
diff --git a/dev/Modules/FB/Rsrc/WndControls.rsrc b/dev/Modules/GfxMgr/Rsrc/Controls.rsrc
index e571fcbf..1534656e 100644
--- a/dev/Modules/FB/Rsrc/WndControls.rsrc
+++ b/dev/Modules/GfxMgr/Rsrc/Controls.rsrc
@@ -29,8 +29,8 @@ static inline const unsigned int zka_flat_controls[] = {
0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff
};
-#define FLAT_CONTROLS_CLOSEHEIGHT 24
-#define FLAT_CONTROLS_CLOSEWIDTH 44
+#define FLAT_CONTROLS_CLOSE_HEIGHT 24
+#define FLAT_CONTROLS_CLOSE_WIDTH 44
// array size is 3168
static inline const unsigned int zka_flat_controls_active[] = {
diff --git a/dev/Modules/FB/Rsrc/Cursor.rsrc b/dev/Modules/GfxMgr/Rsrc/Cursor.rsrc
index 2283cb32..2283cb32 100644
--- a/dev/Modules/FB/Rsrc/Cursor.rsrc
+++ b/dev/Modules/GfxMgr/Rsrc/Cursor.rsrc
diff --git a/dev/Modules/FB/Text.h b/dev/Modules/GfxMgr/TextMgr.h
index ba328314..970fbb8e 100644
--- a/dev/Modules/FB/Text.h
+++ b/dev/Modules/GfxMgr/TextMgr.h
@@ -7,7 +7,7 @@
#pragma once
#include <NewKit/Defines.h>
-#include <Modules/FB/FB.h>
+#include <Modules/GfxMgr/FBMgr.h>
#define FONT_SIZE_X 8
#define FONT_SIZE_Y 8
@@ -162,7 +162,7 @@ inline Kernel::Void fb_render_string_for_bitmap(const Kernel::UInt8* bitmap, con
if (set)
{
- CGDrawInRegion(color, 1, 1, ((x_dst) + x), ((y_dst) + y));
+ FBDrawInRegion(color, 1, 1, ((x_dst) + x), ((y_dst) + y));
}
}
}
diff --git a/dev/SCIKit/GPU.h b/dev/SCIKit/GPU.h
index a7e3dd92..8a1af4ca 100644
--- a/dev/SCIKit/GPU.h
+++ b/dev/SCIKit/GPU.h
@@ -10,7 +10,7 @@ Purpose: GFX System Calls.
#ifndef SCIKIT_GPU_H
#define SCIKIT_GPU_H
-#include <SCIKit/SCI.h>
+#include <SCI.h>
// ------------------------------------------------------------------------------------------ //
// GPU API.
diff --git a/dev/SCIKit/LPC.h b/dev/SCIKit/LPC.h
index b0e9e456..717c32ec 100644
--- a/dev/SCIKit/LPC.h
+++ b/dev/SCIKit/LPC.h
@@ -6,7 +6,7 @@
#pragma once
-#include <SCIKit/Macros.h>
+#include <Macros.h>
/// @file LPC.h
/// @brief Local Process Code type and values.
diff --git a/dev/SCIKit/Macros.h b/dev/SCIKit/Macros.h
index 9523725c..cbeb67eb 100644
--- a/dev/SCIKit/Macros.h
+++ b/dev/SCIKit/Macros.h
@@ -14,7 +14,7 @@ Purpose: SCIKit Macros header.
/// @brief Macros and core types.
/***********************************************************************************/
-#include <SCIKit/CompilerHint.h>
+#include <CompilerHint.h>
#define ATTRIBUTE(X) __attribute__((X))
#define IMPORT_CXX extern "C++"
diff --git a/dev/SCIKit/SCI.h b/dev/SCIKit/SCI.h
index 0eea032a..5b32a2fd 100644
--- a/dev/SCIKit/SCI.h
+++ b/dev/SCIKit/SCI.h
@@ -10,7 +10,7 @@ Purpose: System Calls.
#ifndef SCIKIT_FOUNDATION_H
#define SCIKIT_FOUNDATION_H
-#include <SCIKit/Macros.h>
+#include <Macros.h>
// ------------------------------------------------------------------------------------------ //
/// @brief Dynamic Loader API.
diff --git a/dev/SCIKit/SysCalls.h b/dev/SCIKit/SysCalls.h
index 1f87134a..3624dcc6 100644
--- a/dev/SCIKit/SysCalls.h
+++ b/dev/SCIKit/SysCalls.h
@@ -9,7 +9,7 @@ Purpose: SCIKit Macros header.
#pragma once
-#include <SCIKit/Macros.h>
+#include <Macros.h>
/// @brief In this file we define filesystem calls.
diff --git a/dev/SCIKit/sci.json b/dev/SCIKit/sci.json
index b0e267d2..44d00f87 100644
--- a/dev/SCIKit/sci.json
+++ b/dev/SCIKit/sci.json
@@ -1,7 +1,7 @@
{
"compiler_path": "x86_64-w64-mingw32-g++",
"compiler_std": "c++20",
- "headers_path": ["../"],
+ "headers_path": ["../", "./"],
"sources_path": ["src/*.cc", "src/*.o"],
"output_name": "SCIKit.dylib",
"compiler_flags": [
diff --git a/dev/SCIKit/src/GPU.cc b/dev/SCIKit/src/GPU.cc
index cb21dae5..46e090e6 100644
--- a/dev/SCIKit/src/GPU.cc
+++ b/dev/SCIKit/src/GPU.cc
@@ -7,4 +7,4 @@ Purpose: GPU Interface.
------------------------------------------- */
-#include <SCIKit/LPC.h>
+#include <LPC.h>
diff --git a/dev/SCIKit/src/LPC.cc b/dev/SCIKit/src/LPC.cc
index 2dcfc415..47f47ce6 100644
--- a/dev/SCIKit/src/LPC.cc
+++ b/dev/SCIKit/src/LPC.cc
@@ -7,4 +7,4 @@ Purpose: Local Procedure Codes.
------------------------------------------- */
-#include <SCIKit/LPC.h>
+#include <LPC.h>
diff --git a/dev/SCIKit/src/SCI.cc b/dev/SCIKit/src/SCI.cc
index a5ccdc23..3437498c 100644
--- a/dev/SCIKit/src/SCI.cc
+++ b/dev/SCIKit/src/SCI.cc
@@ -4,7 +4,7 @@
------------------------------------------- */
-#include <SCIKit/SCI.h>
+#include <SCI.h>
/// @file SCI.cc
/// @brief Source file for the memory functions of the SCI.