-
Notifications
You must be signed in to change notification settings - Fork 28
We need to get a package with information about the tile. #45
Comments
I'm working on this now. :) Right now, I have a script that integrates with servuo and it returns map data, tiledata, and art. |
@lamo2k123 do you think it is better to get JSON map data & tile data with REST API or through websockets? Example:
|
Websocket |
tile texture gives the server? or server gives texture id? |
Both.
Example map request at (1, 1):
Right now, returns the 8x8 block (http://wpdev.sourceforge.net/docs/formats/csharp/maps.html) Need to clean up response, so it is easier to use and read |
png gives the game server? |
Yes... The game server runs the image and data server. The image/data server runs through ServUO. It can run independently too though. |
I thought that all the static is stored in the client. |
It is, but it would make more sense to have a server that can serve images for the game client. Trying to move the images to the client would add too much complexity and wouldn't be as efficient. |
Hmmm.... |
Static content is over 1GB, so the client would need to download it every load. The server can send images as needed... so many smaller requests vs one big request... |
how much more work on this task? |
I'll try getting something up tonight after work :) |
Here's an example of the map data: http://107.161.24.129:2590/map?y=500&x=500 I can't get images working. It looks like Mono/libgdiplus doesn't support ARGB1555, which is needed for Ultima.dll to get images. 😞 Right now, everything is written in C#. In the future, I want to use nodejs OR nodejs+node-gyp+libpng or something. |
😞 |
I'm updating Ultima.dll to use ARGB8888 instead of ARGB1555 later tonight, so we should be able to get images working.
|
Loads with ARGB8888 👍 http://107.161.24.129:2590/land?id=4 |
@lamo2k123 - should I wait for you to finish the refactoring before starting implementing the graphics? |
Mmm... Use branch 'refactoring'. |
Hmm.. Origin client size textures 64x64 and 128x128. And rotate 0 |
In 'refactoring', I npm installed Any other packages needed? In console:
|
I'll commit today with corrections |
Sweet, thank you. :) |
Have you used https://www.npmjs.com/package/request before? I need to grab JSON and wondering if this is good to install or not. Could also just use XMLHttpRequest too. |
Use the 'window.fetch' |
which package contains data on the location of the character on the map? |
I think it is either packet 0x1B or packet 0x20: https://github.com/kevinhikaruevans/uojs2/blob/master/src/client/state/player/actions.js#L34 https://github.com/kevinhikaruevans/uojs2/blob/master/src/client/state/player/actions.js#L54 |
http://107.161.24.129:2590/map?y=3503&x=2574 here are the coordinates I got |
there mapId need? |
it's using blocks, so you'll need to do 3503/8 = 437, 2574/8 = 321, so you'll get: http://107.161.24.129:2590/map?y=437&x=321 There is a map ID but I need to implement it still. Right now, it's using Felucca. |
We'll probably need to create a system to detect as the player moves, preload each map block when they move near it. |
Yeah, block is too small, so we'll have to load multiple blocks at once. I'm trying to import THREE: refactoring...refactoring-map-additions but |
Do you commit the res server for me to hook up on my vps? :) |
In ServUO's Scripts directory: Then in Data/Assemblies.cfg, I'm including these:
(you'll need to download the binary dlls) You might be able to run it as a standalone application (it has a Main function) but you'll need to compile it. It's just easier to use http://107.161.24.129:2590/ for now, or at least until I can get it as a standalone application in javascript... |
And where you can view the source code for parsing files map.mul |
I'm using Ultima.dll to do that.
|
can nodejs to try to parse map file and make the api? |
Yeah, but it'll take a long time to do. |
I would like to just getting the tiles to rewrite. |
It's just a matter of porting over Ultima.dll to nodejs. Should I work on doing that? |
I want more convenient and flexible API to obtain data on the surrounding tiles. But we need to understand how to read the map file map (x) .uop |
It's being done here: https://github.com/ServUO/ServUO/blob/master/Ultima/TileMatrix.cs#L414 Should I create repo for nodejs port package? |
created. I think it will take much time. |
Do you have a link for it? |
I did not create. you create the repository.? |
Ooh, just did: |
nice 👍 |
Should it use uodatareader in server/index.js and send map responses through the websocket? Then we can send map JSON data and stuff through it. |
of course yes |
What about things like the images? Do we need to setup a separate webserver (like Express) to host this? |
hmm.. I do not know yet. I would like to work in the production is not static nodejs distributed. I have not had time to look 'uodatareader' :) and I can not yet imagine the interaction of components. |
how do you plan to implement threejs Z Index tiles? |
I'm just setting the z in the position on the tile. We get the map data It gets set here: uojs2/src/client/components/map/index.js Line 34 in 0d62a44
I need to figure out the camera rotation for it to look better here:
It's rotating the camera along the Z to 45-degrees, but then it's rotating it along the X axis to give the Z axis depth. |
No description provided.
The text was updated successfully, but these errors were encountered: