char shot[PATHMAX]; /* image filename */
char file[PATHMAX]; /* level filename */
char back[PATHMAX]; /* level bg filename */
- char grad[PATHMAX]; /* level gradiant filename */
+ char grad[PATHMAX]; /* level gradient filename */
char song[PATHMAX]; /* level song filename */
int time; /* time limit (! training mode) */
int goal; /* coin to open the goal (! training mode) */
* the measured frame time exceeds this maximum, we cut the time step in
* half, and do two updates. If THIS time step exceeds the maximum, we do
* four updates. And so on. In this way, the physics system is allowed to
- * seek an optimal update rate independant of, yet in integral sync with, the
+ * seek an optimal update rate independent of, yet in integral sync with, the
* graphics frame rate.
*/
"coin hs: %d %d %d\n"
"message: %s\n"
"background: %s\n"
- "gradiant: %s\n"
+ "gradient: %s\n"
"screenshot: %s\n"
"song: %s\n",
l->file,
lg->timer = timer;
lg->state_value = state_value;
- /* Performs challenge mode opperations */
+ /* Performs challenge mode operations */
if (mode == MODE_CHALLENGE)
{
/* sum time */
fclose(fin);
- /* Load the levels states (stored in the user highscore file) */
+ /* Load the levels states (stored in the user high score file) */
s->locked = s->count;
s->completed = 0;
* Update next_level and score rank fields */
{
struct set *s = current_set;
- int ln = lg->level->number; /* curent level number */
+ int ln = lg->level->number; /* current level number */
struct level *cl = &level_v[ln]; /* current level */
struct level *nl = NULL; /* next level */
int dirty = 0; /* HS should be saved? */
char file[PATHMAX];
- char user_scores[PATHMAX]; /* user highscore file */
+ char user_scores[PATHMAX]; /* user high score file */
char setname[MAXSTR]; /* internal set name */
char name[MAXSTR]; /* set name */
gui_maybe(jd, _("Save Replay"), PLAY_END_SAVE, demo_play_saved());
- /* default is next if the next level is newly unkocked */
+ /* default is next if the next level is newly unlocked */
if (nlid != 0 && lg->unlock)
gui_focus(nlid);
else if (b)
* the measured frame time exceeds this maximum, we cut the time step in
* half, and do two updates. If THIS time step exceeds the maximum, we do
* four updates. And so on. In this way, the physics system is allowed to
- * seek an optimal update rate independant of, yet in integral sync with, the
+ * seek an optimal update rate independent of, yet in integral sync with, the
* graphics frame rate.
*/
/*
* Attempt to find the game data directory. Search the command line
- * paramater, the environment, and the hard-coded default, in that
- * order. Confirm it by checking for presense of the named file.
+ * parameter, the environment, and the hard-coded default, in that
+ * order. Confirm it by checking for presence of the named file.
*/
int config_data_path(const char *path, const char *file)
{
* replays.
*
* HACK: under Windows just assume the user has permission to write to
- * the data directory. This is more reliable than trying to devine
+ * the data directory. This is more reliable than trying to divine
* anything reasonable from the environment.
*/
int config_user_path(const char *file)
unsigned char *s = (unsigned char *) src->pixels;
unsigned char *d = (unsigned char *) dst->pixels;
- /* Iterate each component of each distination pixel. */
+ /* Iterate each component of each destination pixel. */
for (di = 0; di < src->h / n; di++)
for (dj = 0; dj < src->w / n; dj++)
/*
* Initialize a display list containing a rectangle (x, y, w, h) to
* which a rendered-font texture may be applied. Colors c0 and c1
- * determine the top-to-bottom color gradiant of the text.
+ * determine the top-to-bottom color gradient of the text.
*/
static GLuint gui_list(int x, int y,
{
char text[2];
- /* Draw digits 0 throught 9. */
+ /* Draw digits 0 through 9. */
for (j = 0; j < 10; j++)
{
widget[id].color1 = gui_wht;
widget[id].scale = 1.0f;
- /* Insert the new widget into the parents's widget list. */
+ /* Insert the new widget into the parent's widget list. */
if (pd)
{
/*
* Create a multi-line text box using a vertical array of labels.
* Parse the text for '\' characters and treat them as line-breaks.
- * Preserve the rect specifation across the entire array.
+ * Preserve the rect specification across the entire array.
*/
int gui_multi(int pd, const char *text, int size, int rect, const float *c0,
}
/*
- * Compute the earlist time and position of the intersection of a
+ * Compute the earliest time and position of the intersection of a
* sphere and a plane.
*
* The sphere has radius R and moves along vector V from point P. The
- * plane oves along vector W. The plane has normal N and is
+ * plane moves along vector W. The plane has normal N and is
* positioned at distance D from the origin O along that normal.
*/
static float v_side(float Q[3],
int sol_swch_test(struct s_file *fp, int ui)
/* In the SOL fp, test and process the event the ball ui enters a switch.
* Return 1 if a visible switch is activated, return 0 otherwise (no switch is
- * activated or only invisible switchs) */
+ * activated or only invisible switches) */
{
const float *ball_p = fp->uv[ui].p;
const float ball_r = fp->uv[ui].r;
get_array(fin, fp->uv[0].e[0], 3);
get_array(fin, fp->uv[0].e[1], 3);
- /* Compute the 3rd vector of the ball orientatian basis. */
+ /* Compute the 3rd vector of the ball orientation basis. */
v_crs(fp->uv[0].e[2], fp->uv[0].e[0], fp->uv[0].e[1]);
}
GL_COLOR_BUFFER_BIT |
GL_DEPTH_BUFFER_BIT);
{
- /* Render all obaque geometry into the color and depth buffers. */
+ /* Render all opaque geometry into the color and depth buffers. */
for (bi = 0; bi < fp->bc; bi++)
if (fp->bv[bi].ol)