CustomGraphicsEngine CSBwin)

Discuss Chaos Strikes Back for Windows and Linux, an unofficial port of Chaos Strikes Back to PC by Paul Stevens, as well as CSBuild, an associated dungeon editor.

Moderator: Zyx

Forum rules
Please read the Forum rules and policies before posting.
User avatar
Zyx
DSA Master
Posts: 2592
Joined: Mon Jun 05, 2000 1:53 pm
Location: in the mind
Contact:

Post by Zyx »

Paul Stevens wrote:I will provide a 'Monster Movement Filter Location' for each level.
The global one would be used if no override.

In that way, you can have a different DSA for each level AND/OR a different
'max distance/party level only' for special levels. And on some levels you
might point it to a 'do-nothing' DSA.
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

Excellent! I must admit I was tempted to ask about the possibility of setting the monster filter limits dynamically in the game using the &GLOBAL command or something. *rubs hands*
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

CSBuild version 2.17 and CSBwin 9.8v75 implement
the capability of having a different MonsterMoveFilter on
each level of the dungeon. The global one will be used
if none is specified for a level.

ZYX: Your private, debug version includes this update.
kentaro-k.21
Artisan
Posts: 178
Joined: Wed Dec 17, 2003 1:39 am
Location: Osaka, Japan
Contact:

Post by kentaro-k.21 »

i started to develop a set of tools to customize dungeon graphics and wall/floor ornates.
it is to have 2 or more stage set (indoor/outdoor) in one dungeon.
i'll supply tools to help dungeon graphics design (having realtime preview to realize WYSIWYG, like ADGE).

i believe latest CSBwin and CSBuild has enough capacity.
key features:

skinmap ... it helps you to select more than 1 stages in one level.
custom wall ... very important GFX part to represent indoor/outdoor mood. Paul already showed example about custom wall. it shows possibility to have your own custom wall set.
custom floor/ceil ... also important. and CSBwin custom graphics feature may support them. BUT i doubt whether it is functional or not...
custom code ... also important too. but i don't understand possibility of this code feature. i think it is vital to understand code featre's work and behavior. by understanding, it'll decide whether this project is POSSIBLE or NOT.


currently, i prepare sample wall grafic set. it is from DM2 outdoor stage.
as a result, i'll have custom wall, custom wall masks and coordinates of wall images.

a screenshot of a tool. it's to make sample wall set, but for design.



what i need:
1. answer of: is it possible to have completely customized dungeon graphics with latest CSBwin CustomGraphicsEngine?
2. ideas: anyone wanna have more dungeon graphics set in one dungeon? talk it if you have any plans and/or foresight to have custom graphics in dungeon master.
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

1 - Floor, walls, and ceiling are currently possible.
Zyx has already done ALL of this. Decorations
are not possible but it is planned. When someone is ready to
try it we probably need to work out exactly how it will be done.


2 - I don't think I am in a position to answer this one.


Edit -------
By the way, you are undertaking a very large task. It
will be enormously helpful. I wish you luck, fortitude,
and endurance.
User avatar
Adamo
Italodance spammer
Posts: 1534
Joined: Fri Apr 22, 2005 11:59 am
Location: Poland
Contact:

Post by Adamo »

I was planning to put at least 5 new wallsets for my dungeon (it contains 10 levels). But I dont know if I could - making new wallsets is very hard work. But since I allready made one, I know the drawing system. I could draw them - but what`s next? I dont really understand very well Custom Graphics Engine yet.
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

Eventually if I carry ohn with this dungeon I am doing I will need to skin one or two things, just like I knew I needed to dig into ADGE - but unlike the item functions/look, I can get away without skinning for ages.

Basically disgusing the pits as murky sky/ground below and murky shadowy coutyards below... and entending the walls (without accompanying roof) for that and a few levels will large halls where you can't see the roof
kentaro-k.21
Artisan
Posts: 178
Joined: Wed Dec 17, 2003 1:39 am
Location: Osaka, Japan
Contact:

Post by kentaro-k.21 »

hi,
Adamo:
in current plan, goal is: supply tools and tutorials to have custom dungeon graphics set (wall/floor/ceil images). tools for WYSIWYG designing, tutorials for how you import custom images set to your dungeon.
i published this plan at forum because i wanna accept many ideas while developing stage. also i publish development version as many as i can if moderate progress gets forward.
it is all...
But since I allready made one, I know the drawing system. I could draw them - but what`s next?
hmm next is to make it easy so that everyone can do it?
i may formalize the process to have new wallsets and publish how to, if i'm your position.

