I have a problem.
1>------ Build started: Project: SDL Test, Configuration: Debug Win32 ------
1> playa.cpp
1> main.cpp
1> Generating Code...
1>c:\users\will\documents\visual studio 2010\projects\sdl test\sdl test\main.cpp(43): warning C4715: 'load_image' : not all control paths return a value
1>c:\users\will\documents\visual studio 2010\projects\sdl test\sdl test\main.cpp(43): warning C4715: 'load_image' : not all control paths return a value
1>playa.obj : error LNK2005: "void __cdecl apply_surface(int,int,struct SDL_Surface *,struct SDL_Surface *)" (?apply_surface@@YAXHHPAUSDL_Surface@@0@Z) already defined in main.obj
1>playa.obj : error LNK2005: "struct SDL_Surface * __cdecl load_image(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?load_image@@YAPAUSDL_Surface@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) already defined in main.obj
1>playa.obj : error LNK2005: "bool __cdecl load_files(void)" (?load_files@@YA_NXZ) already defined in main.obj
1>playa.obj : error LNK2005: "bool __cdecl init(void)" (?init@@YA_NXZ) already defined in main.obj
1>playa.obj : error LNK2005: "void __cdecl clean_up(void)" (?clean_up@@YAXXZ) already defined in main.obj
1>playa.obj : error LNK2005: "bool __cdecl check_collision(struct SDL_Rect,struct SDL_Rect)" (?check_collision@@YA_NUSDL_Rect@@0@Z) already defined in main.obj
1>playa.obj : error LNK2005: _SDL_main already defined in main.obj
1>playa.obj : error LNK2005: "union SDL_Event event" (?event@@3TSDL_Event@@A) already defined in main.obj
1>playa.obj : error LNK2005: "struct SDL_Surface * image" (?image@@3PAUSDL_Surface@@A) already defined in main.obj
1>playa.obj : error LNK2005: "struct SDL_Surface * screen" (?screen@@3PAUSDL_Surface@@A) already defined in main.obj
1>playa.obj : error LNK2005: "struct SDL_Surface * wall" (?wall@@3PAUSDL_Surface@@A) already defined in main.obj
1>C:\Users\Will\Documents\Visual Studio 2010\Projects\SDL Test\Debug\SDL Test.exe : fatal error LNK1169: one or more multiply defined symbols found
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
I've googled it, buy the problem with everyone else is always some sort of variable, while my problem is with functions.