mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-11-01 23:18:21 +00:00
patches: optimize doomgeneric patch
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
diff -ruN doomgeneric/doomgeneric/doomgeneric_astral.c Astral/sources/doomgeneric/doomgeneric/doomgeneric_astral.c
|
diff -ruN doomgeneric/doomgeneric/doomgeneric_astral.c Astral/sources/doomgeneric/doomgeneric/doomgeneric_astral.c
|
||||||
--- doomgeneric/doomgeneric/doomgeneric_astral.c 1969-12-31 21:00:00.000000000 -0300
|
--- doomgeneric/doomgeneric/doomgeneric_astral.c 1969-12-31 21:00:00.000000000 -0300
|
||||||
+++ Astral/sources/doomgeneric/doomgeneric/doomgeneric_astral.c 2022-10-08 22:09:58.026611370 -0300
|
+++ Astral/sources/doomgeneric/doomgeneric/doomgeneric_astral.c 2022-10-14 18:57:20.269819323 -0300
|
||||||
@@ -0,0 +1,191 @@
|
@@ -0,0 +1,194 @@
|
||||||
+#include "doomkeys.h"
|
+#include "doomkeys.h"
|
||||||
+
|
+
|
||||||
+#include "doomgeneric.h"
|
+#include "doomgeneric.h"
|
||||||
@@ -84,19 +84,11 @@ diff -ruN doomgeneric/doomgeneric/doomgeneric_astral.c Astral/sources/doomgeneri
|
|||||||
+
|
+
|
||||||
+ ioctlordie(fbfd, FBIOGET_VSCREENINFO, &fbvs);
|
+ ioctlordie(fbfd, FBIOGET_VSCREENINFO, &fbvs);
|
||||||
+ ioctlordie(fbfd, FBIOGET_FSCREENINFO, &fbfs);
|
+ ioctlordie(fbfd, FBIOGET_FSCREENINFO, &fbfs);
|
||||||
+
|
+
|
||||||
+ // clear fb
|
|
||||||
+
|
|
||||||
+ frame = malloc(fbfs.smem_len);
|
|
||||||
+ if(!frame){
|
|
||||||
+ printf("doomgeneric: %s", strerror(ENOMEM));
|
|
||||||
+ exit(ENOMEM);
|
|
||||||
+ }
|
|
||||||
+ memset(frame, 0, fbfs.smem_len);
|
|
||||||
+ writeordie(fbfd, frame, fbfs.smem_len);
|
|
||||||
+ struct termios tty;
|
|
||||||
+
|
+
|
||||||
+ // make tty raw and nonblocking
|
+ // make tty raw and nonblocking
|
||||||
|
+
|
||||||
|
+ struct termios tty;
|
||||||
+
|
+
|
||||||
+ tcgetattr(1, &tty);
|
+ tcgetattr(1, &tty);
|
||||||
+ ttysave = tty;
|
+ ttysave = tty;
|
||||||
@@ -112,15 +104,14 @@ diff -ruN doomgeneric/doomgeneric/doomgeneric_astral.c Astral/sources/doomgeneri
|
|||||||
+
|
+
|
||||||
+ // TODO handle bpp stuff
|
+ // TODO handle bpp stuff
|
||||||
+
|
+
|
||||||
+ seekordie(fbfd, 0, SEEK_SET);
|
+ off_t moffset = fbfs.line_length * (fbvs.yres / 2 - DOOMGENERIC_RESY/2) + (fbvs.xres / 2 - DOOMGENERIC_RESX / 2) * (fbvs.bits_per_pixel / 8);
|
||||||
+
|
+
|
||||||
+ for(uintmax_t y = 0; y < DOOMGENERIC_RESY; ++y){
|
+ for(uintmax_t y = 0; y < DOOMGENERIC_RESY; ++y){
|
||||||
+ uintptr_t foffset = 0;
|
+ uintptr_t foffset = 0;
|
||||||
+ foffset = fbfs.line_length * y;
|
+ foffset = fbfs.line_length * y;
|
||||||
+ memcpy(frame + foffset, DG_ScreenBuffer + DOOMGENERIC_RESX*y, DOOMGENERIC_RESX*4);
|
+ seekordie(fbfd, moffset + fbfs.line_length * y, SEEK_SET);
|
||||||
|
+ writeordie(fbfd, DG_ScreenBuffer + DOOMGENERIC_RESX*y, DOOMGENERIC_RESX*4);
|
||||||
+ }
|
+ }
|
||||||
+
|
|
||||||
+ writeordie(fbfd, frame, fbfs.smem_len);
|
|
||||||
+
|
+
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
@@ -191,11 +182,23 @@ diff -ruN doomgeneric/doomgeneric/doomgeneric_astral.c Astral/sources/doomgeneri
|
|||||||
+
|
+
|
||||||
+void DG_SleepMs(uint32_t ms){}
|
+void DG_SleepMs(uint32_t ms){}
|
||||||
+static int aa = 0;
|
+static int aa = 0;
|
||||||
+uint32_t DG_GetTicksMs(){return aa++;}
|
+
|
||||||
|
+// I need gettimeanddate() already
|
||||||
|
+
|
||||||
|
+uint32_t DG_GetTicksMs(){
|
||||||
|
+ static int w = 0;
|
||||||
|
+ if(w++ == 40000){
|
||||||
|
+ w = 0;
|
||||||
|
+ return aa++;
|
||||||
|
+ }
|
||||||
|
+ else {
|
||||||
|
+ return aa;
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
+void DG_SetWindowTitle(const char* title){}
|
+void DG_SetWindowTitle(const char* title){}
|
||||||
diff -ruN doomgeneric/doomgeneric/Makefile Astral/sources/doomgeneric/doomgeneric/Makefile
|
diff -ruN doomgeneric/doomgeneric/Makefile Astral/sources/doomgeneric/doomgeneric/Makefile
|
||||||
--- doomgeneric/doomgeneric/Makefile 2022-10-08 20:18:58.119998127 -0300
|
--- doomgeneric/doomgeneric/Makefile 2022-10-08 20:18:58.119998127 -0300
|
||||||
+++ Astral/sources/doomgeneric/doomgeneric/Makefile 2022-10-08 20:23:06.036662797 -0300
|
+++ Astral/sources/doomgeneric/doomgeneric/Makefile 2022-10-14 17:10:52.856538703 -0300
|
||||||
@@ -12,17 +12,17 @@
|
@@ -12,17 +12,17 @@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user