 |
 |
GoldenEye 007 Nintendo 64 Community, GoldenEye X, Nintendo 64 Games Discussion GoldenEye Cheats, GoldenEye X Codes, Tips, Help, Nintendo 64 Gaming Community
|
 |
 |
 |
 |
|
 |
 |
 |
 |
 |
Dragonsbrethren Hacker


Joined: 23 Mar 2007 Posts: 3058
 |
Posted: Mon Jan 04, 2016 3:08 pm Post subject: Debug Comments |
 |
|
I've been curious about the debug comments in action blocks since I first started analyzing Rare's blocks. Has anyone ever figured out how this text would have been passed to the developers? |
|
|
|
|
|
 |
 |
 |
 |
 |
SubDrag Administrator

Joined: 16 Aug 2006 Posts: 6173
 |
Posted: Mon Jan 04, 2016 3:23 pm Post subject: |
 |
|
As far as I know, may never have been displayed on screen. It just helps you remember more what parts do! They probably wrote them in like we do to remind what does. |
|
|
|
|
|
 |
 |
 |
 |
 |
acceptable67 007


Joined: 16 Jan 2010 Posts: 1738 Location: US  |
Posted: Tue Jan 05, 2016 6:53 am Post subject: |
 |
|
I thought they were pretty interesting. I guess it's just self reminders throughout the blocks, what many of us do when writing code.
ex
//I GETS SET TO 0
int i = 0; _________________
Rare wrote: | Perfect Dark Forever. |
|
|
|
|
|
|
 |
 |
 |
 |
 |
Trevor 007


Joined: 15 Jan 2010 Posts: 926 Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest  |
Posted: Tue Jan 05, 2016 3:20 pm Post subject: |
 |
|
The problem is that GCC does not output any comment sections (*/.../* or //...)
It would have to be something like a define or variable.
Also, obviously, any print commands store text
eg,
osSyncPrintf("# area, aspect, ntri per frame, time per tri (usec), fill (pix/sec)\n");
This prints to the screen and debug consol (PC Monitor).
So, My assumption is that during Actions they would be printing each command to their PC monitors while playing through the game to see what actions are being called or not.
Actually, I say PC monitor, but we know that Rare used SGI machines, but thats besides the point.
Trev _________________
   |
|
|
|
|
|
 |
 |
 |
 |
 |
SubDrag Administrator

Joined: 16 Aug 2006 Posts: 6173
 |
Posted: Tue Jan 05, 2016 3:29 pm Post subject: |
 |
|
It's certainly possible it was put to debug console, but my thought is they were Rare's pseudo-byte code equivalent of a coding comment. At least, there's no evidence of that, the action is just skipped basically, goes till see 00, then on to next one. But it could've been removed, though a lot of the rest of debug functions were leftover. It also could've just been printed to screen.
But off hand, nothing so far pointed to me beyond equivalent of
// Comment |
|
|
|
|
|
 |
 |
 |
 |
 |
Trevor 007


Joined: 15 Jan 2010 Posts: 926 Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest  |
Posted: Wed Jan 06, 2016 12:49 pm Post subject: |
 |
|
Well, Just as a matter of interest I noticed another text string in a demo.
In fact, lets test this further,
lets try a new definition below an existing one.
Code: | static char *output_prefix = "InData/topgun";
static char *mytestoutput = "TrevCharTest"; |
This spits out:
Code: |
49 6E 44 61 74 61 2F 74 InData/t
6F 70 67 75 6E 00 00 00 opgun
54 72 65 76 43 68 61 72 TrevChar
54 65 73 74 00 00 00 00 Test
|
I also just to make sure tested:
Code: | osSyncPrintf("This Is Trevors Test"); |
which spits out
Code: |
54 68 69 73 20 49 73 20 This Is
54 72 65 76 6F 72 73 20 Trevors
54 65 73 74 00 00 00 00 Test
|
I notice that in editor, DebugComment(h1*) is preceded by AD.
My tests dont have any pretext so its looking like Subs Command Comment theory is more correct.
It seems an awfull legnth to go to to insert comments that would otherwise be removed in final build (in accordance with Nintendo Policy)
What I did check was that C doesnt have Strings, instead they are Char Arrays ended in 00 (null).
Trev _________________
   |
|
|
|
|
|
 |
 |
 |
 |
 |
|
 |
 |
 |
 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
 |