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)
-   -   BCCS: Battery Check Creation Station (http://www.jazz2online.com/jcf/showthread.php?t=16764)

Jerrythabest May 10, 2007 08:06 AM

BCCS: Battery Check Creation Station
 
Heh, yesterday I felt like editing 1.10o JCS to make a BCCS. Here's some progress:

-Title bar text
-Open/save texts
-About menu option text
-About window caption
-About window text
-About window picture
-JCS.ini read-only error message window caption
-JCS.ini read-only error message text
-JCS.ini not found error message window caption
-JCS.ini not found error message text
-Display settings error message window caption
-Display settings error message text
-Removing non-BC features from BCCS windows

-Icons
-Help files
-JCS.ini

Done Problem! Todo


I don't know if I'm allowed to upload it here when I'm done, but right now I think I may because there are many exe edits here anyway ;p Just say it if I may not upload it, J2O staff :p

So, what do you think of this idea? (Note that you can not make me stop working on it ;p)

cooba May 10, 2007 08:18 AM

As an admin I have nothing against Battery Check uploads on J2O. I'm not sure about the rest of the admins though. I don't have the final say.

Also Violet has (had?) a very well working .ini for Battery Check levels, I think

Jerrythabest May 10, 2007 08:41 AM

Meh, I ran into a problem... I'm trying to change 'Jazz Creation' into 'Battery Check Creation' and 'JCS' into 'BCCS' but the problem is that I have no idea how to insert bytes without screwing up the whole exe file ;p

Violet CLM May 10, 2007 08:51 AM

Quote:

Originally Posted by cooba (Post 403946)
Also Violet has (had?) a very well working .ini for Battery Check levels, I think

I don't think I ever actually tested to see if it worked, and it only supported the demo version anyway, none of the full version events.

Jerrythabest May 10, 2007 08:52 AM

I'll just make a new JCS.ini file, that's not a problem ;p
The byte issue is however ;p

DoubleGJ May 10, 2007 09:07 AM

When all else fails, name it BatC Creation Station.

Jerrythabest May 10, 2007 09:10 AM

kay =) though I hope that I won't have to do that ;p

Yuck, another problem.. I can't find a freeware CHM creator :/ I continue to run into trials...

Birdie May 10, 2007 10:50 AM

Birdie doesn't see any reason to just change the UI of JCS and rename it, even though functionality will remain the same.

n00b May 10, 2007 10:56 AM

Isn't the only thing worth doing is changing the jcs.ini to say Battery check events? That should have been done first, I don't care if a JCS is called BCCS if it still has JJ2 event names.

Jerrythabest May 10, 2007 11:07 AM

Well the text changing was the easiest and fastest part, so I just started with that first ;p
I'll start editing JCS.ini right now

n00b May 10, 2007 11:09 AM

I have written down somewhere some of what the events should be for BC. If I find it, I can send them to you if you want.

Jerrythabest May 10, 2007 11:14 AM

Oh, yes please =D I'm @ msn =)

cooba May 10, 2007 11:14 AM

For starters, event 56 (RF +15 crate) is the boss ;)

(and the only thing I remember)

Jerrythabest May 10, 2007 11:15 AM

Haha, I'll make a level with all events in it, and see what I come across ;p

Birdie May 10, 2007 01:10 PM

Quote:

Originally Posted by Birdie (Post 403958)
Birdie doesn't see any reason to just change the UI of JCS and rename it, even though functionality will remain the same.


Violet CLM May 10, 2007 05:28 PM

Found it!

Jerrythabest May 11, 2007 12:52 AM

Whoa, that'll help ;p "thanks"

Doubble Dutch May 11, 2007 06:13 AM

Huzzah! Excellent news!

Birdie May 11, 2007 01:34 PM

Quote:

Originally Posted by Birdie (Post 403958)
Quote:

Originally Posted by Birdie (Post 403958)
Birdie doesn't see any reason to just change the UI of JCS and rename it, even though functionality will remain the same.



FQuist May 11, 2007 05:59 PM

I agree with Birdie. I don't know if it is smart to upload a fullblown application to a site with just a few strings changed to make it look like BCCS.

Jerrythabest May 12, 2007 08:30 AM

