#code-talk

2 messages ยท Page 20 of 1

barren quarry
#

map post png

long raft
#

i suppose i could use the truck icon =\

barren quarry
long raft
#

maybe ill just do that huh

barren quarry
#

obj.flags & 0x01

long raft
#

ick white doesnt look good

barren quarry
#

okay i have an aux bot that colors my icons

long raft
#

it needs an outline...

barren quarry
#

and it can outline too

long raft
#

yea i can color mine too but no automated bot to outline

#

can you outline it for me?

barren quarry
#

absolutely

long raft
#

thanks!

#

am curious how automated outline works

barren quarry
#

ha fun fact the last image i used outline for was for some reason this exact icon

#

give me a few minutes

#

@long raft unfortunately my outlining algorithm doesnt seem to work very well with round things like wheels

long raft
#

ah

barren quarry
lunar cobalt
#

Give me a couple minutes and I'll make a vector one @long raft

barren quarry
#
    function outline(x,y) {
        const color = jimp.intToRGBA(image.getPixelColor(x, y));
        if(color.a < 70) {
            image.setPixelColor(255, x, y);
        }
    }
    for (let x = 0; x < width; x++) {
        for (let y = 0; y < height; y++) {
            const color = image.getPixelColor(x, y);
            const colorHex = jimp.intToRGBA(color);
            if (color !== 255 && colorHex.a !== 0) {
                for (let k = x - 1; k <= x + 1; k++) {
                    for (let j = y - 1; j <= y + 1; j++) {
                        outline(Math.min(Math.max(k-1, 0), width), Math.min(Math.max(j-1, 0), height));
                    } 
                }
                
            }
        }
    }```
long raft
#

oh snap i can use a vector cant i for the favicon

lunar cobalt
#

How's that look

#

@long raft

barren quarry
#

Amazing

long raft
#

thats nice

#

do you have it with a transparent background?

lunar cobalt
#

Saving as SVG right now

long raft
#

yes!

lunar cobalt
long raft
#

thank you!

languid harness
#

๐Ÿ˜ฎ they have collapsible code blocks now!

barren quarry
#

these are not collapsible code blocks, these are text files

coral sundial
#

they even have selectable languange ๐Ÿ˜ฑ

mossy pelican
#

its text file previews

#

you can change the language on the bottom right if its wrong

languid harness
#

Ah yes, I see it on my phone

#

Very cool

agile cipher
#

anyone know how to get the depth map for the game?

barren quarry
#

@agile cipher ask matt

#

We already tried but no luck

agile cipher
#

man
wanted to test out RTGI with this

agile cipher
barren quarry
#

At your own risk

long raft
#

he showed us deadlands but he said he cant give them to us

#

no reason to ask matt. if anybody, ask mark

#

matt also said he couldnt provide them even if he wanted to - he waved his hand like a jedi as if we would believe it, but the one he showed us for deadlands was perfect

mossy pelican
#

@long raft @agile cipher deadlands depth map i think is this one? derp correct me

long raft
#

yes

agile cipher
#

oh that's a height map
I was talking about a depth map like this one, the kind used for post processing
that'd be cool too though, a lot of cool stuff you can do with it, like making renders overlayed with the foxhole topo map

#

I'll ask Mark and see if I get anywhere

long raft
#

god speed

#

i cannot imagine why anybody would need a ... depth map, is that a w buffer?

agile cipher
#

uh yeah I guess so
it's meant for post processing effects
with Reshade you can use a ray tracing filter thingy

#

so I wanted to test that out since it works great with TF2 and some other games

agile cipher
#

if anyone is curious about the depth map all you have to do is mess with the preprocessor settings

tawdry thunder
#

WAIT

#

I WANT IN

#

I need the depth maps

#

well I prefer to call them Contour maps

agile cipher
#

depth maps are the post processing thing

agile cipher
#

I've asked Mark, waiting on a response

agile cipher
long raft
#

whats the before image look like?

agile cipher
#

that's before*

#

chromatic aberration and HDR are meh, this is how it looks without

long raft
#

i have old man eyes im not sure i can appreciate it

agile cipher
#

lol
basically stronger shadows, darker environment, more occlusion, slightly better AO, and ray traced shadows

#

just visual tweaks really

#

I'm curious to see what the people who want height maps are looking forward to

exotic hamlet
#

i have low settings becuase my computer is dogshit after the dog ate dogshit from a dog who ate dogshit

#

so doesnt effect me much

#

plus shit eyes

agile cipher
#

I remember being there, Intel UHD 620 and could basically only run this at, like, 20-30FPS it was kinda sad
but I'm glad I have an actual GPU now, so I can run this at Ultra/60FPS

exotic hamlet
#

hah i got a actual graphics card and shit. my computer is just a portal to the pits of hell

agile cipher
#

oh man
what GPU?

exotic hamlet
#

honestly id have to search for it cause im not awake enough to remember things

agile cipher
#

it be like that
hope you can get an upgrade soon

long raft
#

not to be my normal pessimistic self, but we arent getting height maps

pure sierra
#

we dont get nuttin unless we hack it....

granite mica
#

Can't have shit in foxhole

agile cipher
#

unless you wanna do it yourself, maybe it's possible since we know it uses Unreal 4

long raft
#

youd be a hero if you could figure it out, its not like people havent tried

#

plus theyd find a way to obfuscate it or nuke it like they did the satellite maps, removed from build now

barren quarry
#

@long raft because the layouts are no longer static I guess

#

With their new logi layer thing

#

So in game files are no longer a good reference

long raft
#

How do they create the maps then

#

Like at some point they start the engine, render them, take a picture, then modify them

pure sierra
#

did they nuke sat ? i thought it was with their support, was it a dev version exploit only ? @long raft

long raft
#

yea that was satellite maps 1

#

but then the unprocessed terrain textures were found in the assets of the build and could be taken out and combined together

#

which is how skaj made his own map colors

#

they were missing trees and rocks and grass but they were also more mathematically correct

#

yah the first satellite ones were fantastic, but i think those days are long gone

barren quarry
#

(Updating as in the asset files)

agile cipher
#

wonder why they won't give us heightmaps, is it not about the same as a topo map?

long raft
#

matt says it is not, but icanari rendered it as one and it looked great

#

also it would be additional work on some developer to prepare that for us each update

#

it would greatly improve our 3rd party apps tho

#

from rendering quality and info on maps to artillery calculators

#

we'd also like weather info in the API, but ya know i don't think were gonna get that either

agile cipher
#

damn didn't know weather was a real thing

#

maybe an update after every major update

tawdry thunder
#

Knowing how high up specific plateaus are would make Map-Based Arty calculators so much more accurate

long raft
#

wind is so wack tho im not sure

#

it would be useful with storm cannons probably only

barren quarry
#

wind endpoint would need to be a socket connection or something

#

otherwise you'd have to poll that shit literally every 2 seconds

long raft
#

yea thats way too much to ask for

#

just knowing if there are storms and how strong

pure sierra
#

more if snow winter

coral sundial
#

I'd like to know when the snow is snowier than before

long raft
#

sometimes i want to climb a mountain to screw about how much i hate javascript

#

why is it so stupid slow.

long raft
barren quarry
long raft
#

yah i wish

#

also i havent used firefox in a while - holy crap is the javascript slow on firefox

agile cipher
#

no response from mark ๐Ÿ˜”

summer bobcat
#

individual DMs flood the devs' discord

agile cipher
frank frigate
#

that sounds like a fuckton of fun tbh

pure sierra
#

game is so dead, shard 2 is killing it

#

shard 1

#

shard2

grand remnant
#

I agree

#

Remove Shard 2.

#

Not sure the exact reason for not expanding server capacity, but everyone Iโ€™ve talked to in-game about it agrees that hundreds or even thousands of player battles in the same hexes would be a truly awesome experience.

languid harness
#

sadly, the servers have their limitations

#

beside it is not always a case of more ram is more performace server wise

#

not to speak of how it would impact the game (very high populations have always proven to require some intervention regarding SS production for example)

#

@grand remnant So merging the two servers, although the dream, isnt a case of a just using one server

kind glacier
#

๐Ÿค”

coral sundial
#

thats just a bad project manager

kind glacier
#

well, yeah

long raft
#

O(n^2) is why they cant keep expanding server capacity

languid harness
#

exactly

pure sierra
#

F shard 2

barren quarry
#

Finally

long raft
#

for now.

sleek ermine
#

been lagging very badly since the shard merger
can anyone help with this?

safe mist
#

Can update Home's maps images ? ๐Ÿ™‚

rocky girder
languid harness
#

Thats fine. Devs have in the past indicated that they are dealing with bottlenecks in server capacity; they have slowly managed to increase player count per map over the years, so its something they are always working on ๐Ÿ™‚

rocky girder
fervent spear
#

Also, i found some resources giving me first the efficient way to do things and later the easy.
Like, i'm using python, if i wanted efficient i would be using something properly compiled, give me answers by character count

long raft
#

i dunno where i got the hex shape to overlay as borders on leaflet, but its not accurate to the actual image

pure sierra
#

i made one with python

#

even though its about 3k that maxs the game systems out, even at the current 2.3k players there are big queues across all 7 column fronts..... ๐Ÿ’ฉ

long raft
#

yea everybody wants to fight on the fronts, not the rear

#

more back line regions wont help

long raft
#

been workin hard on a logiwaze mobile. painfully hard. but have discovered some stuff that might be useful to fhs and foxhole global

#

ill share it after im done, i want to be first at it julianlol

safe mist
#

How to get the images of the maps of the game from the local files?

long raft
#

i dont think theyre in there anymore

long raft
#

reject voronoi, embrace krig

barren quarry
#

@long raft is that the fucking lord of the rings font?

long raft
#

not even close

#

https://en.wikipedia.org/wiki/Tengwar <- lord of the rings font

The tengwar are an artificial script created by J. R. R. Tolkien.
Within the fictional context of Tolkien's legendarium, the tengwar were invented by the Elf Fรซanor, and used first to write the Elven tongues Quenya and Telerin. Later a great number of languages of Middle-earth were written using the tengwar, including Sindarin. Tolkien used teng...

barren quarry
long raft
#

i dont know which font it is anymore i renamed it, but its like an insular uncial

barren quarry
#

this looks awfully similar

long raft
#

"celtic"

barren quarry
#

aaah

#

how the fuck did you do this in leaflet

long raft
#

the celts on the british isles merged roman uncial (c 2nd-3rd century) with their sort of runic handwriting

#

oh man, the shit i have done in leaflet now. for performance. omg.

#

i had to render my roads to canvas as rasters because vector shapes on layers are just too slow, and they absolutely choke a smart phone

#

so i had to segment the roads, group them into rectangles and scan for when theyre visible on any given tile

#

and i did the same for font...

#

and its pretty fast. so im gonna slow it down by adding more shit rofl

barren quarry
#

i see

#

but i was asking about the coloring

long raft
#

and the colonial font is more of a traditional roman

#

oh the coloring, yea ... working on it. it's kriging

#

this is what they use in real geo spatial probability estimates. given a set of known points (town halls) you can predict what the value will be at any given (x, y)

#

but the shit im most proud of is way easier and not even related to leaflet and i figure others might make use of it

#

progressive web applications ... so easy. so nice.

#

turns your web page into an installable app that automatically downloads and caches offline all the assets

#

just needs a service worker to handle which files are cached and a manifest file with requirements (icons are most important)

barren quarry
#

so the coloring is a leaflet object or an overlayed image?

long raft
#

leaflet has this object called a GridLayer you can extend and create custom canvas tiles, like the way the map tiles work

#

im just creating them on the fly

#

so i guess its an overlayed image

#

i hate the way roads are considered controlled by proximity, not actual geographic layout - like a river should cut off who controls a road on my router, but its hard to do

barren quarry
#

one minor complaint

#

the font is sometimes hard to read

long raft
#

because youre not used to the font or its too small?

#

im kind of OK with you zoomers not being able to read 1200 year old handwriting styles. i might make a hover-over if its that bad

barren quarry
long raft
#

the colonial font is easy to read?

#

i was gonna use a gothic font but then decided not to because holy shit thatd be unreadable to the young people

#

i feel like only matt, if anybody, would appreciate my font choices corresponding to the faction lore

barren quarry
#

i feel like the labels would be massively improved by making the font 2-3 pixels bigger

long raft
#

ok ill make a note

barren quarry
long raft
#

i havent posted the beta yet, the logiwaze site currently is not reflecting my current changes

barren quarry
#

i have this thing on my website where i only show major labels until a certain zoom

#

and if its like really zoomed in i show minor labels

long raft
#

ah yea i have that too, i think maybe you recommended it

barren quarry
#

Oh wait

#

you do!

#

yes sorry it does work

#

just not sure if this is the correct level to enable minor labels at

long raft
#

i can show you the beta, let me post

barren quarry
#

but yeah fantastic job

long raft
#

the only vector shape i have left is the actual route, which looks weird when it zooms, but w/e

#

last big problem is the navigation panel gets in the way of the map, i have to solve that

barren quarry
#

did you make the icons part of the image?

long raft
#

yea

#

for performance

#

and it helps with the order/layer/z-index

barren quarry
#

but you cant have any events

long raft
#

events like what?

barren quarry
#

hmmm

#

okay maybe on your website you dont need them

long raft
#

i could use an invisible marker if i needed to do something

#

but if you have 1 layer with all the icons on it, every time you move the map it has to redraw them all

#

same as the text labels

#

the road shapes are the worst, tho

#

did it prompt you to install logiwaze?

#

thats the part i thought you might make use of, or hayden

barren quarry
#

i havent done logi in years

long raft
#

i mean for your sites

#

up in the address bar is an install link. if you install it, it will download all the assets and cache them, so all the image requests are local, and its basically a windows/android/iphone program

#

its called progressive web apps

barren quarry
#

logiwaze is one of the very few projects that didnt die after like 3 weeks so i definitely have academical interest

#

technologies are very different though

#

did you use typescript?

long raft
#

nah just ugly javascript

barren quarry
#

my condolences

long raft
#

PWAs do not need a special language or compilation

#

you just need a manifest file and a serviceworker script

#

its very easy

barren quarry
#

typescript is not about "needing" anything

#

its more about keeping track of variable types across files

#

because sooner or later you will get lost

long raft
#

for sure. object orientation in javascript is a nightmare

#

you just have to know conventions

#

but i think its really cool to turn a website into an installable program

#

i guess its basically just a shortcut to a webpage, but it has the advantage is caches all the assets offline

#

and it shows up in the programs lists on the computer...

barren quarry
#

@long raft haha apparently you can enable progressive web app in CRA by changing 1 line of code

#

yeah i guess i'll try that

long raft
#

you might need to specify which files are cached as offline assets

#

but ya, pretty cool feature

#

first time i think ive seen it is with uhh code-server (vscode)

#

and i wondered now how the hell do they do that?

#

it has requirements, tho, like you have to be on https, you need to put a 192x192 and 512x512 icon in the manifest, a short or long name for it, and you have to use a serviceworker (which is a few lines javascript file)

#

or you wont get the prompt to install

long raft
#

@lunar cobalt can you do magic outlining on this?

cerulean urchin
#

Came here to say service workers for progressive web applications are my favorite part of web development. It's so cool how they work, and the benefits you get from using them ๐Ÿ‘

long raft
#

yea this is new to me, pretty useful

#

hotter than july

ruby valley
#

something I whipped up overnight

long raft
#

nice

#

i see the windows forms icon?

safe mist
long raft
#

does it use a site?

ruby valley
#

nope, it is completely offline

#

currently using OCR to grab the coordinates off the UI, I don't know if I can grab it from the game process directly

long raft
#

ocr, damn hbeyes thats sweet

#

you probably arent allowed to grab it ... directly

ruby valley
#

wink wink

long raft
#

are you watching the clipboard for image copies maybe?

#

eh silly derp ideas

ruby valley
#

it takes a screenshot of azim and distance coord then process it for text

#

doesn't work well if you're aiming at snow or something bright colored

long raft
#

is it consistent at night? or same problem?

barren quarry
#

i have a friend who did something like that in python a couple months ago

ruby valley
#

during night it is much better

#

how do you display custom UI in the game map like this?

ruby valley
safe mist
ruby valley
#

ah ok

safe mist
barren quarry
#

Holy shit these github embeds are sexy

long raft
#

a lot of people use leaflet ...

#

i dont love it anymore. sometimes i think webgl would be better for the massive scaling we need to do with these maps

#

i feel like ive pushed leaflet to the bounds now

barren quarry
ruby valley
#

im more interested on calculating the coords as fast as possible

long raft
#

yea almost

#

i tried making an alexa app for arti calculations but ugh alexa is unpleasant to work with

#

its actually really hard to read coords aloud fox alexa with the right timing

#

theres all these timeouts on it, too

#

someone else made an ok google app

ruby valley
#

My current Y4 project is a voice controlled app

#

Whats the delay with alexa?

#

Our project takes about 10 second to get the voice to text result back from the cloud

long raft
#

it gives up very quickly if you have a few seconds of silence

#

i assume the delay is the cloud processing the audio it recorded

#

but all around kind of frustrating

#

its not a good API

ruby valley
#

yep

long raft
#

i cant even get a metronome app

ruby valley
#

My lecturer keep asking us if we can display stats real time

long raft
#

at best i can get a problem that will play a metronome sound file

ruby valley
#

Its pretty much impossible to get an immediate update due to the time it takes to upload and process the audio files

long raft
#

hmm i mean ... you can get good results using the web speech api

#

if youre not dependent on the cloud, and you can use the pcs power...

ruby valley
#

we have to put it on a phone so nope

long raft
#

still probably gets more CPU time than on the cloud ...

#

i hate how everything alexa goes throuhg amazon servers, so i cant even turn on my lights with my voice if my internet goes out

barren quarry
#

there are so many ways to do that

#

you can walk to the switch if you are younger than 80

#

you can use an ir remote

#

you can use a motion detector

#

you can use claps

long raft
#

i know but i had big hopes for alexa

#

i think it has a lot of potential for blind people, tho

#

its a welcome emphasis on audio

barren quarry
#

arent there like eye prosthetics already?

long raft
#

i think for particular forms of blindness yes but theyre expensive and not at all mainstream

#

being locked out of a lot of technology is still a common problem for people with vision problems

barren quarry
#

not having eyes is not a very mainstream problem too i guess

long raft
#

hell i just rammed color down a community's throat thats probably 25% colorblind with logiwaze

#

just realizing i havent done anything helpful to people who cant see a complete spectrum

barren quarry
#

thats a dev issue

#

shouldve made colonials yellow

long raft
#

i suppose i could use patterns instead of just colors for indicators

#

beyond just the factions i used it for indicators all over

barren quarry
#

i really miss the times when structure flags had emblems

long raft
#

and when they were obviously a specific color

#

before the great desaturation

barren quarry
#

the NML filter can straight up go fuck itself

#

especially at night

ruby valley
#

Any warden here wanna help me test my artillery calculator?

paper lake
#

oooo

#

yeah that be cool

#

my artillery calculator doesnt work ;-;

#

@ruby valley

pure sierra
#

so some player in game mentioned to me that in last update they added more roads going off map in the backline maps, that maybe this indicated they where going to add more adjoining maps there, and go square world rather than diamond to avoid high pop being unable to fit into reducing maps as game progressed...

barren quarry
#

oh you mean moors

pure sierra
#

i think thats what they gave as the example

barren quarry
#

well i mean matt is still on payroll and he has to earn it

#

might as well draw new maps

pure sierra
#

they need it

barren quarry
pure sierra
#

train tunnel wardenlol

barren quarry
#

great march also had roads going into nowhere for a while

#

but you cant expand from great march

pure sierra
#

anything is possible, they make the rules

tight hawk
#

New here but just thinking out loud- there could be a wrinkle available for higher player difficulties and maybe a new play style in a third , rogue like faction, which had special de jure regions , inaccessible during normal game mechanics. Just a possibility especially if expanding player base and popularity has the potential to put some muck in the milk shake. ๐Ÿ‘‹

fervent kelp
elder prairie
#

@here I have a question about the war API: on the endpoint /worldconquest/warReport/:mapName, what is the totalEnlistments field ? I can't seem to comprehend what it is all about. Thanks in advance for any response

languid harness
#

Lmao, he used @/here

#

I have made no application of foxhole before, but iirc its the total amount of players ever entering the server at least once during the duration of that war

#

@elder prairie so a totEnl of 1000 means that there have been 1000 steam accounts who logged into the game at any point of that war

elder prairie
#

Oh okay thx! Whats the pb with @/here?

pure sierra
#

this iis correct, but it iis not unique between all maps, so its kind of useless and ive stopped showing it

long raft
#

if here worked, youd be pinging like 100,000 people

languid harness
long raft
elder prairie
#

Oh okay x)

safe mist
#

How did you get (export) it's images (Maps, item icons, ...) ?
Exemple :

GitHub

The War API allows developers to query information about the state of the current Foxhole war. - clapfoot/warapi

GitHub

Assets used in Foxhole related projects. These are property of Clapfoot Inc. and are used with their permission. - the-fellowship-of-the-warapi/Assets

#

How the images are recovered from the game ?

safe mist
#

Home's images map not updated ...

#

The images, they must recover them somewhere from the game. But how?

kind glacier
#

It's clapfoot's API github, pretty sure they don't recover their own images from the game

barren quarry
#

But also you can extract game assets using UE4

safe mist
barren quarry
neat fossil
#

Sup nerds

#

๐Ÿ˜Ž

frosty sentinel
#

Is there any api with all ingame items available?

languid harness
#

can you specify @frosty sentinel

#

if you want info on all equipment, you can check the Foxhole wiki!

#

It is managed by the community, so if you see an error, don't refrain from correcting it as well ๐Ÿ™‚

frosty sentinel
#

I am thinking about creating a project. The war api is a good start but I also need the names of all items

languid harness
#

can you specify your idea?

frosty sentinel
#

Users can create orders for specific items - so they need to select from a list

languid harness
#

that is nice yeah

frosty sentinel
#

I could probably parse the wiki as a last resort

languid harness
#

its indeed not a nice api that gets auto-updated, but it might be usefull

frosty sentinel
#

Json or xml would be better but I couldnt find anything yet

languid harness
#

we use a system called DBL to update stuff wiki-wide; I don't know how it exactly works, but perhaps something usefull can be found there ๐Ÿ™‚

#

if you join the Foxhole gamepedia discord, you can ask the guys, they might know something

frosty sentinel
#

Thanks anyway. I will put that item topic away for now

languid harness
#

oh wat

#

thats weird, it works fine for me

#

what browser are you using? @kind glacier

kind glacier
#

Firefox

languid harness
#

me too

#

weird

#

is it only this page, or others too? If so, are you running any novelty advert blockers?

kind glacier
#

all of them

#

Hm. Since when is the wiki page an ad

#

lol

#

For whatever reason the adblock is blocking the page content but I can't seem to figure out why

#

are they hiding an ad in the text or something

languid harness
#

If you aren't a pro user, you get ads

#

these are embedded via some method in the contents to prevent people from just using the site appearently

#

I have editted enough to be ad free, so idk

kind glacier
languid harness
#

Well, don't blame them, they don't charge commission

#

its either they run adds or they are reliant on donations, and they have chosen the former

#

and if you edit enough, they dissappear anyway

kind glacier
#

if they run ads they shouldn't be surprised when people run adblock

languid harness
#

well, its impacting their profits. Its like saying a supermarket shouldnt mind thiefery :p

#

or "profits", do they actuall run a profit?

kind glacier
#

lord knows music companies try to keep people from listening to their music in a way that wasn't paid for.

languid harness
#

can't blame them, money needs to come from somewhere /shrug

kind glacier
#

odd, I reloaded the page again with the adblock turned on and now the content is still visible

languid harness
#

they prolly just needed a cookie?

kind glacier
#

First two times I turned it off and back on again the content disappeared, so I don't know what changed

languid harness
#

enough crumbs ๐Ÿ˜‰

kind glacier
#

plenty of trackers in need of blocking

#

so what happens if I remove them...

#

content is still there

mossy pelican
#

It has nothing to do with the adblocker unless your adblocker sucks

#

I have an adblock too and the page works just fine. Firefox also

kind glacier
#

then it's something else that broke it

cerulean urchin
#

Hey I just wanted to showcase a small project I've been working on in regards to the logistical aspect of Foxhole. I know a lot of new players are always confused on what items they can make, and how much they cost, so I built a long needed logistics calculator.

Keep in mind that this is a minimal viable product, and you're the first ones I've shown. So there are a lot of small UI tweaks, features (like MPF costs), and the occasional bug. Let me know what you think ๐Ÿ‘

https://foxholelogi.com/

Logi Man Good

Supports standard, mass production factory, and item calculation costs.

#

Also @frosty sentinel the JSON file I used contains most the craftable items for both factions with item costs / descriptions. Feel free to use it as a start for your project if the wiki doesn't help, can be found here https://foxholelogi.com/assets/foxhole.json

languid harness
#

looks good @cerulean urchin

#

I like the big buttons, people nowadays always try to keep everything 20x20px or something

barren quarry
#

@cerulean urchin i like how the description ui is very close to the in game one

cerulean urchin
#

Yeah I decided to mimic the UI for the item menus, down to the correct order even if you filter between warden / colonial. That way new players will feel right at home between the in-game factory vs the site ๐Ÿ™‚

languid harness
#

good attention for detail

long raft
#

yea it looks good

deep quest
#

@pure sierra Foxholestats not showing W75 war recording for me

#

I could see recordings mid war of the ongoing war

long raft
#

@zealous sonnet do you think it would be possible to add the http header "Access-Control-Expose-Headers: ETag" thus allowing CORS requests to make use of the etag? It's sent but the browser strips it out because it's not specifically white listed in the acceptable headers for the client to read

rocky spade
#

@long raft we can look into that - can you make a github ticket on the WarAPI repo with more details about the use case? Thanks!

long raft
#

yes will do

rocky spade
#

If we know more about the context then we can test it on our end to make sure it will work in your case

long raft
#

god i hope i dont get myself cursed on this

barren quarry
#

@long raft you still don't want to make backend for your thing?

long raft
#

i dont think its a good idea

tender venture
#

ยทยทยท โˆ’โˆ’โˆ’ ยทยทยท

summer bobcat
#

I thought your message was cut off and tried scrolling down...

pure sierra
#

@deep quest works for me ??

#
  1. We will be upgrading our networking backend to integrate with Steam Networking Sockets to resolve some intermittent server instabilities that have been happening recently. If you recall, we had tested this upgrade several times last year, but ultimately backed out due to various issues. There have been many bug fixes with this integration both on ours and Valve's end since last year so we will be attempting the process once again.
long raft
#

oh wow i thought they committed on that last year

fervent spear
#

wich doesn't work for me either

deep quest
barren quarry
#

@long raft in case you're interested, i uploaded the nuked map icons

#

by the way

#

performance on mozilla on logiwaze is atrocious

#

yo these tile file sizes are a war crime

#

5_10_12 is 32kb on logiwaze

#

but i have it in 7kb

#

before uploading the tiles i run a compression bot

#

almost 5x file size difference

#

but no big difference in quality

long raft
#

really? i thought my compression levels were good

#

i actually didnt think file size was my problem, its pretty intense cpu calculations

#

yah ill take a look at the nuke icons, thanks

#

mozilla has shitty javascript, btw. just ...sad performance

pure sierra
#

ok, yeah it broke, still working out why, but this war will be lost for ever up intil now @fervent spear @deep quest .....

pure sierra
#

(i fixed it, but b4 now lost)

agile cipher
#

dunno if it's legal but apparently it's possible to rip game assets from UE4 games

#

so you could theoretically pull out the map or parts of it and stick it into blender and generate a heightmap

#

is this allowed?

long raft
#

people have tried.

agile cipher
#

ok it did not work

#

home region

#

absolutely no clue what this is

#

normal maps?

pure sierra
#

nothing is normal

serene vortex
#

Also you just need to stitch those together I think

#

Of course they are all end in .uasset

agile cipher
#

yeah thought so, I think the game sticks it together but I don't have any idea how it works
I'm sure someone who knows Unreal well could figure out out

serene vortex
#

Of course even if I did have those files I wouldnโ€™t post them as that would be unauthorized redistribution, but Iโ€™m sure it would be ok to tell how to get the files

agile cipher
#

that would be cool

serene vortex
#

For each region however, you can export a 2048x2048 texture showing the roads of each regions, including the hard to see ones that are in the grass, very cool to look at

long raft
#

what?

#

can you export those for me?

#

oh its just the orange roads huh

#

they used to be colored, it was great

serene vortex
#

Well, orange roads ye. Also config files, icons, basically anything that isnโ€™t literally the map itself like you said

pure sierra
#

@long raft at attention

long raft
#

?

pure sierra
#

talk of map extractions matt_greatsuccess

long raft
#

oh, i mean the roads are hard

#

if i didnt have that devbranch map with the road colors i would never have been able to survey them all

#

its difficult even to update a few roads each month...

#

but i dont think orange road markers would help me

pure sierra
#

oh

barren quarry
#

@serene vortex those maps haven't been updated since last year sadly

plush bolt
#

@pure sierra not sure if you were aware of this already, but the foxholestats war replay begins at day 25 rather than day 0

#

never mind, I think you were aware

pure sierra
#

yeah, it was broken

#

@plush bolt thanks though

long raft
#

i figured out how to make good time lapse videos

#

start with a better overlay first, but then use minterpolate (motion interpolation) to increase frame rate

languid harness
#

Nice

#

Looks smooth

little burrow
#

-.-- . . -

dreamy basin
long raft
languid harness
#

lava lamp

paper lake
#

is that wut it is

long raft
#

lava lamp is what i was going for, actually

barren quarry
long raft
#

whats the format look like?

#

i totally want it - but im scared it will take a lot of massage to work it into my renderer

barren quarry
#

start checkpoint, end checkpoint, array of diffs

long raft
#

you save your war states incrementally huh?

barren quarry
#

checkpoint: icon data for town halls/relics

long raft
#

download war state is new to me, mine is a complete mess

#

yes id like it, when you get a chance, this would be a fun war to render out

#

i guess i should wait for it to be over huh

neat fossil
#

hello, please do <rapiddecayzone>all structures=1, watchtower=0</rapiddecayzone> ๐Ÿ˜

long raft
#

thats a damn good idea, what are the ranges on those?

barren quarry
#

well

#

now its my turn to suffer

long raft
#

oh it rolled over into the month, i see

fervent spear
#

It happened on the 30th to hayden too

pure sierra
#

@barren quarry HBjoy

#

different libraries using different number of days 30 or 31 for how many days in a month gap

long raft
#

i have never thought about that before

plush bolt
#

@pure sierra counter showing completed war length still bugged as previous

pure sierra
#

@plush bolt thanks, fixed now

bronze rain
#

When foxholestats broke before the wardens did

flat thunder
#

you cant break a warden during warden weekend

knotty elbow
#

ye

serene vortex
#

Bottle-neck identified: large amounts of players in one position on your screen results in over-utilization of a single CPU core.

tough stag
#

Oof

serene vortex
#

Is it possible to multi-thread other players in your session (from a programming standpoint)?

tough stag
#

That heart be pumping

long raft
#

only through 1 valve

serene vortex
#

1080 Ti is at only 49% on beyond max settings

#

Limitation of UE4, or fixable?

pure sierra
#

its just not that graphically heavy of a game, (thank god) @serene vortex

serene vortex
#

Yeah I meant the players running on a single thread being changeable. Obviously a massive technical challenge in any program.

pure sierra
serene vortex
#

No solid state caps? Absolutely awful. Zero out of /1

pure sierra
#

Only a single NOR gate is used to perfom all computations such as addition, subtraction, AND, OR and XOR.

long raft
#

lol

pure sierra
#

@barren quarry you there ?

barren quarry
pure sierra
#

might be ok

#

from the tiling code

#

w = width / 5.5
k = w * 3**(0.5) / 2

#

what is k ? height ?

barren quarry
#

k is height

#

i dont know why i named it k

#

but yea

pure sierra
#

is it height and width of a tile ?

barren quarry
#

its height and width of a hexagon

#

derived from the width of the world map

#

if by tile you mean hexagon then yes

#

didnt think you were in the business of leaflet world maps

pure sierra
#

im doing it php, not for leaflet

barren quarry
#

alright

#

im here to answer more questions

pure sierra
#

could i just use the pixel dimensions of the map tile image instead ??

barren quarry
#

i mean

#

if you have a world map and you're trying to build a layout of icons, you start with these calculations

#

if you are working with one region you dont need this

pure sierra
#

does this look ok

#

`
$w = 1024;
$k = 888;

$o = [
'y'=> ($k5) /2,
'x'=> ($w
5.5) /2,
];
`

barren quarry
#

yeah i guess

#

sometimes wacky shit renders and you need to change + to - or something

pure sierra
#

close

long raft
#

i name my variables i, s, t, u, v, m, mm, ss, uu, basically in that order

#

cant burn calories thinking about naming when you can just use a refactor tool later...

pure sierra
#

i just had the deadlands file not renamed wrong, so all working with GD

long raft
#

gd?

pure sierra
long raft
#

ah

pure sierra
barren quarry
pure sierra
#

yep

barren quarry
#

haha i have that issue every time i update ss

pure sierra
#

my reminders too

long raft
#

what are you building?

pure sierra
#

just a big static map at the start of each war

barren quarry
#

i tried to do that a while ago and it didnt go well i think

pure sierra
#

im basically there

long raft
#

?

pure sierra
#

as i already have code from ages back b4 leaflet that makes each map tile with items on it

#

just have to tile them together

pure sierra
#

nice

long raft
#

this is to add the map markers?

pure sierra
#

?

long raft
#

how come you want a static map?

pure sierra
#

just as reference for players

long raft
#

trying to imagine how a static map is useful

#

to see the starting locations? or the amenities around the map?

pure sierra
#

both

barren quarry
#

i wonder if theres ever gonna be a war start without critical bugs/glitches, without delays, with normal layout and with a map posted several days ahead

long raft
#

not a good war

pure sierra
#

they had one month and best they can do is remove smoke ...

long raft
#

i implemented copy and paste for the map image (and working on download image) and omg it was a pain in the ass

#

i find myself wondering why i ever used leaflet, i could have written this stuff from scratch easier at this point

#

now im also aware theres like 3-4 competing products to leaflet

#

ive had to just re-implement 90% of the things leaflet does

barren quarry
#

@long raft logiwaze doesnt have map tiles?

long raft
#

it does

barren quarry
#

well i dont see them

long raft
#

i built a hidden layer (opacity: 0) on top that has a copy of the image

#

theyre there

#

i did fix the seam issue in leaflet by re-implementing tile layers completely

barren quarry
#

so whats the point of a map that doesnt have the map

long raft
#

?

#

what do you mean doesnt have the map?

barren quarry
long raft
#

oh thats you

#

ctrl + f5

barren quarry
#

aha!

#

okay

#

yeah it looks cool

long raft
#

damn javascript caching, right?

barren quarry
#

yea

long raft
#

when are you guys gonna adopt kriging?

#

reject voronoi

barren quarry
#

when the devs do

long raft
#

god so many issues with ... text, too... rendering clean text is a damn nightmare in javascript

barren quarry
#

welcome to javascript

long raft
#

i want a damn cross platform implementation of cleartype in canvas

#

i guess ill find out when it rolls out, was just thinking you guys both have per-region maps with all the static utilities of the region

exotic steppe
#

@long raft Minor feature request: Be able to change the font used on the map. What you have right now is interesting looking and all but its a bit hard to read for me. Whatever font you are already using in the map layer checkmark box would work.

long raft
#

ooof

exotic steppe
#

also noticed just now that the names of the various hexes aren't appearing anywhere from what I can see

#

for the newer players

#

oh wait my bad

#

didnt zoom out enough

long raft
#

i rendered out the last day or so of last war, ugh i dont like it. i think sampling the map every 5 minutes is actually way too often

#

theres just too much back and forth, and then suddenly things move, then move back

pure sierra
#

@exotic steppe

exotic steppe
#

hi

#

u rang

pure sierra
#

16896x13320 pixels

exotic steppe
#

oh thats why my cellphone isn't renderimg that img

pure sierra
#

it dont work for me either.

exotic steppe
#

well its got 225,054,720 pixels in it

pure sierra
#

https://foxholestats.com/images/cache/test.jpg

dusky fossil
pure sierra
#

neat

#

mre just wanted one generated at the start of each war, is that ok for you too ?

#

cool

#

@exotic steppe did you get it open ?

exotic steppe
#

cant try right now, am at work & on cellphone discord

pure sierra
#

np

#

its all done now

#

so, it will generate a new map at start of each war

fickle aurora
barren quarry
# long raft ooof

that moment when you have to balance artistic vision with what people actually want

long raft
pure sierra
#

@fickle aurora it is really well made and beautiful

pure sierra
#

@safe mist voronoi

tawdry thunder
#

@pure sierra do you have historical data for this

safe fog
#

Clapfoot, regarding "winter weather" -- it would be invaluable data to extract visibility plots, temperature zones, precipitation plots, stationary fronts, day/night variables. Is this something Clapfoot could provide within the API?

safe mist
barren quarry
#

other than that its just basic canvas manipulations

safe fog
#

No reply? Well, no news isn't bad news. In the meantime, I've begun a field meteorology observation chart documenting fronts, intensity, lethality, and equipment impact schedules. It's grueling work, however, necessary evil. I'd rather just extract raw datum to a program.

safe fog
barren quarry
#

I've no clue what you said

#

You're using machine learning to see if there is any correlation between map landscape and events?

safe fog
safe fog
# barren quarry d3 delaunay handles the logic

Would be interesting to discover how devs implemented freezing waterways within winter zone, and how these naturally occurring frozen waterways open up new lanes of travel / exploitable by either faction.

safe fog
# barren quarry

From what I've gathered, this weather condition is uncharted territory for both factions. The first side to figure out the ramifications will bypass traditional bridges-- this adds a very real threat to the mindset that bridges and beachheads were the only routes.

#

The faction that figures this out will guard this intelligence.

#

Certainly, if I could bypass a fortified bridge using frozen waterway, I'd exploit that advantage, attack the town directly.

#

So, circling back to original inquiry-- if Clapfoot wanted to even the playing field, they'd provide datum to the community. That would be an equalizer for both factions.

long raft
#

what do you guys do about your webpacked javascript includes to not get cached when they change?

#

not sure the technique on this, do i just put a variable after ? in the <script> include?

safe mist
long raft
#

hmm

#

i wonder if webpack can help me with keeping track of versions on it then

safe mist
long raft
#

oooh...

#

so then ill need to ... update my index.html every time i run my build, no?

barren quarry
#

Usually build scripts generate a random file name

#

Solving this problem

#

Project is compiled into a folder with chunk files

long raft
#

oh nice

#

ill check this out

long raft
#

i cant change server headers in my case tho

indigo mason
#

How would you guys go about caching an endpoint call where the details returned for a certain id can be different based on a large set of boolean values?

So for example a user object has it's basic details, but in addition there are bools for includeDevices, includeUnit and so forth.

How would you go about caching something like that?

long raft
#

you could turn it into a single flag value, and maybe make that a string and ...pass it in the query?

indigo mason
#

hmmm yeah maybe. I was thinking of doing a light weight hash of the id and the bool values.

long raft
#

if you have hash collisions you will be missing pieces of code/data

indigo mason
#

yeah that is also an issue.

I am trying to think of a quick to implement and lightweight way to add it to a endpoint whose signature I cant change. Because something is hitting the endpoint really hard and I cant track down what is doing it.

long raft
#

a bit array

#

converted to an integer

indigo mason
#

hmmm yeah that is a good idea that can work well. I will give it a go. Thanks

brittle dock
#

Next update flamethrower

pure sierra
#

@tawdry thunder did you click on the map? What more did you want? I also have Google analytics

tawdry thunder
#

oh mb didnt think to click lol

#

ty

languid harness
languid harness
kind glacier
#

Would be cool if you could pull the weather from the api

safe fog
languid harness
#

Wat

safe fog
#

Freezing rates intensify and are directly correlated with deminshed movement-- a dead giveaway in all surveys. Additionally, freezing rate(s) are severe toward inner sectors, and dependent on player position in regards to vegetation, open areas, and proximity to obstacles blocking wind and snow.

#

.

#

However, in the midst severe sectors, simply exiting a vic has a rapid freeze rate and is easily overlooked, and is single common dominator in deaths with players over encumbered.

#

.

#

Next tour will evaluate two additional regions to surmount static zones and delineation across the map.

#

.

languid harness
#

What ya mean with surveys

safe fog
#

Frozen waterways were surveyed, revealing alternative paths, around bridgeheads. If a faction discovers these "lanes", interesting engagements would evolve, changing the combat landscape.

languid harness
#

Like, what you told until now is obvious; if movement is restricted, you see restricted movement

#

And freed up passages gives different places of combat

safe fog
#

Yes. However, what some players see as restricted, others will exploit. Winter Front is an opportunity to change up combat model.

#

And up to a few minutes ago, only the devs know these "hidden secrets".

languid harness
#

Secrets that were announced on a dev stream?

#

They said water ways would be frozen, and the locations of combat are similar to what you would do with LAPCs

#

The only thing I see is that you want to metricfy the weather to make it more predictable, but I see that as an issue more than a blessing

#

I really dislike the idea to have all data constantly available. It will just motivate meta gaming and will require keeping knowledge 100% up to date

#

Sucks the enjoyment oit of it and just makes it a job to play the game

#

Same for people datamining lore and models, just ruins the fun for the average bloke

#

But do as you please, who am I to stop you

barren quarry
#

If people wanted to enjoy a game they would pick a different one

#

Here it's all about working with friends towards a common goal

#

Not knowing what to do can cost you hours

#

Say, in csgo or something you can pick a not optimal build and suck for an hour maybe

#

Here your decisions matter for multiple weeks

#

It's valuable to know which ones are correct

languid harness
#

'its valuable' is true, but that does not mean it should be readily available

#

A big part of success for foxhole operations sits in adaptability and improvisation

#

and ofcourse people do enjoy the game in different ways, but the enjoyment of one should not come at the cost of the other (although some leeway is ofcourse available, but I digress). If there were to come such tool, I'd love to see it come from the devs with intend than as requested by a small part of the community

#

Besides, you could argue for years on what the best decision is at a given moment; the matter of the game is that you act and that having an influence on the evolution of the war. If I gang up 20 peeps and deploy somewhere at the front, it will have a lasting effect, be it east, west or center

#

planning does profit, but the game should not be only playable if you gather dozens of people to play at a certain time to achieve anything. Heck, the game is pretty much designed to give equal playing field between newer players and veterans by limiting influence of skill on for example combat. In most First Person Shooters, you have it that new players have to be put in different games than long time players because of the skill difference having direct impact on the gameplay, while in foxhole anyone who fights is valuable and it requires hundreds of hours to even get the slightest noticable advantage over people who played 10 hours.

#

And I believe the same should be true for the tactical aspect: there should be planning and such, but it should not require having to check 30 parameters to find the ideal spot, but rather by just taking care of various cases and be adaptable

#

that is my view on the matter, feel free to disagree ๐Ÿ™‚

safe mist
#

@pure sierra How do you determine the point to capture on your map?

#

I can't find the API information ๐Ÿ˜ฆ

pure sierra
#

The labels are in static end point

safe mist
pure sierra
#

Yes

#

That has the place names

#

And you match them up with the dynamic list to get their state.

safe mist
#

I understood that, but how do I know the point to capture?

long raft
#

the dynamic one has the control flags

#

the static is just the places and names

safe mist
#

On dynamic, I have all the buildings and not just the capture point

long raft
#

theres an icon type that tells you its a town hall

#

and you match that up to the static map by finding the closest point (thats how you find the name)

safe mist
#

iconType: 5, 6, 7 = Towhole true ?

long raft
#

yes but i think there are more because theres different tiers of town hall

pure sierra
#

There's also a victory condition flag

barren quarry
#

45 46 47 relics

long raft
#

and theres keeps

#

i think the civic center is no long relevant?

barren quarry
#

I mean who cares about keeps

long raft
#

i care about keeps

#

theyre basically a relic base, eh?

safe mist
#

Relic base only

#

I found flag = 8 and 41 ?

long raft
#

the items i care about their control zones are 35, 5, 6, 7, 8, 9, 10, 45, 46, 47, 29

barren quarry
#

@long raft

#

8, 9, 10
Really?

long raft
#

i dont know what they are

barren quarry
#

fobs

#

fobs are not part of public api

long raft
#

maybe not your api

barren quarry
#

what are you hiding from me

#

you secretly hacked into clapfoots servers?

long raft
#

i am the clapfoot servers SHChaos

barren quarry
#

also

#

29

#

29 is the fort

#

that has been looong gone

long raft
#

lol when i wrote this code it was real

#

also what if they come back

barren quarry
long raft
#

that is plausible

pure sierra
#

Landing ships even got in initially

pure sierra
serene vortex
#

Is there a way to change the DefaultScalability.ini file for higher end graphics? I can only seem to change the WindowsNoEditor\GameUserSettings.ini graphics options (setting the scalability group options to 4 instead of 3, 4 being maximum (cinematic) quality). Will the game accept me placing things like r.exampletexturesetting=4096 at the end of the file to set that property?

lunar cobalt
#

No, the game resets the settings you change when you launch it

oblique hornet
#

Lasagna

sterile junco
#

Si

late abyss
sudden geode
#

Programmers & Artists of foxhole, I am appealing for your help! You may or may not know that some of us are developing a Heart Of Iron IV Mod of Foxhole, however the dev team is small and whilst we have gotten a lot done there is a lot of programming & art to do. If you can help or know someone that would like to help then please message either myself or any of the other mod managers on the discord! (Which I will provide links for on request) Thanks.

pure sierra
#

Clapfoot renames to seige camp, almost as much meh ๐Ÿž

coral sundial
#

A minimum of 4 years of C or C++ experience
I have 2 years of college AVR c programming experience. can I apply xD

barren quarry
#

I could apply for backend in some time

summer bobcat
#

that'd be awesome lol

long raft
#

warden open source MIT license v. 1:

Copyright 2021 Derp

Permission is hereby granted, free of charge, to any warden loyalist obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit warden loyalists to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. kappaflyinchicken

#

think itll hold up in court?

leaden mirage
#

well

#

the tort part wont

#

actually it really depends on the country, in most European countries w/ continental law it shouldn't

long raft
#

ehh i dont see how id be liable if someone else uses my software for tort

#

im pretty sure that part has held up before, it is the MIT license afterall

#

but hmmm

leaden mirage
#

wasnt talking about instances where someone uses your software for tort

#

im talking about when your software causes damage to the user etc

long raft
#

eh i dont think id be liable

leaden mirage
#

ment to reply to that

long raft
#

i mean its open source, i guess its kind of technically your responsibility to make sure it doesnt cause damage?

#

i liked the idea of somebody trying to prove in court theyre a warden loyalist julianlol

leaden mirage
#

that part

#

will actually hold tho

long raft
#

lol really??

leaden mirage
#

im pretty sure atleast in my country

#

it would be you trying to prove that they arent a warden loyalist tho

long raft
#

that part seems easy

leaden mirage
#

which is a matter of a few screenshots

#

yeah

#

whats the software for

long raft
#

just having a laugh at the idea of making logiwaze faction licensed and a commercial license for colonials julianlol

leaden mirage
#

lol

#

you could do it by making the public version refuse to calculate roads within collie regions

long raft
#

lol

#

i hadnt even considered that

#

this is really making me smile

leaden mirage
#

it sounds way easier compare to the legal hassle

long raft
#

im not litigious, just petty

barren quarry
#

dont tell me i have to reimplement your website too ๐Ÿ™„

long raft
#

who elses have you done?

barren quarry
#

haydens

long raft
#

hmm

#

not 100%

barren quarry
#

well yeah it has a different flavor

long raft
#

is mine the only open source one?

#

sure would make it easy to reimplement if youre good at untying spaghetti

#

that shit is derpfuscated

#

god kastow i wish there was a flat version of your records/api

barren quarry
#

so i dont maintain a documentation at this time

long raft
#

i know i just wish i could ... just get jarvis to make the translator for me

#

its just ... unpleasant work, easy, but unpleasant

barren quarry
#

i tried my best to explain how it works

#

if there are still questions i can explain

long raft
#

yea its explained fine, it makes sense why and how you did it

#

i just hate working in javascript so much

barren quarry
#

oh i see

#

thats because you havent used typescript

long raft
#

developing in javascript is like chewing foil

#

i know i know every time i try to get tsc installed and working it doesnt and i kind of move on

barren quarry
#

very interesting description

long raft
#

but its not just javascript, i also hate node deeply

#

ill go further, i hate web development

barren quarry
#

it takes time to get used to

#

oh yeah absolutely when i was in uni i thought that web development is the most horrible thing possible in programming

#

if it werent for foxhole and sethfire i would have never learned javascript

long raft
#

ive got this one thing, the tools panel on the right id like it to be draggable/slideable in a mobile context

#

like a panel you can pull out to the size you want

#

no idea how to do this, maybe via css, maybe a bunch of javascript events, i dunno, but when i find out i can guarantee its gonna be awful to implement with leaflet

#

and then when i get that figured out i promise it wont work in firefox or the apple crap

#

and thats web dev in a nutshell

barren quarry
#

leaflet is nothing special

barren quarry
#

@long raft i only now realized logiwaze is open source

#

looking at it right now

#

images in root folder...

long raft
#

lol

barren quarry
#

fonts in root folder

long raft
#

in my defense, i forked from hayden's project

#

๐Ÿš

barren quarry
#
for (var i = 0; i < Paths.features.length; i++) {
                    var feature = Paths.features[i];```
#

can be replaced with js Paths.features.forEach(feature => {}

#

my boss taught me to use for loops as little as possible

long raft
#

i might have unrolled them for debugging purposes

#

also, forEach is a loop, so whats the diff?

barren quarry
#

so when we're talking about sync logic, there's not much difference

long raft
#

well its javascript...

#

in a browser

barren quarry
#

the logic is more obvious to people reading it

#

the kinks begin when its async

long raft
#

you are probably right

#

im a little bit hyperparanoid like wildallan about dogmatic performance things

barren quarry
#

an async for loop waits for an iteration, then executes another iteration

#

foreach async is a python version of create task

#

where it just creates a bunch of async tasks and doesnt wait for them

#

another thing you can do is map

#

map is the same as foreach but it returns stuff

#

so with async you can map an array of objects into an array of promises

#

and then wait for all of them at the same time using Promise.all

#

in python this would be asyncio.gather(*)

long raft
#

async javascript makes me ๐Ÿคฎ honestly

#

cause i know its not really running multithreaded

#

ive been thinking if i want to speed up some of the calculations done on loading i might need to employ a web worker

#

im unsure what i can parallelize tho

barren quarry
#

i like how python handles async but you need to implement a lot of error handling

long raft
#

i think i could speed it up 3x but not sure about more

#

im such a boomer programmer im so skeptical about benefits of async but i know rationally its there

#

i always intend to go back and async everything but performance is fine so i dont bother

#

the overlay could be calculated in parallel, that would be a huge speed up

barren quarry
#

implementing sleep in javascript SUCKS BALLS

long raft
#

lol indeed

barren quarry
#

i have to google it every time

#

after 3 years

long raft
#

im just doing it with setinterval

#

run code for a few iterations, check time, yield control back sometimes

barren quarry
#

setTimeout actually

long raft
#

oh youre right

#

drawing vectors and calculating variograms is ... expensive

barren quarry
#

setTimeout inside a fucking promise

long raft
#

is that bad form?

#

i feel ... like i learned javascript in a country that doesnt speak it

#

like i dont know the etiquette, but i know the words

barren quarry
#

python has asyncio.sleep()

#

really intuitive

long raft
#

i mean is that a traditional sleep? sleep is not a good thread mechanism

barren quarry
#

await Promise(r => setTimeout(r, 1000))

#

this is traditional sleep

long raft
#

right, which is like the only choice in javascript

#

a polling system

#

it checks the time constantly and executes your promise when expired

barren quarry
#

yeah

long raft
#

javascript is primitive like that

#

but sleep is kind of an old model of threading, is that how people do stuff in python?

barren quarry
#

javascript is like this childs bicycle with 4 wheels that people built a boeing on top of because there's no other option

long raft
#

i mean it must be nice to implement at least

#

i guess im most familiar with threading in c# now and its highly sophisticated, theyve had like 3 generations of thread libraries/methods

barren quarry
#

i experienced all of them and frankly i dont see a difference between threading and tasks

long raft
#

go is pretty nice, you can use 1 mechanism for all threading practically, the channels

#

threading is just low level operating system calls in c#, and tasks is basically promises

#

although there are more trigger based mechanisms in threading that javascript offers

#

you know really high performance stuff

barren quarry
#

like what

#

this was sarcasm wasnt it

long raft
#

so a lot of the traditional mechanisms (atomic operations, semaphores, critical regions, and mutexs) have faster optimized versions

#

with less overhead than usual, some avoid making OS calls

#

and i really love a programming language that actually builds threading into the code

#

its not like C has any concept of a thread

barren quarry
#

isnt C just for electronic engineers?

long raft
#

i dunno ive done a lot of C and im not EE

barren quarry
#

what are the applications

long raft
#

pretty much everything

#

its pretty universal, its just unpleasant to work in

barren quarry
#

i need examples

long raft
#

well most gnu programs are C

#

so thats like ... most of linux

barren quarry
#

why not c++ or something

long raft
#

well my opinion is that c++ has too many versions, sometimes people dont want the extra c++ dependencies, or they hate the compilers

#

for example the c++ compilers on linux has always been subpar

#

not that gcc is really great ...

#

i dunno why not c++ really, maybe its because its from the 80s and C was earlier when a lot of the foundation was done

#

plus C is just easier to learn

barren quarry
long raft
#

LOL

#

thats because of leaflet, kastow! its leaflet

#

you cant believe how hard it is to jam things into places they dont fit ๐Ÿ˜ณ

#

also im so used to being able to just right click a variable and rename it across all the code and javascript cant really be traced by the IDE

#

so i cant easily refactor names lol

#

i need that typescript

barren quarry
#

javascript without typescript is cbt

#

you really are punishing yourself man

long raft
#

god if you think that code is bad dont read any of the .sh files lol

#

my bashfu is so bad i have to look up how to do an if statement each time

barren quarry
#

my boss once told me to write a bash script to configure a mongo from start to finish when i didnt know bash at all

#

it was a painful experience but a lot was learned

long raft
#

i used to work in csh a lot because i didnt have bash available and it was horrible

#

you have to use external programs to do math

#

i think bash is backwards compatible with csh which is why its a mess

#

i hear zsh is the hot new jam

barren quarry
#

the problem with all these new frameworks and shit is that you eventually have to settle down

#

like to reach maximum efficiency you need to work with one thing for a while to figure it out

long raft
#

yeah

barren quarry
#

but if you keep jumping to the new hot thing every time the gains they provide will be pointless because you wont know how to use them

#

and by the time it starts getting profitable you jump again