editor/curves.c File Reference

#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <stdarg.h>
#include <conio.h>
#include <dos.h>
#include "inferno.h"
#include "mono.h"
#include "vecmat.h"
#include "gr.h"
#include "key.h"
#include "editor.h"
#include "gameseg.h"

Defines

#define ONE_OVER_SQRT2   F1_0 * 0.707106781
#define CURVE_RIGHT   1
#define CURVE_UP   2
#define MAGIC_NUM   0.707*F1_0

Functions

void generate_banked_curve (fix maxscale, vms_equation coeffs)
void create_curve (vms_vector *p1, vms_vector *p4, vms_vector *r1, vms_vector *r4, vms_equation *coeffs)
vms_vector evaluate_curve (vms_equation *coeffs, int degree, fix t)
fix curve_dist (vms_equation *coeffs, int degree, fix t0, vms_vector *p0, fix dist)
void curve_dir (vms_equation *coeffs, int degree, fix t0, vms_vector *dir)
void plot_parametric (vms_equation *coeffs, fix min_t, fix max_t, fix del_t)
vms_vectorvm_vec_interp (vms_vector *result, vms_vector *v0, vms_vector *v1, fix scale)
int generate_curve (fix r1scale, fix r4scale)
void delete_curve ()

Variables

segmentOriginalSeg
segmentOriginalMarkedSeg
int OriginalSide
int OriginalMarkedSide
segmentCurveSegs [MAX_SEGMENTS]
int CurveNumSegs
const fix Mh [4][4]
vms_vector p1
vms_vector p4
vms_vector r1
vms_vector r4
vms_vector r4t
vms_vector r1save

Define Documentation

#define CURVE_RIGHT   1
 

#define CURVE_UP   2
 

#define MAGIC_NUM   0.707*F1_0
 

#define ONE_OVER_SQRT2   F1_0 * 0.707106781
 


Function Documentation

void create_curve vms_vector p1,
vms_vector p4,
vms_vector r1,
vms_vector r4,
vms_equation coeffs
 

void curve_dir vms_equation coeffs,
int  degree,
fix  t0,
vms_vector dir
 

fix curve_dist vms_equation coeffs,
int  degree,
fix  t0,
vms_vector p0,
fix  dist
 

void delete_curve  ) 
 

vms_vector evaluate_curve vms_equation coeffs,
int  degree,
fix  t
 

void generate_banked_curve fix  maxscale,
vms_equation  coeffs
 

int generate_curve fix  r1scale,
fix  r4scale
 

void plot_parametric vms_equation coeffs,
fix  min_t,
fix  max_t,
fix  del_t
 

vms_vector* vm_vec_interp vms_vector result,
vms_vector v0,
vms_vector v1,
fix  scale
 


Variable Documentation

int CurveNumSegs
 

segment* CurveSegs[MAX_SEGMENTS]
 

const fix Mh[4][4]
 

Initial value:

 { { 2*F1_0, -2*F1_0,  1*F1_0,  1*F1_0 },
                       {-3*F1_0,  3*F1_0, -2*F1_0, -1*F1_0 },
                       { 0*F1_0,  0*F1_0,  1*F1_0,  0*F1_0 },
                       { 1*F1_0,  0*F1_0,  0*F1_0,  0*F1_0 } }

segment* OriginalMarkedSeg
 

int OriginalMarkedSide
 

segment* OriginalSeg
 

int OriginalSide
 

vms_vector p1
 

vms_vector p4
 

vms_vector r1
 

vms_vector r1save
 

vms_vector r4
 

vms_vector r4t
 


Generated on Mon Aug 28 20:55:30 2006 for D1X-Rebirth by  doxygen 1.4.6