News:

One Minute Game Review by The Happy Friar: https://ugetube.com/@OneMinteGameReviews
Also on Rumble: https://rumble.com/c/c-1115371

idTech 4 (aka Doom 3 tech) Discord Server! https://discord.gg/9wtCGHa

Main Menu

SWF problems

Started by bitterman, October 04, 2015, 10:40:04 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

motorsep

Quote from: bitterman on June 23, 2016, 10:13:39 PM
Your's .fla files are good but as I said earlier they needs a tutorial.

Like a tutorial about change native doom3 gui to doom1 gui (remember doom3wolrd).

Too many complex stuff and interactions.

But yes, files are good ))

You can't really do that without rewriting C++ code.

SWF files are basically just graphics and layout. How they interact, when and in what order they animate is driven by C++ entirely. RAGE had most of the stuff in ActionScript. Doom 4 (and the DOOM) evolved into having virtually no ActionScript. Doom 3 BFG's SWF menu system is almost identical to Doom 4, except dialog windows, that are identical to RAGE (AS driven instead of C++).

I don't know the state of ActionScript, but I do know that Flash is no more. Now it's Adobe Animate, which supports SWF, but perhaps doesn't have the same ActionScript Flash had. So in a way it was a good move to get off Action Script in Doom/BFG to avoid incompatibilities in the future.

bitterman

Thanks, it's interesting.

I'd like to know is it possible to provide in new HUD information about AI states, world positions and other (without coding).

Just like D3 with script and EditGUIs only:


motorsep

You'd need to add new elements to SWF in Flash, following the same scheme as other HUD elements, then write supporting code in C++.

bitterman

#18
I have one question about swf decompile (JPEXS).

When I do this I see that one sprite (movie clip) have (associated) few files with ActionScript code (see picture).

Usually one sprite on scene have one layer named "actions" or "as" and then it must be associated with one AS file.

Is it few files means one sprite with few layers of as-code? In what cases is it necessary?

Thanks.

P.S. motorsep as I see you change AS-code from dialog.swf.
Can you give few tips about this file (destination, sprites organizations, AS-code, etc.)?

motorsep

#19
I don't understand what's going on with you  ??? I released SWF files so that anyone can look at the code/layout and check it against C++ code. It's really that simple now. No reverse engineering is required.

Get yourself a book about Flash MX with CD and activate trial using publicly available serial number (that's what I did) or get newer version some other way. Open dialog.SWF and see how it's done. There is a layer called AS which has all the AS code.

bitterman

#20
Ok, now I see:

This AS-code from original dialog.swf:

...btn.onPress = function()
{
this["func"...].call();
}


isn't works in my case.

But this code works:

...btn.onPress = function()
{
acceptCallBack();
}


But the cursor looks weird (see picture).

******************* upd ******************

Fix via extend background to fullscreen.

bitterman

#21
May be anyone know:

Can't record a demo from BFG menu (e.g. in Main Menu, not in Game) via 'recordDemo' console command.

Menus are handmade, assets are minimal (may be this is problem).

As I remember, in D3 I used 'recordDemo', then 'stopRecording', then 'aviDemo demo000.demo' to convert from .demo to .tga (but not sure about recording from menu).

Thanks.

************************** upd ******************

Hmm, looks like full BFG version recorded demo from mainmenu but not played nor converted it with this error:

QuoteidRenderWorld::RenderScene: bad FOVs: 0.000000, 0.000000

/*

void idRenderWorldLocal::RenderScene( const renderView_t *renderView ) {

...

>>> if ( renderView->fov_x <= 0 || renderView->fov_y <= 0 ) {   <<<
common->Error( "idRenderWorld::RenderScene: bad FOVs: %f, %f", renderView->fov_x, renderView->fov_y );
}


But g_fov is set to 80 by default.

Can anyone check 'recordDemo/stopRecording/playDemo/aviDemo' in BFG version, please?

Is it works? My build is a Frankenstein's creature ))

motorsep

Demo recording is not supported in BFG. But it's been fixed in Storm Engine 2 :)

bitterman

#23
Yes, I found some info...

https://github.com/RobertBeckebans/RBDOOM-3-BFG/issues/127

Not sure, it was fixed in RBDoom or still WIP?

@motorsep, still not sure about compatibility. E.g. don't see doomintro.swf in SS2 pack.
Is Code was modified to start new game without doomintro, right?

motorsep

I didn't include anything that I didn't need for my Phaeton game. Especially those text typing SWF files (they'd render over video).

Like I said, Storm Engine 2 is not directly compatible with Doom 3 BFG. It's was meant to be used in projects made from scratch. So, if you use SWF that come with SE2, and then figure out the rest of the assets, you can build your game using our engine.

bitterman

#25
Because of some language barriers I realy don't understand this term ('Pacifier'), which hinders the understanding of code.

This is a movie clip (sprite) named "pacifier". If it's visible then engine (part of menus managment) makes one thing, if not - other thing. It uses some hardcoded funcs like:

IsPacifierVisible()
HidePacifier();

A 'pacifier' is a synonym of 'dummy' or 'empty' (not realy sure).

Can you tell me - what means this term (not neccesary in this Code)?

The purpose of the others variables is intuitive from their names but this... Really obscure idiomatic expression 8)

motorsep

Yeah, poor naming IMO. Pacifier is just an animated indicator, like hourglass. Like when saving, or connecting somewhere, it's being rendered. I couldn't get it working (the game would freeze on any SWF pacifier I made), so I abandoned it.

bitterman

#27
Yes, now I see. Thanks for explanation.

If you follow my way: about recordDemo issue http://idtechforums.fuzzylogicinc.com/index.php?topic=465.msg5360#msg5360