Author |
Topic: Ds1 to Dt1 relations |
Paul Siramy WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 154 From: Gannat, France Registered: Mar
2002 |
posted 24
April 2002 03:38
What is the problem ? I don't
want to make a full explain, since I provided the source with my
prog. And what about the floors, do they work ? Floors and walls are
almost the same, so I don't see where is the real problem...
Btw, My *beta* d2 lvl editor progress a little, but slowly. Right
now I'm just able to read the dt1 from mpq into memory (which is
good, no more need to extract hundreds of ds1 and dt1). I have to
make some gfx from each dt1 (at zoom 1:1, 1:2, 1:4, and 1:8) into
memory (easy), and the whole part of display / edit the map. I hope
to release an editor this week (but no promises). It will be simple
: just a single ds1 at a time, lots of debuging info. The hardest
part is for the managment of the tile you want to put. I'll try
something, and you'll tell me. I'm not sure it will be the most
handy it could be, but I think it'll be better than ascii char I cross my fingers
to be able to realese it this week (I just need time, which is what
I'm lacking since 2 weeks).
_fichiers/ip.gif)
|
Joel WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 180 From: Clermont Ferrand, France Registered: Feb
2002 |
posted 24
April 2002 04:40
nevermind fied it ... ( the
untalkable joy of mistyping if(a= nb) instead of if(a==nb) )
floors are nicely displayed but i came up with a failure when i
try to read the harem dt1. do you have it ??
------------------ ---------------------------------------
Diablo II : Cabal Wars
-- Enter the ANATOLIA MUD'S MOD ---
---------------------------------------
_fichiers/ip.gif)
|
Andiamo Serf
Posts: 5 From: Hannover/Germany Registered: Aug
2001 |
posted 25
April 2002 02:31
i think walls and Floors are not
the same.. walls are somtimes transparent...
------------------ ohh no..
_fichiers/ip.gif)
|
Paul Siramy WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 154 From: Gannat, France Registered: Mar
2002 |
posted 25
April 2002 09:39
There are "roofs", which are
exactly like the floors (3d-isometric, no walls) and they too can be
transparent when you enter some place
_fichiers/ip.gif)
|
Paul Siramy WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 154 From: Gannat, France Registered: Mar
2002 |
posted 26
April 2002 01:37
quote:
Originally posted by
Joel: floors are nicely displayed but i came up with a
failure when i try to read the harem dt1. do you have it ??
Can you send me some of your code ? I'll check them. If it's a
windows problem I don't think I'll see it, but I can double-check
all I'll see about the dt1 format itself, that's easy, and 2 points
of view is usually better than one (like this '=' instead of '=='
common bug ).
Loading and displaying of dt1 and floors may be fine.
_fichiers/ip.gif)
|
Joel WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 180 From: Clermont Ferrand, France Registered: Feb
2002 |
posted 26
April 2002 03:55
well i think i copy/paste the
wrong stuff of your code.
I found a bug in my code that explains what i do :
* first i plot directly to the screen with the coord of the pixel
withou using ClienttoScreen (to get good sized pixel)
Just to be sure, the routine that can display wall in your
code is in ds1scene isn't it ,
------------------ ---------------------------------------
Diablo II : Cabal Wars
-- Enter the ANATOLIA MUD'S MOD ---
---------------------------------------
_fichiers/ip.gif)
|
Paul Siramy WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 154 From: Gannat, France Registered: Mar
2002 |
posted 26
April 2002 08:34
It is. More precisly, here's my
code :
code:
// draw for (y=0; y<h+1; y++) { printf("%3i : ", y); fprintf(stderr, "line %3i\n", y); base_x = (80 * h) - (80 * y); base_y = 40 * y; for (x=0; x<w+1; x++) { xx = base_x + (80 * x); yy = base_y + (40 * x); // floors for (l=0; l<x4; l++) { if (layer[fl_st+l][y][x].p1 > 0) { draw_block_search1(tmpbmp, xx, yy, layer[fl_st+l][y][x].p2, // sub-index (layer[fl_st+l][y][x].p3 / 16) + // main-index ((layer[fl_st+l][y][x].p4 & 0x0F) * 16) // main-index ); } else printf(" "); } // walls for (l=0; l<x3; l++) { if (layer[(wa_st+l)*2][y][x].p4 & 0xF0) continue; if ( (layer[(wa_st+l)*2+1][y][x].p1 > 0)) { if (layer[(wa_st+l)*2+1][y][x].p1 == 3) { draw_block_search2(tmpbmp, xx, yy, 3, // orientation layer[(wa_st+l)*2][y][x].p2, // sub-index (layer[(wa_st+l)*2][y][x].p3 / 16) + // main-index ((layer[(wa_st+l)*2][y][x].p4 & 0x0F) * 16) // main-index ); draw_block_search2(tmpbmp, xx, yy, 4, // orientation layer[(wa_st+l)*2][y][x].p2, // sub-index (layer[(wa_st+l)*2][y][x].p3 / 16) + // main-index ((layer[(wa_st+l)*2][y][x].p4 & 0x0F) * 16) // main-index ); } else // not upper / left corner { draw_block_search2(tmpbmp, xx, yy, layer[(wa_st+l)*2+1][y][x].p1, // orientation layer[(wa_st+l)*2][y][x].p2, // sub-index (layer[(wa_st+l)*2][y][x].p3 / 16) + // main-index ((layer[(wa_st+l)*2][y][x].p4 & 0x0F) * 16) // main-index ); } } else printf(" "); }
In summary, I take the prop1 to prop4 from isliveo's editor maps,
and make some good indexs, as defined in the dt1 format :
orientation / main-index / sub-index, these 3 indexs are passed to
functions that search the first tile that have this 3 indexs, and
then draw it (don't forget there is a dt1 priority for the search :
from left to right in dt1files.txt)
Floors always have an orientation of 0, so I just made a distinct
function for them, to not have pass this zero, but you can make an
"universal" function. For walls, I check if this is a upper/left
corner, and if so draw this tile, WITH another one right after(first
is orientation = 3, 2nd is orientation = 4). Else it's a regular
tile.
If the high-nibble of a wall is not zero, I don't draw this tile
(since it produce blue tiles at tristam and such other errors
elsewhere).
In fact, it's pretty simple for me (of course, since *I* made
it). But if there are some dark points in there, I can explain.
---------------------------------------
As for the funtions that search and draw the tiles :
code:
void draw_block_search1(BITMAP * dst, int x0, int y0, int sub_idx, int main_idx) { BLOCK_S * block_ptr; SUB_TILE_S * tile_ptr; UBYTE * ptr; int b, t, x, y, length, dt1; for (dt1=0; dt1<glb_dt1_file; dt1++) // for (dt1=glb_dt1_file; dt1>=0; dt1--) { for (b=0; b<glb_block_number[dt1]; b++) { block_ptr = glb_block[dt1] + b; if ( (block_ptr->sub_index == sub_idx) && (block_ptr->orientation == 0) && (block_ptr->main_index == main_idx) ) { y0 -= block_ptr->y_delta; if ((block_ptr->orientation != 0) && (block_ptr->orientation != 15)) y0 += 80; tile_ptr = block_ptr->tile; for(t=0; t<block_ptr->tiles_number; t++) { length = tile_ptr->data_length; ptr = tile_ptr->data; x = tile_ptr->xpos; y = tile_ptr->ypos; if (tile_ptr->format == 0x0001) draw_sub_tile_isometric(dst, x0+x, y0+y, ptr, length); else draw_sub_tile_normal(dst, x0+x, y0+y, ptr, length); tile_ptr++; } printf("-"); return; } } } printf("!"); } // ========================================================================== void draw_block_search2(BITMAP * dst, int x0, int y0, int orient, int sub_idx, int main_idx) { BLOCK_S * block_ptr; SUB_TILE_S * tile_ptr; UBYTE * ptr; int b, t, x, y, length, dt1;
for (dt1=0; dt1<glb_dt1_file; dt1++) // for (dt1=glb_dt1_file; dt1>=0; dt1--) { for (b=0; b<glb_block_number[dt1]; b++) { block_ptr = glb_block[dt1] + b; if ( (block_ptr->sub_index == sub_idx) && (block_ptr->orientation == orient) && (block_ptr->main_index == main_idx) ) { y0 -= block_ptr->y_delta; if ((block_ptr->orientation != 0) && (block_ptr->orientation != 15)) y0 += 80; tile_ptr = block_ptr->tile; for(t=0; t<block_ptr->tiles_number; t++) { length = tile_ptr->data_length; ptr = tile_ptr->data; x = tile_ptr->xpos; y = tile_ptr->ypos; if (tile_ptr->format == 0x0001) draw_sub_tile_isometric(dst, x0+x, y0+y, ptr, length); else draw_sub_tile_normal(dst, x0+x, y0+y, ptr, length); tile_ptr++; } // fprintf(stderr, "%c", b < 223 ? 32 + b : '*'); switch(orient) { case 3 : break; case 4 : printf("+"); break; case 15 : printf("^"); break; default : printf("="); break; } return; } } } if (orient == 3) printf("#"); else if (orient == 4) printf("@"); else printf("?"); }
[...]search1 is for floor and roof, search2 is for the walls. I
take into account the "roof height" of the tile before drawing it
("y0 -= block_ptr->y_delta;"), and I draw the walls 80 pixels
lower (floor have orientation=0, and roof have orientation=15, so if
the tile I want to draw don't have an orientation of one of this 2
value, it's a wall, then I lower it).
[This message has been edited by Paul Siramy (edited 26 April
2002).]
_fichiers/ip.gif)
|
Paul Siramy WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 154 From: Gannat, France Registered: Mar
2002 |
posted 27
April 2002 11:14
Just a little post to say that my
wysiwyg lvl editor progress. Still not finished, but all the dt1
part is done : load from mpq in memory, making their bitmap into
several zoom bitmap (1:1, 1:2, 1:4, 1:8 and 1:16). For now, with all
these dt1 in different zoom, and palettes, and some other datas, it
takes around 7 MB in mem for the dt1 of Duriel. Now I "just" need to
load a ds1 and do the edit managment... loading ds1 will be easy,
but the editing involves some new algorythms, and the zoom too, and
the saving too... so some times to code.
I'm not 100% sure I'll release a simple editor this week, but
it's looking possible. If not tomorow, in 2 or 3 days I think. The
interface will be very simple : 6 keys to change the orientation /
main-index / sub-index. No popup window to choose a tile from a
list... Consider it as a first try.
_fichiers/ip.gif)
|
Paul Siramy WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 154 From: Gannat, France Registered: Mar
2002 |
posted 27
April 2002 17:25
For Joel : Just a minor change in
my ds1scene.c I just made at home, in order to not have the blue
square in tristram, BUT still have the right part of the wall near
the fire in pandemonium fortress
code:
// walls for (l=0; l<x3; l++) { if (layer[(wa_st+l)*2][y][x].p4 & 0x80) // binary : 1000-0000 continue; if ( (layer[(wa_st+l)*2+1][y][x].p1 > 0)) {
In other words : In a precedent post, I told that if the high
nibble of prop 4 of a wall have something, then I don't draw the
wall, to avoid the blue square in tristram... but that brings
problems in fortress.
In fact, it seems in this high nibble there are only 2 bits that
means something. If the higher one is set, THEN I don't draw the
tile (0x80 = 10000000 in binary), but if this bit is clear, EVEN if
the lowest is set, I draw the tile (0x10 = 00010000 --->
nevermind, draw it). I just check in fortress and tristram, and it
seems ok, but I didn't check elsewhere.
As for the lvl editor... since there are some infos that I don't
understand in prop1 of walls, and high-nibble of prop4 of wall, you
may encouter some problems when testing your maps. I still not found
an easy way to avoid this.
_fichiers/ip.gif)
|
Paul Siramy WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 154 From: Gannat, France Registered: Mar
2002 |
posted 28
April 2002 13:21
Sorry for this week, I changed my
mind, I'm afraid the editing with the keyboard will be painfull in
the [...]. So no release this week. But I have start to work in a
more handy editing. Imaging you're in the screen like in my
ds1scene.exe, you choose a tile and you right-click : you'll go on
this screen :
This is just a test bitmap I have made with psp, nothing is done
yet.
On the left part is a preview of the tile, with all the layers on
it. By clicking on "wall 1" you'll see in the big window which tile
is selected for the 1 layer of the wall. By clicking fastly on "wall
1" thru "floor 4", you quickly have an idea of what are the elements
of the preview. Of course, you'll be able to choose another tile for
this element, by just cliking on the big window.
In this image, you see what a user can view if if he have clicked
on a floor button (floor can be of 3 types, and walls of 2. This is
relative to "orientation"). In this big window, there will be 1 line
of tiles for each main-index of this type, the row are for the
sub-index. By cliking on a tile, and then clicking on "view same
random", you'll bring another window which will show all the tiles
of the same combination of orientation / main-index / sub-index (you
won't be able to choose one in there, since the game pick 1
randomly, so same for me, I'll always display the 1st).
I'm afraid my explanation are far, very far from perfect, but do
you have any suggestions while all this windows are to be code ? I
mean it's the moment to ask, because later it'll be harder to change
back.
EDIT>>> as for the prog, it needs little less than 20 MB
for Harogath, since there are so much tile to load, and all the
tiles in this dt1 are in 5 zoom format. But 20 MB are not so much
for the PC of nowadays. The prog make a global table of all the
blocks it found in the dt1 it needs, in harogath it's just 40 KB
(really nothing) for a total of 1063 blocks, and it'll allow me a
very good managment for them. When I'll load the ds1, it will search
the corresponding index in this table, for each of his cell (not so
slow tough).
Ok you don't need to know all this, but I just wanted to show I
DO have worked on my editor this week (about 20 hours, or more),
even if I don't release something as I have said I would
Next step to code : loading ds1, search the cells / block_table
corresponding, display the whole map, keyb / mouse managment, and
this windows I have talk about (not really hard, but need to bee
very accurate on this part).
[This message has been edited by Paul Siramy (edited 28 April
2002).]
_fichiers/ip.gif)
|
Alkalund Honorary Warlord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 803 From: Florianópolis, Santa Catarina,
Brazil Registered: Apr 2001 |
posted 28
April 2002 22:29
quote:
Originally posted by Paul
Siramy: I'm afraid my explanation are far, very far from
perfect, but do you have any suggestions while all this windows
are to be code ? I mean it's the moment to ask, because later
it'll be harder to change back.
Hmm, I think it looks good, easy to use. I like it
------------------ "Get me a balrog attack-1 hand-to-hand
animation, and I want it yesterday, the paladin is almost here!"
---> DMA1HTH @ offset 0006A480h. - Myhrginoc
_fichiers/ip.gif)
|
Joel WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 180 From: Clermont Ferrand, France Registered: Feb
2002 |
posted 29
April 2002 01:13
ok that's what i've
understood. As soon i come back home, i'll correct these and try
it.
I hope it 'll work, this stuff took me twice time as foreseen
I'm really sorry to have delayed it, i know people want it.
BTW, it could be nice stuff, i try to extract some tile and maps
from BGII and IWD, and some of them could be easily transformed to
suit the angle of vision of D2 !!
Hmm, nice Irenicus lair, nice Underdark goodies _fichiers/smile.gif)
------------------ ---------------------------------------
Diablo II : Cabal Wars
-- Enter the ANATOLIA MUD'S MOD ---
---------------------------------------
_fichiers/ip.gif)
|
Joel WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 180 From: Clermont Ferrand, France Registered: Feb
2002 |
posted 30
April 2002 02:59
ok corrected some stuffs.
now a question :
wha's the easiest way to turn pcx tile to dt1 ?
i mean for floor it's ok but for walls and floors ??
paul (or someone else) if you have an idea ?
------------------ ---------------------------------------
Diablo II : Cabal Wars
-- Enter the ANATOLIA MUD'S MOD ---
---------------------------------------
_fichiers/ip.gif)
|
Paul Siramy WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 154 From: Gannat, France Registered: Mar
2002 |
posted 02
May 2002 09:14
If you're talking about
converting a collection of pcx into a dt1, the easiest way for me is
to make 1 pcx for each tile. That's a hell of pcx, but that's the
easiest way to program it.
Now, in my dt1make.exe I used 4 pcx, because I didn't want to
have hundreds of pcx on my disk, and found that 4 pcx were enough :
I have prefer an easier way of tiles-managing for *users* than to
*program*. By having all the tiles of the same type on a pcx, you
can make copy/past easily. In paint shop pro you can also display a
rule, and if you take 160 pixels in x, you see easily all the walls
tiles (with 160 pixels in X and 80 pixels in Y, that's really easy
in the floor pcx).
In any case, the tiles don't need to be ordered, their index in
the dt1 is unsignificant, just the orientation/main index/sub
index are important, so you can take the hundreds of pcx in the
order you want.
edit>>> corrected what's in bold
[This message has been edited by Paul Siramy (edited 04 May
2002).]
_fichiers/ip.gif)
|
Joel WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 180 From: Clermont Ferrand, France Registered: Feb
2002 |
posted 03
May 2002 00:51
OK, i'll see that later.
For displaying the etile, i used your dt1debug.c file for
showing walls and stuffs. But i've tought further and so :
if wall/floors etc .. are coded by main/sub/orientation, the
order in the dt1 is unsignificant.
So, should i display every blocks separetly or by such group ?
------------------ ---------------------------------------
Diablo II : Cabal Wars
-- Enter the ANATOLIA MUD'S MOD ---
---------------------------------------
_fichiers/ip.gif)
|
Paul Siramy WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 154 From: Gannat, France Registered: Mar
2002 |
posted 03
May 2002 02:43
As far as I know, the order is
really unsignificant. You can choose these groups for the tiles, but
this is only for the end-user : * normal floors * animated
floors (lava) * roof (looks like floors, but draw upper, and in
ds1 they are considered like walls) * walls to the up * walls
to the bottom (some cliffs)
_fichiers/ip.gif)
|
Paul Siramy WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 154 From: Gannat, France Registered: Mar
2002 |
posted 04
May 2002 16:19
Little update of my ds1scene.zip
(187 kB), now it display floors, then walls, then roof. Roofs are
*always* draw at the end, that's to correct the drawing of the roof
of the Pandemonium's fortress. But it's still not a perfect viewer
of ds1.
edit>>> I forgot : you can give an optional parameter to
the prog now. It's a string of booleans for each layers, to tell if
it will be draw or not (check _fortress.bat & _tristram.bat).
[This message has been edited by Paul Siramy (edited 04 May
2002).]
_fichiers/ip.gif)
|
Paul Siramy WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 154 From: Gannat, France Registered: Mar
2002 |
posted 05
May 2002 16:39
I didn't finish the editor yet,
but it can load and display the ds1 now (but no editing for now).
There are some display bug (like upper-left corner, blue tile in
tristram, no roofs at all ...), I'll fix them later.
You can try this alpha version here
if you want. Just edit the ds1edit.ini and change the path to the
mpq, if they needs, then launch a .bat . You should see the prog
working for a while on making zooms of each block of each dt1 it
needs, then go in fullscreen mode, allowing you to scroll around the
ds1. ESC to quit.
You can't edit something, just load all the stuff of ds1 and dt1,
and then scroll. It's a sort of a mix of my previous ds1scene.exe
and ds1test.exe. You can change the resolution of the screen in the
ini, as long as the speed of the scroll. This "release" is just for
testing purpose (it's bad programmed for the display : it draws
again and again the screen, even if you don't touch at the keyboard
or the mouse).
You won't see it, but this prog is begening to become complex. I
have 61 kB of sources in C (not counting the ones of mpq stormless
editor console prog), because I'm planning to use several ds1 at a
time, zooms, gamma corection, windows for choosing tile... Not all
this is done yet, but right now my week end is finished, and I can
only release this Not too bad
tough, it's showing more or less what it should be later.
_fichiers/ip.gif)
|
mandzo Moderator
_fichiers/star2.gif) _fichiers/star2.gif) _fichiers/star2.gif) _fichiers/star2.gif)
Posts: 649 From: Bulgaria,Sofia Registered: Aug
2001 |
posted 05
May 2002 17:24
man i have tried the alpha ver
and it looks awsome i tried it with some other ds1 like the act3
town and it looks awsome i just cant wait for a ver in which we will
be able to edit stuff
------------------ Read or DIE Muahahahaha Evil
Returns MOD
_fichiers/ip.gif)
|
Paul Siramy WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 154 From: Gannat, France Registered: Mar
2002 |
posted 08
May 2002 17:11
Still no edit available, but
improvments of the above zip :
* correct display (upper-left corners, no blue tiles in tristram,
roofs...) * zooms ('+' and '-' from the keypad, 1:1, 1:2, 1:4,
1:8 and 1:16) * layers toggle (F1 to F4 for 4 floors layers, F5
to F8 for wall) * the tiles on all the layers where is the mouse
are grey, that'll help to locate which tile is to edit.
Since I didn't improve the display yet, you may experienced some
little problems with the keys. Just hold down the key a little
longer it it is the case for you, until the prog read it.
I was afraid that the more tiles I'll display, the slower it'll
be (with zoom). In fact it's the opposite a full screen in
harogath with a zoom of 1:1 is slower to draw than the entire town
at 1:16 (but i have a pentium 166 mmx, so maybe you won't notice the
difference).
Zooms don't center on your mouse when changing the zoom, but on
the middle of the screen.
With the help of Zooms, layer toggle, and the "shape (grey)
helper", it's not difficult to understand how the tiles are combined
now.
_fichiers/ip.gif)
|
Paul Siramy WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 154 From: Gannat, France Registered: Mar
2002 |
posted 09
May 2002 05:50
Another little update, now change
the scroll speed according to the current zoom, and the gamma
correction is now supported (F11 & F12). Include in the zip now
is a readme.txt for a summary of the keys.
I guess that now almost everything except the editing is done, I
have no choice but to find some courage and jump into the coding of
the editing (the selecting of multiple tiles will wait, I'm afraid
it'll be more frighting to code than the editing).
_fichiers/ip.gif)
|
Paul Siramy WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 154 From: Gannat, France Registered: Mar
2002 |
posted 11
May 2002 07:02
Another little update (who said
"again!" ? ).
* The Home key center the map (usefull if you're lost far outside
the map, in the dark
* when the ds1 is opened, it is always at zoom 1:4 and centered
* color depth works now (you can change it in the ini). There is
no need to use it right now, since you can only open 1 ds1, so no
palette conflicts, but you can test it for your own purpose since
this another screen mode, and your screen (and video card) may
handle them differently.
* the right click on a tile will bring the really begening of the
edit window : there's just some buttons in there, and excepts the OK
buttons to exit, they're doing nothing (but at least I have started
it, the harder part is done )
* I have made some multiple-tiles-selection tests, and it works
well except... that's slow to Hell ! I need to make some internal
bitmaps to be useable. So I didn't put that part in this release.
Still, the code of it is done, and it allows to select exactly
the part of the tiles you want : you can select / deselect the
layers you see, meaning that you can select a floor but no wall of a
tile, and then adding a wall but no floor of another far tiles. It's
powerfull, but you have to be carefull in what you're selecting.
That's the toggling of the layers that tell which layers are to be
selected.
I'll make the internal bitmap I need in some times, and then I'll
put back this part on the prog, to allow you to test it, but not
right now.
the zip is now 250 KB, due to the add of some pcx, and the
support of true color mode.
<<< EDIT >>>
* I forgot to say I changed the mouse cursor to the one you use
during the game
* In the bottom-left corner there are the cell coordinates of the
mouse (like in Isliveo's editor).
* And now even if the *mouse* cursor is outside the map, the
*tile* cursor stay inside.
[This message has been edited by Paul Siramy (edited 11 May
2002).]
_fichiers/ip.gif)
|
Paul Siramy WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 154 From: Gannat, France Registered: Mar
2002 |
posted 12
May 2002 07:59
Minor update (like always). The
zip is now 362 kB (oops).
When you right-clik to enter the edit window, the left part of it
have the preview tiles now. For now I always draw at the bottom,
because most of the tiles we'll editing will be walls, not cliff.
Maybe I'll implement a height scroll for this preview window, but
later.
While we're in the minor changes, the position of the mouse is
save before you enter the edit window, to restore it after you have
made your change, this is to stay on the same tile cursor before and
after the editing.
This preview window is usefull for looking what are the tiles
hiden by the other ones on the same layer. Maybe I'll
implement some options for the tiles you have selected, like
: * delete *
copy * hide (1) *
change layer (2)
(1) by hiding some walls we'll be able to see behind.
(2) changing the layer of a tile change it's drawing priority in
the game. In tristram there's the shadow of a tree over a wall. By
swaping them, the wall will be over the shadow.
_fichiers/ip.gif)
|
Paul Siramy WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 154 From: Gannat, France Registered: Mar
2002 |
posted 12
May 2002 11:42
OK, last update until 1 week. My
5 days of hollydays are about to finish. Because of that I changed
my mind and enable the mutiple floor/wall selection in this release.
On my p166 it's slow to hell when the selection is just half the
screen... I'll change that later, I just put it back to prepare you
Ho, the zip is "just" 266 kB now, I mistakly put the "test.pcx"
in the precedent zip (nothing important, but big).
In this update, you can see the tabs in the edit window, and they
change accordingly to the wall/floor button you click, but there's
nothing in the tabs yet. The prog check all the dt1 the ds1 ask to
load, and only show the tabs where there are tiles in it. So in most
of the ds1 you won't see the "lower walls" tab, nor the "animated
floors". Try Harrogat for having most of them.
See you... next week.
<<< EDIT >>> I couldn't resist, I have
to code before sleeping so ... there's a FPS in the upper/right
corner now (if you don't move, it goes to zero, just normal since it
display the frames it *have to* display the last second, and if you
don't move just the mouse need to be redraw), and some various tinny
things.
[This message has been edited by Paul Siramy (edited 12 May
2002).]
_fichiers/ip.gif)
|
Paul Siramy WarLord
_fichiers/sword.gif) _fichiers/sword.gif) _fichiers/sword.gif)
Posts: 154 From: Gannat, France Registered: Mar
2002 |
posted 12
May 2002 16:54
I was playing with my editor
when, by opening the Pandemonium Fortress I saw the drawing wasn't
correct. The wall4 layer is currently draw at the end (wall1 first,
then wall2, than wall3 then wall4). I always tought it was correct
but ... here in the Fortress there's a problem...
Now, analysing it back with isilveo's editor I' mwondering if ...
if the prop1 of a wall layer (the map 0 in this case) don't indicate
the drawing priority ? Usually in the ds1 we see the prop1 is equal
to 129, but in the Fortress we see 129, 137, 145...
I'm almost sure this prop1 (wich I never used before in my
ds1scene.exe, since I didn't understood what was its use) indicate
the drawing priority of a cell !
I'll check it when I'll have time, but it does make sense to
me.
_fichiers/ip.gif)
| |