SDLGameEngine

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

# include/sgepathfinder.h

Go to the documentation of this file.

    00001 #ifndef _SGEPATHFINDER_H
    00002 #define _SGEPATHFINDER_H
    00003
    00004 #ifdef __cplusplus
    00005 extern "C" {
    00006 #endif
    00007
    00012 /*
    00013  * Copyright (c) 2007 Heiko Irrgang
    00014  *
    00015  * The license and distribution terms for this file may be
    00016  * found in the file COPYING in this distribution or at
    00017  * http://93-interactive.com/cms/products/software/sdl-game-engine/license/
    00018  */
    00019
    00033 #define DISABLE_DIAGONAL 0
    00034
    00038 #define ENABLE_DIAGONAL 1
    00039
    00046 typedef struct {
    00048         int x;
    00050         int y;
    00052         int startWeight;
    00053         int targetWeight;
    00054         void *parent;
    00055 } SGEPATHFINDERINFO;
    00056
    00061 typedef struct {
    00063         int width;
    00065         int height;
    00067         unsigned char *map;
    00068         SGEARRAY *path;
    00069         int useDiagonal;
    00070 } SGEPATHFINDER;
    00071
    00078 SGEPATHFINDER *sgePathFinderNew(int width, int height);
    00079
    00087 SGEPATHFINDER *sgePathFinderNewDiagonal(int width, int height, int diagonal);
    00088
    00093 void sgePathFinderDestroy(SGEPATHFINDER *p);
    00094
    00104 SGEPATHFINDERINFO *sgePathFinderInfoNew(int x, int y, int startWeight, int targetWeight, void *parent);
    00105
    00110 void sgePathFinderInfoDestroy(SGEPATHFINDERINFO *pi);
    00111
    00117 inline void sgePathFinderDiagonal(SGEPATHFINDER *p, int diagonal);
    00118
    00126 void sgePathFinderSet(SGEPATHFINDER *p, int x, int y, int value);
    00127
    00135 int sgePathFinderGet(SGEPATHFINDER *p, int x, int y);
    00136
    00149 int sgePathFinderFind(SGEPATHFINDER *p, int startx, int starty, int destx, int desty);
    00150
    00151 // }@
    00152
    00153 #ifdef __cplusplus
    00154 }
    00155 #endif
    00156
    00157 #endif

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines