ataulien / zenlib Goto Github PK
View Code? Open in Web Editor NEWLoading of proprietary formats used by the engine used by the games "Gothic" and "Gothic II"
License: MIT License
Loading of proprietary formats used by the engine used by the games "Gothic" and "Gothic II"
License: MIT License
case EParOp_ShiftLeft:
pushInt(popDataValue() << popDataValue());
break;
case EParOp_ShiftRight:
pushInt(popDataValue() << popDataValue());
break;
Shift Right does not Shift Right.
Googletest changed their default branch name from master to main. Makes it impossible to build tests.
google/googletest#3663
The ./tests/CMakeLists.txt.in need to change GIT_TAG to "main"
I was wondering if it wouldn't be better to add the capability to load VDF files to PhysicsFS instead of using a homebrew solution like it is being done now in ZenLib. This would also make it easier for people to make mods and the like, since standard archive types could be used, together with real directories.
Let me now if this would make sense, so that I could start adding the support to PhysFS.
Hi, I have an idea how to make Mds parser better.
In current design we have ModelScriptBinParser/ModelScriptTextParser with base class ModelScriptParser.
Every time someone want's to add support for new chunk-type, code has to be written twice: once for Bin, once for Txt.
Move more logic into ModelScriptParser
base class. It can be done, by introducing a new group of virtual functions, like:
virtual std::string readStr()=0;
virtual std::string readKeyword()=0;
virtual uint32_t readDWord()=0;
virtual int32_t readI32()=0;
virtual float readFloat()=0;
...
Here is a prototype, I have in my fork:
https://github.com/Try/ZenLib/blob/master/zenload/modelScriptParser.cpp
Testing: run locally Gothic2Notr, Gothic2, Gothic1, Gothic reloaded.
Test suite: https://github.com/Try/ZenLib/blob/master/tests/test_mds.cpp
(sorry, but no test-data in repo - I've had to use dumps from game assets)
Andre, welcome back by the way :)
Hello. I've written a Daedalus parser not long ago, and I wonder if there's any interest into merging it into this project.
I've uploaded the code to Hedede/Daedalus. The state it was left in, as far as I can remember:
Do you have plans to implement missing data reading? Like this one
https://github.com/ataulien/ZenLib/blob/master/zenload/zCMesh.cpp#L143
some chunks are missing, some half implemented and some are just incorrect
Some Gothic 2 worlds (see below) can not be parsed. The following std::runtime_error
is thrown:
Value name does not match expected name. Value:VISUALANIMODE Expected: CDSTATIC
The worlds that cannot be parsed are:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.