ReactOS  0.4.13-dev-235-g7373cb3
maze.c File Reference
#include <windows.h>
#include <scrnsave.h>
#include <tchar.h>
#include <stdlib.h>
#include <commctrl.h>
#include <string.h>
#include <time.h>
#include "resource.h"
Include dependency graph for maze.c:

Go to the source code of this file.

Macros

#define STRICT
 
#define APPNAME   _T("Maze")
 
#define MAX_MAZE_SIZE_X   ((unsigned long) 1000)
 
#define MAX_MAZE_SIZE_Y   ((unsigned long) 1000)
 
#define MOVE_LIST_SIZE   (MAX_MAZE_SIZE_X * MAX_MAZE_SIZE_Y)
 
#define WALL_TOP   0x8000
 
#define WALL_RIGHT   0x4000
 
#define WALL_BOTTOM   0x2000
 
#define WALL_LEFT   0x1000
 
#define DOOR_IN_TOP   0x800
 
#define DOOR_IN_RIGHT   0x400
 
#define DOOR_IN_BOTTOM   0x200
 
#define DOOR_IN_LEFT   0x100
 
#define DOOR_IN_ANY   0xF00
 
#define DOOR_OUT_TOP   0x80
 
#define DOOR_OUT_RIGHT   0x40
 
#define DOOR_OUT_BOTTOM   0x20
 
#define DOOR_OUT_LEFT   0x10
 
#define START_SQUARE   0x2
 
#define END_SQUARE   0x1
 
#define border_x   (0)
 
#define border_y   (0)
 
#define get_random(x)   (rand() % (x))
 

Functions

LRESULT CALLBACK ScreenSaverProc (HWND hWnd, UINT message, WPARAM uParam, LPARAM lParam)
 
static int choose_door ()
 
static long backup ()
 
static void draw_wall ()
 
static void draw_solid_square (int, int, int, HDC, HBRUSH)
 
static void enter_square (int, HDC, HBRUSH)
 
static void SetDefaults ()
 
static void ReadRegistry ()
 
static void WriteRegistry ()
 
static void set_maze_sizes (int width, int height)
 
static void initialize_maze ()
 
static void create_maze (HWND hWnd)
 
static int choose_door (HDC hDC)
 
static void draw_maze_border (HWND hWnd)
 
static void draw_wall (int i, int j, int dir, HDC hDC)
 
static void begin_solve_maze (HWND hWnd)
 
static int solve_maze (HWND hWnd)
 
static void start_timer (HWND hWnd, int iTimeout)
 
static BOOL OnCreate (HWND hWnd, LPCREATESTRUCT lpCreateStruct)
 
BOOL WINAPI AboutProc (HWND hWnd, UINT message, WPARAM wparam, LPARAM lparam)
 
static void ReadSettings (HWND hWnd)
 
BOOL WINAPI ScreenSaverConfigureDialog (HWND hWnd, UINT message, WPARAM wparam, LPARAM lparam)
 
BOOL WINAPI RegisterDialogClasses (HANDLE hmodule)
 

Variables

HINSTANCE hMainInstance
 
HBRUSH hBrushDead
 
HBRUSH hBrushLiving
 
HPEN hPenWall
 
HDC hDC
 
static int solve_delay
 
static int pre_solve_delay
 
static int post_solve_delay
 
static int size
 
static unsigned short maze [MAX_MAZE_SIZE_X][MAX_MAZE_SIZE_Y]
 
struct {
   unsigned int   x
 
   unsigned int   y
 
   unsigned int   dir
 
move_list [MOVE_LIST_SIZE]
 
struct {
   unsigned int   x
 
   unsigned int   y
 
   unsigned int   dir
 
save_path [MOVE_LIST_SIZE]
 
struct {
   unsigned int   x
 
   unsigned int   y
 
   unsigned int   dir
 
path [MOVE_LIST_SIZE]
 
static int maze_size_x
 
static int maze_size_y
 
static long sqnum
 
static long path_length
 
static int cur_sq_x
 
static int cur_sq_y
 
static int start_x
 
static int start_y
 
static int start_dir
 
static int end_x
 
static int end_y
 
static int end_dir
 
static int grid_width
 
static int grid_height
 
static int bw
 
static int state = 1
 
static int pathi = 0
 
static LPCWSTR registryPath = _T("Software\\Microsoft\\ScreenSavers\\mazescr")
 

Macro Definition Documentation

◆ APPNAME

#define APPNAME   _T("Maze")

Definition at line 61 of file maze.c.

◆ border_x

#define border_x   (0)

Definition at line 102 of file maze.c.

◆ border_y

#define border_y   (0)

Definition at line 103 of file maze.c.

◆ DOOR_IN_ANY

#define DOOR_IN_ANY   0xF00

Definition at line 92 of file maze.c.

◆ DOOR_IN_BOTTOM

#define DOOR_IN_BOTTOM   0x200

Definition at line 90 of file maze.c.

◆ DOOR_IN_LEFT

#define DOOR_IN_LEFT   0x100

Definition at line 91 of file maze.c.

◆ DOOR_IN_RIGHT

#define DOOR_IN_RIGHT   0x400

Definition at line 89 of file maze.c.

◆ DOOR_IN_TOP

#define DOOR_IN_TOP   0x800

Definition at line 88 of file maze.c.

◆ DOOR_OUT_BOTTOM

#define DOOR_OUT_BOTTOM   0x20

Definition at line 96 of file maze.c.

◆ DOOR_OUT_LEFT

#define DOOR_OUT_LEFT   0x10

Definition at line 97 of file maze.c.

◆ DOOR_OUT_RIGHT

#define DOOR_OUT_RIGHT   0x40

Definition at line 95 of file maze.c.

◆ DOOR_OUT_TOP

#define DOOR_OUT_TOP   0x80

Definition at line 94 of file maze.c.

◆ END_SQUARE

#define END_SQUARE   0x1

Definition at line 100 of file maze.c.

◆ get_random

#define get_random (   x)    (rand() % (x))

Definition at line 105 of file maze.c.

◆ MAX_MAZE_SIZE_X

#define MAX_MAZE_SIZE_X   ((unsigned long) 1000)

Definition at line 78 of file maze.c.

◆ MAX_MAZE_SIZE_Y

#define MAX_MAZE_SIZE_Y   ((unsigned long) 1000)

Definition at line 79 of file maze.c.

◆ MOVE_LIST_SIZE

#define MOVE_LIST_SIZE   (MAX_MAZE_SIZE_X * MAX_MAZE_SIZE_Y)

Definition at line 81 of file maze.c.

◆ START_SQUARE

#define START_SQUARE   0x2

Definition at line 99 of file maze.c.

◆ STRICT

#define STRICT

Definition at line 50 of file maze.c.

◆ WALL_BOTTOM

#define WALL_BOTTOM   0x2000

Definition at line 85 of file maze.c.

◆ WALL_LEFT

#define WALL_LEFT   0x1000

Definition at line 86 of file maze.c.

◆ WALL_RIGHT

#define WALL_RIGHT   0x4000

Definition at line 84 of file maze.c.

◆ WALL_TOP

#define WALL_TOP   0x8000

Definition at line 83 of file maze.c.

Function Documentation

◆ AboutProc()

BOOL WINAPI AboutProc ( HWND  hWnd,
UINT  message,
WPARAM  wparam,
LPARAM  lparam 
)

Definition at line 635 of file maze.c.

636 {
637  switch(message){
638  case WM_COMMAND:
639  switch(LOWORD(wparam)){
640  case IDOK:
642  return TRUE;
643  }
644  }
645  return FALSE;
646 }
Definition: tftpd.h:59
#define TRUE
Definition: types.h:120
#define IDOK
Definition: winuser.h:824
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
HWND hWnd
Definition: maze.c:71
#define WM_COMMAND
Definition: winuser.h:1716
#define LOWORD(l)
Definition: pedump.c:82
static UINT WPARAM wparam
Definition: combo.c:716

Referenced by ScreenSaverConfigureDialog().

◆ backup()

static long backup ( )
static

Definition at line 403 of file maze.c.

404 {
405  sqnum--;
406  if (0 <= sqnum) {
407  cur_sq_x = move_list[sqnum].x;
408  cur_sq_y = move_list[sqnum].y;
409  }
410  return sqnum;
411 }
static int cur_sq_y
Definition: maze.c:117
static int cur_sq_x
Definition: maze.c:117
static struct @1513 move_list[MOVE_LIST_SIZE]
static long sqnum
Definition: maze.c:116

Referenced by AddDelBackupEntryA(), AddDelBackupEntryW(), context_set_gl_context(), create_maze(), fb_copy_to_texture_hwstretch(), GdipAddPathRectangle(), GdipAddPathRectangles(), GdipAddPathString(), gl_fixup(), test_backup(), test_clear(), test_count(), test_oldest(), test_openbackup(), test_ReplaceFileA(), and test_ReplaceFileW().

◆ begin_solve_maze()

static void begin_solve_maze ( HWND  hWnd)
static

Definition at line 508 of file maze.c.

509 {
510  /* plug up the surrounding wall */
512  maze[end_x][end_y] |= (WALL_TOP >> end_dir);
513 
514  /* initialize search path */
515  pathi = 0;
516  path[pathi].x = end_x;
517  path[pathi].y = end_y;
518  path[pathi].dir = -1;
519 }
static int start_x
Definition: maze.c:118
#define WALL_TOP
Definition: maze.c:83
static int end_y
Definition: maze.c:118
static int end_dir
Definition: maze.c:118
static int start_dir
Definition: maze.c:118
static int end_x
Definition: maze.c:118
Definition: services.c:325
static int start_y
Definition: maze.c:118
static unsigned short maze[MAX_MAZE_SIZE_X][MAX_MAZE_SIZE_Y]
Definition: maze.c:107
static int pathi
Definition: maze.c:121

Referenced by ScreenSaverProc().

◆ choose_door() [1/2]

static int choose_door ( )
static

Referenced by create_maze().

◆ choose_door() [2/2]

static int choose_door ( HDC  hDC)
static

Definition at line 324 of file maze.c.

325 {
326  int candidates[3];
327  register int num_candidates;
328 
329  num_candidates = 0;
330 
331  /* top wall */
333  goto rightwall;
335  goto rightwall;
336  if (maze[cur_sq_x][cur_sq_y] & WALL_TOP)
337  goto rightwall;
338  if (maze[cur_sq_x][cur_sq_y - 1] & DOOR_IN_ANY) {
342  goto rightwall;
343  }
344  candidates[num_candidates++] = 0;
345 
346 rightwall:
347  /* right wall */
349  goto bottomwall;
351  goto bottomwall;
353  goto bottomwall;
354  if (maze[cur_sq_x + 1][cur_sq_y] & DOOR_IN_ANY) {
356  maze[cur_sq_x + 1][cur_sq_y] |= WALL_LEFT;
358  goto bottomwall;
359  }
360  candidates[num_candidates++] = 1;
361 
362 bottomwall:
363  /* bottom wall */
365  goto leftwall;
367  goto leftwall;
369  goto leftwall;
370  if (maze[cur_sq_x][cur_sq_y + 1] & DOOR_IN_ANY) {
372  maze[cur_sq_x][cur_sq_y + 1] |= WALL_TOP;
374  goto leftwall;
375  }
376  candidates[num_candidates++] = 2;
377 
378 leftwall:
379  /* left wall */
381  goto donewall;
383  goto donewall;
385  goto donewall;
386  if (maze[cur_sq_x - 1][cur_sq_y] & DOOR_IN_ANY) {
388  maze[cur_sq_x - 1][cur_sq_y] |= WALL_RIGHT;
390  goto donewall;
391  }
392  candidates[num_candidates++] = 3;
393 
394 donewall:
395  if (num_candidates == 0)
396  return -1;
397  if (num_candidates == 1)
398  return candidates[0];
399  return candidates[get_random(num_candidates)];
400 
401 }
static int cur_sq_y
Definition: maze.c:117
#define get_random(x)
Definition: maze.c:105
#define DOOR_OUT_RIGHT
Definition: maze.c:95
#define DOOR_IN_TOP
Definition: maze.c:88
HDC hDC
Definition: maze.c:74
#define WALL_BOTTOM
Definition: maze.c:85
#define WALL_TOP
Definition: maze.c:83
#define DOOR_IN_BOTTOM
Definition: maze.c:90
#define WALL_LEFT
Definition: maze.c:86
#define DOOR_OUT_LEFT
Definition: maze.c:97
#define DOOR_IN_RIGHT
Definition: maze.c:89
#define DOOR_OUT_TOP
Definition: maze.c:94
#define WALL_RIGHT
Definition: maze.c:84
static int cur_sq_x
Definition: maze.c:117
#define DOOR_OUT_BOTTOM
Definition: maze.c:96
#define DOOR_IN_LEFT
Definition: maze.c:91
static unsigned short maze[MAX_MAZE_SIZE_X][MAX_MAZE_SIZE_Y]
Definition: maze.c:107
#define DOOR_IN_ANY
Definition: maze.c:92
static void draw_wall()

◆ create_maze()

static void create_maze ( HWND  hWnd)
static

Definition at line 280 of file maze.c.

281 {
282  register int i, newdoor = 0;
283 
284  do {
285  move_list[sqnum].x = cur_sq_x;
286  move_list[sqnum].y = cur_sq_y;
287  move_list[sqnum].dir = newdoor;
288  while ((newdoor = choose_door(hDC)) == -1) { /* pick a door */
289  if (backup() == -1) { /* no more doors ... backup */
290  return; /* done ... return */
291  }
292  }
293 
294  /* mark the out door */
295  maze[cur_sq_x][cur_sq_y] |= (DOOR_OUT_TOP >> newdoor);
296 
297  switch (newdoor) {
298  case 0: cur_sq_y--;
299  break;
300  case 1: cur_sq_x++;
301  break;
302  case 2: cur_sq_y++;
303  break;
304  case 3: cur_sq_x--;
305  break;
306  }
307  sqnum++;
308 
309  /* mark the in door */
310  maze[cur_sq_x][cur_sq_y] |= (DOOR_IN_TOP >> ((newdoor + 2) % 4));
311 
312  /* if end square set path length and save path */
313  if (maze[cur_sq_x][cur_sq_y] & END_SQUARE) {
314  path_length = sqnum;
315  for (i = 0; i < path_length; i++) {
316  save_path[i].x = move_list[i].x;
317  save_path[i].y = move_list[i].y;
318  save_path[i].dir = move_list[i].dir;
319  }
320  }
321  } while (1);
322 }
static int cur_sq_y
Definition: maze.c:117
static long backup()
Definition: maze.c:403
static struct @1513 save_path[MOVE_LIST_SIZE]
#define DOOR_IN_TOP
Definition: maze.c:88
HDC hDC
Definition: maze.c:74
#define DOOR_OUT_TOP
Definition: maze.c:94
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
static int cur_sq_x
Definition: maze.c:117
#define END_SQUARE
Definition: maze.c:100
static long path_length
Definition: maze.c:116
static struct @1513 move_list[MOVE_LIST_SIZE]
static int choose_door()
static unsigned short maze[MAX_MAZE_SIZE_X][MAX_MAZE_SIZE_Y]
Definition: maze.c:107
static long sqnum
Definition: maze.c:116

Referenced by ScreenSaverProc().

◆ draw_maze_border()

static void draw_maze_border ( HWND  hWnd)
static

Definition at line 449 of file maze.c.

450 {
451  register int i, j;
452  HBRUSH hBrush;
453 
455 
456  for (i = 0; i < maze_size_x; i++) {
457  if (maze[i][0] & WALL_TOP) {
459  (void) LineTo(hDC, border_x + grid_width * (i + 1) - 1, border_y);
460  }
461  if ((maze[i][maze_size_y - 1] & WALL_BOTTOM)) {
463  (void) LineTo(hDC, border_x + grid_width * (i + 1) - 1, border_y + grid_height * (maze_size_y) -1);
464  }
465  }
466  for (j = 0; j < maze_size_y; j++) {
467  if (maze[maze_size_x - 1][j] & WALL_RIGHT) {
469  (void) LineTo(hDC, border_x + grid_width * maze_size_x - 1, border_y + grid_height * (j + 1) - 1);
470  }
471  if (maze[0][j] & WALL_LEFT) {
473  (void) LineTo(hDC, border_x, border_y + grid_height * (j + 1) - 1);
474  }
475  }
476 
477  hBrush = GetStockObject(WHITE_BRUSH);
480 }
HGDIOBJ WINAPI GetStockObject(_In_ int)
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
static int start_x
Definition: maze.c:118
HDC hDC
Definition: maze.c:74
HPEN hPenWall
Definition: maze.c:73
#define WALL_BOTTOM
Definition: maze.c:85
#define WALL_TOP
Definition: maze.c:83
#define WALL_LEFT
Definition: maze.c:86
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
Definition: dc.c:1497
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
#define WHITE_BRUSH
Definition: wingdi.h:901
#define border_x
Definition: maze.c:102
static void draw_solid_square(int, int, int, HDC, HBRUSH)
Definition: maze.c:413
static int end_y
Definition: maze.c:118
#define border_y
Definition: maze.c:103
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define WALL_RIGHT
Definition: maze.c:84
smooth NULL
Definition: ftsmooth.c:416
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
Definition: glfuncs.h:250
static int end_dir
Definition: maze.c:118
static int grid_width
Definition: maze.c:119
static int start_dir
Definition: maze.c:118
static int maze_size_y
Definition: maze.c:115
static int grid_height
Definition: maze.c:119
static int end_x
Definition: maze.c:118
static int maze_size_x
Definition: maze.c:115
static int start_y
Definition: maze.c:118
static unsigned short maze[MAX_MAZE_SIZE_X][MAX_MAZE_SIZE_Y]
Definition: maze.c:107

Referenced by ScreenSaverProc().

◆ draw_solid_square()

static void draw_solid_square ( int  i,
int  j,
int  dir,
HDC  hDC,
HBRUSH  hBrush 
)
static

Definition at line 413 of file maze.c.

417 {
418  RECT rc;
419 
420  switch (dir) {
421  case 0:
422  rc.left = border_x + bw + grid_width * i;
423  rc.right = rc.left + grid_width - (bw + bw);
424  rc.top = border_y - bw + grid_height * j;
425  rc.bottom = rc.top + grid_height;
426  break;
427  case 1:
428  rc.left = border_x + bw + grid_width * i;
429  rc.right = rc.left + grid_width;
430  rc.top = border_y + bw + grid_height * j;
431  rc.bottom = rc.top + grid_height - (bw + bw);
432  break;
433  case 2:
434  rc.left = border_x + bw + grid_width * i;
435  rc.right = rc.left + grid_width - (bw + bw);
436  rc.top = border_y + bw + grid_height * j;
437  rc.bottom = rc.top + grid_height;
438  break;
439  case 3:
440  rc.left = border_x - bw + grid_width * i;
441  rc.right = rc.left + grid_width;
442  rc.top = border_y + bw + grid_height * j;
443  rc.bottom = rc.top + grid_height - (bw + bw);
444  break;
445  }
446  (void) FillRect(hDC, &rc, hBrush);
447 }
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
HDC hDC
Definition: maze.c:74
LONG top
Definition: windef.h:292
#define border_x
Definition: maze.c:102
LONG left
Definition: windef.h:291
LONG right
Definition: windef.h:293
#define border_y
Definition: maze.c:103
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
unsigned int dir
Definition: maze.c:112
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
Definition: glfuncs.h:250
static int grid_width
Definition: maze.c:119
static int grid_height
Definition: maze.c:119
static int bw
Definition: maze.c:120
LONG bottom
Definition: windef.h:294
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)

Referenced by draw_maze_border(), enter_square(), and solve_maze().

◆ draw_wall() [1/2]

static void draw_wall ( )
static

Referenced by choose_door().

◆ draw_wall() [2/2]

static void draw_wall ( int  i,
int  j,
int  dir,
HDC  hDC 
)
static

Definition at line 482 of file maze.c.

485 {
487 
488  switch (dir) {
489  case 0:
491  (void) LineTo(hDC, border_x + grid_width * (i + 1), border_y + grid_height * j);
492  break;
493  case 1:
495  (void) LineTo(hDC, border_x + grid_width * (i + 1), border_y + grid_height * (j + 1));
496  break;
497  case 2:
499  (void) LineTo(hDC, border_x + grid_width * (i + 1), border_y + grid_height * (j + 1));
500  break;
501  case 3:
503  (void) LineTo(hDC, border_x + grid_width * i, border_y + grid_height * (j + 1));
504  break;
505  }
506 }
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
HDC hDC
Definition: maze.c:74
HPEN hPenWall
Definition: maze.c:73
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
Definition: dc.c:1497
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
#define border_x
Definition: maze.c:102
#define border_y
Definition: maze.c:103
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
smooth NULL
Definition: ftsmooth.c:416
unsigned int dir
Definition: maze.c:112
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
Definition: glfuncs.h:250
static int grid_width
Definition: maze.c:119
static int grid_height
Definition: maze.c:119

◆ enter_square()

static void enter_square ( int  n,
HDC  hDC,
HBRUSH  hBrush 
)
static

Definition at line 552 of file maze.c.

553 {
554  draw_solid_square((int) path[n].x, (int) path[n].y, (int) path[n].dir, hDC, hBrush);
555 
556  path[n + 1].dir = -1;
557  switch (path[n].dir) {
558  case 0: path[n + 1].x = path[n].x;
559  path[n + 1].y = path[n].y - 1;
560  break;
561  case 1: path[n + 1].x = path[n].x + 1;
562  path[n + 1].y = path[n].y;
563  break;
564  case 2: path[n + 1].x = path[n].x;
565  path[n + 1].y = path[n].y + 1;
566  break;
567  case 3: path[n + 1].x = path[n].x - 1;
568  path[n + 1].y = path[n].y;
569  break;
570  }
571 }
HDC hDC
Definition: maze.c:74
GLdouble n
Definition: glext.h:7729
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
static void draw_solid_square(int, int, int, HDC, HBRUSH)
Definition: maze.c:413
unsigned int dir
Definition: maze.c:112
Definition: services.c:325
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548

Referenced by solve_maze().

◆ initialize_maze()

static void initialize_maze ( )
static

Definition at line 191 of file maze.c.

192 {
193  register int i, j, wall;
194 
195  /* initialize all squares */
196  for (i = 0; i < maze_size_x; i++) {
197  for (j = 0; j < maze_size_y; j++) {
198  maze[i][j] = 0;
199  }
200  }
201 
202  /* top wall */
203  for (i = 0; i < maze_size_x; i++) {
204  maze[i][0] |= WALL_TOP;
205  }
206 
207  /* right wall */
208  for (j = 0; j < maze_size_y; j++) {
209  maze[maze_size_x - 1][j] |= WALL_RIGHT;
210  }
211 
212  /* bottom wall */
213  for (i = 0; i < maze_size_x; i++) {
214  maze[i][maze_size_y - 1] |= WALL_BOTTOM;
215  }
216 
217  /* left wall */
218  for (j = 0; j < maze_size_y; j++) {
219  maze[0][j] |= WALL_LEFT;
220  }
221 
222  /* set start square */
223  wall = get_random(4);
224  switch (wall) {
225  case 0:
227  j = 0;
228  break;
229  case 1:
230  i = maze_size_x - 1;
232  break;
233  case 2:
235  j = maze_size_y - 1;
236  break;
237  case 3:
238  i = 0;
240  break;
241  }
242  maze[i][j] |= START_SQUARE;
243  maze[i][j] |= (DOOR_IN_TOP >> wall);
244  maze[i][j] &= ~(WALL_TOP >> wall);
245  cur_sq_x = i;
246  cur_sq_y = j;
247  start_x = i;
248  start_y = j;
249  start_dir = wall;
250  sqnum = 0;
251 
252  /* set end square */
253  wall = (wall + 2) % 4;
254  switch (wall) {
255  case 0:
257  j = 0;
258  break;
259  case 1:
260  i = maze_size_x - 1;
262  break;
263  case 2:
265  j = maze_size_y - 1;
266  break;
267  case 3:
268  i = 0;
270  break;
271  }
272  maze[i][j] |= END_SQUARE;
273  maze[i][j] |= (DOOR_OUT_TOP >> wall);
274  maze[i][j] &= ~(WALL_TOP >> wall);
275  end_x = i;
276  end_y = j;
277  end_dir = wall;
278 }
static int cur_sq_y
Definition: maze.c:117
#define get_random(x)
Definition: maze.c:105
#define DOOR_IN_TOP
Definition: maze.c:88
static int start_x
Definition: maze.c:118
#define WALL_BOTTOM
Definition: maze.c:85
#define WALL_TOP
Definition: maze.c:83
#define START_SQUARE
Definition: maze.c:99
#define WALL_LEFT
Definition: maze.c:86
static int end_y
Definition: maze.c:118
#define DOOR_OUT_TOP
Definition: maze.c:94
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define WALL_RIGHT
Definition: maze.c:84
static int cur_sq_x
Definition: maze.c:117
#define END_SQUARE
Definition: maze.c:100
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
Definition: glfuncs.h:250
static int end_dir
Definition: maze.c:118
static int start_dir
Definition: maze.c:118
static int maze_size_y
Definition: maze.c:115
static int end_x
Definition: maze.c:118
static int maze_size_x
Definition: maze.c:115
static int start_y
Definition: maze.c:118
static unsigned short maze[MAX_MAZE_SIZE_X][MAX_MAZE_SIZE_Y]
Definition: maze.c:107
static long sqnum
Definition: maze.c:116

Referenced by ScreenSaverProc().

◆ OnCreate()

static BOOL OnCreate ( HWND  hWnd,
LPCREATESTRUCT  lpCreateStruct 
)
static

Definition at line 578 of file maze.c.

579 {
580  srand((unsigned) time(NULL));
581 
582  ReadRegistry();
583 
584  if (size < 2) {
585  size = 7 + (rand() % 30);
586  }
588  bw = (size > 6 ? 3 : (size - 1) / 2);
589 
590 #if 0
591  /* FIXME Pattern brushes not yet implemented in ReactOS */
592  {
593  static long grayPattern [] = {
594  0x55555555,
595  0xaaaaaaaa,
596  0x55555555,
597  0xaaaaaaaa,
598  0x55555555,
599  0xaaaaaaaa,
600  0x55555555,
601  0xaaaaaaaa
602  };
603  static RGBQUAD argbq [] = {
604  { 0, 0, 255, 0 },
605  { 255, 255, 255, 0 }
606  };
607  BITMAPINFO *pbmi;
608 
609  pbmi = malloc(sizeof(BITMAPINFOHEADER) + sizeof(argbq) + sizeof(grayPattern));
611  pbmi->bmiHeader.biWidth = 8;
612  pbmi->bmiHeader.biHeight = 8;
613  pbmi->bmiHeader.biPlanes = 1;
616  (void) memcpy(pbmi->bmiColors, argbq, sizeof(argbq));
617  (void) memcpy(pbmi->bmiColors + 2, grayPattern, sizeof(grayPattern));
619  // hBrushDead = CreateHatchBrush(HS_DIAGCROSS, RGB(255, 0, 0));
620  free(pbmi);
621  }
622 #else
623  hBrushDead = CreateSolidBrush(RGB(255, 0, 0));
624 #endif
625  hBrushLiving = CreateSolidBrush(RGB(0, 255, 0));
626  hPenWall = CreatePen(PS_SOLID, 3, RGB(150, 150, 150));
627 
628  hDC = GetDC(hWnd);
629 
630  start_timer(hWnd, 1);
631 
632  return TRUE;
633 }
#define TRUE
Definition: types.h:120
HPEN WINAPI CreatePen(_In_ int, _In_ int, _In_ COLORREF)
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
BITMAPINFOHEADER bmiHeader
Definition: wingdi.h:1454
HDC hDC
Definition: maze.c:74
HPEN hPenWall
Definition: maze.c:73
HDC WINAPI GetDC(_In_opt_ HWND)
_In_ HBITMAP _In_ UINT _In_ UINT _Inout_ LPBITMAPINFO pbmi
Definition: ntgdi.h:2780
struct tagBITMAPINFOHEADER BITMAPINFOHEADER
#define free
Definition: debug_ros.c:5
static int size
Definition: maze.c:76
void __cdecl srand(_In_ unsigned int _Seed)
__u16 time
Definition: mkdosfs.c:366
#define PS_SOLID
Definition: wingdi.h:585
_Check_return_ int __cdecl rand(void)
Definition: rand.c:10
DWORD biCompression
Definition: amvideo.idl:35
smooth NULL
Definition: ftsmooth.c:416
GLsizeiptr size
Definition: glext.h:5919
RGBQUAD bmiColors[1]
Definition: wingdi.h:1455
static int grid_width
Definition: maze.c:119
#define RGB(r, g, b)
Definition: wingdi.h:2918
HWND hWnd
Definition: maze.c:71
static int grid_height
Definition: maze.c:119
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
static void ReadRegistry()
Definition: maze.c:132
static int bw
Definition: maze.c:120
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
HBRUSH hBrushLiving
Definition: maze.c:72
HBRUSH hBrushDead
Definition: maze.c:71
#define malloc
Definition: debug_ros.c:4
#define DIB_RGB_COLORS
Definition: wingdi.h:366
static void start_timer(HWND hWnd, int iTimeout)
Definition: maze.c:573
HBRUSH WINAPI CreateDIBPatternBrushPt(_In_ const VOID *pvPackedDIB, _In_ UINT uUsage)
#define BI_RGB
Definition: precomp.h:35

Referenced by ScreenSaverProc().

◆ ReadRegistry()

static void ReadRegistry ( )
static

Definition at line 132 of file maze.c.

133 {
134  LONG result;
135  HKEY skey;
136  DWORD valuetype, valuesize, val_size, val_presd, val_postsd, val_sd;
137 
138  SetDefaults();
139 
141  if(result != ERROR_SUCCESS)
142  return;
143 
144  valuesize = sizeof(DWORD);
145 
146  result = RegQueryValueEx(skey, _T("size"), NULL, &valuetype, (LPBYTE)&val_size, &valuesize);
147  if(result == ERROR_SUCCESS)
148  size = val_size;
149  result = RegQueryValueEx(skey, _T("pre_solve_delay"), NULL, &valuetype, (LPBYTE)&val_presd, &valuesize);
150  if(result == ERROR_SUCCESS)
151  pre_solve_delay = val_presd;
152  result = RegQueryValueEx(skey, _T("post_solve_delay"), NULL, &valuetype, (LPBYTE)&val_postsd, &valuesize);
153  if(result == ERROR_SUCCESS)
154  post_solve_delay = val_postsd;
155  result = RegQueryValueEx(skey, _T("solve_delay"), NULL, &valuetype, (LPBYTE)&val_sd, &valuesize);
156  if(result == ERROR_SUCCESS)
157  solve_delay = val_sd;
158 
159  RegCloseKey(skey);
160 }
static int post_solve_delay
Definition: maze.c:76
#define RegQueryValueEx
Definition: winreg.h:524
#define ERROR_SUCCESS
Definition: deptool.c:10
static int solve_delay
Definition: maze.c:76
#define KEY_READ
Definition: nt_native.h:1023
#define HKEY_CURRENT_USER
Definition: winreg.h:11
static LPCWSTR registryPath
Definition: maze.c:122
#define DWORD
Definition: nt_native.h:44
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
unsigned char * LPBYTE
Definition: typedefs.h:52
long LONG
Definition: pedump.c:60
smooth NULL
Definition: ftsmooth.c:416
#define _T(x)
Definition: vfdio.h:22
GLsizeiptr size
Definition: glext.h:5919
static void SetDefaults()
Definition: maze.c:124
unsigned long DWORD
Definition: ntddk_ex.h:95
#define RegOpenKeyEx
Definition: winreg.h:520
static int pre_solve_delay
Definition: maze.c:76
GLuint64EXT * result
Definition: glext.h:11304

Referenced by OnCreate(), and ScreenSaverConfigureDialog().

◆ ReadSettings()

static void ReadSettings ( HWND  hWnd)
static

Definition at line 648 of file maze.c.

649 {
652 
655 
658 
661 }
static int post_solve_delay
Definition: maze.c:76
static int solve_delay
Definition: maze.c:76
#define IDC_TEXT_PRESD
Definition: resource.h:12
#define SendDlgItemMessage
Definition: winuser.h:5708
#define IDC_SLIDER_SIZE
Definition: resource.h:7
#define IDC_SLIDER_POSTSD
Definition: resource.h:9
#define IDC_TEXT_POSTSD
Definition: resource.h:13
#define TBM_GETPOS
Definition: commctrl.h:2003
GLsizeiptr size
Definition: glext.h:5919
HWND hWnd
Definition: maze.c:71
#define IDC_TEXT_SD
Definition: resource.h:14
BOOL WINAPI SetDlgItemInt(_In_ HWND, _In_ int, _In_ UINT, _In_ BOOL)
static int pre_solve_delay
Definition: maze.c:76
#define IDC_TEXT_SIZE
Definition: resource.h:11
#define IDC_SLIDER_SD
Definition: resource.h:10
#define IDC_SLIDER_PRESD
Definition: resource.h:8

Referenced by ScreenSaverConfigureDialog().

◆ RegisterDialogClasses()

BOOL WINAPI RegisterDialogClasses ( HANDLE  hmodule)

Definition at line 770 of file maze.c.

771 {
772  return TRUE;
773 }
#define TRUE
Definition: types.h:120

◆ ScreenSaverConfigureDialog()

BOOL WINAPI ScreenSaverConfigureDialog ( HWND  hWnd,
UINT  message,
WPARAM  wparam,
LPARAM  lparam 
)

Definition at line 727 of file maze.c.

728 {
729  switch (message)
730  {
731  case WM_INITDIALOG:
732  ReadRegistry();
733  //Set slider ranges
738  //Set current values to slider
743  //Set current values to texts
748  return TRUE;
749  case WM_COMMAND:
750  switch (LOWORD(wparam))
751  {
752  case IDOK:
753  WriteRegistry();
754  EndDialog(hWnd, TRUE);
755  return TRUE;
756  case IDCANCEL:
757  EndDialog(hWnd, TRUE);
758  break;
759  case IDABOUT:
761  break;
762  }
763  case WM_HSCROLL:
765  return TRUE;
766  }
767  return FALSE;
768 }
static int post_solve_delay
Definition: maze.c:76
#define MAKEINTRESOURCE
Definition: winuser.h:591
Definition: tftpd.h:59
#define TRUE
Definition: types.h:120
#define IDOK
Definition: winuser.h:824
static int solve_delay
Definition: maze.c:76
static void ReadSettings(HWND hWnd)
Definition: maze.c:648
#define MAKELPARAM(l, h)
Definition: winuser.h:3915
#define IDC_TEXT_PRESD
Definition: resource.h:12
#define TBM_SETRANGE
Definition: commctrl.h:2009
#define IDABOUT
Definition: resource.h:5
#define TBM_SETPOS
Definition: commctrl.h:2008
#define SendDlgItemMessage
Definition: winuser.h:5708
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
#define IDC_SLIDER_SIZE
Definition: resource.h:7
#define DialogBox
Definition: winuser.h:5627
#define IDC_SLIDER_POSTSD
Definition: resource.h:9
#define IDC_TEXT_POSTSD
Definition: resource.h:13
GLsizeiptr size
Definition: glext.h:5919
HWND hWnd
Definition: maze.c:71
#define IDC_TEXT_SD
Definition: resource.h:14
BOOL WINAPI SetDlgItemInt(_In_ HWND, _In_ int, _In_ UINT, _In_ BOOL)
HINSTANCE hMainInstance
Definition: scrnsave.c:25
BOOL WINAPI AboutProc(HWND hWnd, UINT message, WPARAM wparam, LPARAM lparam)
Definition: maze.c:635
#define WM_COMMAND
Definition: winuser.h:1716
static void ReadRegistry()
Definition: maze.c:132
INT_PTR(CALLBACK * DLGPROC)(HWND, UINT, WPARAM, LPARAM)
Definition: winuser.h:2849
#define WM_HSCROLL
Definition: winuser.h:1719
#define IDD_DLG_ABOUT
Definition: resource.h:11
static int pre_solve_delay
Definition: maze.c:76
#define IDC_TEXT_SIZE
Definition: resource.h:11
#define IDC_SLIDER_SD
Definition: resource.h:10
#define IDCANCEL
Definition: winuser.h:825
static void WriteRegistry()
Definition: maze.c:162
#define WM_INITDIALOG
Definition: winuser.h:1715
#define LOWORD(l)
Definition: pedump.c:82
static UINT WPARAM wparam
Definition: combo.c:716
#define IDC_SLIDER_PRESD
Definition: resource.h:8

◆ ScreenSaverProc()

LRESULT CALLBACK ScreenSaverProc ( HWND  hWnd,
UINT  message,
WPARAM  uParam,
LPARAM  lParam 
)

Definition at line 663 of file maze.c.

668 {
669  switch (message)
670  {
671  case WM_CREATE:
673  break;
674  case WM_SIZE:
676  break;
677  case WM_TIMER:
678  switch (state)
679  {
680  case 2:
682 
683  state = 3;
684 
686  break;
687 
688  case 3:
689  if (!solve_maze(hWnd))
690  {
692  }
693  else
694  {
695  state = 1;
697  }
698  break;
699 
700  default:
701  initialize_maze();
702 
705 
706  create_maze(hWnd);
707 
708  state = 2;
709 
711  break;
712  }
713  break;
714 
715  case WM_DESTROY: // message: window being destroyed
718  ReleaseDC(hWnd, hDC);
719  break;
720 
721  default: // Passes it on if unproccessed
723  }
724  return 0;
725 }
static int post_solve_delay
Definition: maze.c:76
Definition: tftpd.h:59
HDC hDC
Definition: maze.c:74
static int solve_delay
Definition: maze.c:76
static void begin_solve_maze(HWND hWnd)
Definition: maze.c:508
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
static void initialize_maze()
Definition: maze.c:191
UINT_PTR WPARAM
Definition: windef.h:207
static void create_maze(HWND hWnd)
Definition: maze.c:280
WPARAM wParam
Definition: combotst.c:138
static int solve_maze(HWND hWnd)
Definition: maze.c:521
static void set_maze_sizes(int width, int height)
Definition: maze.c:180
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
static void draw_maze_border(HWND hWnd)
Definition: maze.c:449
LONG_PTR LPARAM
Definition: windef.h:208
#define WM_DESTROY
Definition: winuser.h:1591
#define WM_SIZE
Definition: winuser.h:1593
#define WM_TIMER
Definition: winuser.h:1718
HWND hWnd
Definition: maze.c:71
static BOOL OnCreate(HWND hWnd, LPCREATESTRUCT lpCreateStruct)
Definition: maze.c:578
static int state
Definition: maze.c:121
HBRUSH hBrushLiving
Definition: maze.c:72
#define SendMessage
Definition: winuser.h:5709
#define WM_CREATE
Definition: winuser.h:1590
#define HIWORD(l)
Definition: typedefs.h:246
static int pre_solve_delay
Definition: maze.c:76
LRESULT WINAPI DefScreenSaverProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
Definition: scrnsave.c:95
HBRUSH hBrushDead
Definition: maze.c:71
#define WM_ERASEBKGND
Definition: winuser.h:1607
static void start_timer(HWND hWnd, int iTimeout)
Definition: maze.c:573
LPARAM lParam
Definition: combotst.c:139
#define LOWORD(l)
Definition: pedump.c:82

◆ set_maze_sizes()

static void set_maze_sizes ( int  width,
int  height 
)
static

Definition at line 180 of file maze.c.

182 {
183  maze_size_x = (width -1)/ grid_width;
189 }
#define MAX_MAZE_SIZE_Y
Definition: maze.c:79
GLint GLint GLsizei width
Definition: gl.h:1546
#define MAX_MAZE_SIZE_X
Definition: maze.c:78
static int grid_width
Definition: maze.c:119
static int maze_size_y
Definition: maze.c:115
static int grid_height
Definition: maze.c:119
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
static int maze_size_x
Definition: maze.c:115

Referenced by ScreenSaverProc().

◆ SetDefaults()

static void SetDefaults ( )
static

Definition at line 124 of file maze.c.

125 {
126  size = 10;
127  pre_solve_delay = 5000;
128  post_solve_delay = 5000;
129  solve_delay = 1;
130 }
static int post_solve_delay
Definition: maze.c:76
static int solve_delay
Definition: maze.c:76
GLsizeiptr size
Definition: glext.h:5919
static int pre_solve_delay
Definition: maze.c:76

Referenced by ReadRegistry().

◆ solve_maze()

static int solve_maze ( HWND  hWnd)
static

Definition at line 521 of file maze.c.

522 {
523  int ret;
524  int action_done;
525 
526  do {
527  action_done = 1;
528  if (++path[pathi].dir >= 4) {
529  pathi--;
530  draw_solid_square((int) (path[pathi].x), (int) (path[pathi].y), (int) (path[pathi].dir), hDC, hBrushDead);
531  ret = 0;
532  }
533  else if (!(maze[path[pathi].x][path[pathi].y] & (WALL_TOP >> path[pathi].dir)) &&
534  ((pathi == 0) || ((path[pathi].dir != (int) (path[pathi - 1].dir + 2) % 4)))) {
536  pathi++;
537  if (maze[path[pathi].x][path[pathi].y] & START_SQUARE) {
538 
539  ret = 1;
540  }
541  else {
542  ret = 0;
543  }
544  }
545  else {
546  action_done = 0;
547  }
548  } while (!action_done);
549  return ret;
550 }
HDC hDC
Definition: maze.c:74
#define WALL_TOP
Definition: maze.c:83
#define START_SQUARE
Definition: maze.c:99
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
static void draw_solid_square(int, int, int, HDC, HBRUSH)
Definition: maze.c:413
static void enter_square(int, HDC, HBRUSH)
Definition: maze.c:552
unsigned int dir
Definition: maze.c:112
int ret
Definition: services.c:325
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
HBRUSH hBrushLiving
Definition: maze.c:72
static unsigned short maze[MAX_MAZE_SIZE_X][MAX_MAZE_SIZE_Y]
Definition: maze.c:107
HBRUSH hBrushDead
Definition: maze.c:71
static int pathi
Definition: maze.c:121

Referenced by ScreenSaverProc().

◆ start_timer()

static void start_timer ( HWND  hWnd,
int  iTimeout 
)
static

Definition at line 573 of file maze.c.

574 {
575  SetTimer(hWnd, 1, iTimeout, NULL);
576 }
smooth NULL
Definition: ftsmooth.c:416
UINT_PTR WINAPI SetTimer(_In_opt_ HWND, _In_ UINT_PTR, _In_ UINT, _In_opt_ TIMERPROC)
HWND hWnd
Definition: maze.c:71

Referenced by OnCreate(), and ScreenSaverProc().

◆ WriteRegistry()

static void WriteRegistry ( )
static

Definition at line 162 of file maze.c.

163 {
164  LONG result;
165  HKEY skey;
166  DWORD disp;
167 
169  if(result != ERROR_SUCCESS)
170  return;
171 
172  RegSetValueEx(skey, _T("size"), 0, REG_DWORD, (LPBYTE)&size, sizeof(size));
173  RegSetValueEx(skey, _T("pre_solve_delay"), 0, REG_DWORD, (LPBYTE)&pre_solve_delay, sizeof(pre_solve_delay));
174  RegSetValueEx(skey, _T("post_solve_delay"), 0, REG_DWORD, (LPBYTE)&post_solve_delay, sizeof(post_solve_delay));
175  RegSetValueEx(skey, _T("solve_delay"), 0, REG_DWORD, (LPBYTE)&solve_delay, sizeof(solve_delay));
176 
177  RegCloseKey(skey);
178 }
static int post_solve_delay
Definition: maze.c:76
disp
Definition: i386-dis.c:3181
#define ERROR_SUCCESS
Definition: deptool.c:10
static int solve_delay
Definition: maze.c:76
#define HKEY_CURRENT_USER
Definition: winreg.h:11
static LPCWSTR registryPath
Definition: maze.c:122
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
unsigned char * LPBYTE
Definition: typedefs.h:52
long LONG
Definition: pedump.c:60
smooth NULL
Definition: ftsmooth.c:416
#define REG_OPTION_NON_VOLATILE
Definition: nt_native.h:1057
#define KEY_WRITE
Definition: nt_native.h:1031
#define _T(x)
Definition: vfdio.h:22
GLsizeiptr size
Definition: glext.h:5919
unsigned long DWORD
Definition: ntddk_ex.h:95
static int pre_solve_delay
Definition: maze.c:76
GLuint64EXT * result
Definition: glext.h:11304
#define REG_DWORD
Definition: sdbapi.c:596
#define RegSetValueEx
Definition: winreg.h:533
#define RegCreateKeyEx
Definition: winreg.h:501

Referenced by ScreenSaverConfigureDialog().

Variable Documentation

◆ bw

int bw
static

Definition at line 120 of file maze.c.

Referenced by draw_solid_square(), and OnCreate().

◆ cur_sq_x

int cur_sq_x
static

Definition at line 117 of file maze.c.

Referenced by backup(), choose_door(), create_maze(), and initialize_maze().

◆ cur_sq_y

int cur_sq_y
static

Definition at line 117 of file maze.c.

Referenced by backup(), choose_door(), create_maze(), and initialize_maze().

◆ dir

unsigned int dir

Definition at line 112 of file maze.c.

Referenced by _Filebuf_base::_M_seek(), _makepath(), _set_elem_dir(), _tempnam(), _test_elem_dir(), _tgetcwd(), _tgetdcwd(), _tsplitpath_x(), _wmakepath(), _wsplitpath(), _wtempnam(), AbsoluteToRelative(), ACMWrapper_BreakConnect(), ACMWrapper_CompleteConnect(), ACMWrapper_SetMediaType(), ACTION_CheckDirectory(), ACTION_RecurseSearchDirectory(), add_dirent_to_buf(), add_favs_to_menu(), add_resource_data_entry(), add_resource_dir_entry(), StartMenu::AddEntries(), RecentStartMenu::AddEntries(), StartMenu::AddShellEntries(), af_axis_hints_new_edge(), af_direction_compute(), af_latin_hints_compute_edges(), alloc_child_window(), AVIDec_BreakConnect(), AVIDec_SetMediaType(), BtrFsLookupDirItem(), build_signature_table_name(), check_exe(), CheckCircularConnection(), CheckDirCount(), chmc_add_dir(), cleanup_gcc_exe(), cleanup_msvc_exe(), cmp_lfn(), FileChildWindow::collapse_entry(), collapse_entry(), CollectProgramsThread::collect_programs(), CommonDeskSave(), ShellEntry::create_absolute_pidl(), create_dest_dirs(), create_file(), create_file_test(), create_ico_file(), create_lost_and_found(), create_signature(), create_target_directory(), CreateShellLink(), CurrentURL(), CURSORICON_LoadFromFileW(), CURSORICON_LoadImageW(), d3drm_frame1_GetOrientation(), d3drm_frame2_GetAxes(), d3drm_frame2_GetOrientation(), d3drm_frame3_GetAxes(), d3drm_frame3_GetOrientation(), D3DXSHEvalConeLight(), D3DXSHEvalDirection(), D3DXSHEvalDirectionalLight(), D3DXSHEvalHemisphereLight(), D3DXSHEvalSphericalLight(), DECLARE_INTERFACE_(), delete_directory(), delete_file(), dir_exists(), dir_find(), dir_read(), directedLine::directedLine(), DlgMainProc(), ShellEntry::do_context_menu(), DoInfInstall(), draw_solid_square(), draw_wall(), dwarf2_parse_line_numbers(), dwarfpctoline(), enter_square(), EstimateStripByteCounts(), execute_command(), FileChildWindow::expand_entry(), expand_entry(), expect_files(), ext2_add_entry(), ext2_new_dir_block(), ext2_new_inode(), Ext2AddDotEntries(), Ext2RemoveEntry(), Ext2SetFileType(), ext3_add_entry(), ext3_check_dir_entry(), ext3_delete_entry(), ext3_find_entry(), extract_gcc_exe(), extract_msvc_exe(), extract_test(), f_chmod(), f_mkdir(), f_open(), f_rename(), f_sync(), f_unlink(), f_utime(), FD31_WMInitDialog(), ff_convert(), file_find(), FileSaveRestoreA(), FillBookmarkInfo(), FilterGraph2_Connect(), FilterGraph2_ConnectDirect(), FilterGraph2_Render(), FilterGraph2_RenderFile(), FilterGraph2_RenderRecurse(), find_entry_by_id(), find_entry_by_name(), find_entry_default(), find_entry_language(), find_entry_shell(), find_entry_win(), find_first_entry(), find_first_id_entry(), find_html_symbol(), find_resource_data(), find_resource_dir_entry(), find_send_dir(), fit_lfn(), flush_refs(), follow_path(), CollectProgramsThread::free_dirs(), free_entries(), FTPFtw(), FTPFtwL2(), FtpGetCurrentDirectoryA(), FTPIsDir(), FTPMkdir2(), FTPRmdirRecursive(), get_assembly_directory(), get_base_dir(), get_best_icon_file_entry(), get_best_icon_file_offset(), get_fileinfo(), get_freespace(), get_path(), get_temp_filepath(), GPOS_apply_feature(), HANDLE_CustomType23(), History(), ImageDirectoryEntryToData(), ImageDirectoryEntryToDataEx(), import_certs_from_dir(), BookmarkList::import_IE_favorites(), Favorites::import_IE_favorites(), directedLine::init(), insert_boot_cat(), Pane::insert_entries(), insert_entries(), install_from_unix_file(), is_correct_dir(), ITERATE_CreateFolders(), ITERATE_InstallODBCDriver(), ITERATE_RemoveFiles(), ITERATE_RemoveFolders(), ITSS_create_chm_storage(), FileChildWindow::jump_to_int(), MDIShellBrowserChild::jump_to_int(), launch_exe(), ld_clust(), LISTBOX_HandleMouseMove(), LISTBOX_HandleTimer(), LISTVIEW_ScrollOnInsert(), LocalChdirCmd(), log_file_checksum_error(), look_for_collision(), lookup_manifest_file(), lookup_rpc(), LookupIconIdFromDirectoryEx(), main(), make_file_orphan(), MediaDet_get_OutputStreams(), MiniDumpReadDumpStream(), msi_build_directory_name(), msi_create_directory(), msi_dialog_seltree_handler(), msi_get_loaded_folder(), MSI_InstallPackage(), MSI_SetTargetPathW(), CEnumZipContents::Next(), nfs41_bind_conn_to_session(), OnBrowse(), open_file_test(), open_fileref(), PAGER_Scroll(), PAGER_Timer(), parse_filename_into_dirrecord(), PARSER_get_dest_dir(), PARSER_get_src_root(), PathWordBreakProc(), pe_load_msc_debug_info(), PeekHistory(), pick_lfn(), DesktopShellView::PositionIcons(), push_dir(), directedLine::putDirection(), pwlarc_intersect(), read_directory(), read_directory_shell(), read_directory_win(), RecursiveCreateDirectory(), recvrequest(), BtrfsContextMenu::reflink_copy(), remove_dir(), rpcrt4_conn_secure_packet(), RPCRT4_default_secure_packet(), RtlCreateActivationContext(), runCmd(), RunSetupCommandA(), SampleGrabber_IPin_QueryDirection(), scan_specified_files(), ScriptTextOut(), SdbpMatchExe(), search_dirblock(), stdio_streambuf_base::seekoff(), strstreambuf::seekoff(), send_inode_ref(), SendFilterMessage(), SendFurther(), server_lookup(), server_lookup_loop(), set_component_path(), set_syslog_conf_dir(), set_target_path(), SetCurPin(), SetupGetTargetPathW(), SetupSetDirectoryIdA(), SetupSetDirectoryIdW(), CShellDispatch::ShellExecute(), show_frame(), CEnumZipContents::Skip(), snapshot_EnumFormatEtc(), solve_maze(), SortDirectory(), SplitFileSysURL(), st_clust(), START_TEST(), sum_sfn(), SymSetHomeDirectory(), SymSetHomeDirectoryW(), test_CreateActCtx(), test_directory(), test_FakeDLL(), test_filter_graph(), test_graph_builder(), test_inffilelist(), test_inffilelistA(), test_LongtoShortA(), test_name_collisions(), test_PathNameA(), test_query_attribute_information_file(), test_query_object(), test_query_volume_information_file(), test_readdirectorychanges_cr(), test_RunSetupCommand(), test_SetSearchPathMode(), test_ShellExecute(), test_splitpath(), test_SplitShortPathA(), test_symboliclink(), TIFFFetchDirectory(), TIFFFetchStripThing(), TIFFFetchSubjectDistance(), TIFFReadCustomDirectory(), TIFFReadDirectory(), TIFFReadDirectoryCheckOrder(), TIFFReadDirectoryFindEntry(), TIFFWriteDirectorySec(), TIFFWriteDirectoryTagAscii(), TIFFWriteDirectoryTagByteArray(), TIFFWriteDirectoryTagCheckedAscii(), TIFFWriteDirectoryTagCheckedByteArray(), TIFFWriteDirectoryTagCheckedDoubleArray(), TIFFWriteDirectoryTagCheckedFloatArray(), TIFFWriteDirectoryTagCheckedIfd8Array(), TIFFWriteDirectoryTagCheckedIfdArray(), TIFFWriteDirectoryTagCheckedLong(), TIFFWriteDirectoryTagCheckedLong8Array(), TIFFWriteDirectoryTagCheckedLongArray(), TIFFWriteDirectoryTagCheckedRational(), TIFFWriteDirectoryTagCheckedRationalArray(), TIFFWriteDirectoryTagCheckedSbyteArray(), TIFFWriteDirectoryTagCheckedShort(), TIFFWriteDirectoryTagCheckedShortArray(), TIFFWriteDirectoryTagCheckedSlong8Array(), TIFFWriteDirectoryTagCheckedSlongArray(), TIFFWriteDirectoryTagCheckedSrationalArray(), TIFFWriteDirectoryTagCheckedSshortArray(), TIFFWriteDirectoryTagCheckedUndefinedArray(), TIFFWriteDirectoryTagColormap(), TIFFWriteDirectoryTagData(), TIFFWriteDirectoryTagDoubleArray(), TIFFWriteDirectoryTagFloatArray(), TIFFWriteDirectoryTagIfdArray(), TIFFWriteDirectoryTagIfdIfd8Array(), TIFFWriteDirectoryTagLong(), TIFFWriteDirectoryTagLong8Array(), TIFFWriteDirectoryTagLongArray(), TIFFWriteDirectoryTagLongLong8Array(), TIFFWriteDirectoryTagRational(), TIFFWriteDirectoryTagRationalArray(), TIFFWriteDirectoryTagSampleformatArray(), TIFFWriteDirectoryTagSbyteArray(), TIFFWriteDirectoryTagShort(), TIFFWriteDirectoryTagShortArray(), TIFFWriteDirectoryTagShortLong(), TIFFWriteDirectoryTagShortPerSample(), TIFFWriteDirectoryTagSlong8Array(), TIFFWriteDirectoryTagSlongArray(), TIFFWriteDirectoryTagSrationalArray(), TIFFWriteDirectoryTagSshortArray(), TIFFWriteDirectoryTagSubifd(), TIFFWriteDirectoryTagTransferfunction(), TIFFWriteDirectoryTagUndefinedArray(), TRACKBAR_AutoPage(), TRACKBAR_LButtonDown(), triangulateRectTopGen(), unit_vec2(), unpack_iso(), Varray::update(), wpp_add_include_path(), wrapSdbSetPermLayerKeys2(), WshShell3_get_CurrentDirectory(), WshShell3_put_CurrentDirectory(), and XCOPY_ProcessDestParm().

◆ end_dir

int end_dir
static

Definition at line 118 of file maze.c.

Referenced by begin_solve_maze(), draw_maze_border(), and initialize_maze().

◆ end_x

◆ end_y

int end_y
static

◆ grid_height

int grid_height
static

Definition at line 119 of file maze.c.

Referenced by draw_maze_border(), draw_solid_square(), draw_wall(), OnCreate(), and set_maze_sizes().

◆ grid_width

int grid_width
static

Definition at line 119 of file maze.c.

Referenced by draw_maze_border(), draw_solid_square(), draw_wall(), OnCreate(), and set_maze_sizes().

◆ hBrushDead

HBRUSH hBrushDead

Definition at line 71 of file maze.c.

Referenced by begin_solve_maze(), OnCreate(), ScreenSaverProc(), and solve_maze().

◆ hBrushLiving

HBRUSH hBrushLiving

Definition at line 72 of file maze.c.

Referenced by begin_solve_maze(), OnCreate(), ScreenSaverProc(), and solve_maze().

◆ hDC

◆ hMainInstance

HINSTANCE hMainInstance

Definition at line 25 of file scrnsave.c.

Referenced by ScreenSaverConfigureDialog().

◆ hPenWall

HPEN hPenWall

Definition at line 73 of file maze.c.

Referenced by draw_maze_border(), draw_wall(), and OnCreate().

◆ maze

◆ maze_size_x

int maze_size_x
static

Definition at line 115 of file maze.c.

Referenced by draw_maze_border(), initialize_maze(), and set_maze_sizes().

◆ maze_size_y

int maze_size_y
static

Definition at line 115 of file maze.c.

Referenced by draw_maze_border(), initialize_maze(), and set_maze_sizes().

◆ move_list

struct { ... } move_list[MOVE_LIST_SIZE]

◆ path

struct { ... } path[MOVE_LIST_SIZE]

◆ path_length

long path_length
static

Definition at line 116 of file maze.c.

Referenced by create_maze(), CreateDeviceDescriptor(), and OleMetafilePictFromIconAndLabel().

◆ pathi

int pathi = 0
static

Definition at line 121 of file maze.c.

Referenced by begin_solve_maze(), and solve_maze().

◆ post_solve_delay

int post_solve_delay
static

◆ pre_solve_delay

int pre_solve_delay
static

◆ registryPath

LPCWSTR registryPath = _T("Software\\Microsoft\\ScreenSavers\\mazescr")
static

Definition at line 122 of file maze.c.

Referenced by ReadRegistry(), and WriteRegistry().

◆ save_path

struct { ... } save_path[MOVE_LIST_SIZE]

Referenced by create_maze(), and MSI_OpenDatabaseW().

◆ size

int size
static

Definition at line 76 of file maze.c.

Referenced by OnCreate().

◆ solve_delay

int solve_delay
static

◆ sqnum

long sqnum
static

Definition at line 116 of file maze.c.

Referenced by backup(), create_maze(), and initialize_maze().

◆ start_dir

int start_dir
static

Definition at line 118 of file maze.c.

Referenced by begin_solve_maze(), draw_maze_border(), and initialize_maze().

◆ start_x

◆ start_y

◆ state

int state = 1
static

Definition at line 121 of file maze.c.

Referenced by _test_readyState(), _test_state(), acpi_bus_get_power(), acpi_bus_set_power(), acpi_power_add(), acpi_power_get_list_state(), acpi_power_get_state(), acpi_power_resume(), acpi_power_transition(), acpi_suspend(), acpi_system_restore_state(), acpi_system_save_state(), acpi_system_suspend(), acquire_compute_pipeline_resources(), acquire_graphics_pipeline_resources(), acquire_shader_resources(), ACTION_GetFeatureInstallStates(), add_known_usage(), add_known_usages_to_list(), alpha_test_arbfp(), append_decl_element(), apply_frame_state(), apply_general_changes(), apply_lights(), apply_pixelshader(), async_apc_notifier_proc(), async_notifier_proc(), atifs_srgbwriteenable(), atifs_stage_constant(), atifs_tfactor(), AudioMediaStreamImpl_IAMMediaStream_SetState(), begin_container(), BitBltFromClipboard(), BookmarkCompletionFunction(), buffer_check_attribute(), buffer_find_decl(), buffer_refill(), buffer_refill8(), buffer_service(), buffer_service8(), buffer_silence(), buffer_silence8(), Bus_PDO_PnP(), BUTTON_DrawLabel(), BUTTON_WindowProc(), ButtonWndProc_common(), calculate_install_state(), CalculateBitmapSize(), cancel_lock(), cancel_open(), capture_buffer_service(), CB_Paint(), CB_ThemedPaint(), CertGetStoreProperty(), BtrfsPropSheet::change_inode_flag(), BtrfsPropSheet::change_perm_flag(), change_state(), check_emfplus(), check_execute_access(), check_menu_item_info(), check_metafile(), chomp(), client_state_add(), client_state_remove(), clipplane(), color_key_arbfp(), CommandCompletionFunction(), compile_state_table(), CompletionFunction(), component_SetInstallQueueState(), context_apply_clear_state(), context_apply_compute_state(), context_apply_draw_state(), context_apply_state(), context_bind_shader_resources(), context_create(), context_invalidate_state(), context_load_numbered_arrays(), context_load_shader_resources(), context_load_stream_output_buffers(), context_load_tex_coords(), context_load_vertex_data(), context_map_psamplers(), context_map_vsamplers(), context_preload_texture(), context_preload_textures(), context_state_drawbuf(), context_state_fb(), context_update_fixed_function_usage_map(), context_update_stream_info(), context_update_stream_sources(), context_update_tex_unit_map(), convert_fvf_to_declaration(), create_open_state(), CreateNewFileFromPatch(), d3d8_device_GetRenderState(), d3d8_device_GetTransform(), d3d8_device_MultiplyTransform(), d3d8_device_SetRenderState(), d3d8_device_SetTransform(), d3d9_device_GetRenderState(), d3d9_device_GetSamplerState(), d3d9_device_GetTextureStageState(), d3d9_device_GetTransform(), d3d9_device_MultiplyTransform(), d3d9_device_SetRenderState(), d3d9_device_SetSamplerState(), d3d9_device_SetTextureStageState(), d3d9_device_SetTransform(), d3d_device2_GetLightState(), d3d_device2_GetRenderState(), d3d_device2_GetTransform(), d3d_device2_MultiplyTransform(), d3d_device2_SetLightState(), d3d_device2_SetRenderState(), d3d_device2_SetTransform(), d3d_device3_GetLightState(), d3d_device3_GetRenderState(), d3d_device3_GetTextureStageState(), d3d_device3_GetTransform(), d3d_device3_MultiplyTransform(), d3d_device3_SetLightState(), d3d_device3_SetRenderState(), d3d_device3_SetTextureStageState(), d3d_device3_SetTransform(), d3d_device7_GetRenderState(), d3d_device7_GetRenderState_FPUPreserve(), d3d_device7_GetRenderState_FPUSetup(), d3d_device7_GetTextureStageState(), d3d_device7_GetTextureStageState_FPUPreserve(), d3d_device7_GetTextureStageState_FPUSetup(), d3d_device7_GetTransform(), d3d_device7_GetTransform_FPUPreserve(), d3d_device7_GetTransform_FPUSetup(), d3d_device7_MultiplyTransform(), d3d_device7_MultiplyTransform_FPUPreserve(), d3d_device7_MultiplyTransform_FPUSetup(), d3d_device7_SetRenderState(), d3d_device7_SetRenderState_FPUPreserve(), d3d_device7_SetRenderState_FPUSetup(), d3d_device7_SetTextureStageState(), d3d_device7_SetTextureStageState_FPUPreserve(), d3d_device7_SetTextureStageState_FPUSetup(), d3d_device7_SetTransform(), d3d_device7_SetTransform_FPUPreserve(), d3d_device7_SetTransform_FPUSetup(), d3drm_device3_LightStateChange(), d3drm_device3_RenderStateChange(), d3dx9_apply_state(), d3dx9_base_effect_get_pass_desc(), d3dx9_get_param_value_ptr(), d3dx9_parse_array_selector(), d3dx9_parse_resource(), d3dx9_parse_state(), DATETIME_Button_Command(), debug_d3drenderstate(), debug_d3dsamplerstate(), debug_d3dstate(), debug_d3dtexturestate(), DECLARE_INTERFACE_(), decode_mcu(), decode_mcu_DC_first(), decode_mcu_sub(), decrease_state(), deleg_open_find(), delegation_create(), device_assign(), device_clear_render_targets(), device_fetch(), device_invalidate_state(), device_state_capture(), device_state_init(), device_state_release(), device_state_restore(), device_status(), DirectDrawMediaStreamImpl_IAMMediaStream_SetState(), dispatch_compute(), dispevent_Invoke(), DnsValidateName_W(), eater_codecvt::do_in(), generator_codecvt::do_in(), codecvt_byname< wchar_t, char, mbstate_t >::do_in(), eater_codecvt::do_length(), generator_codecvt::do_length(), codecvt_byname< wchar_t, char, mbstate_t >::do_length(), do_nfs41_close(), do_open(), codecvt_byname< wchar_t, char, mbstate_t >::do_out(), codecvt_byname< wchar_t, char, mbstate_t >::do_unshift(), draw_diag_edge(), draw_indirect(), draw_primitive(), draw_primitive_arrays(), draw_primitive_immediate_mode(), draw_rect_edge(), PictureButton::DrawItem(), DrawTextFromClipboard(), dump_buffer_s(), EDIT_WM_NCPaint(), EffAppearanceDlg_Init(), EffAppearanceDlgUpdateControls(), EMF_RestoreDC(), EMF_SaveDC(), emit_bits_s(), emit_restart_s(), emit_set_rs(), emit_set_ts(), EmitREBytecode(), encode_mcu_huff(), encode_one_block(), end_container(), Graphics::EndContainer(), enum_emf_proc(), enum_metafile_proc(), EnumEnhMetaFile(), EventDispatch_Invoke(), ewmh_change_state(), ewmh_modify_state(), file_layout_fetch(), file_layout_recall(), file_layout_recall_fsid(), file_layout_return(), FilterGraph2_RemoveFilter(), find_arb_ps_compile_args(), find_arb_vs_compile_args(), find_draw_buffers_mask(), find_ds_compile_args(), find_gs_compile_args(), find_ps_compile_args(), find_vs_compile_args(), FindParenCount(), finish_pass_huff(), fixedtables(), flush_bits_s(), fragment_prog_arbfp(), free_state(), FreeBT_AddDevice(), ft_lzwstate_done(), ft_lzwstate_get_code(), ft_lzwstate_init(), ft_lzwstate_io(), ft_lzwstate_prefix_grow(), ft_lzwstate_refill(), ft_lzwstate_reset(), ft_lzwstate_stack_grow(), GB_ThemedPaint(), GdipBeginContainer(), GdipBeginContainer2(), GdipBeginContainerI(), GdipEndContainer(), GdipEnumerateMetafileSrcRectDestPoints(), GdipRestoreGraphics(), GdipSaveGraphics(), gen_ffp_frag_op(), get_ea_list(), get_edge_brush(), get_edge_color(), get_edge_pen(), get_extrac_args(), get_fog_start_end(), get_key_state(), get_modelview_matrix(), get_pointsize(), get_pointsize_minmax(), get_projection_matrix(), get_service_state(), get_texture_matrix(), get_viewports(), get_volume_size_info(), GetDecimalValue(), gif_compress(), gl_client_state(), gl_enable(), Global_InvokeEx(), glsl_fragment_pipe_alpha_test(), glsl_fragment_pipe_alpha_test_func(), glsl_fragment_pipe_fog(), glsl_fragment_pipe_shader(), glsl_fragment_pipe_vdecl(), glsl_vertex_pipe_geometry_shader(), glsl_vertex_pipe_hs(), glsl_vertex_pipe_pixel_shader(), glsl_vertex_pipe_pointscale(), glsl_vertex_pipe_projection(), glsl_vertex_pipe_texmatrix_np2(), glsl_vertex_pipe_vdecl(), glsl_vertex_pipe_view(), glsl_vertex_pipe_viewport(), glsl_vertex_pipe_vs(), glsl_vertex_pointsprite_core(), gluDeleteQuadric(), gxv_EntryTable_validate(), gxv_just_classTable_entry_validate(), gxv_kern_subtable_fmt1_entry_validate(), gxv_mort_subtable_type0_entry_validate(), gxv_mort_subtable_type1_entry_validate(), gxv_mort_subtable_type1_offset_to_subst_validate(), gxv_mort_subtable_type2_entry_validate(), gxv_mort_subtable_type5_entry_validate(), gxv_morx_subtable_type0_entry_validate(), gxv_morx_subtable_type1_entry_validate(), gxv_morx_subtable_type2_entry_validate(), gxv_morx_subtable_type5_entry_validate(), gxv_XEntryTable_validate(), gz_avail(), gz_comp(), gz_decomp(), gz_error(), gz_fetch(), gz_init(), gz_load(), gz_look(), gz_open(), gz_read(), gz_reset(), gz_skip(), gz_write(), gz_zero(), gzbuffer(), gzclearerr(), gzclose(), gzclose_r(), gzclose_w(), gzdirect(), gzeof(), gzerror(), gzflush(), gzfread(), gzfwrite(), gzgetc(), gzgets(), gzoffset64(), gzprintf(), gzputc(), gzputs(), gzread(), gzrewind(), gzseek64(), gzsetparams(), gztell64(), gzungetc(), gzwrite(), handle_close(), handle_getacl(), handle_getattr(), handle_getexattr(), handle_lock(), handle_nfs41_link(), handle_nfs41_remove(), handle_nfs41_rename(), handle_nfs41_set_size(), handle_nfs41_setattr(), handle_open(), handle_readdir(), handle_setacl(), handle_setexattr(), handle_special_keys(), handle_symlink(), handle_unlock(), HEADER_DrawItem(), HEADER_FillItemFrame(), HTMLEvents_Invoke(), HTMLXMLHttpRequest_get_statusText(), HTMLXMLHttpRequest_getAllResponseHeaders(), HTMLXMLHttpRequest_getResponseHeader(), ID3DXEffectImpl_ValidateTechnique(), ImmProcessKey(), ImmTranslateMessage(), CodecvtTest::in_out_test(), indexbuffer(), inflate(), inflate_fast(), inflateBack(), inflateBackInit_(), inflateCodesUsed(), inflateCopy(), inflateEnd(), inflateGetDictionary(), inflateGetHeader(), inflateInit2_(), inflateMark(), inflatePrime(), inflateReset(), inflateReset2(), inflateResetKeep(), inflateSetDictionary(), inflateStateCheck(), inflateSync(), inflateSyncPoint(), inflateUndermine(), inflateValidate(), insert_menu_item(), IPADDRESS_Draw(), is_close_enabled(), is_invalid_op(), isStateDirty(), itemize_para(), jpeg_fill_bit_buffer(), jpeg_huff_decode(), layout_commit(), layout_coverage_status(), layout_fetch(), layout_ordered_insert(), layout_recall_range(), layout_return_status(), layout_state_deferred_recalls(), layout_state_free(), layout_state_free_layouts(), layout_state_free_recalls(), layout_state_merge(), layout_update(), layout_update_range(), layout_update_stateid(), CodecvtTest::length_test(), light(), lock_stateid_arg(), lock_stateid_update(), lzw_dict_add(), lzw_dict_lookup(), lzw_dict_reset(), lzw_flush_bits(), lzw_output_clear_code(), lzw_output_code(), lzw_output_eof_code(), lzw_state_init(), main(), MainWnd_OnActivate(), map_ds_error(), match_break(), match_mod(), mbrlen(), MCIQTZ_mciStatus(), MCIQTZ_mciUpdate(), MD_OnActivate(), MD_OnSize(), mds_commit(), MediaSeeking_SetPositions(), MediaStreamFilterImpl_GetState(), MMDevCol_Create(), MMDevEnum_GetDefaultAudioEndpoint(), MMDevice_Create(), MMDevice_GetState(), MONTHCAL_NotifyDayState(), mrp_EnumComponentCosts(), mrp_GetFeatureCost(), mrp_SetComponentState(), mrp_SetFeatureState(), mrp_SetMode(), msi_check_product_patches(), msi_dialog_checkbox_handler(), msi_dialog_checkbox_sync_state(), msi_dialog_get_checkbox_state(), msi_dialog_set_checkbox_state(), msi_get_patch_state(), MSI_GetComponentPath(), MSI_GetFeatureCost(), MSI_GetUserInfo(), MSI_ProvideQualifiedComponentEx(), msi_seltree_update_feature_installstate(), msi_seltree_update_siblings_and_children_installstate(), MsiEndTransaction(), MsiEnumComponentCostsA(), MsiEnumComponentCostsW(), MsiInstallMissingComponentA(), MsiProvideComponentW(), MsiQueryFeatureStateExA(), MsiQueryFeatureStateExW(), MsiQueryFeatureStateW(), MsiQueryProductStateW(), MsiUseFeatureExW(), MSSTYLES_ParseIniSectionName(), multistate_apply_2(), multistate_apply_3(), NC_HandleNCLButtonDblClk(), nc_paint(), needs_srgb_write(), netconn_create(), netif_add(), NewRENode(), nfs41_client_delegation_return_lru(), nfs41_delegate_open(), nfs41_delegation_deref(), nfs41_delegation_granted(), nfs41_delegation_ref(), nfs41_DevFcbXXXControlFile(), nfs41_ea_set(), nfs41_open_state_deref(), nfs41_open_state_ref(), nfs41_open_stateid_arg(), nfs41_recover_client_state(), nsIOService_SetAppOffline(), nvrc_colorop(), nvrc_resultarg(), nvrc_texfactor(), nvts_activate_dimensions(), nvts_bumpenvmat(), nvts_texdim(), OB_Paint(), OnKeyScroll(), OnMouseScroll(), OnScroll(), opatmatch(), open_or_delegate(), open_state_free(), open_state_layout_cached(), open_state_rename(), paint(), paint_scrollbar(), parent_wnd_proc(), parse_prop(), ParseMinMaxQuantifier(), ParseQuantifier(), Parser_PullPin_Disconnect(), ParseRegExp(), ParseTerm(), patmatch(), pattern_init(), PB_Paint(), PB_ThemedPaint(), play_metafile(), play_metafile_proc(), pnfs_layout_io_finished(), pnfs_layout_io_start(), pnfs_layout_recall_fenced(), pnfs_layout_recall_status(), pnfs_layout_state_close(), pnfs_layout_state_open(), pnfs_layout_state_prepare(), pnfs_read(), pnfs_write(), pp_pop_define_state(), pp_push_define_state(), PrefOptCompletionFunction(), prepare_to_wait(), prepare_to_wait_exclusive(), print_driver_state(), process_state_property(), CTrayWindow::ProcessMouseTracking(), ProcessOp(), PropertyNotifySink_OnChanged(), PropertyStore_SetValueAndState(), PullPin_EndFlush(), push_state(), query_feature_state(), rasterizer(), rasterizer_cc(), re_match_one(), read_header_file(), read_keyboard_state(), readdir_add_dots(), redraw_states(), regexp_new(), release_shader_resources(), RemoteCompletionFunction(), RemoteDirCompletionFunction(), RemoteFileCompletionFunction(), remove_vbos(), reset_modifier_keys(), resolve_depth_buffer(), restore_dc(), sampler(), sampler_texdim(), sampler_texmatrix(), save_cert_mgr_usages(), ScanExports(), scissorrect(), ScreenSaverProc(), seamless_process_line(), seamless_send_state(), SendGetState(), set_bumpmat(), set_bumpmat_arbfp(), set_button_state(), set_download_state(), set_glsl_compute_shader_program(), set_glsl_shader_program(), set_menu_item_info(), set_plugin_readystate(), set_state(), set_tex_op(), set_tex_op_atifs(), set_tex_op_nvrc(), SetDIBitsToDeviceFromClipboard(), CListView::SetItemState(), setled(), CInternetToolbar::SetState(), shader_arb_load_constants(), shader_arb_load_constants_internal(), shader_arb_load_np2fixup_constants(), shader_arb_ps_local_constants(), shader_arb_select(), shader_arb_vs_local_constants(), shader_generate_code(), shader_get_position_fixup(), shader_glsl_clip_plane_uniform(), shader_glsl_end(), shader_glsl_ffp_vertex_light_uniform(), shader_glsl_ffp_vertex_lightambient_uniform(), shader_glsl_ffp_vertex_material_uniform(), shader_glsl_ffp_vertex_texmatrix_uniform(), shader_glsl_load_color_key_constant(), shader_glsl_load_constants(), shader_glsl_load_fog_uniform(), shader_glsl_load_np2fixup_constants(), shader_glsl_loop(), shader_glsl_pointsize_uniform(), shader_glsl_rep(), shader_glsl_select(), shader_glsl_select_compute(), shader_none_select(), software_vertex_blending(), CodecvtTest::special_encodings(), src_callback_read(), src_delete(), src_error(), src_get_channels(), src_process(), src_reset(), src_set_ratio(), state_alpha_test(), state_ambient(), state_anisotropy(), state_antialias(), state_arb_specularenable(), state_arbfp_fog(), state_blend(), state_blend_object(), state_blendfactor(), state_blendop(), state_bound(), state_cb(), state_cb_warn(), state_ckeyblend(), state_cleanup(), state_clipping(), state_colormat(), state_colorwrite(), state_colorwrite_i(), state_cs_resource_binding(), state_cs_uav_binding(), state_cullmode(), state_debug_monitor(), state_depthbias(), state_ditherenable(), state_extents(), state_fillmode(), state_flushbatch(), state_fog_fragpart(), state_fog_vertexpart(), state_fogcolor(), state_fogdensity(), state_fogstartend(), state_init(), state_init_default(), state_lastpixel(), state_lighting(), state_line_antialias(), state_linepattern(), state_localviewer(), state_mipmaplodbias(), state_monoenable(), state_msaa(), state_msaa_w(), state_multisampmask(), state_normaldegree(), state_normalize(), state_nvdb(), state_patchedgestyle(), state_patchsegments(), state_planemask(), state_pointsprite(), state_pointsprite_w(), state_positiondegree(), state_pscale(), state_psizemin_arb(), state_psizemin_ext(), state_psizemin_w(), state_rop2(), state_scissor(), state_selecting(), state_shademode(), state_shader_resource_binding(), state_so(), state_specularenable(), state_srgbwrite(), state_stencil(), state_stencilwrite(), state_stencilwrite2s_ext(), state_stippledalpha(), state_stippleenable(), state_subpixel(), state_subpixelx(), state_swvp(), state_tessellation(), state_texfactor(), state_texfactor_arbfp(), state_to_str(), state_translucentsi(), state_tss_constant_arbfp(), state_uav_binding(), state_unbind_resources(), state_vertexblend_w(), state_wrap(), state_wrapu(), state_wrapv(), state_zenable(), state_zfunc(), state_zvisible(), state_zwriteenable(), streamsrc(), TAB_DrawItem(), tcp_set_state(), test_accelerators(), test_buffer(), test_buffer8(), test_button_messages(), test_Cancel(), test_capture_buffer(), test_clipping(), test_CloseHandle(), test_CompleteLocal(), test_CompleteLocalURL(), test_component_states(), test_container_rects(), test_cookie_attrs(), test_daystate(), test_deleteitem(), test_eof_state(), test_feature_states(), test_filter_graph(), test_get_state(), test_GetAutoRotationState(), test_GetState(), test_HttpOptions(), test_inmemorystore(), test_insertitem(), test_mbcp(), test_mbstowcs(), test_media_event(), test_menu_resource_layout(), Test_MessagesNonThemed(), Test_MessagesThemed(), test_MsiGetComponentPath(), test_MsiGetComponentPathEx(), test_MsiGetUserInfo(), test_MsiProvideComponent(), test_MsiProvideQualifiedComponentEx(), test_MsiQueryComponentState(), test_MsiQueryFeatureState(), test_MsiQueryProductState(), test_NamedPipeHandleState(), test_null(), test_printers_folder(), test_publish(), test_read_state(), test_ResumeEmpty(), test_retval(), test_ScriptGetFontFunctions(), test_session(), test_state(), test_state_change(), test_states(), test_sys_menu(), test_ToAscii(), test_ToUnicode(), test_wctomb(), test_Win32_Service(), test_XMLHTTP(), testStoreProperty(), tex_alphaop(), tex_bumpenvlum_arbfp(), tex_colorop(), tex_coordindex(), textransform(), thread_count(), thread_next_unit(), TKeyDef::TKeyDef(), toggle_checkbox_state(), toggle_usage(), TOOLBAR_DrawString(), transform_projection(), transform_texture(), transform_view(), transform_world(), TREEVIEW_ToggleItemState(), UB_Paint(), ui_get_numlock_state(), ui_seamless_setstate(), UpdateLinesToScroll(), updatewindow(), UrlCanonicalizeW(), use_indexed_vertex_blending(), use_ps(), use_transform_feedback(), use_vs(), vdecl_miscpart(), vertexdeclaration(), viewport_miscpart(), viewport_miscpart_cc(), viewport_vertexpart(), vk2ascii(), walk_state_dep(), Widget_get_State(), Widget_put_State(), wined3d_blend_state_create(), wined3d_blend_state_decref(), wined3d_blend_state_get_parent(), wined3d_blend_state_incref(), wined3d_buffer_load(), wined3d_cs_emit_clear(), wined3d_cs_emit_dispatch(), wined3d_cs_emit_dispatch_indirect(), wined3d_cs_emit_draw(), wined3d_cs_emit_draw_indirect(), wined3d_cs_emit_set_blend_state(), wined3d_cs_emit_set_render_state(), wined3d_cs_emit_set_sampler_state(), wined3d_cs_emit_set_texture_state(), wined3d_cs_emit_set_transform(), wined3d_cs_exec_dispatch(), wined3d_cs_exec_draw(), wined3d_device_get_render_state(), wined3d_device_get_sampler_state(), wined3d_device_get_texture_stage_state(), wined3d_device_get_transform(), wined3d_device_multiply_transform(), wined3d_device_process_vertices(), wined3d_device_reset(), wined3d_device_set_render_state(), wined3d_device_set_rendertarget_view(), wined3d_device_set_sampler_state(), wined3d_device_set_texture_stage_state(), wined3d_device_validate_device(), wined3d_dualblend_enabled(), wined3d_ffp_get_vs_settings(), wined3d_rasterizer_state_create(), wined3d_rasterizer_state_decref(), wined3d_rasterizer_state_get_parent(), wined3d_rasterizer_state_incref(), wined3d_state_enable_light(), wined3d_state_get_light(), wined3d_stateblock_apply(), wined3d_stateblock_capture(), wined3d_stream_info_from_declaration(), wined3d_texture_apply_sampler_desc(), WndProc(), XInputGetState(), xkeymap_send_keys(), xkeymap_translate_key(), xmlParseComment(), xmlParseConditionalSections(), xmlParsePI(), xmlParseSystemLiteral(), xslprocessor_get_readyState(), XXH32(), XXH32_digest_endian(), XXH32_reset(), XXH32_update_endian(), XXH64(), XXH64_digest_endian(), XXH64_reset(), XXH64_update_endian(), and ZSTD_ldm_fillLdmHashTable().

◆ x

unsigned int x

Definition at line 110 of file maze.c.

◆ y

unsigned int y

Definition at line 111 of file maze.c.