Register FAQ Search Today's Posts Mark Forums Read
Go Back   JazzJackrabbit Community Forums » Open Forums » General Jazz Jackrabbit Talk

JJ2+ v5.12 (last updated 20 August, 2023)

Reply
 
Thread Tools
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 11,042

Violet CLM has disabled reputation

Feb 28, 2013, 12:30 PM
Violet CLM is offline
Reply With Quote
Oh, awesome. I think the pepper spray thing might be a mistake that I introduced?, but otherwise, that's great to know.
__________________
Seren Seren's Avatar

JCF Member

Joined: Feb 2010

Posts: 867

Seren is a name known to allSeren is a name known to allSeren is a name known to allSeren is a name known to allSeren is a name known to allSeren is a name known to all

Feb 28, 2013, 01:01 PM
Seren is offline
Reply With Quote
Oh, it looks like that's true. Objects treat pepper spray as a normal bullet in vanilla JJ2 but apparently not in the latest Plus release.
__________________

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

JCF Member

Joined: Aug 2002

Posts: 1,186

minmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesome

Feb 28, 2013, 05:38 PM
minmay is offline
Reply With Quote
If you break survivor28 I'm gonna be so mad
Jett

JCF Member

Joined: Dec 2012

Posts: 48

Jett is doing well so far

Mar 1, 2013, 12:31 PM
Jett is offline
Reply With Quote
Some, or a lot actually, music files don't work with plus, specifically 669 modules
sonicnathan 1

JCF Member

Joined: Mar 2007

Posts: 382

sonicnathan 1 is doing well so far

Mar 8, 2013, 01:36 AM
sonicnathan 1 is offline
Reply With Quote
Great job. I look forward to seeing what the community is going to do with these new additions.
__________________
<a href="http://www.jazz2online.com/J2Ov2/downloads/info.php?levelID=5301">Episode 1 The War begins</a>
Epsiode 2:N/A
Episode 3: Probably never
Episode 4: Probably never

<a href="http://www.jazz2online.com/J2Ov2/downloads/info.php?levelID=4882"> Deckstar V3</a>
<a href="http://www.jazz2online.com/J2Ov2/downloads/info.php?levelID=5408">Colonial Fix</a>
Jazz 1 Fanolint: 98%

<a href="http://www.jazz2online.com/J2Ov2/downloads/info.php?levelID=5407">Finished secret levels</a>
Seren Seren's Avatar

JCF Member

Joined: Feb 2010

Posts: 867

Seren is a name known to allSeren is a name known to allSeren is a name known to allSeren is a name known to allSeren is a name known to allSeren is a name known to all

Mar 8, 2013, 05:50 AM
Seren is offline
Reply With Quote
It's annoying that division by 0 causes an error even in case of floats. I found a workaround for declaring infinity (const float INFINITY=1.0e+39;), but, besides the fact it looks ugly, there are cases when division by 0 is more appropriate or shortens code, and I still didn't find a way to declare a NaN if I can't use 0.0/0.0.
I don't know if it can be fixed but I would be thankful if it were taken care of.
__________________

I am an official JJ2+ programmer and this has been an official JJ2+ statement.
Stijn Stijn's Avatar

Administrator

Joined: Mar 2001

Posts: 6,965

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

