• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.

adam_o

Members
  • Content count

    314
  • Joined

  • Last visited

Community Reputation

137 Neutral

About adam_o

  • Rank
    Member
  1. Thanks to everybody for the help, but the team has decided to ditch XML all together and import using an easier medium.
  2. Quote:Original post by Jason Petrasko Docs googled FOR you *rolls eyes* This is the main reference I have been using in trying to use TinyXML, so I've seen that screen before. The main problem is that kind of reference doesn't work for me - I need examples. Which is why I'm asking for examples from here. Quote:Original post by Jason Petrasko This lists: virtual const TiXmlText * ToText () const Cast to a more defined type. Will return null if not of the requested type. How would I manipulate this const TiXmlText* to do stuff with it? I mean, I could figure out a way to send it to the Lua part of my program and manipulate there, but then TinyXML isn't doing its work. I found a function called < a href="http://www.grinninglizard.com/tinyxmldocs/classTiXmlText.html#a11">Accept under TiXmlText, which looks like what I want, but I don't know how to use it or what it exactly does. Thanks, adam_o
  3. Thanks for the start, most of your code works great. There were two errors I found in the text (one occurred twice, but I was able to fix it). The one that I fixed was that the char* s had to be declared as const char* s. The one that I could not fix is this: // get "integer" attribute of price element TiXmlText* text = child->Text(); Giving me the following error: Class 'TiXmlNode' has no member named 'Text' Thanks for the start, I think I'm beginning to understand it. I appreciate continuing help, adam_o
  4. What is the pre-defined slope? Is this slope the same for all bullets? What are you multiplying out? How fast are the bullets moving? I need to know this before I can help you out.
  5. Hello all, I've been having trouble getting TinyXML to work the way I would like it to. I don't understand it or the tutorials that I've read very well, so I'm basically asking for a solution, which should be very easy for anybody who's worked with it a lot. The reason I need TinyXML and not some other file reading gadget is because all of the files in question (thousands) are in XML format, and TInyXML has already been somewhat implemented into my project. The reason that I don't think the manuals are working for me is that I've generally learned programming by example, and none of the tutorials I've looked at showed the examples of the types of XML structures that I'm working with. In general, all of the data I need is stored in two ways: 1. Boolean data (flags) are stored like so: <can-be-engaged/> 2. String or number data are stored like this: <price integer="1500"/> In the first case, I just need to identify that the "can-be-engaged" flag is set for this XML file and pass the information on to the program. In the second case, I need to know that the "price" for this object is set to "1500" (I don't need to know that it is an integer). The only other thing that I need to know is how to access the data if it's nested: <attributes> <can-be-engaged/> </attributes> So if I had a simple XML file: <?xml version="1.0" encoding="utf-8"?> <base-object> <attributes> <can-be-engaged/> <can-be-shot/> </attributes> <price integer="1500"/> <speed real="15.2"/> </base-object> How would I access and pass on all of the data that I need? All help is greatly appreciated and thanks in advance! adam_o
  6. "Lucky" is always a good choice. What's its personality like?
  7. GIMP on the Mac is lousy. It takes forever to load (even compared to Photoshop) and it has to go through X11, making it even worse. I'll stick with Photoshop, thank you very much.
  8. Quote:Original post by Butterman I've just made it a red light. No problem there. I'm running a 9600GT ;). Oh ok, scratch my theory then. That's very odd, though. It looked almost the same, although said tester had an ATI Radeon 9000 mobile. ;)
  9. I don't know how much of a help this is, but when I implemented shaders in one of my games, one user complained of not being able to see anything... and there was a strange red glow, somewhat like what you showed. It was later determined that his graphics card didn't have shader support. It looked very similar to that, though. Hope this helps, adam_o
  10. I'm getting a few warnings in front of all the errors I'm getting, and I wonder if it could have anything to do with the errors I'm getting: Warning: .drectve `-defaultlib:LIBC ' unrecognized Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized Warning: .drectve `/manifestdependency:"type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b'" /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ' unrecognized Also, when I undefined GL_VERSION_2_0, I got rid of the GLEW errors: (in glew.h) /* ----------------------------- GL_VERSION_2_0 ---------------------------- */ #undef GL_VERSION_2_0 //this is the line I added #ifndef GL_VERSION_2_0 #define GL_VERSION_2_0 1 But I still have all of the other errors. All help is appreciated and thanks in advance, adam_o
  11. If these errors (or similar ones) came up in VC++, what settings would you look at?
  12. Quote:Original post by mobeen Hi, As far as i can see you are calling some functions but the linker is not able to resolve them. This usually happens when the calling convetion of the function is not the same as what the linker expects. Thanks for the continued help. However, I cannot see how standard OpenGL calls would be OK on Mac OS X but not on Windows XP. If it would help, I can include the project files at your request.
  13. That's helped a little bit - no more OpenGL errors. I'm still getting more stuff from GLEW though: ||Warning: .drectve `/manifestdependency:"type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b'" /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ' unrecognized| obj\Debug\Engine\Graphics\Shaders.o||In function `_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsPN8Graphics7Shaders6ShaderEEEEC2ERKSA_':| C:\Program Files\CodeBlocks\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\include\c++\3.4.5\bits\allocator.h:(.text+0xb)||undefined reference to `__imp____glewGetProgramiv'| C:\Program Files\CodeBlocks\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\include\c++\3.4.5\bits\allocator.h:(.text+0x35)||undefined reference to `__imp____glewGetProgramInfoLog'| obj\Debug\Engine\Graphics\Shaders.o||In function `_ZN8Graphics7Shaders14PrintLogShaderEj':| ~path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Shaders.cpp|39|undefined reference to `__imp____glewGetShaderiv'| ~path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Shaders.cpp|44|undefined reference to `__imp____glewGetShaderInfoLog'| obj\Debug\Engine\Graphics\Shaders.o||In function `_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsPN8Graphics7Shaders6ShaderEEEEC2ERKSA_':| )]+0x28)||undefined reference to `__imp____glewCreateShader'| )]+0x3e)||undefined reference to `__imp____glewShaderSource'| )]+0x69)||undefined reference to `__imp____glewCompileShader'| )]+0xa3)||undefined reference to `__imp____glewCreateShader'| obj\Debug\Engine\Graphics\Shaders.o||In function `_ZN8Graphics7Shaders14PrintLogShaderEj':| ~path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Shaders.cpp|39|undefined reference to `__imp____glewShaderSource'| ~path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Shaders.cpp|44|undefined reference to `__imp____glewCompileShader'| ~path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Shaders.cpp|45|undefined reference to `__imp____glewCreateProgram'| ~path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Shaders.cpp|47|undefined reference to `__imp____glewAttachShader'| ~path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Shaders.cpp|47|undefined reference to `__imp____glewAttachShader'| obj\Debug\Engine\Graphics\Shaders.o||In function `_ZN8Graphics7Shaders9AddShaderERKSsS2_S2_':| ~path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Shaders.cpp|103|undefined reference to `__imp____glewLinkProgram'| obj\Debug\Engine\Graphics\Shaders.o||In function `_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsPN8Graphics7Shaders6ShaderEEEEC2ERKSA_':| C:\Program Files\CodeBlocks\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\include\c++\3.4.5\bits\allocator.h:(.text$_ZN8Graphics7Shaders6Shader4BindEv[Graphics::Shaders::Shader::Bind()]+0x21)||undefined reference to `__imp____glewUseProgram'| obj\Debug\Engine\Net\Client.o||In function `_ZN3Net6Client7ConnectERKSstS2_':| ~path removed~My Documents\CodeBlock\xsera\Engine\Net\Client.cpp|29|undefined reference to `_htons@4'| obj\Debug\Engine\Net\MessageDecode.o||In function `_ZN3Net15MessageEncoding6EncodeERKNS_7MessageE':| ~path removed~My Documents\CodeBlock\xsera\Engine\Net\MessageDecode.cpp|24|undefined reference to `_htons@4'| ~path removed~My Documents\CodeBlock\xsera\Engine\Net\MessageDecode.cpp|28|undefined reference to `_htonl@4'| obj\Debug\Engine\Net\MessageDecode.o||In function `_ZN3Net15MessageEncoding6DecodeEP11_ENetPacket':| ~path removed~My Documents\CodeBlock\xsera\Engine\Net\MessageDecode.cpp|46|undefined reference to `_ntohs@4'| ~path removed~My Documents\CodeBlock\xsera\Engine\Net\MessageDecode.cpp|49|undefined reference to `_ntohl@4'| obj\Debug\Engine\Net\Server.o||In function `_ZNSt3mapIjP9_ENetPeerSt4lessIjESaISt4pairIKjS1_EEEC1Ev':| C:\Program Files\CodeBlocks\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\include\c++\3.4.5\ext\new_allocator.h:(.text+0x23)||undefined reference to `_htons@4'| obj\Debug\External\eNet\host.o||In function `enet_host_connect':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\host.c|178|undefined reference to `_htons@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\host.c|179|undefined reference to `_htons@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\host.c|180|undefined reference to `_htonl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\host.c|181|undefined reference to `_htonl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\host.c|182|undefined reference to `_htonl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\host.c|183|undefined reference to `_htonl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\host.c|184|undefined reference to `_htonl@4'| obj\Debug\External\eNet\host.o:~path removed~My Documents\CodeBlock\xsera\External\eNet\host.c|185|more undefined references to `_htonl@4' follow| obj\Debug\External\eNet\peer.o||In function `enet_peer_send':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\peer.c|114|undefined reference| ~path removed~My Documents\CodeBlock\xsera\External\eNet\peer.c|115|undefined reference to `_htonl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\peer.c|134|undefined reference to `_htons@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\peer.c|136|undefined reference to `_htonl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\peer.c|137|undefined reference to `_htonl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\peer.c|138|undefined reference to `_ntohl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\peer.c|154|undefined reference to `_htons@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\peer.c|160|undefined reference to `_htons@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\peer.c|161|undefined reference to `_htons@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\peer.c|166|undefined reference to `_htons@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\peer.c|167|undefined reference to `_htons@4'| obj\Debug\External\eNet\peer.o||In function `enet_peer_disconnect_now':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\peer.c|402|undefined reference to `_htonl@4'| obj\Debug\External\eNet\peer.o||In function `enet_peer_disconnect':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\peer.c|432|undefined reference to `_htonl@4'| obj\Debug\External\eNet\peer.o||In function `enet_peer_queue_outgoing_command':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\peer.c|551|undefined reference to `_htons@4'| obj\Debug\External\eNet\peer.o||In function `enet_peer_queue_incoming_command':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\peer.c|622|undefined reference to `_ntohs@4'| obj\Debug\External\eNet\protocol.o||In function `enet_protocol_handle_connect':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|264|undefined reference to `_ntohl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|295|undefined reference to `_ntohs@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|296|undefined reference to `_ntohl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|297|undefined reference to `_ntohl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|298|undefined reference to `_ntohl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|299|undefined reference to `_ntohl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|300|undefined reference to `_ntohl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|319|undefined reference to `_ntohs@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|355|undefined reference to `_ntohl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|356|undefined reference to `_ntohl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|366|undefined reference to `_htons@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|367|undefined reference to `_htons@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|368|undefined reference to `_htonl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|369|undefined reference to `_htonl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|370|undefined reference to `_htonl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|371|undefined reference to `_htonl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|372|undefined reference to `_htonl@4'| obj\Debug\External\eNet\protocol.o:~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|373|more undefined references to `_htonl@4' follow| obj\Debug\External\eNet\protocol.o||In function `enet_protocol_handle_send_reliable':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|391|undefined reference to `_ntohs@4'| obj\Debug\External\eNet\protocol.o||In function `enet_protocol_handle_send_unsequenced':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|417|undefined reference to `_ntohs@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|422|undefined reference to `_ntohs@4'| obj\Debug\External\eNet\protocol.o||In function `enet_protocol_handle_send_unreliable':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|466|undefined reference to `_ntohs@4'| obj\Debug\External\eNet\protocol.o||In function `enet_protocol_handle_send_fragment':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|499|undefined reference to `_ntohs@4'| obj\Debug\External\eNet\protocol.o:~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|505|more undefined references to `_ntohs@4' follow| obj\Debug\External\eNet\protocol.o||In function `enet_protocol_handle_send_fragment':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|515|undefined reference to `_ntohl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|516|undefined reference to `_ntohl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|517|undefined reference to `_ntohl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|518|undefined reference to `_ntohl@4'| obj\Debug\External\eNet\protocol.o||In function `enet_protocol_handle_bandwidth_limit':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|601|undefined reference to `_ntohl@4'| obj\Debug\External\eNet\protocol.o:~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|602|more undefined references to `_ntohl@4' follow| obj\Debug\External\eNet\protocol.o||In function `enet_protocol_handle_acknowledge':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|661|undefined reference to `_ntohs@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|705|undefined reference to `_ntohs@4'| obj\Debug\External\eNet\protocol.o||In function `enet_protocol_handle_verify_connect':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|745|undefined reference to `_ntohl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|745|undefined reference to `_ntohl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|745|undefined reference to `_ntohl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|745|undefined reference to `_ntohl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|757|undefined reference to `_ntohs@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|759|undefined reference to `_ntohs@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|770|undefined reference to `_ntohl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|781|undefined reference to `_ntohl@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|782|undefined reference to `_ntohl@4'| obj\Debug\External\eNet\protocol.o||In function `enet_protocol_handle_incoming_commands':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|803|undefined reference to `_ntohs@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|871|undefined reference to `_ntohs@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|943|undefined reference to `_ntohs@4'| obj\Debug\External\eNet\protocol.o||In function `enet_protocol_send_acknowledgements':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|1042|undefined reference to `_htons@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|1043|undefined reference to `_htons@4'| obj\Debug\External\eNet\protocol.o||In function `enet_protocol_send_outgoing_commands':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|1388|undefined reference to `_htons@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\protocol.c|1393|undefined reference to `_htons@4'| obj\Debug\External\eNet\win32.o||In function `enet_initialize':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|19|undefined reference to `_WSAStartup@8'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|25|undefined reference to `_WSACleanup@0'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|30|undefined reference to `_timeBeginPeriod@4'| obj\Debug\External\eNet\win32.o||In function `enet_deinitialize':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|38|undefined reference to `_timeEndPeriod@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|40|undefined reference to `_WSACleanup@0'| obj\Debug\External\eNet\win32.o||In function `enet_time_get':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|46|undefined reference to `_timeGetTime@0'| obj\Debug\External\eNet\win32.o||In function `enet_time_set':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|52|undefined reference to `_timeGetTime@0'| obj\Debug\External\eNet\win32.o||In function `enet_address_set_host':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|60|undefined reference to `_gethostbyname@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|64|undefined reference to `_inet_addr@4'| obj\Debug\External\eNet\win32.o||In function `enet_address_get_host_ip':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|79|undefined reference to `_inet_ntoa@4'| obj\Debug\External\eNet\win32.o||In function `enet_address_get_host':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|94|undefined reference to `_gethostbyaddr@12'| obj\Debug\External\eNet\win32.o||In function `enet_socket_create':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|106|undefined reference to `_socket@12'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|118|undefined reference to `_htons@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|127|undefined reference to `_bind@12'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|127|undefined reference to `_listen@8'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|135|undefined reference to `_closesocket@4'| obj\Debug\External\eNet\win32.o||In function `enet_socket_set_option':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|152|undefined reference to `_ioctlsocket@12'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|157|undefined reference to `_setsockopt@20'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|161|undefined reference to `_setsockopt@20'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|165|undefined reference to `_setsockopt@20'| obj\Debug\External\eNet\win32.o||In function `enet_socket_connect':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|182|undefined reference to `_htons@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|185|undefined reference to `_connect@12'| obj\Debug\External\eNet\win32.o||In function `enet_socket_accept':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|195|undefined reference to `_accept@12'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|205|undefined reference to `_ntohs@4'| obj\Debug\External\eNet\win32.o||In function `enet_socket_destroy':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|214|undefined reference to `_closesocket@4'| obj\Debug\External\eNet\win32.o||In function `enet_socket_send':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|229|undefined reference to `_htons@4'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|233|undefined reference to `_WSASendTo@36'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|243|undefined reference to `_WSAGetLastError@0'| obj\Debug\External\eNet\win32.o||In function `enet_socket_receive':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|263|undefined reference to `_WSARecvFrom@36'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|273|undefined reference to `_WSAGetLastError@0'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|289|undefined reference to `_ntohs@4'| obj\Debug\External\eNet\win32.o||In function `enet_socket_wait':| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|314|undefined reference to `_select@20'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|324|undefined reference to `___WSAFDIsSet@8'| ~path removed~My Documents\CodeBlock\xsera\External\eNet\win32.c|327|undefined reference to `___WSAFDIsSet@8'| ..\..\..\Programming Includes\lib\SDLmain.lib(.\release_nostdio\SDL_win32_main.obj):(.text[_ShowError]+0x9)||undefined reference to `__imp____iob_func'| ..\..\..\Programming Includes\lib\SDLmain.lib(.\release_nostdio\SDL_win32_main.obj):(.text[_cleanup_output]+0x3)||undefined reference to `__imp____iob_func'| ..\..\..\Programming Includes\lib\SDLmain.lib(.\release_nostdio\SDL_win32_main.obj):(.text[_main]+0x5)||undefined reference to `___security_cookie'| ..\..\..\Programming Includes\lib\SDLmain.lib(.\release_nostdio\SDL_win32_main.obj):(.text[_main]+0x65)||undefined reference to `__alloca_probe_16'| ..\..\..\Programming Includes\lib\SDLmain.lib(.\release_nostdio\SDL_win32_main.obj):(.text[_main]+0x80)||undefined reference to `@__security_check_cookie@4'| ..\..\..\Programming Includes\lib\SDLmain.lib(.\release_nostdio\SDL_win32_main.obj):(.text[_main]+0xbe)||undefined reference to `@__security_check_cookie@4'| 16]+0x5)||undefined reference to `___security_cookie'| 16]+0x43)||undefined reference to `__alloca_probe_16'| 16]+0x72)||undefined reference to `__alloca_probe_16'| 16]+0x9b)||undefined reference to `@__security_check_cookie@4| ||=== Build finished: 136 errors, 1 warnings ===| I'm pretty sure that the "htons" ones (and the similar ones to those) are from eNet, but I have enet.lib and enet.dll included. In fact, checking all of my .dlls and .libs, they're included and in the right place. Help? adam_o
  14. Here's the files / output in source tags for convenience: #ifdef WIN32 #include <gl/gl.h> #define _USE_MATH_DEFINES #include <cmath> #else #include <OpenGL/gl.h> #endif #include <SDL/SDL.h> #include "Apollo.h" #include "Graphics.h" #include "SpriteSheet.h" #include "TextRenderer.h" #include <map> #include "Starfield.h" #include "Graphics.h" #include "Logging.h" #include "Utilities/Matrix2x3.h" #include "Shaders.h" #define DEG2RAD(x) ((x / 180.0f) * M_PI) #define RAD2DEG(x) ((x / M_PI) * 180.0f) const static float circlePoints[] = { 0.000, 1.000, 0.098, 0.995, 0.195, 0.981, 0.290, 0.957, 0.383, 0.924, 0.471, 0.882, 0.556, 0.831, 0.634, 0.773, 0.707, 0.707, 0.773, 0.634, 0.831, 0.556, 0.882, 0.471, 0.924, 0.383, 0.957, 0.290, 0.981, 0.195, 0.995, 0.098, 1.000, -0.000, 0.995, -0.098, 0.981, -0.195, 0.957, -0.290, 0.924, -0.383, 0.882, -0.471, 0.831, -0.556, 0.773, -0.634, 0.707, -0.707, 0.634, -0.773, 0.556, -0.831, 0.471, -0.882, 0.383, -0.924, 0.290, -0.957, 0.195, -0.981, 0.098, -0.995, -0.000, -1.000, -0.098, -0.995, -0.195, -0.981, -0.290, -0.957, -0.383, -0.924, -0.471, -0.882, -0.556, -0.831, -0.634, -0.773, -0.707, -0.707, -0.773, -0.634, -0.831, -0.556, -0.882, -0.471, -0.924, -0.383, -0.957, -0.290, -0.981, -0.195, -0.995, -0.098, -1.000, 0.000, -0.995, 0.098, -0.981, 0.195, -0.957, 0.290, -0.924, 0.383, -0.882, 0.471, -0.831, 0.556, -0.773, 0.634, -0.707, 0.707, -0.634, 0.773, -0.556, 0.831, -0.471, 0.882, -0.383, 0.924, -0.290, 0.957, -0.195, 0.981, -0.098, 0.995, -0.000, 1.000}; typedef std::map<std::string, Graphics::SpriteSheet*> SheetMap; static SheetMap spriteSheets; namespace Graphics { using namespace Shaders; int scw, sch; /* Other files can use: namespace Matrices { void SetProjectionMatrix ( const matrix2x3& m ); void SetViewMatrix ( const matrix2x3& m ); void SetModelMatrix ( const matrix2x3& m ); } */ namespace Matrices { static matrix2x3 projectionMatrix; static matrix2x3 viewMatrix; static matrix2x3 modelMatrix; static matrix2x3 mvpMatrix; static void LoadMatrix ( const matrix2x3& m ) { GLfloat array[16]; m.FillOpenGLMatrix(array); glLoadMatrixf(array); } void SetProjectionMatrix ( const matrix2x3& m ) { projectionMatrix = m; } void SetViewMatrix ( const matrix2x3& m ) { viewMatrix = m; } // the state is only guaranteed after a SetModelMatrix call void SetModelMatrix ( const matrix2x3& m ) { modelMatrix = m; mvpMatrix = modelMatrix * viewMatrix * projectionMatrix; LoadMatrix(mvpMatrix); } const matrix2x3& CurrentMatrix () { return mvpMatrix; } } void Init ( int w, int h, bool fullscreen ) { SDL_InitSubSystem ( SDL_INIT_VIDEO ); SDL_GL_SetAttribute ( SDL_GL_RED_SIZE, 8 ); SDL_GL_SetAttribute ( SDL_GL_BLUE_SIZE, 8 ); SDL_GL_SetAttribute ( SDL_GL_GREEN_SIZE, 8 ); SDL_GL_SetAttribute ( SDL_GL_ALPHA_SIZE, 0 ); SDL_GL_SetAttribute ( SDL_GL_DOUBLEBUFFER, 1 ); SDL_GL_SetAttribute ( SDL_GL_DEPTH_SIZE, 0 ); SDL_GL_SetAttribute ( SDL_GL_MULTISAMPLESAMPLES, 4 ); SDL_GL_SetAttribute ( SDL_GL_MULTISAMPLEBUFFERS, 1 ); SDL_GL_SetAttribute ( SDL_GL_SWAP_CONTROL, 1 ); Uint32 flags = SDL_OPENGL; if (fullscreen) flags |= SDL_FULLSCREEN; if (!SDL_SetVideoMode(w, h, 0, flags)) { SDL_GL_SetAttribute ( SDL_GL_MULTISAMPLESAMPLES, 0 ); SDL_GL_SetAttribute ( SDL_GL_MULTISAMPLEBUFFERS, 0 ); LOG("Graphics", LOG_WARNING, "Card does not support FSAA!"); if (!SDL_SetVideoMode(w, h, 0, flags)) { LOG("Graphics", LOG_WARNING, "Card does not support normal video options!"); SDL_GL_SetAttribute ( SDL_GL_RED_SIZE, 5 ); SDL_GL_SetAttribute ( SDL_GL_GREEN_SIZE, 5 ); SDL_GL_SetAttribute ( SDL_GL_BLUE_SIZE, 5 ); if (!SDL_SetVideoMode(w, h, 0, flags)) { LOG("Graphics", LOG_ERROR, "Bad graphics driver."); exit(1); } } } scw = w; sch = h; glClear ( GL_COLOR_BUFFER_BIT ); glEnable ( GL_BLEND ); glBlendFunc ( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA ); glEnable ( GL_LINE_SMOOTH ); glEnable ( GL_POINT_SMOOTH ); glHint ( GL_LINE_SMOOTH_HINT, GL_NICEST ); glHint ( GL_POINT_SMOOTH_HINT, GL_NICEST ); #ifdef __MACH__ glHint ( GL_TRANSFORM_HINT_APPLE, GL_FASTEST ); #endif glEnableClientState ( GL_VERTEX_ARRAY ); } static bool texturingEnabled = false; static void EnableTexturing () { if (!texturingEnabled) { glEnableClientState ( GL_TEXTURE_COORD_ARRAY ); texturingEnabled = true; } } static void DisableTexturing () { if (texturingEnabled) { glDisableClientState ( GL_TEXTURE_COORD_ARRAY ); texturingEnabled = false; } } static bool blendingEnabled = true; static void EnableBlending () { if (!blendingEnabled) { glEnable(GL_BLEND); blendingEnabled = true; } } static void DisableBlending () { if (blendingEnabled) { glDisable(GL_BLEND); blendingEnabled = false; } } static void SetColour ( const colour& col ) { if (sizeof(col) == sizeof(float) * 4) { glColor4fv((const GLfloat*)&col); } else { glColor4f(col.red(), col.green(), col.blue(), col.alpha()); } } static void ClearColour () { const uint32_t white = 0xFFFFFFFF; glColor4ubv((const GLubyte*)&white); } vec2 SpriteDimensions ( const std::string& sheetname ) { SpriteSheet* sheet; SheetMap::iterator iter = spriteSheets.find(sheetname); if (iter == spriteSheets.end()) { // load it sheet = new SpriteSheet(sheetname); spriteSheets[sheetname] = sheet; } else { sheet = iter->second; } assert(sheet); return vec2(sheet->TileSizeX(), sheet->TileSizeY()); } void DrawSprite ( const std::string& sheetname, int sheet_x, int sheet_y, vec2 location, vec2 size, float rotation ) { SetShader("Sprite"); EnableTexturing(); EnableBlending(); ClearColour(); SpriteSheet* sheet; SheetMap::iterator iter = spriteSheets.find(sheetname); if (iter == spriteSheets.end()) { // load it sheet = new SpriteSheet(sheetname); spriteSheets[sheetname] = sheet; } else { sheet = iter->second; } Matrices::SetViewMatrix(matrix2x3::Translate(location)); Matrices::SetModelMatrix(matrix2x3::Identity()); if (sheet->IsRotational()) { assert(sheet_x == 0); assert(sheet_y == 0); sheet->DrawRotation(size, rotation); } else { glRotatef(RAD2DEG(rotation), 0.0f, 0.0f, 1.0f); sheet->Draw(sheet_x, sheet_y, size); } } void DrawTextSDL ( const std::string& text, const std::string& font, vec2 location, float height, colour col, float rotation ) { SetShader("Sprite"); EnableTexturing(); EnableBlending(); SetColour(col); GLuint texID = TextRenderer::TextObject(font, text); Matrices::SetViewMatrix(matrix2x3::Translate(location)); Matrices::SetModelMatrix(matrix2x3::Rotation(rotation)); glBindTexture(GL_TEXTURE_RECTANGLE_ARB, texID); vec2 dims = TextRenderer::TextDimensions(font, text); vec2 halfSize = (dims * (height / dims.Y())) * 0.5f; GLfloat textureArray[] = { 0.0f, 0.0f, dims.X(), 0.0f, dims.X(), dims.Y(), 0.0f, dims.Y() }; GLfloat vertexArray[] = { -halfSize.X(), halfSize.Y(), halfSize.X(), halfSize.Y(), halfSize.X(), -halfSize.Y(), -halfSize.X(), -halfSize.Y() }; glVertexPointer(2, GL_FLOAT, 0, vertexArray); glTexCoordPointer(2, GL_FLOAT, 0, textureArray); glDrawArrays(GL_QUADS, 0, 4); } void DrawLine ( vec2 coordinate1, vec2 coordinate2, float width, colour col ) { SetShader("Primitive"); DisableTexturing(); if (col.alpha() < 1.0f) { EnableBlending(); } else { DisableBlending(); } glLineWidth(width); Matrices::SetViewMatrix(matrix2x3::Identity()); Matrices::SetModelMatrix(matrix2x3::Identity()); SetColour(col); float vertices[4] = { coordinate1.X(), coordinate1.Y(), coordinate2.X(), coordinate2.Y() }; glVertexPointer ( 2, GL_FLOAT, 0, vertices ); glDrawArrays ( GL_LINES, 0, 2 ); } void DrawCircle ( vec2 centre, float radius, float width, colour col ) { SetShader("Primitive"); DisableTexturing(); if (col.alpha() < 1.0f) { EnableBlending(); } else { DisableBlending(); } glLineWidth(width); Matrices::SetViewMatrix(matrix2x3::Translate(centre)); Matrices::SetModelMatrix(matrix2x3::Scale(radius)); SetColour ( col ); glVertexPointer(2, GL_FLOAT, 0, circlePoints); glDrawArrays(GL_LINE_LOOP, 0, sizeof(circlePoints) / (2 * sizeof(float))); } void DrawParticles ( const vec2* locations, unsigned int count, colour col ) { SetShader("Primitive"); DisableTexturing(); if (col.alpha() < 1.0f) { EnableBlending(); } else { DisableBlending(); } Matrices::SetViewMatrix(matrix2x3::Identity()); Matrices::SetModelMatrix(matrix2x3::Identity()); glVertexPointer ( 2, GL_FLOAT, 0, locations ); SetColour(col); glDrawArrays ( GL_POINTS, 0, count ); } static Starfield* sfld = NULL; void DrawStarfield ( float depth ) { if (!sfld) { sfld = new Starfield; } EnableTexturing(); DisableBlending(); ClearColour(); Matrices::SetViewMatrix(matrix2x3::Identity()); Matrices::SetModelMatrix(matrix2x3::Identity()); sfld->Draw(depth, vec2(0.0f, 0.0f)); } static vec2 cameraCorner1; static vec2 cameraCorner2; static float cameraRotation; float AspectRatio () { return float(scw) / float(sch); } vec2 MapPoint ( vec2 windowCoords ) { matrix2x3 viewProjection ( Matrices::viewMatrix * Matrices::projectionMatrix ); matrix2x3 vpi = viewProjection.Inverse(); vec2 normalisedCoords = vpi * windowCoords; normalisedCoords += vec2(1.0f, 1.0f); normalisedCoords *= 0.5f; return vec2(normalisedCoords.X() * scw, normalisedCoords.Y() * sch); } bool IsCulled ( vec2 location, float radius ) { if ((location.X() + radius) < cameraCorner1.X()) return true; if ((location.X() - radius) > cameraCorner2.X()) return true; if ((location.Y() + radius) < cameraCorner1.Y()) return true; if ((location.Y() - radius) > cameraCorner2.Y()) return true; return false; } void SetCamera ( vec2 corner1, vec2 corner2, float rotation ) { matrix2x3 projection ( matrix2x3::Ortho(corner1.X(), corner2.X(), corner1.Y(), corner2.Y()) ); if (fabs(rotation) > 0.00004f) projection *= matrix2x3::Rotation(rotation); Matrices::SetProjectionMatrix(projection); cameraCorner1 = corner1; cameraCorner2 = corner2; } void BeginFrame () { glClear(GL_COLOR_BUFFER_BIT); Matrices::SetViewMatrix(matrix2x3::Identity()); Matrices::SetModelMatrix(matrix2x3::Identity()); } void EndFrame () { #ifdef __MACH__ glSwapAPPLE(); #else SDL_GL_SwapBuffers(); #endif TextRenderer::Prune(); } } ||Warning: .drectve `/manifestdependency:"type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b'" /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ' unrecognized| obj\Debug\Engine\Graphics\Graphics.o||In function `_ZdlPvS_':| C:\Program Files\CodeBlocks\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\include\c++\3.4.5\bits\stl_construct.h:(.text+0x1f)||undefined reference to `_glLoadMatrixf@4'| obj\Debug\Engine\Graphics\Graphics.o||In function `_ZN8Graphics4InitEiib':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|195|undefined reference to `_glClear@4'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|197|undefined reference to `_glEnable@4'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|198|undefined reference to `_glBlendFunc@8'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|200|undefined reference to `_glEnable@4'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|201|undefined reference to `_glEnable@4'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|203|undefined reference to `_glHint@8'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|204|undefined reference to `_glHint@8'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|209|undefined reference to `_glEnableClientState@4'| obj\Debug\Engine\Graphics\Graphics.o||In function `_ZN8Graphics15EnableTexturingEv':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|218|undefined reference to `_glEnableClientState@4'| obj\Debug\Engine\Graphics\Graphics.o||In function `_ZN8Graphics16DisableTexturingEv':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|227|undefined reference to `_glDisableClientState@4'| obj\Debug\Engine\Graphics\Graphics.o||In function `_ZN8Graphics14EnableBlendingEv':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|238|undefined reference to `_glEnable@4'| obj\Debug\Engine\Graphics\Graphics.o||In function `_ZN8Graphics15DisableBlendingEv':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|247|undefined reference to `_glDisable@4'| obj\Debug\Engine\Graphics\Graphics.o||In function `_ZN8Graphics9SetColourERK6colour':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|256|undefined reference to `_glColor4fv@4'| obj\Debug\Engine\Graphics\Graphics.o||In function `_ZN8Graphics11ClearColourEv':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|267|undefined reference to `_glColor4ubv@4'| obj\Debug\Engine\Graphics\Graphics.o||In function `_ZN8Graphics10DrawSpriteERKSsii4vec2S2_f':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|316|undefined reference to `_glRotatef@16'| obj\Debug\Engine\Graphics\Graphics.o||In function `_ZN8Graphics11DrawTextSDLERKSsS1_4vec2f6colourf':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|330|undefined reference to `_glBindTexture@8'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|336|undefined reference to `_glVertexPointer@16'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|337|undefined reference to `_glTexCoordPointer@16'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|338|undefined reference to `_glDrawArrays@12'| obj\Debug\Engine\Graphics\Graphics.o||In function `_ZN8Graphics8DrawLineE4vec2S0_f6colour':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|353|undefined reference to `_glLineWidth@4'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|359|undefined reference to `_glVertexPointer@16'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|360|undefined reference to `_glDrawArrays@12'| obj\Debug\Engine\Graphics\Graphics.o||In function `_ZN8Graphics10DrawCircleE4vec2ff6colour':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|375|undefined reference to `_glLineWidth@4'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|379|undefined reference to `_glVertexPointer@16'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|380|undefined reference to `_glDrawArrays@12'| obj\Debug\Engine\Graphics\Graphics.o||In function `_ZN8Graphics13DrawParticlesEPK4vec2j6colour':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|397|undefined reference to `_glVertexPointer@16'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|399|undefined reference to `_glDrawArrays@12'| obj\Debug\Engine\Graphics\Graphics.o||In function `_ZN8Graphics10BeginFrameEv':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Graphics.cpp|462|undefined reference to `_glClear@4'| obj\Debug\Engine\Graphics\Shaders.o||In function `_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsPN8Graphics7Shaders6ShaderEEEEC2ERKSA_':| C:\Program Files\CodeBlocks\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\include\c++\3.4.5\bits\allocator.h:(.text+0xb)||undefined reference to `__imp____glewGetProgramiv'| C:\Program Files\CodeBlocks\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\include\c++\3.4.5\bits\allocator.h:(.text+0x35)||undefined reference to `__imp____glewGetProgramInfoLog'| obj\Debug\Engine\Graphics\Shaders.o||In function `_ZN8Graphics7Shaders14PrintLogShaderEj':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Shaders.cpp|39|undefined reference to `__imp____glewGetShaderiv'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Shaders.cpp|44|undefined reference to `__imp____glewGetShaderInfoLog'| obj\Debug\Engine\Graphics\Shaders.o||In function `_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsPN8Graphics7Shaders6ShaderEEEEC2ERKSA_':| )]+0x28)||undefined reference to `__imp____glewCreateShader'| )]+0x3e)||undefined reference to `__imp____glewShaderSource'| )]+0x69)||undefined reference to `__imp____glewCompileShader'| )]+0xa3)||undefined reference to `__imp____glewCreateShader'| obj\Debug\Engine\Graphics\Shaders.o||In function `_ZN8Graphics7Shaders14PrintLogShaderEj':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Shaders.cpp|39|undefined reference to `__imp____glewShaderSource'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Shaders.cpp|44|undefined reference to `__imp____glewCompileShader'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Shaders.cpp|45|undefined reference to `__imp____glewCreateProgram'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Shaders.cpp|47|undefined reference to `__imp____glewAttachShader'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Shaders.cpp|47|undefined reference to `__imp____glewAttachShader'| obj\Debug\Engine\Graphics\Shaders.o||In function `_ZN8Graphics7Shaders9AddShaderERKSsS2_S2_':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\Shaders.cpp|103|undefined reference to `__imp____glewLinkProgram'| obj\Debug\Engine\Graphics\Shaders.o||In function `_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsPN8Graphics7Shaders6ShaderEEEEC2ERKSA_':| C:\Program Files\CodeBlocks\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\include\c++\3.4.5\bits\allocator.h:(.text$_ZN8Graphics7Shaders6Shader4BindEv[Graphics::Shaders::Shader::Bind()]+0x21)||undefined reference to `__imp____glewUseProgram'| obj\Debug\Engine\Graphics\SpriteSheet.o||In function `_ZN8Graphics11SpriteSheet12MakeResidentEv':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\SpriteSheet.cpp|19|undefined reference to `_glGenTextures@8'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\SpriteSheet.cpp|20|undefined reference to `_glBindTexture@8'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\SpriteSheet.cpp|23|undefined reference to `_glTexImage2D@36'| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\SpriteSheet.cpp|29|undefined reference to `_glTexImage2D@36'| obj\Debug\Engine\Graphics\SpriteSheet.o||In function `_ZN8Graphics11SpriteSheetD2Ev':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\SpriteSheet.cpp|106|undefined reference to `_glDeleteTextures@8'| obj\Debug\Engine\Graphics\SpriteSheet.o||In function `_ZN8Graphics11SpriteSheetD1Ev':| ~Full path removed~My Documents\CodeBlock\xsera\Engine\Graphics\SpriteSheet.cpp|106|undefined reference to `_glDeleteTextures@8'| ||More errors follow but not being shown.| ||Edit the max errors limit in compiler options...| ||=== Build finished: 50 errors, 1 warnings ===|
  15. I would say that you'd be wasting you're time if you want to get a slow computer. First, compiling takes long enough as it is - why make it take any longer? Second, I would think that you would want your game to perform well, so that you could see how it works, since most of the gaming community have very good computers as well. Third, if your program preforms "mediocrely" on your fast computer, yet it should be fast, then you know it would have a problem on a slower computer without even testing on that slower computer. Just my two cents... adam_o