workList = []
boundaryList = []
foreach tile boundary intersecting brush
workList.append([tileIndex, boundaryId, brushOffset])
while !workList.isEmpty()
[tileIndex, boundaryId, brushOffset] = workList.pop()
boundaryNeighborList = getBoundaryNeighborList(tileIndex, boundaryId)
neighborBoundary = mirrorBoundary(boundaryId)
neighborOffset = brushOffset + boundaryOffset(boundaryId)
foreach neighborIndex in boundaryNeighborList
neighbor = [neighborIndex, neighborBoundary, neighborOffset]
if !boundaryList.contains(neighbor)
workList.append(neighbor)
boundaryList.append([tileIndex, boundaryId, brushOffset]);
foreach [tileIndex, boundaryId, brushOffset] in boundaryList
drawBrushToTile(tileIndex, brushOffset)
Some non lazy person make the following:
Pico-8-like virtual console, hybrid of NES and SMS specs
Can fairly accurately simulate specs either NES or SMS or be an amalgam of the best bits of both (eg. both tile and sprite flipping)
In-virtual-console editors plus on-desktop editors for less constrained editing
No 128x128 resolution, NES and SMS resolutions as well as integer scaled or aspect corrected fullscreen (no black-bars) approximations (eg. 384x216, 480x270)
I think you intend this for "material" tiles...Not particularly. For any continuous transition across tile boundaries where a tile can connect to more than one other for a boundary.
But then I'm not sure it's safe to deduce the edges from a sample map... You can miss some links if your sample map doesn't have all cases, and you can get false positive which makes your drawing deface unrelated tiles.That's why it would be a mode, not an always-on feature. You would use it when your image is in a fit state for it to be used, when your work image is laid out with all desired tile connections.
Personally, in such case, I would re-edit the tileset with a smaller grid size which cuts each tile in 4x4 =16 smaller squares. There will be many common sub-tiles, and thus drawing on them will repeat the drawing on the similar graphic elements which are in an other tile.I don't see how that helps matters. It multiplies the number of transitions in the tilemap, it reduces the number of transitions in the tileset but at the cost of tile variation and doesn't solve the problem of duplicated effort for matching tile transitions.
Don't know what API/version you're using, but OpenGL's Image Load Store (https://www.khronos.org/opengl/wiki/Image_Load_Store) is handy for this kind of thing. So long as you are operating on pixels independent of their neighbours no need for for a copy and bypass sampler nonsense, can bypass all the render-to-texture nonsense too if you use compute shaders. D3D has an equivalent tooUsing OpenGL, and that's handy! I decided not to do the darker color shader because even with that it's more hassle than it's worth it to me xP But I'll probably find a use for that in the future when I'm more comfortable with shaders in general. Sticking to really basic stuff for now.but can't remember the detailsthat'd be RWTexture*.
vec2(pixel.b/16 + floor(pixel.r*16)/16, 1.0-pixel.g)
But that makes a mess, and it seems I should be directly using green as my y coordinate:vec2(pixel.b/16 + floor(pixel.r*16)/16, pixel.g)
This gives me the desired results (hardly any visual change to the image). Am I misunderstanding something? Having a brainfart? When the green component is 0, I'd expect that second coordinate to mean the bottom of the color map, so why is it giving me the top?10 years on Pixelation today ^-^
Wanted to say thanks to the amazing community, Ptoing and the other admins and mods for keeping the place running for so long, the oldies that I syphoned knowledge from and the newbies who keep the chain alive.
Everything I learned about art started here and I wouldn't have the career or life I do today without it. Truly a unique place and amazing place to be on the internet. Here's to 10 more :D
10 years on Pixelation today ^-^
Wanted to say thanks to the amazing community, Ptoing and the other admins and mods for keeping the place running for so long, the oldies that I syphoned knowledge from and the newbies who keep the chain alive.
Everything I learned about art started here and I wouldn't have the career or life I do today without it. Truly a unique place and amazing place to be on the internet. Here's to 10 more :D
someone please tell me the finger cramps will go away after awhile.... :sry:Do you mean from clicking too much?
Just noticed: the 4 rightmost 'Featured' banners produce an error page, titled "URL Shortener":It appears to me that the links that don't work are still pointing to wayofthepixel.net instead of pixelation.org, so the forwarding/redirection appears to be broken.
"Destination
Unknown
Everything's working on our side, so the short link you clicked is either wrong or has been retired."
I'm pretty sure that the last banner links to 0xDB's glossary/topic summary thread.. which is definitely still here (https://pixelation.org/index.php?topic=19594.0) and accessible if I hunt it down in the forum. The URL in the banner differs in one way -- it's http:// rather than https://.
There's no apparent logic to it -- the first banner link is https and works, the second and third are NOT https but still work, and the fourth and all after that are not https and do not work.
Can anyone else confirm this behaviour? Again, banner links 1,2,3 work, and banner links 4,5,6,7 bring up the error page.
(hopefully an easy fix might be to make all the links https...)
A newfound hate for lurking spam accounts.I hope you were able to mass-delete their posts and didn't have to do it post-by-post D8
I didn’t know it was possible to post that many threads :-\I'm taking that as a challenge. Here we go!
A newfound hate for lurking spam accounts.I hope you were able to mass-delete their posts and didn't have to do it post-by-post D8
I didn’t know it was possible to post that many threads :-\I'm taking that as a challenge. Here we go!