EDGE editing questions

Alright, here goes with some newbie shit. Sorry. I'm modding a couple of projects in EDGE (and 3DGE -- one of them does use vanilla EDGE though) and wanted to know a couple of things:

- Are there any guides for using COAL to make a HUD? What I kinda want is a very simple thing with an energy bar. Is this possible?
- Similarly, can I completely disable the automap?
- Actually can I disable entire options (such as load/save) without editing the code? Even if this isn't possible, I will be making code changes to EDGE when I've got the assets completed; I'm just looking for the simplest way to do everything.
- How about that intermission/points tally screen, huh? Can I skip/disable it at all?

Simply put, I want to remove or change a lot of the Doom presentational finery for a game (and a separate eventual TC) to be its own thing.

Cheers.

Share this post


Link to post

Well, seeing as it's been a couple of days and nobody has replied, I decided to take a crack at digging up answers. Bear in mind I probably have less experience with EDGE than you and take my answers with the appropriate amounts of salt.


- Are there any guides for using COAL to make a HUD? What I kinda want is a very simple thing with an energy bar. Is this possible?


I'll be honest and say that I did not look too hard for a COAL guide or tutorial on the assumption that you've done the associated google-fu exercises. However, going just by the default HUD code, an energy bar should be relatively easy to do by creating a function similar to the air bar/oxy meter


- Similarly, can I completely disable the automap?


This one I'm far more certain of: in the default coal_hud.ec, there's an if statement that says 'hud.check_automap'. The automap can't be drawn if the HUD can't hear the player ask, right? To be safe, experiment by using comments to disable code. :P


- How about that intermission/points tally screen, huh? Can I skip/disable it at all?


GOTO_MAP <Map Name> SKIP_ALL in an RTS script; custom level paths and intermissions can be done in levels.ddf

And as it is now 0200 hours.. good afternoon, good evening, and goodnight!

- Gio

Share this post


Link to post

Thanks for the response. I've disabled the points tally (was in the DDF docs, I musta missed it) although I can't seem to find much that I can understand about COAL scripts -- even looking at ones in existing mods is kinda confusing, I guess I just need to fire a few shots in the dark and see what sticks.

Further question: what's the maximum capacity for ammo types?

Share this post


Link to post

You can draw simple energy bars with a solid box (or two, bar itself and container). The COAL function is:

  hud.solid_box(x, y, w, h, color)
Colors are three numbers (red, green, blue) surrounded by single quotes, e.g. '255 0 0' for bright red. There are also some color constants defined in coal_api.ec : e.g. hud.BLACK, hud.WHITE, etc...

Menu functions (load/save/etc) cannot be changed without modifying the C++ code.

I'm not sure what maximum the ammo can go up to, it would be at least 4000000 (four million) and possibly 2 billion.

Share this post


Link to post
Giomancer said:

Oh hey! I found this at random via a link, via a link from someplace mostly unrelated to EDGE:

http://edge.sourceforge.net/phpBB2/viewtopic.php?t=454

No idea how I missed this one the other night; I blame exhaustion.

- Gio


I'd already seen this, but I really don't understand it. Where is the bit that draws what graphic? How does any of this equate into drawing a rectangle for an energy bar?

In short, the HUD that I'm aiming for is simple; an ammo counter at the top-right, and an energy bar (max 100, never going higher than this) in the bottom-left. I don't see how knowing what the < > and other operators is going to get me there.

Which says to me, I'm obviously missing something.

andrewj said:

You can draw simple energy bars with a solid box (or two, bar itself and container). The COAL function is:

  hud.solid_box(x, y, w, h, color)
Colors are three numbers (red, green, blue) surrounded by single quotes, e.g. '255 0 0' for bright red. There are also some color constants defined in coal_api.ec : e.g. hud.BLACK, hud.WHITE, etc...


This does give me something to work from, thanks. I'll have a tinker.

andrewj said:

Menu functions (load/save/etc) cannot be changed without modifying the C++ code.


I thought as much. Although I'm dreading this stage (which is why it's coming after I've done all the assets), I will try it. I'm certainly no coder, but I'll see what I can do with commenting things out and seeing what needs to be 'fixed' (if at all) from there.

andrewj said:

I'm not sure what maximum the ammo can go up to, it would be at least 4000000 (four million) and possibly 2 billion.



That's awesome! I think I shouldn't need more than about a million, it's for a poor man's score display: WolfEDGE did something like this, and DDF/RTS looks far more understandable to me than code, which is why I'd rather do things this way.

Now I need to find a way to give points whenever an enemy dies. The documentation doesn't seem to be giving me much joy as-is, but I'll have a play with various things. After all, a dumb idea of how to make a flashlight (unrelated to this current project) turned into a success.

Thanks, guys. :)

Share this post


Link to post

Right. Playing around with COALHUDS (which has been the default lump in the doom_ddf folder, pasted into my WAD) and I think I've got a decent enough solution: made my player health only 5, with all damages scaled to match this. I shall make the digits 0-5 resemble an energy bar with various degrees of fill.

Only problem is, it's still reading as a percent and it's unclear what part of COALHUDS is controlling this so I can undo it.

Score display is where I want it though, and would reach a maximum of a million if only I knew how to impliment that.

EDIT, instead of triple-post bump

So I can do scoring, even if it means an assload of small scripts. I'm fine with this.

What I now want to know is how to display the true health as a value and not a percentage. So 2/5 would display '2' and not '40'.

EDIT 2

Scoring is 100% functional now. All I need is that 5-block health bar.

I can't figure out how to make this happen, unfortunately: and hud.solid_box is giving me nothing but errors no matter how I slice it.

Share this post


Link to post

Okay I will bump the thread now.

This shit isn't helping:


Would be nice to know where my error is.

I wrote what I thought was going to be a new function, closely modeled on one already in there, to take the value of player.health and put it into a variable named 'barhealth' which then divides itself by 20 to get my required value (out of a maximum of 5 for health).

Errors compiling COALHUDS lump.

Alright, so until I know what's up with that I'll comment it out and see if I can find info.

Errors compiling COALHUDS lump.

What? Alright, I'll outright delete the fucking new shit so it's fundamentally the same as before, when it worked.

Errors compiling COALHUDS lump.

Not helpful.

Share this post


Link to post
Jayextee said:

...bad stuff...


Uhm.. yikes. I can't say that I know what's going on. Are you using EDGE's final release? If so, I'll compile it on my system and experiment a bit.

Share this post


Link to post

I'm sure I'll get there in the end. I've remade the COALHUDS lump I had (basically removing all elements apart from health and the small bullets counter; though I removed the maximum) and am making do with the health-as-a-percentage right now. If I can't get it to display how I want, I may just go with that and re-do all the damages to suit.

Right now though, I like the health being at 5. It gives me some good exact control over how many hits from which monsters kill the player. All I want, is for this to be displayed as a number from 1 to 5 instead of it working out as a percent. Then, I can create a segmented energy bar for digits 0-5 with as many segments 'filled'. I want this so I've only one set of numbers onscreen, the score.

Share this post


Link to post

Hi Jayextee,

I don't know where most of my edge mods have gotten off to, but if you'd like I could send you an upload link to the few I've scrounged together. Here's the ones I've found right off:

Doomed again
hell's chaos
Dukedoom 08 release- (first release, not the subsiquent ones by Ceejay)
Doomeu- without the wad (a bunch of ddf files)

Let me know if you haven't got any of these and you're interested.

Share this post


Link to post

Yeah, that would be kind. I'm interested in seeing how EDGE mods do things, because I really like DDF and am warming to how RTS works as I explore it.

EDGE is a neat little sourceport, isn't it?

Share this post


Link to post

EDGE's cool but it's a little out dated compared to the Zdoom family these days. If 1.34 had been released in 2006 instead of 2009, things might be different. Too bad about RTS and polyobjects. :"(

Check your pm btw.

Share this post


Link to post
Jayextee said:

Would be nice to know where my error is.

In a file called EDGE.LOG

It is usually created in the same folder as the EDGE executable.

Share this post


Link to post

That is going to help immensely. Now disengaging stupid mode, I guess. ;)

Thanks. :)

Share this post


Link to post
Jayextee said:

EDGE is a neat little sourceport, isn't it?


It is.

I am always happy to help with non-ZDoom source port questions I happen to spot on my trips through here. In all honesty, yours is the first EDGE thread I've seen in some years and I was rather bothered by the utter lack of response for the first couple of days. I hope I was at least marginally useful. =)

- Gio

Share this post


Link to post

I feel really bad that I missed this thread - I only saw it until recently. If there's anything else you need help with I'll be available. I think the base of your answers are here but don't hesitate to ask.

There's also another 3DGE forum that I moderate if it will be of any help. Link here

Share this post


Link to post

I'll consider the forum in like, a week or so (I'll be visiting my partner's family to see in the new year). I'd have asked you directly (being the developer of the current 3DGE I suppose you'd know your shit) but I imagine developing the port is already quite a load, and I don't like to bother or be a burden.

I'm thankful for Giomancer taking the reigns, plus everyone else who's stepped in and offered help on what seems to (unfortunately) be quite the niche port.

But I like it. Aside from it being GPL (so I can sell my shit if I desired since I make all the assets from scratch, still thinking on that one), DDF really is so easy and non-programmer-like to understand.

I think that's why I struggle with COAL. It's like C or PASCAL or something, I don't know. The syntax is so obtuse, I can't work out how to math with it. ;)

Share this post


Link to post

COAL is extremely similar to LUA, so if you know a bit of that then you're already ahead of the game. I can send you some examples of COAL Scripts if you need them.

Share this post


Link to post

New question: I'm trying to make an enemy explode and die as their melee attack. EXPLOSIONDAMAGE isn't working in STATES (MELEE). Is there any reason for this, and can I fix it before I apply a workaround (which I'm willing to, but I'd like to understand this first).

EDIT

No sooner had I posted, I worked it out. Messed with the monster's radius until it worked out. Whoops.

Share this post


Link to post

Bump.

Why do extrafloors seem to inherit the properties of the floor below them, and how can I change this? For example, a bridge over lava seems to do lava damage itself.

Share this post


Link to post
Jayextee said:

Why do extrafloors seem to inherit the properties of the floor below them, and how can I change this? For example, a bridge over lava seems to do lava damage itself.

The real sector provides one set of properties (like damaging), and the dummy sector for the extrafloor provides the other properties.

I thought the real sector was the underneath part, and the dummy sector was the above part, but it may be the other way around. I wrote the extrafloor code, so you can blame me if it's not intuitive :-)

Share this post


Link to post

D'oh! Silly me. Thanks for that -- they're just the reverse of what I'd have expected is all. Kinda makes sense to be top-down when it comes to lighting, I guess -- specials just follow that logic.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now