Well, I'll upload the whole application anyway as hardly anyone has the original one ;p

FQuist May 12, 2007 08:32 AM

I'm not sure that's legal.

ShadeJackrabbit May 12, 2007 08:58 AM

Uploading the JCS? I'd think not. It's not legal to give out JJ2, so I don't think that giving out the JCS is. Even if it isn't the exact same program.

Grytolle May 12, 2007 10:15 AM

Attention Everyone!!!
Carrotade Was Made Using A Disassembler Thats Illegal You Can Get Capital Punishment

Violet CLM May 12, 2007 10:20 AM

1.23+ was uploaded to J2O, and that's an edited Jazz2.exe. Surely that's worse than uploading a program which ONLY works with a FREEWARE game (or an unreleased beta that people who don't break the law wouldn't have ANYWAY).

Jerrythabest May 12, 2007 11:40 AM

Exactly, that's what I thought too (see first post). Keeping this from being uploaded would make even less sense than the Eurovision Song Contest ;p

Nonomu198 May 12, 2007 12:11 PM

Dont remind me.

So how the BCCS going?

Sasik May 12, 2007 12:40 PM

Quote:

Originally Posted by Fquist (Post 404569)
I'm not sure that's legal.

Quote:

Originally Posted by ShadeJackrabbit (Post 404572)
Uploading the JCS? I'd think not. It's not legal to give out JJ2, so I don't think that giving out the JCS is. Even if it isn't the exact same program.

Call FBI or Interpol already :rolleyes:

R3ptile May 12, 2007 01:02 PM

Quote:

Originally Posted by Sasik (Post 404603)
Call FBI or Interpol already :rolleyes:

[IMG]http://upload.wikimedia.org/wikipedia/en/thumb/7/7b/Interpol_band.jpg/220px-Interpol_band.jpg[/IMG]

Jerrythabest May 12, 2007 01:04 PM

Quote:

Originally Posted by IconGuy (Post 404599)
So how the BCCS going?

It's a little bit hard atm, as I'm trying to get the water event to work... it needs something else than only its 'own event', though I can't find out what. Also, UR's JCS.ini lacks some event parameters whose purpose I need to figure out.

Until now I've done the events by putting a few in a level (starting by #1) but I'm going to do it another way: first, I make a list of all event numbers that are used in the original BC levels with the highest values for the parameters that have been used. This way I'll have the clearest possible overview of the working events. Then I'm going to view them all individually, preferably in their original levels, so that I can find out their purpose.

Summary: I'll be back next year This'll take some time, but then I know how stuff works so that I can actually give the events and their parameters names! The way I done it so far was simply too ineffective.

Neobeo May 12, 2007 03:15 PM

Quote:

Originally Posted by Jerrythabest (Post 403947)
Meh, I ran into a problem... I'm trying to change 'Jazz Creation' into 'Battery Check Creation' and 'JCS' into 'BCCS' but the problem is that I have no idea how to insert bytes without screwing up the whole exe file ;p

For various reasons (technical and non-technical), it would not be such a good idea to change the title. For all the effort you'd have to put into performing such a feat, in the end it's just a useless title which people could not care less about. Nevertheless, if you really have to change a short string into a longer one, here's how you do it. It would most definitely require a knowledge of x86 asm though, if not as insight into the PE file format as well.

Disclaimer: Not for the weak of heart; read at your own risk.

Highlight block to show spoiler: JCS was most likely programmed in C/C++, so it uses null-terminated C-strings. These strings are referenced as a pointer. These pointers are referenced by some ASM instruction. These ASM instructions are contained inside some well-defined function. These functions would be collectively grouped inside some section of code. The offsets of these code sections would be specified inside the PE section table. The PE section table can be found without too much effort by reading the PE header. The PE header is near the start of the EXE file. So, as long as you have an EXE file, you can work backwards through these steps, and change the ASM instruction to point to another string in another location.

Quote:

Originally Posted by Jerrythabest (Post 404607)
Until now I've done the events by putting a few in a level (starting by #1) but I'm going to do it another way: first, I make a list of all event numbers that are used in the original BC levels with the highest values for the parameters that have been used. This way I'll have the clearest possible overview of the working events. Then I'm going to view them all individually, preferably in their original levels, so that I can find out their purpose.

