Jump to content
Korean Random

space.bin (CompiledSpace) - packer/unpacker


Recommended Posts

это будет довольно сложно...

Не-а.

На этой неделе сделаю наброски.

По сути - надо твой распаковщик на запаковщик поменять.

Таблицу секций только сделать и всего...

Edited by Pavel3333
Link to comment
Short link
Share on other sites

@Pavel3333, я вот думаю, что если распаковывать геометрию в JSON-файл, то его будет совсем не открыть.

Слишком много она весит... Наверное лучший вариант - под каждую секцию свой JSON-файл: BWAL.json, BWLC.json...

А геометрию можно вынести в бинарные файлы.

Тут еще и проблема с секциями CENT и UDOS уйдет, которые представляют собой пакованные xml-файлы.

Их можно распаковывать в CENT.xml и UDOS.xml. Паковать в bin будем с помощью bwxml. Хорошо бы из него pyd-библиотеку сделать...

Edited by SkepticalFox
Link to comment
Short link
Share on other sites

Хорошо бы из него pyd-библиотеку сделать...

его тогда придется переписывать на питонъ. а это очень долго и муторно. надо для начала запаковщик написать.

пишу пока.

Edited by Pavel3333
Link to comment
Short link
Share on other sites

Ннада?

Да)

SkepticalFox, ты только, пожалста, отпишись, когда поменяешь код распаковщика из того, что сейчас, в тот, который распаковывает данные в много отдельных json-файликов.

Да хоть сейчас это сделаю...
  • Upvote 1
Link to comment
Short link
Share on other sites

давай все секции оставшиеся запишем так, что они возвращают заголовок, а данные - пустая строка.

Да там не так и много секций осталось. Можно и доразбирать)
Link to comment
Short link
Share on other sites

Можно и доразбирать)

Не спорю! приступлю после переписывания распаковщика в запаковщик. а там можно дополнять :)

Не подскажешь, зачем нужен первый int после заголовка ('BWSG')? Он в распаковщике не используется.

Edited by Pavel3333
Link to comment
Short link
Share on other sites

Не подскажешь, где пользуется первый int после заголовка ('BWSG')? Он в распаковщике не используется.

Я бы больше переживал за упаковку информации о строках...

Вот там жесть со смещениями...

Link to comment
Short link
Share on other sites

сейчас будет!

у меня паковщик почти готов, сдам завтра.


Я бы больше переживал за упаковку информации о строках...
Вот там жесть со смещениями...

20 байт - одна секция. Смещение данных - 20 байт умножить на число секций. Если я правильно понял, о чём ты.

 

Если упаковать надо заголовок - просто header = bytes('BSGD', 'utf-8'). 

Edited by Pavel3333
Link to comment
Short link
Share on other sites

Если я правильно понял, о чём ты.

Не так ты меня понял.

Если упаковать надо заголовок - просто header = bytes('BSGD', 'utf-8').

Зачем усложнять?

Заголовки паковать через f.write() надо

Edited by SkepticalFox
Link to comment
Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...