mirror of
https://github.com/zeldaret/oot.git
synced 2025-08-13 18:30:35 +00:00
ZAPD update: libpng, zroom improvements and others (#811)
* git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "769f5702a" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "769f5702a" git-subrepo: version: "0.4.3" origin: "???" commit: "???" * Add `libpng` to readme * Remove `-ifp` since it doesn't exists anymore in ZAPD * Remove extra print I added * Add UNK_09 macro and other minor fixes * Simplify PNG rules * simplify gitignore * Update README.md Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update dockerfile * basic instructions for cygwin and mac * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "86160be69" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "86160be69" git-subrepo: version: "0.4.3" origin: "???" commit: "???" * Change nanoseconds to seconds in extract_assets.py Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
This commit is contained in:
parent
676ecf06c5
commit
515ebdce9d
142 changed files with 5922 additions and 14735 deletions
62
tools/ZAPD/ZAPD/ZString.cpp
Normal file
62
tools/ZAPD/ZAPD/ZString.cpp
Normal file
|
@ -0,0 +1,62 @@
|
|||
#include "ZString.h"
|
||||
|
||||
#include "File.h"
|
||||
#include "StringHelper.h"
|
||||
#include "ZFile.h"
|
||||
|
||||
REGISTER_ZFILENODE(String, ZString);
|
||||
|
||||
ZString::ZString(ZFile* nParent) : ZResource(nParent)
|
||||
{
|
||||
}
|
||||
|
||||
void ZString::ParseRawData()
|
||||
{
|
||||
size_t size = 0;
|
||||
uint8_t* rawDataArr = rawData.data();
|
||||
size_t rawDataSize = rawData.size();
|
||||
for (size_t i = rawDataIndex; i < rawDataSize; ++i)
|
||||
{
|
||||
++size;
|
||||
if (rawDataArr[i] == '\0')
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
auto dataStart = rawData.begin() + rawDataIndex;
|
||||
strData.assign(dataStart, dataStart + size);
|
||||
}
|
||||
|
||||
std::string ZString::GetBodySourceCode() const
|
||||
{
|
||||
return StringHelper::Sprintf("\t\"%s\"", strData.data());
|
||||
}
|
||||
|
||||
std::string ZString::GetSourceOutputCode(const std::string& prefix)
|
||||
{
|
||||
parent->AddDeclarationArray(rawDataIndex, DeclarationAlignment::None, GetRawDataSize(),
|
||||
GetSourceTypeName(), name, 0, GetBodySourceCode());
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
std::string ZString::GetSourceOutputHeader(const std::string& prefix)
|
||||
{
|
||||
return StringHelper::Sprintf("#define %s_macro \"%s\"", name.c_str(), rawData.data());
|
||||
}
|
||||
|
||||
std::string ZString::GetSourceTypeName() const
|
||||
{
|
||||
return "char";
|
||||
}
|
||||
|
||||
ZResourceType ZString::GetResourceType() const
|
||||
{
|
||||
return ZResourceType::String;
|
||||
}
|
||||
|
||||
size_t ZString::GetRawDataSize() const
|
||||
{
|
||||
return strData.size();
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue