X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=src%2Floader%2FCompiler.h;h=d406bbf2c8cbf016873472941c333e961ac65812;hb=b20681c1bf555c337b15796b3910d0d48488b102;hp=7afe633afd655db4434aaf283abbb32990785084;hpb=8c8061a4f8b88410d6d93c039afe6affc4b69cf2;p=l2e.git diff --git a/src/loader/Compiler.h b/src/loader/Compiler.h index 7afe633..d406bbf 100644 --- a/src/loader/Compiler.h +++ b/src/loader/Compiler.h @@ -8,6 +8,8 @@ #include #include #include +#include +#include #include namespace loader { @@ -32,10 +34,13 @@ private: void WriteHeader(std::ostream &); void WriteExports(std::ostream &); void WriteExternals(std::ostream &); + void WriteImages(std::ostream &); + void WriteScripts(std::ostream &); void Relocate(std::iostream &); void RelocateArray(char *, int size); - void Relocate(char *, const TypeDescription &); + void Relocate(unsigned int pos, char *dest, const TypeDescription &); + void RelocateScript(char *, unsigned int); void PrepareExport(Export &, const std::string &); void PrepareExternal(External &, const Interpreter::PostponedDefinition &); @@ -49,11 +54,11 @@ private: private: const Interpreter &intp; - unsigned int cursor; - ObjectFileHeader fileHeader; std::map addressMap; + std::map images; + std::vector > scripts; };