V3 function request
Displaying 1-20 of 105 total.
12 3 ...
6
next
RageCage
|
something like callEvent() would be handy, I'm pretty sure it was in v2. thx
I'm sure yall are probably getting tired of all these requests and what not. sorry bout that =p
Posted on 2004-04-06 16:13:27
|
hahn
|
Ah, but 'tis the magic of VC3.
There is no explicit callEvent() since you can just use the name of your own defined functions.
openChest (int flag, int x, int y)
{
code;
code;
code;
}
...
openChest(50,30,20);
Posted on 2004-04-06 16:51:24
|
vecna
|
Alternately, you want CallFunction().
You pass the name, not the number, since there's no numbered events in V3.
Posted on 2004-04-06 16:58:17
|
Technetium
|
Here are a couple more ideas I thought of recently.
Have an option for maps called "wrap" which would make maps wrap around like the world maps in most console RPG games. This could be an option to set in maped or maybe in vc. This is something that could be faked with clever map-making (I did it for the V2 Vortex long ago), but it would be pesky to do, and you know a lot of people making rpgs are gonna want it, and you said V3 aims for ease of use. :-D
How about a function that goes something like entityBlit(int entity, int frame, int destimage)? That way we could do lots of creative stuff with entities. In particular, I'm thinking of the effect in FF6 when a monster would cast Death on a character, and you would see a translucent image of the character being lifted away by Death.
You probably have both of these in the works already, but I figured I would suggest it anyways.
Posted on 2004-04-07 00:14:33
|
RageCage
|
yeah I'll just use callfunction...
but on another note... I cant find any kind of hookkey or a hooktimer for that matter.
Posted on 2004-04-07 00:19:52
|
vecna
|
Did Grue forget to put the v3vergec.txt in the zip or is it just that none of you looked at it? ^_^
.. Ok i'll grant you the hook* functions, it seems they're not in the txt. .. Damn wtf. Okok.
Anyway. One of the functions that IS in there is:
void BlitEntityFrame(int x, int y, int e, int f, int dest)
useful in combination with variables: entity.x[], entity.y[], xwin, ywin, entity.frame[], and event.entity.
Oh, uh, and also useful in combination with:
void HookEntityRender(int entity, string funcname);
Posted on 2004-04-07 02:24:26 (last edited on 2004-04-07 02:25:06)
|
rpgking
|
Cool. Looks like HookEntityRender may be useful for paper-dolling, if it does what I think it does.
Posted on 2004-04-07 03:24:43
|
Rysen
|
Just wondering, does HookKey work like it did in v2?
I try doing it the way I would before, and the compiler tells me that my function doesn't return a string.
Edit: I think I figured it out, from looking at how some of the other Hook* functions were used in the Packin demo. I'm assuming that I'm supposed to have quotes around the function name now, however, when I do it that way it crashes on me, before the map even loads.
Posted on 2004-04-07 03:51:07 (last edited on 2004-04-07 04:16:44)
|
RageCage
|
void HookEntityRender(int entity, string funcname);?
so wait... does that mean it renders a entity AND calls a function or what? what is functname for?
Posted on 2004-04-07 04:38:01
|
vecna
|
HookKey isn't implemented yet. Which is one reason its not documented. Yes, it is in the exe if you do a string dump, but its not hooked up.
HookTimer works... for me. There's a known crash issue with it, that may be what you're encountering.
I'm setting up a win98 VM right now, hopefully it'll help me debug some of these crash issues.
Posted on 2004-04-07 04:44:38
|
Rysen
|
Alrighty...well I'll have to rethink my HoV entry some then. :) hehe
Thanks for the quick responses! :)
Posted on 2004-04-07 05:01:11
|
vecna
|
To rpgking/ragecage:
HookEntityRender "takes over" rendering of the entity you hook. That means that the engine will NOT render that entity itself. It will instead call the function passed. What it will do is set event.entity to the entity index being requested to be rendered, and it will call that function in the proper entity y-sort order.
You can do something like:
void darinrender()
{
SetLucent(50);
BlitEntityFrame(entity.x[1]-xwin, entity.y[1]-ywin, 1, entity.frame[1], screen);
SetLucent(0);
}
.. In theory. having just tested it, there's a bug in entity.frame[], it does not do idle frames at all. I'll fix that in the next exe. Which will be either in two days or so, or else the weekend.
Edit: Also, as is implied by the above code example, blitentityframe's coordinates are adjusted for the chr hotspot.
Posted on 2004-04-07 05:19:03 (last edited on 2004-04-07 05:37:26)
|
Miggle
|
Would putting in support for shockwave flash be hard??? I know it would add an extra 200K or so the the engine but it would be coo...
Posted on 2004-04-07 07:42:14
|
RageCage
|
thats awsome vecna! thanks ^_^
Posted on 2004-04-07 12:36:40
|
mcgrue
|
Would putting in support for shockwave flash be hard??? I know it would add an extra 200K or so the the engine but it would be coo...
This is a very silly request.
Is this what we devolve to after everyone gets mp3, midi, and hicolor support which've been the traditional, and more reasonable, whines?
Posted on 2004-04-07 14:32:39
|
RageCage
|
if you want to use flash, make a flash game!
Posted on 2004-04-07 15:39:53
|
Gayo
|
Also: PowerPoint!
Posted on 2004-04-07 16:05:26
|
Miggle
|
actually I was thinking using flash more for fmv sequences and such, being that avi can tend to take up a lot of memory.. but bump that idea.
Here's something that I want to see.
A function that will ignore calls for the passed agrument function. Confusing? Example
void Ignore(playmusic());
any other time from then on that verge encounters a playmusic statement it will just ignore it.
Usefulness say you have a 2 versions of a game. one with music. and one without. Cause the file sizes majority vary. Also sending just the code and engine to your "buddy" to check it out. instead of sending the whole file with the music.
With the ignore statement you wouldn't have to go through every piece of VC you have and take out the playmusic();
Im sure it would be useful in other cases too.
Posted on 2004-04-07 16:14:01
|
rpgking
|
If I'm not mistaken, the PlayMusic() function will not crash Verge3 if the music file doesn't exist. Instead, it just won't play it. So an Ignore function of that type would be pretty pointless.
Posted on 2004-04-07 17:06:07 (last edited on 2004-04-07 17:12:38)
|
Zip
|
If you have some lines of code you want to be able to remove quickly and easily just use comments:
Ie. I often use debug lines of code that begin:
/*debug*/
Use find, replace to change it to:
//debug//
Removing those bits out of the final program.
If you want to be able to do it runtime however, just have a flag and if() statement each time - barely any overhead.
Zip
Posted on 2004-04-07 17:13:48
|