Mar 8, 2013, 06:42 AM
Stijn is offline
Reply With Quote
...when would you ever want to divide by zero? What should the result of such a division be? Even if the result of a division by zero was infinity (it isn't), how would you use the concept of "infinity" in a scripting context?
Seren Seren's Avatar

JCF Member

Joined: Feb 2010

Posts: 867

Seren is a name known to allSeren is a name known to allSeren is a name known to allSeren is a name known to allSeren is a name known to allSeren is a name known to all

Mar 8, 2013, 07:04 AM
Seren is offline
Reply With Quote
Quote:
Originally Posted by Stijn View Post
it isn't
Oh, I do realize it isn't in math, but C++, which I believe AS is based on, does return infinity on division by 0. Floats can also keep positive and negative zero and the sign of infinity depends on the sign of zero (which is basically the only difference between +0 and -0). Usually, infinity is declared as 1.0/0.0, minus infinity as -1.0/0.0 and NaN as 0.0/0.0. Division by ±infinity returns ±0 (and this part actually works correctly in AS). There are various forms of use for infinity and NaN. Or so I assume, because if there weren't, floats wouldn't be able to store them, right? Personally, I'm using them for min(), max(), mean() and median(), each of which is meant to have 2 or more arguments, and declaring them as double min(double x1,double x2,double x3=INFINITY,double x4=INFINITY,...) or double mean(double x1,double x2,double x3=NaN,double x4=NaN,...) was the best idea I was able to come up with.

Also, infinity, minus infinity and NaN work just fine in comparisons.
__________________

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

Last edited by Sir Ementaler; Mar 8, 2013 at 07:21 AM.
GLaDOS GLaDOS's Avatar

JCF Member

Joined: Aug 2010

Posts: 40

GLaDOS is doing well so far

Mar 8, 2013, 10:03 AM
GLaDOS is offline
Reply With Quote
Quote:
Originally Posted by Sir Ementaler View Post
Oh, I do realize it isn't in math, but C++, which I believe AS is based on, does return infinity on division by 0.
This is implementation-dependent. I get a floating point exception when trying to perform a division by zero, using GCC.

Quote:
Originally Posted by Sir Ementaler View Post
Personally, I'm using them for min(), max(), mean() and median(), each of which is meant to have 2 or more arguments, and declaring them as double min(double x1,double x2,double x3=INFINITY,double x4=INFINITY,...) or double mean(double x1,double x2,double x3=NaN,double x4=NaN,...) was the best idea I was able to come up with.
AS allows function overloading, meaning you can have multiple functions with the same name only separated by their parameter types or counts. For example, you can do something like this:
Code:
double minGeneric(array< double > numbers) // Weird spacing because JCF insists on parsing HTML even within code tags
[ algorithm goes here ]

double min(double x1, double x2)
{
    return minGeneric({x1, x2});
}
double min(double x1, double x2, double x3)
...
double min(double x1, double x2, double x3, double x4)
...
Not sure if the code is going to work exactly like that, it's been a while since I actually did something with AngelScript.
Seren Seren's Avatar

JCF Member

Joined: Feb 2010

Posts: 867

Seren is a name known to allSeren is a name known to allSeren is a name known to allSeren is a name known to allSeren is a name known to allSeren is a name known to all

Mar 8, 2013, 10:35 AM
Seren is offline
Reply With Quote
Oh I know about that, I had considered this option too, but, to be honest, I dislike it. It just doesn't look good and adds many additional lines. I really feel default arguments are aesthetically better in this case. And they work too, at least in case of min(), max() and median(), because mean() won't work so well with infinity and I didn't find a way to get NaN yet. Edit: Oh wait, I can get it by multiplying 0 by infinity. Cool.
__________________

I am an official JJ2+ programmer and this has been an official JJ2+ statement.
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 11,042

Violet CLM has disabled reputation

Mar 8, 2013, 10:44 AM
Violet CLM is offline
Reply With Quote
These are things to take up with AngelCode, not with us.
__________________
Seren Seren's Avatar

JCF Member

Joined: Feb 2010

Posts: 867

Seren is a name known to allSeren is a name known to allSeren is a name known to allSeren is a name known to allSeren is a name known to allSeren is a name known to all

Mar 8, 2013, 11:00 AM
Seren is offline
Reply With Quote
Ow, that's what I was worried about. And even worse, I just found out AS returns true in NaN==0 comparison, so it's more or less useless (you might think this means it's actually 0 rather than NaN, but then I doubt formatFloat() would return "-1.#IND"). While whether division by 0 is useful or not is arguable, NaN being equal to 0 is certainly something that should get fixed, since it's a value that's supposed to return false even in NaN==NaN. I'll try to get in touch with whoever is in charge of AS.
__________________

I am an official JJ2+ programmer and this has been an official JJ2+ statement.
Jerrythabest Jerrythabest's Avatar

JCF Member

Joined: Apr 2005

Posts: 2,602

Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend

Mar 8, 2013, 12:11 PM
Jerrythabest is offline
Reply With Quote
Isn't it easier to write a min() function that takes an array as its argument? Then you could just do this (untested code, have never worked with AS arrays myself):
Code:
double min(array<double> &arr){
  arr.sortAsc();
  return arr[0];
}
__________________
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 11,042

Violet CLM has disabled reputation

Mar 9, 2013, 12:08 AM
Violet CLM is offline
Reply With Quote
Quote:
Originally Posted by Sir Ementaler View Post
I'll try to get in touch with whoever is in charge of AS.
Go here and post a topic. In my experience, Andreas is relatively quick to respond (taking into account timezone differences) and quite understanding.

I notice that AngelScipt got another release on Tuesday. We should probably remember to incorporate that, if for no other reason than those sexy binary literals.
__________________
Quintocle Quintocle's Avatar

JCF Member

Joined: Oct 2010

Posts: 14

Quintocle is doing well so far

Mar 17, 2013, 09:20 PM
Quintocle is offline
Reply With Quote
It would be nice if Limit X Scroll had an Instant parameter for instantaneously scrolling to the specified targets upon activation.
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 11,042

Violet CLM has disabled reputation

Mar 17, 2013, 11:08 PM
Violet CLM is offline
Reply With Quote
It actually can't. There's no room in the bitfield for any more parameters.
__________________
Quintocle Quintocle's Avatar

JCF Member

Joined: Oct 2010

Posts: 14

Quintocle is doing well so far

Mar 18, 2013, 10:50 AM
Quintocle is offline
Reply With Quote
Unfortunate.
cooba cooba's Avatar

JCF Veteran

Joined: Jan 2004

Posts: 7,814

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

Mar 18, 2013, 11:29 AM
cooba is offline
Reply With Quote
I'm sure p.cameraFreeze and p.offsetPosition can do whatever you want to do with Limit X Scroll.
Jerrythabest Jerrythabest's Avatar

JCF Member

Joined: Apr 2005

Posts: 2,602

Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend

Mar 19, 2013, 10:50 AM
Jerrythabest is offline
Reply With Quote
Although there is no other option in this case, we should not forget that not everyone has the programming knowledge to use AngelScript.

Therefore, I would also like to point out that the non-scripting folks out there should not hesitate to do feature requests like this
__________________
Quintocle Quintocle's Avatar

JCF Member

Joined: Oct 2010

Posts: 14

Quintocle is doing well so far

Mar 21, 2013, 02:39 PM
Quintocle is offline
Reply With Quote
What I wanted to accomplish is the player seeing what appears to be the edge of the level lower down, but 20 tiles or so higher not being able to see the edge of the level.

Something like this:

The problem is if the player moves to the left fast enough after activating the LimitXScroll they can see the level scrolling.
Foly Foly's Avatar

JCF Member

Joined: Jan 2009

Posts: 202

Foly has disabled reputation

Mar 23, 2013, 07:51 AM
Foly is offline
Reply With Quote
A few more things i'd like to see in the new plus (angelscript):
1. A function or property to see if a player has died for ALL players. For example a function onPlayerDeath(int playerID) or a property jjPlayers[pID].isDead (which could be true for a small time or untill the player has spawn).
2. Being able to change the jjPlayers[pID].flag variable.
3. A property jjPlayers[pID].name that shows the name of the player as string.
4. An option for the server to execute a plus command but without the line showing up in the chat (now you can use jjChat("/something") but it gives spam)

Most of it you have probably already thought of but if you didn't, here you go
__________________
[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...
Jett

JCF Member

Joined: Dec 2012

Posts: 48

Jett is doing well so far

Mar 31, 2013, 07:01 PM
Jett is offline
Reply With Quote
Ok, here's just another suggestion, after mute all.
A new icon for plusified JJ2 and related shortcuts could improve the program's presentation.
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 11,042

Violet CLM has disabled reputation

Apr 7, 2013, 03:03 PM
Violet CLM is offline
Reply With Quote
The behavior described in this post, aside from the first bullet point, is pretty clearly a bug. In fact it's very easy to fix, to the point that you can fix it yourself by changing byte 0x4C543C (in 1.23) to 01 instead of 00. The question: is this a useful bug that should be left in, or is it just too silly and arbitrary to live? Your opinions, please.
__________________
Grytolle Grytolle's Avatar

JCF Member

Joined: Sep 2004

Posts: 4,126

Grytolle is a forum legendGrytolle is a forum legendGrytolle is a forum legend

Apr 8, 2013, 02:47 AM
Grytolle is offline
Reply With Quote
Just give level makers the ability to remove the bug temporarily through .j2s imo!
__________________
<center></center>
Jerrythabest Jerrythabest's Avatar

JCF Member

Joined: Apr 2005

Posts: 2,602

Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend

Apr 8, 2013, 05:32 AM
Jerrythabest is offline
Reply With Quote
Unless there are some popular levels using this bug, that can't be fixed by a simple AngelScript file, I'd say: fix the bug. Most of its behaviour is silly IMO.
__________________
burnout92 burnout92's Avatar

JCF Member

Joined: Dec 2012

Posts: 236

burnout92 is doing well so far

Apr 17, 2013, 11:54 AM
burnout92 is offline
Reply With Quote
Hi guys! I have a problem with the Plus. I enable the Always Run mode only just me run always (I play with keyboard) my brother (he play with joystick) isn't run always if only he press the Run button.
__________________
"Where I walk, I walk alone. Where I fight, I fight alone" Akuma from Street Fighter Alpha The Animation
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 11,042

Violet CLM has disabled reputation

Apr 17, 2013, 01:03 PM
Violet CLM is offline
Reply With Quote
Ooh, joysticks. Thanks, will look into it.
__________________
burnout92 burnout92's Avatar

JCF Member

Joined: Dec 2012

Posts: 236

burnout92 is doing well so far

Apr 17, 2013, 01:07 PM
burnout92 is offline
Reply With Quote
Instead I thank you.
__________________
"Where I walk, I walk alone. Where I fight, I fight alone" Akuma from Street Fighter Alpha The Animation
FihuFiL FihuFiL's Avatar

JCF Member

Joined: Jan 2010

Posts: 28

FihuFiL is notorious for his worthless posts

Apr 19, 2013, 09:50 AM
FihuFiL is offline
Reply With Quote
I had trouble running this version of JJ2 under Wine 1.5 on Ubuntu 12.04.
Sometimes this happen:

ofc I have "Hardware Acceleration" and "MMX Capabilities" disabled on JJ2.

Wine debugger shows this when Access Violation happen:

Code:
err:seh:setup_exception_record stack overflow 1296 bytes in thread 0009 eip 7ea124c4 esp 00230e20 stack 0x230000-0x231000-0x330000
wine: Unhandled page fault on read access to 0x00000000 at address 0x4a0a62 (thread 0037), starting debugger...
__________________
My blog
RapidRage Industries

Last edited by FihuFiL; Apr 19, 2013 at 10:03 AM.
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 11,042

Violet CLM has disabled reputation

Apr 19, 2013, 10:15 AM
Violet CLM is offline
Reply With Quote
Hmm. I'm about 95% sure you're running TSF there, because that error would make no sense for 1.23. For TSF, it means something's going wrong while initializing the galaxy sound system. Can you comment any more on under what circumstances this happens? Are you opening JJ2, or playing specific music files, or what?
__________________
FihuFiL FihuFiL's Avatar

JCF Member

Joined: Jan 2010

Posts: 28

FihuFiL is notorious for his worthless posts

Apr 19, 2013, 11:02 AM
FihuFiL is offline
Reply With Quote
I just set up a simple minimized server(gamemode: pest) with default 3 battle levels. And it happen while cycling on random lvls. (I tested it when window is not minimized it happen too while level cycling)
Like:
"Press fire to continue"
>Hitting space
"Access violation"

EDIT: Yes I'm running 1.24 for sure.
__________________
My blog
RapidRage Industries
burnout92 burnout92's Avatar

JCF Member

Joined: Dec 2012

Posts: 236

burnout92 is doing well so far

Apr 19, 2013, 11:51 AM
burnout92 is offline
Reply With Quote
FihuFil. You tried with sequence level cycling? Or a different gamemode?
__________________
"Where I walk, I walk alone. Where I fight, I fight alone" Akuma from Street Fighter Alpha The Animation
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 11,042

Violet CLM has disabled reputation

Apr 19, 2013, 03:11 PM
Violet CLM is offline
Reply With Quote
Does any given level either crash JJ2 or not crash JJ2, every time you try cycling to that specific level? Or does it seem random?
__________________
Stijn Stijn's Avatar

Administrator

Joined: Mar 2001

Posts: 6,965

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

Apr 19, 2013, 03:47 PM
Stijn is offline
Reply With Quote
During the bash (the only occasion on which I have played JJ2+ in quite a while) I would randomly crash during level cycling as well, and I think several other people in the server had the same problem. I don't think it was a level-specific thing.

It was an Access Violation crash, though sadly I forgot to make a screenshot of the exact error. I was using 1.23.
minmay

JCF Member

Joined: Aug 2002

Posts: 1,186

minmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesome

Apr 19, 2013, 10:10 PM
minmay is offline
Reply With Quote
I get that crash on virtually every level cycle (as well as often when joining a server or exiting to the menu) but always assumed it was just a Wine problem. It doesn't always appear as an access violation (sometimes it does, sometimes everything just closes, sometimes the screen freezes black, and I never get useful console output).
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 11,042

Violet CLM has disabled reputation

Apr 19, 2013, 10:47 PM
Violet CLM is offline
Reply With Quote
Quote:
Originally Posted by Stijn View Post
During the bash (the only occasion on which I have played JJ2+ in quite a while) I would randomly crash during level cycling as well, and I think several other people in the server had the same problem. I don't think it was a level-specific thing.

It was an Access Violation crash, though sadly I forgot to make a screenshot of the exact error. I was using 1.23.
I get a stack overflow not infrequently from cycling with 1.23, but it's in a different function. (Though still, I hasten to point out, in native code.) Maybe I should try 1.24 and see if I can get FihuFil's error in Windows.
__________________
Foly Foly's Avatar

JCF Member

Joined: Jan 2009

Posts: 202

Foly has disabled reputation

Apr 19, 2013, 11:07 PM
Foly is offline
Reply With Quote
When I host levels in 1.23 and cycle it also crashes sometimes. I don't remember if it haphened before the new plus but since i've been working on a new level lately i noticed it more. It usually haphens more when i hit the space bar quicker to skip to the next level. It's probably the same stack overflow as violet got but still if you want i can post the error.
__________________
[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...
burnout92 burnout92's Avatar

JCF Member

Joined: Dec 2012

Posts: 236

burnout92 is doing well so far

Apr 19, 2013, 11:14 PM
burnout92 is offline
Reply With Quote
I think better the Windows for 1.24 than the Linux because on my computer doesn't start JJ2:TSF with a Access Violation error crashed and throw back to the Linux.
__________________
"Where I walk, I walk alone. Where I fight, I fight alone" Akuma from Street Fighter Alpha The Animation
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 11,042

Violet CLM has disabled reputation

Apr 19, 2013, 11:31 PM
Violet CLM is offline
Reply With Quote
burnout, can you share that access violation? I know they look opaque to the point that they once got JJ2 included on a list of awful error messages, but they can be kind of useful to us from time to time.
__________________
burnout92 burnout92's Avatar

JCF Member

Joined: Dec 2012

Posts: 236

burnout92 is doing well so far

Apr 19, 2013, 11:59 PM
burnout92 is offline
Reply With Quote
Sorry I don't share for you the Access Violation message but I will try later and if I got a Access Violation message then I can share for. But I think similar the Access Violation that I got.
__________________
"Where I walk, I walk alone. Where I fight, I fight alone" Akuma from Street Fighter Alpha The Animation
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:33 PM.