Libfov

From RogueBasin
Revision as of 13:58, 7 April 2006 by Publicv (talk | contribs)
Jump to navigation Jump to search

A field of view library - can be found here: http://members.optusnet.com.au/puyo/libfov.html


Some help from Radomir 'The Sheep' Dopieralski can be found on this rgrd thread: http://groups.google.com/group/rec.games.roguelike.development/browse_thread/thread/986eee039aa6e279/719361fe8fc96645?hl=en

Read it if you don't understand what the map & light source data structures are all about.


The API: http://members.optusnet.com.au/puyo/dev/libfov/html/index.html

Annoyances: although libfov is a c library, for some reason compiling a file that contains #include <fov/fov.h> need to be compiled as a c++ program and not as a c program. For instance: A file containing the following:

#include <fov/fov.h>

int
main(){
    return 0;
}

will compile as libfov-test.cpp but if named libfov-test.c (and therefor compiled as a c file), gcc will produce the following error:

In file included from libfov-test.c:1:
/usr/local/include/fov/fov.h:68: error: syntax error before ‘bool’
/usr/local/include/fov/fov.h:83: error: syntax error before ‘}’ token
/usr/local/include/fov/fov.h:102: error: syntax error before ‘*’ token
/usr/local/include/fov/fov.h:123: error: syntax error before ‘*’ token
/usr/local/include/fov/fov.h:150: error: syntax error before ‘*’ token
/usr/local/include/fov/fov.h:161: error: syntax error before ‘*’ token
/usr/local/include/fov/fov.h:169: error: syntax error before ‘*’ token
/usr/local/include/fov/fov.h:169: error: syntax error before ‘)’ token
/usr/local/include/fov/fov.h:177: error: syntax error before ‘*’ token
/usr/local/include/fov/fov.h:177: error: syntax error before ‘)’ token
/usr/local/include/fov/fov.h:185: error: syntax error before ‘*’ token
/usr/local/include/fov/fov.h:197: error: syntax error before ‘*’ token
/usr/local/include/fov/fov.h:218: error: syntax error before ‘*’ token
make: *** [libfov-test.o] Error 1

I don't know why, but would be glad if someone could find out the reason and propose a solution.

--this page needs to be expanded!