diff options
-rw-r--r-- | Database/database.h | 16 | ||||
-rw-r--r-- | Database/internals/database-internal.h | 3 | ||||
-rw-r--r-- | Engine/Makefile | 15 | ||||
-rw-r--r-- | Engine/crawler.cpp | 1 | ||||
-rw-r--r-- | Loader/Makefile | 15 | ||||
-rw-r--r-- | Loader/loader.cpp | 2 | ||||
-rw-r--r-- | Lua/Makefile | 15 | ||||
-rw-r--r-- | Lua/lua-engine.cpp | 0 | ||||
-rw-r--r-- | Makefile | 2 | ||||
m--------- | externals/Base | 0 |
10 files changed, 63 insertions, 6 deletions
diff --git a/Database/database.h b/Database/database.h index dffaaf5..be46598 100644 --- a/Database/database.h +++ b/Database/database.h @@ -7,16 +7,24 @@ class Database : public Base { public: - Database(); - ~Database(); + Database() : start(0), end(0), currentId(1) { } + ~Database() { while(start) delete start; } DatabaseCell * getStart() { return start; } DatabaseCell * getEnd() { return end; } void setStart(DatabaseCell * newStart) { start = newStart; } void setEnd(DatabaseCell * newEnd) { end = newEnd; } - Segment * getSegment(Uint32 id); - Uint32 GetNextSegId(); + Segment * getSegment(Uint32 id) { + DatabaseCell * cursor; + + for (cursor = start; start; cursor = cursor->getNext()) + if (cursor->getId() == id) + return cursor->getSegment(); + return 0; + } + Uint32 GetNextSegId() { return currentId++; } private: DatabaseCell * start, * end; + Uint32 currentId; }; #endif diff --git a/Database/internals/database-internal.h b/Database/internals/database-internal.h index 5ca6050..173eb62 100644 --- a/Database/internals/database-internal.h +++ b/Database/internals/database-internal.h @@ -21,12 +21,13 @@ class DatabaseCell : public Base { */ DatabaseCell(Cpu * cpu, Uint64 cpu_base, absolute_ptr origin, Uint32 size, Uint32 extra_size, DatabaseCell * prev, Database * parent); ~DatabaseCell(); - Uint32 getID() { return segment->getId(); } + Uint32 getId() { return segment->getId(); } void LoadMemory(Handle * src) { segment->LoadMemory(src); } Segment * getSegment() { return segment; } Cpu * getCpu() { return cpu; } Uint64 getCpuBase() { return segment->getCpuBase(); } absolute_ptr getOrigin() { return origin; } + DatabaseCell * getNext() { return next; } private: Segment * segment; diff --git a/Engine/Makefile b/Engine/Makefile new file mode 100644 index 0000000..55c1046 --- /dev/null +++ b/Engine/Makefile @@ -0,0 +1,15 @@ +TARGET = Engine.a + +SRCS = \ +crawler.cpp \ + +SPATH = + +CPPFLAGS = -I. -I../Database -I../Database/internals + +include ../Makefile.cfg + +$(TARGET): $(OBJS) + $(AR) $@ $^ + +-include $(DEPS) diff --git a/Engine/crawler.cpp b/Engine/crawler.cpp new file mode 100644 index 0000000..aef8cab --- /dev/null +++ b/Engine/crawler.cpp @@ -0,0 +1 @@ +#include "database.h"
\ No newline at end of file diff --git a/Loader/Makefile b/Loader/Makefile new file mode 100644 index 0000000..058dd5a --- /dev/null +++ b/Loader/Makefile @@ -0,0 +1,15 @@ +TARGET = Loader.a + +SRCS = \ +loader.cpp \ + +SPATH = + +CPPFLAGS = -I. -I../Database -I../Database/internals + +include ../Makefile.cfg + +$(TARGET): $(OBJS) + $(AR) $@ $^ + +-include $(DEPS) diff --git a/Loader/loader.cpp b/Loader/loader.cpp new file mode 100644 index 0000000..5fece50 --- /dev/null +++ b/Loader/loader.cpp @@ -0,0 +1,2 @@ +#include "database.h" + diff --git a/Lua/Makefile b/Lua/Makefile new file mode 100644 index 0000000..27b875e --- /dev/null +++ b/Lua/Makefile @@ -0,0 +1,15 @@ +TARGET = Lua.a + +SRCS = \ +lua-engine.cpp \ + +SPATH = + +CPPFLAGS = -I. -I../Database -I../Database/internals -I../Engine + +include ../Makefile.cfg + +$(TARGET): $(OBJS) + $(AR) $@ $^ + +-include $(DEPS) diff --git a/Lua/lua-engine.cpp b/Lua/lua-engine.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/Lua/lua-engine.cpp @@ -1,4 +1,4 @@ -DIRS=externals Utils Database +DIRS=externals Utils Engine Lua Loader Database all: $(DIRS) diff --git a/externals/Base b/externals/Base -Subproject 6d1dee65d5ad695670d73bf3e162b4b6e984af3 +Subproject ecd106e68cadab41d0f0a4131e668fb251a87a3 |