JazzJackrabbit Community Forums  

Go Back   JazzJackrabbit Community Forums > Open Forums > General Jazz Jackrabbit Talk

Reply
 
Thread Tools
Old February 7th, 2013, 03:30 AM   #121
Jerrythabest
JCF Member
Can I has cookie?
 
 
Join Date: Apr 2005
Location: Wassenaar, the Netherlands
Reputation: Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend
Send a message via MSN to Jerrythabest Send a message via Skype™ to Jerrythabest
Quote:
Originally Posted by Sir Ementaler View Post
I'm pretty sure that JJ2 doesn't contain onTrigger() itself, so to add it, JJ2+ would just have to check for those "too many conditionals every frame" on its own and it wouldn't be any faster. However, it's worth noting that there's no reason this would be slow at all, as all you have to do is check current trigger state (JJ2 array) and previous trigger state (custom array you should update manually) for every trigger. So, check state of two booleans in a for() loop that repeats 32 (or, in your "some day" scenario, 256) times. By my estimation, this won't slow the game down by more than 1.0*10-20 fps. In other words: it's not cumbersome, it gives your script approximately up to 6 more lines, and you shouldn't worry about speed issues, there's no way this would slow the game down.
In fact I think we can do this roughly the same way as with the Text events: when they get activated, we call a specific AngelScript function. That wouldn't require checking all triggers every gametick. This is a planned feature, we just haven't gotten to the point of implementing it.
__________________
Jerrythabest is offline   Reply With Quote
Old February 7th, 2013, 04:00 AM
Sir Ementaler
This message has been deleted by Sir Ementaler. Reason: Actually, forget it, it's your JJ2+, as long as backwards compatibility doesn't get removed do whatever you like.
Old February 7th, 2013, 07:51 AM   #122
Sir Ementaler
JCF Member
Currently sadistically consuming marshmallows
 
 
Join Date: Feb 2010
Location: Fridge
Reputation: Sir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to all
Send a message via Skype™ to Sir Ementaler
Quote:
Originally Posted by plunK View Post
the Abiltiy to create new coloured gems, with customizable gem values
I was testing in hope to find a variable that does it already. I failed, but to those curious what happens if you set var[0] to -4672:
__________________

I am an official JJ2+ programmer and this has been an official JJ2+ statement.
Sir Ementaler is offline   Reply With Quote
Old February 7th, 2013, 08:15 AM   #123
minmay
JCF Member
What?
 
Join Date: Aug 2002
Location: Idaho
Reputation: minmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesome
Quote:
Originally Posted by Jerrythabest View Post
Weirdest. Bug. Ever. It doesn't really crash, it just hangs at the palette.apply() call.
For me sometimes it would outright close, actually (sometimes it would just hang, too). Should have mentioned that. Hey, it was 12 minutes after midnight.

And yeah, it's not game-breaking, not like palettes ever affect gameplay to my knowledge :P
minmay is offline   Reply With Quote
Old February 7th, 2013, 09:37 AM   #124
Jerrythabest
JCF Member
Can I has cookie?
 
 
Join Date: Apr 2005
Location: Wassenaar, the Netherlands
Reputation: Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend
Send a message via MSN to Jerrythabest Send a message via Skype™ to Jerrythabest
Yea, I've seen it doing that too. It just disappears into nowhere.
__________________
Jerrythabest is offline   Reply With Quote
Old February 7th, 2013, 06:42 PM   #125
Shelly
JCF Member
Programmer :O
 
Join Date: Feb 2010
Reputation: Shelly is doing well so far
Send a message via MSN to Shelly
I am so glad to see that Get Me R was finally implemented into JJ2+!, Good job and see you in the next one c:
__________________
[15:04:01] murßt[▀ß]: suck my dick andrzej which I dont have
Shelly is offline   Reply With Quote
Old February 8th, 2013, 04:12 AM   #126
Just a Random User
JCF Member
 
Join Date: Oct 2011
Reputation: Just a Random User is doing well so far
^ there's a bug, like in GMR v4.0. If you jump on spring, and press type /ready while you are in the air, you will jump above the base. If you're in a sucker tube and type /ready, you will move from the base, like it's one tile sucker tube.

There's still one bug, like in previous versions. Not sure if it's possible to fix, and how, but do your best! If you put warp target above the vine, this will happen:

Just a Random User is offline   Reply With Quote
Old February 8th, 2013, 04:06 PM   #127
Violet CLM
JCF ╔minence Grise
JCF Member
 
 
Join Date: Mar 2001
Location: The Intergalactic Repneck Bar
Send a message via MSN to Violet CLM
Both easy enough to fix, although I've always been attached to the second one, so I don't really want to...
__________________
Violet CLM is offline   Reply With Quote
Old February 8th, 2013, 08:52 PM   #128
minmay
JCF Member
What?
 
Join Date: Aug 2002
Location: Idaho
Reputation: minmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesome
Quote:
Originally Posted by Violet CLM View Post
I've always been attached to the second one
ditto, i hear ya bro
minmay is offline   Reply With Quote
Old February 9th, 2013, 10:07 AM   #129
Grytolle
JCF Member
CC Co-Leader
 
 
Join Date: Sep 2004
Location: Ghent, Belgium
Reputation: Grytolle is a forum legendGrytolle is a forum legendGrytolle is a forum legend
Send a message via MSN to Grytolle
That should stay!
__________________
<center></center>
Grytolle is offline   Reply With Quote
Old February 11th, 2013, 01:30 AM   #130
Sir Ementaler
JCF Member
Currently sadistically consuming marshmallows
 
 
Join Date: Feb 2010
Location: Fridge
Reputation: Sir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to all
Send a message via Skype™ to Sir Ementaler
Add OBJECT::ENEMYBULLET=20.

Turns out it's used by all sorts of hazardous projectiles spawned by SP enemies. Dragons' breathe, Monkeys' bananas, Witch's spell, Devan's gun bullets, Devil Devan's fireball, etc.
__________________

I am an official JJ2+ programmer and this has been an official JJ2+ statement.
Sir Ementaler is offline   Reply With Quote
Old February 11th, 2013, 01:36 AM   #131
cooba
JCF Veteran
 
 
Join Date: Jan 2004
Reputation: cooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of light
Quote:
Originally Posted by Violet CLM
Objects <= 20 are given special treatment as bullets, so it's on the list, but the problem is that it doesn't have any defined properties at _all_. And since you can't currently set an object's behavior function in AS, allowing people to create it wouldn't do any good.
(emphasis on "currently", probably)
cooba is offline   Reply With Quote
Old February 13th, 2013, 04:31 AM   #132
GLaDOS
JCF Member
 
 
Join Date: Aug 2010
Reputation: GLaDOS is doing well so far
Quote:
Originally Posted by Sir Ementaler View Post
Add OBJECT::ENEMYBULLET=20.

Turns out it's used by all sorts of hazardous projectiles spawned by SP enemies. Dragons' breathe, Monkeys' bananas, Witch's spell, Devan's gun bullets, Devil Devan's fireball, etc.
Object 20 is not only used by enemy projectiles, pepper spray bullets also use it, which would make it even more useful to get proper access to.
I assume the "behavior function" Violet mentioned refers to a function pointer inside the object structure that is called every tick. If that is the case, wouldn't it be sufficient to find all suitable functions from the various object types that use it and assign an enumerator to each of them? Then, just give the AS API a property of that enum with setter/getter functions that automatically convert from enum values to function pointers and back.

Last edited by GLaDOS; February 13th, 2013 at 04:42 AM..
GLaDOS is offline   Reply With Quote
Old February 13th, 2013, 04:48 AM   #133
Sir Ementaler
JCF Member
Currently sadistically consuming marshmallows
 
 
Join Date: Feb 2010
Location: Fridge
Reputation: Sir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to all
Send a message via Skype™ to Sir Ementaler
Quote:
Originally Posted by GLaDOS View Post
Object 20 is not only used by enemy projectiles, pepper spray bullets also use it, which would make it even more useful to get proper access to.
Oh, you're right. I had assumed pepper spray uses the same eventID as fireball.

But hey, that's not all! Object 20 is also used by the shock wave created by RF missiles. That'll cause trouble with naming it properly.
__________________

