Shadow Man Remastered [Engine:Kex]

Upload your cheat tables here (No requests)
Post Reply
User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4630

Shadow Man Remastered [Engine:Kex]

Post by SunBeam »

[ 17.04.2021 - First Release ]

Game Name: Shadow Man Remastered
Game Vendor: Steam
Game Build ID: 6547677 [ Steam Client > Library > Shadow Man Remastered > right-click > Properties > Updates tab > check at the bottom ]
Game Process: thoth_x64.exe



Note that this topic is a continuation of what I posted in the requests section: viewtopic.php?p=188298#p188298.

That being said, you should find a cheat table at the end of the detailed explanations, table which may or not contain what you're here for. If the quick features aren't in, then you may consult the other topic and use VampTY's table. The purpose of this topic is mostly to INFORM, rather than provide a quick table for your avid game playing needs.

------------
CONSOLE
------------

You can open and close the console by pressing Tilde (~`) key on your keyboard.

And now the issues: "I am using a keyboard that doesn't have that key there". You may google "add US keyboard windows 10" or follow this post: [Link]. Once you've installed the US keyboard, press Alt+Shift keys to switch to it. You will see the change in your start bar, bottom-right, where the clock is -> ENG. Then Tilde (~`) will work.

You cannot change it through other means, as the value for Tilde (~`) key is hardcoded:

SHOW CONSOLE:

Code: Select all

0000000140177DA8 | 837F 0C 60       | CMP DWORD PTR DS:[RDI+C],60              | 60:'`'
..
0000000140177DBF | 48:8B05 4A16A500 | MOV RAX,QWORD PTR DS:[140BC9410]         |
0000000140177DC6 | 48:8D0D 4316A500 | LEA RCX,QWORD PTR DS:[140BC9410]         |
0000000140177DCD | FF50 70          | CALL QWORD PTR DS:[RAX+70]               |
..
00000001401D89F0 | 40:53            | PUSH RBX                                 |
00000001401D89F2 | 48:83EC 20       | SUB RSP,20                               |
00000001401D89F6 | 48:8B05 030A9F00 | MOV RAX,QWORD PTR DS:[140BC9400]         |
00000001401D89FD | 48:8BD9          | MOV RBX,RCX                              |
00000001401D8A00 | 48:8D0D F9099F00 | LEA RCX,QWORD PTR DS:[140BC9400]         |
00000001401D8A07 | FF50 08          | CALL QWORD PTR DS:[RAX+8]                |
00000001401D8A0A | 84C0             | TEST AL,AL                               |
00000001401D8A0C | 75 19            | JNE thoth_x64.1401D8A27                  |
00000001401D8A0E | 41:B8 D2040000   | MOV R8D,4D2                              |
00000001401D8A14 | 48:8D15 B5054500 | LEA RDX,QWORD PTR DS:[140628FD0]         | 0000000140628FD0:"d:\\projects\\nds\\shadowmanex\\kex3_thoth\\kexengine\\source\\platform\\sdl\\platforminputsdl.cpp"
00000001401D8A1B | 48:8D0D 0E064500 | LEA RCX,QWORD PTR DS:[140629030]         | 0000000140629030:"kexPlatform::cThread->IsInMainThread()"
00000001401D8A22 | E8 4927F8FF      | CALL thoth_x64.14015B170                 |
00000001401D8A27 | 8B4B 58          | MOV ECX,DWORD PTR DS:[RBX+58]            |
00000001401D8A2A | 8D41 01          | LEA EAX,QWORD PTR DS:[RCX+1]             |
00000001401D8A2D | 8943 58          | MOV DWORD PTR DS:[RBX+58],EAX            |
00000001401D8A30 | 85C9             | TEST ECX,ECX                             |
00000001401D8A32 | 75 0C            | JNE thoth_x64.1401D8A40                  |
00000001401D8A34 | 48:83C4 20       | ADD RSP,20                               |
00000001401D8A38 | 5B               | POP RBX                                  |
00000001401D8A39 | 48:FF25 383B3C00 | JMP QWORD PTR DS:[<&SDL_StartTextInput>] |
00000001401D8A40 | 48:83C4 20       | ADD RSP,20                               |
00000001401D8A44 | 5B               | POP RBX                                  |
00000001401D8A45 | C3               | RET                                      |
HIDE CONSOLE:

Code: Select all

0000000140177E9D | 837F 0C 60       | CMP DWORD PTR DS:[RDI+C],60              | 60:'`'
..
0000000140177EAF | 48:8B05 5A15A500 | MOV RAX,QWORD PTR DS:[140BC9410]         |
0000000140177EB6 | 48:8D0D 5315A500 | LEA RCX,QWORD PTR DS:[140BC9410]         |
0000000140177EBD | FF50 78          | CALL QWORD PTR DS:[RAX+78]               |
..
00000001401D8A50 | 40:53            | PUSH RBX                                 |
00000001401D8A52 | 48:83EC 20       | SUB RSP,20                               |
00000001401D8A56 | 48:8B05 A3099F00 | MOV RAX,QWORD PTR DS:[140BC9400]         |
00000001401D8A5D | 48:8BD9          | MOV RBX,RCX                              |
00000001401D8A60 | 48:8D0D 99099F00 | LEA RCX,QWORD PTR DS:[140BC9400]         |
00000001401D8A67 | FF50 08          | CALL QWORD PTR DS:[RAX+8]                |
00000001401D8A6A | 84C0             | TEST AL,AL                               |
00000001401D8A6C | 75 19            | JNE thoth_x64.1401D8A87                  |
00000001401D8A6E | 41:B8 DD040000   | MOV R8D,4DD                              |
00000001401D8A74 | 48:8D15 55054500 | LEA RDX,QWORD PTR DS:[140628FD0]         | 0000000140628FD0:"d:\\projects\\nds\\shadowmanex\\kex3_thoth\\kexengine\\source\\platform\\sdl\\platforminputsdl.cpp"
00000001401D8A7B | 48:8D0D AE054500 | LEA RCX,QWORD PTR DS:[140629030]         | 0000000140629030:"kexPlatform::cThread->IsInMainThread()"
00000001401D8A82 | E8 E926F8FF      | CALL thoth_x64.14015B170                 |
00000001401D8A87 | 8B43 58          | MOV EAX,DWORD PTR DS:[RBX+58]            |
00000001401D8A8A | 85C0             | TEST EAX,EAX                             |
00000001401D8A8C | 75 1C            | JNE thoth_x64.1401D8AAA                  |
00000001401D8A8E | 41:B8 DE040000   | MOV R8D,4DE                              |
00000001401D8A94 | 48:8D15 35054500 | LEA RDX,QWORD PTR DS:[140628FD0]         | 0000000140628FD0:"d:\\projects\\nds\\shadowmanex\\kex3_thoth\\kexengine\\source\\platform\\sdl\\platforminputsdl.cpp"
00000001401D8A9B | 48:8D0D C6054500 | LEA RCX,QWORD PTR DS:[140629068]         | 0000000140629068:"m_iInTextInput"
00000001401D8AA2 | E8 C926F8FF      | CALL thoth_x64.14015B170                 |
00000001401D8AA7 | 8B43 58          | MOV EAX,DWORD PTR DS:[RBX+58]            |
00000001401D8AAA | 83E8 01          | SUB EAX,1                                |
00000001401D8AAD | 8943 58          | MOV DWORD PTR DS:[RBX+58],EAX            |
00000001401D8AB0 | 75 0C            | JNE thoth_x64.1401D8ABE                  |
00000001401D8AB2 | 48:83C4 20       | ADD RSP,20                               |
00000001401D8AB6 | 5B               | POP RBX                                  |
00000001401D8AB7 | 48:FF25 C23A3C00 | JMP QWORD PTR DS:[<&SDL_StopTextInput>]  |
00000001401D8ABE | 48:83C4 20       | ADD RSP,20                               |
00000001401D8AC2 | 5B               | POP RBX                                  |
00000001401D8AC3 | C3               | RET                                      |
---------------------------------------------
SAVE DATA AND CONFIGURATION FILE
---------------------------------------------

Click Start, then Run, then paste this in and hit Enter:

Code: Select all

%UserProfile%\Saved Games\Nightdive Studios\Shadowman EX
In here you will see a file called kexengine.cfg (if you can't see extensions, then google "windows show extensions"). In this file you can bind keys to console commands or CVars. Open it with a text editor -- preferably Notepad ++ -- and add a line like this:

Code: Select all

bind f1 "god"
That will enable GOD MODE for you when you press F1 key :P Note that Steam achievements will be disabled once you start using cheats:

Image

To kill this, see the next section.

In this folder you will also see a subfolder called saves. Guess what you'll find inside :P

---------------------------------------------
KILL STEAM ACHIEVEMENTS DISABLER
---------------------------------------------

I've explained in this post why this happens: viewtopic.php?p=188307#p188307. Use the attached table at the bottom and activate/enable the Kill Steam Achievements Disabling script.

Based on the example above, after enabling this script, now if you press F1 key twice, then open the console, you will see this:

Image

But no more mentioning of achievements having been disabled or your save game getting flagged. Yeah, aside from disabling, the devs also flag the save game so you can't gain achievements till you start a new game.

--------------------------
CONSOLE COMMANDS
--------------------------

Code: Select all

Available commands:
addlightconerotation
addlightposition
bind
bugit
clear
clearsaveflag
clearsaveflags
connectip
copylightproperties
demigod
dumpmarkers
dumpsaveflags
dumpvkmemory
dxgi_listadapters
exec
exportmeshobj
freecam
freezegamelogic
giveammo9mm
giveammoshotgun
giveammoviolator
givecadeaux
givedarksoul
givegad
givehealth
giveinv
givesaveflag
givetedpoints
givevoodoo
god
help
infiniteammo
inventory
jumpsector
listRuntimeClasses
listbinds
listcmds
listjoysticks
listresolutions
listtextures
listvars
loadAllDX11Shaders
loadAllVKShaders
locksecret
menu_activate
menu_back
menu_cancel
menu_delete
menu_down
menu_left
menu_right
menu_select
menu_up
netshutdown
pastelightproperties
playspeech
printsaveflags
quickload
quicksave
quit
reloadshaders
restart
saveeditedlights
saveselectedlight
screenshot
selectlight
seta
setcamdist
setlanguage
setlightbias
setlightconeangle
setlightconerotation
setlightcull
setlightintensity
setlightposition
setlightrange
setlightshadow
setlighttype
setpos
spawnipserver
spawnobj
stat
testcutscene
testerror
testfade
testlevelload
testmusic
toggle
togglelighteditmode
togglesynceditlights
unbind
unlocksecret
weaponwheel
writeuserconfig
94 commands
--------------------
CONSOLE CVARS
--------------------

Code: Select all

Available cvars:
cl_classicgamepad
cl_connectvoice
cl_engineFPS
cl_engineHZ
cl_engineNoSleep
cl_interpolation
cl_joylooksensitivity_x
cl_joylooksensitivity_y
cl_joymovesensitivity_x
cl_joymovesensitivity_y
cl_maxlatetics
cl_maxresendqueue
cl_msensitivityx
cl_msensitivityy
cl_saveScreenshotsAsJPEG
cl_swapjoysticks
cl_updateCPUUsageFrequency
con_alwaysShowConsole
con_fontsize
con_scrollamount
con_showfps
con_statfontsize
d3d11_adapter
d3d11_compileShaders
d3d11_noAltEnter
dem_compress
dem_record
developer
g_area51
g_betamode
g_bigheadmode
g_bigshoesmode
g_bloodshotmode
g_camerabob
g_cameratrackdamp
g_deadsidegunmode
g_deadwingmode
g_debuglocalization
g_disableWindowUnfocus
g_discomode
g_displaysafeborder
g_dogmode
g_duppiemode
g_flameonmode
g_fpsmode
g_freezeai
g_hdtextures
g_hud_9mmstay
g_hud_cadeauxstay
g_hud_loadtips
g_hud_meterstay
g_hud_opacity
g_hud_shotgunstay
g_hud_snipecrosshair
g_hud_subtitlecolor
g_hud_subtitles
g_hud_violatorstay
g_invisiblemode
g_language
g_mincameraturnangle
g_nettiemode
g_peasoupmode
g_reviewcutscenes
g_shotgunheadmode
g_skipintro
g_stetsonmode
g_trippymode
g_twigboymode
g_vibration
g_vibrationVolume
g_wireframemode
in_joystick_laxisdeadzone
in_joystick_lookaxis
in_joystick_lookinvert
in_joystick_raxisdeadzone
in_joystick_strafeaxis
in_joystick_strafeinvert
in_joystick_xaxis
in_joystick_xinvert
in_joystick_yaxis
in_joystick_yinvert
in_nojoy
in_profilejoybuttons
in_skipplayerone
jobs_concurrentThreads
jobs_enable
kf_basepath
net_crossplay
net_directconn
net_voip
net_voipmic
net_voipptt
phys_debug
playername
r_ambientOcclusion
r_ambientbrightness
r_ambientobjectbrightness
r_ambientworldbrightness
r_antialiasing
r_aodepthbias
r_aofullres
r_aointensity
r_aomaxradiusshrink
r_aominradius
r_aoradius
r_bloom
r_brightness
r_disabletexturemapping
r_dof
r_dofBlurRange
r_dofFocusDistance
r_dofFocusRange
r_enableProceduralTextures
r_filmgrain
r_flushscenecommands
r_fontHinting
r_fov
r_gameThreadRenderCommands
r_gamepadStyle
r_gammacorrection
r_hideaimeshes
r_hidetransparentsurfaces
r_maxocclusionunit
r_motionBlur
r_motionBlurShutterSpeed
r_motionBlurVisualize
r_resolutionscale
r_resolutionscale_aggressive
r_resolutionscale_fixedscale
r_resolutionscale_gooddrawtime
r_resolutionscale_increasespeed
r_resolutionscale_lowerspeed
r_resolutionscale_numframesbeforelowering
r_resolutionscale_numframesbeforeraising
r_resolutionscale_targetdrawtime
r_rhimaxanisotropic
r_rhirenderfamily
r_shadows
r_showAIPath
r_showaievents
r_showcollisionballs
r_showdetectboxes
r_showleafs
r_showobjectbounds
r_showobjectorigins
r_showoverdraw
r_showshadowatlas
r_showspecialtriggers
r_verticalsplitscreen
r_visualizeAO
r_visualizeProceduralTextures
r_visualizenormals
snd_hardwarereverb
snd_lowpasscutofffreq
snd_lowpassfilter
snd_lowpassgain
snd_musicvolume
snd_voicelanguage
snd_voicevolume
snd_volume
sys_kpfram
v_borderless
v_displaymonitor
v_displayrestart
v_height
v_refresh
v_vsync
v_width
v_windowXPos
v_windowYPos
v_windowed
vk_assertOnValidationError
vk_compileShaders
vk_enableDebugging
vk_waitOnCommandDuringPresentation
win_allowmanualaffinitymask
win_numanode
178 cvars
--------------
SAVE FLAGS
--------------

These are to be used with givesaveflag or clearsaveflag commands:

Code: Select all

CF_A2_DARKSOUL = true
CF_A2_INTRO = false
CF_A2_TRUEFORM = true
CF_A4_FLOORGONE = false
CF_A4_FLOORHIDE = false
CF_AP_ACCUM0_PLACED = false
CF_AP_ACCUM1_PLACED = true
CF_AP_ACCUM2_PLACED = true
CF_AP_ACCUM3_PLACED = true
CF_AP_ACCUM4_PLACED = false
CF_AP_AMMO0_TAKEN = false
CF_AP_AMMO1_TAKEN = false
CF_AP_AMMO2_TAKEN = false
CF_AP_AMMO3_TAKEN = false
CF_AP_VIOLATOR2_TAKEN = true
CF_AP_VIOLATOR_TAKEN = true
CF_ASYLUMFRONTDOOR = false
CF_AVERYATRIUMDONE = true
CF_AVERYBEDROOMDROPDONE = true
CF_AVERYCORRIDORDROPDONE = true
CF_AVERYDEAD = true
CF_AVERYMAZE = true
CF_AVERYOUTOFTHELIFT = true
CF_AVERYPOWERACTIVATIONDONE = true
CF_AVERYSPRISM = true
CF_BATTYDEAD = true
CF_BATTYINPRISONDONE = true
CF_BATTYSPRISM = true
CF_BEENTO_LEVEL00_LOUISIANA_SWAMPLAND_DAY = true
CF_BEENTO_LEVEL01_NEW_YORK_TENEMENT_DAY = false
CF_BEENTO_LEVEL02_TEXAS_PRISON_DAY = false
CF_BEENTO_LEVEL03_LONDON_UNDERGROUND_DAY = false
CF_BEENTO_LEVEL04_FLORIDA_SUMMER_CAMP_DAY = false
CF_BEENTO_LEVEL05_MOJAVE_DESERT_SALVAGE_YARD_DAY = false
CF_BEENTO_LEVEL06_DEADSIDE_MARROW_GATES = true
CF_BEENTO_LEVEL07_DEADSIDE_WASTELAND = true
CF_BEENTO_LEVEL08_ASYLUM_STATION_1_GATEWAY = true
CF_BEENTO_LEVEL09_ASYLUM_STATION_2_EXPERIMENTATION_ROOMS = true
CF_BEENTO_LEVEL10_ASYLUM_STATION_3_SCHISM_CHAMBERS = true
CF_BEENTO_LEVEL11_ASYLUM_STATION_4_THE_DARK_ENGINE = true
CF_BEENTO_LEVEL12_GAD_TEMPLE_1_TOUCH_GAD = true
CF_BEENTO_LEVEL13_ASYLUM_HUB_1_THE_CAGEWAYS = true
CF_BEENTO_LEVEL14_ASYLUM_HUB_2_THE_PLAYROOMS = true
CF_BEENTO_LEVEL15_GAD_TEMPLE_2_WALK_GAD = true
CF_BEENTO_LEVEL16_ASYLUM_HUB_3_THE_LAVADUCTS = true
CF_BEENTO_LEVEL17_GAD_TEMPLE_3_SWIM_GAD = true
CF_BEENTO_LEVEL18_ASYLUM_HUB_4_THE_FOGOMETERS = false
CF_BEENTO_LEVEL19_LOUISIANA_SWAMPLAND_NIGHT = true
CF_BEENTO_LEVEL20_NEW_YORK_TENEMENT_NIGHT = true
CF_BEENTO_LEVEL21_TEXAS_PRISON_NIGHT = true
CF_BEENTO_LEVEL22_LONDON_UNDERGROUND_NIGHT = true
CF_BEENTO_LEVEL23_FLORIDA_SUMMER_CAMP_NIGHT = false
CF_BEENTO_LEVEL24_MOJAVE_DESERT_SALVAGE_YARD_NIGHT = true
CF_BEENTO_LEVEL25_INTRO_LEVEL = true
CF_BEEN_IN_ASYLUM = true
CF_BEEN_TO_DEADSIDE = true
CF_BEEN_TO_KILLER_LEVEL = true
CF_BOAT_LOOP = true
CF_BOREDINSWAMP = false
CF_CHURCHSPEECH = true
CF_COFFINGATE_0 = true
CF_COLLAPSE_ASYLUM = false
CF_COPTER2DEAD = false
CF_COPTERDEAD = false
CF_DARKENG_STOPPED1 = true
CF_DARKENG_STOPPED2 = false
CF_DARKENG_STOPPED3 = false
CF_DARKENG_STOPPED4 = false
CF_DARKENG_STOPPED5 = false
CF_DARKENG_STOPPED6 = false
CF_DSIDE_ROPEFIRED = true
CF_ECLIPSER_0 = false
CF_ECLIPSER_1 = false
CF_ECLIPSER_2 = false
CF_EPICASYLUMDONE = true
CF_FL_BLOODHAND = false
CF_FL_FUSEBOX = false
CF_FL_PADLOCK = false
CF_FL_PROJECTOR_ON = false
CF_G1_GADRINGSTAGE1 = true
CF_G1_GADRINGSTAGE2 = true
CF_G1_GADRINGSTAGE3 = true
CF_G1_GADRINGSTAGE4 = true
CF_G1_GADRINGSTAGE5 = true
CF_G1_ZIGLEVEL1 = true
CF_G1_ZIGLEVEL2 = true
CF_G1_ZIGLEVEL3 = true
CF_G1_ZIGLEVEL4 = true
CF_G1_ZIGLEVEL5 = true
CF_G1_ZIGLEVEL6 = true
CF_G2CHESTMASKDOWN = true
CF_G2IDOLARMSOPEN = true
CF_G3_BRIDGEDROPPED = true
CF_G3_GADRINGSTAGE1 = true
CF_G3_GADRINGSTAGE2 = true
CF_G3_GADRINGSTAGE3 = true
CF_G3_GADRINGSTAGE4 = true
CF_G3_GADRINGSTAGE5 = true
CF_G3_ROPETOUCH = false
CF_GOTPOIGNE = true
CF_GOTSWIMGAD = true
CF_GOTTOUCHGAD = true
CF_GOTWALKGAD = true
CF_GOT_DARKSOUL = true
CF_GOT_DARKSOUL2 = true
CF_GOVICOLUMNDOWN = true
CF_HEADSPLATSEEN = false
CF_INTRO_SCENE = true
CF_JACKDEAD = true
CF_JACKENCOUNTER1 = false
CF_JACKENCOUNTER2 = false
CF_JACKINUNDERGROUNDDONE = true
CF_JACKSPRISM = true
CF_JAUNTY_00 = true
CF_JAUNTY_01 = true
CF_JAUNTY_02 = false
CF_JETTY_DOG_DONE = true
CF_LAVA_STIRRING = true
CF_LEGION_DEAD = false
CF_LIFEALTAR00 = true
CF_LIFEALTAR01 = false
CF_LIFEALTAR02 = true
CF_LIFEALTAR03 = false
CF_LIFEALTAR04 = true
CF_LIFEALTARSEEN = true
CF_LUKEENDSCENE = false
CF_LUKE_00 = true
CF_LUKE_01 = false
CF_LUKE_02 = true
CF_LUKE_RAN_THROUGH_DOORS = true
CF_MARCOCUT1 = true
CF_MARCOCUT2 = true
CF_MARCOCUT3 = false
CF_MARCOCUT4 = false
CF_MARCODEAD = false
CF_MARCOENCOUNTER1 = true
CF_MARCOENCOUNTER2 = true
CF_MARCOENCOUNTER3 = false
CF_MARCOINPRISONDONE = true
CF_MARCOSPRISM = false
CF_MARCO_CUTSCENE = false
CF_MARROWGATEOPEN = true
CF_MARROW_GATE = true
CF_METLUKELEGION = false
CF_MIKE_HAS_BEEN_TO_ASYLUM = false
CF_MIKE_HAS_HEARD_LUKE = false
CF_MIKE_HAS_MET_JAUNTY = false
CF_MIKE_HAS_MET_NETTIE = true
CF_MIKE_HAS_SPOKEN_OF_ECLIPSER = false
CF_MIKE_HAS_SPOKEN_WITH_NETTIE_OF_DARKSOULS = false
CF_MILTONDEAD = false
CF_MILTONENCOUNTER1 = false
CF_MILTONENCOUNTER2 = false
CF_MILTONENCOUNTER3 = false
CF_MILTONINPRISONDONE = false
CF_MILTONSPRISM = false
CF_MILTON_CUTSCENE = false
CF_MO_PADLOCK1 = true
CF_MO_PADLOCK2 = true
CF_NCOPTER2DEAD = true
CF_NCOPTERDEAD = true
CF_NETTIE_00 = true
CF_NETTIE_01 = false
CF_NETTIE_02 = false
CF_NETTIE_03 = false
CF_NETTIE_04 = false
CF_NETTIE_05 = true
CF_NETTIE_HAS_TOLD_MIKE_TO_GO_LIVESIDE = false
CF_NETTIE_HAS_TOLD_OF_ASYLUM = false
CF_NIGHT_HAS_FALLEN = true
CF_PIPEHATCH2_OPEN = true
CF_PIPEHATCH3_OPEN = true
CF_PIPEHATCH_OPEN = true
CF_PLAYHOOK_MOVED = true
CF_PRISONPADLOCKLSHOT = true
CF_PRISONPADLOCKSSHOT = true
CF_PROJECTOR_ON = true
CF_RETRACTOR01USED = true
CF_RETRACTOR02USED = true
CF_RETRACTOR03USED = true
CF_RETRACTOR04USED = false
CF_RETRACTOR05USED = true
CF_SEENLUKE0 = true
CF_SEENLUKE1 = true
CF_SEENLUKE2 = false
CF_SERAPHDEAD = false
CF_SETPRISM1 = true
CF_SETPRISM2 = true
CF_SETPRISM3 = true
CF_SETPRISM4 = false
CF_SETPRISM5 = false
CF_SLUICEGATE_OPEN = true
CF_T2FALLSACTIVE = true
CF_T3FALLSACTIVE = true
CF_TED_ASYLUM1 = true
CF_TED_ASYLUM2 = true
CF_TED_ASYLUM3 = true
CF_TED_ASYLUM4 = true
CF_TED_CAGEWAYS = true
CF_TED_FLORIDA = false
CF_TED_FOGOMETERS = false
CF_TED_GAD1 = true
CF_TED_GAD2 = true
CF_TED_GAD3 = true
CF_TED_GATES1 = true
CF_TED_GATES2 = true
CF_TED_LAVADUCTS = true
CF_TED_PLAYROOMS = true
CF_TED_PRISON = true
CF_TED_SALVAGE = true
CF_TED_SWAMP = true
CF_TED_TENEMENT = true
CF_TED_UGROUND = false
CF_TED_WASTELAND = true
CF_TENEMENTPOWERON = true
CF_UNDERGROUNDPADLOCKSHOT = false
CF_USEDCABLECAR = true
CF_WASTELANDTEMPLESEEN = true
CF_WASTELANDWINDMILL = true
CF_YORT_DEAD = true
CF_YORT_INTRO = true
CF_ZIGGURATSEEN = false
CF_ZIGTRIALDONE = true
NOTE that the above states are based on my current save-game. You can check your flags when you start the game with printsaveflags. The ones in green are current progress, what you've already unlocked; the ones in blue, false, are to be unlocked as you progress further in the story.

----------------
DEBUG MENU
----------------

Someone posted a way in which you could enable the DEBUG MENU in the old version of the game. The post is here: viewtopic.php?p=188396#p188396. From the Wiki, you could do this: [Link]. The method doesn't work for the Remastered version, as the file system is not identical. BUT.. See the next section :D

--------------
GAME FILES
--------------

If you check the game folder, you will see these 5 files:

Image

Pick one of your choice and check it out in a hex editor (I use [Link], but [Link] works as well). You won't need them for the next part, just mentioning what tools I'm using, in case you wondered.

The header shows this:

Image

What this means is we're seeing a nice ZIP archive in front of us. The only thing not letting us browse it is the extension (.kpf). You can change it to .zip and check the contents out :)

NOTE: Do not try this with the game RUNNING, as the file will be in use. Therefore you won't be able to rename it (.kpf -> .zip).

How do I know it's a ZIP file? Rename one and try to run the game:

Image

Dead obvious, right? :P

So.. rename ShadowManEX01.kpf to ShadowManEX01.zip. If you can't see file extensions -- like I am expecting some replies here -- google for "enable extensions windows 10". Once you open the archive, you will see this tree (I am using [Link]):

Image

Remember that guide for the DEBUG MENU? It said you should go into this hierarchy of folders: data\scripts\menus\english. Well.. follow this logic and enter the folders till that location:

Image

Now rename in here release.msc to 1 (yes, without a name and extension). Then rename debug.msc to release.msc. WinRAR will do these changes automatically for you, so you won't need to extract everything and repack back the archive. Once you're done, rename ShadowManEX01.zip to ShadowManEX01.kpf. So our job is done.

NOTE: You can always set WinRAR as the default program that opens files with the .kpf extension ;) Just double-click one of the 5 files, then click the "More apps" arrow and pick WinRAR from that list. This way you won't have to always rename .kpf to .zip and back.

Image

Once you run the game, you won't see the debug options, like you did in the old game. Investigating why this happens.

---------
OUTRO
---------

Lastly, if you have "what does command/CVar do?" questions and feel the urge to ask, rather than test yourself, I will ignore your post. Why.. I'm not a game developer and everything you see here comes from pure data analysis. It's better anyway than NOTHING. So if you want to become a critic and start shit-posting your impressions, rather than appreciate what you see here, go right ahead. Don't say I didn't warn you. Also think that this is a remaster of the old game, so don't know what command X does? Look for references to the OLD game and you will learn. They've been documented and can be found on some wiki page. The remastered version inherits everything from the old game in terms of framework, how the game was conceived. Including the console commands/CVars (maybe not all of them, but the effects are still those).

thoth_x64.CT
updated to fix bug
(9.66 KiB) Downloaded 497 times

Best regards,
Sun

How to use this cheat table?
  1. Install Cheat Engine
  2. Double-click the .CT file in order to open it.
  3. Click the PC icon in Cheat Engine in order to select the game process.
  4. Keep the list.
  5. Activate the trainer options by checking boxes or setting values from 0 to 1

User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4630

Re: Shadow Man Remastered [Engine:Kex]

Post by SunBeam »

I've updated the table in first post. Reason: when you run a console command, this activates a flag (ON = 1; OFF = 0). In the function that grants Steam achievements there are 2 checks:

- one that I killed with the "Kill Steam Achievements Disabling" script
- a second check which checks the status of "god"

The order in which they're verified is 2, then 1:

Image

In the highlighted rows, the first 2 lines are check #1 (bool for achievements), the last 2 lines are check #2 (is god enabled?).

BR,
Sun

daninthemix
Expert Cheater
Expert Cheater
Posts: 266
Joined: Tue Jul 18, 2017 6:31 pm
Reputation: 86

Re: Shadow Man Remastered [Engine:Kex]

Post by daninthemix »

This is awesome stuff and so informative!

One of the developers has told me we probably shouldn't expect that debug menu to work in this new version. The new version is running on a completely new engine, and is a combination of a) the source code for the PS1 version b) reverse-engineering the original PC version.

I had a crack at making a one-hit kill cheat - in theory this should be easy because once you've damaged an enemy enough, they enter a downed / dizzy state where you need to hit them again to finish them, otherwise they'll return (I think) to full health after a few seconds. So searching for decreased / increased values seemed like it would be easy. But I couldn't manage it.

User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4630

Re: Shadow Man Remastered [Engine:Kex]

Post by SunBeam »

^ They return to HP+1 (the state in which, if you hit them 1+1 more times, they die).

daninthemix
Expert Cheater
Expert Cheater
Posts: 266
Joined: Tue Jul 18, 2017 6:31 pm
Reputation: 86

Re: Shadow Man Remastered [Engine:Kex]

Post by daninthemix »

SunBeam wrote:
Sun Apr 18, 2021 7:03 am
^ They return to HP+1 (the state in which, if you hit them 1+1 more times, they die).
So when they're downed, their health is zero? But when they recover, their HP is just 1?

User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4630

Re: Shadow Man Remastered [Engine:Kex]

Post by SunBeam »

daninthemix wrote:
Sun Apr 18, 2021 7:09 am
SunBeam wrote:
Sun Apr 18, 2021 7:03 am
^ They return to HP+1 (the state in which, if you hit them 1+1 more times, they die).
So when they're downed, their health is zero? But when they recover, their HP is just 1?
Where did I say 0? I said HP+1. Shoot, get them downed. When they get up, they have previous HP value + 1 unit.

ViCiOuS-V
What is cheating?
What is cheating?
Posts: 2
Joined: Mon May 16, 2022 11:55 am
Reputation: 0

Re: Shadow Man Remastered [Engine:Kex]

Post by ViCiOuS-V »

givelightsoul 1 (Use this to give yourself the Light Soul which lets Shadow Man fire only full-powered/charged shots)

MOD EDIT: Please refrain from quoting the whole main post.

Retroboy
Noobzor
Noobzor
Posts: 11
Joined: Wed Jul 06, 2022 7:53 am
Reputation: 2

Re: Shadow Man Remastered [Engine:Kex]

Post by Retroboy »

Hi,

I first came across editing the kexengine.cfg file when looking at the switch port and found that file was present in my save file, then figured how to bind cheats to the buttons.

I have done the same for the PS4 version, its the same and creates kexengine.cfg file in your save file, I have managed to export it and edit and import it back into my PS4 save thus giving me cheats like God Mode, Infinite Ammo, Quick Save/Load.

But I never noticed the achievements block before, mainly because the Switch doesn't have anything like this. So I was looking on google to see if there is a way to disable this check when activating cheats so you can still achieve trophies on the PS4 version.

I assume it will probably work in the same way, but the question is, how or is it possible to apply the script to disable the check so trophies are still active in the PS4 version of the game when using these cheats.

So, could this:

Code: Select all

{$STRICT}

{$lua}

if syntaxcheck then return end

function stopExec( s )
  error( print( string.format( "\r\n>> %s <<", s ) ) )
end

function aobScanEx( aob )
  -- thanks panraven for this function!
  -- https://forum.cheatengine.org/viewtopic.php?t=577536
  -- simplified for my needs
  local p, a, n, s, e = nil or '*X*W', nil or fsmNotAligned, nil or '0', getAddress( process ) or 0x0, ( getAddress( process ) + getModuleSize( process ) ) or 0xffffffffffffffff
  local ms = pb and createMemScan( pb ) or createMemScan()
  local fl = createFoundList( ms )
  ms.firstScan( soExactValue, vtByteArray, nil, aob, nil, s, e, p, a, n, true, false, false, false )
  ms.waitTillDone()
  fl.initialize()
  local result = nil
  if fl ~= nil and fl.getCount() > 0 then
    result = createStringlist()
    for i = 1, fl.getCount() do result.add( fl.getAddress( i - 1 ) ) end
  end
  fl.destroy()
  ms.destroy()
  return result
end

function string.fromhex( s )
  return ( s:gsub( '..', function ( cc )
    return string.char( tonumber( cc, 16 ) )
  end ) )
end

function aobScanSmall( aob, s, e )
  local i = byteTableToString( readBytes( s, e, true ) ):find( string.fromhex( aob ), 1, true )
  if i == nil then i = 1 end
  return ( s + i - 1 )
end

[ENABLE]

local sl, t = 0

-- patch the Steam Achievements disabling function
local aob_kexDisableSteamAchievements = "4C8BDC534881EC????????488B1D????????F643??01"
sl = aobScanEx( aob_kexDisableSteamAchievements )
if not sl or sl.Count < 1 then stopExec( "'aob_kexDisableSteamAchievements' not found." ) end
t = tonumber( sl[0], 16 )
t = string.format( "%X", t )
local script = [[
]]..t..[[:
ret
]]
autoAssemble( script )

-- patch "is god enabled" check in kexGrantAchivement function
local aob_kexGrantSteamAchievement = "8078??000F85????????488B05????????F640??010F85"
sl = aobScanEx( aob_kexGrantSteamAchievement )
if not sl or sl.Count < 1 then stopExec( "'aob_kexGrantSteamAchievement' not found." ) end
t = tonumber( sl[0], 16 ) + 0x4
t = string.format( "%X", t )
local script = [[
]]..t..[[:
db EB 04
]]
autoAssemble( script )

[DISABLE]
Be applied directly to the PS4 version of the game, or maybe as a PS4 Trainer?

User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4630

Re: Shadow Man Remastered [Engine:Kex]

Post by SunBeam »

Retroboy wrote:
Wed Jul 06, 2022 8:01 am
...
The script obviously scans the PC executable file for a specific spot to patch. No, you can't use it on PS4 as you pasted it. You need to figure out the location on your own (I am not familiar with the PS4 architecture) and patch the stuff there. With whatever tools you guys use on PS4.

Retroboy
Noobzor
Noobzor
Posts: 11
Joined: Wed Jul 06, 2022 7:53 am
Reputation: 2

Re: Shadow Man Remastered [Engine:Kex]

Post by Retroboy »

SunBeam wrote:
Fri Jul 08, 2022 12:08 am
Retroboy wrote:
Wed Jul 06, 2022 8:01 am
...
The script obviously scans the PC executable file for a specific spot to patch. No, you can't use it on PS4 as you pasted it. You need to figure out the location on your own (I am not familiar with the PS4 architecture) and patch the stuff there. With whatever tools you guys use on PS4.
Hi,

I forgot about this post, BTW I managed to also get it working for the PS4 version, had to copy my save to a USB then extracted it on my PC, opened it up and it was pretty much identical, Only downfall is it disables trophies.

Post Reply

Who is online

Users browsing this forum: admantx, AhrefsBot, anl93, Dieglox, Google Adsense [Bot], HBUHB77, Jaybee616, knichi, kyless999, LemonRust, Nope4200