|
|
To do:
|
Shadow Man is a third person action/horror game for the Nintendo 64 based on the Valiant comic book series of the same name.
Sub-Pages#
Test Map#
Present in the game is a test map which is a small maze-like room completely devoid of any objects. To access it, use the below code and press A at the main menu and you'll warp to the test map.
Version |
GameShark Code |
|---|---|
USA |
D1196B3E 7674 |
(Source: Mezmorize (Classic Videogame Hacking))
Developer Notes#
Present at 0x1A69375:
Filenames:
1st two characters refer to level number*
2nd two charcters refer to scene number (within that level)
3rd two charcters refer to line number (within that scene)
4th single character refers to character speaking (see KEY: above for
details)
*TT & GN describe the Titles and the General game noises
Debug Texts#
8000212C audio/sndplayer.c
80002148 NGLISH_LEX
80002154 audio/synthesizer.c
800021D8 _SCENE17EX
800021E8 audio/env.c
80002364 audio/reverb.c
800023C4 AUDIO_SPEECHEX
80002534 io/sirawdma.c
800025A8 io/sirawwrite.c
80028614 !fp_LEVELS_P
80031C48 fp_ANIMS
80600000 x:%d y:%d z:%d RAM:%dk (%d) Sector:%d Fr:%d
8060002C %s - [BK]
80600038 FlatFaults : %d
DecompFaults : %d
80601D7C audio\speech\english\generic\gn%04ds.wav
806020E8 Z buffer
80609F38 LOADING EVENTS
80609F7C INIT : Initialise_Game_Primary_Services
80609FCC INIT : Initialise_Game_EffectsTextures
80609FF4 INIT : Initialise_Game_Secondary_Services
8060A020 INIT : Initialise_Game_Adventure_Settings
8060A068 INIT : Initialise_Game_General
8060A088 INIT : Initialise_Game_Default_CutScene
8060A0B0 INIT : Initialise_Game_Level
8060A0FC INIT : Initialise_Game_Lists
8060A144 INIT : Initialise_Game_Default_Scripts
8060A16C INIT : Initialise_Game_Default_Values
8060DC40 LOADING RESOURCES %d-%d
8060DC88 RSC_D_SOREFIRE
8060DC98 RSC_SMOKERING2
8060DCA8 RSC_SMOKERING1
80614C30 level05\scene05\050500m.wav
80614C4C level05\scene05\050501m.wav
8061A030 cutscene\scripts\english\swampday\0000.ncs
8061A060 cutscene\scripts\english\deadside\jaunty03.ncs
8061B1A0 audio\speech\english\%s
8061B1B8 Level
8061B1C4 Scene
806D6E10 %2d- %s (%d Page%s
Uncompiled Source Code#
The Brazilian version contains a small portion of the game's source code at offsets 0x4B25D-0x4BFFE:
# 1 "game\\inc\\ShadCam.h" 1
# 1 "engine\\inc\\BSPDefs.h" 1
# 387 "engine\\inc\\BSPDefs.h"
# 5 "game\\inc\\ShadCam.h" 2
# 1 "engine\\inc\\List.h" 1
# 73 "engine\\inc\\List.h"
# 7 "game\\inc\\ShadCam.h" 2
# 1 "engine\\inc\\3DSPath.h" 1
# 24 "engine\\inc\\3DSPath.h"
# 8 "game\\inc\\ShadCam.h" 2
enum
{
CAM_TRACK = 0,
CAM_COMPASS,
CAM_FREE,
CAM_CUT,
CAM_CUTSCENE,
CAM_FOLLOWPATH,
CAM_SNIPE,
CAM_FANCY,
};
enum
{
CAM_PATH_1 = 0,
CAM_PATH_2,
CAM_PATH_DW_CAM,
CAM_PATH_DW_TARG,
CAM_PATH_MG_CAM,
CAM_PATH_MG_TARG,
CAM_PATH_AS_CAM,
CAM_PATH_AS_TARG,
CAM_PATH_TEN_CAM,
CAM_PATH_TEN_TARG,
CAM_PATH_PROF_CAM,
CAM_PATH_PROF_TARG,
};
enum {
FCAM_SOULCOLLECT = 0,
FCAM_SOULUP,
FCAM_USETEDDY,
};
typedef struct
{
UPKData *RomFile;
s16 FileID;
t_3DS_PATH *PathPtr;
}t_CAM_PATH_LIST;
typedef struct
{
t_VECT Pos;
float Frame;
float Speed;
t_3DS_PATH *Path;
}t_PATH_POINT;
typedef struct
{
t_VECT Source;
t_VECT Target;
float radius;
}t_CAM_POS_DEF;
extern t_CAM_POS_DEF CameraDistanceTable[];
extern int crouchcam;
extern Sint32 DistIndex;
extern Sint32 OldDistIndex;
extern Sint32 fOldDistIndex;
extern Sint32 SnapCameraFlag;
extern t_CAMERA TrackCamera;
extern t_CAMERA FreeCamera;
extern t_CAMERA CutCamera;
extern t_CAMERA PathCamera;
extern t_CAMERA SnipeCamera;
extern t_CAMERA FancyCamera;
extern Sint32 CameraMode;
extern int crouchcam;
extern t_CAM_PATH_LIST CameraPaths[];
extern void SetCutawayCamera(t_CAMERA *Camera, t_VECT *sv,t_VECT *dv);
extern void CutawayCamera(t_CAMERA *Camera);
extern t_LINKNODE *CreateCamera(t_VECT *Pos, t_VECT *Rot, Sint32 id, Sint32 Var1, Sint32 Var2);
extern void UpdateIngameCamera(void);
extern void InitIngameCamera(void);
extern void InitFollowCam(t_3DS_PATH *SourcePath, t_3DS_PATH *DestPath, float SrcSpeed, float DestSpeed, float SrcIndex, float DestIndex);
extern void InitCameraPathList(t_CAM_PATH_LIST *List);
extern void FollowPathUpdateCamera(t_CAMERA *Camera);
extern void PointFollowPath(t_PATH_POINT *PPoint);
# 22 "game\\cutscene\\inc\\CSCamera.h" 2
typedef
enum e_CSCameraMode
{
CSCAMERAMODE_FIXED = 0,
CSCAMERAMODE_LOOK_AT_ACTOR,
CSCAMERAMODE_FOLLOW_PATH,
CSCAMERAMODE_REL_ACTOR,
CSCAMERAMODE_MOVING,
} t_CSCameraMode;
extern t_CAM_PATH_LIST CameraPathListSwampEnterChurch[];
extern t_CAM_PATH_LIST CameraPathListIntro[];
extern t_CAM_PATH_LIST CameraPathListCredits[];
extern float CutCamPanX;
extern float CutCamPanY;
extern float CutCamPanZ;
extern Sint32 CutCamPanXTime;
extern Sint32 CutCamPanYTime;
extern Sint32 CutCamPanZTime;
extern Sint32 CutSceneGetCameraModeNumber (const Uint8*);
extern void CutSceneUpdateCamera (void);
extern void CSCameraShake (float amplitude);
# 26 "game\\cutscene\\inc\\CutScene.h" 2
enum
{
CS_DARKSOUL=0,
CS_SHADCHANGE,
CS_GIVE_TEDDY,
CS_FREE_HANDS,
CS_REMOVE_DARKSOUL,
CS_HOLD_ECLIPSER,
CS_GIVE_ECLIPSER_TO_NETTIE,
CS_ECLIPSER_IN_SHADOWMAN,
CS_REMOVE_ECLIPSER,
CS_HOLD_DESERTEAGLE,
CS_FIRE_PISTOL,
CS_MILTON_FIRES,
CS_MARCO_FIRES,
CS_AVERY_FIRES,
CS_HOLD_BEAR,
CS_GIVE_BEAR_TO_LUKE,
CS_LUKE_HIDES_BEAR,
CS_REMOVE_BEAR,
CS_DEMON_TROOPER,
CS_MAKE_IT_LIGHT,
CS_MAKE_IT_DARK
(Source: Shygoo)
References#
- acclaim.com > press releases > Shadow Man in Stores. "GLEN COVE, N.Y., August 31, 1999 - Acclaim Entertainment, Inc. (NASDAQ: AKLM), a leading worldwide interactive entertainment company, today announced that its much anticipated, third-person 3D action/adventure game Shadow Man has shipped to retail stores nationwide. Developed by Acclaim Studios Teesside, Shadow Man takes video-gaming into the unexplored territories of the human psyche, challenging gamers to stop a marauding band of villains from unleashing unspeakable horrors upon the world as we know it."↩︎
- N64 NSO↩︎
- Nintendo Official Magazine 084 (EMAP), p. 21↩︎
- Hyper 071, p. 67↩︎
- [Nintendo - Isto é Entretenimento]↩︎
|
The Shadow Man series | |
|---|---|
|
Windows |
|
|
Nintendo 64 |
|
|
PlayStation |
|
|
Dreamcast |
|
|
PlayStation 2 |
|
|
Xbox One, PlayStation 4, Nintendo Switch |
|