These are chat archives for ZaneDubya/UltimaXNA

26th
Aug 2015
Xen85
@Xen85
Aug 26 2015 20:24
@ZaneDubya in ML is possible to build place items and build structure in client ^_^
when i'll have some time trust me i'll be very happy to fork the project ^^
(again)
Jeff Boulanger
@jeffboulanger
Aug 26 2015 20:26
Ya, and the client isnt finished, far from it ;) Please review the roadmap https://github.com/ZaneDubya/UltimaXNA/milestones
If something is missing, please create an issue https://github.com/ZaneDubya/UltimaXNA/issues and either wait for it to be fixed, or submit a pull request with the fix
Xen85
@Xen85
Aug 26 2015 20:27
i just asked if they cared about that part
nothing more ^^
Jeff Boulanger
@jeffboulanger
Aug 26 2015 20:27
I know, but nothing will get implemented without an issue open, if it is in the legacy client, we want it, if its something custom, and not currently in the latest client, its not something we will do.
Xen85
@Xen85
Aug 26 2015 20:29
yes ok, drag&drop of items is in each ultima client and even before ultima online if i remember well
maybe not walls ok, but swords and so on, yes
Jeff Boulanger
@jeffboulanger
Aug 26 2015 20:29
right
pretty sure none of that is done, at least not 100%
Xen85
@Xen85
Aug 26 2015 20:30
but if you want to support only ML
why do you discuss about uop support?
did i miss something?
Jeff Boulanger
@jeffboulanger
Aug 26 2015 20:32
UOP support is fine, we aren't focused on it, we are focused on ML, we also didn't add UOP support, it was a pull request. And since its an actualy legacy client feature, we added it. However, its buggy, and not backward compatible, not sure if Zane fixed it or not, but it broke ML stuff. So my guess is he will have to fix it or rip it out.
Zane Wagner
@ZaneDubya
Aug 26 2015 20:32
@jeffboulanger is correct.
ML first and foremost. We won't officially support the UOP file system, even if it is included in the codebase.
@Xen85 You can place items in the world. Not walls, you are correct.
Xen85
@Xen85
Aug 26 2015 20:35
maybe if this weekend i'll have some free time, i'll test the game again
did you solve problem about trasparency? if i remember well it was an issue
Jeff Boulanger
@jeffboulanger
Aug 26 2015 20:37
Was there an issue opened about it?
Xen85
@Xen85
Aug 26 2015 20:37
mounts ago if i remember well
maybe i'm wrong
Jeff Boulanger
@jeffboulanger
Aug 26 2015 20:38
Would have to look at the issue ;)
If there is no issue, probably not ;)
Xen85
@Xen85
Aug 26 2015 20:38
ZaneDubya/UltimaXNA@3bb2563
ther's a comment in a commit
about it
there was an issue about : ZaneDubya/UltimaXNA#230
Deniz Sökmen
@denizsokmen
Aug 26 2015 20:48
guys, uop stuff is definitely backwards compatible because it's not even related to anything except support for loading extended tables. it's just my bad for touching item id related files
I shouldn't have extended to 0xffff before implementing the multi flag for items
but the itemid-related parts can easily be eliminated or fixed
Jeff Boulanger
@jeffboulanger
Aug 26 2015 20:50
It has issues :)
Deniz Sökmen
@denizsokmen
Aug 26 2015 20:50
like what
Jeff Boulanger
@jeffboulanger
Aug 26 2015 20:50
@ZaneDubya can answer
Deniz Sökmen
@denizsokmen
Aug 26 2015 20:54
he told me something about it yesterday
effect indices etc.
but they should be fixed now
Zane Wagner
@ZaneDubya
Aug 26 2015 20:54
Ah, I should have updated you both!
I think I have tracked down all of the issues.
They came about as a result of the itemID masks.
Sorry, that was a huge oversight on my part.
Deniz Sökmen
@denizsokmen
Aug 26 2015 20:55
:D
Zane Wagner
@ZaneDubya
Aug 26 2015 20:55
Here is my fix (it's in many different resource files)
Haha, it's a little hacky, but it works.
Jeff Boulanger
@jeffboulanger
Aug 26 2015 20:56
Should hide that, and do FileManager.ItemMask
Deniz Sökmen
@denizsokmen
Aug 26 2015 20:56
nice :D
Zane Wagner
@ZaneDubya
Aug 26 2015 20:56
Oh that's clever.
...
Right.
Jeff Boulanger
@jeffboulanger
Aug 26 2015 20:57
and return IsUOPFormat ? 0xFFFF : 0x3FFF;
Zane Wagner
@ZaneDubya
Aug 26 2015 20:57
@jeffboulanger good idea, will do.
Jeff Boulanger
@jeffboulanger
Aug 26 2015 20:57
I specialize in refactoring code that is copy pasted ;)
Zane Wagner
@ZaneDubya
Aug 26 2015 20:58
lol, well this will eliminate about six of my copy-pastes.
Deniz Sökmen
@denizsokmen
Aug 26 2015 20:58
lol
Jeff Boulanger
@jeffboulanger
Aug 26 2015 20:58
really bugs me, so at work, im really good at fixing that ;)
Deniz Sökmen
@denizsokmen
Aug 26 2015 20:58
I wish there were more documentation about SA&HS packets but as the time passed, many experienced developers and hackers just stopped dealing with UO
it's bad
Zane Wagner
@ZaneDubya
Aug 26 2015 20:59
@Xen85 Transparency is going to be difficult to implement.
Jeff Boulanger
@jeffboulanger
Aug 26 2015 20:59
the russian site has a lot of them
Zane Wagner
@ZaneDubya
Aug 26 2015 20:59
Because transparent objects need to be sorted.
Deniz Sökmen
@denizsokmen
Aug 26 2015 20:59
oh it's 23:59 pm
im f**d up, gotta wake up at 06:00 am
Jeff Boulanger
@jeffboulanger
Aug 26 2015 20:59
;)
Zane Wagner
@ZaneDubya
Aug 26 2015 20:59
And right now we're just batching sprites.
nite @denizsokmen
Deniz Sökmen
@denizsokmen
Aug 26 2015 21:00
good night :(
i will have a bad day tomorrow at work :D
cya
Jeff Boulanger
@jeffboulanger
Aug 26 2015 21:00
I fear the renderer needs to be rewritten ;( Also zane, rendering the world is done incorrectly right now, which is why sorting breaks a lot :(
Xen85
@Xen85
Aug 26 2015 21:01
if you need to make a new renderer... can i advice you to make it in another dll?
i mean a different project
Zane Wagner
@ZaneDubya
Aug 26 2015 21:01
@jeffboulanger The original renderer has plenty of sorting bugs.
I challenge you to come up with a real time isometric renderer that has none.
;)
Jeff Boulanger
@jeffboulanger
Aug 26 2015 21:01
oh i know
im just saying, alot of that sorting issues and it not matching legacy client is because the rendering goes literally top to bottom left to right
when infact it should go isometrically top to bottom left to right in 8x8 intervals
it should move coordinately to the game, left to right, top to bottom, but in 8x8 chunks
this fixes a ton of overlap
Zane Wagner
@ZaneDubya
Aug 26 2015 21:03
You should look into implementing that if it would fix problems without introducing new ones!
:)
Jeff Boulanger
@jeffboulanger
Aug 26 2015 21:04
im just saying, it would because thats how legacy works, iris works, and playuo works
they still have to sort
but not as much there is a specific order
and less deferral
Zane Wagner
@ZaneDubya
Aug 26 2015 21:04
But there's definitely deferral of mobiles in the legacy client.
Every single mobile actually. Corpses too.
Jeff Boulanger
@jeffboulanger
Aug 26 2015 21:05
sure, i agree, but its GDI
it has to defer cause there is no depth buffer
DX and GDI are to completely different beasts
and im not saying you dont have to defer
just not always have to defer
;)
Zane Wagner
@ZaneDubya
Aug 26 2015 21:05
heh
Jeff Boulanger
@jeffboulanger
Aug 26 2015 21:06
going left to right top to bottom in world coordinates always ensures you are drawn over left and top tiles
Zane Wagner
@ZaneDubya
Aug 26 2015 21:06
I think I've said this before, but I am amazed that the legacy client runs as quickly as it does. :)
Jeff Boulanger
@jeffboulanger
Aug 26 2015 21:06
yes
heavy pointers ;)
Zane Wagner
@ZaneDubya
Aug 26 2015 21:09
Screen Shot 2015-08-26 at 4.08.25 PM.png
Jeff Boulanger
@jeffboulanger
Aug 26 2015 21:09
ya
thats legacy?
Zane Wagner
@ZaneDubya
Aug 26 2015 21:09
If the shadow isn't a huge clue, that's from legacy.
Right!
Beat me to it ;)
Jeff Boulanger
@jeffboulanger
Aug 26 2015 21:09
right
thats cause its coordinately left to right
makes perfect sense
and i would expect it to look like that
cause if that was a tree
not a wall
or even, no door
it should look like his head is behind that wall
Zane Wagner
@ZaneDubya
Aug 26 2015 21:11
Screen Shot 2015-08-26 at 4.11.06 PM.png
And that's the legacy's deferral system.
At least, I think that's what's going on.
Jeff Boulanger
@jeffboulanger
Aug 26 2015 21:15
is the chair 2 tiles?
my guess there is something with blitting, and the order of blitting
probably not necesarily deferral
the fact that the chair is 1 tile, yet renders like 2
means it blitted in a weird order for whatever reason
Zane Wagner
@ZaneDubya
Aug 26 2015 21:19
I think you could be right. But it could also be deferral similar to what the xna client is doing.
Jeff Boulanger
@jeffboulanger
Aug 26 2015 21:56
Zane did you ever implement transparent textures for gumps?
meaning, {transparent} or whatever the packet defines as the see-through part of a gump
checkertrans
Zane Wagner
@ZaneDubya
Aug 26 2015 22:23
No, have not. I imagine it would be fairly easy to implement, just one more thing on the back burner.
Jeff Boulanger
@jeffboulanger
Aug 26 2015 22:24
If you wanna write it down for reference, its not a simple transparency
Jeff Boulanger
@jeffboulanger
Aug 26 2015 22:29
you would render the entire game (without gumps) to a texture, then use that textures as a full screen as the texture for the transparency regions of the gump, and their texcoord would map to 0 -> 1 based on position within the game window. so if you have 1024 768 and the gump is at x:100 y:100 and the transparent region is x:30 y:30 w:100 h:100, then its absolute position is x:130, y:130 w:100, h:100. So the uv values would map from u:0.12 -> 0.22, v:0.17->0.30
moving the gump would effectively change these values. You could probably do almost all the work in the shader, given the shader has the width/height of the client
and overlay a 2x2 texture tiled of black/transparent -> transparent/black
that would give you the same effect as the legacy client
with little to no effort via the cpu
Zane Wagner
@ZaneDubya
Aug 26 2015 23:03
Hm. We would have to flush the spritebatch after each gump.
Zane Wagner
@ZaneDubya
Aug 26 2015 23:10
Yes, I see that now.
because the transparent pixels in the alpha region rewrite any pixels from the same gump that is underneath them.
Jeff Boulanger
@jeffboulanger
Aug 26 2015 23:24
no
you dont render the gumps behind them
if you look at UO, it only shows transparency on the world
ah ya
read your first comment, replied, then read the rest haha
if this weren't XNA it would be easier :)
XNA limits what you have access to on the graphics device