diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-12-02 10:13:08 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-12-03 16:48:08 -0600 |
commit | f4f84f430ac698bb783485ee70be770169f45c91 (patch) | |
tree | 24067c89169876c198405eed5d8d21482620b465 /apps/graphics/traveler/include | |
parent | 1b3065da9c164337131c10bcad8770925df45602 (diff) | |
download | nuttx-f4f84f430ac698bb783485ee70be770169f45c91.tar.gz nuttx-f4f84f430ac698bb783485ee70be770169f45c91.tar.bz2 nuttx-f4f84f430ac698bb783485ee70be770169f45c91.zip |
A more more input positional logic
Diffstat (limited to 'apps/graphics/traveler/include')
-rw-r--r-- | apps/graphics/traveler/include/trv_input.h | 13 | ||||
-rw-r--r-- | apps/graphics/traveler/include/trv_trigtbl.h | 75 | ||||
-rw-r--r-- | apps/graphics/traveler/include/trv_world.h | 21 |
3 files changed, 105 insertions, 4 deletions
diff --git a/apps/graphics/traveler/include/trv_input.h b/apps/graphics/traveler/include/trv_input.h index 1c2e7e724..9650089cf 100644 --- a/apps/graphics/traveler/include/trv_input.h +++ b/apps/graphics/traveler/include/trv_input.h @@ -46,20 +46,25 @@ * Pre-processor Definitions ****************************************************************************/ +/* Number of units player moves forward or backward. */ + +#define STEP_DISTANCE 15 + +/**************************************************************************** + * Public Types + ****************************************************************************/ + struct trv_input_s { int16_t fwdrate; /* Forward motion rate. Negative is backward */ int16_t leftrate; /* Left motion rate. Negative is right */ int16_t yawrate; /* Yaw turn rate. Positive is to the left */ int16_t pitchrate; /* Pitch turn rate. Positive is upward */ + int16_t stepheight; /* Size a a vertical step, if applicable */ bool dooropen; /* True: Open a door */ }; /**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** * Public Data ****************************************************************************/ diff --git a/apps/graphics/traveler/include/trv_trigtbl.h b/apps/graphics/traveler/include/trv_trigtbl.h new file mode 100644 index 000000000..2b73647c2 --- /dev/null +++ b/apps/graphics/traveler/include/trv_trigtbl.h @@ -0,0 +1,75 @@ +/**************************************************************************** + * apps/graphics/traveler/include/trv_trigtbl.h + * + * Copyright (C) 2014 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +#ifndef __APPS_GRAPHICS_TRAVELER_INCLUDE_TRV_TRIGTBL_H +#define __APPS_GRAPHICS_TRAVELER_INCLUDE_TRV_TRIGTBL_H + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include "trv_types.h" + +/**************************************************************************** + * Pre-processor Definitions + ****************************************************************************/ + +/* These are definitions of commonly used angles. */ + +#define TWOPI 1920 +#define PI 960 +#define HALFPI 480 +#define QTRPI 240 + +/* Here are definitions for those who prefer degrees */ +/* NOTE: ANGLE_60 and ANGLE_30 are special values. They were */ +/* chosen to match the horizontal screen resolution of 320 pixels. */ +/* These, in fact, drive the entire angular measurement system */ + +#define ANGLE_0 0 +#define ANGLE_6 32 +#define ANGLE_9 48 +#define ANGLE_30 160 +#define ANGLE_60 320 +#define ANGLE_90 480 +#define ANGLE_180 960 +#define ANGLE_270 1440 +#define ANGLE_360 1920 + +/**************************************************************************** + * Public Function Prototypes + ****************************************************************************/ + +#endif /* __APPS_GRAPHICS_TRAVELER_INCLUDE_TRV_TRIGTBL_H */ diff --git a/apps/graphics/traveler/include/trv_world.h b/apps/graphics/traveler/include/trv_world.h index 939ec1820..3461fd792 100644 --- a/apps/graphics/traveler/include/trv_world.h +++ b/apps/graphics/traveler/include/trv_world.h @@ -60,6 +60,27 @@ struct trv_camera_s }; /**************************************************************************** + * Public Data + ****************************************************************************/ +/* This is the starting position and orientation of the camera in the world */ + +extern struct trv_camera_s g_initial_camera; + +/* This is the height of player (distance from the camera Z position to + * the position of the player's "feet" + */ + +extern trv_coord_t g_player_height; + +/* This is size of something that the player can step over when "walking" */ + +extern trv_coord_t g_walk_stepheight; + +/* This is size of something that the player can step over when "running" */ + +extern trv_coord_t g_run_stepheight; + +/**************************************************************************** * Public Function Prototypes ****************************************************************************/ |