My sentiments exactly. In fact this process can be automated via a J2L cruncher. You can use one to process the Data2 stream (events) to produce a list of all events being used. Maybe even one step further is to filter out bitmasks that are being used for each event ID. This way you won't need the clearest possible overview, but you'll have a thorough list which does not miss out anything.

FQuist May 12, 2007 04:22 PM

Quote:

Originally Posted by Unknown Rabbit (Post 404578)
1.23+ was uploaded to J2O, and that's an edited Jazz2.exe. Surely that's worse than uploading a program which ONLY works with a FREEWARE game (or an unreleased beta that people who don't break the law wouldn't have ANYWAY).

With no additional files, 1.23+ is useless. It can pretty much been seen as a "patch". JCS.exe is standalone.

So it's a rather weird distinction... I'm mostly nitpicking here. There's a point though.

Violet CLM May 13, 2007 10:29 AM

But JCS.exe also needs additional files... if you don't have Battery Check levels or tileset files, what are you going to do with it?

Jerry: Water event, do you mean the pools or just "Water Level"? Ignore the one that's taken over from the JJ2 JCS.ini, I accidentally left that in from when I was curious if any JJ2 events had been left in the BC engine.

n00b May 13, 2007 01:20 PM

I found my list and according to that One Way is the same event.

Rest of the list:
these don't include anything marked on the list as being in Violet's .ini but some probably are.

Gun5Am15-----Battery Boss
Gun2Am13-----Special Battery (I can't remember what this is)
SwingVine-----Recharger Station
Purple Gem-----Button used to attack Battery Boss
Bomb Crate-----Red Sucker
1up Barrel----- Orange Sucker
????-----Battery Boss Screen
1upCrate-----Suck Tube?
Bomb-----Door Type 2
BlueGem-----Used in a level, not sure what it does. Probably a battery.
????-----Radioactive Goop(The green drops)
????----- AirJet platforms

Jerrythabest May 14, 2007 08:57 AM

Quote:

Originally Posted by Neobeo (Post 404615)
Highlight block to show spoiler: JCS was most likely programmed in C/C++, so it uses null-terminated C-strings. These strings are referenced as a pointer. These pointers are referenced by some ASM instruction. These ASM instructions are contained inside some well-defined function. These functions would be collectively grouped inside some section of code. The offsets of these code sections would be specified inside the PE section table. The PE section table can be found without too much effort by reading the PE header. The PE header is near the start of the EXE file. So, as long as you have an EXE file, you can work backwards through these steps, and change the ASM instruction to point to another string in another location.

I understood all of this (yes, I'm surprised too) but I have no idea how I will find these instructions ;p Oh well, I'll just stick with 'JCS' for now.



Quote:

Originally Posted by Neobeo (Post 404615)
My sentiments exactly. In fact this process can be automated via a J2L cruncher. You can use one to process the Data2 stream (events) to produce a list of all events being used. Maybe even one step further is to filter out bitmasks that are being used for each event ID. This way you won't need the clearest possible overview, but you'll have a thorough list which does not miss out anything.

You got one? That'll help a lot ;p

EDIT: a whole lot

finnish pro May 18, 2007 04:55 PM

hey, the name could be Battery Check Station.

n00b May 18, 2007 07:05 PM

Quote:

Originally Posted by finnish pro (Post 404944)
hey, the name could be Battery Check Station.

From now on we should call the JCS the Jazz Jackrabbit Station

Jerrythabest May 19, 2007 01:34 AM

I could name it the Battery Creation Station just like the Jazz CS.. but that sounds like it's a battery factory ;p

Neo's post about a J2L cruncher made me stop indexing the events (as well as private reasons) as I'm not going to do so much time-consuming work if it can be done autmatically in a split second... just so you know

Neobeo May 19, 2007 04:59 AM

It wasn't meant to be taken that seriously; there is no such program :(

finnish pro May 19, 2007 06:10 AM

Quote:

Originally Posted by n00b (Post 404958)
From now on we should call the JCS the Jazz Jackrabbit Station

Aren't you little bit sarcastic?!?!


All times are GMT -8. The time now is 06:14 AM.

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