|
Post by Pseudorizer on Mar 30, 2018 18:53:12 GMT
Everything I can think of for what that is just gets stopped by the generate and open file button. Is it for customising the game? Maybe something for a scenario creator?
|
|
|
Post by leotachy on Mar 30, 2018 18:54:10 GMT
|
|
|
Post by Woitek on Mar 30, 2018 19:02:22 GMT
This is menu editor with "Friendly user" GUI =). you just click on ghost for delete it and add. When you press generate it makes a script what can be executed by launcher. So you basically can add new colums, and place your ghosts in menu.
|
|
|
Post by Woitek on Mar 30, 2018 23:12:36 GMT
|
|
|
Post by Woitek on Mar 31, 2018 21:04:32 GMT
Menu Editor in short.
|
|
|
Post by Woitek on Apr 7, 2018 11:52:30 GMT
I wrote assembly code for setting custom animations for ghosts:
AnimationCustom:
mov ecx, [0090ED70] //move ptr_funcs address to ecx
sub esp,00000100 //Add to stack 256 bytes
lea eax,[esp+00] //lea eax, [esp+100h+FileDirectory] make from these 256 bytes char [256]
push 00906FA8 // Push Animation File Name
push 00904EA8 // Push ghost_anims Folder Path Name
push eax //push FileDirectory char [256] //here will be saved directory:
call dword ptr [ecx+2C] //((void (*)(char *, const char *, ...))ptr_funcs->fn_sprintf)(FileDirectory, FolderDirectory, File);
lea edx,[esp+0C] //save directory address to edx
push 0 //SaveFileState
push edx //push animation directory
call 00629A50 // fn_loadNewAnimationsFile_4((int)FileDirectory, 0);
add esp,14// clear stack 5*4bytes pushes = 20-> 14 in hex
push esi// save old esi on stack(index)
mov esi,edi //Put edi to esi. Edi holds array address from previous function where to save our animations
//Add animations to array
//Animation 1
push 0 //AnimationStatus
push 00906FA0 //Animation String
push 0 //Animation Index
push esi //array address
call 00638620 // call SetAnimation(AnimationData, AnimationIndex, AnimationName, AnimationStatus);
//Animation 2
push 0
push 00906FA0
push 1
push esi
call 00638620
//Animation 3
push 0
push 00906FA0
push 2
push esi
call 00638620
//Animation 4
push 0
push 00906FA0
push 3
push esi
call 00638620
//Animation 5
push 0
push 00906FA0
push 4
push esi
call 00638620
//Animation 6
push 0
push 00906F98
push 5
push esi
call 00638620
//Animation 7
push 0
push 00906F90
push 6
push esi
call 00638620
//Animation 8
push 0
push 00906F90
push 7
push esi
call 00638620
//Animation 9
push 0
push 00906F90
push 8
push esi
call 00638620
//Animation 10
push 0
push 00906F90
push 9
push esi
call 00638620
//Animation 11
push 0
push 00906FA0
push 0A
push esi
call 00638620
//Animation 12
push 0
push 00906FA0
push 0B
push esi
call 00638620
//Animation 13
push 0
push 00906FA0
push 0C
push esi
call 00638620
//Animation 14
push 0
push 00906F88
push 0D
push esi
call 00638620
//Animation 15
push 0
push 00906F80
push 0E
push esi
call 00638620
add esp,F0 // 15 * 16 bytes(4 pushes) = 240 -> F0
pop esi //back to index
add esp,00000100 //clear stack to 0
ret Now, we can set for custom ghosts our animations like: Ghost->Boy Wisp->LayToRest-> AnimationLTR
|
|
|
Post by Mortar on Apr 15, 2018 16:03:24 GMT
When I try to enter ghoul room it crashes the game why?
|
|
|
Post by Woitek on Apr 15, 2018 21:44:39 GMT
I think your ghoulroom level was not replaced or scenario file. Try to run launcher with admin laws, or check these files manually.
|
|
|
Post by sardoc on Apr 24, 2018 20:53:42 GMT
How do you make a launcher file?
I'd like one to, for example, do the same thing as this mod's launcher, but use ghost.exe instead of RejectedGhosts.exe (...basically a minor change just to learn how to do it). Is that complicated to do?
|
|
|
Post by Woitek on Apr 24, 2018 22:49:56 GMT
Launcher use a specific executable file, because it's changing bytes at specific locations: screen position, fullscreen mode and playfmv. It also inject code for rewrite haunter menu what allows you to select 4 extra ghosts. If you want to use another version of the exe, you have to figure out where are these addresses.
|
|