#tooldev-general
1 messages · Page 92 of 1
I'm really happy that I managed to make some progress, been spending the last week or so on instrumentation to see what on earth goes wrong in some of my parses.
15k files, doesn't scale well to look at them one by one.
Made some tooling to look at problem points in a parse and spit out statistics on whether the bytes at that spot seemed to be floats, quaternions, small scalars, etc.
namedropping zstd https://facebook.github.io/zstd/
you can make your own dictionaries very easy
We recently moved most of our syslogs to zstd, nice middle ground of perf and compactness.
nice!
can't wait to buy this foil, I love t1 added phys
mainsites stranglehold on affixes still pretty sucky
not even with hybrids but straight up I actually almost bought this and it was just wrong
@polar island ah thanks, thats exactly what i was looking for
Is @oak arrow claiming official tradesite displays wrong tiers?
@polar island I assume it would take too much processing power to compute all possible mod affix combos for every item
what input/output would you be looking for
@chrome topaz is there something going on with poe.trade? It's over 10min behind poeapp.com
@wind garden the river's probably lagging again
well maybe he's closer to the servers or getting a faster lb node, from my point of view it's consuming stuff as fast as it can be downloaded
Some day I'll tear down my $25 Linode that just burns money on my blog container and a Discord bot.
Some day ™
It used to be the minspec that I needed, but they've done "free" upgrades since.
So it is like five times more powerful than what I started out with, but haven't gotten around downgrading it.
Digital Ocean has managed kubernetes
I used to run my own private game streaming relay on it.
for like $10-15 a month
Half-arsed something together with nginx-rtmp to get something that had way less latency than justin.tv did at the time.
Well, might've been twitch by then.
there's vultr $2.5/mo servers
The blog is a clusterhug, the software went from reasonable (albeit node) software to "we only support the previous Ubuntu LTS, lol".
So I run it in a huge multi-gigabyte container, just because I haven't been arsed exporting all the entries to a static site generator yet.
at least it's web scale
^^
oh hey I'm in a similar situation. but I did the downgrades so it's a $10 instance now :P
Probably wise, I had some historical disk needs.
I have a question is there any legal item price checking tool ?
I'm drawing a blank here, maybe someone can help... I vaguely recall seeing a tool posted to the subreddit which helped identify specific affixes that would improve your dps... does anyone know what I'm talking about, or was this a fever dream?
62 votes and 65 comments so far on Reddit
Hmm... some of that looks familiar... If nothing else it give me a place to start, thanks!
I was kinda wondering if it'd be possible to put something together that could, without leaving the game, give you an idea of how an item would affect your overall dps and stuff, maybe offer crafting suggestions or whatever...
@worthy cape speaking of zoom https://news.ycombinator.com/item?id=20387298
@simple ravine Just saw your RAM screenshot. That's childplay. Took this one a week ago. https://cdn.discordapp.com/attachments/142065429899247616/596768625071751190/unknown.png
its an in-house scripting tool. I was building a game world
Ah
Next computer will definitely consider having 128 GB
but I want to do some research on whether DDR5 is on the horizon or not
@jade adder this what u sended is legal to price things ?
i dont want to get banned or sumfin
Wrong jeff
Yeah it is legal
Illegal tools would be the ones that make more than action per one button press
Trade macro doesn't really do anything with the game
It just copies item info with Ctrl+C and after that it works with 3rd party websites
Oh ok , it gonna be really helpfull cuz im new here and i have no clue how to trade stuff without knowing prices
is this one good one aswell ? https://www.poeprices.info/query
i mean it works ?
since i dont want to be bad person which destroys selling prices somehow thats why im asking too
Thank You
Hi lads, i have a question about the public-stash-tab API. In the response, each Item has an Id. The explanation for this Id on the official documentation is "item id, will NOT change if you use currency on it". My question is, however - Does an item maintain it's ID if it's listed by different sellers, or in different stash tabs? For example: I list a Headhunter that has Id 10. Then i remove it from my public stash tab, trade it to someone, and he lists it in a public stash tab. Will that specific Headhunter still have Id 10?
(learning F# and hoping to write a small app that tracks people flipping items, basically watching if the same item is re-listed by another account within some timeframe)
TLDR: does "id" on Item response back from public stash tab API maintain the same Id if the same item is listed by different people?
it's different for different sellers
Oh, well, then that's sort of a dealbreaker for my project 😃 Thanks for info.
I reckon it's still possible to do, with severe limitations - basically only for items that have rolls, you can compare those. Of course. this would be majorly inaccurate, as sometimes you have people with items with the same rolls, or perhaps the item was rerolled with a divine orb. But to some degree it'd be possible to see if someone listed an item, and then if that item with exacly the same rolls is re-listed by a different account within some timeframe.
A bit more complex though than just going with an item's Id :-p
that's pretty much why they made it change so you can't track ppl
Did it ever not change btw?
@polar island can u go sha256-hash all items with their mods and name, and see how many collissions there are?
all items with mods that is
🙏 😄
sounds like a plan!
my gut feeling says there would be quite few collisions actually
if you factor in name, baseItemType, itemLevel and stats with their rolls
maybe... the reason why I might not factor that in, is if you would want to track if someone took an item, and 6-linked it
problem would be uniques, guess one would have to take those out of the equation
for me it's moot anyways, I think. my use-case would be to identify people who snag up items for cheap and quickly re-lists them for higher price
cue: dangerzone
a trade helper is actually one of the functions I'm working on with my app
trade helper and trade/item macro combined, because I want to make sure an item is sold for the right price
and some other nice things
Got the structure of fmt figured out the other night. Gonna start rendering some geometry later. \o/
Seems like a subset of smd, static meshes mostly
Ok, so non-rigged things?
Many projectiles and greeble, many doodads
Pretty much
There’s some fields I have blocked out but not figured out the meaning of yet so they may be slightly more expressive.
I think someone figured out before, for the rigged stuff. I think I have Malachai as an obj file somewhere
There was a website a couple of years ago that listed models from PoE
Yeah, chuanhsing has some format specs too for smd but it’s not fully mapped iirc
Got a decent parse out of those already but am lacking a bit of the effect stuff needed to make them go
Sprint goal is to get at least geometry out of fmt so I can do arm rooms justice
Or so I hope
Kind of
An ARM is a larger square grouping of tiles, an area is made up of a bunch of ARMs in a graph stitched together.
A hideout area has a single big premade ARM
So it's for areas, the one that they generate the layout from?
I think I saw some random generation for tiles/areas demonstrated at GDC
With some effort, sure
I also have an OpenGL testbed with Dear Imgui to look at things
Gonna work on this when I tire of playing the actual game tonight 😃
😃
Currently at mAx stuffing my face with burgers
Would be cool to export the 3d art weapons etc
A lot of the ground art for weapons are fmt, for example
Not sure about held ones, probably too
@worthy cape You might find this interesting: https://github.com/Tzeentchful/transmute
Ooh.
it doesn't seem to convert them properly though, it seems
trying to load them into Cinema 4D now, they are eh.. not looking right
Heh.
This should be a single 16-bit count of submeshes.
They also have missed that if there's more than 0xFFFF indices, the indices are suddenly 32-bit ints.
It could not parse Starforge correctly
Ah so that is the same for both fmt and smd?
or have you messed with smd as well?
I begun with SMD, so have all those fully loaded.
Reasonably straightforward, apart from the quirks.
It's easier to write than to read, as there's some stuff like how triangles have separate indices for positions/texcoords/normals.
ah seems text based
And how negative indices index from the back of the collection read in thus far.
yeah tried with both zBrush, C4D and Windows 3D thing
none could open that Starforge properly
Which file did you start with?
looks like it has huge (incorrect) positions on some vertices
There is an .fmt for it as well
Unsure what the difference is between the two though
.smd file is 34kb and .fmt is 31kb
This seems to be bailing out on negative values for the U component of texcoords.
you do know your 3D stuff!
The geometry in both the SMD and FMT has the same number of vertices/indices.
FMT file has some optional fields with values I have not quite yet figured out.
wonder if it's a new format they're using, or if it has a separate use
SMDs are typically coupled with a corresponding .ast for the skeleton and animations.
hmm, so it's after the model stuff, but before the string table?
And a .sm for the material mapping.
FMTs have three sections of unknown information, one between the submeshes and indices, the other two between the vertices and the string table.
I've called then d0, d1, d3 in my spec.
The last one is coolest, it seems to have some leaked memory contents in a fixed-length field. 😄
SMD stands for "SkinnedMeshData" by the way, according to the SM file.
yeah, chuanshing listed the formats: https://discordapp.com/channels/174993814845521922/175290321695932416/438186912948420608
but .fmt wasn't in there at that time
Are they all 8 bytes, the 3 unknown pieces?
See d0_t, d1_t and d3_t there.
Types inside are my best guess as to what seems to parse out well.
A header of four bytes. They're the counts for the later blocks.
Aye.
oh wait, if i read this right, it can be 0 - N of those 6 bytes
There's d0 number of those 6-byte blocks, yes.
then there's d2 that is unknown still yes?
It has always been 0 in all the 15k files in the current GGPK.
ok, so likely a terminator?
So it's either an unknown kind of block count, or d1 is actually an 16-bit count.
As d1 has been large in some files, it's probably a 16-bit count but I can't tell with the current files.
ok
well that makes more sense than a terminator there now that i think of it
heh
Everything's there for a reason, except the things that are just there to mess with me.
Like the constant "0x4" in the middle of SMDs.
so, the same as the version of the fmt?
oh in smd
hmm
well, either way I am impressed you figured this out
😄
what kind of dev job do you do at your job?
Current job is sysadmin at a HPC centre, primary task is compiling third party scientific software for our researchers.
So a lot of smashing my face against build systems and compilers, fair bit of debugging when it explodes.
Before that, a disturbing interest in C++ and gamedev.
You're the unsung hero with other words
Getting a bit tired of it, as there's always something broken.
Would be kind of fun to try my hand at actual software/game dev, where you build novel things and have some actual ownership of source code.
I started fiddling with game file formats as I had done a bunch of renderers but never managed to make any assets, so I figured I'd look at how existing professional assets looked, and figuring out how to render them right.
You interested in the artistic side of it as well, like 3D modelling etc?
Nah, completely incompetent at that, and I can't really understand how people can operate Maya/3DS.
I've dabbled in 3D Studio since I was a kid, but not an artistic bone in my body.
Anyone know if the poe.ninja JSON API provides pagination support? Like, being able to query for a range of Base Types in a large list of them?
https://poe.ninja/api/data/itemoverview?league=Legion&type=BaseType <-- this is the API endpoint for Base Types in Legion Softcore, and it's quite a massive (6 MB) response to process all at once.
currently trying to look into my own pagination solutions to display a partial list of these items on an Android device
@worthy cape Nice, you export that to obj or in yout opengl thing?
That's just directly in my viewer.
ok
@simple ravine https://zao.se/~zao/poe/meshes/StarforgedEdge.obj
Loads in Win10's 3D Viewer, thus it's perfect 😛
ooh nice!
I even managed to emit submeshes, seems like this mesh has two identical swords, one slightly smaller.
So probably a effect layer or so.
Ah yes, Art/Textures/Items/weapon/swords/uniques/StarForge/StarForgecns.mat and Art/Textures/Items/weapon/swords/uniques/StarForge/StarForge_glowc.mat
I haven't even started on material files yet.
Those are key-value files tho, so reasonably easy to go to textures.
Nothing I have code for currently of course, but familiar.
this is badass 😄
my urge for all of them intensifies 😄
@worthy cape Can you try the poe logo ones?
Do you have filenames?
Art\Models\Misc\PoE logo
Art\Models\Misc\PoE logo stand alone
Art\Models\Misc\ggglogo
looks like transistor art
I only export fmt currently, so SMDs are off-limit 😃
Seems like the handedness is off, file is mirrored in 3D Viewer.
hmm there seems to be some rotation issues with that one
I export the coordinate system as-is, PoE's is a bit weird.
ah, I had flip z axis on
@velvet fog Do you have anything that takes models and converts them to objs?
ya, same as zao, convert smd/sm/mat to obj/png/mtl
would you like to share the thing, so I can try to convert some things?
How would one convert this to .obj?
just wrote some php code to test the smd
Right. I'm just unfamiliar with the formats.
does anyone know how the hover effects in the forums work?
which "hover effects" -- like on items?
yeah nvm figured it out. thought it was a pure css thing but there's some js code to handle it
they use js to render DeferredItemRenderer
someone should make a chart of the % of scammers that have korean character names
guarantee it would be > 50%
has anyone ever attempted some kind of scammer list? Seems like an incredibly daunting task with huge holes for abuse
scanning the account names for characters seems like the literal easiest part of that
Many wanted to but it seems like a bad idea all in all. Most scams can be avoided by checking the item in the trade window. Only selling hideouts is really prone to scamming as is bossing.
https://poedb.tw/threejs/?_=Art/Models/Items/Weapons/TwoHandWeapons/TwoHandSwords/uniques/StarForgeDrop_4e4302bc
seems smd script runs again
Art/Models/Items/Weapons/TwoHandWeapons/TwoHandSwords/uniques/StarforgedEdgeDrop.amd
Art/Models/Items/Weapons/TwoHandWeapons/TwoHandSwords/uniques/StarforgedEdgeDrop.ast
Art/Models/Items/Weapons/TwoHandWeapons/TwoHandSwords/uniques/StarforgedEdgeDrop.sm
Art/Models/Items/Weapons/TwoHandWeapons/TwoHandSwords/uniques/StarforgedEdge.fmt
Metadata/Items/Weapons/TwoHandWeapons/TwoHandSwords/uniques/StarforgedEdge.ao
Metadata/Items/Weapons/TwoHandWeapons/TwoHandSwords/uniques/StarforgedEdge.aoc
Metadata/Items/Weapons/TwoHandWeapons/TwoHandSwords/uniques/StarforgedEdgeDrop.ao
Metadata/Items/Weapons/TwoHandWeapons/TwoHandSwords/uniques/StarforgedEdgeDrop.aoc
FixedMesh
{
fixed_mesh = "Art/Models/Items/Weapons/TwoHandWeapons/TwoHandSwords/uniques/StarforgedEdge.fmt"
}
SkinMesh
{
skin = "Art/Models/Items/Weapons/TwoHandWeapons/TwoHandSwords/uniques/StarforgedEdgeDrop.sm"
}
file extension counts
[fmt] => 15310
[sm] => 18278
Starforge ItemVisualIdentityID is UniqueTwoHandSword12 and point to Metadata/Items/Weapons/TwoHandWeapons/TwoHandSwords/uniques/StarforgedEdgeDrop.ao and effect file Metadata/Items/Weapons/TwoHandWeapons/TwoHandSwords/uniques/StarforgedEdge.ao
theyre so low poly, it's quite hard to do something with it
@simple ravine Found the rig for Raging Bees last night, 32 bees á 888 tris each 😃
haha
would you like to share how you convert them to obj?
I have a strong urge to test a few things
In short, print out v for positions, vt for texcoords, then emit a bunch of f 1/1 2/2 3/3 faces with 1-indexed indices.
If you're asking about my actual tool, it's part of my poe-rs library, in glorious Rust.
yeah, i was looking for something that I could compile and run 😄
@quaint pulsar wrong channel. go to #1┃after-acts-help
The best tool was inside you all along.
@simple ravine Glued poefind and poeconvert together with some shell script, got a 2 gigabyte pile of .obj files now, with no warranty attached 😛
Coordinate system is the original one, so you may have to rotate/flip them to match your conventions.
thank you very much, sir!
cargo run --release --bin poefind -- --ggpk Content.ggpk '*.fmt' | xargs -d'\n' cargo run --release --bin poeconvert -- --ggpk Content.ggpk -t obj
The power of UNIX 😛
Rust build system.
They've got a shipping theme going on, cargo is the tool, packages are crates.
By the way, I've been using VS Code's Remote (over SSH) functionality recently for this proejct. It's super awesome.
Building and editing remote source on the powerful Linux machine in my kitchen.
nice, so you can sit in the couch with a lightweight thing, and use your desktop?
So transparent that I forget it's not local.
Kind of, using my living room desktop and running on the server-like machine in the kitchen.
Kitted out a Ryzen with a lot of memory to do builds on, 16 threads with 64 GB mem.
I have never thought of using the kitchen for "server storage"
I will have to see how the 'government' in the family thinks about that 😂
I've got some wooden shelving and old repurposed desktops and small business servers there, for quietness in the rest of the apartment.
^^
looks like a lot of the details are in the textures
they use really low poly counts
Does Cinema4D understand DDS textures by the way?
Considering how small things are on screen most of the time, it kind of makes sense.
Small triangles hurt fillrate.
I dont think so. DDS is DirectX shaders iirc
DDS is a texture format that can either contain uncompressed images or block-compressed DXT/BC formats.
Including mipmaps.
I used imagemagick to convert the DDS to PNG after extracting from brotli
c4d and render engines understand mipmaps though
Is the art 7z contains .mtl?
No, just .obj files.
only obj
If one would want to do it right, one'd export to GLTF or some other reasonable container.
trying to support 3d viewer for every uniques
It wouldn't be impossible to generate materials, I just haven't bothered parsing .mat files nor figuring out how the mapping goes from item to sm/smd/fmt/mat.
Saw you posted something overnight about how it's organized, noted that down.
Itemvisualidenty.dat contains .ao, .ao point to .aoc contains .sm, .sm contains .smd/.mat, .mat contains .dds
are there any smoothing group information in the files by any chance?
There's probably normals in there somewhere, and the optional blocks may contain smoothing groups I guess.
I just export positions/texcoords currently.
There are some unknown flags and floats
GGG updated the prices of currencies on their trade 😮 (111chaos items is no more after an item at 1ex)
Has there been someone who's updated MercuryTrade to be less buggy?
some/all messages won't show up
@earnest radish I think @compact isle has some fingers in the forum jar.
RabbitMQ+STOMP plugin behaves strangely. Dead connections appear and the service assumes the user is still connected. Keep alive, heartbeats are useless.
@earnest radish I think Novynn does that type of thing
@simple ravine There's some weird mechanical bits on her arena as well.
uh no we can't do that @earnest radish because the site is still in English if you access the post in that way
maybe jus a div tag with a language denotation so our #ggg-tracker doesn't flood with the same post?
that's more along something we can do
does it still scrape /account/view-posts?
I'm more interested in how it gets the link to that page
if it scrapes surely it can check the parent forum of the thread (breadcrumbs)
although if new ones get added it'd have to be updated
I was thinking that too but some forums have text ids (like news) so you wouldn't be able to tell the language just from that
also all the other classes have ids https://www.pathofexile.com/forum/view-forum/marauder
I guess the non-www language sites have different mapping for id because the binding isn't quite 2-way
yeah it can be changed per language or not be set at all
seriously? new patch and client.txt logging STILL isn't fixed?
how hard is it to fix a logger?
I think the whole thing with Korean players spamming trade messages is directly related to their messages being ignored by trade overlays
you mean the intentional filter for kakao players?
^ it isn't a bug
wowwww
so players with non-korean names that don't get logged either are likely korean players that chose english character names?
well that's unfortunate
should be highlighed somewhere more clearly
lot of people still don't understand that fact
that's fine, for garena, they remove accountName from API for unknown reason
we read the rss feed provided by gggtracker.com
this precisely https://www.gggtracker.com/rss
https://poedb.tw/model?id=Starforge
id could be
- unique name
- item name
- monster name
know bugs
- can't handle multiple mtl
- can't find smooth groups
- can't find normal vertices
- can't find transparent values
Neato
I’ve seen that some mat files embed a whole fxgraph JSON. Those will be “fun”.
waiting for 4.0 where they add physics and chaos orbs roll away from you
and fall off the edge of the map in glaciers
Feels like TQ then - nice
do you happen to know how far 441112296-457481068-431146867-494240075-469049006 is from the head of the river?
I've been crawling the river for the last 20 hours and there's no end in sight still
ty
new version of .mat files and it's json format
https://poedb.tw/model?id=Fractal+Thoughts
model is mirrored ...
@velvet fog Well, the game's handedness may differ from your WebGL viewer?
What mat files are you seeing that aren't the regular space-separated key/values structure?
Only JSON I've seen is in the "Graph" values.
Art/Textures/Items/armour/helmet/FractalThoughts/FractalThoughtsc.mat is brotli compressed and is version 4 with json
{"version":4,"textures":[{"filename":"Art/Textures/Items/armour/helmet/FractalThoughts/FractalThoughts_normal_DXT5.dds","format":"DXT5","sources":[{"filename":"Textures/Items/armour/helmet/FractalThoughts/FractalThoughts_normal.png"}],"count":1},{"filename":"Art/Textures/Items/armour/helmet/FractalThoughts/FractalThoughts_colour_DXT1.dds","format":"DXT1","sources":[{"filename":"Textures/Items/armour/helmet/FractalThoughts/FractalThoughts_colour.png"}],"count":1}],"defaultgraph":{"version":1,"overriden_blend_mode":"Opaque"},"graphinstances":[{"parent":"Metadata/Materials/DielectricSpecGloss.fxgraph","custom_parameters":[{"name":"AlbedoTransparency_TEX","params":"'Art/Textures/Items/armour/helmet/FractalThoughts/FractalThoughts_colour_DXT1.dds' DXT1 Wrap Wrap 1 "},{"name":"NormalGlossAO_TEX","params":"'Art/Textures/Items/armour/helmet/FractalThoughts/FractalThoughts_normal_DXT5.dds' DXT5 Wrap Wrap 0 "}]},{"parent":"Metadata/Materials/Utility/TWEAK_Gloss.fxgraph","custom_parameters":[{"name":"Gloss_MULT1","params":"1.100000 "}]}]}
wtf, why did my parser not fail miserably on that?
Oh... if let Some(text) = crate::util::vec_to_utf16(file.contents()) {
All the v4 ones parse cleanly as JSON, that's nice.
my smd parser can't reach end of file, ex: Art/Models/Items/Armours/Helmets/Uniques/FractalThoughts/FractalThoughtsDrop_a23885e2.smd stop at file position 35060, but the filesize is 35092
Hrm, I make it to 35068. Got to look at that later.
Never was quite sure about the tails of those files, particularly not when the u32 was 3.
any correlation with number of objects in the file perhaps?
Possibly, haven’t done any large scale tests yet, format spec is from previous runs.
There’s an unknown large byte up there, a shape count, a 2/3 at the bottom and then just usually a ton of zero bytes.
isn't there standardized formats for this?
Not really
There’s formats for interchange like FBX, Collada, to some extent GLTF, but they are all primarily meant to represent whole scenes with all sorts of geometry and metadata between creation packages. The closer you get to runtime, the more special purpose you get with more and more structure implied by the engine.
It would have been easier if there were some more structure to sync against but the game itself doesn’t really need it, it already knows the format and any tags outside of the version would mean they either ignore it or have to branch and care.
Dealing with cooked data means that you can make some assumptions about what data means, as it tends to have a rather direct use in the game as otherwise it would not be there. Geometry data is in the right format for uploading to the GPU as is directly from file and that limits us to the types that shaders typically consume like floats, half floats, unsigned bytes.
right, you dont want branched code in those places
needs to go in and out without a lot of ifs and buts
@compact isle when I click any page on official site, it redirect to https://www.pathofexile.com/game
did you get logged out?
ya, but when I click https://www.pathofexile.com/ it redirected too
try different browser
yep I can't reproduce here, what kind of browser / platform are you on?
https://www.pathofexile.com/ will redirect to https://www.pathofexile.com/game if you're not logged in
@velvet fog I did a tally across all SMD files, I'm missing huge chunks at the end of some, to the tune of 25 KiB on the largest.
(Art/Models/MONSTERS/ShaperCthulhuBoss/ShaperCthulhuBoss_armour_8d762861.smd)
Mystery header count doesn't really correlate 😦
You know what would be cool, if trade macro took all your public stash tabs, and then looked at your character sheet, and gave you a rough value of your net assets.
interesting! had no idea it existed... awesome! thx!
are there any 'core' mods/tools that boost the QoL of POE at all?
there is nothing that modifies the game, only overlays that interact with the game client
most notably the poe trade AHK macro
most other tools are external tools
yea i meant in the way of UI simplification, layouts and such
had finished .fmt parser too
Can someone please explain what the river is that gets mentioned further up?
@limpid helm https://www.reddit.com/r/pathofexiledev/comments/66pdlo/my_first_trip_into_the_public_stash_tab_api/
ahh perfect. Thanks @velvet fog
@pseudo ocean UI modifications aren't allowed
Oh really? the UI could really stand for some cleaning up and stream lining 😦 Ok well thanks for the information
something like https://www.reddit.com/r/pathofexile/comments/8nbvas/zone_layout_and_gem_pickup_overlay/ is allowed though
or https://www.reddit.com/r/pathofexile/comments/6rujkn/mercurytrade_1016_overseer_feature_and_other/
yeah, very clean 😉
Started getting some foothold in the SMD trailer, it seems to all be small u32:s or f32s, round chunks of four, and a lot of them are four f32 and one u32.
I wish I could web dev. Debug output from my code is 33 megs of <ul> and <table> 😄
Got the block structure of the v2 SMD footer outlined, v3 is half-done.
@velvet fog @simple ravine As far as I can tell, I've determined the block structure of the tail of the SMD files - https://gist.github.com/zao/eca5abf41da7c15bedca9706e06b77d0
I haven't mapped out the meanings, but it seems to be skeleton-like.
ah
@worthy cape great, thanks
Is there a working version of LichAlert? (script that say is it abyssal depth with boss or not)
as far as I'm aware they removed the line from the log that lich alert read
Yea nvm, just checked its 'You have entered Abyssal Depths' now in any situation
@hard bone You can still look at the loading screen and listen to the music, I believe.
I had redownload poe last week and my Client.txt just stopped logging the zones. The only "You have entered...." append happens on login. Anyone Experiencing something similar ?
ehm If you turn off Local Chat ingame, this situation happens.
@eternal valley Who is that directed to?
someone needs to update poe trade macro to support a different indexer
it'd ridiculous that we're this far into a league and it still takes 30+ minutes for an item to show up in a price search
when the same item shows up in leave search after only 2min
@wind garden Which site are you referring to as being slow?
poe.trade
xyz always passes off the issue being due to the public stash api being slow
and yet his own live search sees the item after 2min but it doesn't get fully indexed for 30min
if you're talking about non live search that's a completely different question
when you complained about slow search I figured you meant live search not normal search
no, i mean non-live search
that's what affects people messaging me hours later for an item that's been sold
that said, for normal search it should take ~5 minutes from the live search
well, you have to specify it...
if you're getting messages hours after, then it's almost certainly a problem with the api
so you have to complain to ggg
What he's saying is that other's milkshake is better than yours, @chrome topaz
could you use a tool like that to take a search from one site, and translate it into a url for another site?
Anyone know if there's some sort of monitoring dashboard that uses the Client.txt output?
Like an secondary screen UI that renders the events, or a web thingie?

I'll take that as a no
like events over time
found this, https://github.com/briansd9/exile-diary at least it's something
oh lord that's some janky stuff
@simple ravine I have to confess, I copy-pasted code from w3schools the other night. I feel filthy.
is that site still around? 😂
Whenever I forget to install the extension that filters it out from Google searches, yes 😄
Needed a tree-view for my SMD tests, and their janky JS over <ul> was the least horrible thing I could tolerate.
there ought to be a css-only way to do that
binvis.io is kind of neat, kind of the kind of tool I'd want to have.
Classifies bytes of binary files and draws them as a space-filling curve with hovers to see the hexdump.
You can at a glance see some block patterns (this one is drawing every other line in reverse) - https://i.imgur.com/6XJjXt1.png
sure looks fun, but not sure what actionable intelligence it presents
that sort of thing can be a useful tool for guessing at the nature of a binary file -- spotting overall structure, likely entity sizes, a rough guess at entropy
Strange thing with Koreans Client.txt logging, the last few hours it resumed (and it finally allowed me to sell some maps without pain), but now it's gone again...
no there can be no such coincidence
was 10+ trades per minute
all was caught by companion
There could be such a coincidence 😛
not sure if this is the place to bring it up but, are there still a lot of uniques not in PoB yet? cause I noticed Wreath of Phrecia isnt implemented yet
@wary fern last update of these uniques was 5 month ago https://github.com/Openarl/PathOfBuilding/tree/master/Data/Uniques
ah, I see, thanks
@earnest radish poeskilltree.com has Shift-click on jewel slots and nodes to add timeless effects.
Links get huge, but hey 😃
Sooo er i had some anti virus react to trade macro, mouse stopped responding and character started moving on it's own. It was located in the merge_trademacro folder
99% sure it was the first github link that pops up when you google the macro
file my anti virus linked at was Merge_TradeMacro.ahk
delete the antivirus
Nah, considering the fact that after the warning my mouse didn't respond to me, and it acted on it's own it seemed pretty well warranted
delete the mouse
well isn't this useful
i've never had an issue with the macro or that file, so either your anti-virus is acting up, you downloaded it from the wrong place, or something else happened
can't help much more, maybe check the github page in the issues section and see if its happened to anyone else?
Wild guess, you have actual other malware that infected your AHK files. Github repo hasn't changed recently.
Looking at the source by the way, the trademacro updates are fetched over https, so low chance of it being a MITM either.
lol they're still wanting to buy my sword... what's up xyz?
the best in this server
Something like this would be a nice start
#SingleInstance, Force ; Force only one instance of the script at once
items := ["First item", "Second item", "etc"] ; Create an array with our items
index := 0 ; Index starts at 0, will be increased by one on every key press
F2::
index++ ; Increase index value by one, so we can get next item on every key press
if (index > items.Count()) ; Resets back to one if we reached the last items in the array
index := 1
Gui, ItemName:Destroy ; Destroy the GUI if it exists already, to make a new one
Gui, ItemName:New, +AlwaysOnTop +ToolWindow -SysMenu -Caption -Border +E0x08000000 ; Creates the new GUI
Gui, ItemName:Font, S10, Segoe UI ; Sets the font as Segoe UI size 10
; +AlwaysOnTop means it will always be on top
; +ToolWindow -SysMenu Removes the task bar button for the GUI and removes the
; -Caption remove the gui title bar, so it only shows our controls
; -Border removes the gui borders
; +E0x08000000 makes it so we can't activate the gui by clicking on it, is you click on the gui it won't focus its window
Gui, ItemName:Add, Text, hwndhTEXT_ItemName BackgroundTrans x0 y0,% items[index] ; Adding our item text
Gui, ItemName:Show, x0 y0 AutoSize NoActivate ; Shows our gui
return
(for items.Count() to work, make sure that your AHK version is higher than 1.1.29.01)
I'm getting offers to buy items that were sold almost 8 hours ago
yeah it broke pretty badly
Best thing about running a service is that you get to keep all the pieces when it breaks.
@earnest radish well, only poet.trade was unable to remove sold items from my stash tabs. Both poe.com/trade and poeapp.com removed my items after they sold. My items were indexed for more then 8 hours after they were sold on poe.trade
The only upstream about that is his hosting provider, I guess?
is there a way to limit price on poe.com/trade by setting max price to 2 exalts and still get results priced in other currency? say 100 chaos listings and so on
equivalent price
no, yesterday it broke on my side
Huh, someone apparently made some Java tool that flails the mouse around and OCRs timeless jewels. Cute.
If it was one of you people, you're brave for touching OCR, so much pain.
i tried to for atlas progression but it didnt work nicely at all so i abandoned it 😄
if youre above 1080p it doesnt work either way if its the same thing i think of
ya, 3440x1440 and 2560x1440, wouldn't work
i saw it, and wasnt a big fan of the solution, or stack
python and java
Back when I played Elite Dangerous, there was a game assistant website whose primary data source was people feeding market data and stock amounts via analyzed screenshots taken when they landed on stations.
Even with the extremely limited types of goods and well-defined font, it was extremely brittle and needed training/tuning whenever you changed your resolution and sometimes when you came to new types of stations.
Kind of quaint, I think Frontier eventually exposed market data via an API in the end.
ooof
I think they might only update the datapoints on player arrival so it still would require visits, but so much smoother for something that players did anyway.
@simple ravine Been deep-diving into PoE materials by the way, they're rather expressive 😃
what do you mean expressive?
Materials can contain and refer to "effect graphs", which are like the node-based material editors you might see in Maya or other DCC packages.
hmm interesting
I have never used Maya, but I'm guessing that's likely what they use at GGG
With noodly wires between boxes that do operations at different phases of rendering, so you could have a modulation box that jiggles UVs based on a distortion texture, all artist-driven.
I've used 3d studio max (3ds max) and Cinema 4D though
not sure if 3ds max has those effect graphs
Ah, everyone is going that route
it's pretty nifty actually
both Arnold and Redshift implements the same thing, Arnold being from Autodesk
From my side, I'm going to have to generate a ton of shader variations to handle all the possible cases, and never be sure if I've missed some rule.
Are you sure it's worth it? 😄
Probably way past the point of keeping sanity by now.
😂
Also trying to figure out TDT tile definitions, and way more.
Every format I touch leads to like four more.
I'm doing simpler type of work heh
working on a parser combinator for logs
making a desktop app
because I am not happy with the current tools I am using
I'm amazed whenever I realize that I could literally just make tools to solve problems I have.
"just" tho
key part is that, "just" hehe
I think I am on my 3rd iteration of .dat parser etc
because yeah
I currently do arm, dat, dgr, fmt, ggpk, mat, rs, sm, smd, tdt, tsi.
In varying amounts of completion.
nice
Every day straying farther from the "I just want to draw hideouts" goal, could probably scope it down by doing everything in plain whitebox materials and ignoring animated doodads, transparency, etc.
But it's also fascinating to infer how all the pieces fit together in a shipping game.
Project management - my forte 😛
Regarding the seventh level, we have a portable ||coffee machine|| UPS at work.
public class WhisperTests
{
[Fact]
public void IncomingWhisperParsesSuccessfully()
{
var str = "@From <-BRO-> DivineZenSlaysThings: does this work?";
var parseResult = Whisper.Parse(str);
Assert.True(parseResult.Success);
var whisper = parseResult.Value;
Assert.Equal("-BRO-", whisper.FromGuildTag);
Assert.Equal("DivineZenSlaysThings", whisper.From);
Assert.Equal("does this work?", whisper.Message);
}
private static readonly Parser<char, char> Lt = Char('<');
private static readonly Parser<char, char> Gt = Char('>');
private static readonly Parser<char, char> Colon = Char(':');
private static readonly Parser<char, string> GuildTag =
AnyCharExcept(new[] { '>', '<' }).
ManyString().Between(Lt, Gt);
private static readonly Parser<char, string> FromCharacterName =
SkipWhitespaces.Optional().
Then(
AnyCharExcept(new[] { ':' }).
ManyString().
Before(Colon));
private static readonly Parser<char, string> MessageString =
SkipWhitespaces.Optional().
Then(Any.ManyString());
private static readonly Parser<char, WhisperEntry> Whisper =
from _ in Char('@')
from __ in String("From ")
from tag in GuildTag.Optional()
from charName in FromCharacterName
from msg in MessageString
let guildTag = tag.HasValue ? tag.Value : string.Empty
select new WhisperEntry(charName, guildTag, msg, true);
}
hah nice it works
doesn't look like it makes much sense with just one combination, but it'll make more sense when more combinations are introduced
FadeByTime.fxgraph - https://i.imgur.com/KwQGlqK.png
(the arrows are between input and output ports on the nodes which I haven't drawn yet, but the gist comes through)
The names actually hints us to something interesting... there's probably vertex colours in the mesh data.
ever seen Quartz Composer?
can't recall the developer's nickname here, but it looks like you got a memory leak
free memory is wasted memory
leaked memory is also wasted memory
At least it's used
I love how I completely misunderstood the new hideouts. I saw rooms named like hideout.arm, hideout2.arm, hideout3.arm and assumed they were old master-based hideouts with Small/Medium/Large variants.
Turns out that I had happened upon the fancy new multi-room hideouts and their sectors.
^^
Incidentally, this means I've got to actually care about roomsets and topologies after all.
hay, i made a simple script dumping all poeninja prices to single spreadsheet, helps a lot in farming sessions, what kind of improvements/automation/options would you guys like to see there?
(ping me if i won't respond in an hour because i might just forget i've send it here)
i'm working at PoE item parser to automate filling prices in custom spreadsheets, but it's not as easy as i thought
is there any open-source parser for copied item data? or should i just dig into trademacro code to see how it recognizes items>?
13 minutes difference between non-live search listings
what I don't get is the poe.trade listing on the right, JUST showed up
but it says listed "12 mintues ago"
but it obviously had the listing 12 minutes ago
it just didn't show it for 12 minutes
is it that far behind processing the data?
his stuff is prolly on fire again 🔥
idk
I get when things are delayed at launch and a few weeks after
but we're half way through the league
and it's just as bad as it was a month ago
however, now it seems its not GGG at fault
perhaps xyz scaled back his server costs
oh snap
yesterday poe.trade was taking over 5 seconds to respond to a search request from poe trade macro
was like 5-8 seconds
what's your monitoring solution poeapp?
do you integrate it with your code, or is it one of those automated agent things?
got it
u use postresql for ur indexed stuff right?
oh the secrecy lol
@polar island we won't shun you for using COBOL
only if you use node.js
who doesn't love slinkies?
what are slinkies?
or would it be Slinkys since it's a product 🤔
What's the context though? 😄
node.js callbacks
oh
my main arguments against node are threading and performance
oh crap, i didn't mean to start a discussion about this, what have i done
puts hands on desk for punishment
@velvet fog Funny that you used Fractal Thoughts to demo the model viewer, its material is icky PBR with fresnel and bullshit.
I put SM and SMD/FMT on the backburner for now, fxgraphs are mind-boggingly flexible. Went back to parsing out TDT and friends now to get some level geometry up.
your level of interest in hideout layouts etc is impressive 😃
@simple ravine one paddling with the ABAP bible for shitting on node
ABAP is way worse than Node hehe
It's impressive how SAP can keep being relevant in 2019
did you know sap discovered REST
eh?
IIRC its called RAP RESTful ABAP but i might misremember
only half listened at that meeting
its amazing how they rebrand anything
It's based on a PhD dissertation from Roy Fielding in 2000 at UC Irvine
has literally nothing to do with SAP
even looking at those code samples is a pita
fieldings dissertation reads well tho
can only recommend reading it
@simple ravine "how hard could it be?"
It's a great project to better myself, regardless of what comes out of it in the end.
Hopefully some foundational libs and docs, at least.
hehe
REST was great until it was half-arsedly mapped to HTTP 😛
And of course, if people would actually use it for collections of stuff and stuff, and not the abominations that most APIs are now 😃
So happy I don't do web-adjacent stuff.
Even mapped to http it's still open enough to fuck up. I like it tho mostly

adding video and daily specials in microtransation page, https://poedb.tw/us/item.php?n=Illusionist+Portal+Effect
But many item name on web not match it in-game name
I love all the backseat DBAs in the trade search thread - https://www.pathofexile.com/forum/view-thread/2599393/page/1#p22251817
Well that's an interesting thing though
and that limitation is a deal breaker for me, back to poe.trade or poeapp
weird
I mean, I agree... if 3rd party sites can do it, GGG should be able to as well imho
yeah, back to poeapp then
not to just be negative, but i hear a lot of "it's more complicated than that" etc from GGG in several contexts, meanwhile I really don't buy all of it
is it just complicated for them?
i.e. recruitment issue?
I mean, people have solved more difficult things than this
Same thing with the whole 250 people limit for guilds etc
it's an engineering problem that has been solved by others, so why can't GGG?
wait what do u mean
that's hilarious
everything is complex to them
smh
I agree with that.
this is the result of the kakao thing btw:
all the time.
I forget, is the ignore list size-limited?
yes
zao, here's an idea
let's reverse engineer the protocol
and make an app that intercepts any whisper
@simple ravine I'm happy here, in my "not touching the image or memory" land.
I would like to see some API hooks, either on an account service or local client.
Any decade now.
wonder if u really need that though
As far as I know, you need the crypto key.
And that's enough to know I don't want to know more 😃
but does it change all the time, or isn't it the same key for everyone?
changes, you can pull it from process memory when it's running though /shrug
oh wow just read that official trade site thread
We'll be raising the limit to 15,000 in an upcoming patch and investigating better methods of signaling this limitation to the user.
best fix "just increase it"
@simple ravine typically you use hefty crypto at login time to obtain a more short-lived session key that you use for the rest of the time.
Many schemes document for how much traffic a key should be considered good for before you need to rotate it.
A key could either be derived from your login secrets or simply assigned as a token from the server. You’ve surely had similar stuff in web service land.
(Not quite the same, but same-ish)
Sure, but if you can capture it from start to finish
The only thing you need to know beforehand should be the 'client certificate'
Like any other MITM attack
it's an engineering problem that has been solved by others, so why can't GGG?
Does it make money? No? Backlog it is. Complexity of funding near infinity .
Famous last words

there was a writeup about poe protocol and I think it's solid
ie you can't just mitm and decrypt it
is there any publicly available templates / vue components for rendering https://www.pathofexile.com/api/trade/fetch/ results?
@stone bloom https://github.com/duiker101/poekit-rack
exactly what i wanted, thanks!
@fathom spruce what official trade site thread? what's this 15000 limit related to?
official trade site only shows the first 5k results from their database
limit will be 15k soon
does anyone really need more than 5k results??
yes.
who's going to scroll through 5k+?
this is 5k before sorting
if I filter by lowest price and the lowest price is the 5001 result I will never see it
i thought 5k displayed
nope
on large bulk items like legion jewels the official site shows them at 20-50c
on 3rd party sites that filter correctly they're <10c
yeah apparently that works. the caveat is you need to have some idea of what the item is worth
hah
doesn't work for rares
For rares, if the amount of hits is too high, I tighten the mod constraints to bring the count down and price up.
still, it should be fixable with a proper database design
I wonder how much load trade puts on shared infra like actual stash storage.
If they're downstream their own river, or if it's pretty much just hacked in 😛
it is ingested from stash storage to a separate storage
it is downstream, isolated
I've got fond memories of Bad Company 2 where sites scraping stats completely hosed in-game loadout choice performance.
that's some excellent engineering right there lol
Sounded like they had tons of technical debt since quite early days, I think they changed some over from Oracle to MySQL, or the other way around.
Could be licensing/support-driven indeed.
Never touch a working system, especially if breaking it costs a fortune ^^
preview 7 officially released today
I know you had preview 7 downloaded a while ago @simple ravine but that was unintentionally made available on the git site and was subsequently pulled
they replace it with the latest when they update I think
it's on preview 8 now IIRC
where did u write it was unintentionally made available, @wind garden?
"NET Core 3.0 Preview 7 is supported by Microsoft and can be used in production" NOOIIIICEEE
yep, latest u can download now if u want is 3.0.100-preview8-01.3340
I just remember going back to the link you had posted at a later time and preview 7 was no longer listed
had reverted to preview 6
I'm assuming that change was intentional
either way, preview 7 is official now
one weird thing though, the blog post says preview 7 requires VS16.3.0 preview 1
idk what happens if you don't have 16.3
I really hope there's a post mortem blog post for all of this
ggpk should still be out there so we can mine the new enchants a while
i miss their old bug explanation blog posts
why'd they stop? not worth the time im guessing
how hard is that gonna screw up the trade api?
Edit: The servers are now back up! We're planning to write an incident report to let you know what happened. Thank you so much for your patience.
oh seems they're done way faster than expected
rollback the river too?
@simple ravine played around with preview 7 yet? With the go live I guess ninja should do just that.
Incident report - https://www.pathofexile.com/forum/view-thread/2603061
not with 7, @fickle yew but with 6
do you install framework on server or do you ship it with the application?
--self-contained
then yeah
they have trimmed packages now too as well as single executable
haven't really gotten to try them yet though
Thicc
need some more info
nah its the wrong channel either way
And an appropiate channel
Tooldev #N++ has joined the channel with a spreadsheet for profit from endgame activities @violet path who is not @jade adder created this:
https://docs.google.com/spreadsheets/d/1vW8INZBZzwU-0wjqO65MF9RkjjyKe_LNs2JKWDEUqGY/edit#gid=1598241401
welcome tooldev #N
N++? wasn't that a flash game
@violet path can you make an HC version
or give instructions to modify it
nvm, i think i see the json it pulls, but what is the correct string to grab HC Legion?
hardcore leagues and other dead leagues usually don't have very accurate data, so I haven't released any of those sheets yet
even standard comes up with lots of weird issues
@simple ravine Upgraded last night. No noticable change in resource load though. I had higher hopes.
what did you upgrade from?
2.2
biggest change came from 2.0 to 2.1
Aw 😃
but i would have to see the code to determine where you could make optimizations with 3.0
I didn't upgrade my EF.Core use though... I ended up at this page https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-3.0/breaking-changes
but hey, don't fix nothing that's not broken
That's a long list 😃
😄
My resource usage isn't a problem atm, but I still hoped for an improvement 😃
The json change (removing Json.NET) did break a few things though until I just rewired it back in.
Upgrade took about half an hour with the changes but looks to work flawlessly so far.
I should pimp my stuff - if anyone is insane enough to use Rust and run unstable libraries that can change at a moment's notice - https://gitlab.com/zao/poe-rs
Should probably cut a release some day, but that means having to think about whether my API is good yet.
Core GGPK access and lookup is stable, different file formats are in varying states of decency.
I'm using it to power my 3D graphical viewer.
I think you deserve the tool-dev tag
I know it's @hazy fog who usually tags them on people
🤖
thats a scary looking robot
I agree 
Tooldev #N++ i don't feel like counting @worthy cape with a library written in rust... also just a regular of the channel... https://gitlab.com/zao/poe-rs
its #43 btw
🎉

he's rasmuskl#2841 here, should be able to check with him... not tagging him though as it's 3 am in our timezone
seems like the least bad place to ask: anyone using poe-trademacro have issues with it misfiring and spamming inputs? While typing a search in the stash or passives, I randomly get inputs spammed, with effects from spamming chat and sending junk PMs (embarrassing), to one "item on cursor destroyed', which is terrifying (no real damage this time). I'm not 100% sure it's poe-tm since I'm also running mercurytrade so I don't want to file a bug yet, but since the effects are pretty awful it's hard to actually track it down and reproduce it...
wow, pretty sure it actually is mercurytrade
with poe-tm unloaded, I typed "f" in the hideout filter decor search, and got a spam of "failed to join instance" reproducably, stopped when I unloaded it
way too late to look further into it, but at least this time it did something harmless
want to track it down, that stray /destroy or whatever the heck happened is horrifying
Probably some hotkey stuff
"failed to join instance" seems like it tried to do /hideout while you already were in your hideout
hello all, quick question, the poe website has API information, seems very lack luster documentation, is there an extended version of it that is not so public or is it all they offer?
Using Currnecy cop. getting following error. Failed to obtain currency item rates for Atziri Kill - ExileCon Qualifier league
currencycop uses poe.ninja data right? I don't think they're tracking the event
Is that even a trade league?
pathofexile.com/trade doesnt show it
{"id":"Atziri Kill - ExileCon Qualifier","realm":"pc","description":"Please check the Event Forums for more details.","registerAt":"2019-07-27T19:30:00Z","event":true,"url":"http:\/\/pathofexile.com\/forum\/view-thread\/2602883","startAt":"2019-07-27T20:00:00Z","endAt":"2019-07-28T08:00:00Z","timedEvent":true,"delveEvent":true,"rules":[{"id":"Hardcore","name":"Hardcore","description":"A character killed in Hardcore is moved to its parent league."},{"id":"NoParties","name":"Solo","description":"You may not party in this league."}]}
ssf league
definitely something with hotkeys, I have no idea how it triggered a /destroy though. gonna do some searching through the code in a bit
probably it clicked outside and then hit enter to auto-confirm the popup
that popup really should have a secondary confirmation UI, occasionally people even hit it just from a random system lag spike
Protip - don't feed <pre> elements with megabyte-long lines into a browser. They get sad and keel over.
Oh you mean like the documentation for the stash river?
Heh.
This, but with way longer lines literally containing the hexdump of whole files.
Should probably ingest it as JSON or call into a web service to get the actual data, takes a while to generate the HTML file.
Got it all as JSON already, but feed it into a Rust port of handlebars.
I'm not sure what you're trying to do here
Take files that are of equal length, print the data aligned and squint at it to see if I can see any patterns.
oh
would be interesting if there's a way for the computer to see the pattern for you
I'm completely stuck on the TDT and TGM files and am looking for inspiration ^^
For TDTs I have a leading string table, and then no clue. For TGMs I only know about the very first byte and that there's triangle index-like things at the end.
any clue what the files are for?
ah terrain
there seems to be a tgt file format too
Yeah, TGT refers to a TGM as "TileMesh" and has a bunch of materials listed.
after the strings looks like either ushort or shorts
I'm suspecting some of the counts are implied by files like the TGT or even further up.
Got some infra in place now where my parser can tag places of interest in the files, so I could align the hexdumps on things like the end of known data.
it's interesting to hilight something, and it highlights the same pattern
But still feeling quite lost, as it requires either doing things in the browser or in my graphical viewer.
Yeah, that's not a bad idea.
One could also guess to the purpose of the files. One of them has to contain passability/height information, and there should be some info on the connectivity of different tiles somewhere as well.
Weekend's almost over, back to the coal mine on monday 😃
Yeah, I’ve been back for like one and a half already, really demotivational when everyone else goes when you get back.
Yeah, my entrepreneurial spirit is starting to itch real bad again
I wanna do something on my own so bad again
A-ha! Made my thing slice from the point where the parser said the string table ended, lots of files with similar lengths then.
The column of 01 01 stands out quite clearly, for example - https://i.imgur.com/ALrfroQ.png
Also made a theory that they sum to the same for each file length, but disproved that further down in another group 😃
you (and others) might be interested in the licensed version of https://hexinator.com/
Sounds a bit like the templates that 010 editor has, interesting.
@rapid pagoda What I've found is that the tooling around working with a ton of files in the same format and getting any form of overview is something sorely lacking in the ecosystem.
Interesting type of grammar they have there, I wonder how it'd handle things like PoE's string tables, where you have a code unit count up-front and build terminated strings until you've exhausted the table size.
Seems like there's script hooks, so doable I guess.
Could somebody paste an example of a whisper from clien.txt stuck at work and can't check it myself :(
2019/02/21 18:44:55 765223015 a21 [INFO Client 4712] @To Meruk: thanks!
2019/02/21 18:44:58 765225370 a21 [INFO Client 4712] @From Meruk: ty
Thanks
zao yeah indeed
Hi, I have a question about PoE API and CORS, is it actually possible to login a user with the /login endpoint and a POESESSID as a Cookie header, on a web-app? When I do the request, I got a cors error: no redirect allowed for pre-flight requests.
I have some troubles understanding CORS but it looks like their servers block every request that doesn't come from pathofexile.com, and you need your domain to be kinda whitelisted on their servers rules
Sorry if this looks like a noob-ish question, I've been struggling on that since a few days, experiencing a lot of things but nothing working... 😞
no need to log in if you already have a POESESSID, just send it with your requests
u can't use the cookie of another domain in your webapp
imagine all the bad things that people could do
works for me for e.g. getting character list at http://www.pathofexile.com/character-window/get-characters - just putting in POESESSID=<id> in 'cookie' header
easy to test with an incognito tab and setting the cookie manually.. not sure what you mean @simple ravine
well my point was that he shouldn't need to do the login since he already has the session id
CORS is mostly there to protect browser users from sites trying to do silly things toward other sites that haven't explicitly declared that it's cool, right?
@simple ravine I love how Zoom worked around CORS by abusing image resources when browsers prevented them from doing what they wanted 😃
you can get around some with 'jsonp' as well
That's pretty much just telling your backend to proxy a request?
or the API itself supports it
Haven't heard about JSONP since doing webdev in the 00s.
it's basically returning a 'var callback = ...' instead of a pure JSON
yeah it wasn't a good hack hehe
can someone explain about jsonp?
for more context, I'm building an electron app that will be also available on browsers and I'm currently working on the browser integration (yes, mistake were mades, I made the electron app before the browser one)
but since electron have the main context (which is basically the backend powered by nodejs, doesn't have cors restrictions), making my app compatible for browsers is like impossible because of cors on the client-side browser...
well, I think I'll wait for the oauth api to be ready... I'm hoping it will be ready for next league 😄
yeah if poe servers have cors policies, there is no workaround
but their upcoming oauth integration is meant to have a proper api and allow specific web-services, right?
oh you have access to their oauth api?
what do you mean by funky restrictions? what I need in the future is: player login, retrieve player characters and retrieve player stash-tabs + items
if you do it from your backend, you have the same throttle restrictions as you normally would
so if your app gets popular u're screwed
didn't know there is throttle restrictions, like x calls/min?
yes, check pins
but actually I don't have a backend and don't really plan to have one, all calls are made by the client using it's own ip + poesessid, so each user is rate-limited by itself only
you're going to need one if you want to us ouath, due to how ouath works
- callback/reidrect url
- client secret
- refresh token
yes, it's a standard
well no, not for bots, they just use client id and secret
at least mine does
got this from rory earlier today, might be helpful: Our OAuth2 implementation currently only allows basic user information, so things such as stash or character data is not included
yeah already got this info from rory by mail last month
well that's only partially true
the ouath token works on the other APIs as well, but I guess not officially supported
I really hope we will see soon the full oauth api, for a game like poe that have a lot of community-made tools, this oauth api looks like a crucial thing to have
would be nice yes, it's not good to ask users to enter their session id
but this was over a year ago, i was testing it out, early stages
quite a bit of time to implement is that normal for ggg?
heheh
poemap.live appears to use oauth2, any other sites use it yet?
not to my knowledge
@velvet fog the search here https://poedb.tw/us/mod.php?type=enchantment has a button called maps but that's the wrong term it should be eternal. clicking the button returns no results but if you instead type eternal you get the maps enchants
thanks
👍
Is there past whole trade dumps? I know about the ones on poe.ninja but I am looking for larger datasets where I can see data about yellow items.
Not really
Hmm, maybe I should take daily dumps and store them somewhere then. Might be useful for various kind of tool devs.
The public API is in the form of https://www.pathofexile.com/api/public-stash-tabs?id=############ Is it not possible to put the id from couple of days ago to get that information?
I think @frigid nova might be interested in that sort of thing
@eager rivet The stash api will always give you the 'current' result, and there is no way to access earlier versions of the state
Oh I see. Thats just for getting the next update then
IIRC it's kind of in the middle
kind of
the change id is just a 'container', if you follow the river from 0-0-0-0-0, you will see empty sets
that is because there are nothing left in that change set anymore, because they've moved on to newer change sets
stash tab river is always effectively "give me all stash tabs newer than this point in time"
if that makes snse?
from oldest to newest
well, almost
So if I start from the Legions first id I should be able to follow every item put into public stashes during legion?
Only the items that are currently in a public stash tab
No. You'll only see stash tabs as they exist now, starting with the ones that have been untouched for the longest time
Sorry if i sound stupid. Ok then, does the latest id give every item in the public stashes at that moment?
The latest ID won't give you anything until it's no longer the latest
basically, imagine that all stash tabs are in a big stack of cards. every time a stash tab is modified, it gets pulled out of the stack and put on the bottom (higher change ID).
if you start with ?id=0-0-0-0, you start looking at the stack from the top (oldest tabs, lowest change IDs) and reading through it towards the bottom
the "latest ID" is a pointer to the current bottom of the stack
I kind of use the analogy of buckets, because you can see empty buckets
if that's still a thing?
So theoretically, if I wanted to get every item in a public stash right now, I'd have to aggregate all item results starting from 0-0-0-0 until the latest?
Correct.
yes
Ok thanks for explaining to me
All leagues are aggregated into a single stream, though, so if you only care about a specific temp league you can use a change ID from the start of that league (so you ignore a bunch of old changes in standard)