I am an official JJ2+ programmer and this has been an official JJ2+ statement.
Sir Ementaler is offline   Reply With Quote
Old February 13th, 2013, 12:08 PM   #134
Violet CLM
JCF ╔minence Grise
JCF Member
 
 
Join Date: Mar 2001
Location: The Intergalactic Repneck Bar
Send a message via MSN to Violet CLM
Quote:
Originally Posted by GLaDOS View Post
I assume the "behavior function" Violet mentioned refers to a function pointer inside the object structure that is called every tick. If that is the case, wouldn't it be sufficient to find all suitable functions from the various object types that use it and assign an enumerator to each of them? Then, just give the AS API a property of that enum with setter/getter functions that automatically convert from enum values to function pointers and back.
All correct, but there are a lot of them. We're figuring out how best to handle the behavior issue, floating around various approaches.


Out of curiosity -- what would people like to know about what we're doing? There was a while where we were posting teaser pictures on J2O, until people started complaining there were too many of them and other stuff like that. Now we're mostly silent except for occasional reassurances like "we know about this" or "we'll think of something." Are either of those options preferable? (With pictures presumably not on the J2O front page anymore.) Or full on development blogs? Keep in mind that I'm not saying we'll necessarily do what the majority support, but it would be nice to have some sense of where people stand on this issue.
__________________
Violet CLM is offline   Reply With Quote
Old February 13th, 2013, 12:39 PM   #135
GLaDOS
JCF Member
 
 
Join Date: Aug 2010
Reputation: GLaDOS is doing well so far
So, I've been running into another problem... I need to set a bunch of tiles (the same pattern several times across the level, but independently controlled) in a foreground layer, but the "tile cache" is getting in the way. Is it technically possible to add the option to allocate additional tile cache entries that jjTileSet() will then use?
Perhaps adding a function like jjAddTileCacheEntry(uint8 layer, int xWord, int y) would be the most convenient way to do it. It would copy the cache entry into a newly allocated one and change the cache reference of the tile to the new entry. That is, if it is possible to increase the tile cache's size, either dynamically whenever the function is called, or, if that is not possible, by a predefined maximum number when loading the level.

EDIT in response to Violet:
A development blog with relatively condensed info about upcoming features would be nice (along with maybe a bug tracker and some place for suggesting stuff ), if it doesn't take away too much time from actual development.

Last edited by GLaDOS; February 13th, 2013 at 01:22 PM.. Reason: forgot to add a function parameter
GLaDOS is offline   Reply With Quote
Old February 13th, 2013, 12:58 PM   #136
DennisKainz
JCF Member
Tileset Maker
 
 
Join Date: Dec 2005
Reputation: DennisKainz is notorious for his worthless posts
Formerly: Gus
This of JJ2 PLUS with AngelScript is a great occasion for unfinished episodes like "Jazz Unleashed", "Tomb Rabbit 2" and "Dreamscape" to REALLY amaze us when finished!
DennisKainz is offline   Reply With Quote
Old February 13th, 2013, 01:24 PM   #137
Stijn
Administrator
 
 
Join Date: Mar 2001
Reputation: Stijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to behold
I don't think those will ever be finished
Stijn is offline   Reply With Quote
Old February 13th, 2013, 01:28 PM   #138
cooba
JCF Veteran
 
 
Join Date: Jan 2004
Reputation: cooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of light
Well, Dreamscape might.
cooba is offline   Reply With Quote
Old February 14th, 2013, 03:50 AM   #139
GLaDOS
JCF Member
 
 
Join Date: Aug 2010
Reputation: GLaDOS is doing well so far
Quick question, does setting p.xOrg and p.yOrg have any effect in multiplayer at all? It doesn't seem like they work for me, the player just respawns at the MP Start / Jazz Start event.
GLaDOS is offline   Reply With Quote
Old February 14th, 2013, 05:21 AM   #140
Grytolle
JCF Member
CC Co-Leader
 
 
Join Date: Sep 2004
Location: Ghent, Belgium
Reputation: Grytolle is a forum legendGrytolle is a forum legendGrytolle is a forum legend
Send a message via MSN to Grytolle
And not the same spawn pos as the previous time?
__________________
<center></center>
Grytolle is offline   Reply With Quote
Old February 14th, 2013, 06:09 AM   #141
GLaDOS
JCF Member
 
 
Join Date: Aug 2010
Reputation: GLaDOS is doing well so far
The xOrg/yOrg variables seem to reset themselves to the usual start pos event on death. If you meant that I might have set the spawn point to the same position as the Start Pos event, that is not the case.

On an unrelated note, is the dev team considering adding access to the player input bitfield? (PlayerStruct + 0x584 if I recall correctly, at least for TSF)
It's one of these things that would allow for some very interesting gimmicks in scripted levels.

