]> Chaos Git - vn/vndc.git/commitdiff
Fixup code to work against new ZeroCore
authorchaoskagami <chaos.kagami@gmail.com>
Tue, 23 Sep 2014 03:08:21 +0000 (23:08 -0400)
committerchaoskagami <chaos.kagami@gmail.com>
Tue, 23 Sep 2014 03:08:21 +0000 (23:08 -0400)
buildscripts/build.generic
external/zero/include/VertexController.hpp [new file with mode: 0644]
external/zero/include/Zero.hpp
external/zero/src/VertexController.cpp [new file with mode: 0644]
vndc/include/gitrev.hpp
vndc/src/Loop.cpp
vndc/src/op_cleartext.cpp

index 25f8183c53a7bea4a9226dae0cc70a9646a09060..02859298d486391cbcdf48e596fbe5a16f7f2a0f 100755 (executable)
@@ -12,7 +12,7 @@ LIB=$ROOT/external/lib
 BIN=$ROOT/bin
 
 CXXFLAGS="-g `pkg-config sdl2 --cflags` `pkg-config SDL2_mixer --cflags` `pkg-config SDL2_image --cflags` `pkg-config SDL2_ttf --cflags`"
-LDFLAGS="`pkg-config sdl2 --libs` `pkg-config SDL2_image --libs` `pkg-config SDL2_ttf --libs` `pkg-config SDL2_mixer --libs`"
+LDFLAGS="`pkg-config sdl2 --libs` `pkg-config SDL2_image --libs` `pkg-config SDL2_ttf --libs` `pkg-config SDL2_mixer --libs` -lGL"
 INCLUDE="-I$ROOT/external/zero/include -I$ROOT/vndc/include"
 
 source buildscripts/mk
diff --git a/external/zero/include/VertexController.hpp b/external/zero/include/VertexController.hpp
new file mode 100644 (file)
index 0000000..d6a04bb
--- /dev/null
@@ -0,0 +1,52 @@
+#ifndef VTEXCONTROL_HPP
+#define VTEXCONTROL_HPP
+
+typedef struct {
+       GLfloat x, y, z;
+       GLfloat u, v;
+} VtexData;
+
+typedef struct {
+       VtexData pts[4];
+} PrimData;
+
+typedef struct {
+       PrimData* v; // Vertex data
+       int count;   // How many vertexes
+       int pts;     // 4 or 3
+       GLuint t;    // Texture ptr
+} ModelData;
+
+class VertexController {
+       public:
+               VertexController(ContextManager* cx);
+
+               // Storage initializers.
+               void LoadModel();
+
+               // Programmatic Model Creation.
+               void PushModel(int mode);
+
+               void PushTexture(char* fname);
+
+               void PushQuad(  GLfloat x1, GLfloat y1, GLfloat z1, GLfloat u1, GLfloat v1,
+                                               GLfloat x2, GLfloat y2, GLfloat z2, GLfloat u2, GLfloat v2,
+                                               GLfloat x3, GLfloat y3, GLfloat z3, GLfloat u3, GLfloat v3,
+                                               GLfloat x4, GLfloat y4, GLfloat z4, GLfloat u4, GLfloat v4  );
+
+               void PushTri(   GLfloat x1, GLfloat y1, GLfloat z1, GLfloat u1, GLfloat v1,
+                                               GLfloat x2, GLfloat y2, GLfloat z2, GLfloat u2, GLfloat v2,
+                                               GLfloat x3, GLfloat y3, GLfloat z3, GLfloat u3, GLfloat v3  );
+
+               void PushDone();
+
+
+       private:
+               ModelData* models;
+               ContextManager* ctx;
+               int modelscount;
+
+               void _AllocateVertex();
+};
+
+#endif
index b272e532afb1ae02446bd71394584460f19e505c..b99ccb29c3703506363ee23e785cb23ba7e89923 100644 (file)
@@ -19,6 +19,7 @@
 #include <SDL_image.h>
 #include <SDL_mixer.h>
 #include <SDL_ttf.h>
+#include <SDL_opengl.h>
 
 #if SDL_BYTEORDER == SDL_BIG_ENDIAN
     #define RED_MASK   0xff000000
@@ -36,5 +37,6 @@
 #include "ContextManager.hpp"
 #include "TextManager.hpp"
 #include "UDisplayable.hpp"
+#include "VertexController.hpp"
 
 #endif
diff --git a/external/zero/src/VertexController.cpp b/external/zero/src/VertexController.cpp
new file mode 100644 (file)
index 0000000..b159339
--- /dev/null
@@ -0,0 +1,92 @@
+#include <Zero.hpp>
+               VertexController::VertexController(ContextManager* cx) {
+                       ctx = cx;
+               }
+
+               // Storage initializers.
+               void VertexController::LoadModel() {
+
+               }
+
+               // Programmatic Model Creation.
+               void VertexController::PushModel(int mode) {
+                       ++modelscount;
+                       models = NULL;
+
+                       models = (ModelData*)realloc(models, sizeof(ModelData) * modelscount);
+
+                       models[modelscount-1].pts = mode;
+                       models[modelscount-1].count = 0;
+                       models[modelscount-1].v = NULL;
+               }
+
+               void VertexController::PushTexture(char* fname) {
+                       void* ptr = ctx->LoadImage(fname);
+                       models[modelscount-1].t = ((GLuint*)ctx->GLTexImage(ptr))[0];
+               }
+
+               void VertexController::PushQuad(        GLfloat x1, GLfloat y1, GLfloat z1, GLfloat u1, GLfloat v1,
+                                                                                       GLfloat x2, GLfloat y2, GLfloat z2, GLfloat u2, GLfloat v2,
+                                                                                       GLfloat x3, GLfloat y3, GLfloat z3, GLfloat u3, GLfloat v3,
+                                                                                       GLfloat x4, GLfloat y4, GLfloat z4, GLfloat u4, GLfloat v4  ) {
+                       _AllocateVertex();
+
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[0].x = x1;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[0].y = y1;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[0].z = z1;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[0].u = u1;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[0].v = v1;
+
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[1].x = x2;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[1].y = y2;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[1].z = z2;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[1].u = u2;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[1].v = v2;
+
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[2].x = x3;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[2].y = y3;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[2].z = z3;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[2].u = u3;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[2].v = v3;
+
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[3].x = x4;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[3].y = y4;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[3].z = z4;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[3].u = u4;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[3].v = v4;
+
+
+               }
+
+               void VertexController::PushTri(         GLfloat x1, GLfloat y1, GLfloat z1, GLfloat u1, GLfloat v1,
+                                                                                       GLfloat x2, GLfloat y2, GLfloat z2, GLfloat u2, GLfloat v2,
+                                                                                       GLfloat x3, GLfloat y3, GLfloat z3, GLfloat u3, GLfloat v3  ) {
+                       _AllocateVertex();
+
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[0].x = x1;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[0].y = y1;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[0].z = z1;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[0].u = u1;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[0].v = v1;
+
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[1].x = x2;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[1].y = y2;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[1].z = z2;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[1].u = u2;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[1].v = v2;
+
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[2].x = x3;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[2].y = y3;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[2].z = z3;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[2].u = u3;
+                       models[modelscount-1].v[models[modelscount-1].count-1].pts[2].v = v3;
+               }
+
+               void VertexController::_AllocateVertex() {
+                       models[modelscount-1].count += 1;
+                       models[modelscount-1].v = (PrimData*)realloc(models[modelscount-1].v, sizeof(PrimData) * models[modelscount-1].count);
+               }
+
+               void VertexController::PushDone() {
+
+               }
index 4c62591f741a1685214398a5ffc75fecd64a69ed..4c7297c1627043e55a8a44162b8b0eb5cb079723 100644 (file)
@@ -1,5 +1,5 @@
 #ifndef GIT_REV_HDR
 #define GIT_REV_HDR
-#define GIT_REV "0d912e54426c23b522144bfd19536756ed2577be"
-#define WITH_ANDROID 1
+#define GIT_REV "256da2f3a0597798795d1e838783d74a2e1d4f41"
+
 #endif
index 13e5be6773280953e087716c2a12339168598450..cb47edd0f9eb9189d68c6738497a12e2fb1e575d 100644 (file)
@@ -39,7 +39,7 @@ void Loop() {
 
 void Setup() {
        // Init window
-       GetData()->ctx->InitWindowLogical(GetData()->physical_w, GetData()->physical_h, GetData()->screen_w, GetData()->screen_h, GetData()->fullscreen, !(GetData()->sw_rendering));
+       GetData()->ctx->InitWindowLogical(GetData()->physical_w, GetData()->physical_h, GetData()->screen_w, GetData()->screen_h, GetData()->fullscreen, (GetData()->sw_rendering ? Software : Accel2d ));
 
        GetData()->window_name = (char*)calloc(sizeof(char), 400);
        sprintf(GetData()->window_name, "%s", "VNDC Interpreter ");
index 27c762d1df4d2a277c9740cefb314f8618c86572..2b6c71147b68fa5f6b3ba6452741e5653a63194d 100644 (file)
@@ -30,12 +30,12 @@ void ct_transwindow() {
                //SDL_SetTextureBlendMode(dim, SDL_BLENDMODE_BLEND);
                //SDL_SetTextureAlphaMod(dim, 128);
 
-               GetData()->ctx->OverlayBlit(dim, &src, &dst);
+               GetData()->ctx->OverlayBlit(dim, &src, &dst, NULL);
 
                SDL_DestroyTexture(dim);
        }
        else {
-               GetData()->ctx->OverlayBlit(sfc, &src, &dst);           
+               GetData()->ctx->OverlayBlit(sfc, &src, &dst, NULL);             
        }
 
        SDL_FreeSurface(sfc);