Comments (6)
Yep, and there can be groups in these or groups of these too, it's a huge mess. Fixing the groups would require them to have a name at least, and then it could be cleaned up a bit but it's pretty disgusting.
I'm not really sure on a good approach for handling these as its all kind of everywhere
from lumina.
How about just parsing it into a fixed-size array, I think that's what SC does
from lumina.
You can't for groups, because a group might repeat say 20 times and have several members, which would look more like
struct BaseParam
{
uint kind;
uint value;
} params[6];
Which isn't something you can do sequentially as is without sacrificing what the data actually is
from lumina.
I think it's not too much of a problem if the groups were named, because then you could generate structures for all of them, but as is, it's kind of just meaningless
from lumina.
Double nested repeat isn't done, nor is crazy shit like this:
{
"sheet": "GCSupplyDuty",
"definitions": [
{
"type": "repeat",
"count": 11,
"definition": {
"type": "repeat",
"count": 3,
"definition": {
"type": "group",
"members": [
{
"name": "Item",
"converter": {
"type": "link",
"target": "Item"
}
},
{
"name": "ItemCount"
}
]
}
}
}
]
}
But the generator has been completely rewritten and correctly supports:
- Arrays
- Groups (needs more work but what's there is a decent start)
- Sheet references, lazily loaded
- Any combinations of the above, except groups with sheet references
- bools without returning junk
bitsets are gone and are just read by their columns now instead, easier that way
this is currently on develop, will merge into master and publish to nuget probably tomorrow or the day after once I fix a couple weird things
main thing to note: generated structs have moved to their own nuget package, lumina.generated, potentially changing namespace too but not 100% committed to that yet
from lumina.
fyi: all of these changes outlined above are available on nuget now
I'm still conflicted on whether double repeat and whatnot is even worth supporting, it's probably going to be more reasonable to manually implement those sheets as required
from lumina.
Related Issues (15)
- Item sheet fails to parse, even when generated with updated definitions HOT 2
- Some LGB files are parsed incorrectly and fail HOT 4
- Issue reading file sqpack file. HOT 4
- Should IsValueCreated reference Value instead of _value? HOT 2
- files are unnecessarily copied while being read
- Some ULD files are parsed incorrectly and fail HOT 2
- Need to develop a Lumina program HOT 1
- re: Need to develop a Lumina program HOT 1
- Recipe UnkData5 should be "ItemIngredient" HOT 2
- Pet Action Heal/Place? HOT 1
- Checksum Mistmatch
- Can't GetFileFromDisk<MdlFile>() HOT 1
- Feature request: Change FileResource.Data in custom FileResource impl HOT 3
- Broken language request for sub sheets HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lumina.