]> git.0x19.co - doomgeneric-snom360/commitdiff
Create README.md
authorozkl <ozkl@users.noreply.github.com>
Wed, 4 Sep 2019 13:35:55 +0000 (16:35 +0300)
committerGitHub <noreply@github.com>
Wed, 4 Sep 2019 13:35:55 +0000 (16:35 +0300)
README.md [new file with mode: 0644]

diff --git a/README.md b/README.md
new file mode 100644 (file)
index 0000000..7e36dbe
--- /dev/null
+++ b/README.md
@@ -0,0 +1,35 @@
+# doomgeneric
+The purpose of doomgeneric is to make porting Doom easier.
+Of course Doom is already portable but with doomgeneric it is possible with just a few functions.
+The limitation is there is no sound!
+
+# porting
+Create a file named doomgeneric_yourplatform.c and just implement these functions to suit your platform.
+* DG_Init
+* DG_DrawFrame
+* DG_SleepMs
+* DG_GetTicksMs
+* DG_GetKey
+
+|Functions            |Description|
+|---------------------|-----------|
+|DG_Init              |Initialize your platfrom (create window, framebuffer, etc...).
+|DG_DrawFrame         |Frame is ready in DG_ScreenBuffer. Copy it to your platform's screen.
+|DG_SleepMs           |Sleep in milliseconds.
+|DG_GetTicksMs        |The ticks passed since launch in milliseconds.
+|DG_GetKey            |Provide keyboard events.
+|DG_SetWindowTitle    |Not required. This is for setting the window title as Doom sets this from WAD file.
+
+# platforms
+I have ported to Windows, X11, and Soso.
+
+Note that X11 port is not efficient since it generates pixmap by XDrawPoint. It can be further improved by using X11 extensions.
+
+## Windows
+![Windows](screenshots/windows.png)
+
+## X11 - Ubuntu
+![Ubuntu](screenshots/ubuntu.png)
+
+## X11 - FreeBSD
+![FreeBSD](screenshots/freebsd.png)