(on an even less related note, perhaps I should move my suggestion/implementation spam into a dedicated thread to make more space for bug reports/help requests/compliments in this thread, I have many more to make and I would really like to contribute to JJ2+'s script API)
GLaDOS is offline   Reply With Quote
Old February 14th, 2013, 10:47 AM   #142
Violet CLM
JCF ╔minence Grise
JCF Member
 
 
Join Date: Mar 2001
Location: The Intergalactic Repneck Bar
Send a message via MSN to Violet CLM
Quote:
Originally Posted by GLaDOS View Post
Quick question, does setting p.xOrg and p.yOrg have any effect in multiplayer at all? It doesn't seem like they work for me, the player just respawns at the MP Start / Jazz Start event.
They were a pretty last-minute addition to the API, so I don't really know -- the description in the .html doc may not even be correct -- if that's the behavior you're getting, that's probably what happens.
Quote:
Originally Posted by GLaDOS View Post
On an unrelated note, is the dev team considering adding access to the player input bitfield? (PlayerStruct + 0x584 if I recall correctly, at least for TSF)
It's one of these things that would allow for some very interesting gimmicks in scripted levels.
Controller input is definitely something that should be exposed to AngelScript somehow; we just need to figure out the most helpful way of doing that, first.
Quote:
(on an even less related note, perhaps I should move my suggestion/implementation spam into a dedicated thread to make more space for bug reports/help requests/compliments in this thread, I have many more to make and I would really like to contribute to JJ2+'s script API)
No, that's what this thread is for.
__________________
Violet CLM is offline   Reply With Quote
Old February 14th, 2013, 12:18 PM   #143
GLaDOS
JCF Member
 
 
Join Date: Aug 2010
Reputation: GLaDOS is doing well so far
Quote:
Originally Posted by Violet CLM View Post
They were a pretty last-minute addition to the API, so I don't really know -- the description in the .html doc may not even be correct -- if that's the behavior you're getting, that's probably what happens.
I guess they only work with SP checkpoints, then. The reason I asked is because I thought I might have been doing something wrong (forgetting to call some function or w/e). Currently working around it using warping, it's not really an issue; it could at most be a bit confusing to newcomers to JJ2+ scripting.

Quote:
Originally Posted by Violet CLM View Post
Controller input is definitely something that should be exposed to AngelScript somehow; we just need to figure out the most helpful way of doing that, first.
An int/enum with bit values would give the most control/efficiency while a bitwise set/get function pair would be the easiest to use. Perhaps both could be implemented? There are already quite a few things that can be achieved in multiple ways using both properties and helper functions.

Quote:
Originally Posted by Violet CLM View Post
No, that's what this thread is for.
Okay then. It just sometimes felt like a few posts were left unread because all different kinds of posts are mixed into one thread, with different discussions going on at once.

------

Unrelated edit:
Is there any reason why the invincibility variable of jjPLAYER objects other than the local players cannot be read? It would be pretty useful to at least have read access to the blinktime of other players.

Last edited by GLaDOS; February 15th, 2013 at 12:04 PM..
GLaDOS is offline   Reply With Quote
Old February 16th, 2013, 09:38 PM   #144
Violet CLM
JCF ╔minence Grise
JCF Member
 
 
Join Date: Mar 2001
Location: The Intergalactic Repneck Bar
Send a message via MSN to Violet CLM
Quote:
Originally Posted by GLaDOS View Post
Is there any reason why the invincibility variable of jjPLAYER objects other than the local players cannot be read? It would be pretty useful to at least have read access to the blinktime of other players.
Two-part answer:
1) Invincibility and blinktime are separate properties, the one of which is exposed to AngelScript and the other of which is not.
2) Player objects have far, far more properties than you see in AngelScript, not all of which are of much use; the current collection was chosen somewhat haphazardly, and we're figuring out which ones shouldn't have been left out as we go along.
__________________
Violet CLM is offline   Reply With Quote
Old February 17th, 2013, 02:06 AM   #145
GLaDOS
JCF Member
 
 
Join Date: Aug 2010
Reputation: GLaDOS is doing well so far
Quote:
Originally Posted by Violet CLM View Post
Two-part answer:
1) Invincibility and blinktime are separate properties, the one of which is exposed to AngelScript and the other of which is not.
That's interesting, I didn't know that was the case.