in this plan, i have no role to do any impressive work. i just perform very ordinal worker to write tools. in current plan, there is no impressive elements you may hope. sorry.

you got new wall set in your dungeon?
it is very nice! i think your experience is rare to help MODing users.
plz post comments, suggestions and etc if you're still interested in...
kentaro-k.21
Artisan
Posts: 178
Joined: Wed Dec 17, 2003 1:39 am
Location: Osaka, Japan
Contact:

Post by kentaro-k.21 »

outdoor walls ported for test use. this csbwin package is based on CustomGraphicsDemo17. http://homepage3.nifty.com/kkdf/csbwin_outdoortest.rar
next step is to explore a way how to have custom floor/ceil images.

Download this dungeon from this Shared OneDrive (in the 'Custom Dungeons' folder)

a kind of demo making tool. currently there is no docs. (currently unavailable)

(check http://www.7-zip.org/ for .7z format. 7z is for better compression, lower disk space use...)

EDIT: removed file
Last edited by kentaro-k.21 on Thu Sep 01, 2005 3:42 pm, edited 1 time in total.
User avatar
Adamo
Italodance spammer
Posts: 1534
Joined: Fri Apr 22, 2005 11:59 am
Location: Poland
Contact:

Post by Adamo »

hi Kentaro!
If you want to see my new wallsets, it`s on the "Creative Endavours" in "New wallsets (CSBwin)" topic, hosted by PaulH.
I don`t know, if I understood you properly. You want me to write step-by-step instruction, descibing how to make a new wallsets for CSBwin? If so, then I could do this (although my english is very weak), but I though, that everyone allready knows how to draw them. Let me know, if that was your point. (btw: I work on GIMP, so I could describe only the process of drawing in that program). Besides, I know only how to make new wallsets for ADGE and port them there, changing them with original ones (by changing 6 files there). In that case you have one new custom wallsets for all levels. But how to make it with custom graphics engine to put more than one type of wallsets in the game (one type of wall on one level) - I don`t have idea. Zyx told me once, that it`s very hard to do, but possible. I don`t know how.
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
User avatar
Zyx
DSA Master
Posts: 2592
Joined: Mon Jun 05, 2000 1:53 pm
Location: in the mind
Contact:

Post by Zyx »

2) Yes!

Kentaro, would it help you if I send you my current works on wallsets?
Give me a mail adress if you're interested.
kentaro-k.21
Artisan
Posts: 178
Joined: Wed Dec 17, 2003 1:39 am
Location: Osaka, Japan
Contact:

Post by kentaro-k.21 »

hi!

Paul:
1 - Floor, walls, and ceiling are currently possible.
Zyx has already done ALL of this.
that's great!
i'm trying to draw custom floor and ceil with skincode. i have difficulty about DrawCustomGraphic function and i'll post the question in later post.
Decorations
are not possible but it is planned.
i thought it was already done because i saw enough availaable information on your documentation site; decoration data format and function code for rendering.
otherwise, spec is ok but implementation stills yet?

Zyx:
i send you private message.
i'll be glad to dig into your wallset works!

Adamo:
i'm sorry. i have almost misunderstanded your meaning in your post.
i was sure that you had new wallset by custom graphics engine. so i blindly stirred you to talk about the mystiful way.

i checked your tutorial.
frankly speaking, although i don't require tutorial itself, your tutorial included more introductory tips than i expect. so i want to include your tutorial as tips help in my tool. would you mind if i include your post partially?

beowuuf:
for example a church wallset? (ceil at very high poisition.)
i have a screenshot of DM clone. your idea reminds it. it may be helpful to take us fresh ideas.
disgus a pit... i hit 2 candidates from your request.
a) very very thick mist around to see the clear trap pit
b) the pit blends into scene which is very difficult to distinguish whether it is the ground or pit





= memo =
pending tasks;
- try custom code to have new ceil and floor images.
- decide the tool's form.
ide
or, GUI tool form to convert a wallset only once
or, command line form
- data structure availability when it comes with ide
no persistent data. you always input all of required data every you launch
or, persistent data by unsharable data format with other app
or, persistent data by sharable data format which can share data with ADGE
- platform
VB+ocx (probably preferred for both developer and users)
or, C# (very good for developer, but the worst selection for users)
or, C/C++ (difficult screen design)
or, java (integrate skinning ide to SWT or eclipse platform?)
- GUI design
ide
or, only wizard form
or, low-level manipulation purpose
- walls in WYSIWYG preview
deploy test dungeon design with ide
or, read from extended CSBwin dungeon.dat
- base concept of edit
skinmap number base
or, purpose base (e.g. named wallset)
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

The decoration business has not been implemented.
Not at all. What you have read are my thoughts.
We can change it to be more convenient for you.
For example, we could change it to be exactly like
the walls. Or whatever. I am open for suggestions
when we need to start implementation.
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

>for example a church wallset? (ceil at very high poisition.)
Something like the screen shot you posted, yeah! Two basic ideas, a) outer walls and small keeps /town inside- so there is no roof in alot of places, just walls of varying height like that showed i nyour game example. b) a double level with no ceiling (heigh walls) and then a receprocal no floor low walls above. Walking you'd see the first, but what if the level gets flooded... time to swim, on two levels (to clear certain obstructions)

>disgus a pit... i hit 2 candidates from your request.
The idea is either being ontop of the walls of the keep, etc you should be able to fall off if you step there - but you shouldn't see a pit, instead you should only see mist,a haze, etc (of course a perfectly perspective-drawn lower level would be nice, but mist is probably more practical)
User avatar
Zyx
DSA Master
Posts: 2592
Joined: Mon Jun 05, 2000 1:53 pm
Location: in the mind
Contact:

Post by Zyx »

I'm working on the skincode.
IsOdd works fine.
0 PICK, contrarily to the DSA, is not a synonym of DUP. You have to use 1 PICK.

What do >R and R> do? ROLL?

Could you add the last values in the stack in the graphic trace, after each entry?
Could you add the command name in the trace, for each entry?

If you reference a non-existing background graphics, the error message talks wrongly about an overlay.
Furthermore, for this kind of messages (missing overlays or backgrounds), could you precise also the index of the missing item?
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

0 PICK, contrarily to the DSA, is not a synonym of DUP. You have to use 1 PICK.
Sorry about that. I did not want to document the SkinCode
language so I made it conform to Forth-79 Standard which is
already well documented. Like for 26 years!
What do >R and R> do?
Parameter stack to return stack and back again. Forth-79
defined words.
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

Could you add the last values in the stack in the graphic trace, after each entry?
The last value is shown already. I'll increase the number shown
to five.
Could you add the command name in the trace, for each entry?
No. But you could easily write a program to read the
trace and translate the opcodes. We should not be doing a
lot of debugging of large pieces of code here anyway. We
should be keeping this viewport code short and simple.
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

Zyx: Your private, debug version has these changes.
User avatar
Zyx
DSA Master
Posts: 2592
Joined: Mon Jun 05, 2000 1:53 pm
Location: in the mind
Contact:

Post by Zyx »

Thank you! Debugging is lot easier now.

Do I get an error message if a CreateVirtualBitmap couldn't create the virtual picture?
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

Do I get an error message if a CreateVirtualBitmap couldn't create the virtual picture?
No. Because this is quite normal. It only works the
first time. If it already exists then the creation fails.
If the creation fails for some other reason then you SHOULD get
an error when you try to use it.
User avatar
Zyx
DSA Master
Posts: 2592
Joined: Mon Jun 05, 2000 1:53 pm
Location: in the mind
Contact:

Post by Zyx »

Could you provide a command to get the width and height of a background bmp (CeilingGraphicID, FloorGraphicID, WallGraphicID, etc.)?
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

Your private, debug version has:

BitmapInfo ( graphicID . . . width height )

TOTALLY untested. It is more work to create a test case,
wite the code, compile it, import it, create a dungeon, etc than
it is to make the runtime engine changes.

As pointed out in the documentation, there is no 'height'
for these bitmaps. There is a total size and a width. I
derived the height by dividing the size by the width.

You also need the ViewportCompiler.exe from the CSBwin
folder on my site.
User avatar
Adamo
Italodance spammer
Posts: 1534
Joined: Fri Apr 22, 2005 11:59 am
Location: Poland
Contact:

Post by Adamo »

Can I use some of your graphics (ran, metal etc.) from your site in my custom?
(www.dianneandpaul.net/CSBwin/TechDoc/Images/Skins/)
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

Those are not mine. Nor did I put them there.
They must belong to Chrostophe. If he is listening,
he can tell you whether they are available for your
use. If we don't hear from him shortly, we can write
him directly.
kentaro-k.21
Artisan
Posts: 178
Joined: Wed Dec 17, 2003 1:39 am
Location: Osaka, Japan
Contact:

Post by kentaro-k.21 »

hi.
i'm working on custom graphics engine feature modding.
i have encountered the following error while test play (using CustomGraphicsDemo21).

"You have encountered code at relative address 0x000000 that I thought was unused. I guess I was wrong. Please let me know about it and circumstances in which it happened. xxx"
screenshot: http://homepage3.nifty.com/kkdf/cgeerr.gif

Paul could i send the archived mod which issues this problem? i have problem to place some custom wall using "DrawCustomGraphic".
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

Indeed. Send the 'archived mod' and instructions
for causing the error.

I bet it is your error but that it needs to be better
dealt with.
kentaro-k.21
Artisan
Posts: 178
Joined: Wed Dec 17, 2003 1:39 am
Location: Osaka, Japan
Contact:

Post by kentaro-k.21 »

thanks! sent pm to you.
kentaro-k.21
Artisan
Posts: 178
Joined: Wed Dec 17, 2003 1:39 am
Location: Osaka, Japan
Contact:

Post by kentaro-k.21 »

Paul Stevens wrote:Get CSBwin10001.exe.

You have tried something never before attempted.
The code was there to handle this particular
case but it was never tested, so I marked it as
'Not Implemented'.

The code is still untested!!!! So try it and tell
me whether it is working or not working and what
it seems to do wrong.

I have implemented every possible source/mask
shift possibility separately to improve CPU
efficiency. You found one that Zyx never used.
new release works very well!
the problem has been solved.
now i can challenge my next problem in my wall set customization thing. thanks for update!
kentaro-k.21
Artisan
Posts: 178
Joined: Wed Dec 17, 2003 1:39 am
Location: Osaka, Japan
Contact:

Post by kentaro-k.21 »

hi again.
i have another problem about "DrawCustomGraphic".
it seems not to draw, if sourceX in struct maskEntry is odd number (such as 59, 25, 17 and 1).
i have tested on some cases.

Code: Select all

         srcX srcY w  h dstX dstY
REM OK!   58   0  75  71   0  20
REM FAIL! 59   0  75  71   0  20
REM OK!   60   0  75  71   0  20
REM OK!   18   0  76  51  74  25
REM OK!   40   0  75  71   0  20
REM FAIL! 25   0  75  71   0  20
REM OK!   24   0  75  71   0  20
REM FAIL! 17   0  75  71   0  20
REM OK!   16   0  75  71   0  20
REM FAIL!  1   0  75  71   0  20
REM OK!    0   0  75  71   0  20
REM FAIL! 61   0  75  71   0  20
i noticed this effect because a custom wall at D2L wall position (x1=0, y1=20, x2=74, y2=90, w=72, h=71, srcx=61, srcy=0) always be invisible. all other walls seem to have even-offset for sourceX, and the walls are visible for drawing. the coord is extracted by ADGE.

Code: Select all

srcX=58   srcY=0  w=75  h=71   dstX=0  dstY=20
here is dl to reproduce visible wall sample. it contains 2 minimal files (CSBgraphics.dat and dungeon.dat) archived: http://homepage3.nifty.com/kkdf/pattern58.rar
it shows a pattern in game start: http://homepage3.nifty.com/kkdf/images/success58.png

Code: Select all

srcX=59   srcY=0  w=75  h=71   dstX=0  dstY=20
here is dl to reproduce invisible wall sample. it contains 2 minimal files (CSBgraphics.dat and dungeon.dat) archived: http://homepage3.nifty.com/kkdf/pattern59.rar
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

Good, hard detective work. Thanks.

I'm not looking forward to solving this
problem. There are so many layers of
software between your code and the
actual screen display that it is a real pain.
And I have forgotten how it all works.
But here I go............See you eventually
unless I expire in the morass.
Post Reply

Return to “Chaos Strikes Back for Windows & Linux (CSBWin) / CSBuild”