From 1f9dc07cbdaae509b069b543ec1ea2ff755280a9 Mon Sep 17 00:00:00 2001 From: Taylor Richards Date: Sun, 16 Feb 2014 10:09:45 -0500 Subject: [PATCH] nebedit first pass; still needs some work --- src/nebedit/nebedit.cpp | 174 ++++++++++++++++++++++++++++++++------- src/nebedit/nebstubs.cpp | 4 +- src/starfield/nebula.cpp | 4 +- 3 files changed, 146 insertions(+), 36 deletions(-) diff --git a/src/nebedit/nebedit.cpp b/src/nebedit/nebedit.cpp index d115e39..f283763 100644 --- a/src/nebedit/nebedit.cpp +++ b/src/nebedit/nebedit.cpp @@ -92,12 +92,14 @@ */ +#ifndef PLAT_UNIX #include +#include +#endif #include #include #include #include -#include #include "pstypes.h" #include "2d.h" @@ -116,6 +118,7 @@ #include "physics.h" #include "model.h" #include "font.h" +#include "cmdline.h" #define SCREEN_W 640 @@ -181,9 +184,9 @@ int Neb_created = 0; int Nebedit_running = 1; -extern int load_nebula_sub(char*); extern void project_2d_onto_sphere(vector *, float, float); + void create_default_neb() { int i,j; @@ -226,38 +229,116 @@ void create_default_neb() #define NEBULA_MAJOR_VERSION 1 // Can be 1-? #define NEBULA_MINOR_VERSION 0 // Can be 0-99 -void save_nebula_sub(char *filename) +void save_nebula_sub(const char *filename) { FILE *fp; float xf, yf; int version; + int i; + int tmp; fp = fopen(filename, "wb"); // ID of NEBU - fwrite( "NEBU", 4, 1, fp ); + fwrite( "NEBU", 4, 1, fp ); version = NEBULA_MAJOR_VERSION*100+NEBULA_MINOR_VERSION; - fwrite( &version, sizeof(int), 1, fp ); - fwrite( &num_pts, sizeof(int), 1, fp ); - fwrite( &num_tris, sizeof(int), 1, fp ); + tmp = INTEL_INT(version); + fwrite( &tmp, sizeof(int), 1, fp ); + tmp = INTEL_INT(num_pts); + fwrite( &tmp, sizeof(int), 1, fp ); + tmp = INTEL_INT(num_tris); + fwrite( &tmp, sizeof(int), 1, fp ); - for (int i=0; iu = 0.0f; verts[v]->v = 0.0f; verts[v]->sw = 1.0f; - verts[v]->r = verts[v]->g = verts[v]->b = (ubyte)(i2fl(l[index[v]])/31.0f); - + verts[v]->b = (ubyte)(i2fl(l[index[v]]*255)/31.0f); } // gr_set_color( 0, 0, 0 ); @@ -421,7 +521,7 @@ void draw_tri_3d( int i, int j, int k ) //g3_rotate_vertex( verts[v], &tmp ); g3_project_vertex( verts[v] ); - verts[v]->r = verts[v]->g = verts[v]->b = (ubyte)(i2fl(l[index[v]])/31.0f); + verts[v]->b = (ubyte)(i2fl(l[index[v]]*255)/31.0f); } //gr_zbuffering = 0; @@ -470,9 +570,9 @@ void render_frame() } char blah[255]; gr_printf(20,30,"# Points:"); - gr_printf(100,30, itoa(num_pts, blah, 10)); + gr_printf(100,30, SDL_itoa(num_pts, blah, 10)); gr_printf(220,30,"# Polys:"); - gr_printf(300,30, itoa(num_tris, blah, 10)); + gr_printf(300,30, SDL_itoa(num_tris, blah, 10)); } else { nebula_draw_3d(); model_render( test_model, &ModelOrient, &ModelPos ); @@ -550,7 +650,9 @@ void delete_face(int i) void delete_vert(int i) { - for (int j=0;j