JazzJackrabbit Community Forums

JazzJackrabbit Community Forums (http://www.jazz2online.com/jcf/index.php)
-   General Jazz Jackrabbit Talk (http://www.jazz2online.com/jcf/forumdisplay.php?f=4)
-   -   JJ2+ v6.6h (last updated 1 September, 2026) (http://www.jazz2online.com/jcf/showthread.php?t=19489)

Grytolle Apr 21, 2013 05:25 AM

I get these almost every day :p


Code:

AV @ 468803, by attempting to read from 80

DS=23
ES=23
FS=3B
GS=0
CS:EIP=1B:468803
SS:ESP=23:12FB40
SS:EBP=23:12FB70

EAX=0
EBX=3C6927D
ECX=20
EDX=80
ESI=0
EDI=3C68FFD
EBP=12FB70

I was using TSF+ and I have marked the addresses that are in the plus.dll range


Edit: The AV occurred when the server cycled from "|||Tropicana |Bay" - Cracco WoC7.j2l to "The Tale Of Moo: An Epic Story" - Cracco WoC8.j2l, but I doubt that that matters.


Edit2: It might be a good idea to let user enable some kind of automatic reporting of AVs

Jerrythabest Apr 21, 2013 11:54 AM

I have in fact already been thinking about how we could give the AV window a 'Report' button to collect the data we need to fix them. And at the same time I actually also thought about how we could finally get an update service in place. For both things we need to make a simple online backend. When I have time someday in the near future I can probably make a start with this to see how it works out.

burnout92 Apr 22, 2013 05:52 AM

That both thing is a good idea Jerry. :D But the Update Service is how to work?

Jerrythabest Apr 22, 2013 10:31 AM

Well, I've mostly thought about the technical part, but from a user's point of view you could think about finding a notice in the main menu when there is a new version, or maybe some optional popup window with an 'update' button. And of course a 'Check for updates...' menu item in the Plus menu. Also, 99% surely the game will need to restart for the update to be applied.

burnout92 Apr 30, 2013 11:15 AM

Are you think is a good idea the bulit-in MP3 Player in the JJ2? :)

Grytolle May 2, 2013 06:18 AM

Quote:

Originally Posted by burnout92 (Post 478851)
Are you think is a good idea the bulit-in MP3 Player in the JJ2? :)

Yes!:7

Treylina May 2, 2013 09:11 AM

I'd like to point out the new bass.dll that came with the most recent version of plus is broken. I know the plus team isn't behind it, but it seems that the new bass.dll appears to have missing channels on some modules that previously worked fine (or at least one missing channel I can notice). I used an old version of it and then it worked fine. I don't know if there's been a recent fix of it though, but in that case it should be replaced or downgraded.

In other "fixes", I didn't see the point of fixing a glitch where you could enter through tubes horizontally with a copter. It breaks some levels (for example, This level is untitled) and wasn't actually gamebreaking. I'm not sure if it was a side effect of fixing the directional bias of copters, though.

Violet CLM May 2, 2013 11:10 AM

Quote:

Originally Posted by Treylina (Post 478881)
In other "fixes", I didn't see the point of fixing a glitch where you could enter through tubes horizontally with a copter. It breaks some levels (for example, This level is untitled) and wasn't actually gamebreaking. I'm not sure if it was a side effect of fixing the directional bias of copters, though.

Completely a side effect of that, yes. The way copters used to work was a bug caused by a mistyped less than or greater than sign (don't remember which, offhand), but when I tried replacing that with the way they were intended to work, it still wasn't especially fun. So instead I made copters not overriding your xSpeed at all, which naturally had the side effect of them not override your xSpeed in the specific case of your being in a sucker tube. We didn't think of any other levels where this could be a problem, though, and it should still be possible to get the powerup by warp or bouncers.

cooba May 2, 2013 11:49 AM

If you run this script (thanks Jerry) with This Level Is Untitled, the copter will work the way it did:
Code:

//evilmike212.j2as

void onPlayer(){
  if(p.direction == -1 &&                                //If facing left,
    jjObjects[p.fly - 1].eventID == OBJECT::COPTER &&        //while hanging on a copter,
    p.yPos > 32*67 && p.yPos < 32*68 &&                //in the tube's height,
    p.xSpeed > 0){                                        //getting pushed to the right,
      p.xSpeed = -4;                                        //move to the left instead.
      p.direction = 1;                                        //Require the left button to be held.
  }
}


FihuFiL May 4, 2013 06:03 AM

Quote:

Originally Posted by Violet CLM (Post 478784)
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?

I'm sorry for my absence.
It happen completely random of different lvls.
I tested it with Wine 1.2.2 (for DJazz it works very good), 1.5, 1.5.21, 1.5.28.

DanZeal May 6, 2013 01:13 AM

Seems like plus stops updating the playlog after some weeks.

Jerrythabest May 6, 2013 12:11 PM

You mean "some weeks of uptime/running time"? I must admit we never tested for such a crazy long time :D

DanZeal May 7, 2013 12:50 AM

Quote:

Originally Posted by Jerrythabest (Post 478919)
You mean "some weeks of uptime/running time"? I must admit we never tested for such a crazy long time :D

Yes. Never happened with the old version. Would be happy if this was solved.

Superjazz May 11, 2013 01:08 AM

Quote:

Originally Posted by cooba (Post 478883)
If you run this script (thanks Jerry) with This Level Is Untitled, the copter will work the way it did:
Code:

//evilmike212.j2as

void onPlayer(){
  if(p.direction == -1 &&                                //If facing left,
    jjObjects[p.fly - 1].eventID == OBJECT::COPTER &&        //while hanging on a copter,
    p.yPos > 32*67 && p.yPos < 32*68 &&                //in the tube's height,
    p.xSpeed > 0){                                        //getting pushed to the right,
      p.xSpeed = -4;                                        //move to the left instead.
      p.direction = 1;                                        //Require the left button to be held.
  }
}


Added to Zeal Duels.

Sony Jun 24, 2013 04:52 AM

hey, does anybody knows why when i'm downloading this, i go to the plusifier and then i make it into jazz2+ it isnt from 2013, its from 2010. and i also tried this with the 2008 version and it still says that is from 2010. i dont know what to do, can anybody help me?

Jerrythabest Jun 24, 2013 09:33 AM

Are you absoultely 100% sure you replaced plus.dll with the version from the first post?

MrAlextov Jun 28, 2013 05:18 AM

It think is JJ2+ fault for crashing at cycles because it doesn't crash with original JJ2.

Jerrythabest Jun 28, 2013 09:39 AM

I think so too. Somewhere it seems to cause stack corruption but until now no-one has found out what the problem is. The most annoying thing is, that it doesn't happen at all cycles. That might sound odd, but it's a hell to solve a bug that can't be reproduced consistenly. To me it seems like it happens completely at random.

If anyone knows some 99%-sure way to trigger it (other than just keeping cycling until it happens), I'd be happy to hear about it!

Violet CLM Jun 28, 2013 09:57 AM

Well, we do know the memory addresses, so it's not completely hopeless. Unfortunately they're consistently in locations we've never touched, usually Galaxy Sound code or locking the video surface.

Love & Thunder Jun 28, 2013 01:57 PM

Although I haven't actually encountered this bug before(I never host JJ2 games, except for one Local game where I was experimenting with JJ2+ stuff), perhaps the Galaxy Sound one is caused by specific music file types? Or maybe a bug in Bass.dll?
(By the way, speaking of music, is there any chance of you guys implementing FLAC support for music in Plus?)

cooba Jun 28, 2013 02:22 PM

Quote:

Originally Posted by Robo4900 (Post 479253)
By the way, speaking of music, is there any chance of you guys implementing FLAC support for music in Plus?

Regular MP3s take long enough to download through JJ2, so probably not. Also, nobody in the team is an audiophile. :H

MrAlextov Jun 29, 2013 05:56 AM

Would be good you guys to releasing Experiment version to public. So other can test these new version to look for bug or reviewing the new features.

Violet CLM Jun 29, 2013 09:49 AM

But we do. Haven't you seen the word "Beta" in the bottom left of the main menu?

Jerrythabest Jun 29, 2013 10:53 AM

It's all a big experiment...
*hypno*

MrAlextov Jul 1, 2013 12:36 AM

Quote:

Originally Posted by Violet CLM (Post 479257)
But we do. Haven't you seen the word "Beta" in the bottom left of the main menu?

We meaning Experiment/Pre-release of that.
Also how long will there BETA tag, looks like it isn't Beta?

Jerrythabest Jul 1, 2013 09:34 AM

Violet mentioned somewhere that Blur mentioned somewhere that he'd wanted to drop the Beta label only after some things were accomplished. One of them that I remember is that he wanted auto-updating in place.

minmay Jul 4, 2013 10:25 AM

How often does the level cycle crash happen for most people? I get it on more than 50% of level cycles, as well as just starting the game. For what it's worth, I'm running JJ2 in Wine.

EDIT: Completely unrelated, but any chance of getting a Limit Y Scroll?

minmay Jul 7, 2013 09:07 AM

I think I've narrowed down the crash a bit. It appears to never occur on levels with no animated tiles.

Jerrythabest Jul 7, 2013 12:39 PM

Wow, are there any such levels?! If this is true, it could be a very valuable step in finding the exact problem. I wonder, did you try levels that have no animated tiles, or levels that use no animated tiles? (I.e. what happens with levels that have animated tiles without including any of them in any layer?)

minmay Jul 8, 2013 06:47 AM

http://www.cowmuffins.net/stuff/___doesntcrash.j2l
http://www.cowmuffins.net/stuff/___doescrash.j2l
You can guess which one is which. The only difference is that the latter one actually uses the second animated tile (exactly five times). So it appears it does require that the tiles actually be used. By the way, instead of doing a full cycle you can trigger the crash with jjk (hence the 1ups).

Note that this level only uses 2 animated tiles. I wasn't able to get it to happen with just 1, but that might have just been my patience (fewer animated tiles/uses means crashes happen less often; I tried about 100 times before giving up). Interestingly, neither the size of the tileset nor TSF vs 1.23 seems to make a difference.

Jerrythabest Jul 8, 2013 09:18 AM

Oh, that's extremely interesting!

I wrote some angelscript to test it more quickly.
Code:

void onMain(){
    if(jjGameTicks == 2)
        jjChat("/r");
}

With this code, running a LAN server, I got "doesntcrash" to crash after a while...

EDIT: In fact, even the most basic 30x30 level with only a start position and some static tiles crashes after a while for me. The infamous Access Violation immediately followed by a Stack Overflow that hangs the whole game.

minmay Jul 8, 2013 02:00 PM

Quote:

Originally Posted by Jerrythabest (Post 479318)
Oh, that's extremely interesting!

I wrote some angelscript to test it more quickly.
Code:

void onMain(){
    if(jjGameTicks == 2)
        jjChat("/r");
}

With this code, running a LAN server, I got "doesntcrash" to crash after a while...

Ugh, so did I. Never mind that, then.

Quote:

Originally Posted by Jerrythabest (Post 479318)
EDIT: In fact, even the most basic 30x30 level with only a start position and some static tiles crashes after a while for me. The infamous Access Violation immediately followed by a Stack Overflow that hangs the whole game.

Is this when you cycle? Here's a level with only a start position and some static tiles (and a textured background for better chances): http://www.cowmuffins.net/stuff/doesntcrash.j2l
and I could not get it to crash on a cycle after dozens of tries (yes, in an actual server), not to mention all the tries on other levels with no animated tiles.

Jerrythabest Jul 8, 2013 02:36 PM

Yes, I got the AV + SO when cycling with /r (via that script).

I tested this latest level just now (the PokHigh tiles) by adding the above angelscript to it, starting a server, and then not touching any buttons. In fact, after having looked at it cycling 10 times or so without trouble, I walked away, brushed my teeth, and when I came back I had the AV + SO waiting for me again. Gah.

Violet CLM Jul 8, 2013 03:06 PM

I don't get the crash very often, so I'm not the best tester, but I've never been able to crash at all when using the -nosound command line option. minmay, how about you?

minmay Jul 8, 2013 07:46 PM

Quote:

Originally Posted by Violet CLM (Post 479325)
I don't get the crash very often, so I'm not the best tester, but I've never been able to crash at all when using the -nosound command line option. minmay, how about you?

First try, crashed on the second cycle (started a new game, jjnxt in Dungeon Dilemma, AV + SO). After some more tries, it doesn't seem to make a difference.

It also doesn't seem to make a difference whether I use a plusified Jazz2.exe or inject it with plus.exe.

MrAlextov Jul 10, 2013 08:03 AM

Cycle crash cause by the sound system of plus? Why just don't make it like that the sound system crash, but Jazz would still work perfectly without sound?

Jerrythabest Jul 10, 2013 08:32 AM

Well, if we would have any control over what happens when the crash occurs, then we had probably fixed it. The crash breaks up the whole game; when it occurs, the entire game crashes. There's no stopping it, we can't recover from it. The only way to get this thing done is to fix the origin, but we haven't found the origin yet.

MrAlextov Jul 11, 2013 03:52 AM

You maybe can make that to run in another process.

French Jul 12, 2013 08:09 AM

JJ2+ is really a marvellous thing; AngelScript is brilliant; but I forgot my old ideas of funny levels from when I was a little boy. Too bad!

I would have some requests fore future versions:
• Allow translations for texts within JJ2+. Some great players could deal with, and I think it would attract newbees from other countries to JJ2+.
• Correct Gem Stomps multiplayer bug: gems don't disappear for other players when you take them. It is very visible in my level FrenchLaby, when I host it.
• Races online should either start with Pregame or /ready, and not with the old 3-seconds-countdown.
• When you come back from a secret level in single player, you've lost all your coins and have no chance to go to the bonus warp!

Thanks for all your work!

Violet CLM Jul 12, 2013 08:59 AM

Hi, good to hear from you. :) The gem stomp bug hadn't occurred to me, but it makes total sense... their close cousins super gems require a lot of special handling in the network code to get them to work right, and yeah, I haven't seen that same handling applied to gem stomps. We might look into it. The others are varying degrees of priority... translations would be nice, but also a pretty big project, so probably not for the next release. Races would definitely be cute, but not honestly too important at this point, since everyone just designs for their race levels to be hosted in Treasure Hunt instead. It might happen as part of an eventual larger multiplayer overhaul, like if we ever get >2 teams working. Secret levels... will investigate.


All times are GMT -8. The time now is 02:42 AM.

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