Comments (5)
I'm facing the same issue here.
C:\Users\pboutin\Documents\GitHub\RePoE>python RePoE.py base_items -f "C:\Program Files (x86)\Steam\steamapps\common\Path of Exile\Content.ggpk"
c:\users\pboutin\documents\github\pypoe\PyPoE\poe\file\translations.py:118: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
from collections import Iterable, OrderedDict, defaultdict
Loading GGPK ... Done!
Running module 'base_items'
Traceback (most recent call last):
File "RePoE.py", line 2, in <module>
RePoE.main('data/')
File "C:\Users\pboutin\Documents\GitHub\RePoE\RePoE\__init__.py", line 66, in main
translation_file_cache=tfc, ot_file_cache=otfc)
File "C:\Users\pboutin\Documents\GitHub\RePoE\RePoE\base_items.py", line 119, in write_base_items
_create_default_dict(relational_reader['ComponentAttributeRequirements.dat'])
File "c:\users\pboutin\documents\github\pypoe\PyPoE\poe\file\dat.py", line 976, in __getitem__
return self.get_file(item).reader
File "c:\users\pboutin\documents\github\pypoe\PyPoE\poe\file\dat.py", line 1066, in get_file
df_other_reader = self[spec_row.key]
File "c:\users\pboutin\documents\github\pypoe\PyPoE\poe\file\dat.py", line 976, in __getitem__
return self.get_file(item).reader
File "c:\users\pboutin\documents\github\pypoe\PyPoE\poe\file\dat.py", line 1066, in get_file
df_other_reader = self[spec_row.key]
File "c:\users\pboutin\documents\github\pypoe\PyPoE\poe\file\dat.py", line 976, in __getitem__
return self.get_file(item).reader
File "c:\users\pboutin\documents\github\pypoe\PyPoE\poe\file\dat.py", line 1066, in get_file
df_other_reader = self[spec_row.key]
File "c:\users\pboutin\documents\github\pypoe\PyPoE\poe\file\dat.py", line 976, in __getitem__
return self.get_file(item).reader
File "c:\users\pboutin\documents\github\pypoe\PyPoE\poe\file\dat.py", line 1066, in get_file
df_other_reader = self[spec_row.key]
File "c:\users\pboutin\documents\github\pypoe\PyPoE\poe\file\dat.py", line 976, in __getitem__
return self.get_file(item).reader
File "c:\users\pboutin\documents\github\pypoe\PyPoE\poe\file\dat.py", line 1058, in get_file
df = self._create_instance(file_name)
File "c:\users\pboutin\documents\github\pypoe\PyPoE\poe\file\shared\cache.py", line 214, in _create_instance
f.read(**self._get_read_args(file_name=file_name, *args, **kwargs))
File "c:\users\pboutin\documents\github\pypoe\PyPoE\poe\file\shared\__init__.py", line 192, in read
return self.get_read_buffer(file_path_or_raw, self._read, *args, **kwargs)
File "c:\users\pboutin\documents\github\pypoe\PyPoE\poe\file\shared\__init__.py", line 151, in get_read_buffer
return function(*args, buffer=file_path_or_raw, **kwargs)
File "c:\users\pboutin\documents\github\pypoe\PyPoE\poe\file\dat.py", line 917, in _read
self.reader.read(buffer.read())
File "c:\users\pboutin\documents\github\pypoe\PyPoE\poe\file\dat.py", line 810, in read
'cast_size': self.table_record_length
PyPoE.poe.file.specification.errors.SpecificationError: <ERRORS.RUNTIME_ROWSIZE_MISMATCH: 3002>: "GrantedEffects.dat": Specification row size 93 vs real size 94
from pypoe.
I've finally resolved this issue.
This is because of the difference between PyPoE specification and current ggpk file.
To resolve this issue, add two lines in the specification file (PyPoE/poe/file/specification/data/stable.py)
First key is 'GrantedEffects.dat' which cause "spec size is 93 vs real size is 94".
We need to simply add 1 byte (i added bool) in the 'GrantEffects.dat' specification like
__all__ = ['specification', ]
specification = Specification({
<... snip ...>
'GrantedEffects.dat': File(
fields=OrderedDict((
('Id', Field(
type='ref|string',
unique=True,
)),
('IsSupport', Field(
type='bool',
)),
<... snip ...>
('Data4', Field(
type='ref|list|int',
)),
('Key0', Field(
type='ulong',
)),
('hb_unknown_0', Field( # <-- I added this field
type='bool',
)),
)),
),
<... snip ...>
and after that you need add one more field in the MonsterVarieties.dat
which cause "spec size is 435 vs real size is 436". this one is same as previous one.
__all__ = ['specification', ]
specification = Specification({
<... snip ...>
'MonsterVarieties.dat': File(
fields=OrderedDict((
('Id', Field(
type='ref|string',
unique=True,
file_path=True,
)),
('MonsterTypesKey', Field(
type='ulong',
key='MonsterTypes.dat',
)),
<... snip ...>
('hb_unknown_0', Field( # <-- I added this field
type='bool',
)),
)),
),
<... snip ...>
I don't know what the 1 byte is but anyway it works :)
from pypoe.
Error trying to export Hideout Doodads.
00:14:49 Traceback (most recent call last):
File "c:\users\ruba\pypoe\PyPoE\cli\core.py", line 145, in run
code = args.func(args)
File "c:\users\ruba\pypoe\PyPoE\cli\exporter\wiki\handler.py", line 300, in wrapper
result = func(parser, pargs, *args, **kwargs)
File "c:\users\ruba\pypoe\PyPoE\cli\exporter\wiki\parsers\item.py", line 2261, in by_name
column_id='Name', arg_list=parsed_args.name
File "c:\users\ruba\pypoe\PyPoE\cli\exporter\wiki\parsers\item.py", line 2427, in _export
if not f(self, infobox, base_item_type):
File "c:\users\ruba\pypoe\PyPoE\cli\exporter\wiki\parsers\item.py", line 73, in func
data = self.rr[data_file].index['BaseItemTypesKey'][
File "c:\users\ruba\pypoe\PyPoE\poe\file\dat.py", line 976, in __getitem__
return self.get_file(item).reader
File "c:\users\ruba\pypoe\PyPoE\poe\file\dat.py", line 1066, in get_file
df_other_reader = self[spec_row.key]
File "c:\users\ruba\pypoe\PyPoE\poe\file\dat.py", line 976, in __getitem__
return self.get_file(item).reader
File "c:\users\ruba\pypoe\PyPoE\poe\file\dat.py", line 1058, in get_file
df = self._create_instance(file_name)
File "c:\users\ruba\pypoe\PyPoE\poe\file\shared\cache.py", line 214, in _create_instance
f.read(**self._get_read_args(file_name=file_name, *args, **kwargs))
File "c:\users\ruba\pypoe\PyPoE\poe\file\shared\__init__.py", line 192, in read
return self.get_read_buffer(file_path_or_raw, self._read, *args, **kwargs)
File "c:\users\ruba\pypoe\PyPoE\poe\file\shared\__init__.py", line 156, in get_read_buffer
return function(*args, buffer=f, **kwargs)
File "c:\users\ruba\pypoe\PyPoE\poe\file\dat.py", line 917, in _read
self.reader.read(buffer.read())
File "c:\users\ruba\pypoe\PyPoE\poe\file\dat.py", line 810, in read
'cast_size': self.table_record_length
PyPoE.poe.file.specification.errors.SpecificationError: <ERRORS.RUNTIME_ROWSIZE_MISMATCH: 3002>: "HideoutNPCs.dat": Specification row size 32 vs real size 40
from pypoe.
@Ruba87, that one is same as prev one
you just put ulong field (8 byte) in hideout data :D
'HideoutNPCs.dat': File(
fields=OrderedDict((
('Hideout_NPCsKey', Field(
type='ulong',
key='NPCs.dat',
)),
('Regular_NPCsKeys', Field(
type='ref|list|ulong',
key='NPCs.dat',
)),
('HideoutDoodadsKey', Field(
type='ulong',
key='HideoutDoodads.dat',
)),
('NPCMasterKey', Field(
type='int',
key='NPCMaster.dat',
)),
('Unknown0', Field(
type='int',
)),
('hb_unknown_0', Field( # <-- added here
type='ulong',
)),
)),
),
from pypoe.
Any chance to update the code for these changes?
from pypoe.
Related Issues (20)
- Error on installing HOT 1
- DDS decompression fails due to GGG having a loose sense of what a texture file is HOT 2
- TypeError: __init__() got multiple values for argument 'base_path'
- Can't export skill 3.11 HOT 1
- 3.11.1b - "Tags.dat": Specification row size 12 vs real size 16 HOT 2
- GGPK format changed HOT 1
- pypoe not working with new ggpk from 3.12.1 patch HOT 2
- RFC: Add new field type to support dat64 HOT 1
- Try to run skill export . Have "row size" error HOT 1
- this line is needless
- Can't get pypoe_ui to run HOT 3
- mod export KeyError (post 3.13 patch) HOT 2
- Issue with ggpk_viewer HOT 1
- Post 3.13 export row size error: area, map (skill, mod, monster seems fixed) HOT 9
- Anyone has experience with Terrain Graph HOT 1
- gem rounding error HOT 2
- Need to add Brotli to test_requirements.txt (or somewhere relevent) HOT 1
- 3.13 mid league row size error HOT 1
- struct.error: unpack requires a buffer of 8 bytes HOT 5
- PyPoE.poe.file.specification.errors.SpecificationError: <ERRORS.RUNTIME_ROWSIZE_MISMATCH: 3002>: "AbyssObjects.dat": Specification row size 88 vs real size 89
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 pypoe.