PDA

View Full Version : [Tool] Poi-viewer Battle Record to KC3Kai Replay Converter



kazenorin
08-16-2017, 05:41 AM
Hey Poi-viewer users, I've made a tool that converts poi-viewer battle records into KanColle Replay compatible format (both the image and text-based loading).


Early build under development available here (https://kazenorin.github.io/poi-to-kc3-battle-replay-converter/dist)

So you just have to launch the "Battle Records" plugin on poi-viewer, choose the battle(s) you want to include and click the "COPY DATA" button:

http://i.imgur.com/AQtgY8x.png

then paste it onto the text area of the tool:
http://i.imgur.com/AYMybvI.png

You can also upload text-based/gz data directly from your battle detail log directory (located at %APPDATA%\poi\battle-detail)
Only useful if you know which files you want :kongou_wat:
Actually you can make use of the "Date Modified" column and compare it with the time stamp in battle detail.
There's a minute or more delay because battle detail's time is recorded at battle start, and "Date modified" is recorded at the end.
The order of the files does not matter, the converter would sort them for you.

http://i.imgur.com/v8p8Tq1.png

Even though KC3Kai's replay is sortie-based and poi's battle records are logged battle-to-battle,
it doesn't matter if you add one battle, the boss battle only, or unrelated battles - either way would work.

You can add multiple battles to composite a sortie. If you happen to add unrelated battles involving different fleet, only the fleet comp involved in the first battle would be shown in the fleet details on KanColle Replay. The replays themselves would be normal and work as expected.

The output of the tool is a JSON-format text that is readable by the Battle Player, and a compatible replay-image that can be uploaded to Imgur.

Sample output image:
https://i.imgur.com/wV0A6w7.png

After you uploaded the image to places like imgur, and have the image URL like this one:
https://i.imgur.com/wV0A6w7.png
You can directly like to the replay in KC3 Replayer, like this:

https://kc3kai.github.io/kancolle-replay/battleplayer.html?fromImg=https://i.imgur.com/wV0A6w7.png


The version supports most KanColle Replay features, including Combined Fleets, LBAS and Support Shelling.
The tool runs entirely on the browser (client-side WebApp) and no server-code is involved, as well as open-sourced (https://github.com/kazenorin/poi-to-kc3-battle-replay-converter). (First time making an open-sourced project on GitHub :kongou_happy:)

Let me know if you have any comments!

-------------

Update Log:


v1.0.0-alpha (2017-09-05)


Added ship icon thumbnails to the replay images

To make use of space:

single fleets are displayed in two rows, from left to right and then top to bottom (i.e. horizontally wrapped)
combined fleets are display as in the game battles, from top to bottom, main fleet left, escort on the right.


Images are loaded from this project via Github: https://github.com/Diablohu/WhoCallsTheFleet-Pics

No images are stored in this project




Added "loader animations" to let user know the application is running

Loading is solely caused by retrieving ship icon thumbnail images from the server


Version bumped to 1.0.0 because all envisioned features has been completed, entering pre-release phase.






v0.4.0 (2017-09-01)

Upload by file enhancements: now automatically reorders battle by poi recorded timestamp
Added dynamically generated template image
Support customized string for owner and caption


v0.3.0 (2017-08-25)

Fixed incorrect combined fleet interpretation: every combined fleet was recognized as CTFs before
Fixed incorrect PvP recognition: PvP was not properly recognized before


v0.2.0 (2017-08-17)

Added a limit on the data size for conversion
Added 4 images of different resolution to support differ data size
Use a slightly nicer output image


v0.1.1 (2017-08-16)

Minor UI improvements


v0.1.0 (2017-08-16)

Added support for:

Combined fleet
LBAS fleet details
Data conversion for PvP/Exercises

However KanColle Replay does not seem to support this




v0.0.1 (2017-08-14)

First working version:

Importing:

Supports copied and pasted poooi/plugin-battle-detail data
Supports poooi/plugin-battle-detail GZipped data


Exporting:

JSON String
PNG Steganography similar to KC3Kai’s


Supported KanColle Replay features:

Single-fleet battles

Including enemies with combined fleets (e.g. 6-5 boss)


Support Expeditions
LBAS
Fleet details (Single Fleet only)

211303
08-16-2017, 05:43 AM
kazenorin Thanks a lot for this. Would be much more convenient now to share my replays.

goesto11
08-16-2017, 06:01 AM
Bit off topic, but Poi Viewer related, I tried to check out Poi (looks nice), but could NOT get it to work (Win 7 x64, older PC, but serves my needs). Installed the Win x64 version several times, and all I get is a blank/white screen. Also installed the latest x64 version of Node.js (which includes npm), copied the text in the box under the "Run" section on Poi GitHub (i.e. "git clone https://github.com/poooi/poi && cd poi" & the rest) into Node.Js command prompt, and all I got was a bunch of errors. Node.Js seemed to work fine (verified version of it and npm via command prompt). Not only that, after installing Poi and trying the Node.Js part, firefox seemed bogged down. Slow or stopped responding. Uninstalling Poi & Node Js fixed that. Not sure the deal there. If it helps, got full blank screen with/without Node.Js.

I'm not a programmer type so maybe I'm missing something here Frankly, I'm not sure why the separate part with Node.Js. I guess you need to do that part again with new Poi versions? At any rate, would really appreciate some detailed "noob" instructions on how to get Poi up and running - including if I need to set region cookies (already set for KCV & EO). I did not try the x32 version, but don't see why I should need to use that.

Thanks for the help & nice work, kazenorin

kazenorin
08-16-2017, 06:04 AM
@211303 (http://himeuta.org/member.php?u=19912) Glad its useful to you :kongou_happy:

- - - Updated - - -
@goesto11 (http://himeuta.org/member.php?u=3893) You tried the pre-built version right (https://github.com/poooi/poi/releases/download/v7.9.0/poi-setup-7.9.0.exe)? Poi installs should very automated and ought to just work...

Maybe try the zipped version (https://github.com/poooi/poi/releases/download/v7.9.0/poi-7.9.0-win.7z) as well?

You don't need to install node.js unless you're developing it.

goesto11
08-16-2017, 06:28 AM
@kazenorin (http://himeuta.org/member.php?u=19368): First, thanks for the reply. Second, glad to know don't need the Node.JS so I'm not stumbling around with that. Third, I did try the pre-built (install version), but not the zipped.

Just tried the zipped version now, and finally figured out the deal. Short version, security program (3rd party - not built into Win) I've used for years, but it didn't work as it should for some reason. Had to re-do the exclusion for Poi folder. That worked for the zipped version.

Question: Assuming I should use x64 version, is the zipped version that? Can stick with zip version or try the "pre-built" win x64 version I have again. That should work (and I'll double check stupid security program if it doesn't)

kazenorin
08-16-2017, 06:45 AM
goesto11 The zipped version is the x64 version, there's another link for the 32-bit version on the releases page (https://github.com/poooi/poi/releases)

goesto11
08-16-2017, 06:49 AM
@kazenorin (http://himeuta.org/member.php?u=19368): Thanks. Wasn't sure since it didn't expressly say so. Zipped (x64) version is fine by me (prefer zip version anyway). Key thing is I finally got it to work. :kongou_happy:

goesto11
08-17-2017, 03:39 AM
kazenorin: Sorry for all the Poi questions, but no dedicated general thread for that. I tried it out a bit, but can't get it to install new plug-ins, specifically the plugin-battle-detail one. Tried the online npm thing, but the "install" button for doesn't seem to work. Clicking on it does nothing (and it's dark unlike other buttons). Maybe I didn't put in the right text or something. Tried a a few things, but didn't work. Also DL'd the plugin-battle-detail-master.zip folder, but that didn't work for the the other way to install (drop files, or select folder). Tried it zipped & unzipped.

So how do you install more plug-ins into Poi? Thanks for all the help.

kazenorin
08-17-2017, 11:38 AM
goesto11 I'm guessing that its your security software thing.

Plugins should work simply by using the poi default settings and clicking the blue install button on the plugins tab.

You might want to:
1. Run poi as administrator
2. Add %APPDATA%\poi\plugins\node_modules and/or %APPDATA%\poi\plugins\node_modules as exception in your security software (p.s. If you need the resolved "actual" path, you can "Win - R" and paste in the variable path, and file explorer would be launched there. Alternatively, directly type in / paste the path on the file explorer address bar)
3. If the above doesn't work, if you happened to have installed npm, which itself is installed with nodejs, you might be able to install the plugins manually. I'll write a more detailed instruction on this if the above 2 methods doesn't work for you.

211303
08-17-2017, 11:53 AM
I just tried to convert one of my battles, but the replayer does not recognize the pic. Loading the code itself works.

- - - Updated - - -

I get the "Error, data may be corrupted" message

kazenorin
08-17-2017, 11:54 AM
211303 The pic has to be uploaded to uncompressed sources, where did you upload it?
Also, how many battles did you include?

- - - Updated - - -
211303 The pic has to be uploaded to uncompressed sources, where did you upload it?
Also, how many battles did you include?

211303
08-17-2017, 11:55 AM
kazenorin I included 5 battles, and saved it in computer in a .png format. And then upload it directly to the player.

kazenorin
08-17-2017, 11:59 AM
211303 Hmmm, that's weird

Can you upload me that pic?

211303
08-17-2017, 12:00 PM
kazenorin http://i.imgur.com/pKS01kv.png
here it is

kazenorin
08-17-2017, 12:12 PM
211303 Seems like the battle was too long doesn't fit in a 400x400 picture :kongou_wat: (limit is slightly less than 30000 bytes)

I see that it barely did not fit the last battle...
Hmm, I tried with Spring 17 E-5's 6 battles and it worked ()... Seems like this event's E-7 have interesting battles...

A temporary solution would be including less battles in a single picture, meanwhile I'll try increasing the picture size.

211303
08-17-2017, 12:14 PM
kazenorin thanks a lot. I will just have two pic in my walkthrough then

- - - Updated - - -
kazenorin thanks a lot. I will just have two pic in my walkthrough then

kazenorin
08-17-2017, 01:41 PM
211303 I've updated the tool, it now supports much larger battles (like E-7, twice), although the image would be huge for those battles...
Also added an error if someone attempts to exceed that limit.

And the picture generated is a bit nicer now.

goesto11
08-18-2017, 01:46 PM
@kazenorin (http://himeuta.org/member.php?u=19368): I may not have been clear about my question/issue. From what I can tell, Poi works fine (I added an exception for the main Poi folder to my security software) including the default plug-ins it comes with. As you can see from the screen shot below, I've installed a few of them and then work (e.g. "prophet"). I also uninstalled node.js & npm since I shouldn't need those.

What I want to do is install other plugins, specifically the poi-plugin-battle-detail listed on this page of Poi plug-ins (https://www.npmjs.com/search?q=poi-plugin&page=2&ranking=optimal). Haven't had a chance to really play around with Poi yet (RL stuff + event and all), but so far I'd like more information (ala EO) than what I've seen presented (i.e. "prophet" plugin), and I'd think the battle-info-detail plug in would provide some of that. Whether it's translated or not - no clue. Also like to try a couple others that do not come with Poi by default.

My problem is that I can not figure out how to install any additional Poi plug-ins. Went to the poi-plugin-battle-detail npm page and typed in "npm i poi-plugin-battle-detail" into the "install directly from npm" box, but the blue "install" button to the right never lights up (clicking on it does nothing regardless of what I try. Hitting enter does nothing). Not sure if that's what I'm supposed to do there, but all I could think of.

I also went to the poi-plugin-battle-detail GitHub page, and down loaded the "plugin-battle-detail-master" zip file which is the only file I found to download. Tried using the "install plug-ins from files or drop files here" option with the folder zipped and unzipped, and get some error. Just doesn't work for me.

So how do I install additional plug-ins such as the battle-detail? I suppose it's possible it's my security software, but why would that affect the adding additional plug-ins function and nothing else?

Thanks again for the help.

http://i.imgur.com/9deMTU2.png

kazenorin
08-18-2017, 02:12 PM
@goesto11 (http://himeuta.org/member.php?u=3893) hmm... however "poi-plugin-battle-detail" is one of the default plugins... It's called "Battle Records" in poi:

http://i.imgur.com/RiPqk3R.png



(Or did I misunderstand something?)

The only other "non-endorsed" plugin I tried installing was poi-plugin-battle-replay (https://www.npmjs.com/package/poi-plugin-battle-replay) .
I did it by typing in the name in the "Input plugin package name... [INSTALL]" box.

goesto11
08-18-2017, 02:52 PM
kazenorin: Oh, didn't know that because of the name change. So "Battle Records" = "battle-detail" then? I did see the "battle records" in the default list. I'm looking for something like a combo of Electronic Observer's compass & battle screens. More than what "prophet" gives you (or seems to give from what I saw). Having a battle record is fine - I may use it as well, but not really what I'm looking for.

So to add other, "non-endorsed" plug-ins, for example, (not sure if it's in the default package or not), I would go to the "install directly from npm" box, and say type "Install plugin-airbase" or using your example "Install plugin-battle-replay", and then I can click the blue install button to DL & install? Also, I assume it works like the rest if successful. I can disable/delete like the default ones (though delete seems to not really delete from the one time I tried it)?

kazenorin
08-18-2017, 03:41 PM
@goesto11 (http://himeuta.org/member.php?u=3893) "Battle Record" does give you a lot more detail than "Prophet", it's actually a "prophet" itself, but with full details (see the screenshot from the my previous post, left hand side). Which is why I could use it to "remake" KanColle Replay battles.

I haven't tried EO so I couldn't comment on that.

And if you're to install a "non-endorsed" plugin, for example "poi-plugin-battle-replay", you type the name "poi-plugin-battle-replay" into that input box and click install.
After that, it would show up in the plugins list like other plugins.
ps. "poi-plugin-battle-replay" while installs successfully, doesn't really work for me.

kazenorin
09-01-2017, 11:55 AM
Since I'm done with the event, I've got time for an update :kongou_happy:

This new version (v0.4.0) now generates the replay image dynamically, and therefore could include details such as the time of the sortie and self-defined captions.

The new image now looks like this:

http://i.imgur.com/zf9D9YX.png

This is a Summer 2017 E7 replay, which is fairly large (probably largest to date). Smaller sorties would have a smaller image.

KC3 Replayer seems to have updated too, now supports direct loading with a URL like this:

https://kc3kai.github.io/kancolle-replay/battleplayer.html?fromImg=http://i.imgur.com/zf9D9YX.png
Change the "fromImg=<your link to the replay image here>" part and the battle replayer would directly load the image.

The replay image of this version has plenty of empty space. I'm planning to add more details onto it if possible.

kazenorin
09-05-2017, 07:17 AM
Updated again, notably the replay image now contains the ship icon thumbnails like this:

https://i.imgur.com/wV0A6w7.png

or for smaller sorties like this:
https://i.imgur.com/w1ok4zJ.png


This would probably be the last major update in a while. The tools seems to have most features I originally planned for.