Quote:
Originally Posted by Violet CLM View Post
2) Player objects have far, far more properties than you see in AngelScript, not all of which are of much use; the current collection was chosen somewhat haphazardly, and we're figuring out which ones shouldn't have been left out as we go along.
With the enormous size of the player structure, having to leave out a lot of the properties is understandable. I just hope that the properties/functions that are being suggested will eventually be added to the API.

Edit:
Quote:
Originally Posted by Anonymous Reputation (-8)
calm down and sit on your ass
Seriously? I asked about opening a separate thread for my suggestions in case this thread was spammed by me with suggestions too much, and I offered to help out with improving JJ2+'s AngelScript API (C++er here), but it does not seem like anyone of the dev team is interested in letting me help. Now the only way to contribute is for me to suggest features and their implementations in this thread, the reason I am posting so many in such a short time is because I am working on a relatively large multiplayer project using AS right now. So, instead of tolerating or at least ignoring the fact that someone here is trying to help the developer team make the AS API more feature-complete despite not being part of the team, this kind of complaint is the response I get?
Receiving random unbased hate from members who stay anonymous is easily one of the most demotivating things about posting on JCF; this is a case of complete anonymity just making things much worse.


Edit 2: Above rant on reputation is now invalid; reputation system has since been improved. Doesn't make the person who gave it to me less of an idiot though.

Last edited by GLaDOS; May 5th, 2013 at 02:32 PM..
GLaDOS is offline   Reply With Quote
Old February 20th, 2013, 11:28 AM   #146
Foly
JCF Member
Just a member
 
 
Join Date: Jan 2009
Location: In a house
I've looked to the apple's objType property and i found some usefull stuff some of you might want to know and some of you might already know:

objType value: Behaviour
0: Hurt + Blocks Bullets
1: Hurt + Destroy
2: Hurt + Destroy
3: Untakable
4: Untakable (Goes here when eaten)
5: Eatable (Normal State)
6: Not able to change to this state
7: Untakable
8: Blocks bullets
9 - 14: Untakable

Untakable: The player can't take this and doesn't interact with it.
Hurt: The player get's hurt by the apple.
Blocks Bullets: Bullets are destroyed by the apple (all hail the mighty apple).
Destroy: Object gets destroyed when a player touches it.

Also, the apple can still be shot down with tnt (unless its in a masked tile) but not with normal blaster bullets (unless objType is 5).

I don't know if these changes in objType work with other objects (it probably will with other fruits). The use of this is to let the apple be a dummy object where you can change behaviour of it: i.e. make a throwable bomb that doesn't hurt the player when touched.
__________________
[13:07:13] *** Foly is on a KILLING SPREE!
[13:07:14] *** you killed yourself
[13:07:14] *** Foly was looking good but died instead...
Foly is offline   Reply With Quote
Old February 20th, 2013, 12:01 PM   #147
cooba
JCF Veteran
 
 
Join Date: Jan 2004
Reputation: cooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of light
This does explain some of this stuff blur wrote:
Code:
typedef enum oooTYPES {
	oNORMAL, oPLAYERBULLET, oENEMYBULLET, oPARTICLE, oEXPLOSION, oPICKUP, oWAITPICKUP, oHURT, oSPECIAL, oDYING, oSPECIALDONE, oSELFCOLLISION, oTYPES=15, oENEMY=16, oTRIGGERTNT=32, oALWAYSACTIVE=64
} oooTYPES;
Quote:
Originally Posted by Foly View Post
I don't know if these changes in objType work with other objects (it probably will with other fruits).
Absolutely. For example, most enemies use
Code:
oNORMAL+oTRIGGERTNT+oENEMY
for their objType.

Last edited by cooba; February 20th, 2013 at 12:17 PM..
cooba is offline   Reply With Quote
Old February 20th, 2013, 12:13 PM   #148
Violet CLM
JCF ╔minence Grise
JCF Member
 
 
Join Date: Mar 2001
Location: The Intergalactic Repneck Bar
Send a message via MSN to Violet CLM
I know one of them -- possibly oSELFCOLLISION -- is what's used by turtle shells to determine whether an object should be bounced off of or not. oSPECIAL is a tricky one that means that the object has potentially unique behavior in response to a) being hit by a bullet or b) being collided with a player, behavior which must be defined separately for each oSPECIAL object. oTRIGGERTNT does what it sounds like; oALWAYSACTIVE means the object isn't deactivated when it's more than ~30 tiles away from the player in single player. oPARTICLE, oWAITPICKUP, oHURT, oDYING, and oSPECIALDONE I know less about.

