From: <at...@us...> - 2007-10-29 23:07:47
|
Revision: 520 http://cadcdev.svn.sourceforge.net/cadcdev/?rev=520&view=rev Author: atani Date: 2007-10-29 16:07:45 -0700 (Mon, 29 Oct 2007) Log Message: ----------- support for pushing events out for received data. Modified Paths: -------------- tiki/examples/net/httpclient/src/main.cpp tiki/include/Tiki/net/buffer.h tiki/include/Tiki/net/http/useragent.h tiki/include/Tiki/net/socket.h tiki/include/Tiki/net/tcpsocket.h tiki/src/base/object.cpp tiki/src/net/http/cookiejar.cpp tiki/src/net/http/useragent.cpp tiki/src/net/socket.cpp tiki/src/net/tcpsocket.cpp Modified: tiki/examples/net/httpclient/src/main.cpp =================================================================== --- tiki/examples/net/httpclient/src/main.cpp 2007-10-28 18:38:46 UTC (rev 519) +++ tiki/examples/net/httpclient/src/main.cpp 2007-10-29 23:07:45 UTC (rev 520) @@ -7,6 +7,7 @@ */ #include <Tiki/tiki.h> +#include <Tiki/object.h> #include <Tiki/refcnt.h> #include <Tiki/hid.h> #include <Tiki/tikitime.h> @@ -22,6 +23,27 @@ using namespace Tiki::Net::Http; using namespace Tiki::GL; +class EventReceiver : public Object { + public: + EventReceiver() {} + TIKI_OBJECT_DECLS( EventReceiver ) + + int progressUpdate(Selector *sel, Object *arg) { + SocketProgress *progress = reinterpret_cast<SocketProgress *>(arg); + if(progress->getBytesReceived() > 0) { + Debug::printf("Recv %d/%d\n", progress->getBytesReceived(), progress->getBytesExpected()); + } + else { + Debug::printf("Sent %d/%d\n", progress->getBytesSent(), progress->getBytesExpected()); + } + } +}; + +TIKI_OBJECT_NAME( EventReceiver ) +TIKI_OBJECT_BEGIN( Object, EventReceiver ) +TIKI_OBJECT_RECEIVER( "progressUpdate", EventReceiver::progressUpdate ) +TIKI_OBJECT_END( EventReceiver ) + volatile bool g_quitting = false; void tkCallback( const Hid::Event & evt, void * data ) { if ( evt.type == Hid::Event::EvtQuit ) { @@ -40,12 +62,16 @@ Tiki::Net::connect(); HttpUserAgent *useragent = new HttpUserAgent(); + useragent->connect( "progressUpdate", new EventReceiver() ); useragent->setCookieJar(new CookieJar()); useragent->setIgnoreCookies(false); useragent->getCookieJar()->loadFromXML("cookies.xml"); - //useragent->setProxyHost("proxy.example.com"); - //useragent->setProxyPort(80); + if(argc >= 3) { + useragent->setProxyHost(argv[1]); + useragent->setProxyPort(atoi(argv[2])); + } + Request *request = new Request(); request->setUrl("http://www.google.com/"); Modified: tiki/include/Tiki/net/buffer.h =================================================================== --- tiki/include/Tiki/net/buffer.h 2007-10-28 18:38:46 UTC (rev 519) +++ tiki/include/Tiki/net/buffer.h 2007-10-29 23:07:45 UTC (rev 520) @@ -151,4 +151,4 @@ } // namespace Tiki -#endif // __TIKI_NET_UDPPACKET_H +#endif // __TIKI_NET_BUFFER_H Modified: tiki/include/Tiki/net/http/useragent.h =================================================================== --- tiki/include/Tiki/net/http/useragent.h 2007-10-28 18:38:46 UTC (rev 519) +++ tiki/include/Tiki/net/http/useragent.h 2007-10-29 23:07:45 UTC (rev 520) @@ -24,7 +24,7 @@ using std::string; using std::list; -class HttpUserAgent : public RefCnt { +class HttpUserAgent : public Object { public: HttpUserAgent(); @@ -73,7 +73,10 @@ Response *get(Request *req); Response *post(Request *req); - + + protected: + TIKI_OBJECT_DECLS( HttpUserAgent ) + private: string m_userAgentName; string m_proxyHost; Modified: tiki/include/Tiki/net/socket.h =================================================================== --- tiki/include/Tiki/net/socket.h 2007-10-28 18:38:46 UTC (rev 519) +++ tiki/include/Tiki/net/socket.h 2007-10-29 23:07:45 UTC (rev 520) @@ -8,7 +8,7 @@ #ifndef __TIKI_NET_SOCKET_H #define __TIKI_NET_SOCKET_H -#include "Tiki/refcnt.h" +#include "Tiki/object.h" #include "Tiki/net/address.h" #include "Tiki/net/buffer.h" @@ -16,9 +16,9 @@ namespace Net { -class Socket : public RefCnt +class Socket : public Object { - public: + public: Socket(); Socket(Address *address); virtual ~Socket() {} @@ -77,6 +77,9 @@ virtual bool isOpen() = 0; + protected: + TIKI_OBJECT_DECLS( Socket ) + private: RefPtr<Address> m_peerAddress; RefPtr<Address> m_localAddress; @@ -84,6 +87,30 @@ bool m_reuse; }; +class SocketProgress : public Object { + public: + SocketProgress(size_t expected, size_t received, size_t sent) { + m_expected = expected; + m_received = received; + m_sent = sent; + } + size_t getBytesExpected() { + return m_expected; + } + size_t getBytesReceived() { + return m_received; + } + size_t getBytesSent() { + return m_sent; + } + protected: + TIKI_OBJECT_DECLS( Socket ) + private: + size_t m_expected; + size_t m_received; + size_t m_sent; +}; + } // namespace Net } // namespace Tiki Modified: tiki/include/Tiki/net/tcpsocket.h =================================================================== --- tiki/include/Tiki/net/tcpsocket.h 2007-10-28 18:38:46 UTC (rev 519) +++ tiki/include/Tiki/net/tcpsocket.h 2007-10-29 23:07:45 UTC (rev 520) @@ -32,12 +32,12 @@ class TCPSocket : public Socket { public: - TCPSocket() : m_open(false) {}; - TCPSocket(Address *address) : Socket(address), m_open(false) {}; + TCPSocket() : m_open(false), m_sendEvents(true) {}; + TCPSocket(Address *address) : Socket(address), m_open(false), m_sendEvents(true) {}; #if TIKI_PLAT == TIKI_WIN32 - TCPSocket(Address *address, SOCKET socket) : Socket(address), m_open(true), m_socket(socket) {setNonBlocking(false);}; + TCPSocket(Address *address, SOCKET socket) : Socket(address), m_open(true), m_sendEvents(true), m_socket(socket) {setNonBlocking(false);}; #else - TCPSocket(RefPtr<Address> address, int socket) : Socket(address), m_open(true), m_socket(socket) {setNonBlocking(false);}; + TCPSocket(RefPtr<Address> address, int socket) : Socket(address), m_open(true), m_sendEvents(true), m_socket(socket) {setNonBlocking(false);}; #endif virtual ~TCPSocket() {} @@ -67,8 +67,11 @@ virtual void setNonBlocking(bool blocking); protected: + TIKI_OBJECT_DECLS( TCPSocket ) + uint16 m_port; bool m_open; + bool m_sendEvents; #if TIKI_PLAT == TIKI_WIN32 SOCKET m_socket; #else Modified: tiki/src/base/object.cpp =================================================================== --- tiki/src/base/object.cpp 2007-10-28 18:38:46 UTC (rev 519) +++ tiki/src/base/object.cpp 2007-10-29 23:07:45 UTC (rev 520) @@ -106,8 +106,10 @@ // Find the target method. ReceiverMap::iterator i = m_receivers.find( msg ); if ( i == m_receivers.end() ) { +#if defined(DEBUG_OBJECT) Debug::printf( "WARNING: Selector %s performed on object %s ignored!\n", msg.c_str(), m_className.c_str() ); +#endif return -1; } @@ -128,6 +130,12 @@ Selector targetSel = target.second; if ( targetSel == "" ) targetSel = msg; + if(targetObj == NULL) { +#if defined(DEBUG_OBJECT) + Debug::printf("WARNING: Selector \'%s\' on object %s maps to NULL!\n", msg.c_str(), m_className.c_str()); +#endif + return -1; + } return targetObj->perform( targetSel, this, arg ); } Modified: tiki/src/net/http/cookiejar.cpp =================================================================== --- tiki/src/net/http/cookiejar.cpp 2007-10-28 18:38:46 UTC (rev 519) +++ tiki/src/net/http/cookiejar.cpp 2007-10-29 23:07:45 UTC (rev 520) @@ -73,8 +73,6 @@ } void CookieJar::addCookie(string httpLine, string host, string resource) { - - Tiki::Debug::printf("COOKIE: %s\n", httpLine.c_str()); Cookie *cookie; string value = httpLine; @@ -227,7 +225,6 @@ string name = node->ToElement()->Attribute("name"); TiXmlElement *valueNode = node->FirstChildElement("Value"); string valueEncoded(valueNode->GetText()); - Tiki::Debug::printf(valueNode->GetText()); Buffer buf(valueEncoded.length(), (uint8 *)valueEncoded.c_str()); Buffer *decoded = b64.decode(&buf); string value = (char *)decoded->getData(); @@ -301,4 +298,4 @@ }; // namespace Net -}; // namespace Tiki \ No newline at end of file +}; // namespace Tiki Modified: tiki/src/net/http/useragent.cpp =================================================================== --- tiki/src/net/http/useragent.cpp 2007-10-28 18:38:46 UTC (rev 519) +++ tiki/src/net/http/useragent.cpp 2007-10-29 23:07:45 UTC (rev 520) @@ -28,6 +28,11 @@ using std::istringstream; using std::ios; +TIKI_OBJECT_NAME( HttpUserAgent ) +TIKI_OBJECT_BEGIN( Object, HttpUserAgent ) +TIKI_OBJECT_OUTLET( "progressUpdate" ) +TIKI_OBJECT_END( HttpUserAgent ) + HttpUserAgent::HttpUserAgent() { #if TIKI_PLAT == TIKI_WIN32 m_userAgentName = "Tiki/1.0 (Windows)"; @@ -58,10 +63,6 @@ parseUrl(req->getUrl(), hostname, resource, port); - string requestText; - buildRequest(hostname, resource, port, "GET", req, requestText); - //Tiki::Debug::printf("Request:\n%s", requestText.c_str()); - TCPSocket *socket; if(m_proxyHost.empty()) { socket = new TCPSocket(new Address(hostname, port)); @@ -79,6 +80,9 @@ return response; } + string requestText; + buildRequest(hostname, resource, port, "GET", req, requestText); + Tiki::Debug::printf("Sending request...\n"); Tiki::Debug::printf(requestText.c_str()); socket->send(requestText); @@ -103,10 +107,6 @@ parseUrl(req->getUrl(), hostname, resource, port); - string requestText; - buildRequest(hostname, resource, port, "POST", req, requestText); - //Tiki::Debug::printf("Request:\n%s", requestText.c_str()); - TCPSocket *socket; if(m_proxyHost.empty()) { socket = new TCPSocket(new Address(hostname, port)); @@ -124,10 +124,23 @@ return response; } + string requestText; + buildRequest(hostname, resource, port, "POST", req, requestText); + Tiki::Debug::printf("Sending request...\n"); socket->send(requestText); - + + size_t maxSize = requestText.length(); + size_t sentSize = maxSize; list<string> content = req->getContentPartNames(); + for(list<string>::iterator iter = content.begin(); + iter != content.end(); + ++iter) { + Buffer *buf = req->getContentPart(*iter); + if(buf->getUsedDataLen() > 0) { + maxSize += buf->getUsedDataLen(); + } + } if(content.size() > 1 || req->isForcedMultiPartUpload()) { string status = ""; socket->recv(status); @@ -151,19 +164,26 @@ //Tiki::Debug::printf("CONTENT_HEADER:\n%s", headerText.c_str()); socket->send(headerText); socket->send(buf); + sentSize += buf->getUsedDataLen(); + SocketProgress *progress = new SocketProgress(maxSize, 0, sentSize); + emit( "progressUpdate", progress ); + delete progress; } } string footerText = "\r\n--"; footerText.append(req->getBoundaryMarker()); footerText.append("--\r\n"); - //Tiki::Debug::printf("CONTENT_FOOTER:\n%s", footerText.c_str()); socket->send(footerText); } else if(content.size() == 1) { Buffer *buf = req->getContentPart(*content.begin()); if(buf->getUsedDataLen() > 0) { socket->send(buf); + SocketProgress *progress = new SocketProgress(maxSize, 0, buf->getUsedDataLen()); + emit( "progressUpdate", progress ); + delete progress; } + } readResponse(response, socket); @@ -286,24 +306,23 @@ string status = ""; socket->recv(status); - Tiki::Debug::printf("%s\n", status.c_str()); - - //Tiki::Debug::printf("Status: %s\n", status.c_str()); for(string::size_type i = 0; i < status.length(); i++) { if(status.at(i) == ' ') { response->setResultCode(atoi(status.c_str()+i + 1)); break; } } - + + size_t responseSize = -1; + size_t receivedSoFar = 0; while(1) { string line = ""; socket->recv(line); + receivedSoFar += line.size(); if(line.size() == 0) { // done with headers break; } - //Tiki::Debug::printf("HEADER_LINE: %s\n", line.c_str()); if(line.find(":") != string::npos) { string field = line.substr(0, line.find(":")); string value = line.substr(line.find(":") + 1); @@ -316,12 +335,20 @@ m_cookieJar->addCookie(value, host, resource); } } + else if(!field.compare("Content-Length")) { + responseSize = atoi(value.c_str()); + } else { response->setHeaderParam(field, value); } } + if(responseSize != -1) { + SocketProgress *progress = new SocketProgress(responseSize, receivedSoFar, 0); + emit( "progressUpdate", progress ); + delete progress; + } } - + Buffer *fullBuf = new Buffer(1); if(!response->getHeaderParam("Transfer-Encoding").compare("chunked")) { @@ -344,20 +371,28 @@ sizestream.unsetf(ios::dec); sizestream.setf(ios::skipws); sizestream >> sizeDecoded; + responseSize = receivedSoFar + sizeDecoded; - //Tiki::Debug::printf("chunk size: %d [%s]\n", sizeDecoded, size.c_str()); if(sizeDecoded > 0) { - Buffer *chunkBuf = new Buffer(sizeDecoded); socket->recv(chunkBuf); + receivedSoFar += chunkBuf->getUsedDataLen(); + SocketProgress *progress = new SocketProgress(responseSize, receivedSoFar, 0); + emit( "progressUpdate", progress ); + delete progress; if(chunkBuf->getUsedDataLen() < sizeDecoded) { - //Tiki::Debug::printf("Buffer underflow\n"); size_t needed = sizeDecoded - chunkBuf->getUsedDataLen(); while(needed > 0) { Buffer *chunkBuf2 = new Buffer(needed); socket->recv(chunkBuf2); chunkBuf->append(chunkBuf2); + if(chunkBuf2->getUsedDataLen() > 0) { + receivedSoFar += chunkBuf2->getUsedDataLen(); + SocketProgress *progress = new SocketProgress(responseSize, receivedSoFar, 0); + emit( "progressUpdate", progress ); + delete progress; + } needed -= chunkBuf2->getUsedDataLen(); delete chunkBuf2; } @@ -367,15 +402,17 @@ delete chunkBuf; } } while(sizeDecoded > 0); - //Tiki::Debug::printf("total size: %d %x\n", totalSize, totalSize); } else if(response->getHeaderParam("Content-Length").compare("")) { Tiki::Debug::printf("Encoding is inline\n"); size_t sizeDecoded = atoi(response->getHeaderParam("Content-Length").c_str()); - //Tiki::Debug::printf("decodedSize: %d\n", sizeDecoded); Buffer *chunkBuf = new Buffer(sizeDecoded); socket->recv(chunkBuf); + receivedSoFar += chunkBuf->getUsedDataLen(); + SocketProgress *progress = new SocketProgress(responseSize, receivedSoFar, 0); + emit( "progressUpdate", progress ); + delete progress; if(chunkBuf->getUsedDataLen() < sizeDecoded) { sizeDecoded -= chunkBuf->getUsedDataLen(); @@ -383,6 +420,12 @@ Buffer *chunkBuf2 = new Buffer(sizeDecoded); socket->recv(chunkBuf2); chunkBuf->append(chunkBuf2); + if(chunkBuf2->getUsedDataLen() > 0) { + receivedSoFar += chunkBuf2->getUsedDataLen(); + SocketProgress *progress = new SocketProgress(responseSize, receivedSoFar, 0); + emit( "progressUpdate", progress ); + delete progress; + } sizeDecoded -= chunkBuf2->getUsedDataLen(); delete chunkBuf2; } Modified: tiki/src/net/socket.cpp =================================================================== --- tiki/src/net/socket.cpp 2007-10-28 18:38:46 UTC (rev 519) +++ tiki/src/net/socket.cpp 2007-10-29 23:07:45 UTC (rev 520) @@ -14,6 +14,15 @@ namespace Net { +TIKI_OBJECT_NAME( Socket ) +TIKI_OBJECT_BEGIN( Object, Socket ) +TIKI_OBJECT_OUTLET( "progress" ) +TIKI_OBJECT_END( Socket ) + +TIKI_OBJECT_NAME( SocketProgress ) +TIKI_OBJECT_BEGIN( Object, SocketProgress ) +TIKI_OBJECT_END( SocketProgress ) + Socket::Socket() { m_localAddress = new Address(); Modified: tiki/src/net/tcpsocket.cpp =================================================================== --- tiki/src/net/tcpsocket.cpp 2007-10-28 18:38:46 UTC (rev 519) +++ tiki/src/net/tcpsocket.cpp 2007-10-29 23:07:45 UTC (rev 520) @@ -18,18 +18,26 @@ namespace TCP { +TIKI_OBJECT_NAME( TCPSocket ) +TIKI_OBJECT_BEGIN( Socket, TCPSocket ) +TIKI_OBJECT_OUTLET( "progress" ) +TIKI_OBJECT_END( TCPSocket ) + void TCPSocket::send(Buffer *buffer) { uint8 *data = buffer->getData(); size_t dataLen = buffer->getUsedDataLen(); int len; + size_t dataSent = 0; do { - //Tiki::Debug::printf("sending %d bytes\n", dataLen); len = ::send(m_socket, (const char *)data, (int)dataLen, 0); if(len > 0) { - //Tiki::Debug::printf("sent %d bytes\n", len); dataLen -= len; data += len; + dataSent += len; + SocketProgress *progress = new SocketProgress(buffer->getUsedDataLen(), 0, dataSent); + emit( "progress", progress ); + delete progress; } } while(dataLen > 0 && (len > 0 || errno == EINTR)); } @@ -38,14 +46,17 @@ uint8 *data = (uint8 *)buffer.c_str(); size_t dataLen = buffer.length(); int len; + size_t dataSent = 0; do { - //Tiki::Debug::printf("sending %d bytes\n", dataLen); len = ::send(m_socket, (const char *)data, (int)dataLen, 0); if(len > 0) { - //Tiki::Debug::printf("sent %d bytes\n", len); dataLen -= len; data += len; + dataSent += len; + SocketProgress *progress = new SocketProgress(buffer.length(), 0, dataSent); + emit( "progress", progress ); + delete progress; } } while(dataLen > 0 && (len > 0 || errno == EINTR)); } @@ -61,7 +72,6 @@ memset(tmp, 0, maxReadData); int recvlen = 0; errno = 0; - //Tiki::Debug::printf("receiving %d bytes\n", data->getDataLen()); do { recvlen = ::recv(m_socket, (char *)tmp, (int)maxReadData, 0); #if TIKI_PLAT == TIKI_WIN32 @@ -70,7 +80,11 @@ } while(errno == EINTR); #endif if(recvlen > 0) { - //Tiki::Debug::printf("received %d bytes\nerrno %d\n", recvlen, errno); + if(m_sendEvents) { + SocketProgress *progress = new SocketProgress(maxReadData, recvlen, 0); + emit( "progress", progress ); + delete progress; + } data->setData(tmp, recvlen); } else if(recvlen < 0) { @@ -82,20 +96,27 @@ } void TCPSocket::recv(string &data) { - Buffer *recvBuf = new Buffer(1); - data = ""; - while(isOpen()) { - recvBuf->reset(); - recv(recvBuf); - if(recvBuf->getUsedDataLen() > 0) { - if(recvBuf->getData()[0] != '\n' && recvBuf->getData()[0] != '\r' ) { - data.append((char *)recvBuf->getData()); - } - else if(recvBuf->getData()[0] != '\r' ) { - break; - } - } - } + Buffer *recvBuf = new Buffer(1); + data = ""; + m_sendEvents = false; + while(isOpen()) { + recvBuf->reset(); + recv(recvBuf); + if(recvBuf->getUsedDataLen() > 0) { + if(recvBuf->getData()[0] != '\n' && recvBuf->getData()[0] != '\r' ) { + data.append((char *)recvBuf->getData()); + } + else if(recvBuf->getData()[0] != '\r' ) { + if(data.length() > 0) { + SocketProgress *progress = new SocketProgress(data.length(), data.length(), 0); + emit( "progress", progress ); + delete progress; + } + break; + } + } + } + m_sendEvents = true; delete recvBuf; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <at...@us...> - 2007-10-30 00:26:23
|
Revision: 521 http://cadcdev.svn.sourceforge.net/cadcdev/?rev=521&view=rev Author: atani Date: 2007-10-29 17:26:20 -0700 (Mon, 29 Oct 2007) Log Message: ----------- * added LightBarMenu drawable * added a couple examples using GenericMenu and the LightBarMenu Modified Paths: -------------- tiki/dc/src/platgl.cpp tiki/examples/Makefile tiki/include/Tiki/gl.h tiki/nds/src/platgl.cpp tiki/osx/src/platgl.cpp tiki/sdl/src/platgl.cpp tiki/win32/src/platgl.cpp Added Paths: ----------- tiki/examples/menu/ tiki/examples/menu/Makefile tiki/examples/menu/basic/ tiki/examples/menu/basic/Makefile tiki/examples/menu/basic/resources/ tiki/examples/menu/basic/resources/ca-logo.png tiki/examples/menu/basic/src/ tiki/examples/menu/basic/src/MenuBasic.cpp tiki/examples/menu/basic/src/main.cpp tiki/examples/menu/popup/ tiki/examples/menu/popup/Makefile tiki/examples/menu/popup/resources/ tiki/examples/menu/popup/resources/ca-logo.png tiki/examples/menu/popup/resources/typewriter.txf tiki/examples/menu/popup/src/ tiki/examples/menu/popup/src/MenuPopup.cpp tiki/examples/menu/popup/src/main.cpp tiki/include/Tiki/drawables/lightbarmenu.h tiki/src/gl/drawables/lightbarmenu.cpp Modified: tiki/dc/src/platgl.cpp =================================================================== --- tiki/dc/src/platgl.cpp 2007-10-29 23:07:45 UTC (rev 520) +++ tiki/dc/src/platgl.cpp 2007-10-30 00:26:20 UTC (rev 521) @@ -31,9 +31,13 @@ return Vector( 640.0f, 480.0f, 0.0f ); } +Vector getScreenCenter() { + return Vector( 320.0f, 240.0f, 0.0f ); } + } } +} extern "C" { Modified: tiki/examples/Makefile =================================================================== --- tiki/examples/Makefile 2007-10-29 23:07:45 UTC (rev 520) +++ tiki/examples/Makefile 2007-10-30 00:26:20 UTC (rev 521) @@ -1,5 +1,5 @@ -SUBDIRS = events console net nehe +SUBDIRS = events menu console net nehe TIKI_DIR ?= $(CURDIR)/../ include $(TIKI_DIR)$(TIKI_PLAT)/Makefile.rules Added: tiki/examples/menu/Makefile =================================================================== --- tiki/examples/menu/Makefile (rev 0) +++ tiki/examples/menu/Makefile 2007-10-30 00:26:20 UTC (rev 521) @@ -0,0 +1,8 @@ + +SUBDIRS = basic popup + +TIKI_DIR ?= $(CURDIR)/../../ +include $(TIKI_DIR)$(TIKI_PLAT)/Makefile.rules + +all: subdirs +clean: clean_subdirs Added: tiki/examples/menu/basic/Makefile =================================================================== --- tiki/examples/menu/basic/Makefile (rev 0) +++ tiki/examples/menu/basic/Makefile 2007-10-30 00:26:20 UTC (rev 521) @@ -0,0 +1,26 @@ + +CFLAGS=-I$(TIKI_DIR)$(TIKI_PLAT)/include -I$(TIKI_DIR)include +OBJS = $(patsubst %.cpp,%.o,$(wildcard src/*.cpp)) + +ifeq ($(TIKI_PLAT),nds) +NDS_CART_CODE ?= MENU +NDS_CART_ID ?= TK +NDS_CART_NAME ?= MenuBasic +NDS_CART_VERSION ?= 1 +endif + +all: menu_popup +menu_popup: $(OBJS) + $(build_romdisk) + $(CXX) $(LDFLAGS) -L$(TIKI_DIR)$(TIKI_PLAT) -L$(TIKI_DIR)$(TIKI_PLAT)/lib $(OBJS) $(TIKI_BASE_LIBS) -o menu_basic$(PLATFORM_BINARY_EXT) $(ROMDISK_OBJ) + $(post_build) + +clean: + -rm -f $(OBJS) menu_basic$(PLATFORM_BINARY_EXT) $(ROMDISK_OBJ) +ifeq ($(TIKI_PLAT),nds) + -rm -f menu_basic.nds menu_basic.ds.gba +endif + +TIKI_DIR ?= $(CURDIR)/../../../ +DEPSDIR=$(CURDIR) +include $(TIKI_DIR)$(TIKI_PLAT)/Makefile.rules Property changes on: tiki/examples/menu/basic/Makefile ___________________________________________________________________ Name: svn:executable + * Added: tiki/examples/menu/basic/resources/ca-logo.png =================================================================== (Binary files differ) Property changes on: tiki/examples/menu/basic/resources/ca-logo.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: tiki/examples/menu/basic/src/MenuBasic.cpp =================================================================== --- tiki/examples/menu/basic/src/MenuBasic.cpp (rev 0) +++ tiki/examples/menu/basic/src/MenuBasic.cpp 2007-10-30 00:26:20 UTC (rev 521) @@ -0,0 +1,27 @@ +/* +* MenuBasic.cpp +* Basic menu example +* +* Copyright (C)2007 Atani Software +* +*/ + +#include <Tiki/tiki.h> +#include <pch.h> + +#if TIKI_PLAT == TIKI_WIN32 +#include <windows.h> + +static char szAppName[] = "MenuBasic"; +int APIENTRY WinMain( HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) +#else +extern "C" int tiki_main( int argc, char *argv[] ); +int main( int argc, char *argv[] ) +#endif +{ +#if TIKI_PLAT != TIKI_WIN32 + return tiki_main( argc, argv ); +#else + return Tiki::DoMain( szAppName, hInst, hPrevInstance, lpCmdLine, nCmdShow ); +#endif +} Added: tiki/examples/menu/basic/src/main.cpp =================================================================== --- tiki/examples/menu/basic/src/main.cpp (rev 0) +++ tiki/examples/menu/basic/src/main.cpp 2007-10-30 00:26:20 UTC (rev 521) @@ -0,0 +1,60 @@ +/* +* main.cpp +* Basic menu example +* +* Copyright (C)2007 Atani Software +* +*/ + +#include <Tiki/tiki.h> +#include <Tiki/gl.h> +#include <Tiki/hid.h> +#include <Tiki/genmenu.h> +#include <Tiki/texture.h> +#include <Tiki/drawables/banner.h> + +using namespace Tiki; +using namespace Tiki::GL; + +class BasicMenuExample : public GenericMenu { + public: + BasicMenuExample() { +#if TIKI_PLAT == TIKI_DC + m_image = new Texture("/rd/ca-logo.png", true); +#else + m_image = new Texture("ca-logo.png", true); +#endif + Vector screenSize = Frame::getScreenExtents(); + m_scene->setTranslate(Frame::getScreenCenter() + Vector(0.0f, 0.0f, 10.0f)); + + m_background = new Banner(Drawable::Opaque, m_image); + m_background->setSize(screenSize.x, screenSize.y); + m_background->setTranslate(Vector(0.0f, 0.0f, 1.0f)); + m_scene->subAdd(m_background); + } + protected: + virtual void inputEvent(const Event & evt) + { + if ( evt.type == Hid::Event::EvtQuit ) { + startExit(); + } + else if (evt.type == Hid::Event::EvtKeypress && evt.key == Hid::Event::KeyEsc) { + startExit(); + } + } + + private: + RefPtr<Banner> m_background; + RefPtr<Texture> m_image; +}; + +extern "C" int tiki_main(int argc, char *argv[]) +{ + Tiki::init(argc, argv); + + BasicMenuExample example; + example.doMenu(); + + Tiki::shutdown(); + return 0; +} Added: tiki/examples/menu/popup/Makefile =================================================================== --- tiki/examples/menu/popup/Makefile (rev 0) +++ tiki/examples/menu/popup/Makefile 2007-10-30 00:26:20 UTC (rev 521) @@ -0,0 +1,26 @@ + +CFLAGS=-I$(TIKI_DIR)$(TIKI_PLAT)/include -I$(TIKI_DIR)include +OBJS = $(patsubst %.cpp,%.o,$(wildcard src/*.cpp)) + +ifeq ($(TIKI_PLAT),nds) +NDS_CART_CODE ?= MENU +NDS_CART_ID ?= TK +NDS_CART_NAME ?= MenuPopup +NDS_CART_VERSION ?= 1 +endif + +all: menu_popup +menu_popup: $(OBJS) + $(build_romdisk) + $(CXX) $(LDFLAGS) -L$(TIKI_DIR)$(TIKI_PLAT) -L$(TIKI_DIR)$(TIKI_PLAT)/lib $(OBJS) $(TIKI_BASE_LIBS) -o menu_popup$(PLATFORM_BINARY_EXT) $(ROMDISK_OBJ) + $(post_build) + +clean: + -rm -f $(OBJS) menu_popup$(PLATFORM_BINARY_EXT) $(ROMDISK_OBJ) +ifeq ($(TIKI_PLAT),nds) + -rm -f menu_popup.nds menu_popup.ds.gba +endif + +TIKI_DIR ?= $(CURDIR)/../../../ +DEPSDIR=$(CURDIR) +include $(TIKI_DIR)$(TIKI_PLAT)/Makefile.rules Property changes on: tiki/examples/menu/popup/Makefile ___________________________________________________________________ Name: svn:executable + * Added: tiki/examples/menu/popup/resources/ca-logo.png =================================================================== (Binary files differ) Property changes on: tiki/examples/menu/popup/resources/ca-logo.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: tiki/examples/menu/popup/resources/typewriter.txf =================================================================== (Binary files differ) Property changes on: tiki/examples/menu/popup/resources/typewriter.txf ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: tiki/examples/menu/popup/src/MenuPopup.cpp =================================================================== --- tiki/examples/menu/popup/src/MenuPopup.cpp (rev 0) +++ tiki/examples/menu/popup/src/MenuPopup.cpp 2007-10-30 00:26:20 UTC (rev 521) @@ -0,0 +1,27 @@ +/* +* MenuPopup.cpp +* Basic Popup menu +* +* Copyright (C)2007 Atani Software +* +*/ + +#include <Tiki/tiki.h> +#include <pch.h> + +#if TIKI_PLAT == TIKI_WIN32 +#include <windows.h> + +static char szAppName[] = "MenuPopup"; +int APIENTRY WinMain( HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) +#else +extern "C" int tiki_main( int argc, char *argv[] ); +int main( int argc, char *argv[] ) +#endif +{ +#if TIKI_PLAT != TIKI_WIN32 + return tiki_main( argc, argv ); +#else + return Tiki::DoMain( szAppName, hInst, hPrevInstance, lpCmdLine, nCmdShow ); +#endif +} Added: tiki/examples/menu/popup/src/main.cpp =================================================================== --- tiki/examples/menu/popup/src/main.cpp (rev 0) +++ tiki/examples/menu/popup/src/main.cpp 2007-10-30 00:26:20 UTC (rev 521) @@ -0,0 +1,92 @@ +/* +* MenuPopup.cpp +* Basic Popup menu +* +* Copyright (C)2007 Atani Software +* +*/ + +#include <Tiki/tiki.h> +#include <Tiki/gl.h> +#include <Tiki/hid.h> +#include <Tiki/genmenu.h> +#include <Tiki/font.h> +#include <Tiki/texture.h> +#include <Tiki/drawables/banner.h> +#include <Tiki/drawables/lightbarmenu.h> + +using namespace Tiki; +using namespace Tiki::GL; + +class PopupMenuExample : public GenericMenu { + public: + PopupMenuExample() { +#if TIKI_PLAT == TIKI_DC + m_image = new Texture("/rd/ca-logo.png", true); + m_font = new Font("/rd/typewriter.txf"); +#else + m_image = new Texture("ca-logo.png", true); + m_font = new Font("typewriter.txf"); +#endif + Vector screenSize = Frame::getScreenExtents(); + m_scene->setTranslate(Frame::getScreenCenter() + Vector(0.0f, 0.0f, 10.0f)); + + std::list<std::string> options; + options.push_back("Option 1"); + options.push_back("Option 2"); + options.push_back("Option 3"); + options.push_back("Quit"); + m_menu = new LightBarMenu(options, m_font); + m_menu->setTranslate(Vector(0.0f, 0.0f, 2.0f)); + m_scene->subAdd(m_menu); + + m_background = new Banner(Drawable::Opaque, m_image); + m_background->setSize(screenSize.x, screenSize.y); + m_background->setTranslate(Vector(0.0f, 0.0f, 1.0f)); + m_scene->subAdd(m_background); + } + + int getResult() { + return m_menu->getResult(); + } + + protected: + virtual void inputEvent(const Event & evt) + { + // the lightbar menu drawable handles all events while it is active + if(m_menu->inputEvent(evt)) + { + startExit(); + } + } + private: + RefPtr<LightBarMenu> m_menu; + RefPtr<Banner> m_background; + RefPtr<Texture> m_image; + RefPtr<Font> m_font; +}; + +volatile bool g_quitting = false; +void tkCallback( const Hid::Event & evt, void * data ) { + if ( evt.type == Hid::Event::EvtQuit ) { + g_quitting = true; + } + else if (evt.type == Hid::Event::EvtKeypress && evt.key == Hid::Event::KeyEsc) { + g_quitting = true; + } +} + +extern "C" int tiki_main(int argc, char *argv[]) +{ + Tiki::init(argc, argv); + Hid::callbackReg( tkCallback, NULL ); + + PopupMenuExample example; + example.doMenu(); + + Debug::printf("You chose option %d\n", example.getResult()); + + Tiki::shutdown(); + + return 0; +} Added: tiki/include/Tiki/drawables/lightbarmenu.h =================================================================== --- tiki/include/Tiki/drawables/lightbarmenu.h (rev 0) +++ tiki/include/Tiki/drawables/lightbarmenu.h 2007-10-30 00:26:20 UTC (rev 521) @@ -0,0 +1,55 @@ +/* + Tiki + + lightbarmenu.h + + Copyright (C)2007 Atani Software + */ +#ifndef __TIKI_DRW_LIGHTBAR_H +#define __TIKI_DRW_LIGHTBAR_H + +#include "Tiki/drawable.h" +#include "Tiki/drawables/label.h" +#include "Tiki/vector.h" +#include "Tiki/color.h" +#include "Tiki/hid.h" + +#include <list> + +namespace Tiki { + +namespace GL { + +class LightBarMenu : public Drawable +{ + public: + LightBarMenu(std::list<std::string> options, + Font *fh, + bool smearText = false, + bool needBox = true, + float borderSize = 3.0f, + const Color boxColor = Color(0.5f, 0.0f, 0.0f, 0.75f), + const Color borderColor = Color(0.5f, 0.75f, 0.0f, 0.0f)); + bool inputEvent(const Hid::Event &evt); + int getResult(); + + virtual void draw(ObjType t); + + private: + bool m_needBox; + Color m_boxColor; + Color m_borderColor; + float m_borderSize; + float m_width; + float m_height; + int m_cursel; + std::list< RefPtr<Label> > m_options; + std::list<Vector> m_optionsPosCache; + Color m_colorSelected; + Color m_colorDefault; +}; + +} // namespace GL +} // namespace Tiki + +#endif // __TIKI_DRW_LIGHTBAR_H Modified: tiki/include/Tiki/gl.h =================================================================== --- tiki/include/Tiki/gl.h 2007-10-29 23:07:45 UTC (rev 520) +++ tiki/include/Tiki/gl.h 2007-10-30 00:26:20 UTC (rev 521) @@ -44,6 +44,9 @@ // defaults to window size for platform. Tiki::Math::Vector getScreenExtents(); +// Returns a suitable Vector pointing to the screen center +Tiki::Math::Vector getScreenCenter(); + } } } Modified: tiki/nds/src/platgl.cpp =================================================================== --- tiki/nds/src/platgl.cpp 2007-10-29 23:07:45 UTC (rev 520) +++ tiki/nds/src/platgl.cpp 2007-10-30 00:26:20 UTC (rev 521) @@ -27,6 +27,10 @@ return Vector( 256.0f, 192.0f, 0.0f ); } +Vector getScreenCenter() { + return Vector( 128.0f, 96.0f, 0.0f ); +} + float getFrameRate() { uint64 cur = Tiki::Time::gettime(); Modified: tiki/osx/src/platgl.cpp =================================================================== --- tiki/osx/src/platgl.cpp 2007-10-29 23:07:45 UTC (rev 520) +++ tiki/osx/src/platgl.cpp 2007-10-30 00:26:20 UTC (rev 521) @@ -74,6 +74,10 @@ return Vector( 640.0f, 480.0f, 0.0f ); } +Vector getScreenCenter() { + return Vector( 320.0f, 240.0f, 0.0f ); } + } } +} Modified: tiki/sdl/src/platgl.cpp =================================================================== --- tiki/sdl/src/platgl.cpp 2007-10-29 23:07:45 UTC (rev 520) +++ tiki/sdl/src/platgl.cpp 2007-10-30 00:26:20 UTC (rev 521) @@ -48,9 +48,13 @@ return Vector( 640.0f, 480.0f, 0.0f ); } +Vector getScreenCenter() { + return Vector( 320.0f, 240.0f, 0.0f ); } + } } +} extern "C" { Added: tiki/src/gl/drawables/lightbarmenu.cpp =================================================================== --- tiki/src/gl/drawables/lightbarmenu.cpp (rev 0) +++ tiki/src/gl/drawables/lightbarmenu.cpp 2007-10-30 00:26:20 UTC (rev 521) @@ -0,0 +1,216 @@ +/* + Tiki + + lightbarmenu.cpp + + Copyright (C)2007 Atani Software + */ + +#include "pch.h" +#include "Tiki/drawables/lightbarmenu.h" + +using namespace Tiki::GL; +using namespace Tiki::Hid; + +LightBarMenu::LightBarMenu(std::list<std::string> options, + Font *fh, bool smearText, bool needBox, float borderSize, + Color boxColor, Color borderColor) +{ + m_needBox = needBox; + m_borderSize = borderSize; + m_borderColor = borderColor; + m_boxColor = boxColor; + m_colorSelected = Color(1, 1, 0, 1); + m_colorDefault = Color(1, 1, 1, 1); + m_cursel = 0; + m_height = 0.0f; + m_width = 0.0f; + + float y = 10.0f; + for(std::list<std::string>::const_iterator iter = options.begin(); iter != options.end(); iter++) + { + float h, w; + std::string str = *iter; + fh->getTextSize(str, w, h); + if(m_width < w) + { + m_width = w; + } + RefPtr<Label> tempLabel = new Label(fh, str, 24, true, true); + tempLabel->setTranslate(Vector(0.0f, y, 0.01f)); + Vector locTL = Vector(0.0f, y, 0.01f); + locTL.x -= w / 2; + locTL.y -= h / 2; + m_optionsPosCache.push_back(locTL); + Vector locBR = Vector(0.0f, y, 0.01f); + locBR.x += w / 2; + locBR.y += h / 2; + m_optionsPosCache.push_back(locBR); + m_options.push_back(tempLabel); + subAdd(tempLabel); + y += 25.0f; + } + m_height = (y - 10.0f) + (m_borderSize * 2); + m_width += (m_borderSize * 2); + + m_options.front()->setTint(m_colorSelected); +} + +bool LightBarMenu::inputEvent(const Event &evt) +{ + if(evt.dev == NULL || evt.type == Event::EvtQuit) + { + return true; + } + switch(evt.dev->getType()) + { + case Device::TypeKeyboard: + if(evt.type == Event::EvtKeyUp) + { + switch(evt.key) + { + case Event::KeyUp: + if(m_cursel > 0) + { + m_cursel--; + } + else + { + m_cursel = static_cast<int>(m_options.size() - 1); + } + break; + case Event::KeyDown: + if(static_cast<std::list< RefPtr<Label> >::size_type>(m_cursel) < + m_options.size() - 1) + { + m_cursel++; + } + else + { + m_cursel = 0; + } + break; + case 27: // ESCAPE KEY + m_cursel = -1; + case '\r': + case '\n': + return true; + } + } + break; + case Device::TypeJoystick: + switch(evt.btn) + { + case Event::BtnUp: + if(m_cursel > 0) + { + m_cursel--; + } + else + { + m_cursel = static_cast<int>(m_options.size() - 1); + } + break; + case Event::BtnDown: + if(static_cast<std::list< RefPtr<Label> >::size_type>(m_cursel) < + m_options.size() - 1) + { + m_cursel++; + } + else + { + m_cursel = 0; + } + break; + case Event::BtnB: + m_cursel = -1; + case Event::BtnA: + return true; + } + break; + case Device::TypeMouse: + { + int cnt = -1; + switch(evt.type) + { + case Event::EvtMouseMove: + for(std::list<Vector>::const_iterator iter = m_optionsPosCache.begin(); iter != m_optionsPosCache.end(); iter++) + { + cnt++; + const Vector &tl = *iter; + const Vector &br = *++iter; + + if( (evt.x >= tl.x && evt.x <= br.x) && + (evt.y >= tl.y && evt.y <= br.y)) + { + m_cursel = cnt; + } + } + break; + case Event::EvtBtnPress: + for(std::list<Vector>::const_iterator iter = m_optionsPosCache.begin(); iter != m_optionsPosCache.end(); iter++) + { + cnt++; + const Vector &tl = *iter; + const Vector &br = *++iter; + + if( (evt.x >= tl.x && evt.x <= br.x) && + (evt.y >= tl.y && evt.y <= br.y)) + { + m_cursel = cnt; + return true; + } + } + break; + } + } + break; + default: + Tiki::Debug::printf("Unknown Device: %d\n", evt.dev->getType()); + } + + int counter = 0; + for(std::list< RefPtr<Label> >::const_iterator iter = m_options.begin(); iter != m_options.end(); iter++) + { + Label *label = *iter; + label->setTint(m_colorDefault); + if(counter == m_cursel) + { + label->setTint(m_colorSelected); + } + counter++; + } + return false; +} + +int LightBarMenu::getResult() +{ + Tiki::Debug::printf("Result: %d\n", m_cursel); + return m_cursel; +} + +void LightBarMenu::draw(ObjType list) +{ + if(!m_needBox) + { + return; + } + else if(list==Trans) + { + const Vector & tv = getPosition(); + Texture::deselect(); + glBegin(GL_QUADS); + m_borderColor.select(); + glBegin(GL_QUADS); + glVertex3f(tv.x - m_width/2, tv.y, tv.z / 1000.0f); + glVertex3f(tv.x + m_width/2, tv.y, tv.z / 1000.0f); + glVertex3f(tv.x + m_width/2, tv.y + m_height, tv.z / 1000.0f); + glVertex3f(tv.x - m_width/2, tv.y + m_height, tv.z / 1000.0f); + m_boxColor.select(); + glVertex3f(tv.x - (m_width - m_borderSize)/2, tv.y + m_borderSize, tv.z / 1000.0f); + glVertex3f(tv.x + (m_width - m_borderSize)/2, tv.y + m_borderSize, tv.z / 1000.0f); + glVertex3f(tv.x + (m_width - m_borderSize)/2, tv.y + (m_height - m_borderSize), tv.z / 1000.0f); + glVertex3f(tv.x - (m_width - m_borderSize)/2, tv.y + (m_height - m_borderSize), tv.z / 1000.0f); + glEnd(); + } +} Modified: tiki/win32/src/platgl.cpp =================================================================== --- tiki/win32/src/platgl.cpp 2007-10-29 23:07:45 UTC (rev 520) +++ tiki/win32/src/platgl.cpp 2007-10-30 00:26:20 UTC (rev 521) @@ -324,9 +324,13 @@ return Vector( static_cast<float>(m_targetW), static_cast<float>(m_targetH), 0.0f ); } +Vector getScreenCenter() { + return Vector( static_cast<float>(m_targetW / 2), static_cast<float>(m_targetH / 2), 0.0f ); } + } } +} extern "C" void tiki_scene_begin_hook() { // Set up our GL context for painting, if needed. If this is another This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <at...@us...> - 2007-10-30 18:43:53
|
Revision: 523 http://cadcdev.svn.sourceforge.net/cadcdev/?rev=523&view=rev Author: atani Date: 2007-10-30 11:43:38 -0700 (Tue, 30 Oct 2007) Log Message: ----------- more NDS work, still not 100% functional for textures :( Modified Paths: -------------- tiki/examples/menu/basic/Makefile tiki/nds/src/init_shutdown.cpp tiki/src/gl/font.cpp tiki/src/gl/genmenu.cpp tiki/src/gl/gl.cpp tiki/src/gl/texture.cpp Property Changed: ---------------- tiki/examples/events/ tiki/examples/events/src/ tiki/examples/menu/basic/ tiki/examples/menu/basic/src/ tiki/examples/menu/popup/ tiki/examples/menu/popup/src/ Property changes on: tiki/examples/events ___________________________________________________________________ Name: svn:ignore - Debug *.user + Debug Release *.user *.nds *.ds.gba Property changes on: tiki/examples/events/src ___________________________________________________________________ Name: svn:ignore + *.d Property changes on: tiki/examples/menu/basic ___________________________________________________________________ Name: svn:ignore + Debug Release *.user *.nds *.ds.gba Modified: tiki/examples/menu/basic/Makefile =================================================================== --- tiki/examples/menu/basic/Makefile 2007-10-30 05:05:47 UTC (rev 522) +++ tiki/examples/menu/basic/Makefile 2007-10-30 18:43:38 UTC (rev 523) @@ -9,8 +9,8 @@ NDS_CART_VERSION ?= 1 endif -all: menu_popup -menu_popup: $(OBJS) +all: menu_basic +menu_basic: $(OBJS) $(build_romdisk) $(CXX) $(LDFLAGS) -L$(TIKI_DIR)$(TIKI_PLAT) -L$(TIKI_DIR)$(TIKI_PLAT)/lib $(OBJS) $(TIKI_BASE_LIBS) -o menu_basic$(PLATFORM_BINARY_EXT) $(ROMDISK_OBJ) $(post_build) Property changes on: tiki/examples/menu/basic/src ___________________________________________________________________ Name: svn:ignore + *.d Property changes on: tiki/examples/menu/popup ___________________________________________________________________ Name: svn:ignore + Debug Release *.user *.nds *.ds.gba Property changes on: tiki/examples/menu/popup/src ___________________________________________________________________ Name: svn:ignore + *.d Modified: tiki/nds/src/init_shutdown.cpp =================================================================== --- tiki/nds/src/init_shutdown.cpp 2007-10-30 05:05:47 UTC (rev 522) +++ tiki/nds/src/init_shutdown.cpp 2007-10-30 18:43:38 UTC (rev 523) @@ -29,41 +29,43 @@ bool init( int argc, char **argv ) { // Turn on everything - powerON( POWER_ALL ); - + powerON( POWER_ALL ); + lcdMainOnTop(); - consoleDemoInit(); - - // Setup the Main screen for 3D - videoSetMode( MODE_0_3D ); + consoleDemoInit(); - //vramSetBankA( VRAM_A_TEXTURE ); - + // Setup the Main screen for 3D + videoSetMode( MODE_0_3D ); + vramSetBankA( VRAM_A_TEXTURE ); + Tiki::Debug::printf("Enabling IRQs\n"); // IRQ basic setup irqInit(); - irqSet(IRQ_VBLANK, 0); - + irqSet(IRQ_VBLANK, 0); + Tiki::Debug::printf("Enabling GL\n"); // initialize the geometry engine - glInit(); + glInit(); glEnable(GL_TEXTURE_2D); - // Set our viewport to be the same size as the screen - glViewport(0,0,255,191); - // enable antialiasing glEnable(GL_ANTIALIAS); glClearColor(0,0,0,31); // BG must be opaque for AA to work glClearPolyID(63); // BG must have a unique polygon ID for AA to work - glClearDepth( 0x7FFFF ); + glClearDepth( 0x7FFF ); + // Set our viewport to be the same size as the screen + glViewport(0,0,255,191); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(70, 256.0 / 192.0, 0.1, 100); - glMatrixMode(GL_MODELVIEW); + + + glLight(0, RGB15(31,31,31) , 0, floattov10(-1.0),0); + glLight(1, RGB15(31,31,31) , 0,0,floattov10(-1.0)); + glLight(2, RGB15(31,31,31) , 0,0,floattov10(1.0)); //need to set up some material properties since DS does not have them set by default glMaterialf(GL_AMBIENT, RGB15(16,16,16)); @@ -74,11 +76,13 @@ //ds uses a table for shinyness..this generates a half-ass one glMaterialShinyness(); - glPolyFmt(POLY_ALPHA(31) | POLY_CULL_NONE ); + glPolyFmt(POLY_ALPHA(31) | POLY_CULL_FRONT | POLY_FORMAT_LIGHT0| POLY_FORMAT_LIGHT1| POLY_FORMAT_LIGHT2 ); + + glMatrixMode(GL_MODELVIEW); // set a default color. glColor3f(1, 1, 1); - + Tiki::Debug::printf("Enabling libFAT\n"); // initialize libfat fatInitDefault(); @@ -86,17 +90,17 @@ // initialize parallax Tiki::Debug::printf("Enabling Sound\n"); Audio::Stream::initGlobal(); - Hid::init(); - + Hid::init(); + irqSet( IRQ_TIMER3, Timer_50ms ); // setup timer IRQ - irqEnable( IRQ_TIMER3 ); - Tiki::Debug::printf("Enabling Wifi\n"); + irqEnable( IRQ_TIMER3 ); + Tiki::Debug::printf("Enabling Wifi\n"); { // send fifo message to initialize the arm7 wifi REG_IPC_FIFO_CR = IPC_FIFO_ENABLE | IPC_FIFO_SEND_CLEAR; // enable & clear FIFO u32 Wifi_pass = Wifi_Init( WIFIINIT_OPTION_USELED ); REG_IPC_FIFO_TX = 0x12345678; - REG_IPC_FIFO_TX = Wifi_pass; + REG_IPC_FIFO_TX = Wifi_pass; irqEnable( IRQ_FIFO_NOT_EMPTY ); REG_IPC_FIFO_CR = IPC_FIFO_ENABLE | IPC_FIFO_RECV_IRQ; // enable FIFO IRQ Modified: tiki/src/gl/font.cpp =================================================================== --- tiki/src/gl/font.cpp 2007-10-30 05:05:47 UTC (rev 522) +++ tiki/src/gl/font.cpp 2007-10-30 18:43:38 UTC (rev 523) @@ -183,7 +183,7 @@ /* Make sure we can allocate texture space for it */ m_fnt.txr = new Texture; - if ( !m_fnt.txr->createCanvas( hdr.txr_width, hdr.txr_height, Texture::ARGB4444 ) ) { + if ( !m_fnt.txr->createCanvas( hdr.txr_width, hdr.txr_height, Texture::ARGB1555 ) ) { Debug::printf( "Font: can't allocate texture for '%s'\n", fn.c_str() ); return false; } Modified: tiki/src/gl/genmenu.cpp =================================================================== --- tiki/src/gl/genmenu.cpp 2007-10-30 05:05:47 UTC (rev 522) +++ tiki/src/gl/genmenu.cpp 2007-10-30 18:43:38 UTC (rev 523) @@ -138,9 +138,9 @@ glClearColor( m_bg[ 0 ] * m_exitCount, m_bg[ 1 ] * m_exitCount, m_bg[ 2 ] * m_exitCount, 1.0f ); #else - glClearColor( ( uint8 ) ( ( m_bg[ 0 ] * m_exitCount ) * 255 ), - ( uint8 ) ( ( m_bg[ 1 ] * m_exitCount ) * 255 ), - ( uint8 ) ( ( m_bg[ 2 ] * m_exitCount ) * 255 ), 255 ); + glClearColor( ( uint8 ) ( ( m_bg[ 0 ] * m_exitCount ) * 32 ), + ( uint8 ) ( ( m_bg[ 1 ] * m_exitCount ) * 32 ), + ( uint8 ) ( ( m_bg[ 2 ] * m_exitCount ) * 32 ), 31 ); #endif } else { @@ -148,9 +148,9 @@ glClearColor( m_bg[ 0 ], m_bg[ 1 ], m_bg[ 2 ], 1.0f ); #else - glClearColor( ( uint8 ) ( m_bg[ 0 ] * 255 ), - ( uint8 ) ( m_bg[ 1 ] * 255 ), - ( uint8 ) ( m_bg[ 2 ] * 255 ), 255 ); + glClearColor( ( uint8 ) ( m_bg[ 0 ] * 32 ), + ( uint8 ) ( m_bg[ 1 ] * 32 ), + ( uint8 ) ( m_bg[ 2 ] * 32 ), 31 ); #endif } Modified: tiki/src/gl/gl.cpp =================================================================== --- tiki/src/gl/gl.cpp 2007-10-30 05:05:47 UTC (rev 522) +++ tiki/src/gl/gl.cpp 2007-10-30 18:43:38 UTC (rev 523) @@ -39,8 +39,10 @@ glDisable( GL_CULL_FACE ); set2d(); + + Tiki::Math::Vector screen = getScreenExtents(); - glViewport( 0, 0, 640, 480 ); + glViewport( 0, 0, screen.x, screen.y ); glClearDepth( 0.0f ); #if TIKI_PLAT != TIKI_DC glClear( GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT + GL_STENCIL_BUFFER_BIT ); @@ -61,22 +63,16 @@ void Frame::set2d() { glMatrixMode( GL_PROJECTION ); glLoadIdentity(); -#if TIKI_PLAT != TIKI_NDS - glOrtho( 0, 640, 480, 0, 1.0f, -1.0f ); -#else - glOrtho( 0, 256, 192, 0, 0.1f, 100.0f ); -#endif + Tiki::Math::Vector screen = getScreenExtents(); + glOrtho( 0, screen.x, screen.y, 0, 1.0f, -1.0f ); glMatrixMode( GL_MODELVIEW ); } void Frame::set3d() { glMatrixMode( GL_PROJECTION ); glLoadIdentity(); -#if TIKI_PLAT != TIKI_NDS - gluPerspective( 45.0f, 640.0f / 480.0f, 0.1f, 100.0f ); -#else - gluPerspective( 70.0f, 256.0f / 192.0f, 0.1f, 100.0f ); -#endif + Tiki::Math::Vector screen = getScreenExtents(); + gluPerspective( 45.0f, screen.x / screen.y, 0.1f, 100.0f ); glMatrixMode( GL_MODELVIEW ); } @@ -90,22 +86,24 @@ // This will leave the depth testing enabled (to not overdraw // opaque objects) but not update the depth buffer. glDepthMask( GL_FALSE ); +#endif + #if TIKI_PLAT == TIKI_DC glKosFinishList(); #endif glEnable( GL_BLEND ); +#if TIKI_PLAT != TIKI_NDS glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA ); #else // TIKI_NDS - glPolyFmt(POLY_ALPHA(31) | POLY_CULL_NONE); + glPolyFmt(POLY_ALPHA(0) | POLY_CULL_FRONT | POLY_FORMAT_LIGHT0| POLY_FORMAT_LIGHT1| POLY_FORMAT_LIGHT2); #endif } void Frame::transDisable() { // glEnable(GL_DEPTH_TEST); -#if TIKI_PLAT != TIKI_NDS glDisable( GL_BLEND ); -#else - glPolyFmt(POLY_ALPHA(0) | POLY_CULL_NONE); +#if TIKI_PLAT == TIKI_NDS + glPolyFmt(POLY_ALPHA(31) | POLY_CULL_FRONT | POLY_FORMAT_LIGHT0| POLY_FORMAT_LIGHT1| POLY_FORMAT_LIGHT2); #endif } Modified: tiki/src/gl/texture.cpp =================================================================== --- tiki/src/gl/texture.cpp 2007-10-30 05:05:47 UTC (rev 522) +++ tiki/src/gl/texture.cpp 2007-10-30 18:43:38 UTC (rev 523) @@ -65,6 +65,7 @@ } void Texture::convertToGl() { +#if TIKI_PLAT != TIKI_NDS uint16 * src16 = ( uint16 * ) m_ptr; uint8 * dst = m_txrdata; @@ -117,6 +118,7 @@ *dst++ = a; } } +#endif } #if TIKI_PLAT == TIKI_WIN32 @@ -141,7 +143,30 @@ #endif #endif +#if TIKI_PLAT == TIKI_NDS +static void getTextureSize(int x, int y, uint8 *tx, uint8 *ty) { + if(x < 9) { *tx = TEXTURE_SIZE_8; } + else if(x < 17) { *tx = TEXTURE_SIZE_16; } + else if(x < 33) { *tx = TEXTURE_SIZE_32; } + else if(x < 65) { *tx = TEXTURE_SIZE_64; } + else if(x < 129) { *tx = TEXTURE_SIZE_128; } + else if(x < 257) { *tx = TEXTURE_SIZE_256; } + else if(x < 513) { *tx = TEXTURE_SIZE_512; } + else if(x < 1025) { *tx = TEXTURE_SIZE_1024; } + + if(y < 9) { *ty = TEXTURE_SIZE_8; } + else if(y < 17) { *ty = TEXTURE_SIZE_16; } + else if(y < 33) { *ty = TEXTURE_SIZE_32; } + else if(y < 65) { *ty = TEXTURE_SIZE_64; } + else if(y < 129) { *ty = TEXTURE_SIZE_128; } + else if(y < 257) { *ty = TEXTURE_SIZE_256; } + else if(y < 513) { *ty = TEXTURE_SIZE_512; } + else if(y < 1025) { *ty = TEXTURE_SIZE_1024; } +} +#endif + + bool Texture::loadFromFile( const string & fn, int use_alpha ) { RefPtr<Image> img; size_t fnlen; @@ -242,14 +267,17 @@ } glTexEnvi( GL_TEXTURE_2D, GL_TEXTURE_ENV_MODE, GL_MODULATEALPHA ); #elif TIKI_PLAT == TIKI_NDS - glGenTextures( 1, &m_gltxr ); - glBindTexture( 0, m_gltxr ); - if(use_alpha) { - glTexImage2D( 0, 0, GL_RGBA, (m_w/8) - 1, (m_h/8) - 1, 0, TEXGEN_TEXCOORD, m_ptr ); - } - else { - glTexImage2D( 0, 0, GL_RGB, (m_w/8) - 1, (m_h/8) - 1, 0, TEXGEN_TEXCOORD, m_ptr ); - } + uint8 w, h; + getTextureSize(img->w, img->h, &w, &h); + m_w = w; + m_h = h; + Debug::printf("TextureSize: (%d, %d) -> (%d, %d)\n", img->w, img->h, m_w, m_h); + if(use_alpha) { + glTexImage2D( 0, 0, GL_RGBA, m_w, m_h, 0, TEXGEN_TEXCOORD, m_ptr ); + } + else { + glTexImage2D( 0, 0, GL_RGB, m_w, m_h, 0, TEXGEN_TEXCOORD, m_ptr ); + } #endif return true; @@ -293,12 +321,22 @@ return false; } +#if TIKI_PLAT != TIKI_NDS // We'll write the converted data into this buffer if ( m_fmt == RGBA8888 ) m_txrdata = m_ptr; else m_txrdata = new uint8[ m_w * m_h * 4 ]; - +#else + // on the DS we only handle 16 bit textures, so use existing allocated space + m_txrdata = m_ptr; + + uint8 tw, th; + getTextureSize(w, h, &tw, &th); + m_w = tw; + m_h = th; + Debug::printf("TextureSize: (%d, %d) -> (%d, %d)\n", w, h, m_w, m_h); +#endif return true; } @@ -364,21 +402,31 @@ glBindTexture( GL_TEXTURE_2D, m_gltxr ); #if TIKI_PLAT != TIKI_DC && TIKI_PLAT != TIKI_NDS glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, m_w, m_h, 0, GL_RGBA, GL_UNSIGNED_BYTE, m_txrdata ); -#elif TIKI_PLAT != TIKI_NDS +#elif TIKI_PLAT == TIKI_NDS switch ( m_fmt ) { case ARGB1555: - glTexImage2D( GL_TEXTURE_2D, 0, GL_ARGB1555, m_w, m_h, 0, GL_ARGB1555, GL_UNSIGNED_BYTE, m_ptr ); - break; + glTexImage2D( 0, 0, GL_RGBA, m_w, m_h, 0, TEXGEN_TEXCOORD, m_ptr ); + break; + case RGB565: + default: + glTexImage2D( 0, 0, GL_RGB, m_w, m_h, 0, TEXGEN_TEXCOORD, m_ptr ); + break; + } +#elif TIKI_PLAT == TIKI_DC + switch ( m_fmt ) { + case ARGB1555: + glTexImage2D( GL_TEXTURE_2D, 0, GL_ARGB1555, m_w, m_h, 0, GL_ARGB1555, GL_UNSIGNED_BYTE, m_ptr ); + break; case ARGB4444: - glTexImage2D( GL_TEXTURE_2D, 0, GL_ARGB4444, m_w, m_h, 0, GL_ARGB4444, GL_UNSIGNED_BYTE, m_ptr ); - break; + glTexImage2D( GL_TEXTURE_2D, 0, GL_ARGB4444, m_w, m_h, 0, GL_ARGB4444, GL_UNSIGNED_BYTE, m_ptr ); + break; case RGB565: - glTexImage2D( GL_TEXTURE_2D, 0, GL_RGB565, m_w, m_h, 0, GL_RGB565, GL_UNSIGNED_BYTE, m_ptr ); - break; + glTexImage2D( GL_TEXTURE_2D, 0, GL_RGB565, m_w, m_h, 0, GL_RGB565, GL_UNSIGNED_BYTE, m_ptr ); + break; default: - Debug::printf( "Texture::canvasUnlock: Unsupported texture format\n" ); - assert( false ); - break; + Debug::printf( "Texture::canvasUnlock: Unsupported texture format\n" ); + assert( false ); + break; } #endif } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <at...@us...> - 2007-11-04 15:44:32
|
Revision: 524 http://cadcdev.svn.sourceforge.net/cadcdev/?rev=524&view=rev Author: atani Date: 2007-11-04 07:44:30 -0800 (Sun, 04 Nov 2007) Log Message: ----------- fixed compilation error in httpclient on win32 fixed bug in useragent which caused segfault when content-encoding was not chunked. Modified Paths: -------------- tiki/examples/net/httpclient/src/main.cpp tiki/src/net/http/useragent.cpp Modified: tiki/examples/net/httpclient/src/main.cpp =================================================================== --- tiki/examples/net/httpclient/src/main.cpp 2007-10-30 18:43:38 UTC (rev 523) +++ tiki/examples/net/httpclient/src/main.cpp 2007-11-04 15:44:30 UTC (rev 524) @@ -36,6 +36,7 @@ else { Debug::printf("Sent %d/%d\n", progress->getBytesSent(), progress->getBytesExpected()); } + return 0; } }; Modified: tiki/src/net/http/useragent.cpp =================================================================== --- tiki/src/net/http/useragent.cpp 2007-10-30 18:43:38 UTC (rev 523) +++ tiki/src/net/http/useragent.cpp 2007-11-04 15:44:30 UTC (rev 524) @@ -337,6 +337,7 @@ } else if(!field.compare("Content-Length")) { responseSize = atoi(value.c_str()); + response->setHeaderParam(field, value); } else { response->setHeaderParam(field, value); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <at...@us...> - 2007-11-05 17:05:51
|
Revision: 526 http://cadcdev.svn.sourceforge.net/cadcdev/?rev=526&view=rev Author: atani Date: 2007-11-05 09:05:44 -0800 (Mon, 05 Nov 2007) Log Message: ----------- avoid realloc in Buffer if there is enough space in the buffer for the new data. preallocate Buffer when reading the response to an http request. reorganize NDS init (also now uses TIKI_INIT_FLAGS) added TIKI_INIT_DEBUG_* flags to enable the debug console (enabled by default), use TIKI_INIT_DEFAULTS_NODEBUG to enable the defaults without the debug console. Note that this will waste some cycles when calling Tiki::Debug::printf() when the console is not enabled. Modified Paths: -------------- tiki/include/Tiki/net/buffer.h tiki/include/Tiki/tiki.h tiki/nds/src/init_shutdown.cpp tiki/nds/src/platnet.cpp tiki/src/base/debug.cpp tiki/src/gl/gl.cpp tiki/src/net/http/useragent.cpp tiki/win32/src/platgl.cpp tiki/win32/src/platnet.cpp Modified: tiki/include/Tiki/net/buffer.h =================================================================== --- tiki/include/Tiki/net/buffer.h 2007-11-04 17:20:24 UTC (rev 525) +++ tiki/include/Tiki/net/buffer.h 2007-11-05 17:05:44 UTC (rev 526) @@ -70,14 +70,19 @@ } void append(Buffer *buf) { - uint8 * newbuf = new uint8[ m_dataLen + buf->getDataLen() ]; - memset(newbuf, '\0', m_dataLen + buf->getDataLen()); - if(m_data != NULL) { - memcpy(newbuf, m_data, m_usedDataLen); + if(m_dataLen - m_usedDataLen > buf->getUsedDataLen()) { + memcpy(m_data + getUsedDataLen(), buf->getData(), buf->getUsedDataLen()); } - memcpy(newbuf + m_usedDataLen, buf->getData(), buf->getUsedDataLen()); - delete [] m_data; - m_data = newbuf; + else { + uint8 * newbuf = new uint8[ m_dataLen + buf->getDataLen() ]; + memset(newbuf, '\0', m_dataLen + buf->getDataLen()); + if(m_data != NULL) { + memcpy(newbuf, m_data, m_usedDataLen); + } + memcpy(newbuf + m_usedDataLen, buf->getData(), buf->getUsedDataLen()); + delete [] m_data; + m_data = newbuf; + } m_dataLen += buf->getDataLen(); m_usedDataLen += buf->getUsedDataLen(); } Modified: tiki/include/Tiki/tiki.h =================================================================== --- tiki/include/Tiki/tiki.h 2007-11-04 17:20:24 UTC (rev 525) +++ tiki/include/Tiki/tiki.h 2007-11-05 17:05:44 UTC (rev 526) @@ -83,8 +83,13 @@ TIKI_INIT_AUDIO_DEFAULT = TIKI_INIT_AUDIO_STREAM | TIKI_INIT_AUDIO_SFX, TIKI_INIT_AUDIO_MASK = 0x00FF0000, + TIKI_INIT_DEBUG_CONSOLE = 0x01000000, + TIKI_INIT_DEBUG_DEFAULT = TIKI_INIT_DEBUG_CONSOLE, + TIKI_INIT_DEBUG_MASK = 0xFF000000, + TIKI_INIT_NOTHING = 0x00000000, - TIKI_INIT_DEFAULTS = TIKI_INIT_HID_DEFAULT | TIKI_INIT_VIDEO_DEFAULT | TIKI_INIT_AUDIO_DEFAULT, + TIKI_INIT_DEFAULTS = TIKI_INIT_HID_DEFAULT | TIKI_INIT_VIDEO_DEFAULT | TIKI_INIT_AUDIO_DEFAULT | TIKI_INIT_DEBUG_DEFAULT, + TIKI_INIT_DEFAULTS_NODEBUG = TIKI_INIT_HID_DEFAULT | TIKI_INIT_VIDEO_DEFAULT | TIKI_INIT_AUDIO_DEFAULT, } TIKI_INIT_FLAGS_ENUM; } Modified: tiki/nds/src/init_shutdown.cpp =================================================================== --- tiki/nds/src/init_shutdown.cpp 2007-11-04 17:20:24 UTC (rev 525) +++ tiki/nds/src/init_shutdown.cpp 2007-11-05 17:05:44 UTC (rev 526) @@ -1,133 +1,134 @@ -/* - Tiki - - init_shutdown.cpp - - Copyright (C)2005 Atani Software -*/ - -#include "pch.h" - -#include "Tiki/sound.h" -#include "Tiki/stream.h" -#include "Tiki/hid.h" - -#include <nds.h> -#include <fat.h> -#include <dswifi9.h> -#include <dssoundstream.h> - -// notification function to send fifo message to arm7 -void arm9_synctoarm7() { // send fifo message - SendCommandToArm7( 0x87654321 ); -} -// wifi timer function, to update internals of sgIP -void Timer_50ms( void ) { - Wifi_Timer( 50 ); -} -namespace Tiki { - -bool init( int argc, char **argv ) { - // Turn on everything - powerON( POWER_ALL ); - - lcdMainOnTop(); - - consoleDemoInit(); - - // Setup the Main screen for 3D - videoSetMode( MODE_0_3D ); - vramSetBankA( VRAM_A_TEXTURE ); - - Tiki::Debug::printf("Enabling IRQs\n"); - // IRQ basic setup - irqInit(); - irqSet(IRQ_VBLANK, 0); - - Tiki::Debug::printf("Enabling GL\n"); - - // initialize the geometry engine - glInit(); - glEnable(GL_TEXTURE_2D); - - // enable antialiasing - glEnable(GL_ANTIALIAS); - glClearColor(0,0,0,31); // BG must be opaque for AA to work - glClearPolyID(63); // BG must have a unique polygon ID for AA to work - glClearDepth( 0x7FFF ); - // Set our viewport to be the same size as the screen - glViewport(0,0,255,191); - - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - gluPerspective(70, 256.0 / 192.0, 0.1, 100); - - - glLight(0, RGB15(31,31,31) , 0, floattov10(-1.0),0); - glLight(1, RGB15(31,31,31) , 0,0,floattov10(-1.0)); - glLight(2, RGB15(31,31,31) , 0,0,floattov10(1.0)); - - //need to set up some material properties since DS does not have them set by default - glMaterialf(GL_AMBIENT, RGB15(16,16,16)); - glMaterialf(GL_DIFFUSE, RGB15(16,16,16)); - glMaterialf(GL_SPECULAR, BIT(15) | RGB15(8,8,8)); - glMaterialf(GL_EMISSION, RGB15(16,16,16)); - - //ds uses a table for shinyness..this generates a half-ass one - glMaterialShinyness(); - - glPolyFmt(POLY_ALPHA(31) | POLY_CULL_FRONT | POLY_FORMAT_LIGHT0| POLY_FORMAT_LIGHT1| POLY_FORMAT_LIGHT2 ); - - glMatrixMode(GL_MODELVIEW); - - // set a default color. - glColor3f(1, 1, 1); - - Tiki::Debug::printf("Enabling libFAT\n"); - // initialize libfat +/* + Tiki + + init_shutdown.cpp + + Copyright (C)2005 Atani Software +*/ + +#include "pch.h" + +#include "Tiki/sound.h" +#include "Tiki/stream.h" +#include "Tiki/hid.h" + +#include <nds.h>s +#include <fat.h> +#include <dswifi9.h> +#include <dssoundstream.h> + +// notification function to send fifo message to arm7 +void arm9_synctoarm7() { // send fifo message + SendCommandToArm7( 0x87654321 ); +} + +namespace Tiki { + +bool init( int argc, char **argv ) { + // Turn on everything + powerON( POWER_ALL ); + + lcdMainOnTop(); + + if(g_tiki_init_flags & TIKI_INIT_DEBUG_CONSOLE) { + consoleDemoInit(); + } + + // Setup the Main screen for 3D + videoSetMode( MODE_0_3D ); + vramSetBankA( VRAM_A_TEXTURE ); + + Tiki::Debug::printf("Enabling IRQs\n"); + // IRQ basic setup + irqInit(); + + Tiki::Debug::printf("Enabling GL\n"); + // initialize the geometry engine + glInit(); + glEnable(GL_TEXTURE_2D); + + // enable antialiasing + glEnable(GL_ANTIALIAS); + glClearColor(0,0,0,31); // BG must be opaque for AA to work + glClearPolyID(63); // BG must have a unique polygon ID for AA to work + glClearDepth( 0x7FFF ); + // Set our viewport to be the same size as the screen + glViewport(0,0,255,191); + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + gluPerspective(70, 256.0 / 192.0, 0.1, 100); + + glLight(0, RGB15(31,31,31) , 0, floattov10(-1.0),0); + glLight(1, RGB15(31,31,31) , 0,0,floattov10(-1.0)); + glLight(2, RGB15(31,31,31) , 0,0,floattov10(1.0)); + + //need to set up some material properties since DS does not have them set by default + glMaterialf(GL_AMBIENT, RGB15(16,16,16)); + glMaterialf(GL_DIFFUSE, RGB15(16,16,16)); + glMaterialf(GL_SPECULAR, BIT(15) | RGB15(8,8,8)); + glMaterialf(GL_EMISSION, RGB15(16,16,16)); + + //ds uses a table for shinyness..this generates a half-ass one + glMaterialShinyness(); + + glPolyFmt(POLY_ALPHA(31) | POLY_CULL_FRONT | POLY_FORMAT_LIGHT0| POLY_FORMAT_LIGHT1| POLY_FORMAT_LIGHT2 ); + + glMatrixMode(GL_MODELVIEW); + + // set a default color. + glColor3f(1, 1, 1); + + Tiki::Debug::printf("Enabling libFAT\n"); fatInitDefault(); - - // initialize parallax - Tiki::Debug::printf("Enabling Sound\n"); - Audio::Stream::initGlobal(); - Hid::init(); - - irqSet( IRQ_TIMER3, Timer_50ms ); // setup timer IRQ - irqEnable( IRQ_TIMER3 ); - Tiki::Debug::printf("Enabling Wifi\n"); - { // send fifo message to initialize the arm7 wifi - REG_IPC_FIFO_CR = IPC_FIFO_ENABLE | IPC_FIFO_SEND_CLEAR; // enable & clear FIFO - - u32 Wifi_pass = Wifi_Init( WIFIINIT_OPTION_USELED ); - REG_IPC_FIFO_TX = 0x12345678; - REG_IPC_FIFO_TX = Wifi_pass; - irqEnable( IRQ_FIFO_NOT_EMPTY ); - - REG_IPC_FIFO_CR = IPC_FIFO_ENABLE | IPC_FIFO_RECV_IRQ; // enable FIFO IRQ - - Wifi_SetSyncHandler( arm9_synctoarm7 ); // tell wifi lib to use our handler to notify arm7 - - // set timer3 - *( ( volatile u16 * ) 0x0400010C ) = -6553; // 6553.1 * 256 cycles = ~50ms; - *( ( volatile u16 * ) 0x0400010E ) = 0x00C2; // enable, irq, 1/256 clock - - while ( Wifi_CheckInit() == 0 ) { // wait for arm7 to be initted successfully - swiWaitForVBlank(); - } - - } // wifi init complete - wifi lib can now be used! - - return true; -} - -void shutdown() { - Hid::shutdown(); -} - -void setName( const char *windowName, const char *iconName ) {} - -namespace GL { -void showCursor( bool visible ) {} -} - -} + + if(g_tiki_init_flags & TIKI_INIT_AUDIO_MASK) { + if(g_tiki_init_flags & TIKI_INIT_AUDIO_STREAM) { + Tiki::Debug::printf("Enabling SoundStream\n"); + Audio::Stream::initGlobal(); + } + } + if(g_tiki_init_flags & TIKI_INIT_HID_MASK ) { + Tiki::Debug::printf("Enabling HID\n"); + Hid::init(); + } + + Tiki::Debug::printf("Initializing ARM7\n"); + // enable & clear FIFO + REG_IPC_FIFO_CR = IPC_FIFO_ENABLE | IPC_FIFO_SEND_CLEAR; + + // setup some basic options for the wifi lib + u32 Wifi_pass = Wifi_Init( WIFIINIT_OPTION_USELED ); + REG_IPC_FIFO_TX = 0x12345678; + REG_IPC_FIFO_TX = Wifi_pass; + irqEnable( IRQ_FIFO_NOT_EMPTY ); + + // enable FIFO IRQ + REG_IPC_FIFO_CR = IPC_FIFO_ENABLE | IPC_FIFO_RECV_IRQ; + + // tell wifi lib to use our handler to notify arm7 + Wifi_SetSyncHandler( arm9_synctoarm7 ); + + // wait for arm7 to be initted successfully + while ( Wifi_CheckInit() == 0 ) { + swiWaitForVBlank(); + } + return true; +} + +void shutdown() { + if(g_tiki_init_flags & TIKI_INIT_HID_MASK ) { + Hid::shutdown(); + } + if(g_tiki_init_flags & TIKI_INIT_HID_MASK ) { + Audio::Stream::shutdownGlobal(); + } +} + +void setName( const char *windowName, const char *iconName ) {} + +namespace GL { +void showCursor( bool visible ) {} +} + +} Modified: tiki/nds/src/platnet.cpp =================================================================== --- tiki/nds/src/platnet.cpp 2007-11-04 17:20:24 UTC (rev 525) +++ tiki/nds/src/platnet.cpp 2007-11-05 17:05:44 UTC (rev 526) @@ -1,52 +1,64 @@ -/* - Tiki - - platnet.cpp - - Copyright (C)2007 Atani Software -*/ - -#include "Tiki/tiki.h" -#include "Tiki/net.h" - -namespace Tiki { - -namespace Net { - -void init() { -} - -void shutdown() { -} - -bool connect() { +/* + Tiki + + platnet.cpp + + Copyright (C)2007 Atani Software +*/ + +#include "Tiki/tiki.h" +#include "Tiki/net.h" + +// wifi timer function, to update internals of sgIP +void Timer_50ms( void ) { + Wifi_Timer( 50 ); +} + +namespace Tiki { + +namespace Net { + +void init() { + Tiki::Debug::printf("Enabling Wifi\n"); + irqSet( IRQ_TIMER3, Timer_50ms ); // setup timer IRQ + irqEnable( IRQ_TIMER3 ); + + // set timer3 + *( ( volatile u16 * ) 0x0400010C ) = -6553; // 6553.1 * 256 cycles = ~50ms; + *( ( volatile u16 * ) 0x0400010E ) = 0x00C2; // enable, irq, 1/256 clock +} + +void shutdown() { +} + +bool connect() { if(!isConnected()) { - Tiki::Debug::printf("Connecting to Wifi\n"); - Wifi_AutoConnect(); - while(1) { - switch(Wifi_AssocStatus()) { - case ASSOCSTATUS_ASSOCIATED: - return true; - case ASSOCSTATUS_CANNOTCONNECT: - return false; - } - } - } - - return true; -} - -bool isConnected() { - return (Wifi_AssocStatus() == ASSOCSTATUS_ASSOCIATED); -} - -void disconnect() { + Tiki::Debug::printf("Connecting to Wifi\n"); + Wifi_AutoConnect(); + while(1) { + switch(Wifi_AssocStatus()) { + case ASSOCSTATUS_ASSOCIATED: + return true; + case ASSOCSTATUS_CANNOTCONNECT: + return false; + } + } + } + + return true; +} + +bool isConnected() { + return (Wifi_AssocStatus() == ASSOCSTATUS_ASSOCIATED); +} + +void disconnect() { if(isConnected()) { - Tiki::Debug::printf("Disconnecting Wifi\n"); - Wifi_DisconnectAP(); - } -} - -} // namespace Net - -} // namespace Tiki + Tiki::Debug::printf("Disconnecting Wifi\n"); + Wifi_DisconnectAP(); + } +} + +} // namespace Net + +} // namespace Tiki Modified: tiki/src/base/debug.cpp =================================================================== --- tiki/src/base/debug.cpp 2007-11-04 17:20:24 UTC (rev 525) +++ tiki/src/base/debug.cpp 2007-11-05 17:05:44 UTC (rev 526) @@ -15,36 +15,36 @@ using namespace Tiki::Debug; int Debug::printf( const char * fmt, ... ) { - // This unfortunately has to go elsewhere for Win32 since it chops off any - // console output in a GUI app. + if(g_tiki_init_flags & TIKI_INIT_DEBUG_CONSOLE) { #if TIKI_PLAT == TIKI_WIN32 - va_list args; - char buffer[ 16 * 1024 ]; - va_start( args, fmt ); - int i = vsprintf( buffer, fmt, args ); - va_end( args ); + va_list args; + char buffer[ 16 * 1024 ]; + va_start( args, fmt ); + int i = vsprintf( buffer, fmt, args ); + va_end( args ); - OutputDebugString( buffer ); + OutputDebugString( buffer ); - return i; + return i; #elif TIKI_PLAT == TIKI_NDS - va_list args; - char buffer[ 1024 ]; - va_start( args, fmt ); - int i = vsprintf( buffer, fmt, args ); - va_end( args ); + va_list args; + char buffer[ 1024 ]; + va_start( args, fmt ); + int i = vsprintf( buffer, fmt, args ); + va_end( args ); - iprintf(buffer); - return i; + iprintf(buffer); + return i; #else + va_list args; - va_list args; + va_start( args, fmt ); + int i = vprintf( fmt, args ); + va_end( args ); - va_start( args, fmt ); - int i = vprintf( fmt, args ); - va_end( args ); - - return i; + return i; #endif + } + return 0; } Modified: tiki/src/gl/gl.cpp =================================================================== --- tiki/src/gl/gl.cpp 2007-11-04 17:20:24 UTC (rev 525) +++ tiki/src/gl/gl.cpp 2007-11-05 17:05:44 UTC (rev 526) @@ -42,7 +42,7 @@ Tiki::Math::Vector screen = getScreenExtents(); - glViewport( 0, 0, screen.x, screen.y ); + glViewport( 0, 0, (GLsizei)screen.x, (GLsizei)screen.y ); glClearDepth( 0.0f ); #if TIKI_PLAT != TIKI_DC glClear( GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT + GL_STENCIL_BUFFER_BIT ); Modified: tiki/src/net/http/useragent.cpp =================================================================== --- tiki/src/net/http/useragent.cpp 2007-11-04 17:20:24 UTC (rev 525) +++ tiki/src/net/http/useragent.cpp 2007-11-05 17:05:44 UTC (rev 526) @@ -350,7 +350,15 @@ } } - Buffer *fullBuf = new Buffer(1); + Buffer *fullBuf; + if(responseSize == -1) + { + fullBuf = new Buffer(1); + } + else + { + fullBuf = new Buffer(responseSize); + } if(!response->getHeaderParam("Transfer-Encoding").compare("chunked")) { Tiki::Debug::printf("Encoding is chunked\n"); @@ -384,8 +392,18 @@ if(chunkBuf->getUsedDataLen() < sizeDecoded) { size_t needed = sizeDecoded - chunkBuf->getUsedDataLen(); + Buffer *chunkBuf2; + if(needed > 4096) { + chunkBuf2 = new Buffer(4096); + } + else { + chunkBuf2 = new Buffer(needed); + } while(needed > 0) { - Buffer *chunkBuf2 = new Buffer(needed); + if(needed < chunkBuf2->getDataLen()) { + delete chunkBuf2; + chunkBuf2 = new Buffer(needed); + } socket->recv(chunkBuf2); chunkBuf->append(chunkBuf2); if(chunkBuf2->getUsedDataLen() > 0) { @@ -394,9 +412,9 @@ emit( "progressUpdate", progress ); delete progress; } - needed -= chunkBuf2->getUsedDataLen(); - delete chunkBuf2; + needed -= chunkBuf2->getUsedDataLen(); } + delete chunkBuf2; } totalSize += chunkBuf->getUsedDataLen(); fullBuf->append(chunkBuf); @@ -417,8 +435,18 @@ if(chunkBuf->getUsedDataLen() < sizeDecoded) { sizeDecoded -= chunkBuf->getUsedDataLen(); + Buffer *chunkBuf2; + if(sizeDecoded > 4096) { + chunkBuf2 = new Buffer(4096); + } + else { + chunkBuf2 = new Buffer(sizeDecoded); + } while(sizeDecoded > 0) { - Buffer *chunkBuf2 = new Buffer(sizeDecoded); + if(sizeDecoded < chunkBuf2->getDataLen()) { + delete chunkBuf2; + chunkBuf2 = new Buffer(sizeDecoded); + } socket->recv(chunkBuf2); chunkBuf->append(chunkBuf2); if(chunkBuf2->getUsedDataLen() > 0) { @@ -428,10 +456,11 @@ delete progress; } sizeDecoded -= chunkBuf2->getUsedDataLen(); - delete chunkBuf2; } + delete chunkBuf2; } fullBuf->append(chunkBuf); + delete chunkBuf; } else { Modified: tiki/win32/src/platgl.cpp =================================================================== --- tiki/win32/src/platgl.cpp 2007-11-04 17:20:24 UTC (rev 525) +++ tiki/win32/src/platgl.cpp 2007-11-05 17:05:44 UTC (rev 526) @@ -382,12 +382,3 @@ // the frame proper e.g. loading textures will not work. // wglMakeCurrent(NULL, NULL); } - - - - - - - - - Modified: tiki/win32/src/platnet.cpp =================================================================== --- tiki/win32/src/platnet.cpp 2007-11-04 17:20:24 UTC (rev 525) +++ tiki/win32/src/platnet.cpp 2007-11-05 17:05:44 UTC (rev 526) @@ -15,7 +15,7 @@ namespace Net { - DWORD connectionFlags; +DWORD connectionFlags; void init() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <at...@us...> - 2007-11-05 20:24:05
|
Revision: 528 http://cadcdev.svn.sourceforge.net/cadcdev/?rev=528&view=rev Author: atani Date: 2007-11-05 12:24:01 -0800 (Mon, 05 Nov 2007) Log Message: ----------- preliminary full screen support for TikiSnake and events samples preliminary project for basic menu sample Modified Paths: -------------- tiki/examples/console/TikiSnake/English.lproj/MainMenu.nib/classes.nib tiki/examples/console/TikiSnake/English.lproj/MainMenu.nib/info.nib tiki/examples/console/TikiSnake/TikiSnake.xcodeproj/project.pbxproj tiki/examples/console/TikiSnake/src/Controller.h tiki/examples/console/TikiSnake/src/Controller.m tiki/examples/events/English.lproj/MainMenu.nib/classes.nib tiki/examples/events/English.lproj/MainMenu.nib/info.nib tiki/examples/events/events.xcodeproj/project.pbxproj tiki/examples/events/src/Controller.h tiki/examples/events/src/Controller.m tiki/osx/Tiki.xcodeproj/project.pbxproj tiki/osx/src/TikiMain.m tiki/src/base/debug.cpp Added Paths: ----------- tiki/examples/console/TikiSnake/English.lproj/MainMenu.nib/keyedobjects.nib tiki/examples/events/English.lproj/MainMenu.nib/keyedobjects.nib tiki/examples/menu/basic/English.lproj/ tiki/examples/menu/basic/English.lproj/InfoPlist.strings tiki/examples/menu/basic/English.lproj/MainMenu.nib/ tiki/examples/menu/basic/English.lproj/MainMenu.nib/classes.nib tiki/examples/menu/basic/English.lproj/MainMenu.nib/info.nib tiki/examples/menu/basic/English.lproj/MainMenu.nib/keyedobjects.nib tiki/examples/menu/basic/Info.plist tiki/examples/menu/basic/basic.xcodeproj/ tiki/examples/menu/basic/basic.xcodeproj/project.pbxproj tiki/examples/menu/basic/basic_Prefix.pch tiki/examples/menu/basic/main.m tiki/examples/menu/basic/src/Controller.h tiki/examples/menu/basic/src/Controller.m tiki/examples/menu/basic/version.plist Property Changed: ---------------- tiki/examples/console/TikiSnake/ tiki/examples/console/TikiSnake/TikiSnake.xcodeproj/ tiki/examples/events/ tiki/examples/events/events.xcodeproj/ tiki/examples/menu/basic/ tiki/osx/ tiki/osx/Tiki.xcodeproj/ Property changes on: tiki/examples/console/TikiSnake ___________________________________________________________________ Name: svn:ignore - Debug Release *.user *.nds *.ds.gba *.elf tikisnake + Debug Release *.user *.nds *.ds.gba *.elf tikisnake build Modified: tiki/examples/console/TikiSnake/English.lproj/MainMenu.nib/classes.nib =================================================================== --- tiki/examples/console/TikiSnake/English.lproj/MainMenu.nib/classes.nib 2007-11-05 17:08:21 UTC (rev 527) +++ tiki/examples/console/TikiSnake/English.lproj/MainMenu.nib/classes.nib 2007-11-05 20:24:01 UTC (rev 528) @@ -1,12 +1,41 @@ -{ - IBClasses = ( - { - CLASS = Controller; - LANGUAGE = ObjC; - OUTLETS = {mainView = NSView; mainWindow = NSWindow; }; - SUPERCLASS = NSObject; - }, - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; } - ); - IBVersion = 1; -} \ No newline at end of file +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>IBClasses</key> + <array> + <dict> + <key>CLASS</key> + <string>FirstResponder</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>SUPERCLASS</key> + <string>NSObject</string> + </dict> + <dict> + <key>ACTIONS</key> + <dict> + <key>fullScreen</key> + <string>id</string> + </dict> + <key>CLASS</key> + <string>Controller</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>OUTLETS</key> + <dict> + <key>fullScreen</key> + <string>id</string> + <key>mainView</key> + <string>NSView</string> + <key>mainWindow</key> + <string>NSWindow</string> + </dict> + <key>SUPERCLASS</key> + <string>NSObject</string> + </dict> + </array> + <key>IBVersion</key> + <string>1</string> +</dict> +</plist> Modified: tiki/examples/console/TikiSnake/English.lproj/MainMenu.nib/info.nib =================================================================== --- tiki/examples/console/TikiSnake/English.lproj/MainMenu.nib/info.nib 2007-11-05 17:08:21 UTC (rev 527) +++ tiki/examples/console/TikiSnake/English.lproj/MainMenu.nib/info.nib 2007-11-05 20:24:01 UTC (rev 528) @@ -1,22 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> - <key>IBDocumentLocation</key> - <string>87 99 356 240 0 0 1280 1002 </string> - <key>IBEditorPositions</key> - <dict> - <key>29</key> - <string>94 344 338 44 0 0 1280 1002 </string> - </dict> <key>IBFramework Version</key> - <string>443.0</string> + <string>629</string> + <key>IBLastKnownRelativeProjectPath</key> + <string>../../TikiSnake.xcodeproj</string> + <key>IBOldestOS</key> + <integer>5</integer> <key>IBOpenObjects</key> <array> - <integer>21</integer> <integer>29</integer> </array> <key>IBSystem Version</key> - <string>8I127</string> + <string>9A581</string> + <key>targetFramework</key> + <string>IBCocoaFramework</string> </dict> </plist> Added: tiki/examples/console/TikiSnake/English.lproj/MainMenu.nib/keyedobjects.nib =================================================================== (Binary files differ) Property changes on: tiki/examples/console/TikiSnake/English.lproj/MainMenu.nib/keyedobjects.nib ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Property changes on: tiki/examples/console/TikiSnake/TikiSnake.xcodeproj ___________________________________________________________________ Name: svn:ignore + *.pbxuser *.mode1v3 Modified: tiki/examples/console/TikiSnake/TikiSnake.xcodeproj/project.pbxproj =================================================================== --- tiki/examples/console/TikiSnake/TikiSnake.xcodeproj/project.pbxproj 2007-11-05 17:08:21 UTC (rev 527) +++ tiki/examples/console/TikiSnake/TikiSnake.xcodeproj/project.pbxproj 2007-11-05 20:24:01 UTC (rev 528) @@ -19,31 +19,6 @@ C4F50EEF0799E5B40001D0D0 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C4F50EEE0799E5B40001D0D0 /* OpenGL.framework */; }; /* End PBXBuildFile section */ -/* Begin PBXBuildStyle section */ - 4A9504CCFFE6A4B311CA0CBA /* Development */ = { - isa = PBXBuildStyle; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - PREBINDING = NO; - ZERO_LINK = NO; - }; - name = Development; - }; - 4A9504CDFFE6A4B311CA0CBA /* Deployment */ = { - isa = PBXBuildStyle; - buildSettings = { - COPY_PHASE_STRIP = YES; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - ZERO_LINK = NO; - }; - name = Deployment; - }; -/* End PBXBuildStyle section */ - /* Begin PBXCopyFilesBuildPhase section */ C4332D16079B22450025BF39 /* CopyFiles */ = { isa = PBXCopyFilesBuildPhase; @@ -182,16 +157,6 @@ ); buildRules = ( ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ../../osx/build; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = TikiSnake_Prefix.pch; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; - PRODUCT_NAME = TikiSnake; - WRAPPER_EXTENSION = app; - }; dependencies = ( ); name = TikiSnake; @@ -206,15 +171,11 @@ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; buildConfigurationList = 64FBB92B092EA33F00427AD0 /* Build configuration list for PBXProject "TikiSnake" */; - buildSettings = { - }; - buildStyles = ( - 4A9504CCFFE6A4B311CA0CBA /* Development */, - 4A9504CDFFE6A4B311CA0CBA /* Deployment */, - ); + compatibilityVersion = "Xcode 2.4"; hasScannedForEncodings = 1; mainGroup = 29B97314FDCFA39411CA2CEA /* TikiSnake */; projectDirPath = ""; + projectRoot = ""; targets = ( 8D1107260486CEB800E47090 /* TikiSnake */, ); @@ -349,36 +310,45 @@ 64FBB92C092EA33F00427AD0 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(NATIVE_ARCH)"; HEADER_SEARCH_PATHS = ( ../../include, ../../osx/include, /sw/include, ../../3rdparty/boost, ); + MACOSX_DEPLOYMENT_TARGET = 10.3; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; }; name = Development; }; 64FBB92D092EA33F00427AD0 /* Deployment */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(NATIVE_ARCH)"; HEADER_SEARCH_PATHS = ( ../../include, ../../osx/include, /sw/include, ../../3rdparty/boost, ); + MACOSX_DEPLOYMENT_TARGET = 10.3; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; }; name = Deployment; }; 64FBB92E092EA33F00427AD0 /* Default */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(NATIVE_ARCH)"; HEADER_SEARCH_PATHS = ( ../../include, ../../osx/include, /sw/include, ../../3rdparty/boost, ); + MACOSX_DEPLOYMENT_TARGET = 10.3; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; }; name = Default; }; Modified: tiki/examples/console/TikiSnake/src/Controller.h =================================================================== --- tiki/examples/console/TikiSnake/src/Controller.h 2007-11-05 17:08:21 UTC (rev 527) +++ tiki/examples/console/TikiSnake/src/Controller.h 2007-11-05 20:24:01 UTC (rev 528) @@ -9,4 +9,6 @@ TikiMain * tm; } + +- (IBAction)fullScreen: (id)sender; @end Modified: tiki/examples/console/TikiSnake/src/Controller.m =================================================================== --- tiki/examples/console/TikiSnake/src/Controller.m 2007-11-05 17:08:21 UTC (rev 527) +++ tiki/examples/console/TikiSnake/src/Controller.m 2007-11-05 20:24:01 UTC (rev 528) @@ -9,7 +9,11 @@ - (void) applicationDidFinishLaunching: (NSNotification *) note { NSString * resPath = [[NSBundle mainBundle] resourcePath]; +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4 + chdir([resPath UTF8String]); +#else chdir([resPath cString]); +#endif TikiMain * otm = [[TikiMain alloc] retain]; tm = otm; [tm doMainWithWindow: mainWindow andView: mainView andMainFunc: tiki_main]; @@ -29,4 +33,14 @@ return YES; } +- (IBAction)fullScreen: (id) sender +{ + if( [mainView isInFullScreenMode] == YES ) { + [mainView exitFullScreenModeWithOptions: nil]; + } + else { + [mainView enterFullScreenMode:[NSScreen mainScreen] withOptions:nil]; + } +} + @end Property changes on: tiki/examples/events ___________________________________________________________________ Name: svn:ignore - Debug Release *.user *.nds *.ds.gba + Debug Release build *.user *.nds *.ds.gba Modified: tiki/examples/events/English.lproj/MainMenu.nib/classes.nib =================================================================== --- tiki/examples/events/English.lproj/MainMenu.nib/classes.nib 2007-11-05 17:08:21 UTC (rev 527) +++ tiki/examples/events/English.lproj/MainMenu.nib/classes.nib 2007-11-05 20:24:01 UTC (rev 528) @@ -1,12 +1,41 @@ -{ - IBClasses = ( - { - CLASS = Controller; - LANGUAGE = ObjC; - OUTLETS = {mainView = NSView; mainWindow = NSWindow; }; - SUPERCLASS = NSObject; - }, - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; } - ); - IBVersion = 1; -} \ No newline at end of file +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>IBClasses</key> + <array> + <dict> + <key>CLASS</key> + <string>FirstResponder</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>SUPERCLASS</key> + <string>NSObject</string> + </dict> + <dict> + <key>ACTIONS</key> + <dict> + <key>fullScreen</key> + <string>id</string> + </dict> + <key>CLASS</key> + <string>Controller</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>OUTLETS</key> + <dict> + <key>fullSceen</key> + <string>id</string> + <key>mainView</key> + <string>NSView</string> + <key>mainWindow</key> + <string>NSWindow</string> + </dict> + <key>SUPERCLASS</key> + <string>NSObject</string> + </dict> + </array> + <key>IBVersion</key> + <string>1</string> +</dict> +</plist> Modified: tiki/examples/events/English.lproj/MainMenu.nib/info.nib =================================================================== --- tiki/examples/events/English.lproj/MainMenu.nib/info.nib 2007-11-05 17:08:21 UTC (rev 527) +++ tiki/examples/events/English.lproj/MainMenu.nib/info.nib 2007-11-05 20:24:01 UTC (rev 528) @@ -1,22 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> - <key>IBDocumentLocation</key> - <string>87 99 356 240 0 0 1280 1002 </string> - <key>IBEditorPositions</key> - <dict> - <key>29</key> - <string>94 344 338 44 0 0 1280 1002 </string> - </dict> <key>IBFramework Version</key> - <string>437.0</string> + <string>629</string> + <key>IBLastKnownRelativeProjectPath</key> + <string>../../events.xcodeproj</string> + <key>IBOldestOS</key> + <integer>5</integer> <key>IBOpenObjects</key> <array> - <integer>29</integer> - <integer>21</integer> + <integer>24</integer> </array> <key>IBSystem Version</key> - <string>8A428</string> + <string>9A581</string> + <key>targetFramework</key> + <string>IBCocoaFramework</string> </dict> </plist> Added: tiki/examples/events/English.lproj/MainMenu.nib/keyedobjects.nib =================================================================== (Binary files differ) Property changes on: tiki/examples/events/English.lproj/MainMenu.nib/keyedobjects.nib ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Property changes on: tiki/examples/events/events.xcodeproj ___________________________________________________________________ Name: svn:ignore + *.pbxuser *.mode1v3 Modified: tiki/examples/events/events.xcodeproj/project.pbxproj =================================================================== --- tiki/examples/events/events.xcodeproj/project.pbxproj 2007-11-05 17:08:21 UTC (rev 527) +++ tiki/examples/events/events.xcodeproj/project.pbxproj 2007-11-05 20:24:01 UTC (rev 528) @@ -172,10 +172,12 @@ /* Begin PBXProject section */ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; - buildConfigurationList = 64FBB92B092EA33F00427AD0 /* Build configuration list for PBXProject "TikiEvents" */; + buildConfigurationList = 64FBB92B092EA33F00427AD0 /* Build configuration list for PBXProject "events" */; + compatibilityVersion = "Xcode 2.4"; hasScannedForEncodings = 1; mainGroup = 29B97314FDCFA39411CA2CEA /* TikiEvents */; projectDirPath = ""; + projectRoot = ""; targets = ( 8D1107260486CEB800E47090 /* TikiEvents */, ); @@ -247,6 +249,7 @@ 64FBB928092EA33F00427AD0 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(NATIVE_ARCH)"; COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = ../../osx/build/Development/; GCC_DYNAMIC_NO_PIC = NO; @@ -267,6 +270,7 @@ 64FBB929092EA33F00427AD0 /* Deployment */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(NATIVE_ARCH)"; COPY_PHASE_STRIP = YES; FRAMEWORK_SEARCH_PATHS = ../../osx/build/Deployment/; GCC_ENABLE_FIX_AND_CONTINUE = NO; @@ -284,6 +288,7 @@ 64FBB92A092EA33F00427AD0 /* Default */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(NATIVE_ARCH)"; FRAMEWORK_SEARCH_PATHS = ../../osx/build/Development/; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -350,7 +355,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Default; }; - 64FBB92B092EA33F00427AD0 /* Build configuration list for PBXProject "TikiEvents" */ = { + 64FBB92B092EA33F00427AD0 /* Build configuration list for PBXProject "events" */ = { isa = XCConfigurationList; buildConfigurations = ( 64FBB92C092EA33F00427AD0 /* Development */, Modified: tiki/examples/events/src/Controller.h =================================================================== --- tiki/examples/events/src/Controller.h 2007-11-05 17:08:21 UTC (rev 527) +++ tiki/examples/events/src/Controller.h 2007-11-05 20:24:01 UTC (rev 528) @@ -10,4 +10,6 @@ TikiMain * tm; NSString * openFileName; } + +- (IBAction)fullScreen: (id)sender; @end Modified: tiki/examples/events/src/Controller.m =================================================================== --- tiki/examples/events/src/Controller.m 2007-11-05 17:08:21 UTC (rev 527) +++ tiki/examples/events/src/Controller.m 2007-11-05 20:24:01 UTC (rev 528) @@ -31,4 +31,14 @@ return YES; } +- (IBAction)fullScreen: (id) sender +{ + if( [mainView isInFullScreenMode] == YES ) { + [mainView exitFullScreenModeWithOptions: nil]; + } + else { + [mainView enterFullScreenMode:[NSScreen mainScreen] withOptions:nil]; + } +} + @end Property changes on: tiki/examples/menu/basic ___________________________________________________________________ Name: svn:ignore - Debug Release *.user *.nds *.ds.gba + Debug Release build *.user *.nds *.ds.gba Added: tiki/examples/menu/basic/English.lproj/InfoPlist.strings =================================================================== (Binary files differ) Property changes on: tiki/examples/menu/basic/English.lproj/InfoPlist.strings ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: tiki/examples/menu/basic/English.lproj/MainMenu.nib/classes.nib =================================================================== --- tiki/examples/menu/basic/English.lproj/MainMenu.nib/classes.nib (rev 0) +++ tiki/examples/menu/basic/English.lproj/MainMenu.nib/classes.nib 2007-11-05 20:24:01 UTC (rev 528) @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>IBClasses</key> + <array> + <dict> + <key>CLASS</key> + <string>FirstResponder</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>SUPERCLASS</key> + <string>NSObject</string> + </dict> + <dict> + <key>ACTIONS</key> + <dict> + <key>fullScreen</key> + <string>id</string> + </dict> + <key>CLASS</key> + <string>Controller</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>OUTLETS</key> + <dict> + <key>fullSceen</key> + <string>id</string> + <key>mainView</key> + <string>NSView</string> + <key>mainWindow</key> + <string>NSWindow</string> + </dict> + <key>SUPERCLASS</key> + <string>NSObject</string> + </dict> + </array> + <key>IBVersion</key> + <string>1</string> +</dict> +</plist> Added: tiki/examples/menu/basic/English.lproj/MainMenu.nib/info.nib =================================================================== --- tiki/examples/menu/basic/English.lproj/MainMenu.nib/info.nib (rev 0) +++ tiki/examples/menu/basic/English.lproj/MainMenu.nib/info.nib 2007-11-05 20:24:01 UTC (rev 528) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>IBFramework Version</key> + <string>629</string> + <key>IBLastKnownRelativeProjectPath</key> + <string>../../events.xcodeproj</string> + <key>IBOldestOS</key> + <integer>5</integer> + <key>IBOpenObjects</key> + <array> + <integer>24</integer> + </array> + <key>IBSystem Version</key> + <string>9A581</string> + <key>targetFramework</key> + <string>IBCocoaFramework</string> +</dict> +</plist> Added: tiki/examples/menu/basic/English.lproj/MainMenu.nib/keyedobjects.nib =================================================================== (Binary files differ) Property changes on: tiki/examples/menu/basic/English.lproj/MainMenu.nib/keyedobjects.nib ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: tiki/examples/menu/basic/Info.plist =================================================================== --- tiki/examples/menu/basic/Info.plist (rev 0) +++ tiki/examples/menu/basic/Info.plist 2007-11-05 20:24:01 UTC (rev 528) @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleExecutable</key> + <string>TikiEvents</string> + <key>CFBundleIconFile</key> + <string></string> + <key>CFBundleIdentifier</key> + <string>com.apple.myCocoaApp</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>NSMainNibFile</key> + <string>MainMenu</string> + <key>NSPrincipalClass</key> + <string>NSApplication</string> +</dict> +</plist> Added: tiki/examples/menu/basic/basic.xcodeproj/project.pbxproj =================================================================== --- tiki/examples/menu/basic/basic.xcodeproj/project.pbxproj (rev 0) +++ tiki/examples/menu/basic/basic.xcodeproj/project.pbxproj 2007-11-05 20:24:01 UTC (rev 528) @@ -0,0 +1,340 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 640060E30CDFA79800969916 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 640060E10CDFA79800969916 /* main.cpp */; }; + 640060E90CDFA7B900969916 /* Controller.m in Sources */ = {isa = PBXBuildFile; fileRef = 640060E80CDFA7B900969916 /* Controller.m */; }; + 8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; }; + 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; + 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; + 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; + C4332D17079B224F0025BF39 /* Tiki.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = C4F50D800799DE840001D0D0 /* Tiki.framework */; }; + C4F50D810799DE840001D0D0 /* Tiki.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C4F50D800799DE840001D0D0 /* Tiki.framework */; }; + C4F50EEF0799E5B40001D0D0 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C4F50EEE0799E5B40001D0D0 /* OpenGL.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + C4332D16079B22450025BF39 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + C4332D17079B224F0025BF39 /* Tiki.framework in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; }; + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; }; + 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; + 29B97319FDCFA39411CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = "<group>"; }; + 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; }; + 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; }; + 640060E10CDFA79800969916 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = "<group>"; }; + 640060E70CDFA7B900969916 /* Controller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Controller.h; path = src/Controller.h; sourceTree = "<group>"; }; + 640060E80CDFA7B900969916 /* Controller.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Controller.m; path = src/Controller.m; sourceTree = "<group>"; }; + 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; }; + 8D1107320486CEB800E47090 /* TikiBasicMenu.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TikiBasicMenu.app; sourceTree = BUILT_PRODUCTS_DIR; }; + C4F50D800799DE840001D0D0 /* Tiki.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Tiki.framework; path = ../../../osx/build/Deployment/Tiki.framework; sourceTree = SOURCE_ROOT; }; + C4F50EEE0799E5B40001D0D0 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D11072E0486CEB800E47090 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, + C4F50D810799DE840001D0D0 /* Tiki.framework in Frameworks */, + C4F50EEF0799E5B40001D0D0 /* OpenGL.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 080E96DDFE201D6D7F000001 /* Classes */ = { + isa = PBXGroup; + children = ( + 640060E70CDFA7B900969916 /* Controller.h */, + 640060E80CDFA7B900969916 /* Controller.m */, + 640060E10CDFA79800969916 /* main.cpp */, + ); + name = Classes; + sourceTree = "<group>"; + }; + 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { + isa = PBXGroup; + children = ( + C4F50EEE0799E5B40001D0D0 /* OpenGL.framework */, + C4F50D800799DE840001D0D0 /* Tiki.framework */, + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, + ); + name = "Linked Frameworks"; + sourceTree = "<group>"; + }; + 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + 29B97325FDCFA39411CA2CEA /* Foundation.framework */, + 29B97324FDCFA39411CA2CEA /* AppKit.framework */, + ); + name = "Other Frameworks"; + sourceTree = "<group>"; + }; + 19C28FACFE9D520D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D1107320486CEB800E47090 /* TikiBasicMenu.app */, + ); + name = Products; + sourceTree = "<group>"; + }; + 29B97314FDCFA39411CA2CEA /* TikiBasicMenu */ = { + isa = PBXGroup; + children = ( + 080E96DDFE201D6D7F000001 /* Classes */, + 29B97315FDCFA39411CA2CEA /* Other Sources */, + 29B97317FDCFA39411CA2CEA /* Resources */, + 29B97323FDCFA39411CA2CEA /* Frameworks */, + 19C28FACFE9D520D11CA2CBB /* Products */, + ); + name = TikiBasicMenu; + sourceTree = "<group>"; + }; + 29B97315FDCFA39411CA2CEA /* Other Sources */ = { + isa = PBXGroup; + children = ( + 29B97316FDCFA39411CA2CEA /* main.m */, + ); + name = "Other Sources"; + sourceTree = "<group>"; + }; + 29B97317FDCFA39411CA2CEA /* Resources */ = { + isa = PBXGroup; + children = ( + 8D1107310486CEB800E47090 /* Info.plist */, + 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, + 29B97318FDCFA39411CA2CEA /* MainMenu.nib */, + ); + name = Resources; + sourceTree = "<group>"; + }; + 29B97323FDCFA39411CA2CEA /* Frameworks */ = { + isa = PBXGroup; + children = ( + 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, + 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, + ); + name = Frameworks; + sourceTree = "<group>"; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 8D1107260486CEB800E47090 /* TikiBasicMenu */ = { + isa = PBXNativeTarget; + buildConfigurationList = 64FBB927092EA33F00427AD0 /* Build configuration list for PBXNativeTarget "TikiBasicMenu" */; + buildPhases = ( + 8D1107290486CEB800E47090 /* Resources */, + 8D11072C0486CEB800E47090 /* Sources */, + 8D11072E0486CEB800E47090 /* Frameworks */, + C4332D16079B22450025BF39 /* CopyFiles */, + C4332EE0079B242E0025BF39 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = TikiBasicMenu; + productInstallPath = "$(HOME)/Applications"; + productName = TikiBasicMenu; + productReference = 8D1107320486CEB800E47090 /* TikiBasicMenu.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 29B97313FDCFA39411CA2CEA /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 64FBB92B092EA33F00427AD0 /* Build configuration list for PBXProject "basic" */; + compatibilityVersion = "Xcode 2.4"; + hasScannedForEncodings = 1; + mainGroup = 29B97314FDCFA39411CA2CEA /* TikiBasicMenu */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D1107260486CEB800E47090 /* TikiBasicMenu */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D1107290486CEB800E47090 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */, + 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + C4332EE0079B242E0025BF39 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# rm -rfv ${EXECUTABLE_FOLDER_PATH}/PrivateHeaders\n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D11072C0486CEB800E47090 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D11072D0486CEB800E47090 /* main.m in Sources */, + 640060E30CDFA79800969916 /* main.cpp in Sources */, + 640060E90CDFA7B900969916 /* Controller.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 089C165DFE840E0CC02AAC07 /* English */, + ); + name = InfoPlist.strings; + sourceTree = "<group>"; + }; + 29B97318FDCFA39411CA2CEA /* MainMenu.nib */ = { + isa = PBXVariantGroup; + children = ( + 29B97319FDCFA39411CA2CEA /* English */, + ); + name = MainMenu.nib; + sourceTree = "<group>"; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 64FBB928092EA33F00427AD0 /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(NATIVE_ARCH)"; + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ../../../osx/build/Development/; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = basic_Prefix.pch; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PREBINDING = NO; + PRODUCT_NAME = TikiBasicMenu; + WRAPPER_EXTENSION = app; + ZERO_LINK = NO; + }; + name = Development; + }; + 64FBB929092EA33F00427AD0 /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(NATIVE_ARCH)"; + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ../../../osx/build/Deployment/; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = basic_Prefix.pch; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_NAME = TikiBasicMenu; + WRAPPER_EXTENSION = app; + ZERO_LINK = NO; + }; + name = Deployment; + }; + 64FBB92C092EA33F00427AD0 /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + ); + HEADER_SEARCH_PATHS = ( + ../../../include, + ../../../osx/include, + /sw/include, + ../../../3rdparty/boost, + ); + MACOSX_DEPLOYMENT_TARGET = 10.3; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + }; + name = Development; + }; + 64FBB92D092EA33F00427AD0 /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + ); + HEADER_SEARCH_PATHS = ( + ../../../include, + ../../../osx/include, + /sw/include, + ../../../3rdparty/boost, + ); + MACOSX_DEPLOYMENT_TARGET = 10.3; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + }; + name = Deployment; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 64FBB927092EA33F00427AD0 /* Build configuration list for PBXNativeTarget "TikiBasicMenu" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 64FBB928092EA33F00427AD0 /* Development */, + 64FBB929092EA33F00427AD0 /* Deployment */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Development; + }; + 64FBB92B092EA33F00427AD0 /* Build configuration list for PBXProject "basic" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 64FBB92C092EA33F00427AD0 /* Development */, + 64FBB92D092EA33F00427AD0 /* Deployment */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Development; + }; +/* End XCConfigurationList section */ + }; + rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; +} Added: tiki/examples/menu/basic/basic_Prefix.pch =================================================================== --- tiki/examples/menu/basic/basic_Prefix.pch (rev 0) +++ tiki/examples/menu/basic/basic_Prefix.pch 2007-11-05 20:24:01 UTC (rev 528) @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'TikiTest' target in the 'TikiTest' project +// + +#ifdef __OBJC__ + #import <Cocoa/Cocoa.h> +#endif Added: tiki/examples/menu/basic/main.m =================================================================== --- tiki/examples/menu/basic/main.m (rev 0) +++ tiki/examples/menu/basic/main.m 2007-11-05 20:24:01 UTC (rev 528) @@ -0,0 +1,14 @@ +// +// main.m +// TikiEvents +// +// Created by Dan Potter on 1/11/05. +// Copyright Cryptic Allusion, LLC 2005. All rights reserved. +// + +#import <Cocoa/Cocoa.h> + +int main(int argc, char *argv[]) +{ + return NSApplicationMain(argc, (const char **) argv); +} Added: tiki/examples/menu/basic/src/Controller.h =================================================================== --- tiki/examples/menu/basic/src/Controller.h (rev 0) +++ tiki/examples/menu/basic/src/Controller.h 2007-11-05 20:24:01 UTC (rev 528) @@ -0,0 +1,15 @@ +/* Controller */ + +#import <Cocoa/Cocoa.h> +#import <Tiki/TikiMain.h> + +@interface Controller : NSObject { + IBOutlet NSView *mainView; + IBOutlet NSWindow *mainWindow; + + TikiMain * tm; + NSString * openFileName; +} + +- (IBAction)fullScreen: (id)sender; +@end Added: tiki/examples/menu/basic/src/Controller.m =================================================================== --- tiki/examples/menu/basic/src/Controller.m (rev 0) +++ tiki/examples/menu/basic/src/Controller.m 2007-11-05 20:24:01 UTC (rev 528) @@ -0,0 +1,44 @@ +#import "Controller.h" +#import <Tiki/TikiMain.h> +#import <assert.h> + +void tiki_main(); + +@implementation Controller +- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename +{ + openFileName = filename; +} + +- (void) applicationDidFinishLaunching: (NSNotification *) note +{ + TikiMain * otm = [[TikiMain alloc] retain]; + tm = otm; + [tm doMainWithWindow: mainWindow andView: mainView andMainFunc: tiki_main andOpenFile:openFileName]; + tm = nil; + [otm release]; +} + +- (NSApplicationTerminateReply) applicationShouldTerminate: (NSApplication *)sender +{ + assert( tm ); + [tm quitSoon]; + return NSTerminateNow; +} + +- (BOOL) applicationShouldTerminateAfterLastWindowClosed: (NSApplication *)theApplication +{ + return YES; +} + +- (IBAction)fullScreen: (id) sender +{ + if( [mainView isInFullScreenMode] == YES ) { + [mainView exitFullScreenModeWithOptions: nil]; + } + else { + [mainView enterFullScreenMode:[NSScreen mainScreen] withOptions:nil]; + } +} + +@end Added: tiki/examples/menu/basic/version.plist =================================================================== --- tiki/examples/menu/basic/version.plist (rev 0) +++ tiki/examples/menu/basic/version.plist 2007-11-05 20:24:01 UTC (rev 528) @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>BuildVersion</key> + <string>92</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>ProductBuildVersion</key> + <string>7K571</string> + <key>ProjectName</key> + <string>NibPBTemplates</string> + <key>SourceVersion</key> + <string>1200000</string> +</dict> +</plist> Property changes on: tiki/osx ___________________________________________________________________ Name: svn:ignore + build Property changes on: tiki/osx/Tiki.xcodeproj ___________________________________________________________________ Name: svn:ignore + *.pbxuser *.mode1v3 Modified: tiki/osx/Tiki.xcodeproj/project.pbxproj =================================================================== --- tiki/osx/Tiki.xcodeproj/project.pbxproj 2007-11-05 17:08:21 UTC (rev 527) +++ tiki/osx/Tiki.xcodeproj/project.pbxproj 2007-11-05 20:24:01 UTC (rev 528) @@ -13,6 +13,7 @@ 2290A0FE09302D7500B7D80C /* pointerArrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2290A0FC09302D7500B7D80C /* pointerArrow.cpp */; }; 2290A10109302D9F00B7D80C /* cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 2290A0FF09302D9F00B7D80C /* cursor.h */; }; 2290A10209302D9F00B7D80C /* pointerArrow.h in Headers */ = {isa = PBXBuildFile; fileRef = 2290A10009302D9F00B7D80C /* pointerArrow.h */; }; + 6400608E0CDF9DC800969916 /* init_flags_default.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6400608D0CDF9DC800969916 /* init_flags_default.cpp */; }; 640C2C30092EB8C40032DE40 /* alpharotate.h in Headers */ = {isa = PBXBuildFile; fileRef = 640C2C2F092EB8C40032DE40 /* alpharotate.h */; }; 6444BEE60932A3D800A29768 /* texturetile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6444BEE50932A3D700A29768 /* texturetile.cpp */; }; 6444BEE80932A3F200A29768 /* texturetile.h in Headers */ = {isa = PBXBuildFile; fileRef = 6444BEE70932A3F200A29768 /* texturetile.h */; }; @@ -210,6 +211,7 @@ 2290A0FF09302D9F00B7D80C /* cursor.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = cursor.h; path = ../include/Tiki/drawables/cursor.h; sourceTree = SOURCE_ROOT; }; 2290A10009302D9F00B7D80C /* pointerArrow.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = pointerArrow.h; path = ../include/Tiki/drawables/pointerArrow.h; sourceTree = SOURCE_ROOT; }; 32DBCF5E0370ADEE00C91783 /* Tiki_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tiki_Prefix.pch; sourceTree = "<group>"; }; + 6400608D0CDF9DC800969916 /* init_flags_default.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = init_flags_default.cpp; sourceTree = "<group>"; }; 640C2C2F092EB8C40032DE40 /* alpharotate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = alpharotate.h; path = ../include/Tiki/anims/alpharotate.h; sourceTree = SOURCE_ROOT; }; 6444BEE50932A3D700A29768 /* texturetile.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = texturetile.cpp; path = ../src/gl/drawables/texturetile.cpp; sourceTree = SOURCE_ROOT; }; 6444BEE70932A3F200A29768 /* texturetile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = texturetile.h; path = ../include/Tiki/drawables/texturetile.h; sourceTree = SOURCE_ROOT; }; @@ -636,7 +638,7 @@ C4AD52E30793CDC100E1B779 /* audio */, C42BD2D6078FC9BF00061670 /* base */, C4F51516079A0B1C0001D0D0 /* gl */, - C4539923079A455600F3A584 /* t */, + C4539923079A455600F3A584 /* hid */, C48814FE079F8A3B0038D5B0 /* image */, C4F5157D079A0CFB0001D0D0 /* math */, C472B72C079B0FBA00F0C00A /* thread */, @@ -647,6 +649,7 @@ C42BD2D6078FC9BF00061670 /* base */ = { isa = PBXGroup; children = ( + 6400608D0CDF9DC800969916 /* init_flags_default.cpp */, C4AD53070793CE9F00E1B779 /* debug.cpp */, C4F5148D0799FBA10001D0D0 /* endian.cpp */, C4AD52290793B4CD00E1B779 /* file.cpp */, @@ -722,13 +725,13 @@ name = hid; sourceTree = "<group>"; }; - C4539923079A455600F3A584 /* t */ = { + C4539923079A455600F3A584 /* hid */ = { isa = PBXGroup; children = ( C48E6CD607A48FDE00045273 /* eventcollector.cpp */, C453992A079A477500F3A584 /* hid.cpp */, ); - name = t; + name = hid; sourceTree = "<group>"; }; C472B72C079B0FBA00F0C00A /* thread */ = { @@ -1362,6 +1365,7 @@ 6499FE710C8623A3008D9FEF /* base64.cpp in Sources */, 6499FE720C8623A3008D9FEF /* date.cpp in Sources */, 6499FEA60C8640E5008D9FEF /* cookiejar.cpp in Sources */, + 6400608E0CDF9DC800969916 /* init_flags_default.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1499,7 +1503,10 @@ C4B181AC0856AE7000B46BDA /* Development */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = ppc; + ARCHS = ( + ppc, + i386, + ); DEBUG_INFORMATION_FORMAT = dwarf; LIBRARY_SEARCH_PATHS = /System/Library/Frameworks/; MACOSX_DEPLOYMENT_TARGET = 10.4; Modified: tiki/osx/src/TikiMain.m =================================================================== --- tiki/osx/src/TikiMain.m 2007-11-05 17:08:21 UTC (rev 527) +++ tiki/osx/src/TikiMain.m 2007-11-05 20:24:01 UTC (rev 528) @@ -155,14 +155,6 @@ continue; } - // Is the event for us? - if ([event window] != mainWindow) { - //NSLog([NSString stringWithFormat: @"Ignoring event not for us: %@", event]); - [NSApp sendEvent: event]; - continue; - } - //NSLog([NSString stringWithFormat: @"%@", event]); - // Handle the event we got type = [event type]; switch (type) { Modified: tiki/src/base/debug.cpp =================================================================== --- tiki/src/base/debug.cpp 2007-11-05 17:08:21 UTC (rev 527) +++ tiki/src/base/debug.cpp 2007-11-05 20:24:01 UTC (rev 528) @@ -15,7 +15,7 @@ using namespace Tiki::Debug; int Debug::printf( const char * fmt, ... ) { - if(g_tiki_init_flags & TIKI_INIT_DEBUG_CONSOLE) { + if(g_tiki_init_flags & TIKI_INIT_DEBUG_MASK) { #if TIKI_PLAT == TIKI_WIN32 va_list args; char buffer[ 16 * 1024 ]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <at...@us...> - 2007-11-06 15:55:00
|
Revision: 532 http://cadcdev.svn.sourceforge.net/cadcdev/?rev=532&view=rev Author: atani Date: 2007-11-06 07:54:58 -0800 (Tue, 06 Nov 2007) Log Message: ----------- NDS optimized console for lower screen. Modified Paths: -------------- tiki/include/Tiki/drawables/console.h tiki/nds/Makefile tiki/nds/Makefile.rules tiki/nds/src/init_shutdown.cpp tiki/src/gl/drawables/console.cpp Added Paths: ----------- tiki/nds/ascii_font.bin Property Changed: ---------------- tiki/nds/ Modified: tiki/include/Tiki/drawables/console.h =================================================================== --- tiki/include/Tiki/drawables/console.h 2007-11-06 02:14:10 UTC (rev 531) +++ tiki/include/Tiki/drawables/console.h 2007-11-06 15:54:58 UTC (rev 532) @@ -122,36 +122,52 @@ return *this; } virtual void draw(ObjType t); - void renderCharacter(float x, float y, float w, float h, unsigned char c, int color); - void renderBackground(float x, float y, float w, float h, int color); + protected: - RefPtr<Texture> m_texture; int m_rows, m_cols; std::vector<unsigned char> m_charData; std::vector<unsigned short> m_colorData; - - Color m_palette[8]; + float m_w, m_h; + virtual void refresh() { + Frame::begin(); + draw(Drawable::Opaque); + Frame::transEnable(); + draw(Drawable::Trans); + Frame::finish(); + } + private: - void processAnsiString(); + RefPtr<Texture> m_texture; + Color m_palette[8]; bool m_autoScroll, m_autoWrap, m_autoRefresh; bool m_ansi; int m_cursor_x, m_cursor_y; int m_save_x, m_save_y; int m_attr; - float m_w, m_h; unsigned char ansistr[51]; unsigned char ansiptr; - - void refresh() { - Frame::begin(); - draw(Drawable::Opaque); - Frame::transEnable(); - draw(Drawable::Trans); - Frame::finish(); - } + + void processAnsiString(); + void renderCharacter(float x, float y, float w, float h, unsigned char c, int color); + void renderBackground(float x, float y, float w, float h, int color); }; + +#if TIKI_PLAT == TIKI_NDS + // NDS optimized console for the lower screen + class NDSSubScreenConsole : public Console + { + public: + NDSSubScreenConsole(int cols, int rows); + virtual void draw(ObjType list); + + protected: + virtual void refresh() { + draw(Drawable::Opaque); + } + }; +#endif }; }; Property changes on: tiki/nds ___________________________________________________________________ Name: svn:ignore - libtiki.a tiki.depend tiki.layout .objs + libtiki.a tiki.depend tiki.layout .objs ascii_font_bin.h Modified: tiki/nds/Makefile =================================================================== --- tiki/nds/Makefile 2007-11-06 02:14:10 UTC (rev 531) +++ tiki/nds/Makefile 2007-11-06 15:54:58 UTC (rev 532) @@ -6,6 +6,7 @@ BASE_GL_OBJ+=$(patsubst %.cpp,%.o,$(wildcard ../src/gl/anims/*.cpp)) BASE_GL_OBJ+=$(patsubst %.cpp,%.o,$(wildcard ../src/gl/drawables/*.cpp)) BASE_GL_OBJ+=$(patsubst %.cpp,%.o,$(wildcard ../src/gl/triggers/*.cpp)) +BASE_GL_OBJ+=ascii_font.bin.o BASE_HID_OBJ=$(patsubst %.cpp,%.o,$(wildcard ../src/hid/*.cpp)) BASE_IMAGE_OBJ=$(patsubst %.cpp,%.o,$(wildcard ../src/image/*.cpp)) BASE_MATH_OBJ=$(patsubst %.cpp,%.o,$(wildcard ../src/math/*.cpp)) Modified: tiki/nds/Makefile.rules =================================================================== --- tiki/nds/Makefile.rules 2007-11-06 02:14:10 UTC (rev 531) +++ tiki/nds/Makefile.rules 2007-11-06 15:54:58 UTC (rev 532) @@ -55,3 +55,11 @@ @rm -f tikiarm7.arm7 @rm -f $@.arm9.elf endef + +#----------------- +# extra rules not provided by devkitpro + +%.bin.o : %.bin + @echo $(notdir $<) + @$(bin2o) +#----------------- Added: tiki/nds/ascii_font.bin =================================================================== (Binary files differ) Property changes on: tiki/nds/ascii_font.bin ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: tiki/nds/src/init_shutdown.cpp =================================================================== --- tiki/nds/src/init_shutdown.cpp 2007-11-06 02:14:10 UTC (rev 531) +++ tiki/nds/src/init_shutdown.cpp 2007-11-06 15:54:58 UTC (rev 532) @@ -22,6 +22,10 @@ SendCommandToArm7( 0x87654321 ); } +Tiki::GL::NDSSubScreenConsole *console = NULL; +extern const u8 ascii_font_bin[]; +extern const u32 ascii_font_bin_size; + namespace Tiki { bool init( int argc, char **argv ) { @@ -32,13 +36,21 @@ if(g_tiki_init_flags & TIKI_INIT_DEBUG_CONSOLE) { consoleDemoInit(); + /* + videoSetModeSub( MODE_0_2D | DISPLAY_BG0_ACTIVE | DISPLAY_BG1_ACTIVE ); + SUB_BG0_CR = BG_64x32 | BG_COLOR_16 | BG_MAP_BASE( 0 ) | BG_TILE_BASE( 1 ); + SUB_BG1_CR = BG_64x32 | BG_COLOR_16 | BG_MAP_BASE( 2 ) | BG_TILE_BASE( 1 ); + vramSetBankC( VRAM_C_SUB_BG ); + memcpy( ( void * )BG_TILE_RAM_SUB( 1 ), ascii_font_bin, ascii_font_bin_size ); + console = new Tiki::GL::NDSSubScreenConsole( 64, 24 ); + */ } - // Setup the Main screen for 3D + // Setup the Main screen for 3D videoSetMode( MODE_0_3D ); vramSetBankA( VRAM_A_TEXTURE ); - Tiki::Debug::printf("Enabling IRQs\n"); + Tiki::Debug::printf("Enabling IRQs\n"); // IRQ basic setup irqInit(); @@ -47,39 +59,39 @@ glInit(); glEnable(GL_TEXTURE_2D); - // enable antialiasing - glEnable(GL_ANTIALIAS); - glClearColor(0,0,0,31); // BG must be opaque for AA to work - glClearPolyID(63); // BG must have a unique polygon ID for AA to work - glClearDepth( 0x7FFF ); + // enable antialiasing + glEnable(GL_ANTIALIAS); + glClearColor(0,0,0,31); // BG must be opaque for AA to work + glClearPolyID(63); // BG must have a unique polygon ID for AA to work + glClearDepth( 0x7FFF ); // Set our viewport to be the same size as the screen - glViewport(0,0,255,191); + glViewport(0,0,255,191); glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - gluPerspective(70, 256.0 / 192.0, 0.1, 100); + glLoadIdentity(); + gluPerspective(70, 256.0 / 192.0, 0.1, 100); glLight(0, RGB15(31,31,31) , 0, floattov10(-1.0),0); glLight(1, RGB15(31,31,31) , 0,0,floattov10(-1.0)); glLight(2, RGB15(31,31,31) , 0,0,floattov10(1.0)); //need to set up some material properties since DS does not have them set by default - glMaterialf(GL_AMBIENT, RGB15(16,16,16)); - glMaterialf(GL_DIFFUSE, RGB15(16,16,16)); - glMaterialf(GL_SPECULAR, BIT(15) | RGB15(8,8,8)); - glMaterialf(GL_EMISSION, RGB15(16,16,16)); + glMaterialf(GL_AMBIENT, RGB15(16,16,16)); + glMaterialf(GL_DIFFUSE, RGB15(16,16,16)); + glMaterialf(GL_SPECULAR, BIT(15) | RGB15(8,8,8)); + glMaterialf(GL_EMISSION, RGB15(16,16,16)); - //ds uses a table for shinyness..this generates a half-ass one - glMaterialShinyness(); + //ds uses a table for shinyness..this generates a half-ass one + glMaterialShinyness(); - glPolyFmt(POLY_ALPHA(31) | POLY_CULL_FRONT | POLY_FORMAT_LIGHT0| POLY_FORMAT_LIGHT1| POLY_FORMAT_LIGHT2 ); + glPolyFmt(POLY_ALPHA(31) | POLY_CULL_FRONT | POLY_FORMAT_LIGHT0| POLY_FORMAT_LIGHT1| POLY_FORMAT_LIGHT2 ); - glMatrixMode(GL_MODELVIEW); + glMatrixMode(GL_MODELVIEW); - // set a default color. - glColor3f(1, 1, 1); + // set a default color. + glColor3f(1, 1, 1); - Tiki::Debug::printf("Enabling libFAT\n"); + Tiki::Debug::printf("Enabling libFAT\n"); fatInitDefault(); if(g_tiki_init_flags & TIKI_INIT_AUDIO_MASK) { @@ -123,6 +135,9 @@ if(g_tiki_init_flags & TIKI_INIT_HID_MASK ) { Audio::Stream::shutdownGlobal(); } + if(g_tiki_init_flags & TIKI_INIT_DEBUG_CONSOLE && console != NULL) { + delete console; + } } void setName( const char *windowName, const char *iconName ) {} Modified: tiki/src/gl/drawables/console.cpp =================================================================== --- tiki/src/gl/drawables/console.cpp 2007-11-06 02:14:10 UTC (rev 531) +++ tiki/src/gl/drawables/console.cpp 2007-11-06 15:54:58 UTC (rev 532) @@ -519,3 +519,61 @@ } ansiptr = 0; } + + +#if TIKI_PLAT == TIKI_NDS +NDSSubScreenConsole::NDSSubScreenConsole(int cols, int rows) : Console(cols, rows, NULL) { + BG_PALETTE_SUB[ ( 16 * 0 ) + 1 ] = RGB15( 0, 0, 0 ); + BG_PALETTE_SUB[ ( 16 * 1 ) + 1 ] = RGB15( 0, 0, 15 ); + BG_PALETTE_SUB[ ( 16 * 2 ) + 1 ] = RGB15( 0, 15, 0 ); + BG_PALETTE_SUB[ ( 16 * 3 ) + 1 ] = RGB15( 0, 15, 15 ); + BG_PALETTE_SUB[ ( 16 * 4 ) + 1 ] = RGB15( 15, 0, 0 ); + BG_PALETTE_SUB[ ( 16 * 5 ) + 1 ] = RGB15( 15, 0, 15 ); + BG_PALETTE_SUB[ ( 16 * 6 ) + 1 ] = RGB15( 15, 15, 0 ); + BG_PALETTE_SUB[ ( 16 * 7 ) + 1 ] = RGB15( 15, 15, 15 ); + BG_PALETTE_SUB[ ( 16 * 8 ) + 1 ] = RGB15( 6, 6, 6 ); + BG_PALETTE_SUB[ ( 16 * 9 ) + 1 ] = RGB15( 0, 0, 31 ); + BG_PALETTE_SUB[ ( 16 * 10 ) + 1 ] = RGB15( 0, 31, 0 ); + BG_PALETTE_SUB[ ( 16 * 11 ) + 1 ] = RGB15( 0, 31, 31 ); + BG_PALETTE_SUB[ ( 16 * 12 ) + 1 ] = RGB15( 31, 0, 0 ); + BG_PALETTE_SUB[ ( 16 * 13 ) + 1 ] = RGB15( 31, 0, 31 ); + BG_PALETTE_SUB[ ( 16 * 14 ) + 1 ] = RGB15( 31, 31, 0 ); + BG_PALETTE_SUB[ ( 16 * 15 ) + 1 ] = RGB15( 31, 31, 31 ); + + setANSI(true); + setAutoRefresh(true); +} + +// use the following value to ensure the background is visible when rendered +#define SOLID_FILL 219 + +// Macro for palette selecting +#define TILE_PALETTE(n) ((n)<<12) + +void NDSSubScreenConsole::draw(ObjType list) { + if(list == Trans) { + return; + } + u16 * bg0Map = ( u16 * )SCREEN_BASE_BLOCK_SUB( 0 ); + u16 * bg1Map = ( u16 * )SCREEN_BASE_BLOCK_SUB( 2 ); + + for( u16 y = 0; y < m_rows; y++ ) { + for( u16 x = 0; x < m_cols; x++ ) { + char fg = m_colorData[ ( y * m_cols ) + x ] & 0x07; + if( m_colorData[ ( y * m_cols ) + x ] & HIGH_INTENSITY ) { + fg += 8; + } + char bg = ( m_colorData[ ( y * m_cols ) + x ] >> 8 ) & 0x07; + + if(x < 32) { + bg1Map[ ( y * 32 ) + x ] = SOLID_FILL | TILE_PALETTE(bg); + bg0Map[ ( y * 32 ) + x ] = m_charData[ ( y * m_cols ) + x ] | TILE_PALETTE(fg); + } + else { + bg1Map[ ( y * 32 ) + ( x - 32 ) + 1024 ] = SOLID_FILL | TILE_PALETTE(bg); + bg0Map[ ( y * 32 ) + ( x - 32 ) + 1024 ] = m_charData[ ( y * m_cols ) + x ] | TILE_PALETTE(fg); + } + } + } +} +#endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <at...@us...> - 2007-11-06 16:46:37
|
Revision: 533 http://cadcdev.svn.sourceforge.net/cadcdev/?rev=533&view=rev Author: atani Date: 2007-11-06 08:46:32 -0800 (Tue, 06 Nov 2007) Log Message: ----------- SoundFX support on the DS. Modified Paths: -------------- tiki/include/Tiki/sound.h tiki/nds/src/audio/sound.cpp tiki/nds/src/init_shutdown.cpp Modified: tiki/include/Tiki/sound.h =================================================================== --- tiki/include/Tiki/sound.h 2007-11-06 15:54:58 UTC (rev 532) +++ tiki/include/Tiki/sound.h 2007-11-06 16:46:32 UTC (rev 533) @@ -14,14 +14,11 @@ #if TIKI_PLAT == TIKI_OSX # include <OpenAL/al.h> -#else -#if TIKI_PLAT == TIKI_SDL +#elif TIKI_PLAT == TIKI_SDL # include <AL/al.h> -#endif -#if TIKI_PLAT == TIKI_WIN32 +#elif TIKI_PLAT == TIKI_WIN32 # include <al.h> #endif -#endif namespace Tiki { namespace Audio { @@ -67,14 +64,13 @@ private: bool m_stereo; #if TIKI_PLAT != TIKI_DC && TIKI_PLAT != TIKI_NDS - ALuint m_buffer; #endif #if TIKI_PLAT == TIKI_DC - sfxhnd_t handle; #endif #if TIKI_PLAT == TIKI_NDS + TransferSoundData m_sndData; #endif static float m_default_vol; Modified: tiki/nds/src/audio/sound.cpp =================================================================== --- tiki/nds/src/audio/sound.cpp 2007-11-06 15:54:58 UTC (rev 532) +++ tiki/nds/src/audio/sound.cpp 2007-11-06 16:46:32 UTC (rev 533) @@ -24,6 +24,7 @@ float Sound::m_default_vol = 0.9f; bool Sound::initGlobal() { + setGenericSound( 11025, 127, 64, 1 ); return true; } @@ -42,12 +43,68 @@ assert( false ); } -Sound::Sound() {} +Sound::Sound() { + memset( &m_sndData, 0, sizeof( TransferSoundData ) ); +} Sound::~Sound() {} bool Sound::loadFromFile( const string & fn ) { - return false; + char magic[ 4 ]; + uint32 len, hz; + uint16 chn, bitsize, fmt; + + File wavFile( fn, "r" ); + wavFile.seek( 8, SEEK_SET ); + wavFile.read( magic, 4 ); + + if ( strncmp( magic, "WAVE", 4 ) ) { + Debug::printf( "Sound::loadFromFile: file is not RIFF WAVE\n" ); + wavFile.close(); + m_sndData.data = NULL; + return false; + } + + /* Read WAV header info */ + wavFile.seek( 0x14, SEEK_SET ); + wavFile.readle16( &fmt, 1 ); + wavFile.readle16( &chn, 1 ); + wavFile.readle32( &hz, 1 ); + wavFile.seek( 0x22, SEEK_SET ); + wavFile.readle16( &bitsize, 1 ); + + /* Read WAV data */ + wavFile.seek( 0x28, SEEK_SET ); + wavFile.readle32( &len, 1 ); + + Debug::printf( "WAVE file is %s, %dHZ, %d bits/sample, %d bytes total, format %d\n", + chn == 1 ? "mono" : "stereo", hz, bitsize, len, fmt ); + if ( bitsize == 8 ) { + m_sndData.format = 1; + } else if ( bitsize == 16 ) { + m_sndData.format = 2; + } else { + Debug::printf( "Sound::loadFromFile: unsupported bitsize / channel combination\n" ); + wavFile.close(); + m_sndData.data = NULL; + return false; + } + + m_sndData.len = len; + m_sndData.rate = hz; + + m_sndData.data = malloc( len ); + if ( bitsize == 8 ) { + wavFile.read( m_sndData.data, len ); + } else { + //byte swapping may be needed, depending on host endianness + for ( int i = 0; i < size; i += 2 ) { + wavFile.readle16( ( uint8 * ) m_sndData.data + i, 1 ); + } + } + + wavFile.close(); + return true; } // Set the default volume value @@ -56,16 +113,29 @@ } int Sound::play() { - return -1; + m_sndData.vol = 128 * m_default_vol; + playSound(&m_sndData); + return 0; } int Sound::play( float vol ) { - return -1; + m_sndData.pan = 64; + m_sndData.vol = 128 * vol; + playSound(&m_sndData); + return 0; } int Sound::play( float vol, float pan ) { - return -1; + m_sndData.pan = 64; + m_sndData.vol = 128 * vol; + playSound(&m_sndData); + return 0; } -void Sound::play( int ch, float vol, float pan ) {} +void Sound::play( int ch, float vol, float pan ) { + m_sndData.pan = 64; + m_sndData.vol = 128 * vol; + playSound(&m_sndData); + return 0; +} Modified: tiki/nds/src/init_shutdown.cpp =================================================================== --- tiki/nds/src/init_shutdown.cpp 2007-11-06 15:54:58 UTC (rev 532) +++ tiki/nds/src/init_shutdown.cpp 2007-11-06 16:46:32 UTC (rev 533) @@ -99,6 +99,10 @@ Tiki::Debug::printf("Enabling SoundStream\n"); Audio::Stream::initGlobal(); } + if(g_tiki_init_flags & TIKI_INIT_AUDIO_SFX) { + Tiki::Debug::printf("Enabling SoundFX\n"); + Audio::Sound::initGlobal(); + } } if(g_tiki_init_flags & TIKI_INIT_HID_MASK ) { Tiki::Debug::printf("Enabling HID\n"); @@ -134,6 +138,7 @@ } if(g_tiki_init_flags & TIKI_INIT_HID_MASK ) { Audio::Stream::shutdownGlobal(); + Audio::Sound::shutdownGlobal(); } if(g_tiki_init_flags & TIKI_INIT_DEBUG_CONSOLE && console != NULL) { delete console; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <at...@us...> - 2007-11-06 20:33:01
|
Revision: 534 http://cadcdev.svn.sourceforge.net/cadcdev/?rev=534&view=rev Author: atani Date: 2007-11-06 12:32:59 -0800 (Tue, 06 Nov 2007) Log Message: ----------- nds sound fx support, sound fx sample Modified Paths: -------------- tiki/examples/Makefile tiki/include/Tiki/sound.h tiki/nds/src/audio/sound.cpp tiki/nds/src/init_shutdown.cpp Added Paths: ----------- tiki/examples/sound/ tiki/examples/sound/Makefile tiki/examples/sound/sfx/ tiki/examples/sound/sfx/Makefile tiki/examples/sound/sfx/resources/ tiki/examples/sound/sfx/resources/click.wav tiki/examples/sound/sfx/resources/pc-ascii.png tiki/examples/sound/sfx/src/ tiki/examples/sound/sfx/src/SoundFX.cpp tiki/examples/sound/sfx/src/main.cpp Modified: tiki/examples/Makefile =================================================================== --- tiki/examples/Makefile 2007-11-06 16:46:32 UTC (rev 533) +++ tiki/examples/Makefile 2007-11-06 20:32:59 UTC (rev 534) @@ -1,5 +1,5 @@ -SUBDIRS = events menu console net nehe +SUBDIRS = events menu console net nehe sound TIKI_DIR ?= $(CURDIR)/../ include $(TIKI_DIR)$(TIKI_PLAT)/Makefile.rules Added: tiki/examples/sound/Makefile =================================================================== --- tiki/examples/sound/Makefile (rev 0) +++ tiki/examples/sound/Makefile 2007-11-06 20:32:59 UTC (rev 534) @@ -0,0 +1,8 @@ + +SUBDIRS = sfx + +TIKI_DIR ?= $(CURDIR)/../../ +include $(TIKI_DIR)$(TIKI_PLAT)/Makefile.rules + +all: subdirs +clean: clean_subdirs Property changes on: tiki/examples/sound/sfx ___________________________________________________________________ Name: svn:ignore + build Debug Release *.nds *.ds.gba sound_fx Added: tiki/examples/sound/sfx/Makefile =================================================================== --- tiki/examples/sound/sfx/Makefile (rev 0) +++ tiki/examples/sound/sfx/Makefile 2007-11-06 20:32:59 UTC (rev 534) @@ -0,0 +1,26 @@ + +CFLAGS=-I$(TIKI_DIR)$(TIKI_PLAT)/include -I$(TIKI_DIR)include +OBJS = $(patsubst %.cpp,%.o,$(wildcard src/*.cpp)) + +ifeq ($(TIKI_PLAT),nds) +NDS_CART_CODE ?= SOUN +NDS_CART_ID ?= TK +NDS_CART_NAME ?= SoundFX +NDS_CART_VERSION ?= 1 +endif + +all: sound_fx +sound_fx: $(OBJS) + $(build_romdisk) + $(CXX) $(LDFLAGS) -L$(TIKI_DIR)$(TIKI_PLAT) -L$(TIKI_DIR)$(TIKI_PLAT)/lib $(OBJS) $(TIKI_BASE_LIBS) -o sound_fx$(PLATFORM_BINARY_EXT) $(ROMDISK_OBJ) + $(post_build) + +clean: + -rm -f $(OBJS) sound_fx$(PLATFORM_BINARY_EXT) $(ROMDISK_OBJ) +ifeq ($(TIKI_PLAT),nds) + -rm -f sound_fx.nds sound_fx.ds.gba +endif + +TIKI_DIR ?= $(CURDIR)/../../../ +DEPSDIR=$(CURDIR) +include $(TIKI_DIR)$(TIKI_PLAT)/Makefile.rules Property changes on: tiki/examples/sound/sfx/Makefile ___________________________________________________________________ Name: svn:executable + * Added: tiki/examples/sound/sfx/resources/click.wav =================================================================== (Binary files differ) Property changes on: tiki/examples/sound/sfx/resources/click.wav ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: tiki/examples/sound/sfx/resources/pc-ascii.png =================================================================== (Binary files differ) Property changes on: tiki/examples/sound/sfx/resources/pc-ascii.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Property changes on: tiki/examples/sound/sfx/src ___________________________________________________________________ Name: svn:ignore + *.d Added: tiki/examples/sound/sfx/src/SoundFX.cpp =================================================================== --- tiki/examples/sound/sfx/src/SoundFX.cpp (rev 0) +++ tiki/examples/sound/sfx/src/SoundFX.cpp 2007-11-06 20:32:59 UTC (rev 534) @@ -0,0 +1,27 @@ +/* +* SoundFX.cpp +* Basic menu example +* +* Copyright (C)2007 Atani Software +* +*/ + +#include <Tiki/tiki.h> +#include <pch.h> + +#if TIKI_PLAT == TIKI_WIN32 +#include <windows.h> + +static char szAppName[] = "SoundFX"; +int APIENTRY WinMain( HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) +#else +extern "C" int tiki_main( int argc, char *argv[] ); +int main( int argc, char *argv[] ) +#endif +{ +#if TIKI_PLAT != TIKI_WIN32 + return tiki_main( argc, argv ); +#else + return Tiki::DoMain( szAppName, hInst, hPrevInstance, lpCmdLine, nCmdShow ); +#endif +} Added: tiki/examples/sound/sfx/src/main.cpp =================================================================== --- tiki/examples/sound/sfx/src/main.cpp (rev 0) +++ tiki/examples/sound/sfx/src/main.cpp 2007-11-06 20:32:59 UTC (rev 534) @@ -0,0 +1,116 @@ +/* +* main.cpp +* Sound FX example +* +* Copyright (C)2007 Atani Software +* +*/ + +#include <Tiki/tiki.h> +#include <Tiki/sound.h> +#include <Tiki/hid.h> +#include <Tiki/gl.h> +#include <Tiki/drawables/console.h> + +using namespace Tiki; +using namespace Tiki::Audio; +using namespace Tiki::GL; +using namespace Tiki::Hid; + +float volume = 0.50f; +float panning = 0.0f; + +RefPtr<Sound> sound; +RefPtr<Console> console; +RefPtr<Texture> console_font; + +volatile bool g_quitting = false; +void tkCallback( const Event & evt, void * data ) { + if ( evt.type == Event::EvtQuit ) { + g_quitting = true; + } + else if (evt.type == Event::EvtKeypress) { + switch(evt.key) { + case '\n': + case '\r': + sound->play(volume, panning); + break; + case Event::KeyLeft: + panning -= 0.05f; + if(panning < -1.0f) { + panning = -1.0f; + } + + break; + case Event::KeyRight: + panning += 0.05f; + if(panning > 1.0f) { + panning = 1.0f; + } + break; + case Event::KeyDown: + volume -= 0.05f; + if(volume < 0.0f) { + volume = 0.0f; + } + break; + case Event::KeyUp: + volume += 0.05f; + if(volume > 1.0f) { + volume = 1.0f; + } + + break; + case Event::KeyEsc: + g_quitting = true; + break; + + } + + } +} + +extern "C" int tiki_main(int argc, char *argv[]) +{ + Tiki::init(argc, argv); + Hid::callbackReg( tkCallback, NULL ); + +#if TIKI_PLAT == TIKI_DC + console_font = new Texture( "/rd/pc-ascii.png", true ); + sound = new Sound("/rd/click.wav"); +#else + console_font = new Texture( "pc-ascii.png", true ); + sound = new Sound("click.wav"); +#endif + console = new Console( 80, 25, console_font ); + + Vector screenExtents = Frame::getScreenExtents(); + console->setSize(screenExtents.x, screenExtents.y); + screenExtents *= 0.5f; + console->setTranslate(screenExtents); + console->setAutoWrap( true ); + console->setAutoScroll( true ); + console->color( BLACK, GREY ); + console->clear(); + + while (!g_quitting) + { + console->clear(); + console->printf("Press ESC to exit\n"); + console->printf("Panning: %02.02f\n", panning); + console->printf("Volume: %02.02f\n", volume); + + Frame::begin(); + console->draw(Drawable::Opaque); + Frame::transEnable(); + console->draw(Drawable::Trans); + Frame::finish(); + } + + delete sound; + delete console; + delete console_font; + + Tiki::shutdown(); + return 0; +} Modified: tiki/include/Tiki/sound.h =================================================================== --- tiki/include/Tiki/sound.h 2007-11-06 16:46:32 UTC (rev 533) +++ tiki/include/Tiki/sound.h 2007-11-06 20:32:59 UTC (rev 534) @@ -13,11 +13,11 @@ #include "object.h" #if TIKI_PLAT == TIKI_OSX -# include <OpenAL/al.h> +#include <OpenAL/al.h> #elif TIKI_PLAT == TIKI_SDL -# include <AL/al.h> +#include <AL/al.h> #elif TIKI_PLAT == TIKI_WIN32 -# include <al.h> +#include <al.h> #endif namespace Tiki { @@ -70,7 +70,10 @@ sfxhnd_t handle; #endif #if TIKI_PLAT == TIKI_NDS - TransferSoundData m_sndData; + uint8 *m_buffer; + uint32 m_rate; + uint32 m_size; + uint8 m_format; #endif static float m_default_vol; Modified: tiki/nds/src/audio/sound.cpp =================================================================== --- tiki/nds/src/audio/sound.cpp 2007-11-06 16:46:32 UTC (rev 533) +++ tiki/nds/src/audio/sound.cpp 2007-11-06 20:32:59 UTC (rev 534) @@ -11,6 +11,8 @@ #include "Tiki/sound.h" #include "Tiki/file.h" +#include <nds.h> + #include <string.h> using namespace Tiki::Audio; @@ -25,6 +27,7 @@ bool Sound::initGlobal() { setGenericSound( 11025, 127, 64, 1 ); + return true; } @@ -43,9 +46,7 @@ assert( false ); } -Sound::Sound() { - memset( &m_sndData, 0, sizeof( TransferSoundData ) ); -} +Sound::Sound() {} Sound::~Sound() {} @@ -61,7 +62,7 @@ if ( strncmp( magic, "WAVE", 4 ) ) { Debug::printf( "Sound::loadFromFile: file is not RIFF WAVE\n" ); wavFile.close(); - m_sndData.data = NULL; + m_buffer = NULL; return false; } @@ -80,26 +81,25 @@ Debug::printf( "WAVE file is %s, %dHZ, %d bits/sample, %d bytes total, format %d\n", chn == 1 ? "mono" : "stereo", hz, bitsize, len, fmt ); if ( bitsize == 8 ) { - m_sndData.format = 1; + m_format = 1; } else if ( bitsize == 16 ) { - m_sndData.format = 2; + m_format = 2; } else { Debug::printf( "Sound::loadFromFile: unsupported bitsize / channel combination\n" ); wavFile.close(); - m_sndData.data = NULL; + m_buffer = NULL; return false; } - m_sndData.len = len; - m_sndData.rate = hz; - - m_sndData.data = malloc( len ); + m_size = len; + m_rate = hz; + m_buffer = new u8[ m_size ]; if ( bitsize == 8 ) { - wavFile.read( m_sndData.data, len ); + wavFile.read( m_buffer, m_size ); } else { //byte swapping may be needed, depending on host endianness - for ( int i = 0; i < size; i += 2 ) { - wavFile.readle16( ( uint8 * ) m_sndData.data + i, 1 ); + for ( int i = 0; i < m_size; i += 2 ) { + wavFile.readle16( ( uint8 * ) m_buffer + i, 1 ); } } @@ -113,29 +113,29 @@ } int Sound::play() { - m_sndData.vol = 128 * m_default_vol; - playSound(&m_sndData); + play( 0, m_default_vol, 0.0f ); return 0; } int Sound::play( float vol ) { - m_sndData.pan = 64; - m_sndData.vol = 128 * vol; - playSound(&m_sndData); + play( 0, vol, 0.0f ); return 0; } int Sound::play( float vol, float pan ) { - m_sndData.pan = 64; - m_sndData.vol = 128 * vol; - playSound(&m_sndData); + play( 0, vol, pan ); return 0; } void Sound::play( int ch, float vol, float pan ) { - m_sndData.pan = 64; - m_sndData.vol = 128 * vol; - playSound(&m_sndData); - return 0; + TransferSoundData sound = { + m_buffer, + m_size, + m_rate, + static_cast<u8>(128 * vol), + pan == 0.0f ? 64 : (pan < 0.0f ? 128 + static_cast<u8>(64 * pan) : 64 + static_cast<u8>(64 * pan)), + m_format + }; + playSound( &sound ); } Modified: tiki/nds/src/init_shutdown.cpp =================================================================== --- tiki/nds/src/init_shutdown.cpp 2007-11-06 16:46:32 UTC (rev 533) +++ tiki/nds/src/init_shutdown.cpp 2007-11-06 20:32:59 UTC (rev 534) @@ -11,8 +11,9 @@ #include "Tiki/sound.h" #include "Tiki/stream.h" #include "Tiki/hid.h" +#include "Tiki/drawables/console.h" -#include <nds.h>s +#include <nds.h> #include <fat.h> #include <dswifi9.h> #include <dssoundstream.h> @@ -22,7 +23,7 @@ SendCommandToArm7( 0x87654321 ); } -Tiki::GL::NDSSubScreenConsole *console = NULL; +Tiki::GL::NDSSubScreenConsole *debug_console = NULL; extern const u8 ascii_font_bin[]; extern const u32 ascii_font_bin_size; @@ -42,7 +43,7 @@ SUB_BG1_CR = BG_64x32 | BG_COLOR_16 | BG_MAP_BASE( 2 ) | BG_TILE_BASE( 1 ); vramSetBankC( VRAM_C_SUB_BG ); memcpy( ( void * )BG_TILE_RAM_SUB( 1 ), ascii_font_bin, ascii_font_bin_size ); - console = new Tiki::GL::NDSSubScreenConsole( 64, 24 ); + debug_console = new Tiki::GL::NDSSubScreenConsole( 64, 24 ); */ } @@ -140,8 +141,8 @@ Audio::Stream::shutdownGlobal(); Audio::Sound::shutdownGlobal(); } - if(g_tiki_init_flags & TIKI_INIT_DEBUG_CONSOLE && console != NULL) { - delete console; + if(g_tiki_init_flags & TIKI_INIT_DEBUG_CONSOLE && debug_console != NULL) { + delete debug_console; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <at...@us...> - 2007-11-07 15:35:19
|
Revision: 538 http://cadcdev.svn.sourceforge.net/cadcdev/?rev=538&view=rev Author: atani Date: 2007-11-07 07:35:12 -0800 (Wed, 07 Nov 2007) Log Message: ----------- disable debug by default Modified Paths: -------------- tiki/examples/events/src/test.cpp tiki/examples/menu/basic/src/main.cpp tiki/examples/menu/popup/src/main.cpp tiki/examples/net/basic/src/main.cpp tiki/examples/net/chat/src/main.cpp tiki/examples/net/chatd/src/main.cpp tiki/examples/net/httpclient/src/main.cpp tiki/include/Tiki/tiki.h Modified: tiki/examples/events/src/test.cpp =================================================================== --- tiki/examples/events/src/test.cpp 2007-11-07 07:47:57 UTC (rev 537) +++ tiki/examples/events/src/test.cpp 2007-11-07 15:35:12 UTC (rev 538) @@ -12,6 +12,8 @@ using namespace Tiki; +TIKI_INIT_FLAGS(TIKI_INIT_DEFAULTS | TIKI_INIT_DEBUG_CONSOLE) + extern "C" int tiki_main( int argc, char **argv ) { // Init Tiki if ( !Tiki::init( argc, argv ) ) { Modified: tiki/examples/menu/basic/src/main.cpp =================================================================== --- tiki/examples/menu/basic/src/main.cpp 2007-11-07 07:47:57 UTC (rev 537) +++ tiki/examples/menu/basic/src/main.cpp 2007-11-07 15:35:12 UTC (rev 538) @@ -16,6 +16,8 @@ using namespace Tiki; using namespace Tiki::GL; +TIKI_INIT_FLAGS(TIKI_INIT_DEFAULTS | TIKI_INIT_DEBUG_CONSOLE) + class BasicMenuExample : public GenericMenu { public: BasicMenuExample() { Modified: tiki/examples/menu/popup/src/main.cpp =================================================================== --- tiki/examples/menu/popup/src/main.cpp 2007-11-07 07:47:57 UTC (rev 537) +++ tiki/examples/menu/popup/src/main.cpp 2007-11-07 15:35:12 UTC (rev 538) @@ -18,6 +18,8 @@ using namespace Tiki; using namespace Tiki::GL; +TIKI_INIT_FLAGS(TIKI_INIT_DEFAULTS | TIKI_INIT_DEBUG_CONSOLE) + class PopupMenuExample : public GenericMenu { public: PopupMenuExample() { Modified: tiki/examples/net/basic/src/main.cpp =================================================================== --- tiki/examples/net/basic/src/main.cpp 2007-11-07 07:47:57 UTC (rev 537) +++ tiki/examples/net/basic/src/main.cpp 2007-11-07 15:35:12 UTC (rev 538) @@ -17,6 +17,8 @@ using namespace Tiki::Net::TCP; using namespace Tiki::Time; +TIKI_INIT_FLAGS(TIKI_INIT_DEFAULTS | TIKI_INIT_DEBUG_CONSOLE) + extern "C" int tiki_main( int argc, char **argv) { Tiki::Net::init(); Modified: tiki/examples/net/chat/src/main.cpp =================================================================== --- tiki/examples/net/chat/src/main.cpp 2007-11-07 07:47:57 UTC (rev 537) +++ tiki/examples/net/chat/src/main.cpp 2007-11-07 15:35:12 UTC (rev 538) @@ -21,6 +21,8 @@ RefPtr<TCPSocket> g_remoteconn; std::string g_tmpbuf; +TIKI_INIT_FLAGS(TIKI_INIT_DEFAULTS | TIKI_INIT_DEBUG_CONSOLE) + volatile bool g_quitting = false; void tkCallback( const Hid::Event & evt, void * data ) { if ( evt.type == Hid::Event::EvtQuit ) { Modified: tiki/examples/net/chatd/src/main.cpp =================================================================== --- tiki/examples/net/chatd/src/main.cpp 2007-11-07 07:47:57 UTC (rev 537) +++ tiki/examples/net/chatd/src/main.cpp 2007-11-07 15:35:12 UTC (rev 538) @@ -29,6 +29,8 @@ std::map<std::string, void (*)( TCPSocket * )> g_commandHandlers; +TIKI_INIT_FLAGS(TIKI_INIT_DEFAULTS | TIKI_INIT_DEBUG_CONSOLE) + volatile bool quitting = false; void tkCallback( const Hid::Event & evt, void * data ) { if ( evt.type == Hid::Event::EvtQuit ) { Modified: tiki/examples/net/httpclient/src/main.cpp =================================================================== --- tiki/examples/net/httpclient/src/main.cpp 2007-11-07 07:47:57 UTC (rev 537) +++ tiki/examples/net/httpclient/src/main.cpp 2007-11-07 15:35:12 UTC (rev 538) @@ -23,6 +23,8 @@ using namespace Tiki::Net::Http; using namespace Tiki::GL; +TIKI_INIT_FLAGS(TIKI_INIT_DEFAULTS | TIKI_INIT_DEBUG_CONSOLE) + class EventReceiver : public Object { public: EventReceiver() {} Modified: tiki/include/Tiki/tiki.h =================================================================== --- tiki/include/Tiki/tiki.h 2007-11-07 07:47:57 UTC (rev 537) +++ tiki/include/Tiki/tiki.h 2007-11-07 15:35:12 UTC (rev 538) @@ -84,12 +84,11 @@ TIKI_INIT_AUDIO_MASK = 0x00FF0000, TIKI_INIT_DEBUG_CONSOLE = 0x01000000, - TIKI_INIT_DEBUG_DEFAULT = TIKI_INIT_DEBUG_CONSOLE, + TIKI_INIT_DEBUG_DEFAULT = 0x00000000, TIKI_INIT_DEBUG_MASK = 0xFF000000, TIKI_INIT_NOTHING = 0x00000000, TIKI_INIT_DEFAULTS = TIKI_INIT_HID_DEFAULT | TIKI_INIT_VIDEO_DEFAULT | TIKI_INIT_AUDIO_DEFAULT | TIKI_INIT_DEBUG_DEFAULT, - TIKI_INIT_DEFAULTS_NODEBUG = TIKI_INIT_HID_DEFAULT | TIKI_INIT_VIDEO_DEFAULT | TIKI_INIT_AUDIO_DEFAULT, } TIKI_INIT_FLAGS_ENUM; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <at...@us...> - 2007-11-07 20:11:08
|
Revision: 540 http://cadcdev.svn.sourceforge.net/cadcdev/?rev=540&view=rev Author: atani Date: 2007-11-07 12:11:05 -0800 (Wed, 07 Nov 2007) Log Message: ----------- package structure changes Modified Paths: -------------- tiki/dc/Makefile tiki/nds/Makefile tiki/sdl/Makefile Property Changed: ---------------- tiki/examples/menu/basic/ tiki/examples/menu/popup/ Modified: tiki/dc/Makefile =================================================================== --- tiki/dc/Makefile 2007-11-07 15:56:21 UTC (rev 539) +++ tiki/dc/Makefile 2007-11-07 20:11:05 UTC (rev 540) @@ -28,16 +28,18 @@ $(MAKE) TIKI_PLAT=dc -C$(CURDIR)/../examples clean all package: - zip -9r ../dist/$(SVN_VERSION)/tiki-$(SVN_VERSION)-dc.zip libtiki.a - cd .. && \ - zip -9ru dist/$(SVN_VERSION)/tiki-$(SVN_VERSION)-dc.zip \ - include \ - dc/include \ - dc/Makefile.rules \ - -x "*/.svn/*" - cd .. && \ - zip -9ru dist/$(SVN_VERSION)/tiki-$(SVN_VERSION)-dc.zip \ - examples/console/TikiSnake/tikisnake.elf \ - -x "*/.svn/*" + mkdir ../dist/$(SVN_VERSION)/tmp + mkdir ../dist/$(SVN_VERSION)/tmp/Library + mkdir ../dist/$(SVN_VERSION)/tmp/Library/dc + mkdir ../dist/$(SVN_VERSION)/tmp/Samples + svn export ../include ../dist/$(SVN_VERSION)/tmp/Library/include + svn export include ../dist/$(SVN_VERSION)/tmp/Library/dc/include + cp libtiki.a ../dist/$(SVN_VERSION)/tmp/Library/dc + cp Makefile.rules ../dist/$(SVN_VERSION)/tmp/Library/dc + find ../examples -name '*.elf' \ + -exec cp {} ../dist/$(SVN_VERSION)/tmp/Samples \; + cd ../dist/$(SVN_VERSION)/tmp && \ + zip -9r ../tiki-$(SVN_VERSION)-dc.zip Library Samples + rm -rf ../dist/$(SVN_VERSION)/tmp include Makefile.rules Property changes on: tiki/examples/menu/basic ___________________________________________________________________ Name: svn:ignore - Debug Release build *.user *.nds *.ds.gba + Debug Release build *.user *.nds *.ds.gba menu_basic Property changes on: tiki/examples/menu/popup ___________________________________________________________________ Name: svn:ignore - build Debug Release *.user *.nds *.ds.gba + build Debug Release *.user *.nds *.ds.gba menu_popup Modified: tiki/nds/Makefile =================================================================== --- tiki/nds/Makefile 2007-11-07 15:56:21 UTC (rev 539) +++ tiki/nds/Makefile 2007-11-07 20:11:05 UTC (rev 540) @@ -64,34 +64,27 @@ $(MAKE) TIKI_PLAT=nds -C$(CURDIR)/../examples clean all package: - cd .. && \ - zip -9ru dist/$(SVN_VERSION)/tiki-$(SVN_VERSION)-nds.zip \ - include \ - nds/include \ - nds/libtiki.a \ - nds/tikiarm7 \ - nds/Makefile.rules - cp ../examples/console/TikiSnake/resources/pc-ascii.png \ - ../examples/console/TikiSnake - cp ../examples/net/httpclient/resources/pc-ascii.png \ - ../examples/net/httpclient - cd .. && \ - zip -9ru dist/$(SVN_VERSION)/tiki-$(SVN_VERSION)-nds.zip \ - examples/console/TikiSnake/pc-ascii.png \ - examples/console/TikiSnake/tikisnake.nds \ - examples/console/TikiSnake/tikisnake.ds.gba \ - examples/net/basic/basic.nds \ - examples/net/basic/basic.ds.gba \ - examples/net/chat/chat.nds \ - examples/net/chat/chat.ds.gba \ - examples/net/chatd/chatd.nds \ - examples/net/chatd/chatd.ds.gba \ - examples/net/httpclient/pc-ascii.png \ - examples/net/httpclient/httpclient.nds \ - examples/net/httpclient/httpclient.ds.gba - rm -f ../examples/console/TikiSnake/pc-ascii.png ../examples/net/httpclient/pc-ascii.png - zip ../dist/$(SVN_VERSION)/tiki-$(SVN_VERSION)-nds.zip \ - -d '*.svn*' + mkdir ../dist/$(SVN_VERSION)/tmp + mkdir ../dist/$(SVN_VERSION)/tmp/Library + mkdir ../dist/$(SVN_VERSION)/tmp/Library/nds + mkdir ../dist/$(SVN_VERSION)/tmp/Samples + mkdir ../dist/$(SVN_VERSION)/tmp/Samples/Resources + svn export ../include ../dist/$(SVN_VERSION)/tmp/Library/include + svn export include ../dist/$(SVN_VERSION)/tmp/Library/nds/include + cp libtiki.a ../dist/$(SVN_VERSION)/tmp/Library/nds + cp Makefile.rules ../dist/$(SVN_VERSION)/tmp/Library/nds + find $(wildcard $(TIKI_DIR)/examples/**/**/resources) \ + $(wildcard $(TIKI_DIR)/examples/**/resources) \ + -type f -maxdepth 1 \ + -exec cp {} ../dist/$(SVN_VERSION)/tmp/Samples/Resources \; + find $(TIKI_DIR)/examples -name '*.nds' \ + -exec cp {} ../dist/$(SVN_VERSION)/tmp/Samples \; + find $(TIKI_DIR)/examples -name '*.ds.gba' \ + -exec cp {} ../dist/$(SVN_VERSION)/tmp/Samples \; + echo "Copy the contents of the Resources directory to the root of your flash card.\nThis is required by many of the Tiki samples" > ../dist/$(SVN_VERSION)/tmp/Samples/README.txt + cd ../dist/$(SVN_VERSION)/tmp && \ + zip -9r ../tiki-$(SVN_VERSION)-nds.zip Library Samples + rm -rf ../dist/$(SVN_VERSION)/tmp DEPSDIR=$(CURDIR) include Makefile.rules Modified: tiki/sdl/Makefile =================================================================== --- tiki/sdl/Makefile 2007-11-07 15:56:21 UTC (rev 539) +++ tiki/sdl/Makefile 2007-11-07 20:11:05 UTC (rev 540) @@ -63,26 +63,31 @@ $(MAKE) TIKI_PLAT=sdl -C$(CURDIR)/../examples clean all package: - tar -cvf ../dist/$(SVN_VERSION)/tiki-$(SVN_VERSION)-sdl.tar libtiki.a - tar -uvf ../dist/$(SVN_VERSION)/tiki-$(SVN_VERSION)-sdl.tar -C ../ \ - include \ - sdl/include \ - sdl/Makefile.rules \ - --exclude .svn - cp ../examples/console/TikiSnake/resources/pc-ascii.png \ - ../examples/console/TikiSnake - cp ../examples/net/httpclient/resources/pc-ascii.png \ - ../examples/net/httpclient - tar -uvf ../dist/$(SVN_VERSION)/tiki-$(SVN_VERSION)-sdl.tar -C ../ \ - examples/net/basic/basic \ - examples/net/chat/chat \ - examples/net/chatd/chatd \ - examples/net/httpclient/httpclient \ - examples/net/httpclient/pc-ascii.png \ - examples/console/TikiSnake/tikisnake \ - examples/console/TikiSnake/pc-ascii.png \ - --exclude .svn - rm -f ../examples/console/TikiSnake/pc-ascii.png ../examples/net/httpclient/pc-ascii.png - gzip ../dist/$(SVN_VERSION)/tiki-$(SVN_VERSION)-sdl.tar + mkdir ../dist/$(SVN_VERSION)/tmp + mkdir ../dist/$(SVN_VERSION)/tmp/Library + mkdir ../dist/$(SVN_VERSION)/tmp/Library/sdl + mkdir ../dist/$(SVN_VERSION)/tmp/Samples + svn export ../include ../dist/$(SVN_VERSION)/tmp/Library/include + svn export include ../dist/$(SVN_VERSION)/tmp/Library/sdl/include + cp libtiki.a ../dist/$(SVN_VERSION)/tmp/Library/sdl + cp Makefile.rules ../dist/$(SVN_VERSION)/tmp/Library/sdl + find $(wildcard ../examples/**/**/resources) \ + $(wildcard ../examples/**/resources) \ + -type f -maxdepth 1 \ + -exec cp {} ../dist/$(SVN_VERSION)/tmp/Samples \; + cp ../examples/net/basic/basic \ + ../examples/net/chat/chat \ + ../examples/net/chatd/chatd \ + ../examples/net/httpclient/httpclient \ + ../examples/console/TikiSnake/tikisnake \ + ../examples/menu/basic/menu_basic \ + ../examples/menu/popup/menu_popup \ + ../examples/sound/sfx/sound_fx \ + ../dist/$(SVN_VERSION)/tmp/Samples + cd ../dist/$(SVN_VERSION)/tmp && \ + tar -cvf ../tiki-$(SVN_VERSION)-sdl.tar \ + Library Samples && \ + gzip ../tiki-$(SVN_VERSION)-sdl.tar + rm -rf ../dist/$(SVN_VERSION)/tmp include Makefile.rules This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <at...@us...> - 2007-11-11 20:50:37
|
Revision: 543 http://cadcdev.svn.sourceforge.net/cadcdev/?rev=543&view=rev Author: atani Date: 2007-11-11 12:50:23 -0800 (Sun, 11 Nov 2007) Log Message: ----------- added NDS support to color3, updated paths in xcode project Modified Paths: -------------- tiki/include/Tiki/color.h tiki/include/Tiki/color3.h tiki/osx/Tiki.xcodeproj/project.pbxproj Modified: tiki/include/Tiki/color.h =================================================================== --- tiki/include/Tiki/color.h 2007-11-11 20:14:56 UTC (rev 542) +++ tiki/include/Tiki/color.h 2007-11-11 20:50:23 UTC (rev 543) @@ -86,7 +86,6 @@ #else glColor(pack1555(r, g, b, a)); #endif - } static uint32 pack( float a, float r, float g, float b ) { Modified: tiki/include/Tiki/color3.h =================================================================== --- tiki/include/Tiki/color3.h 2007-11-11 20:14:56 UTC (rev 542) +++ tiki/include/Tiki/color3.h 2007-11-11 20:50:23 UTC (rev 543) @@ -56,9 +56,12 @@ } void select() const { - glColor4f( r, g, b, 1.0f ); +#if TIKI_PLAT != TIKI_NDS + glColor4f( r, g, b, 1.0 ); +#else + glColor(Color.pack1555(r, g, b, 1.0)); +#endif } - float r, g, b; }; Modified: tiki/osx/Tiki.xcodeproj/project.pbxproj =================================================================== --- tiki/osx/Tiki.xcodeproj/project.pbxproj 2007-11-11 20:14:56 UTC (rev 542) +++ tiki/osx/Tiki.xcodeproj/project.pbxproj 2007-11-11 20:50:23 UTC (rev 543) @@ -653,10 +653,10 @@ C42BD2D6078FC9BF00061670 /* base */ = { isa = PBXGroup; children = ( - 6400608D0CDF9DC800969916 /* init_flags_default.cpp */, C4AD53070793CE9F00E1B779 /* debug.cpp */, C4F5148D0799FBA10001D0D0 /* endian.cpp */, C4AD52290793B4CD00E1B779 /* file.cpp */, + 6400608D0CDF9DC800969916 /* init_flags_default.cpp */, C480A22E0835BEA6006AEE4B /* object.cpp */, C45D0B90083F030200F9F467 /* timeline.cpp */, C45D0B91083F030200F9F467 /* timepoint.cpp */, @@ -686,12 +686,12 @@ C42BD4B0078FCB0A00061670 /* Source */ = { isa = PBXGroup; children = ( - 64ED762B0C7CFB9400D16D5C /* platnet.cpp */, - C498925907EE98040050854A /* platgl.cpp */, - C498925707EE97E70050854A /* TikiMain.m */, C4B5838C0794CFC7004D22F2 /* init_shutdown.cpp */, C453994A079A509100F3A584 /* plathid.mm */, + C498925907EE98040050854A /* platgl.cpp */, + 64ED762B0C7CFB9400D16D5C /* platnet.cpp */, C472B717079AFA0200F0C00A /* platthread.cpp */, + C498925707EE97E70050854A /* TikiMain.m */, C4539A1B079AF3D100F3A584 /* tikitime.cpp */, ); name = Source; @@ -700,9 +700,9 @@ C42BD4B1078FCB0E00061670 /* Include */ = { isa = PBXGroup; children = ( - 64ED762D0C7CFBA100D16D5C /* platnet.h */, C4AD527D0793C96A00E1B779 /* glhdrs.h */, C42BD4B3078FCB5A00061670 /* pch.h */, + 64ED762D0C7CFBA100D16D5C /* platnet.h */, C472B719079AFA1600F0C00A /* platthread.h */, C4F51501079A05B70001D0D0 /* TikiMain.h */, C4AD510E0793AC2F00E1B779 /* tikitypes.h */, @@ -713,9 +713,9 @@ C42BD4F1078FCEA200061670 /* Notes */ = { isa = PBXGroup; children = ( + C42BD4F4078FCEC300061670 /* design.rtf */, C40D72C1083723B50084B52D /* design_v2.rtf */, C40D72C2083723B50084B52D /* drawing_model.txt */, - C42BD4F4078FCEC300061670 /* design.rtf */, ); name = Notes; sourceTree = "<group>"; @@ -779,17 +779,17 @@ C4AD50FD0793ABEC00E1B779 /* base */ = { isa = PBXGroup; children = ( + C4AD50E30793ABA000E1B779 /* debug.h */, 64ED76270C7CFB7E00D16D5C /* endian.h */, - 64ED76280C7CFB7E00D16D5C /* net.h */, - C4EAEB1F08678F1F003F5342 /* TikiAll.h */, - C4AD50E30793ABA000E1B779 /* debug.h */, C4AD522B0793B4E300E1B779 /* file.h */, C4AD50EB0793ABA000E1B779 /* list.h */, + 64ED76280C7CFB7E00D16D5C /* net.h */, C480A2360835BEF0006AEE4B /* object.h */, C4AD50EE0793ABA000E1B779 /* refcnt.h */, C4ACBDA30837CFFD00FA287E /* scene.h */, C40D72F9083730CB0084B52D /* tee.h */, C472B702079AF7A300F0C00A /* thread.h */, + C4EAEB1F08678F1F003F5342 /* TikiAll.h */, C4AD50F10793ABA000E1B779 /* tikitime.h */, C40D72CE083729BD0084B52D /* timeline.h */, C40D72D108372B3A0084B52D /* timepoint.h */, @@ -1007,7 +1007,6 @@ children = ( C4F5154B079A0B9E0001D0D0 /* alphafader.cpp */, C4F5154C079A0B9E0001D0D0 /* expxymover.cpp */, - 644D23540CDFE82D00E7F291 /* lightbarmenu.cpp */, C4F5154D079A0B9E0001D0D0 /* logxymover.cpp */, C4F5154E079A0B9E0001D0D0 /* tintfader.cpp */, ); @@ -1017,10 +1016,11 @@ C4F51549079A0B840001D0D0 /* drawables */ = { isa = PBXGroup; children = ( + C4F51553079A0BAE0001D0D0 /* banner.cpp */, 223226800A165A600035025E /* console.cpp */, - C4F51553079A0BAE0001D0D0 /* banner.cpp */, 2290A0FB09302D7500B7D80C /* cursor.cpp */, C4F51554079A0BAE0001D0D0 /* label.cpp */, + 644D23540CDFE82D00E7F291 /* lightbarmenu.cpp */, 2290A0FC09302D7500B7D80C /* pointerArrow.cpp */, 6444BEE50932A3D700A29768 /* texturetile.cpp */, ); @@ -1039,7 +1039,6 @@ C4F5155B079A0BDD0001D0D0 /* gl */ = { isa = PBXGroup; children = ( - 644D23560CDFE83C00E7F291 /* lightbarmenu.h */, C4F51568079A0C480001D0D0 /* anims */, C4F51569079A0C4E0001D0D0 /* drawables */, C4F5156A079A0C560001D0D0 /* triggers */, @@ -1059,11 +1058,11 @@ C4F51568079A0C480001D0D0 /* anims */ = { isa = PBXGroup; children = ( + C4F5156B079A0C6C0001D0D0 /* alphafader.h */, 640C2C2F092EB8C40032DE40 /* alpharotate.h */, - 64D758F3092EB9A5002667EE /* sleep.h */, - C4F5156B079A0C6C0001D0D0 /* alphafader.h */, C4F5156C079A0C6C0001D0D0 /* expxymover.h */, C4F5156D079A0C6C0001D0D0 /* logxymover.h */, + 64D758F3092EB9A5002667EE /* sleep.h */, C4F5156E079A0C6C0001D0D0 /* tintfader.h */, ); name = anims; @@ -1072,13 +1071,14 @@ C4F51569079A0C4E0001D0D0 /* drawables */ = { isa = PBXGroup; children = ( + C4F5156F079A0C7D0001D0D0 /* banner.h */, 223226820A165A7A0035025E /* console.h */, - 6444BEE70932A3F200A29768 /* texturetile.h */, 2290A0FF09302D9F00B7D80C /* cursor.h */, - 2290A10009302D9F00B7D80C /* pointerArrow.h */, - C4F5156F079A0C7D0001D0D0 /* banner.h */, C4F51570079A0C7D0001D0D0 /* label.h */, C4ACBDA00837CF6400FA287E /* layer.h */, + 644D23560CDFE83C00E7F291 /* lightbarmenu.h */, + 2290A10009302D9F00B7D80C /* pointerArrow.h */, + 6444BEE70932A3F200A29768 /* texturetile.h */, ); name = drawables; sourceTree = "<group>"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <at...@us...> - 2007-11-14 00:28:17
|
Revision: 544 http://cadcdev.svn.sourceforge.net/cadcdev/?rev=544&view=rev Author: atani Date: 2007-11-13 16:28:15 -0800 (Tue, 13 Nov 2007) Log Message: ----------- enable/disable features for Console Modified Paths: -------------- tiki/examples/console/TikiSnake/src/snake.cpp tiki/examples/net/httpclient/src/main.cpp tiki/examples/sound/sfx/src/main.cpp tiki/include/Tiki/drawables/console.h tiki/src/gl/drawables/console.cpp Property Changed: ---------------- tiki/examples/events/ Modified: tiki/examples/console/TikiSnake/src/snake.cpp =================================================================== --- tiki/examples/console/TikiSnake/src/snake.cpp 2007-11-11 20:50:23 UTC (rev 543) +++ tiki/examples/console/TikiSnake/src/snake.cpp 2007-11-14 00:28:15 UTC (rev 544) @@ -79,8 +79,8 @@ ct->setSize(screenExtents.x, screenExtents.y); screenExtents *= 0.5f; ct->setTranslate(screenExtents); - ct->setAutoScroll( 0 ); - ct->setAutoWrap( 0 ); + ct->disable( AUTO_SCROLL ); + ct->disable( AUTO_WRAP ); //initialize the board for ( x = 0;x < BOARD_X;x++ ) { Property changes on: tiki/examples/events ___________________________________________________________________ Name: svn:ignore - Debug Release build *.user *.nds *.ds.gba + Debug Release build *.user *.nds *.ds.gba tikievents Modified: tiki/examples/net/httpclient/src/main.cpp =================================================================== --- tiki/examples/net/httpclient/src/main.cpp 2007-11-11 20:50:23 UTC (rev 543) +++ tiki/examples/net/httpclient/src/main.cpp 2007-11-14 00:28:15 UTC (rev 544) @@ -89,8 +89,8 @@ console->setSize(screenExtents.x, screenExtents.y); screenExtents *= 0.5f; console->setTranslate(screenExtents); - console->setAutoWrap( true ); - console->setAutoScroll( true ); + console->enable( AUTO_WRAP ); + console->enable( AUTO_SCROLL ); console->color( BLACK, GREY ); console->clear(); Modified: tiki/examples/sound/sfx/src/main.cpp =================================================================== --- tiki/examples/sound/sfx/src/main.cpp 2007-11-11 20:50:23 UTC (rev 543) +++ tiki/examples/sound/sfx/src/main.cpp 2007-11-14 00:28:15 UTC (rev 544) @@ -88,8 +88,8 @@ console->setSize(screenExtents.x, screenExtents.y); screenExtents *= 0.5f; console->setTranslate(screenExtents); - console->setAutoWrap( true ); - console->setAutoScroll( true ); + console->enable( AUTO_WRAP ); + console->enable( AUTO_SCROLL ); console->color( BLACK, GREY ); console->clear(); Modified: tiki/include/Tiki/drawables/console.h =================================================================== --- tiki/include/Tiki/drawables/console.h 2007-11-11 20:50:23 UTC (rev 543) +++ tiki/include/Tiki/drawables/console.h 2007-11-14 00:28:15 UTC (rev 544) @@ -40,6 +40,17 @@ INVISIBLE = 0xA000 }; + enum ConsoleFeatures { + BACKSPACE_PROCESSING = 0x0001, + NEWLINE_PROCESSING = 0x0002, + CARRIAGE_RETURN_PROCESSING = 0x0004, + CLEAR_SCREEN_PROCESSING = 0x0008, + ANSI_PROCESSING = 0x0010, + AUTO_SCROLL = 0x0020, + AUTO_WRAP = 0x0040, + AUTO_REFRESH = 0x0080 + }; + /** Console -- Console displays an array of fixed width characters. */ class Console : public Drawable { public: @@ -56,22 +67,20 @@ void scroll(int rows, int top, int left, int bottom, int right); void scroll(int rows); - void setAutoScroll(bool s) { - m_autoScroll = s; + void enable(int code) { + m_features |= code; } - void setAutoWrap(bool w) { - m_autoWrap = w; + void disable(int code) { + if(m_features & code) { + m_features ^= code; + } } - void setAutoRefresh(bool r) { - m_autoRefresh = r; + int getFeatures() { + return m_features; } - void setANSI(bool a) { - m_ansi = a; - } - char getChar(int x, int y) { assert(x<m_cols && y<m_rows); return m_charData[(y*m_cols) + x]; @@ -92,17 +101,17 @@ m_colorData[(y*m_cols) + x] = attr; } - int getRows() { - return m_rows; - } - - int getCols() { - return m_cols; + int getRows() { + return m_rows; } - - Tiki::Math::Vector getSize() const { - return Tiki::Math::Vector(m_w, m_h, 0.0f); + + int getCols() { + return m_cols; } + + Tiki::Math::Vector getSize() const { + return Tiki::Math::Vector(m_w, m_h, 0.0f); + } Console& operator <<(std::string input) { printf("%s",input.c_str()); @@ -153,8 +162,7 @@ private: RefPtr<Texture> m_texture; Color m_palette[8]; - bool m_autoScroll, m_autoWrap, m_autoRefresh; - bool m_ansi; + int m_features; int m_cursor_x, m_cursor_y; int m_save_x, m_save_y; int m_attr; Modified: tiki/src/gl/drawables/console.cpp =================================================================== --- tiki/src/gl/drawables/console.cpp 2007-11-11 20:50:23 UTC (rev 543) +++ tiki/src/gl/drawables/console.cpp 2007-11-14 00:28:15 UTC (rev 544) @@ -42,12 +42,11 @@ m_cursor_x = 0; m_cursor_y = 0; + + enable( BACKSPACE_PROCESSING | NEWLINE_PROCESSING | CARRIAGE_RETURN_PROCESSING ); + enable( AUTO_SCROLL ); + enable( AUTO_WRAP ); - m_autoScroll = true; - m_autoWrap = true; - m_ansi = false; - m_autoRefresh = false; - color( GREY, BLACK ); clear(); } @@ -80,7 +79,7 @@ m_cursor_y = 0; ansiptr = 0; - if ( m_autoRefresh ) + if ( m_features & AUTO_REFRESH ) refresh(); } @@ -105,7 +104,7 @@ } } - if ( m_autoRefresh ) + if ( m_features & AUTO_REFRESH ) refresh(); } @@ -160,7 +159,7 @@ processAnsiString(); } } - else if ( buf[ i ] == '\x1b' && m_ansi ) + else if ( buf[ i ] == '\x1b' && ( m_features & ANSI_PROCESSING ) ) { ansistr[ 0 ] = buf[ i ]; ansiptr = 1; @@ -186,18 +185,19 @@ m_cursor_x = 0; continue; } - else if ( buf[ i ] == 12 ) - { // funky old style clearscreen + else if ( buf[ i ] == 12 && ( m_features & CLEAR_SCREEN_PROCESSING ) ) + { + // funky old style clearscreen clear(); continue; } - if ( m_cursor_x >= m_cols && m_autoWrap ) + if ( m_cursor_x >= m_cols && ( m_features & AUTO_WRAP ) ) { m_cursor_y++; m_cursor_x = 0; } - if ( m_cursor_y >= m_rows && m_autoScroll ) + if ( m_cursor_y >= m_rows && ( m_features & AUTO_SCROLL ) ) { scroll( 1 ); m_cursor_y = m_rows - 1; @@ -213,7 +213,7 @@ } } - if ( m_autoRefresh ) + if ( m_features & AUTO_REFRESH ) refresh(); } @@ -540,8 +540,7 @@ BG_PALETTE_SUB[ ( 16 * 14 ) + 1 ] = RGB15( 31, 31, 0 ); BG_PALETTE_SUB[ ( 16 * 15 ) + 1 ] = RGB15( 31, 31, 31 ); - setANSI(true); - setAutoRefresh(true); + enable( ANSI_PROCESSING | AUTO_REFRESH ); } // use the following value to ensure the background is visible when rendered This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <at...@us...> - 2007-11-14 00:50:34
|
Revision: 545 http://cadcdev.svn.sourceforge.net/cadcdev/?rev=545&view=rev Author: atani Date: 2007-11-13 16:50:31 -0800 (Tue, 13 Nov 2007) Log Message: ----------- event support for Console ANSI detect sequence Modified Paths: -------------- tiki/include/Tiki/drawables/console.h tiki/include/Tiki/net/socket.h tiki/src/gl/drawables/console.cpp Modified: tiki/include/Tiki/drawables/console.h =================================================================== --- tiki/include/Tiki/drawables/console.h 2007-11-14 00:28:15 UTC (rev 544) +++ tiki/include/Tiki/drawables/console.h 2007-11-14 00:50:31 UTC (rev 545) @@ -159,6 +159,8 @@ Frame::finish(); } + TIKI_OBJECT_DECLS( Console ) + private: RefPtr<Texture> m_texture; Color m_palette[8]; Modified: tiki/include/Tiki/net/socket.h =================================================================== --- tiki/include/Tiki/net/socket.h 2007-11-14 00:28:15 UTC (rev 544) +++ tiki/include/Tiki/net/socket.h 2007-11-14 00:50:31 UTC (rev 545) @@ -104,7 +104,7 @@ return m_sent; } protected: - TIKI_OBJECT_DECLS( Socket ) + TIKI_OBJECT_DECLS( SocketProgress ) private: size_t m_expected; size_t m_received; Modified: tiki/src/gl/drawables/console.cpp =================================================================== --- tiki/src/gl/drawables/console.cpp 2007-11-14 00:28:15 UTC (rev 544) +++ tiki/src/gl/drawables/console.cpp 2007-11-14 00:50:31 UTC (rev 545) @@ -15,6 +15,11 @@ using namespace Tiki::GL; +TIKI_OBJECT_NAME( Console ) +TIKI_OBJECT_BEGIN( Drawable, Console ) +TIKI_OBJECT_OUTLET( "ansidetect_request" ) +TIKI_OBJECT_END( Console ) + Console::Console( int cols, int rows, Texture * texture ) { m_texture = texture; @@ -409,7 +414,7 @@ m_save_x = m_save_y = 0; break; case 'n': // ANSI detect - //remoteHost->write("\x1b[1;1R", 6); + emit( "ansidetect_request", this ); break; case 'k': case 'K': // clear EOL This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <at...@us...> - 2007-11-15 18:21:35
|
Revision: 546 http://cadcdev.svn.sourceforge.net/cadcdev/?rev=546&view=rev Author: atani Date: 2007-11-15 10:21:33 -0800 (Thu, 15 Nov 2007) Log Message: ----------- removed debug_console bits, moved ascii_font init bit into SubConsole constructor, made CXXFLAGS consume existing flags for NDS builds (allows projects to specify them in the calling makefile) Modified Paths: -------------- tiki/include/Tiki/drawables/console.h tiki/nds/Makefile.rules tiki/nds/src/init_shutdown.cpp tiki/src/gl/drawables/console.cpp Modified: tiki/include/Tiki/drawables/console.h =================================================================== --- tiki/include/Tiki/drawables/console.h 2007-11-14 00:50:31 UTC (rev 545) +++ tiki/include/Tiki/drawables/console.h 2007-11-15 18:21:33 UTC (rev 546) @@ -72,9 +72,7 @@ } void disable(int code) { - if(m_features & code) { - m_features ^= code; - } + m_features &= ~code; } int getFeatures() { Modified: tiki/nds/Makefile.rules =================================================================== --- tiki/nds/Makefile.rules 2007-11-14 00:50:31 UTC (rev 545) +++ tiki/nds/Makefile.rules 2007-11-15 18:21:33 UTC (rev 546) @@ -17,7 +17,7 @@ TIKI_BASE_LIBS=-ltiki -L$(DEVKITPRO)/libnds/lib -ldswifi9 -lfat -lnds9 -CXXFLAGS=-I$(DEVKITPRO)/libnds/include +CXXFLAGS+=-I$(DEVKITPRO)/libnds/include CXXFLAGS+=-I$(TIKI_DIR)/include CXXFLAGS+=-I$(TIKI_DIR)/nds/include -g CXXFLAGS+=-I$(TIKI_DIR)/3rdparty/zlib Modified: tiki/nds/src/init_shutdown.cpp =================================================================== --- tiki/nds/src/init_shutdown.cpp 2007-11-14 00:50:31 UTC (rev 545) +++ tiki/nds/src/init_shutdown.cpp 2007-11-15 18:21:33 UTC (rev 546) @@ -24,10 +24,6 @@ SendCommandToArm7( 0x87654321 ); } -Tiki::GL::NDSSubScreenConsole *debug_console = NULL; -extern const u8 ascii_font_bin[]; -extern const u32 ascii_font_bin_size; - namespace Tiki { bool init( int argc, char **argv ) { @@ -38,14 +34,6 @@ if(g_tiki_init_flags & TIKI_INIT_DEBUG_CONSOLE) { consoleDemoInit(); - /* - videoSetModeSub( MODE_0_2D | DISPLAY_BG0_ACTIVE | DISPLAY_BG1_ACTIVE ); - SUB_BG0_CR = BG_64x32 | BG_COLOR_16 | BG_MAP_BASE( 0 ) | BG_TILE_BASE( 1 ); - SUB_BG1_CR = BG_64x32 | BG_COLOR_16 | BG_MAP_BASE( 2 ) | BG_TILE_BASE( 1 ); - vramSetBankC( VRAM_C_SUB_BG ); - memcpy( ( void * )BG_TILE_RAM_SUB( 1 ), ascii_font_bin, ascii_font_bin_size ); - debug_console = new Tiki::GL::NDSSubScreenConsole( 32, 24 ); - */ } // Setup the Main screen for 3D Modified: tiki/src/gl/drawables/console.cpp =================================================================== --- tiki/src/gl/drawables/console.cpp 2007-11-14 00:50:31 UTC (rev 545) +++ tiki/src/gl/drawables/console.cpp 2007-11-15 18:21:33 UTC (rev 546) @@ -38,12 +38,13 @@ m_charData.resize( rows * cols, 0 ); m_colorData.resize( rows * cols, 0 ); - m_texture->select(); - + if(m_texture != NULL) { + m_texture->select(); #if TIKI_PLAT != TIKI_DC && TIKI_PLAT != TIKI_NDS - glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST ); - glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST ); #endif + } m_cursor_x = 0; m_cursor_y = 0; @@ -527,7 +528,17 @@ #if TIKI_PLAT == TIKI_NDS -NDSSubScreenConsole::NDSSubScreenConsole(int cols, int rows) : Console(cols, rows, NULL) { + +extern const u8 ascii_font_bin[]; +extern const u32 ascii_font_bin_size; + +NDSSubScreenConsole::NDSSubScreenConsole(int cols, int rows) : Console(cols, rows, NULL) { + videoSetModeSub( MODE_0_2D | DISPLAY_BG0_ACTIVE | DISPLAY_BG1_ACTIVE ); + SUB_BG0_CR = BG_64x32 | BG_COLOR_16 | BG_MAP_BASE( 0 ) | BG_TILE_BASE( 1 ); + SUB_BG1_CR = BG_64x32 | BG_COLOR_16 | BG_MAP_BASE( 2 ) | BG_TILE_BASE( 1 ); + vramSetBankC( VRAM_C_SUB_BG ); + dmaCopy( ( uint16 * )BG_TILE_RAM_SUB( 1 ), (uint16 *)ascii_font_bin, ascii_font_bin_size ); + BG_PALETTE_SUB[ ( 16 * 0 ) + 1 ] = RGB15( 0, 0, 0 ); BG_PALETTE_SUB[ ( 16 * 1 ) + 1 ] = RGB15( 0, 0, 15 ); BG_PALETTE_SUB[ ( 16 * 2 ) + 1 ] = RGB15( 0, 15, 0 ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <at...@us...> - 2007-11-22 08:18:07
|
Revision: 547 http://cadcdev.svn.sourceforge.net/cadcdev/?rev=547&view=rev Author: atani Date: 2007-11-22 00:18:01 -0800 (Thu, 22 Nov 2007) Log Message: ----------- initial draft of Tiki::GUI system, not functional (yet) Modified Paths: -------------- tiki/osx/Tiki.xcodeproj/project.pbxproj Added Paths: ----------- tiki/include/Tiki/gui/ tiki/include/Tiki/gui/button.h tiki/include/Tiki/gui/graphic.h tiki/include/Tiki/gui/radiobutton.h tiki/include/Tiki/gui/spinner.h tiki/include/Tiki/gui/text.h tiki/include/Tiki/gui/widget.h tiki/include/Tiki/gui/window.h tiki/src/gui/ tiki/src/gui/button.cpp tiki/src/gui/graphic.cpp tiki/src/gui/radiobutton.cpp tiki/src/gui/spinner.cpp tiki/src/gui/text.cpp tiki/src/gui/widget.cpp tiki/src/gui/widget.h tiki/src/gui/window.cpp Added: tiki/include/Tiki/gui/button.h =================================================================== --- tiki/include/Tiki/gui/button.h (rev 0) +++ tiki/include/Tiki/gui/button.h 2007-11-22 08:18:01 UTC (rev 547) @@ -0,0 +1,73 @@ +/* + Tiki + + button.h + + Copyright (C)2007 Atani Software +*/ + +#ifndef __TIKI_GUI_BUTTON_H +#define __TIKI_GUI_BUTTON_H + +#include "Tiki/gui/widget.h" +#include "Tiki/font.h" +#include "Tiki/texture.h" + +namespace Tiki { + +namespace GUI { + +/** + * + * + */ +class Button : public Widget { + public: + Button(const std::string text, GL::Font *font, float size = 24.0f, const std::string name = "") : + Widget(name.size() < 1 ? std::string("btn_") + text : name) { + m_text = text; + m_font = font; + m_image = NULL; + } + + const std::string & getText() const { + return m_text; + } + + void setText(const std::string text) { + m_text = text; + } + + const GL::Texture * getImage() const { + return m_image; + } + + void setImage(GL::Texture * image) { + m_image = image; + } + + const GL::Font * getFont() const { + return m_font; + } + + void setFont(GL::Font * font) { + m_font = font; + } + + virtual void render(GL::Drawable::ObjType mode); + + protected: + TIKI_OBJECT_DECLS( Button ) + + private: + std::string m_text; + GL::Font *m_font; + GL::Texture *m_image; + mutable Vector m_cachedBoundingBox[2]; +}; + +}; // namespace GUI + +}; // namespace Tiki + +#endif // __TIKI_GUI_BUTTON_H \ No newline at end of file Added: tiki/include/Tiki/gui/graphic.h =================================================================== --- tiki/include/Tiki/gui/graphic.h (rev 0) +++ tiki/include/Tiki/gui/graphic.h 2007-11-22 08:18:01 UTC (rev 547) @@ -0,0 +1,52 @@ +/* + Tiki + + graphic.h + + Copyright (C)2007 Atani Software +*/ + + +#ifndef __TIKI_GUI_GRAPHIC_H +#define __TIKI_GUI_GRAPHIC_H + +#include "Tiki/drawable.h" +#include "Tiki/texture.h" +#include "Tiki/drawables/banner.h" +#include "Tiki/gui/widget.h" + +namespace Tiki { + +namespace GUI { + +class Graphic : public Widget { + public: + Graphic(GL::Texture *texture, const std::string name = "") : + Widget(name.size() < 1 ? std::string("image_")/* + texture->getFileName()*/ : name) { + switch(texture->getPxlfmt()) { + case GL::Texture::ARGB8888: + case GL::Texture::ARGB4444: + case GL::Texture::ARGB1555: + case GL::Texture::RGBA8888: + m_image = new GL::Banner(GL::Drawable::Trans, texture); + break; + default: + m_image = new GL::Banner(GL::Drawable::Opaque, texture); + } + } + + virtual void render(GL::Drawable::ObjType mode); + + protected: + TIKI_OBJECT_DECLS( Graphic ) + + private: + RefPtr<GL::Banner> m_image; + +}; // class Graphic + +}; // namespace GUI + +}; // namespace Tiki + +#endif // __TIKI_GUI_GRAPHIC_H Added: tiki/include/Tiki/gui/radiobutton.h =================================================================== --- tiki/include/Tiki/gui/radiobutton.h (rev 0) +++ tiki/include/Tiki/gui/radiobutton.h 2007-11-22 08:18:01 UTC (rev 547) @@ -0,0 +1,55 @@ +/* + Tiki + + radiobutton.h + + Copyright (C)2007 Atani Software +*/ + + +#ifndef __TIKI_GUI_RADIOBUTTON_H +#define __TIKI_GUI_RADIOBUTTON_H + +#include "Tiki/font.h" +#include "Tiki/drawables/label.h" +#include "Tiki/gui/widget.h" + +namespace Tiki { + +namespace GUI { + +class RadioButton : public Widget { + public: + RadioButton(const std::string & text, GL::Font * font, float size = 24.0f, const std::string & name = "") : + Widget(name.size() < 1 ? std::string("radio_") + text : name) { + m_text = new GL::Label(font, text, size, false, false); + } + + virtual void render(GL::Drawable::ObjType mode); + + protected: + TIKI_OBJECT_DECLS( RadioButton ) + + private: + RefPtr<GL::Label> m_text; +}; + +class RadioButtonGroup : public Widget { + + public: + RadioButtonGroup(const std::string name = ""); + virtual void render(GL::Drawable::ObjType mode); + + protected: + TIKI_OBJECT_DECLS( RadioButtonGroup ) + + private: + List<RadioButton> m_options; + +}; // class RadioButtonGroup + +}; // namespace GUI + +}; // namespace Tiki + +#endif // __TIKI_GUI_TEXT_H \ No newline at end of file Added: tiki/include/Tiki/gui/spinner.h =================================================================== --- tiki/include/Tiki/gui/spinner.h (rev 0) +++ tiki/include/Tiki/gui/spinner.h 2007-11-22 08:18:01 UTC (rev 547) @@ -0,0 +1,42 @@ +/* + Tiki + + spinner.h + + Copyright (C)2007 Atani Software +*/ + + +#ifndef __TIKI_GUI_SPINNER_H +#define __TIKI_GUI_SPINNER_H + +#include "Tiki/font.h" +#include "Tiki/drawables/label.h" +#include "Tiki/gui/widget.h" +#include "Tiki/gui/button.h" + +namespace Tiki { + +namespace GUI { + +class Spinner : public Widget { + public: + Spinner(int minValue, int maxValue, GL::Font * font, float size = 24.0f, const std::string name = "") : + Widget(name.size() < 1 ? std::string("spinner_")/* + text */ : name) { + //m_label = new GL::Label(font, text, size, false, false); + } + + virtual void render(GL::Drawable::ObjType mode); + + protected: + TIKI_OBJECT_DECLS( Spinner ) + + private: + +}; // class Spinner + +}; // namespace GUI + +}; // namespace Tiki + +#endif // __TIKI_GUI_SPINNER_H \ No newline at end of file Added: tiki/include/Tiki/gui/text.h =================================================================== --- tiki/include/Tiki/gui/text.h (rev 0) +++ tiki/include/Tiki/gui/text.h 2007-11-22 08:18:01 UTC (rev 547) @@ -0,0 +1,42 @@ +/* + Tiki + + text.h + + Copyright (C)2007 Atani Software +*/ + + +#ifndef __TIKI_GUI_TEXT_H +#define __TIKI_GUI_TEXT_H + +#include "Tiki/font.h" +#include "Tiki/drawables/label.h" +#include "Tiki/gui/widget.h" + +namespace Tiki { + +namespace GUI { + +class Text : public Widget { + public: + Text(const std::string & text, GL::Font * font, float size = 24.0f, const std::string name = "") : + Widget(name.size() < 1 ? std::string("text_") + text : name) { + m_label = new GL::Label(font, text, size, false, false); + } + + virtual void render(GL::Drawable::ObjType mode); + + protected: + TIKI_OBJECT_DECLS( Text ) + + private: + RefPtr<GL::Label> m_label; + +}; // class Label + +}; // namespace GUI + +}; // namespace Tiki + +#endif // __TIKI_GUI_TEXT_H \ No newline at end of file Added: tiki/include/Tiki/gui/widget.h =================================================================== --- tiki/include/Tiki/gui/widget.h (rev 0) +++ tiki/include/Tiki/gui/widget.h 2007-11-22 08:18:01 UTC (rev 547) @@ -0,0 +1,74 @@ +/* + Tiki + + widget.h + + Copyright (C)2007 Atani Software +*/ + +#ifndef __TIKI_GUI_WIDGET_H +#define __TIKI_GUI_WIDGET_H + +#include "Tiki/object.h" +#include "Tiki/vector.h" +#include "Tiki/drawable.h" +#include "Tiki/list.h" +#include "Tiki/hid.h" + +namespace Tiki { + +namespace GUI { + +/** + * + * + */ +class Widget : public Object { + public: + Widget(const std::string name) : m_name(name) { } + virtual ~Widget() {} + + virtual void render(GL::Drawable::ObjType mode) { } + + const std::string & getName() const { + return m_name; + } + + const Widget * getParent() const { + return m_parent; + } + + const Vector & getPosition() const; + + const Vector & getTranslate() const { + return m_trans; + } + + void setTranslate(const Vector & trans) { + m_trans = trans; + } + + /// Add a new Widget + void addChild( Widget *t ); + + /// Remove a child Widget + void removeChild( Widget * t ); + + virtual void processEvent(const Hid::Event & event) { } + + protected: + TIKI_OBJECT_DECLS( Widget ) + std::string m_name; + Vector m_trans; + mutable Vector m_cachedPos; + + private: + Widget *m_parent; + List<Tiki::GUI::Widget> m_children; +}; // class Widget + +}; // namespace GUI + +}; // namespace Tiki + +#endif // __TIKI_GUI_WIDGET_H \ No newline at end of file Added: tiki/include/Tiki/gui/window.h =================================================================== --- tiki/include/Tiki/gui/window.h (rev 0) +++ tiki/include/Tiki/gui/window.h 2007-11-22 08:18:01 UTC (rev 547) @@ -0,0 +1,52 @@ +/* + Tiki + + window.h + + Copyright (C)2007 Atani Software +*/ + +#ifndef __TIKI_GUI_WINDOW_H +#define __TIKI_GUI_WINDOW_H + +#include "Tiki/hid.h" +#include "Tiki/list.h" +#include "Tiki/eventcollector.h" +#include "Tiki/gui/container.h" + +namespace Tiki { + +namespace GUI { + +/** + * + * + */ +class Window : public Widget { + public: + Window(); + virtual ~Window(); + + void run(); + + bool isActive() const { + return m_active; + } + + void setActive(bool active = true) { + m_active = active; + } + + protected: + TIKI_OBJECT_DECLS( Window ) + + private: + RefPtr<Hid::EventCollector> m_ec; + bool m_active; +}; + +}; // namespace GUI + +}; // namespace Tiki + +#endif // __TIKI_GUI_WINDOW_H \ No newline at end of file Modified: tiki/osx/Tiki.xcodeproj/project.pbxproj =================================================================== --- tiki/osx/Tiki.xcodeproj/project.pbxproj 2007-11-15 18:21:33 UTC (rev 546) +++ tiki/osx/Tiki.xcodeproj/project.pbxproj 2007-11-22 08:18:01 UTC (rev 547) @@ -14,11 +14,23 @@ 2290A10109302D9F00B7D80C /* cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 2290A0FF09302D9F00B7D80C /* cursor.h */; }; 2290A10209302D9F00B7D80C /* pointerArrow.h in Headers */ = {isa = PBXBuildFile; fileRef = 2290A10009302D9F00B7D80C /* pointerArrow.h */; }; 6400608E0CDF9DC800969916 /* init_flags_default.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6400608D0CDF9DC800969916 /* init_flags_default.cpp */; }; + 6406D0440CF3C737002D832F /* button.h in Headers */ = {isa = PBXBuildFile; fileRef = 6406D0430CF3C737002D832F /* button.h */; }; + 6406D04D0CF3CBEC002D832F /* widget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6406D04B0CF3CBEC002D832F /* widget.cpp */; }; + 6406D0540CF3CDF6002D832F /* button.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6406D0530CF3CDF6002D832F /* button.cpp */; }; 640C2C30092EB8C40032DE40 /* alpharotate.h in Headers */ = {isa = PBXBuildFile; fileRef = 640C2C2F092EB8C40032DE40 /* alpharotate.h */; }; + 642E949A0CF54A780005C8A5 /* radiobutton.h in Headers */ = {isa = PBXBuildFile; fileRef = 642E94990CF54A780005C8A5 /* radiobutton.h */; }; + 642E949E0CF54B550005C8A5 /* window.h in Headers */ = {isa = PBXBuildFile; fileRef = 642E949D0CF54B550005C8A5 /* window.h */; }; + 642E94AE0CF54DB90005C8A5 /* radiobutton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 642E94AD0CF54DB90005C8A5 /* radiobutton.cpp */; }; + 642E94D00CF54EF10005C8A5 /* window.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 642E94CF0CF54EF10005C8A5 /* window.cpp */; }; + 642E94E50CF54FF20005C8A5 /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 642E94E40CF54FF20005C8A5 /* text.cpp */; }; + 642E94E80CF5501D0005C8A5 /* graphic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 642E94E70CF5501D0005C8A5 /* graphic.cpp */; }; + 642E95860CF561D20005C8A5 /* spinner.h in Headers */ = {isa = PBXBuildFile; fileRef = 642E95850CF561D20005C8A5 /* spinner.h */; }; + 642E958B0CF5642F0005C8A5 /* spinner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 642E958A0CF5642F0005C8A5 /* spinner.cpp */; }; 6444BEE60932A3D800A29768 /* texturetile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6444BEE50932A3D700A29768 /* texturetile.cpp */; }; 6444BEE80932A3F200A29768 /* texturetile.h in Headers */ = {isa = PBXBuildFile; fileRef = 6444BEE70932A3F200A29768 /* texturetile.h */; }; 644D23550CDFE82D00E7F291 /* lightbarmenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 644D23540CDFE82D00E7F291 /* lightbarmenu.cpp */; }; 644D23570CDFE83C00E7F291 /* lightbarmenu.h in Headers */ = {isa = PBXBuildFile; fileRef = 644D23560CDFE83C00E7F291 /* lightbarmenu.h */; }; + 64618A5B0CEBE9A000881556 /* widget.h in Headers */ = {isa = PBXBuildFile; fileRef = 64618A5A0CEBE9A000881556 /* widget.h */; }; 6499FE6A0C862377008D9FEF /* tinyxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6499FE660C862377008D9FEF /* tinyxml.cpp */; }; 6499FE6B0C862377008D9FEF /* tinyxml.h in Headers */ = {isa = PBXBuildFile; fileRef = 6499FE670C862377008D9FEF /* tinyxml.h */; }; 6499FE6C0C862377008D9FEF /* tinyxmlerror.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6499FE680C862377008D9FEF /* tinyxmlerror.cpp */; }; @@ -51,6 +63,8 @@ 64ED762A0C7CFB7E00D16D5C /* net.h in Headers */ = {isa = PBXBuildFile; fileRef = 64ED76280C7CFB7E00D16D5C /* net.h */; }; 64ED762C0C7CFB9400D16D5C /* platnet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 64ED762B0C7CFB9400D16D5C /* platnet.cpp */; }; 64ED762E0C7CFBA100D16D5C /* platnet.h in Headers */ = {isa = PBXBuildFile; fileRef = 64ED762D0C7CFBA100D16D5C /* platnet.h */; }; + 64F19E9A0CF5391F0093AEAD /* text.h in Headers */ = {isa = PBXBuildFile; fileRef = 64F19E990CF5391F0093AEAD /* text.h */; }; + 64F19ECB0CF53D740093AEAD /* graphic.h in Headers */ = {isa = PBXBuildFile; fileRef = 64F19ECA0CF53D740093AEAD /* graphic.h */; }; 8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; }; 8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; }; C4287F7C07C9491100D238E1 /* image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C4287F7B07C9491100D238E1 /* image.cpp */; }; @@ -214,11 +228,23 @@ 2290A10009302D9F00B7D80C /* pointerArrow.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = pointerArrow.h; path = ../include/Tiki/drawables/pointerArrow.h; sourceTree = SOURCE_ROOT; }; 32DBCF5E0370ADEE00C91783 /* Tiki_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tiki_Prefix.pch; sourceTree = "<group>"; }; 6400608D0CDF9DC800969916 /* init_flags_default.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = init_flags_default.cpp; sourceTree = "<group>"; }; + 6406D0430CF3C737002D832F /* button.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = button.h; path = ../include/Tiki/gui/button.h; sourceTree = SOURCE_ROOT; }; + 6406D04B0CF3CBEC002D832F /* widget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = widget.cpp; path = ../src/gui/widget.cpp; sourceTree = SOURCE_ROOT; }; + 6406D0530CF3CDF6002D832F /* button.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = button.cpp; path = ../src/gui/button.cpp; sourceTree = SOURCE_ROOT; }; 640C2C2F092EB8C40032DE40 /* alpharotate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = alpharotate.h; path = ../include/Tiki/anims/alpharotate.h; sourceTree = SOURCE_ROOT; }; + 642E94990CF54A780005C8A5 /* radiobutton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = radiobutton.h; path = ../include/Tiki/gui/radiobutton.h; sourceTree = SOURCE_ROOT; }; + 642E949D0CF54B550005C8A5 /* window.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = window.h; path = ../include/Tiki/gui/window.h; sourceTree = SOURCE_ROOT; }; + 642E94AD0CF54DB90005C8A5 /* radiobutton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = radiobutton.cpp; path = ../src/gui/radiobutton.cpp; sourceTree = SOURCE_ROOT; }; + 642E94CF0CF54EF10005C8A5 /* window.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = window.cpp; path = ../src/gui/window.cpp; sourceTree = SOURCE_ROOT; }; + 642E94E40CF54FF20005C8A5 /* text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = text.cpp; path = ../src/gui/text.cpp; sourceTree = SOURCE_ROOT; }; + 642E94E70CF5501D0005C8A5 /* graphic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = graphic.cpp; path = ../src/gui/graphic.cpp; sourceTree = SOURCE_ROOT; }; + 642E95850CF561D20005C8A5 /* spinner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = spinner.h; path = ../include/Tiki/gui/spinner.h; sourceTree = SOURCE_ROOT; }; + 642E958A0CF5642F0005C8A5 /* spinner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = spinner.cpp; path = ../src/gui/spinner.cpp; sourceTree = SOURCE_ROOT; }; 6444BEE50932A3D700A29768 /* texturetile.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = texturetile.cpp; path = ../src/gl/drawables/texturetile.cpp; sourceTree = SOURCE_ROOT; }; 6444BEE70932A3F200A29768 /* texturetile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = texturetile.h; path = ../include/Tiki/drawables/texturetile.h; sourceTree = SOURCE_ROOT; }; 644D23540CDFE82D00E7F291 /* lightbarmenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = lightbarmenu.cpp; path = ../src/gl/drawables/lightbarmenu.cpp; sourceTree = SOURCE_ROOT; }; 644D23560CDFE83C00E7F291 /* lightbarmenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lightbarmenu.h; path = ../include/Tiki/drawables/lightbarmenu.h; sourceTree = SOURCE_ROOT; }; + 64618A5A0CEBE9A000881556 /* widget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = widget.h; path = ../include/Tiki/gui/widget.h; sourceTree = SOURCE_ROOT; }; 6499FE660C862377008D9FEF /* tinyxml.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = tinyxml.cpp; path = ../3rdparty/tinyxml/tinyxml.cpp; sourceTree = SOURCE_ROOT; }; 6499FE670C862377008D9FEF /* tinyxml.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = tinyxml.h; path = ../3rdparty/tinyxml/tinyxml.h; sourceTree = SOURCE_ROOT; }; 6499FE680C862377008D9FEF /* tinyxmlerror.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = tinyxmlerror.cpp; path = ../3rdparty/tinyxml/tinyxmlerror.cpp; sourceTree = SOURCE_ROOT; }; @@ -251,6 +277,8 @@ 64ED76280C7CFB7E00D16D5C /* net.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = net.h; path = ../include/Tiki/net.h; sourceTree = SOURCE_ROOT; }; 64ED762B0C7CFB9400D16D5C /* platnet.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = platnet.cpp; path = src/platnet.cpp; sourceTree = "<group>"; }; 64ED762D0C7CFBA100D16D5C /* platnet.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = platnet.h; path = include/Tiki/platnet.h; sourceTree = "<group>"; }; + 64F19E990CF5391F0093AEAD /* text.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = text.h; path = ../include/Tiki/gui/text.h; sourceTree = SOURCE_ROOT; }; + 64F19ECA0CF53D740093AEAD /* graphic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = graphic.h; path = ../include/Tiki/gui/graphic.h; sourceTree = SOURCE_ROOT; }; 8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; }; 8DC2EF5B0486A6940098B216 /* Tiki.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Tiki.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C40D72C1083723B50084B52D /* design_v2.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = design_v2.rtf; path = ../notes/design_v2.rtf; sourceTree = SOURCE_ROOT; }; @@ -540,6 +568,34 @@ name = "Other Sources"; sourceTree = "<group>"; }; + 6406D0490CF3CBCE002D832F /* gui */ = { + isa = PBXGroup; + children = ( + 6406D0530CF3CDF6002D832F /* button.cpp */, + 642E94E70CF5501D0005C8A5 /* graphic.cpp */, + 642E94AD0CF54DB90005C8A5 /* radiobutton.cpp */, + 642E958A0CF5642F0005C8A5 /* spinner.cpp */, + 642E94E40CF54FF20005C8A5 /* text.cpp */, + 6406D04B0CF3CBEC002D832F /* widget.cpp */, + 642E94CF0CF54EF10005C8A5 /* window.cpp */, + ); + name = gui; + sourceTree = "<group>"; + }; + 64618A590CEBE97000881556 /* gui */ = { + isa = PBXGroup; + children = ( + 64618A5A0CEBE9A000881556 /* widget.h */, + 6406D0430CF3C737002D832F /* button.h */, + 64F19E990CF5391F0093AEAD /* text.h */, + 64F19ECA0CF53D740093AEAD /* graphic.h */, + 642E94990CF54A780005C8A5 /* radiobutton.h */, + 642E949D0CF54B550005C8A5 /* window.h */, + 642E95850CF561D20005C8A5 /* spinner.h */, + ); + name = gui; + sourceTree = "<group>"; + }; 6499FE520C8622D4008D9FEF /* tinyXML */ = { isa = PBXGroup; children = ( @@ -623,14 +679,15 @@ C42BD273078FC90300061670 /* Include */ = { isa = PBXGroup; children = ( - 64ED76110C7CFB2200D16D5C /* net */, C4AD531B0793CF3400E1B779 /* AutoIncluded */, C48ACAD2079B7121005DF20E /* audio */, C4AD50FD0793ABEC00E1B779 /* base */, C4F5155B079A0BDD0001D0D0 /* gl */, + 64618A590CEBE97000881556 /* gui */, C4539918079A44B300F3A584 /* hid */, C48814E4079F88460038D5B0 /* image */, C4F51576079A0C9A0001D0D0 /* math */, + 64ED76110C7CFB2200D16D5C /* net */, ); name = Include; sourceTree = "<group>"; @@ -638,13 +695,14 @@ C42BD2AD078FC94800061670 /* Source */ = { isa = PBXGroup; children = ( - 64ED75F00C7CFAC500D16D5C /* net */, C4AD52E30793CDC100E1B779 /* audio */, C42BD2D6078FC9BF00061670 /* base */, C4F51516079A0B1C0001D0D0 /* gl */, + 6406D0490CF3CBCE002D832F /* gui */, C4539923079A455600F3A584 /* hid */, C48814FE079F8A3B0038D5B0 /* image */, C4F5157D079A0CFB0001D0D0 /* math */, + 64ED75F00C7CFAC500D16D5C /* net */, C472B72C079B0FBA00F0C00A /* thread */, ); name = Source; @@ -1150,6 +1208,13 @@ 6499FE770C8623D6008D9FEF /* date.h in Headers */, 6499FEA40C8640CA008D9FEF /* cookiejar.h in Headers */, 644D23570CDFE83C00E7F291 /* lightbarmenu.h in Headers */, + 64618A5B0CEBE9A000881556 /* widget.h in Headers */, + 6406D0440CF3C737002D832F /* button.h in Headers */, + 64F19E9A0CF5391F0093AEAD /* text.h in Headers */, + 64F19ECB0CF53D740093AEAD /* graphic.h in Headers */, + 642E949A0CF54A780005C8A5 /* radiobutton.h in Headers */, + 642E949E0CF54B550005C8A5 /* window.h in Headers */, + 642E95860CF561D20005C8A5 /* spinner.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1374,6 +1439,13 @@ 6499FEA60C8640E5008D9FEF /* cookiejar.cpp in Sources */, 6400608E0CDF9DC800969916 /* init_flags_default.cpp in Sources */, 644D23550CDFE82D00E7F291 /* lightbarmenu.cpp in Sources */, + 6406D04D0CF3CBEC002D832F /* widget.cpp in Sources */, + 6406D0540CF3CDF6002D832F /* button.cpp in Sources */, + 642E94AE0CF54DB90005C8A5 /* radiobutton.cpp in Sources */, + 642E94D00CF54EF10005C8A5 /* window.cpp in Sources */, + 642E94E50CF54FF20005C8A5 /* text.cpp in Sources */, + 642E94E80CF5501D0005C8A5 /* graphic.cpp in Sources */, + 642E958B0CF5642F0005C8A5 /* spinner.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; Added: tiki/src/gui/button.cpp =================================================================== --- tiki/src/gui/button.cpp (rev 0) +++ tiki/src/gui/button.cpp 2007-11-22 08:18:01 UTC (rev 547) @@ -0,0 +1,23 @@ +/* + Tiki + + button.cpp + + Copyright (C)2007 Atani Software +*/ + +#include "pch.h" +#include "Tiki/widget.h" +#include "Tiki/button.h" + +using namespace Tiki::GUI; +using namespace Tiki::GL; + +TIKI_OBJECT_NAME( Button ) +TIKI_OBJECT_BEGIN( Widget, Button ) +TIKI_OBJECT_OUTLET( "click" ) +TIKI_OBJECT_END( Button ) + +void Button::render(Drawable::ObjType mode) { + +} \ No newline at end of file Added: tiki/src/gui/graphic.cpp =================================================================== --- tiki/src/gui/graphic.cpp (rev 0) +++ tiki/src/gui/graphic.cpp 2007-11-22 08:18:01 UTC (rev 547) @@ -0,0 +1,22 @@ +/* + Tiki + + graphic.cpp + + Copyright (C)2007 Atani Software +*/ + +#include "pch.h" +#include "Tiki/graphic.h" + +using namespace Tiki::GUI; +using namespace Tiki::GL; + +TIKI_OBJECT_NAME( Graphic ) +TIKI_OBJECT_BEGIN( Widget, Graphic ) +TIKI_OBJECT_OUTLET( "click" ) +TIKI_OBJECT_END( Graphic ) + +void Graphic::render(Drawable::ObjType mode) { + +} \ No newline at end of file Added: tiki/src/gui/radiobutton.cpp =================================================================== --- tiki/src/gui/radiobutton.cpp (rev 0) +++ tiki/src/gui/radiobutton.cpp 2007-11-22 08:18:01 UTC (rev 547) @@ -0,0 +1,31 @@ +/* + Tiki + + radiobutton.cpp + + Copyright (C)2007 Atani Software +*/ + +#include "pch.h" +#include "Tiki/radiobutton.h" + +using namespace Tiki::GUI; +using namespace Tiki::GL; + +TIKI_OBJECT_NAME( RadioButton ) +TIKI_OBJECT_BEGIN( Widget, RadioButton ) +TIKI_OBJECT_OUTLET( "select" ) +TIKI_OBJECT_END( RadioButton ) + +TIKI_OBJECT_NAME( RadioButtonGroup ) +TIKI_OBJECT_BEGIN( Widget, RadioButtonGroup ) +TIKI_OBJECT_OUTLET( "selection_change" ) +TIKI_OBJECT_END( RadioButtonGroup ) + +void RadioButton::render(Drawable::ObjType mode) { + +} + +void RadioButtonGroup::render(Drawable::ObjType mode) { + +} \ No newline at end of file Added: tiki/src/gui/spinner.cpp =================================================================== --- tiki/src/gui/spinner.cpp (rev 0) +++ tiki/src/gui/spinner.cpp 2007-11-22 08:18:01 UTC (rev 547) @@ -0,0 +1,22 @@ +/* + Tiki + + spinner.cpp + + Copyright (C)2007 Atani Software +*/ + +#include "pch.h" +#include "Tiki/spinner.h" + +using namespace Tiki::GUI; +using namespace Tiki::GL; + +TIKI_OBJECT_NAME( Spinner ) +TIKI_OBJECT_BEGIN( Widget, Spinner ) +TIKI_OBJECT_OUTLET( "valueChange" ) +TIKI_OBJECT_END( Spinner ) + +void Spinner::render(Drawable::ObjType mode) { + +} \ No newline at end of file Added: tiki/src/gui/text.cpp =================================================================== --- tiki/src/gui/text.cpp (rev 0) +++ tiki/src/gui/text.cpp 2007-11-22 08:18:01 UTC (rev 547) @@ -0,0 +1,21 @@ +/* + Tiki + + text.cpp + + Copyright (C)2007 Atani Software +*/ + +#include "pch.h" +#include "Tiki/text.h" + +using namespace Tiki::GUI; +using namespace Tiki::GL; + +TIKI_OBJECT_NAME( Text ) +TIKI_OBJECT_BEGIN( Widget, Text ) +TIKI_OBJECT_END( Text ) + +void Text::render(Drawable::ObjType mode) { + +} \ No newline at end of file Added: tiki/src/gui/widget.cpp =================================================================== --- tiki/src/gui/widget.cpp (rev 0) +++ tiki/src/gui/widget.cpp 2007-11-22 08:18:01 UTC (rev 547) @@ -0,0 +1,25 @@ +/* + Tiki + + widget.cpp + + Copyright (C)2007 Atani Software +*/ + +#include "pch.h" +#include "Tiki/widget.h" + +using namespace Tiki::GUI; + +TIKI_OBJECT_NAME( Widget ) +TIKI_OBJECT_BEGIN( Object, Widget ) +TIKI_OBJECT_END( Widget ) + +const Vector & Widget::getPosition() const { + Vector pos = getTranslate(); + if(m_parent) { + pos += m_trans; + } + m_cachedPos = pos; + return m_cachedPos; +} \ No newline at end of file Added: tiki/src/gui/widget.h =================================================================== --- tiki/src/gui/widget.h (rev 0) +++ tiki/src/gui/widget.h 2007-11-22 08:18:01 UTC (rev 547) @@ -0,0 +1,9 @@ +/* + * widget.h + * Tiki + * + * Created by Atani on 11/20/07. + * Copyright 2007 __MyCompanyName__. All rights reserved. + * + */ + Added: tiki/src/gui/window.cpp =================================================================== --- tiki/src/gui/window.cpp (rev 0) +++ tiki/src/gui/window.cpp 2007-11-22 08:18:01 UTC (rev 547) @@ -0,0 +1,22 @@ +/* + Tiki + + window.cpp + + Copyright (C)2007 Atani Software +*/ + +#include "pch.h" +#include "Tiki/window.h" + +using namespace Tiki::GUI; + +TIKI_OBJECT_NAME( Window ) +TIKI_OBJECT_BEGIN( Widget, Window ) +TIKI_OBJECT_OUTLET( "idle" ) +TIKI_OBJECT_OUTLET( "inputEvent" ) +TIKI_OBJECT_END( Window ) + +void Window::run() { + +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <at...@us...> - 2007-11-24 05:20:50
|
Revision: 550 http://cadcdev.svn.sourceforge.net/cadcdev/?rev=550&view=rev Author: atani Date: 2007-11-23 21:20:47 -0800 (Fri, 23 Nov 2007) Log Message: ----------- * version number support * fix include paths for gui stuff Modified Paths: -------------- tiki/dc/Makefile tiki/include/Tiki/tiki.h tiki/nds/Makefile tiki/osx/English.lproj/InfoPlist.strings tiki/osx/Tiki.xcodeproj/project.pbxproj tiki/sdl/Makefile tiki/src/gui/button.cpp tiki/src/gui/graphic.cpp tiki/src/gui/radiobutton.cpp tiki/src/gui/spinner.cpp tiki/src/gui/text.cpp tiki/src/gui/widget.cpp tiki/src/gui/window.cpp tiki/src/net/http/useragent.cpp tiki/win32/tiki.vcproj Added Paths: ----------- tiki/osx/Info.plist.in tiki/src/base/version.cpp.in Removed Paths: ------------- tiki/osx/Info.plist tiki/src/gui/widget.h Property Changed: ---------------- tiki/src/base/ Modified: tiki/dc/Makefile =================================================================== --- tiki/dc/Makefile 2007-11-22 15:52:45 UTC (rev 549) +++ tiki/dc/Makefile 2007-11-24 05:20:47 UTC (rev 550) @@ -1,5 +1,6 @@ BASE_AUDIO_OBJ=$(patsubst %.cpp,%.o,$(wildcard ../src/audio/oggvorbis/*.cpp)) BASE_BASE_OBJ=$(patsubst %.cpp,%.o,$(wildcard ../src/base/*.cpp)) +BASE_BASE_OBJ+= ../src/base/version.o BASE_GL_OBJ=$(patsubst %.cpp,%.o,$(wildcard ../src/gl/*.cpp)) BASE_GL_OBJ+=$(patsubst %.cpp,%.o,$(wildcard ../src/gl/anims/*.cpp)) BASE_GL_OBJ+=$(patsubst %.cpp,%.o,$(wildcard ../src/gl/drawables/*.cpp)) @@ -21,7 +22,7 @@ $(KOS_AR) ru libtiki.a $(BASE_OBJS) clean: clean_subdirs - -rm -f $(BASE_OBJS) libtiki.a + -rm -f $(BASE_OBJS) libtiki.a ../src/base/version.cpp $(MAKE) TIKI_PLAT=dc -C$(CURDIR)/../examples clean examples: @@ -42,4 +43,7 @@ zip -9r ../tiki-$(SVN_VERSION)-dc.zip Library Samples rm -rf ../dist/$(SVN_VERSION)/tmp +../src/base/version.cpp: ../src/base/version.cpp.in + sed "s/\$$WCREV\\$$/`svnversion .`/" < ../src/base/version.cpp.in > ../src/base/version.cpp + include Makefile.rules Modified: tiki/include/Tiki/tiki.h =================================================================== --- tiki/include/Tiki/tiki.h 2007-11-22 15:52:45 UTC (rev 549) +++ tiki/include/Tiki/tiki.h 2007-11-24 05:20:47 UTC (rev 550) @@ -44,6 +44,9 @@ // Bring STL string into the namespace. using std::string; + const string getVersion(); + const string getPlatformName(); + // Global init/shutdown functions. bool init( int argc, char **argv ); void shutdown(); Modified: tiki/nds/Makefile =================================================================== --- tiki/nds/Makefile 2007-11-22 15:52:45 UTC (rev 549) +++ tiki/nds/Makefile 2007-11-24 05:20:47 UTC (rev 550) @@ -2,6 +2,7 @@ # BASE_AUDIO_OBJ=$(patsubst %.cpp,%.o,$(wildcard ../src/audio/*.cpp)) BASE_AUDIO_OBJ=$(patsubst %.cpp,%.o,$(wildcard ../src/audio/oggvorbis/*.cpp)) BASE_BASE_OBJ=$(patsubst %.cpp,%.o,$(wildcard ../src/base/*.cpp)) +BASE_BASE_OBJ+=../src/base/version.o BASE_GL_OBJ=$(patsubst %.cpp,%.o,$(wildcard ../src/gl/*.cpp)) BASE_GL_OBJ+=$(patsubst %.cpp,%.o,$(wildcard ../src/gl/anims/*.cpp)) BASE_GL_OBJ+=$(patsubst %.cpp,%.o,$(wildcard ../src/gl/drawables/*.cpp)) @@ -56,7 +57,7 @@ $(AR) ru libtiki.a $(BASE_OBJS) $(THIRD_PARTY_OBJS) clean: clean_subdirs - -rm -f $(BASE_OBJS) $(THIRD_PARTY_OBJS) libtiki.a + -rm -f $(BASE_OBJS) $(THIRD_PARTY_OBJS) libtiki.a ../src/base/version.cpp $(MAKE) -C tikiarm7 clean TOPDIR=$(CURDIR) $(MAKE) TIKI_PLAT=nds -C$(CURDIR)/../examples clean @@ -86,5 +87,8 @@ zip -9r ../tiki-$(SVN_VERSION)-nds.zip Library Samples rm -rf ../dist/$(SVN_VERSION)/tmp +../src/base/version.cpp: ../src/base/version.cpp.in + sed "s/\$$WCREV\\$$/`svnversion .`/" < ../src/base/version.cpp.in > ../src/base/version.cpp + DEPSDIR=$(CURDIR) include Makefile.rules Modified: tiki/osx/English.lproj/InfoPlist.strings =================================================================== (Binary files differ) Deleted: tiki/osx/Info.plist =================================================================== --- tiki/osx/Info.plist 2007-11-22 15:52:45 UTC (rev 549) +++ tiki/osx/Info.plist 2007-11-24 05:20:47 UTC (rev 550) @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>CFBundleDevelopmentRegion</key> - <string>English</string> - <key>CFBundleExecutable</key> - <string>Tiki</string> - <key>CFBundleIconFile</key> - <string></string> - <key>CFBundleIdentifier</key> - <string>com.cagames.Tiki</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundlePackageType</key> - <string>FMWK</string> - <key>CFBundleSignature</key> - <string>????</string> - <key>CFBundleVersion</key> - <string>1.0</string> - <key>NSPrincipalClass</key> - <string></string> -</dict> -</plist> Copied: tiki/osx/Info.plist.in (from rev 549, tiki/osx/Info.plist) =================================================================== --- tiki/osx/Info.plist.in (rev 0) +++ tiki/osx/Info.plist.in 2007-11-24 05:20:47 UTC (rev 550) @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleExecutable</key> + <string>Tiki</string> + <key>CFBundleIconFile</key> + <string></string> + <key>CFBundleIdentifier</key> + <string>com.cagames.Tiki</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundlePackageType</key> + <string>FMWK</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>0.0.$WCREV$</string> + <key>NSPrincipalClass</key> + <string></string> +</dict> +</plist> Modified: tiki/osx/Tiki.xcodeproj/project.pbxproj =================================================================== --- tiki/osx/Tiki.xcodeproj/project.pbxproj 2007-11-22 15:52:45 UTC (rev 549) +++ tiki/osx/Tiki.xcodeproj/project.pbxproj 2007-11-24 05:20:47 UTC (rev 550) @@ -8,40 +8,25 @@ /* Begin PBXBuildFile section */ 223226810A165A600035025E /* console.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 223226800A165A600035025E /* console.cpp */; }; - 223226830A165A7A0035025E /* console.h in Headers */ = {isa = PBXBuildFile; fileRef = 223226820A165A7A0035025E /* console.h */; }; 2290A0FD09302D7500B7D80C /* cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2290A0FB09302D7500B7D80C /* cursor.cpp */; }; 2290A0FE09302D7500B7D80C /* pointerArrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2290A0FC09302D7500B7D80C /* pointerArrow.cpp */; }; - 2290A10109302D9F00B7D80C /* cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 2290A0FF09302D9F00B7D80C /* cursor.h */; }; - 2290A10209302D9F00B7D80C /* pointerArrow.h in Headers */ = {isa = PBXBuildFile; fileRef = 2290A10009302D9F00B7D80C /* pointerArrow.h */; }; 6400608E0CDF9DC800969916 /* init_flags_default.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6400608D0CDF9DC800969916 /* init_flags_default.cpp */; }; - 6406D0440CF3C737002D832F /* button.h in Headers */ = {isa = PBXBuildFile; fileRef = 6406D0430CF3C737002D832F /* button.h */; }; 6406D04D0CF3CBEC002D832F /* widget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6406D04B0CF3CBEC002D832F /* widget.cpp */; }; 6406D0540CF3CDF6002D832F /* button.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6406D0530CF3CDF6002D832F /* button.cpp */; }; - 640C2C30092EB8C40032DE40 /* alpharotate.h in Headers */ = {isa = PBXBuildFile; fileRef = 640C2C2F092EB8C40032DE40 /* alpharotate.h */; }; - 642E949A0CF54A780005C8A5 /* radiobutton.h in Headers */ = {isa = PBXBuildFile; fileRef = 642E94990CF54A780005C8A5 /* radiobutton.h */; }; - 642E949E0CF54B550005C8A5 /* window.h in Headers */ = {isa = PBXBuildFile; fileRef = 642E949D0CF54B550005C8A5 /* window.h */; }; 642E94AE0CF54DB90005C8A5 /* radiobutton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 642E94AD0CF54DB90005C8A5 /* radiobutton.cpp */; }; 642E94D00CF54EF10005C8A5 /* window.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 642E94CF0CF54EF10005C8A5 /* window.cpp */; }; 642E94E50CF54FF20005C8A5 /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 642E94E40CF54FF20005C8A5 /* text.cpp */; }; 642E94E80CF5501D0005C8A5 /* graphic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 642E94E70CF5501D0005C8A5 /* graphic.cpp */; }; - 642E95860CF561D20005C8A5 /* spinner.h in Headers */ = {isa = PBXBuildFile; fileRef = 642E95850CF561D20005C8A5 /* spinner.h */; }; 642E958B0CF5642F0005C8A5 /* spinner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 642E958A0CF5642F0005C8A5 /* spinner.cpp */; }; 6444BEE60932A3D800A29768 /* texturetile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6444BEE50932A3D700A29768 /* texturetile.cpp */; }; - 6444BEE80932A3F200A29768 /* texturetile.h in Headers */ = {isa = PBXBuildFile; fileRef = 6444BEE70932A3F200A29768 /* texturetile.h */; }; 644D23550CDFE82D00E7F291 /* lightbarmenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 644D23540CDFE82D00E7F291 /* lightbarmenu.cpp */; }; - 644D23570CDFE83C00E7F291 /* lightbarmenu.h in Headers */ = {isa = PBXBuildFile; fileRef = 644D23560CDFE83C00E7F291 /* lightbarmenu.h */; }; - 64618A5B0CEBE9A000881556 /* widget.h in Headers */ = {isa = PBXBuildFile; fileRef = 64618A5A0CEBE9A000881556 /* widget.h */; }; 6499FE6A0C862377008D9FEF /* tinyxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6499FE660C862377008D9FEF /* tinyxml.cpp */; }; - 6499FE6B0C862377008D9FEF /* tinyxml.h in Headers */ = {isa = PBXBuildFile; fileRef = 6499FE670C862377008D9FEF /* tinyxml.h */; }; 6499FE6C0C862377008D9FEF /* tinyxmlerror.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6499FE680C862377008D9FEF /* tinyxmlerror.cpp */; }; 6499FE6D0C862377008D9FEF /* tinyxmlparser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6499FE690C862377008D9FEF /* tinyxmlparser.cpp */; }; 6499FE710C8623A3008D9FEF /* base64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6499FE6F0C8623A3008D9FEF /* base64.cpp */; }; 6499FE720C8623A3008D9FEF /* date.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6499FE700C8623A3008D9FEF /* date.cpp */; }; - 6499FE760C8623D6008D9FEF /* base64.h in Headers */ = {isa = PBXBuildFile; fileRef = 6499FE740C8623D6008D9FEF /* base64.h */; }; - 6499FE770C8623D6008D9FEF /* date.h in Headers */ = {isa = PBXBuildFile; fileRef = 6499FE750C8623D6008D9FEF /* date.h */; }; - 6499FEA40C8640CA008D9FEF /* cookiejar.h in Headers */ = {isa = PBXBuildFile; fileRef = 6499FEA30C8640CA008D9FEF /* cookiejar.h */; }; 6499FEA60C8640E5008D9FEF /* cookiejar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6499FEA50C8640E5008D9FEF /* cookiejar.cpp */; }; - 64D758F4092EB9A5002667EE /* sleep.h in Headers */ = {isa = PBXBuildFile; fileRef = 64D758F3092EB9A5002667EE /* sleep.h */; }; + 649CF73E0CF7E00400CC8D65 /* version.cpp.in in Sources */ = {isa = PBXBuildFile; fileRef = 649CF73D0CF7E00400CC8D65 /* version.cpp.in */; }; 64ED75F50C7CFAE500D16D5C /* address.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 64ED75F10C7CFAE500D16D5C /* address.cpp */; }; 64ED75F60C7CFAE500D16D5C /* socket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 64ED75F20C7CFAE500D16D5C /* socket.cpp */; }; 64ED75F70C7CFAE500D16D5C /* tcpserversocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 64ED75F30C7CFAE500D16D5C /* tcpserversocket.cpp */; }; @@ -49,22 +34,7 @@ 64ED75FD0C7CFB1800D16D5C /* request.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 64ED75FA0C7CFB1800D16D5C /* request.cpp */; }; 64ED75FE0C7CFB1800D16D5C /* response.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 64ED75FB0C7CFB1800D16D5C /* response.cpp */; }; 64ED75FF0C7CFB1800D16D5C /* useragent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 64ED75FC0C7CFB1800D16D5C /* useragent.cpp */; }; - 64ED76190C7CFB4C00D16D5C /* address.h in Headers */ = {isa = PBXBuildFile; fileRef = 64ED76130C7CFB4C00D16D5C /* address.h */; }; - 64ED761A0C7CFB4C00D16D5C /* buffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 64ED76140C7CFB4C00D16D5C /* buffer.h */; }; - 64ED761B0C7CFB4C00D16D5C /* socket.h in Headers */ = {isa = PBXBuildFile; fileRef = 64ED76150C7CFB4C00D16D5C /* socket.h */; }; - 64ED761C0C7CFB4C00D16D5C /* tcpserversocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 64ED76160C7CFB4C00D16D5C /* tcpserversocket.h */; }; - 64ED761D0C7CFB4C00D16D5C /* tcpsocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 64ED76170C7CFB4C00D16D5C /* tcpsocket.h */; }; - 64ED761E0C7CFB4C00D16D5C /* udpsocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 64ED76180C7CFB4C00D16D5C /* udpsocket.h */; }; - 64ED76230C7CFB6200D16D5C /* cookie.h in Headers */ = {isa = PBXBuildFile; fileRef = 64ED761F0C7CFB6200D16D5C /* cookie.h */; }; - 64ED76240C7CFB6200D16D5C /* request.h in Headers */ = {isa = PBXBuildFile; fileRef = 64ED76200C7CFB6200D16D5C /* request.h */; }; - 64ED76250C7CFB6200D16D5C /* response.h in Headers */ = {isa = PBXBuildFile; fileRef = 64ED76210C7CFB6200D16D5C /* response.h */; }; - 64ED76260C7CFB6200D16D5C /* useragent.h in Headers */ = {isa = PBXBuildFile; fileRef = 64ED76220C7CFB6200D16D5C /* useragent.h */; }; - 64ED76290C7CFB7E00D16D5C /* endian.h in Headers */ = {isa = PBXBuildFile; fileRef = 64ED76270C7CFB7E00D16D5C /* endian.h */; }; - 64ED762A0C7CFB7E00D16D5C /* net.h in Headers */ = {isa = PBXBuildFile; fileRef = 64ED76280C7CFB7E00D16D5C /* net.h */; }; 64ED762C0C7CFB9400D16D5C /* platnet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 64ED762B0C7CFB9400D16D5C /* platnet.cpp */; }; - 64ED762E0C7CFBA100D16D5C /* platnet.h in Headers */ = {isa = PBXBuildFile; fileRef = 64ED762D0C7CFBA100D16D5C /* platnet.h */; }; - 64F19E9A0CF5391F0093AEAD /* text.h in Headers */ = {isa = PBXBuildFile; fileRef = 64F19E990CF5391F0093AEAD /* text.h */; }; - 64F19ECB0CF53D740093AEAD /* graphic.h in Headers */ = {isa = PBXBuildFile; fileRef = 64F19ECA0CF53D740093AEAD /* graphic.h */; }; 8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; }; 8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; }; C4287F7C07C9491100D238E1 /* image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C4287F7B07C9491100D238E1 /* image.cpp */; }; @@ -176,7 +146,6 @@ C4B1829D0856B2E600B46BDA /* vorbisfile.c in Sources */ = {isa = PBXBuildFile; fileRef = C4B182860856B2E600B46BDA /* vorbisfile.c */; }; C4B1829E0856B2E600B46BDA /* window.c in Sources */ = {isa = PBXBuildFile; fileRef = C4B182870856B2E600B46BDA /* window.c */; }; C4B5838D0794CFC7004D22F2 /* init_shutdown.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C4B5838C0794CFC7004D22F2 /* init_shutdown.cpp */; }; - C4EAEB2008678F1F003F5342 /* TikiAll.h in Headers */ = {isa = PBXBuildFile; fileRef = C4EAEB1F08678F1F003F5342 /* TikiAll.h */; settings = {ATTRIBUTES = (Private, ); }; }; C4ED4B98079CE776006E3DF0 /* sndoggvorbis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C4ED4B97079CE776006E3DF0 /* sndoggvorbis.cpp */; }; C4F5148E0799FBA10001D0D0 /* endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C4F5148D0799FBA10001D0D0 /* endian.cpp */; }; C4F514AE079A02AE0001D0D0 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C4F514AC079A02AE0001D0D0 /* AudioUnit.framework */; }; @@ -255,6 +224,7 @@ 6499FE750C8623D6008D9FEF /* date.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = date.h; path = ../include/Tiki/net/util/date.h; sourceTree = SOURCE_ROOT; }; 6499FEA30C8640CA008D9FEF /* cookiejar.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = cookiejar.h; path = ../include/Tiki/net/http/cookiejar.h; sourceTree = SOURCE_ROOT; }; 6499FEA50C8640E5008D9FEF /* cookiejar.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = cookiejar.cpp; path = ../src/net/http/cookiejar.cpp; sourceTree = SOURCE_ROOT; }; + 649CF73D0CF7E00400CC8D65 /* version.cpp.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = version.cpp.in; sourceTree = "<group>"; }; 64D758F3092EB9A5002667EE /* sleep.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sleep.h; path = ../include/Tiki/anims/sleep.h; sourceTree = SOURCE_ROOT; }; 64ED75F10C7CFAE500D16D5C /* address.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = address.cpp; path = ../src/net/address.cpp; sourceTree = SOURCE_ROOT; }; 64ED75F20C7CFAE500D16D5C /* socket.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = socket.cpp; path = ../src/net/socket.cpp; sourceTree = SOURCE_ROOT; }; @@ -279,7 +249,6 @@ 64ED762D0C7CFBA100D16D5C /* platnet.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = platnet.h; path = include/Tiki/platnet.h; sourceTree = "<group>"; }; 64F19E990CF5391F0093AEAD /* text.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = text.h; path = ../include/Tiki/gui/text.h; sourceTree = SOURCE_ROOT; }; 64F19ECA0CF53D740093AEAD /* graphic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = graphic.h; path = ../include/Tiki/gui/graphic.h; sourceTree = SOURCE_ROOT; }; - 8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; }; 8DC2EF5B0486A6940098B216 /* Tiki.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Tiki.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C40D72C1083723B50084B52D /* design_v2.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = design_v2.rtf; path = ../notes/design_v2.rtf; sourceTree = SOURCE_ROOT; }; C40D72C2083723B50084B52D /* drawing_model.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = drawing_model.txt; path = ../notes/drawing_model.txt; sourceTree = SOURCE_ROOT; }; @@ -533,7 +502,6 @@ 089C1665FE841158C02AAC07 /* Resources */ = { isa = PBXGroup; children = ( - 8DC2EF5A0486A6940098B216 /* Info.plist */, 089C1666FE841158C02AAC07 /* InfoPlist.strings */, ); name = Resources; @@ -718,6 +686,7 @@ C480A22E0835BEA6006AEE4B /* object.cpp */, C45D0B90083F030200F9F467 /* timeline.cpp */, C45D0B91083F030200F9F467 /* timepoint.cpp */, + 649CF73D0CF7E00400CC8D65 /* version.cpp.in */, ); name = base; path = ../src/base; @@ -1178,54 +1147,12 @@ }; /* End PBXGroup section */ -/* Begin PBXHeadersBuildPhase section */ - 8DC2EF500486A6940098B216 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - C4EAEB2008678F1F003F5342 /* TikiAll.h in Headers */, - 640C2C30092EB8C40032DE40 /* alpharotate.h in Headers */, - 64D758F4092EB9A5002667EE /* sleep.h in Headers */, - 2290A10109302D9F00B7D80C /* cursor.h in Headers */, - 2290A10209302D9F00B7D80C /* pointerArrow.h in Headers */, - 6444BEE80932A3F200A29768 /* texturetile.h in Headers */, - 223226830A165A7A0035025E /* console.h in Headers */, - 64ED76190C7CFB4C00D16D5C /* address.h in Headers */, - 64ED761A0C7CFB4C00D16D5C /* buffer.h in Headers */, - 64ED761B0C7CFB4C00D16D5C /* socket.h in Headers */, - 64ED761C0C7CFB4C00D16D5C /* tcpserversocket.h in Headers */, - 64ED761D0C7CFB4C00D16D5C /* tcpsocket.h in Headers */, - 64ED761E0C7CFB4C00D16D5C /* udpsocket.h in Headers */, - 64ED76230C7CFB6200D16D5C /* cookie.h in Headers */, - 64ED76240C7CFB6200D16D5C /* request.h in Headers */, - 64ED76250C7CFB6200D16D5C /* response.h in Headers */, - 64ED76260C7CFB6200D16D5C /* useragent.h in Headers */, - 64ED76290C7CFB7E00D16D5C /* endian.h in Headers */, - 64ED762A0C7CFB7E00D16D5C /* net.h in Headers */, - 64ED762E0C7CFBA100D16D5C /* platnet.h in Headers */, - 6499FE6B0C862377008D9FEF /* tinyxml.h in Headers */, - 6499FE760C8623D6008D9FEF /* base64.h in Headers */, - 6499FE770C8623D6008D9FEF /* date.h in Headers */, - 6499FEA40C8640CA008D9FEF /* cookiejar.h in Headers */, - 644D23570CDFE83C00E7F291 /* lightbarmenu.h in Headers */, - 64618A5B0CEBE9A000881556 /* widget.h in Headers */, - 6406D0440CF3C737002D832F /* button.h in Headers */, - 64F19E9A0CF5391F0093AEAD /* text.h in Headers */, - 64F19ECB0CF53D740093AEAD /* graphic.h in Headers */, - 642E949A0CF54A780005C8A5 /* radiobutton.h in Headers */, - 642E949E0CF54B550005C8A5 /* window.h in Headers */, - 642E95860CF561D20005C8A5 /* spinner.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - /* Begin PBXNativeTarget section */ 8DC2EF4F0486A6940098B216 /* Tiki */ = { isa = PBXNativeTarget; buildConfigurationList = C4B181A70856AE7000B46BDA /* Build configuration list for PBXNativeTarget "Tiki" */; buildPhases = ( - 8DC2EF500486A6940098B216 /* Headers */, + 649CF7110CF7DD0C00CC8D65 /* ShellScript */, 8DC2EF520486A6940098B216 /* Resources */, 8DC2EF540486A6940098B216 /* Sources */, 8DC2EF560486A6940098B216 /* Frameworks */, @@ -1272,6 +1199,23 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 649CF7110CF7DD0C00CC8D65 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "$(SRCROOT)/../src/base/version.cpp.in", + "$(SRCROOT)/Info.plist.in", + ); + outputPaths = ( + "$(SRCROOT)/../src/base/version.cpp", + "$(SRCROOT)/Info.plist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "sed \"s/\\$WCREV\\\\$/`svnversion .`/\" < $SRCROOT/../src/base/version.cpp.in > $SRCROOT/../src/base/version.cpp\nsed \"s/\\$WCREV\\\\$/`svnversion .`/\" < $SRCROOT/Info.plist.in > $SRCROOT/Info.plist"; + }; C4EC17C5084441E40005E60B /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -1446,6 +1390,7 @@ 642E94E50CF54FF20005C8A5 /* text.cpp in Sources */, 642E94E80CF5501D0005C8A5 /* graphic.cpp in Sources */, 642E958B0CF5642F0005C8A5 /* spinner.cpp in Sources */, + 649CF73E0CF7E00400CC8D65 /* version.cpp.in in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; Modified: tiki/sdl/Makefile =================================================================== --- tiki/sdl/Makefile 2007-11-22 15:52:45 UTC (rev 549) +++ tiki/sdl/Makefile 2007-11-24 05:20:47 UTC (rev 550) @@ -2,6 +2,7 @@ BASE_AUDIO_OBJ=$(patsubst %.cpp,%.o,$(wildcard ../src/audio/*.cpp)) BASE_AUDIO_OBJ+=$(patsubst %.cpp,%.o,$(wildcard ../src/audio/oggvorbis/*.cpp)) BASE_BASE_OBJ=$(patsubst %.cpp,%.o,$(wildcard ../src/base/*.cpp)) +BASE_BASE_OBJ+=../src/base/version.o BASE_GL_OBJ=$(patsubst %.cpp,%.o,$(wildcard ../src/gl/*.cpp)) BASE_GL_OBJ+=$(patsubst %.cpp,%.o,$(wildcard ../src/gl/anims/*.cpp)) BASE_GL_OBJ+=$(patsubst %.cpp,%.o,$(wildcard ../src/gl/drawables/*.cpp)) @@ -56,7 +57,7 @@ $(AR) ru libtiki.a $(BASE_OBJS) $(THIRD_PARTY_OBJS) clean: clean_subdirs - -rm -f $(BASE_OBJS) $(THIRD_PARTY_OBJS) libtiki.a + -rm -f $(BASE_OBJS) $(THIRD_PARTY_OBJS) libtiki.a ../src/base/version.cpp $(MAKE) TIKI_PLAT=sdl -C$(CURDIR)/../examples clean examples: @@ -90,4 +91,7 @@ gzip ../tiki-$(SVN_VERSION)-sdl.tar rm -rf ../dist/$(SVN_VERSION)/tmp +../src/base/version.cpp: ../src/base/version.cpp.in + sed "s/\$$WCREV\\$$/`svnversion .`/" < ../src/base/version.cpp.in > ../src/base/version.cpp + include Makefile.rules Property changes on: tiki/src/base ___________________________________________________________________ Name: svn:ignore - *.d + *.d version.cpp Added: tiki/src/base/version.cpp.in =================================================================== --- tiki/src/base/version.cpp.in (rev 0) +++ tiki/src/base/version.cpp.in 2007-11-24 05:20:47 UTC (rev 550) @@ -0,0 +1,35 @@ +/* + Tiki + + version.cpp + + Copyright (C)2007 Atani Software +*/ + +#include "pch.h" + +namespace Tiki { + const std::string TikiFrameworkVersion = "0.0.$WCREV$"; + const string getVersion() { + return TikiFrameworkVersion; + } + + const std::string TikiFrameworkPlatform = +#if TIKI_PLAT == TIKI_WIN32 + "Windows"; +#elif TIKI_PLAT == TIKI_NDS + "Nintendo DS"; +#elif TIKI_PLAT == TIKI_SDL + "SDL"; +#elif TIKI_PLAT == TIKI_OSX + "Mac OS X"; +#elif TIKI_PLAT == TIKI_DC + "Sega Dreamcast"; +#else + "Unknown"; +#endif + const string getPlatformName() { + return TikiFrameworkPlatform; + } +} + Modified: tiki/src/gui/button.cpp =================================================================== --- tiki/src/gui/button.cpp 2007-11-22 15:52:45 UTC (rev 549) +++ tiki/src/gui/button.cpp 2007-11-24 05:20:47 UTC (rev 550) @@ -7,8 +7,8 @@ */ #include "pch.h" -#include "Tiki/widget.h" -#include "Tiki/button.h" +#include "Tiki/gui/widget.h" +#include "Tiki/gui/button.h" using namespace Tiki::GUI; using namespace Tiki::GL; @@ -20,4 +20,4 @@ void Button::render(Drawable::ObjType mode) { -} \ No newline at end of file +} Modified: tiki/src/gui/graphic.cpp =================================================================== --- tiki/src/gui/graphic.cpp 2007-11-22 15:52:45 UTC (rev 549) +++ tiki/src/gui/graphic.cpp 2007-11-24 05:20:47 UTC (rev 550) @@ -7,7 +7,7 @@ */ #include "pch.h" -#include "Tiki/graphic.h" +#include "Tiki/gui/graphic.h" using namespace Tiki::GUI; using namespace Tiki::GL; @@ -19,4 +19,4 @@ void Graphic::render(Drawable::ObjType mode) { -} \ No newline at end of file +} Modified: tiki/src/gui/radiobutton.cpp =================================================================== --- tiki/src/gui/radiobutton.cpp 2007-11-22 15:52:45 UTC (rev 549) +++ tiki/src/gui/radiobutton.cpp 2007-11-24 05:20:47 UTC (rev 550) @@ -7,7 +7,7 @@ */ #include "pch.h" -#include "Tiki/radiobutton.h" +#include "Tiki/gui/radiobutton.h" using namespace Tiki::GUI; using namespace Tiki::GL; @@ -28,4 +28,4 @@ void RadioButtonGroup::render(Drawable::ObjType mode) { -} \ No newline at end of file +} Modified: tiki/src/gui/spinner.cpp =================================================================== --- tiki/src/gui/spinner.cpp 2007-11-22 15:52:45 UTC (rev 549) +++ tiki/src/gui/spinner.cpp 2007-11-24 05:20:47 UTC (rev 550) @@ -7,7 +7,7 @@ */ #include "pch.h" -#include "Tiki/spinner.h" +#include "Tiki/gui/spinner.h" using namespace Tiki::GUI; using namespace Tiki::GL; @@ -19,4 +19,4 @@ void Spinner::render(Drawable::ObjType mode) { -} \ No newline at end of file +} Modified: tiki/src/gui/text.cpp =================================================================== --- tiki/src/gui/text.cpp 2007-11-22 15:52:45 UTC (rev 549) +++ tiki/src/gui/text.cpp 2007-11-24 05:20:47 UTC (rev 550) @@ -7,7 +7,7 @@ */ #include "pch.h" -#include "Tiki/text.h" +#include "Tiki/gui/text.h" using namespace Tiki::GUI; using namespace Tiki::GL; @@ -18,4 +18,4 @@ void Text::render(Drawable::ObjType mode) { -} \ No newline at end of file +} Modified: tiki/src/gui/widget.cpp =================================================================== --- tiki/src/gui/widget.cpp 2007-11-22 15:52:45 UTC (rev 549) +++ tiki/src/gui/widget.cpp 2007-11-24 05:20:47 UTC (rev 550) @@ -7,7 +7,7 @@ */ #include "pch.h" -#include "Tiki/widget.h" +#include "Tiki/gui/widget.h" using namespace Tiki::GUI; @@ -22,4 +22,4 @@ } m_cachedPos = pos; return m_cachedPos; -} \ No newline at end of file +} Deleted: tiki/src/gui/widget.h =================================================================== --- tiki/src/gui/widget.h 2007-11-22 15:52:45 UTC (rev 549) +++ tiki/src/gui/widget.h 2007-11-24 05:20:47 UTC (rev 550) @@ -1,9 +0,0 @@ -/* - * widget.h - * Tiki - * - * Created by Atani on 11/20/07. - * Copyright 2007 __MyCompanyName__. All rights reserved. - * - */ - Modified: tiki/src/gui/window.cpp =================================================================== --- tiki/src/gui/window.cpp 2007-11-22 15:52:45 UTC (rev 549) +++ tiki/src/gui/window.cpp 2007-11-24 05:20:47 UTC (rev 550) @@ -7,7 +7,7 @@ */ #include "pch.h" -#include "Tiki/window.h" +#include "Tiki/gui/window.h" using namespace Tiki::GUI; @@ -19,4 +19,4 @@ void Window::run() { -} \ No newline at end of file +} Modified: tiki/src/net/http/useragent.cpp =================================================================== --- tiki/src/net/http/useragent.cpp 2007-11-22 15:52:45 UTC (rev 549) +++ tiki/src/net/http/useragent.cpp 2007-11-24 05:20:47 UTC (rev 550) @@ -1,483 +1,473 @@ -/* - Tiki - - useragent.cpp - - Copyright (C)2007 Atani Software -*/ - -#include "pch.h" -#include "Tiki/tiki.h" -#include "Tiki/net.h" -#include "Tiki/net/http/useragent.h" - -#include <sstream> -#include <math.h> - -namespace Tiki { - -namespace Net { - -namespace Http { - -using namespace Tiki::Net::TCP; - -using std::string; -using std::list; -using std::stringstream; -using std::istringstream; -using std::ios; - -TIKI_OBJECT_NAME( HttpUserAgent ) -TIKI_OBJECT_BEGIN( Object, HttpUserAgent ) -TIKI_OBJECT_OUTLET( "progressUpdate" ) -TIKI_OBJECT_END( HttpUserAgent ) - -HttpUserAgent::HttpUserAgent() { -#if TIKI_PLAT == TIKI_WIN32 - m_userAgentName = "Tiki/1.0 (Windows)"; -#elif TIKI_PLAT == TIKI_NDS - m_userAgentName = "Tiki/1.0 (Nintendo DS)"; -#elif TIKI_PLAT == TIKI_SDL - m_userAgentName = "Tiki/1.0 (SDL)"; -#elif TIKI_PLAT == TIKI_OSX - m_userAgentName = "Tiki/1.0 (Mac OS X)"; -#else - m_userAgentName = "Tiki/1.0 (Unknown)"; -#endif - m_proxyHost = ""; - m_proxyPort = 8080; - m_ignoreCookies = true; - m_cookieJar = NULL; -} - -Response *HttpUserAgent::get(Request *req) { - - Response *response = new Response(); - response->setUrl(req->getUrl()); - response->setResultCode(200); - - string hostname; - int port; - string resource; - - parseUrl(req->getUrl(), hostname, resource, port); - - TCPSocket *socket; - if(m_proxyHost.empty()) { - socket = new TCPSocket(new Address(hostname, port)); - } - else { - socket = new TCPSocket(new Address(m_proxyHost, m_proxyPort)); - } - - socket->setNonBlocking(false); - - socket->open(); - if(!socket->isOpen()) { - Tiki::Debug::printf("connect failed\n"); - response->setResultCode(504); - return response; - } - - string requestText; - buildRequest(hostname, resource, port, "GET", req, requestText); - - Tiki::Debug::printf("Sending request...\n"); - Tiki::Debug::printf(requestText.c_str()); - socket->send(requestText); - - readResponse(response, socket); - - socket->close(); - - delete socket; - - return response; -} - -Response *HttpUserAgent::post(Request *req) { - Response *response = new Response(); - response->setUrl(req->getUrl()); - response->setResultCode(200); - - string hostname; - int port; - string resource; - - parseUrl(req->getUrl(), hostname, resource, port); - - TCPSocket *socket; - if(m_proxyHost.empty()) { - socket = new TCPSocket(new Address(hostname, port)); - } - else { - socket = new TCPSocket(new Address(m_proxyHost, m_proxyPort)); - } - - socket->setNonBlocking(false); - - socket->open(); - if(!socket->isOpen()) { - Tiki::Debug::printf("connect failed\n"); - response->setResultCode(504); - return response; - } - - string requestText; - buildRequest(hostname, resource, port, "POST", req, requestText); - - Tiki::Debug::printf("Sending request...\n"); - socket->send(requestText); - - size_t maxSize = requestText.length(); - size_t sentSize = maxSize; - list<string> content = req->getContentPartNames(); - for(list<string>::iterator iter = content.begin(); - iter != content.end(); - ++iter) { - Buffer *buf = req->getContentPart(*iter); - if(buf->getUsedDataLen() > 0) { - maxSize += buf->getUsedDataLen(); - } - } - if(content.size() > 1 || req->isForcedMultiPartUpload()) { - string status = ""; - socket->recv(status); - - for(list<string>::iterator iter = content.begin(); - iter != content.end(); - ++iter) { - Buffer *buf = req->getContentPart(*iter); - if(buf->getUsedDataLen() > 0) { - stringstream temp; - temp << "--" << req->getBoundaryMarker() << "\r\n"; - temp << "Content-Disposition: form-data; name=\""; - if(!buf->getFieldName().empty()) { - temp << buf->getFieldName(); - } - else { - temp << "File"; - } - temp << "\"; filename=\"" << buf->getFileNameShort() << "\"\r\nContent-Type: " << buf->getContentType() << "\r\n\r\n"; - string headerText = temp.str(); - //Tiki::Debug::printf("CONTENT_HEADER:\n%s", headerText.c_str()); - socket->send(headerText); - socket->send(buf); - sentSize += buf->getUsedDataLen(); - SocketProgress *progress = new SocketProgress(maxSize, 0, sentSize); - emit( "progressUpdate", progress ); - delete progress; - } - } - string footerText = "\r\n--"; - footerText.append(req->getBoundaryMarker()); - footerText.append("--\r\n"); - socket->send(footerText); - } - else if(content.size() == 1) { - Buffer *buf = req->getContentPart(*content.begin()); - if(buf->getUsedDataLen() > 0) { - socket->send(buf); - SocketProgress *progress = new SocketProgress(maxSize, 0, buf->getUsedDataLen()); - emit( "progressUpdate", progress ); - delete progress; - } - - } - - readResponse(response, socket); - - socket->close(); - - delete socket; - - return response; -} - -void HttpUserAgent::parseUrl(const string url, string &host, string &resource, int &port) { - string temp_url = url; - - // set defaults - host = ""; - port = 80; - resource = "/index.html"; - - if(temp_url.find("http://") == 0) { - temp_url = temp_url.substr(string("http://").length()); - } - else if(temp_url.find("https://") == 0) { - temp_url = temp_url.substr(string("https://").length()); - } - host = temp_url.substr(0, temp_url.find("/")); - if(temp_url.find("/") != string::npos) { - resource = temp_url.substr(temp_url.find("/")); - } - if(host.find(":") != string::npos) { - string portstr = url.substr(host.find(":")); - port = atoi(portstr.c_str()); - host = host.substr(0, host.find(":")); - } -} - -void HttpUserAgent::buildRequest(const string host, const string resource, const int port, - const string mode, Request *request, string &requestText) { - - stringstream req; - if(m_proxyHost.empty()) { - req << mode << " " << resource << " HTTP/1.1\r\n"; - req << "Host: " << host << "\r\n"; - } - else { - // proxy connection - req << mode << " " << request->getUrl(); - if(port != 80) { - req << ":" << port; - } - req << " HTTP/1.1\r\n"; - req << "Host: " << host << "\r\n"; - } - list<string> params = request->getHeaderParamNames(); - for(list<string>::const_iterator param = params.begin(); - param != params.end(); - ++param) { - req << *param << ": " << request->getHeaderParam(*param) << "\r\n"; - } - - if(!m_userAgentName.empty()) { - req << "User-Agent: " << m_userAgentName << "\r\n"; - } - - if(m_cookieJar != NULL) { - list<Cookie *> cookies = m_cookieJar->getCookies(host, resource); - for(list<Cookie *>::iterator iter = cookies.begin(); - iter != cookies.end(); - ++iter) { - req << "Cookie: $Version=" << (*iter)->getVersion() << "; "; - req << (*iter)->getName() << "=" << (*iter)->getValue() << "; "; - req << "$Path=" << (*iter)->getPath() << "\r\n"; - } - } - - list<string> content = request->getContentPartNames(); - if(!mode.compare("POST") && (content.size() > 1 || request->isForcedMultiPartUpload())) { - uint64 totalSize = 8 + request->getBoundaryMarker().length(); // account for the ending boundary - for(list<string>::iterator iter = content.begin(); - iter != content.end(); - ++iter) { - Buffer *buf = request->getContentPart(*iter); - if(buf->getUsedDataLen() > 0) { - totalSize += request->getBoundaryMarker().length() + 4; - totalSize += buf->getUsedDataLen(); - stringstream temp; - temp << "Content-Disposition: form-data; name=\""; - if(!buf->getFieldName().empty()) { - temp << buf->getFieldName(); - } - else { - temp << "File"; - } - temp << "\"; filename=\"" << buf->getFileNameShort() << "\"\r\nContent-Type: " << buf->getContentType() << "\r\n\r\n"; - - // add section header size - totalSize += temp.str().length(); - } - } - - req << "Content-Length: " << totalSize << "\r\n"; - req << "Expect: 100-continue\r\n"; - req << "Content-Type: multipart/form-data; boundary=" << request->getBoundaryMarker() << "\r\n"; - } - else if(!mode.compare("POST") && content.size() == 1) { - Buffer *buf = request->getContentPart(*content.begin()); - req << "Content-Type: " << buf->getContentType() << "\r\n"; - req << "Content-Length: " << buf->getUsedDataLen() << "\r\n"; - } - req << "\r\n"; - - requestText = req.str(); -} - -void HttpUserAgent::readResponse(Response *response, TCPSocket *socket) { - string host, resource; - int port; - parseUrl(response->getUrl(), host, resource, port); - - string status = ""; - socket->recv(status); - - for(string::size_type i = 0; i < status.length(); i++) { - if(status.at(i) == ' ') { - response->setResultCode(atoi(status.c_str()+i + 1)); - break; - } - } - - size_t responseSize = -1; - size_t receivedSoFar = 0; - while(1) { - string line = ""; - socket->recv(line); - receivedSoFar += line.size(); - if(line.size() == 0) { - // done with headers - break; - } - if(line.find(":") != string::npos) { - string field = line.substr(0, line.find(":")); - string value = line.substr(line.find(":") + 1); - while(value.at(0) == ' ') { - value = value.substr(1); - } - - if(!field.compare("Set-Cookie")) { - if(!isIgnoreCookies()) { - m_cookieJar->addCookie(value, host, resource); - } - } - else if(!field.compare("Content-Length")) { - responseSize = atoi(value.c_str()); - response->setHeaderParam(field, value); - } - else { - response->setHeaderParam(field, value); - } - } - if(responseSize != -1) { - SocketProgress *progress = new SocketProgress(responseSize, receivedSoFar, 0); - emit( "progressUpdate", progress ); - delete progress; - } - } - - Buffer *fullBuf; - if(responseSize == -1) - { - fullBuf = new Buffer(1); - } - else - { - fullBuf = new Buffer(responseSize); - } - - if(!response->getHeaderParam("Transfer-Encoding").compare("chunked")) { - Tiki::Debug::printf("Encoding is chunked\n"); - // evil chunked encoding - size_t totalSize = 0; - - size_t sizeDecoded = 0; - do - { - sizeDecoded = 0; - string size = ""; - socket->recv(size); - if(size.empty()) { - sizeDecoded = 1; - continue; - } - - istringstream sizestream(string("0x") + size); - sizestream.unsetf(ios::dec); - sizestream.setf(ios::skipws); - sizestream >> sizeDecoded; - responseSize = receivedSoFar + sizeDecoded; - - if(sizeDecoded > 0) { - Buffer *chunkBuf = new Buffer(sizeDecoded); - socket->recv(chunkBuf); - receivedSoFar += chunkBuf->getUsedDataLen(); - SocketProgress *progress = new SocketProgress(responseSize, receivedSoFar, 0); - emit( "progressUpdate", progress ); - delete progress; - if(chunkBuf->getUsedDataLen() < sizeDecoded) - { - size_t needed = sizeDecoded - chunkBuf->getUsedDataLen(); - Buffer *chunkBuf2; - if(needed > 4096) { - chunkBuf2 = new Buffer(4096); - } - else { - chunkBuf2 = new Buffer(needed); - } - while(needed > 0) { - if(needed < chunkBuf2->getDataLen()) { - delete chunkBuf2; - chunkBuf2 = new Buffer(needed); - } - socket->recv(chunkBuf2); - chunkBuf->append(chunkBuf2); - if(chunkBuf2->getUsedDataLen() > 0) { - receivedSoFar += chunkBuf2->getUsedDataLen(); - SocketProgress *progress = new SocketProgress(responseSize, receivedSoFar, 0); - emit( "progressUpdate", progress ); - delete progress; - } - needed -= chunkBuf2->getUsedDataLen(); - } - delete chunkBuf2; - } - totalSize += chunkBuf->getUsedDataLen(); - fullBuf->append(chunkBuf); - delete chunkBuf; - } - } while(sizeDecoded > 0); - } - else if(response->getHeaderParam("Content-Length").compare("")) { - Tiki::Debug::printf("Encoding is inline\n"); - size_t sizeDecoded = atoi(response->getHeaderParam("Content-Length").c_str()); - - Buffer *chunkBuf = new Buffer(sizeDecoded); - socket->recv(chunkBuf); - receivedSoFar += chunkBuf->getUsedDataLen(); - SocketProgress *progress = new SocketProgress(responseSize, receivedSoFar, 0); - emit( "progressUpdate", progress ); - delete progress; - if(chunkBuf->getUsedDataLen() < sizeDecoded) - { - sizeDecoded -= chunkBuf->getUsedDataLen(); - Buffer *chunkBuf2; - if(sizeDecoded > 4096) { - chunkBuf2 = new Buffer(4096); - } - else { - chunkBuf2 = new Buffer(sizeDecoded); - } - while(sizeDecoded > 0) { - if(sizeDecoded < chunkBuf2->getDataLen()) { - delete chunkBuf2; - chunkBuf2 = new Buffer(sizeDecoded); - } - socket->recv(chunkBuf2); - chunkBuf->append(chunkBuf2); - if(chunkBuf2->getUsedDataLen() > 0) { - receivedSoFar += chunkBuf2->getUsedDataLen(); - SocketProgress *progress = new SocketProgress(responseSize, receivedSoFar, 0); - emit( "progressUpdate", progress ); - delete progress; - } - sizeDecoded -= chunkBuf2->getUsedDataLen(); - } - delete chunkBuf2; - } - fullBuf->append(chunkBuf); - - delete chunkBuf; - } - else { - Tiki::Debug::printf("Encoding is unknown\n"); - Tiki::Debug::printf("Dumping headers\nHEADER NAME -> VALUE"); - for(list<string>::iterator iter = response->getHeaderParamNames().begin(); - iter != response->getHeaderParamNames().end(); - ++iter) { - Tiki::Debug::printf("%s -> %s\n", (*iter).c_str(), response->getHeaderParam(*iter).c_str()); - } - } - response->addContentPart(fullBuf, DEFAULT_CONTENT_PART); -} - -}; // namespace Http - -}; // namespace Net - -}; // namespace Tiki - +/* + Tiki + + useragent.cpp + + Copyright (C)2007 Atani Software +*/ + +#include "pch.h" +#include "Tiki/tiki.h" +#include "Tiki/net.h" +#include "Tiki/net/http/useragent.h" + +#include <sstream> +#include <math.h> + +namespace Tiki { + +namespace Net { + +namespace Http { + +using namespace Tiki::Net::TCP; + +using std::string; +using std::list; +using std::stringstream; +using std::istringstream; +using std::ios; + +TIKI_OBJECT_NAME( HttpUserAgent ) +TIKI_OBJECT_BEGIN( Object, HttpUserAgent ) +TIKI_OBJECT_OUTLET( "progressUpdate" ) +TIKI_OBJECT_END( HttpUserAgent ) + +HttpUserAgent::HttpUserAgent() { + m_userAgentName = string("Tiki/") + Tiki::getVersion() + string(" (") + Tiki::getPlatformName() + string(")"); + m_proxyHost = ""; + m_proxyPort = 8080; + m_ignoreCookies = true; + m_cookieJar = NULL; +} + +Response *HttpUserAgent::get(Request *req) { + + Response *response = new Response(); + response->setUrl(req->getUrl()); + response->setResultCode(200); + + string hostname; + int port; + string resource; + + parseUrl(req->getUrl(), hostname, resource, port); + + TCPSocket *socket; + if(m_proxyHost.empty()) { + socket = new TCPSocket(new Address(hostname, port)); + } + else { + socket = new TCPSocket(new Address(m_proxyHost, m_proxyPort)); + } + + socket->setNonBlocking(false); + + socket->open(); + if(!socket->isOpen()) { + Tiki::Debug::printf("connect failed\n"); + response->setResultCode(504); + return response; + } + + string requestText; + buildRequest(hostname, resource, port, "GET", req, requestText); + + Tiki::Debug::printf("Sending request...\n"); + Tiki::Debug::printf(requestText.c_str()); + socket->send(requestText); + + readResponse(response, socket); + + socket->close(); + + delete socket; + + return response; +} + +Response *HttpUserAgent::post(Request *req) { + Response *response = new Response(); + response->setUrl(req->getUrl()); + response->setResultCode(200); + + string hostname; + int port; + string resource; + + parseUrl(req->getUrl(), hostname, resource, port); + + TCPSocket *socket; + if(m_proxyHost.empty()) { + socket = new TCPSocket(new Address(hostname, port)); + } + else { + socket = new TCPSocket(new Address(m_proxyHost, m_proxyPort)); + } + + socket->setNonBlocking(false); + + socket->open(); + if(!socket->isOpen()) { + Tiki::Debug::printf("connect failed\n"); + response->setResultCode(504); + return response; + } + + string requestText; + buildRequest(hostname, resource, port, "POST", req, requestText); + + Tiki::Debug::printf("Sending request...\n"); + socket->send(requestText); + + size_t maxSize = requestText.length(); + size_t sentSize = maxSize; + list<string> content = req->getContentPartNames(); + for(list<string>::iterator iter = content.begin(); + iter != content.end(); + ++iter) { + Buffer *buf = req->getContentPart(*iter); + if(buf->getUsedDataLen() > 0) { + maxSize += buf->getUsedDataLen(); + } + } + if(content.size() > 1 || req->isForcedMultiPartUpload()) { + string status = ""; + socket->recv(status); + + for(list<string>::iterator iter = content.begin(); + iter != content.end(); + ++iter) { + Buffer *buf = req->getContentPart(*iter); + if(buf->getUsedDataLen() > 0) { + stringstream temp; + temp << "--" << req->getBoundaryMarker() << "\r\n"; + temp << "Content-Disposition: form-data; name=\""; + if(!buf->getFieldName().empty()) { + temp << buf->getFieldName(); + } + else { + temp << "File"; + } + temp << "\"; filename=\"" << buf->getFileNameShort() << "\"\r\nContent-Type: " << buf->getContentType() << "\r\n\r\n"; + string headerText = temp.str(); + //Tiki::Debug::printf("CONTENT_HEADER:\n%s", headerText.c_str()); + socket->send(headerText); + socket->send(buf); + sentSize += buf->getUsedDataLen(); + SocketProgress *progress = new SocketProgress(maxSize, 0, sentSize); + emit( "progressUpdate", progress ); + delete progress; + } + } + string footerText = "\r\n--"; + footerText.append(req->getBoundaryMarker()); + footerText.append("--\r\n"); + socket->send(footerText); + } + else if(content.size() == 1) { + Buffer *buf = req->getContentPart(*content.begin()); + if(buf->getUsedDataLen() > 0) { + socket->send(buf); + SocketProgress *progress = new SocketProgress(maxSize, 0, buf->getUsedDataLen()); + emit( "progressUpdate", progress ); + delete progress; + } + + } + + readResponse(response, socket); + + socket->close(); + + delete socket; + + return response; +} + +void HttpUserAgent::parseUrl(const string url, string &host, string &resource, int &port) { + string temp_url = url; + + // set defaults + host = ""; + port = 80; + resource = "/index.html"; + + if(temp_url.find("http://") == 0) { + temp_url = temp_url.substr(string("http://").length()); + } + else if(temp_url.find("https://") == 0) { + temp_url = temp_url.substr(string("https://").length()); + } + host = temp_url.substr(0, temp_url.find("/")); + if(temp_url.find("/") != string::npos) { + resource = temp_url.substr(temp_url.find("/")); + } + if(host.find(":") != string::npos) { + string portstr = url.substr(host.find(":")); + port = atoi(portstr.c_str()); + host = host.substr(0, host.find(":")); + } +} + +void HttpUserAgent::buildRequest(const string host, const string resource, const int port, + const string mode, Request *request, string &requestText) { + + stringstream req; + if(m_proxyHost.empty()) { + req << mode << " " << resource << " HTTP/1.1\r\n"; + req << "Host: " << host << "\r\n"; + } + else { + // proxy connection + req << mode << " " << request->getUrl(); + if(port != 80) { + req << ":" << port; + } + req << " HTTP/1.1\r\n"; + req << "Host: " << host << "\r\n"; + } + list<string> params = request->getHeaderParamNames(); + for(list<string>::const_iterator param = params.begin(); + param != params.end(); + ++param) { + req << *param << ": " << request->getHeaderParam(*param) << "\r\n"; + } + + if(!m_userAgentName.empty()) { + req << "User-Agent: " << m_userAgentName << "\r\n"; + } + + if(m_cookieJar != NULL) { + list<Cookie *> cookies = m_cookieJar->getCookies(host, resource); + for(list<Cookie *>::iterator iter = cookies.begin(); + iter != cookies.end(); + ++iter) { + req << "Cookie: $Version=" << (*iter)->getVersion() << "; "; + req << (*iter)->getName() << "=" << (*iter)->getValue() << "; "; + req << "$Path=" << (*iter)->getPath() << "\r\n"; + } + } + + list<string> content = request->getContentPartNames(); + if(!mode.compare("POST") && (content.size() > 1 || request->isForcedMultiPartUpload())) { + uint64 totalSize = 8 + request->getBoundaryMarker().length(); // account for the ending boundary + for(list<string>::iterator iter = content.begin(); + iter != content.end(); + ++iter) { + Buffer *buf = request->getContentPart(*iter); + if(buf->getUsedDataLen() > 0) { + totalSize += request->getBoundaryMarker().length() + 4; + totalSize += buf->getUsedDataLen(); + stringstream temp; + temp << "Content-Disposition: form-data; name=\""; + if(!buf->getFieldName().empty()) { + temp << buf->getFieldName(); + } + else { + temp << "File"; + } + temp << "\"; filename=\"" << buf->getFileNameShort() << "\"\r\nContent-Type: " << buf->getContentType() << "\r\n\r\n"; + + // add section header size + totalSize += temp.str().length(); + } + } + + req << "Content-Length: " << totalSize << "\r\n"; + req << "Expect: 100-continue\r\n"; + req << "Content-Type: multipart/form-data; boundary=" << request->getBoundaryMarker() << "\r\n"; + } + else if(!mode.compare("POST") && content.size() == 1) { + Buffer *buf = request->getContentPart(*content.begin()); + req << "Content-Type: " << buf->getContentType() << "\r\n"; + req << "Content-Length: " << buf->getUsedDataLen() << "\r\n"; + } + req << "\r\n"; + + requestText = req.str(); +} + +void HttpUserAgent::readResponse(Response *response, TCPSocket *socket) { + string host, resource; + int port; + parseUrl(response->getUrl(), host, resource, port); + + string status = ""; + socket->recv(status); + + for(string::size_type i = 0; i < status.length(); i++) { + if(status.at(i) == ' ') { + response->setResultCode(atoi(status.c_str()+i + 1)); + break; + } + } + + size_t responseSize = -1; + size_t receivedSoFar = 0; + while(1) { + string line = ""; + socket->recv(line); + receivedSoFar += line.size(); + if(line.size() == 0) { + // done with headers + break; + } + if(line.find(":") != string::npos) { + string field = line.substr(0, line.find(":")); + string value = line.substr(line.find(":") + 1); + while(value.at(0) == ' ') { + value = value.substr(1); + } + + if(!field.compare("Set-Cookie")) { + if(!isIgnoreCookies()) { + m_cookieJar->addCookie(value, host, resource); + } + } + else if(!field.compare("Content-Length")) { + responseSize = atoi(value.c_str()); + response->setHeaderParam(field, value); + } + else { + response->setHeaderParam(field, value); + } + } + if(responseSize != -1) { + SocketProgress *progress = new SocketProgress(responseSize, receivedSoFar, 0); + emit( "progressUpdate", progress ); + delete progress; + } + } + + Buffer *fullBuf; + if(responseSize == -1) + { + fullBuf = new Buffer(1); + } + else + { + fullBuf = new Buffer(responseSize); + } + + if(!response->getHeaderParam("Transfer-Encoding").compare("chunked")) { + Tiki::Debug::printf("Encoding is chunked\n"); + // evil chunked encoding + size_t totalSize = 0; + + size_t sizeDecoded = 0; + do + { + sizeDecoded = 0; + string size = ""; + socket->recv(size); + if(size.empty()) { + sizeDecoded = 1; + continue; + } + + istringstream sizestream(string("0x") + size); + sizestream.unsetf(ios::dec); + sizestream.setf(ios::skipws); + sizestream >> sizeDecoded; + responseSize = receivedSoFar + sizeDecoded; + + if(sizeDecoded > 0) { + Buffer *chunkBuf = new Buffer(sizeDecoded); + socket->recv(chunkBuf); + receivedSoFar += chunkBuf->getUsedDataLen(); + SocketProgress *progress = new SocketProgress(responseSize, receivedSoFar, 0); + emit( "progressUpdate", progress ); + delete progress; + if(chunkBuf->getUsedDataLen() < sizeDecoded) + { + size_t needed = sizeDecoded - chunkBuf->getUsedDataLen(); + Buffer *chunkBuf2; + if(needed > 4096) { + chunkBuf2 = new Buffer(4096); + } + else { + chunkBuf2 = new Buffer(needed); + } + while(needed > 0) { + if(needed < chunkBuf2->getDataLen()) { + delete chunkBuf2; + chunkBuf2 = new Buffer(needed); + } + socket->recv(chunkBuf2); + chunkBuf->append(chunkBuf2); + if(chunkBuf2->getUsedDataLen() > 0) { + receivedSoFar += chunkBuf2->getUsedDataLen(); + SocketProgress *progress = new SocketProgress(responseSize, receivedSoFar, 0); + emit( "progressUpdate", progress ); + delete progress; + } + needed -= chunkBuf2->getUsedDataLen(); + } + delete chunkBuf2; + } + totalSize += chunkBuf->getUsedDataLen(); + fullBuf->append(chunkBuf); + delete chunkBuf; + } + } while(sizeDecoded > 0); + } + else if(response->getHeaderParam("Content-Length").compare("")) { + Tiki::Debug::printf("Encoding is inline\n"); + size_t sizeDecoded = atoi(response->getHeaderParam("Content-Length").c_str()); + + Buffer *chunkBuf = new Buffer(sizeDecoded); + socket->recv(chunkBuf); + receivedSoFar += chunkBuf->getUsedDataLen(); + SocketProgress *progress = new SocketProgress(responseSize, receivedSoFar, 0); + emit( "progressUpdate", progress ); + delete progress; + if(chunkBuf->getUsedDataLen() < sizeDecoded) + { + sizeDecoded -= chunkBuf->getUsedDataLen(); + Buffer *chunkBuf2; + if(sizeDecoded > 4096) { + chunkBuf2 = new Buffer(4096); + } + else { + chunkBuf2 = new Buffer(sizeDecoded); + } + while(sizeDecoded > 0) { + if(sizeDecoded < chunkBuf2->getDataLen()) { + delete chunkBuf2; + chunkBuf2 = new Buffer(sizeDecoded); + } + socket->recv(chunkBuf2); + chunkBuf->append(chunkBuf2); + if(chunkBuf2->getUsedDataLen() > 0) { + receivedSoFar += chunkBuf2->getUsedDataLen(); + SocketProgress *progress = new SocketProgress(responseSize, receivedSoFar, 0); + emit( "progressUpdate", progress ); + delete progress; + } + sizeDecoded -= chunkBuf2->getUsedDataLen(); + } + delete chunkBuf2; + } + fullBuf->append(chunkBuf); + + delete chunkBuf; + } + else { + Tiki::Debug::printf("Encoding is unknown\n"); + Tiki::Debug::printf("Dumping headers\nHEADER NAME -> VALUE"); + for(list<string>::iterator iter = response->getHeaderParamNames().begin(); + iter != response->getHeaderParamNames().end(); + ++iter) { + Tiki::Debug::printf("%s -> %s\n", (*iter).c_str(), response->getHeaderParam(*iter).c_str()); + } + } + response->addContentPart(fullBuf, DEFAULT_CONTENT_PART); +} + +}; // namespace Http + +}; // namespace Net + +}; // namespace Tiki + Modified: tiki/win32/tiki.vcproj =================================================================== --- tiki/win32/tiki.vcproj 2007-11-22 15:52:45 UTC (rev 549) +++ tiki/win32/tiki.vcproj 2007-11-24 05:20:47 UTC (rev 550) @@ -243,6 +243,37 @@ RelativePath="..\src\base\timepoint.cpp" > </File> + <File + RelativePath="..\src\base\version.cpp.in" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCustomBuildTool" + CommandLine=""c:\Program Files\TortoiseSVN\bin\SubWCRev.exe" . ..\src\base\version.cpp.in ..\src\base\version.cpp
" + Outputs="..\src\base\version.cpp" + /> + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="0" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCustomBuildTool" + CommandLine=""c:\Program Files\TortoiseSVN\bin\SubWCRev.exe" . ..\src\base\version.cpp.in ..\src\base\version.cpp
" + Outputs="..\src\base\version.cpp" + /> + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="0" + /> + </FileConfiguration> + + </File> </Filter> <Filter Name="gl" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |