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

Gamex86 Question

Started by spamclark15, August 25, 2017, 12:59:41 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

spamclark15

I'm wondering where in the vanilla DOOM 3 source is doom3.exe set to look for gamex86 by name? Searching through the solution, I've found nothing.

grml4d

there is one in Anim_Blend.cpp of doom3 and roe...
i think you mean , the point where the executable search the mod-dll to load...
look in the DoomDLL files... [ i tested to compile with msvisual 2010 ...but that fails on this one...]


spamclark15

Thanks. Where does it get "gamex86" from?

Phrozo

Because the DLL is the game's logic and it is compiled in 32-bit x86 assembly.

The Happy Friar

Quote from: spamclark15 on August 25, 2017, 07:23:36 AM
Thanks. Where does it get "gamex86" from?
In the doom.sln that MS C++ uses to compile, it's told to name the file "$(projectname)", which uses the name of "game".  The "x86" comes from the type of compiling.

So, in essence, it's called "gamex86.whatever" because that's the default for most compilers.  :D  (well, using project name appended with compile type would be I guess)

grml4d

sorry to "smite" Phrozo ...the compilation is c[++]...

eXistence answered the question ... the word gamex86 is made with the word game contained in "%s" that is previously defined in "const char *baseName"  , game being injected in *baseName in a previous/other file ; x86 comes from a test that injects answer in  CPUSTRING ...

that is weird ...i prefer assembly because that uses directly some instructions the cpu can understand...with c...the cpu loose a lot of energy...i was hoping efi bios would make possible to program ....but like dos/win3.1...with a pc ; except paint and write plus a calculator you buy nothing .... they are "clever" at intel...

spamclark15

#7
Thanks guys, your help allowed me to figure out how to change it.

Phrozo

#8
Quote from: grml4d on August 26, 2017, 02:22:35 PM
sorry to "smite" Phrozo ...the compilation is c[++]...

eXistence answered the question ... the word gamex86 is made with the word game contained in "%s" that is previously defined in "const char *baseName"  , game being injected in *baseName in a previous/other file ; x86 comes from a test that injects answer in  CPUSTRING ...

that is weird ...i prefer assembly because that uses directly some instructions the cpu can understand...with c...the cpu loose a lot of energy...i was hoping efi bios would make possible to program ....but like dos/win3.1...with a pc ; except paint and write plus a calculator you buy nothing .... they are "clever" at intel...

Sorry that my reply was overly simplistic and a bit ignorant about the naming mechanism, however, I know that the source is in C++. I've compiled the Doom 3 source code many times before. Machine instructions are the assembled result ( what I meant to say ) , unless I'm mistaken.