Meanwhile, I know nothing at all about "doesHurt," and have only a limited understanding of "noHit."
__________________
Violet CLM is offline   Reply With Quote
Old February 20th, 2013, 07:16 PM   #149
minmay
JCF Member
What?
 
Join Date: Aug 2002
Location: Idaho
Reputation: minmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesome
Quote:
Originally Posted by Violet CLM View Post
oALWAYSACTIVE means the object isn't deactivated when it's more than ~30 tiles away from the player in single player.
Out of curiosity, are there any objects that actually have this?
minmay is offline   Reply With Quote
Old February 20th, 2013, 07:32 PM   #150
Violet CLM
JCF ╔minence Grise
JCF Member
 
 
Join Date: Mar 2001
Location: The Intergalactic Repneck Bar
Send a message via MSN to Violet CLM
Code:
for (uint8 i = 1; i < 255; ++i)
	if (jjObjectPresets[i].objType & 64 == 64)
		jjPrint(formatInt(i, "1"));
Rotating Rock, Bridge, and all the shootable pole events. Not sure why bridges mustn't get deactivated, but the others are pretty intuitive.
__________________
Violet CLM is offline   Reply With Quote
Old February 20th, 2013, 11:54 PM   #151
cooba
JCF Veteran
 
 
Join Date: Jan 2004
Reputation: cooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of light
Also, Bees, for no reason at all.
cooba is offline   Reply With Quote
Old February 22nd, 2013, 11:48 PM   #152
minmay
JCF Member
What?
 
Join Date: Aug 2002
Location: Idaho
Reputation: minmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesome
Hahaha, is that why the Hocus levels had to leave Bees off of some of the spikes?
minmay is offline   Reply With Quote
Old February 23rd, 2013, 09:41 AM   #153
Violet CLM
JCF ╔minence Grise
JCF Member
 
 
Join Date: Mar 2001
Location: The Intergalactic Repneck Bar
Send a message via MSN to Violet CLM
Too many objects, yea.
__________________
Violet CLM is offline   Reply With Quote
Old February 25th, 2013, 03:29 PM   #154
Jett
JCF Member
JG/JaEx aka KRSplat/Jazz man
 
Join Date: Dec 2012
Reputation: Jett is doing well so far
Here are my new suggestions for plus.

Ability to stand on walls, aka sideways gravity or sticky feet
Mute all, meaning both sound and music with one click
Jett is offline   Reply With Quote
Old February 25th, 2013, 09:08 PM
minmay
This message has been deleted by minmay. Reason: how on earth did the edit button give me a double post
Old February 25th, 2013, 09:10 PM   #155
minmay
JCF Member
What?
 
Join Date: Aug 2002
Location: Idaho
Reputation: minmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesome
Going to go ahead and ask this here.

Could users be given access to at least some BASS functions? Not sure which ones are too big a security risk, but I'm particularly interested in BASS_ChannelSetPosition, BASS_ChannelSetAttribute, and BASS_SetConfig (only to set buffer length).

I ask because I'd like to have levels with "dynamic" sound or music. For example, smoothly switching to different music when overtime starts, or Sudden Death in the EGFP update (I SWEAR I AM DOING THIS).

Or, for an example that almost anyone can do, playing ambient noise depending on the player's location in a level - splashing waves that get louder as they get closer to the water, sparking noises near those electric...things in Tubelectric, etc. The Ambient Sound event can only handle so much.

Of course if it's too dangerous or not cool enough or BASS was incorporated into JJ2+ in a way that makes this non-trivial to add, I totally get that, no sweat

