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
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - bitterman

#346
id Tech 4 Mod Coding / Re: RBDOOM3-BFG GUI system
September 01, 2015, 09:36:49 PM
Unlike old GUIs new flash-based system is really black box.

I'm try to read listing of any native .bswf file and don't see a easy way to do this.

Also I found 'idCommonLocal::StartMainMenu' but there is no procedure with call this.


/*
==============
idCommonLocal::StartMainMenu
==============
*/
void idCommonLocal::StartMenu( bool playIntro ) {
if ( game && game->Shell_IsActive() ) {
return;
}

if ( readDemo ) {
// if we're playing a demo, esc kills it
UnloadMap();
}

if ( game ) {
game->Shell_Show( true );
game->Shell_SyncWithSession();
}

console->Close();

}


How engine launch mainmenu, how call MoveToNewMap from mainmenu - no anwsers at now.

Needs a listing of (as I think) /generated/swf/shell.bswf (.swf, .as, any human-readable source code for new mainmenu).

And a second ground problem it's a understanding a conception of binary resources (.bimage, bswf etc) and     
how to work with them.

Can anybody give a point?

*****************

Other guys find same way for Rage:

http://forum.xentax.com/viewtopic.php?p=90422

*****************

Looks like game started via simple console command "map":


/*
========================
idMenuHandler_Shell::StartGame
========================
*/

cmdSystem->AppendCommandText( va( "map %s %d\n", "game/mars_city1", 0 ) );


But who/how call this proc from .swf?

************************

http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/swf/pdf/swf-file-format-spec-v10.pdf (pdf 1,1 Mb).
#347
id Tech 4 Mod Coding / Re: RBDOOM3-BFG GUI system
September 01, 2015, 08:12:14 AM
bool idSWF::LoadSWF( const char * fullpath ) {

if ( header.version > 9 )
                {
                ...
idLib::Warning( "Unsupported version %d", header.version );
                ...
        }


So I think next features is available (not sure about updates):

Quote
Flash 9    June 2006    ActionScript Virtual Machine AVM2, ActionScript 3.
                                       
Flash 9 Update 1    November 2006    (v9.0.28.0, codenamed "Marvin")

                                         Support for fullscreen mode.

Flash 9 Update 3    December 2007    (v9.0.115.0, codenamed "Moviestar")

                                          Support for H.264 video and AAC audio.



And there is a deal with .swf and .bswf (binary).

Not sure but seems like BFG engine can work with both of them (/swf or /generated) and perhaps convert .swf to .bswf.

See also CVAR 'swf_loadBinary'.

********** update ********************

Or perhaps only swf version 7 (ActionScript 2)?

neo/swf/SWF_ScriptFunction.cpp:

// swf 7
case Action_Extends: return "Action_Extends";
case Action_CastOp: return "Action_CastOp";
case Action_ImplementsOp: return "Action_ImplementsOp";
case Action_Throw: return "Action_Throw";
case Action_Try: return "Action_Try";


#348
id Tech 4 Mod Coding / Re: RBDOOM3-BFG GUI system
August 24, 2015, 02:46:51 AM
Ok, I look at Adobe Flash and have some questions.

("- Lightsabers? - No, questions.").

https://en.wikipedia.org/wiki/Adobe_Flash

1. Have BFG engine a inline Flash Player? What type (version)?
2. Are there some restrictions to use Flash (by version, by compile tools)?
3. Can I use one of third-party tools (see link above) for make .SWF? What is optimal?

Sorry, never work with Flash.

VGames, can you cut/hide your funny picture please? I would be very grateful.

********************************

QuoteProbably in order to speed up development, they are implemented in Adobe Flash. Doom3 BFG runs its own Flash interpreter (/neo/swf/ folder). Again Flash was used in order to speed up development.

http://fabiensanglard.net/doom3_bfg/

VGames, thanks!
#349
Well, all as say The Happy Friar except mbcs add-in (see links above).
Other things are my mistakes by incorrect installation MSVC.
#350
Done!

I'm happy almost like Friar (thanks!) :)

A important option is "Properties -> General -> Platform Toolset"
(it must be v120_xp for WindowsXP and v120 for Windows 7, there is a deal with DX SDK version).

Quote====== Build: 4 succeeded, 0 failed, 0 up-to-date, 0 skipped =========

0 errors, ~173 warnings (most about MBCS deprecated).

:) :) :)



#351
id Tech 4 Mod Coding / Re: RBDOOM3-BFG GUI system
August 20, 2015, 06:16:21 AM
Sorry, guys.

I'm just looking for base information about new GUI system.

Early I work only with old GUI system (it's well documented) and now think about change engine from vanilla Doom3 to BFG.

Can you give me a links for beginning please?
#352
Ok, now I'm get only few errors.

"LINK1181: cannot open input file "nafxcw.lib".

But I can't find "nafxcw.lib" on my disk.

As I see this problem is still related with MFC version (_DEBUG or _UNICODE define).

afx.h:

#ifndef _UNICODE

#ifdef _DEBUG

#pragma comment(lib, "nafxcwd.lib")

#else

#pragma comment(lib, "nafxcw.lib")

#endif

#else

#ifdef _DEBUG

#pragma comment(lib, "uafxcwd.lib")

#else

#pragma comment(lib, "uafxcw.lib")

#endif

#endif


In DoomDLL -> Properties -> General I see options "Character Set", "Use of MFC", "Platform Toolset" and others.

The options set by default, and I don't sure about any changes.

The Happy Friar can you show me a printscreen of "DoomDLL Property Pages" (RMB on "DoomDLL" in Solution Explorer then "Properties") -> "Configuration Properties" (General and VC++ Directories as I think) please?


Ok, don't worry.

*******************************************

QuoteIn Visual Studio 2013 and later, the MBCS versions of the MFC DLLs are available as a free add-in to Visual Studio from the MSDN download site. For more information, see MFC MBCS DLL Add-in.

https://msdn.microsoft.com/en-us/library/ey142t48%28v=vs.120%29.aspx

https://www.microsoft.com/en-us/download/details.aspx?id=40770

http://wiki.openttd.org/Compiling_on_Windows_using_Microsoft_Visual_C++_2012
#353
Ok, I'm install vs2013ce w/o internet access and preinstalled WinSDK, so some registry variables and VC++ directories (e.g. WindowsSDKdir, _include) was incorrect.

And looks like manual fix can't resolve this problem.
Try to "Repair" option.
#354
Still don't work...

#355
Thanks, Obi-Wan Kenobi. You're my only hope :)

***************************

Some "atl..." and "MBCS..." problems.

Why debug files are linked with VC 10?


****************************

Ok, I see missed include files in C:\Program Files (x86)\Windows Kits\8.0 and C:...\Microsoft SDKs'Windows\v7.0A\Include.

Try to add this path in Properties->VC++ directories->Include
#356
Is this stock source code?
Some additional options?
Can you describe build process please?
#357
Ok, thanks.

My results is not impressive.

Yes, these IDE (2010e & 2013CE) can install together.

Yes, for 2013CE must have access to internet.
Yes, it have 30-days trial period and then need update (sign in with MS account).

Yes, it install/uninstall very long (~11 Gb).

Yes, it have "atlmfc" folder.

But no, I can't get original doom3.exe with tools.

I belive that dependences (MFC, ATL) in doom3.gpl are not so big.

But perhaps they are not compatible with new "atlmfc" or I compile it wrong.
(many syntax and other errors in afx* files).

I tried VS2013CE and both method for 2010e (with "altmfc" folder and with WinDDK "atl" "mfc42").
(http://www.moddb.com/company/apgsoftware/tutorials/how-to-compile-doom-3-with-visual-studio-2010)

I also try (don't ask me why) MBCS (MS multybyte lib) - it's a scary thing and I don't understand it :)

Now I'm very unhappy :(
#358
I have a laptop with windows 7 sp1, doom3.gpl source code (from TTimo, not BFG) and VS 2010 Express.

So on this config I can (and I do) build a doom3lite.exe (without MFC, ATL, DoomEdit, <Edit*> console commands etc).

In fact I build a release version w/o any inline tools.

But now I need build a "developer" verison with all inline stuff.

As I think it is possible in VS 2013 Community edition (with MFC, ATL etc).

So my questions:

1. It is possible?

2. Is VS2010E must uninstall before install VS2013CE?

3. Is laptop must have a internet access to install/registration/product key from VS2013CE.iso?
A key from installed VS2010E is valid?

4. Can I use /neo/doom.sln (perhaps for VS NET 2002) in VS2013CE or I must reconfigure it (make my own solution)? How to do this?

Thanks for any advise.

#359
Can anyone explain this please?

collision model = clip model = combat model?

// this happens in multiplayer on the combat models
gameLocal.Warning( "idClipModel::Handle: clip model %d on '%s' (%x) is not a collision or trace model", id, entity->name.c_str(), entity->entityNumber );



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

Ok, looks like collision model (.cm) it's term for maps and moveable physics objects (idMoveable).

Then perhaps combat model it's term for actors (idActor).

Clip model it's common term for these two terms I think.

Therefore trace model it's a clip model based on render (visual) model.

***********************

/*
   33 ===============================================================================
   34
   35         A trace model is an arbitrary polygonal model which is used by the
   36         collision detection system to find collisions, contacts or the contents
   37         of a volume. For collision detection speed reasons the number of vertices
   38         and edges are limited. The trace model can have any shape. However convex
   39         models are usually preferred.
   40
   41 ===============================================================================
   42 */


48 // trace model type
   49 typedef enum {
   50         TRM_INVALID,            // invalid trm
   51         TRM_BOX,                        // box
   52         TRM_OCTAHEDRON,         // octahedron
   53         TRM_DODECAHEDRON,       // dodecahedron
   54         TRM_CYLINDER,           // cylinder approximation
   55         TRM_CONE,                       // cone approximation
   56         TRM_BONE,                       // two tetrahedrons attached to each other
   57         TRM_POLYGON,            // arbitrary convex polygon
   58         TRM_POLYGONVOLUME,      // volume for arbitrary convex polygon
   59         TRM_CUSTOM                      // loaded from map model or ASE/LWO
   60 } traceModel_t;