Jump to content

Decompiling existing .ibi files help?


Dusty
Go to solution Solved by mrwonko,

Recommended Posts

Posted

So, I know you can use Dehaveb to decompile compiled icarus script (.ibi) files. And I've done it before. The only problem is recompiling them. It never works for me. Any suggestions?

 

 

Note: I'm not trying to steal anyone's work or anything, I'm just doing some flow editing for the SP maps I'm melding into my mod that do not belong to me nor do I take any credit for.

Posted

I find that decompiled scripts are only good for reference. I can never get them to work without redoing them.

 

So basically decompiled scripts are practically useless?

 

Here's a script:

 

// Generated by DEvaheb v1.0

// Decompiled from file "C:\Documents and Settings\Chris\Desktop\pillar_down2.IBI"
 
remove ( "peg1" );
remove ( "peg2" );
remove ( "peg3" );
remove ( "peg4" );
wait ( 777.000 );
 
affect ( "pillar", 56 )
{
move ( $tag( "pillar_down2", 54)$, < 0.000 0.000 0.000 >, 3000.000 );
}
 
 
affect ( "sith_scepter", 56 )
{
move ( $tag( "scepter_down2", 54)$, < 0.000 0.000 0.000 >, 3000.000 );
}
 
 
affect ( "peg5", 56 )
{
move ( $tag( "peg5_down2", 54)$, < 0.000 0.000 0.000 >, 3000.000 );
}
 
 
affect ( "peg6", 56 )
{
move ( $tag( "peg6_down2", 54)$, < 0.000 0.000 0.000 >, 3000.000 );
}
 
 
affect ( "peg7", 56 )
{
move ( $tag( "peg7_down2", 54)$, < 0.000 0.000 0.000 >, 3000.000 );
}
 
 
affect ( "peg8", 56 )
{
move ( $tag( "peg8_down2", 54)$, < 0.000 0.000 0.000 >, 3000.000 );
}
 
wait ( 3000.000 );
remove ( "sith_end1" );
remove ( "sith_end2" );
remove ( "sith_end3" );
remove ( "sith_end4" );
remove ( "sith_end5" );
remove ( "sith_end6" );
remove ( "sith_end7" );
remove ( "sith_end8" );
remove ( "sith_end9" );
remove ( "sith_end10" );
remove ( "sith_end11" );
camera ( 62 );
camera ( 60, < 0.000 0.000 0.000 >, 1.000, < 0.000 0.000 0.000 >, 0.000, 99999.000 );
camera ( 59, $tag( "outro_cam1", 54)$, 0.000 );
camera ( 57, $tag( "outro_cam1", 53)$, < 0.000 0.000 0.000 >, 0.000 );
use ( "end_cutscene" );
wait ( 1000.000 );
camera ( 60, < 0.000 0.000 0.000 >, 1.000, < 0.000 0.000 0.000 >, 0.000, 2000.000 );
wait ( 1500.000 );
camera ( 59, $tag( "outro_cam2", 54)$, 2000.000 );
camera ( 57, $tag( "outro_cam2", 53)$, < 0.000 0.000 0.000 >, 2000.000 );
wait ( 2000.000 );
camera ( 59, $tag( "outro_cam3", 54)$, 2000.000 );
camera ( 57, $tag( "outro_cam3", 53)$, < 0.000 0.000 0.000 >, 2000.000 );
wait ( 2000.000 );
camera ( 59, $tag( "outro_cam4", 54)$, 2000.000 );
camera ( 57, $tag( "outro_cam4", 53)$, < 0.000 0.000 0.000 >, 2000.000 );
wait ( 2000.000 );
camera ( 59, $tag( "outro_cam5", 54)$, 2000.000 );
camera ( 57, $tag( "outro_cam5", 53)$, < 0.000 0.000 0.000 >, 2000.000 );
wait ( 2000.000 );
camera ( 59, $tag( "outro_cam6", 54)$, 2000.000 );
camera ( 57, $tag( "outro_cam6", 53)$, < 0.000 0.000 0.000 >, 2000.000 );
wait ( 2000.000 );
camera ( 59, $tag( "outro_cam7", 54)$, 2000.000 );
camera ( 57, $tag( "outro_cam7", 53)$, < 0.000 0.000 0.000 >, 2000.000 );
wait ( 2000.000 );
camera ( 59, $tag( "outro_cam8", 54)$, 2000.000 );
camera ( 57, $tag( "outro_cam8", 53)$, < 0.000 0.000 0.000 >, 2000.000 );
wait ( 2000.000 );
camera ( 59, $tag( "outro_cam1", 54)$, 2000.000 );
camera ( 57, $tag( "outro_cam1", 53)$, < 0.000 0.000 0.000 >, 2000.000 );
camera ( 60, < 0.000 0.000 0.000 >, 0.000, < 0.000 0.000 0.000 >, 1.000, 2500.000 );
wait ( 3000.000 );
use ( "endcredits" );
camera ( 59, $tag( "intro_cam5", 54)$, 0.000 );
camera ( 57, $tag( "intro_cam5", 53)$, < 0.000 0.000 0.000 >, 0.000 );
camera ( 60, < 0.000 0.000 0.000 >, 1.000, < 0.000 0.000 0.000 >, 0.000, 1000.000 );
set ( "SET_LOCK_PLAYER_WEAPONS", "true" );
set ( "SET_PLAYER_LOCKED", "true" );
set ( "SET_CLOSINGCREDITS", "DEFAULT" );

 
When I try to compile it, it just says "Could not spawn C:\Documents and Settings\Chris\Desktop\Folders\JAMP SDK (old version)\Tools\BehavEd and DEvaheb!". Not to mention upon loading the script it gives 72 errors just from reading it.
 
Well I think something is wrong on my end, I just tried to compile a raven .icarus file and it didn't work.
Posted

I just fixed it. Now that same script stops at block 6 saying there's a command line error at affect ( "pillar", 56 ). It just says syntax error, identifier not found.

krkarr likes this
  • Solution
Posted

Yeah. 56 is either FLUSH or INSERT. Those names - like the second parameter of the tag() command, which can be either ORIGIN or ANGLES - are turned into numbers as described in behaved.bhc. Looks like the decompiler doesn't turn 'em back into the identifiers. You'll have to do that manually.

Posted

Oh, so the decompile didn't "de-compile" everything, some things are still in "compiled" form, amirite?

 

EDIT: Anyone want to re-write Dehaveb so it pwns and makes me have to do no werk?

Posted

^If it didn't come with the full source release of the engine and SP code, prolly not.

 

Also, I'm going to mark this solved, as you guys have pretty much explained what needs to be done to fix scripts (basically turn the left over numbers back to their correct stuff), and I thank you for that!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...