(you're sure you still want to allow feature requests in this thread? =P)
minmay is offline   Reply With Quote
Old February 25th, 2013, 09:32 PM   #156
Violet CLM
JCF ╔minence Grise
JCF Member
 
 
Join Date: Mar 2001
Location: The Intergalactic Repneck Bar
Send a message via MSN to Violet CLM
Quote:
Originally Posted by JETT View Post
Ability to stand on walls, aka sideways gravity or sticky feet
Complexity far outweighs utility, sorry. Reverse gravity is essentially finding a lot of values to change the signs of; sideways gravity takes a lot more thought and I don't see anyone ever using it.
Quote:
Mute all, meaning both sound and music with one click
I really don't think two separate menu options (assuming that's what you're talking about) is an insurmountable hurdle to user enjoyment.

Quote:
Originally Posted by minmay View Post
Could users be given access to at least some BASS functions? Not sure which ones are too big a security risk, but I'm particularly interested in BASS_ChannelSetPosition, BASS_ChannelSetAttribute, and BASS_SetConfig (only to set buffer length).
Only replying to this because I'm posting anyway; I know absolutely nothing about BASS, but cooba and Torkell seem to know more, so hopefully we'll have some internal discussion of this.
Quote:
Or, for an example that almost anyone can do, playing ambient noise depending on the player's location in a level - splashing waves that get louder as they get closer to the water, sparking noises near those electric...things in Tubelectric, etc. The Ambient Sound event can only handle so much.
The jjSample AngelScript function has parameters for position and volume, so I think that one's already covered, yes?
Quote:
(you're sure you still want to allow feature requests in this thread? =P)
Of course! Keeping in mind we're not guaranteed not to ignore certain requests.
__________________
Violet CLM is offline   Reply With Quote
Old February 25th, 2013, 11:27 PM   #157
cooba
JCF Veteran
 
 
Join Date: Jan 2004
Reputation: cooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of light
Quote:
Originally Posted by Violet CLM View Post
Quote:
Originally Posted by JETT View Post
Mute all, meaning both sound and music with one click
I really don't think two separate menu options (assuming that's what you're talking about) is an insurmountable hurdle to user enjoyment.
I did think this would be a pretty handy option to have, since I rarely mute only music/sound but not the other, and -nosound is impossible to turn off in-game.
cooba is offline   Reply With Quote
Old February 25th, 2013, 11:28 PM   #158
minmay
JCF Member
What?
 
Join Date: Aug 2002
Location: Idaho
Reputation: minmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesome
Quote:
Originally Posted by Violet CLM View Post
The jjSample AngelScript function has parameters for position and volume, so I think that one's already covered, yes?
Well, I was thinking of using custom sound effects - the way I was thinking of using it, they'd each be a channel or two in a MO3, and I'd adjust the volume based on the player's position. (Definitely not thinking of using multiple files here - in fact one reason I wanted access to ChannelSetPosition was to switch between several similar themes in the same module and not need to store the samples multiple times by spreading those themes across several files.)

Of course, support for user-provided sound effects may not actually be desirable at all.
minmay is offline   Reply With Quote
Old February 26th, 2013, 05:23 AM   #159
Jerrythabest
JCF Member
Can I has cookie?
 
 
Join Date: Apr 2005
Location: Wassenaar, the Netherlands
Reputation: Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend
Send a message via MSN to Jerrythabest Send a message via Skype™ to Jerrythabest
minmay, once I finish my current workings (to the Plus dev team known as the "hellfunction"), I will look into BASS. I've scrolled through its API already some week ago. Doesn't look all that difficult.
__________________
Jerrythabest is offline   Reply With Quote
Old February 28th, 2013, 11:33 AM   #160
Sir Ementaler
JCF Member
Currently sadistically consuming marshmallows
 
 
Join Date: Feb 2010
Location: Fridge
Reputation: Sir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to all
Send a message via Skype™ to Sir Ementaler
Info about noHit:
It appears to be a property used only by objects whose objType&oTYPES==oNORMAL (so in numbers, objType&15==0). It handles those objects' interactions with players' bullets. The way it works reminds objType.

0=on collision with a bullet decrease own energy and destroy the bullet unless it's fireball
1=ignore all bullets
2=destroy bullets except for pepper spray
3=destroy bullets except for pepper spray and fireball (it can also execute special actions if they're defined for the object)
+4=cause ricochet
+8=treat freezer bullets as regular bullets (if off, the object will always get frozen by freezer bullets)
+16=don't get pushed back by TNT

That's all there is to it, no object uses values higher than 31 and it doesn't seem they would cause any different effects.
__________________

I am an official JJ2+ programmer and this has been an official JJ2+ statement.

Last edited by Sir Ementaler; December 10th, 2016 at 12:05 AM..
Sir Ementaler is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump


All times are GMT -8. The time now is 01:09 PM.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
JCF © 2001-Infinity Jazz2Online