Browse Source

Fixed the LSHIFT button . I had to Stubb Diablo.cpp

pull/18/head
aperturesecurity 8 years ago
parent
commit
760a2d5e0d
  1. 6
      CMakeLists.txt
  2. 8
      Source/diablo.cpp
  3. 3
      Source/diablo.h
  4. 3273
      Source/player.cpp
  5. 2327
      Stub/diablo.cpp
  6. 1
      Stub/miniwin.h
  7. 23
      Stub/miniwin_msg_sdl.cpp
  8. 1
      Stub/miniwin_sdl.cpp
  9. 11
      Stub/sound.cpp

6
CMakeLists.txt

@ -42,13 +42,13 @@ set(SOURCES
Source/cursor.cpp
Source/dead.cpp
Source/debug.cpp
Source/diablo.cpp
# Source/diablo.cpp
Source/doom.cpp
Source/drlg_l1.cpp
Source/drlg_l2.cpp
Source/drlg_l3.cpp
Source/drlg_l4.cpp
# Source/effects.cpp
# Source/effects.cpp
Source/encrypt.cpp
Source/engine.cpp
Source/error.cpp
@ -112,6 +112,7 @@ set(ORIGINAL_SOURCES
Source/nthread.cpp
Source/restrict.cpp
Source/sound.cpp
Source/diablo.cpp
)
set(STUB_SOURCES
@ -136,6 +137,7 @@ set(STUB_SOURCES
Stub/effects.cpp
Stub/sdlrender.cpp
Stub/SDL_FontCache.cpp
Stub/diablo.cpp
3rdParty/StormLib/src/FileStream.cpp
3rdParty/StormLib/src/SBaseCommon.cpp

8
Source/diablo.cpp

@ -2189,6 +2189,9 @@ void __fastcall game_loop(bool bStartup)
// 525650: using guessed type int gbRunGame;
// 679660: using guessed type char gbMaxPlayers;
bool CUSTOM_SDL_KEY_LSHIFT;
void __cdecl game_logic()
{
if ( PauseMode != 2 )
@ -2223,6 +2226,11 @@ void __cdecl game_logic()
ProcessItems();
ProcessMissiles();
}
#ifdef _DEBUG
if ( debug_mode_key_inverted_v )
{

3
Source/diablo.h

@ -34,6 +34,9 @@ extern int PauseMode; // weak
extern int sgnTimeoutCurs;
extern char sgbMouseDown; // weak
extern int color_cycle_timer; // weak
extern bool CUSTOM_SDL_KEY_LSHIFT;
void __cdecl diablo_cpp_init();
void __cdecl FreeGameMem();

3273
Source/player.cpp

File diff suppressed because it is too large Load Diff

2327
Stub/diablo.cpp

File diff suppressed because it is too large Load Diff

1
Stub/miniwin.h

@ -99,6 +99,7 @@ typedef LONG_PTR LRESULT;
//
typedef void *HANDLE;
#define INVALID_HANDLE ((HANDLE)-1)
#define HFILE_ERROR ((HFILE)-1)
typedef HANDLE HWND, HGDIOBJ, HMODULE, HDC, HRGN, HINSTANCE, HPALETTE, HFILE, HCURSOR;

23
Stub/miniwin_msg_sdl.cpp

@ -9,10 +9,22 @@
#include "../types.h"
#include "stubs.h"
PlayerStruct *PlayerS;
static std::deque<MSG> message_queue;
static int translate_sdl_key(SDL_Keysym key)
{
int sym = key.sym;
switch (sym) {
case SDLK_ESCAPE:
@ -63,13 +75,18 @@ static int translate_sdl_key(SDL_Keysym key)
return VK_OEM_PERIOD;
case SDLK_COMMA:
return VK_OEM_COMMA;
case SDLK_LSHIFT:
// case SDLK_LSHIFT:
// printf("Fooooooo\n");
//PlayerS._pmode = 5;
//
// return VK_SHIFT;
case SDLK_RSHIFT:
// Not handled yet
return -1;
default:
if (sym >= SDLK_a && sym <= SDLK_z) {
return 'A' + (sym - SDLK_a);
} else if (sym >= SDLK_0 && sym <= SDLK_9) {
@ -77,6 +94,8 @@ static int translate_sdl_key(SDL_Keysym key)
} else if (sym >= SDLK_F1 && sym <= SDLK_F12) {
return VK_F1 + (sym - SDLK_F1);
}
CUSTOM_SDL_KEY_LSHIFT = 0;
DUMMY_PRINT("unknown key: name=%s sym=0x%X scan=%d mod=0x%X", SDL_GetKeyName(sym), sym, key.scancode, key.mod);
return -1;

1
Stub/miniwin_sdl.cpp

@ -62,7 +62,6 @@ static int translate_sdl_key(SDL_Keysym key)
return VK_OEM_COMMA;
case SDLK_LSHIFT:
printf("LEFT SHIFT\n");
return VK_LSHIFT;
case SDLK_RSHIFT:
// Not handled yet

11
Stub/sound.cpp

@ -180,19 +180,16 @@ TSnd *__fastcall sound_file_load(char *path)
int nrread;
void *file;
SFileOpenFile(path, &file);
//This opens the file and reads it, makes Mix_chunk pointer to it.
//Once this is done the pointer is stored TSnd Struct
SFileOpenFile(path, &file);
bytestoread = (int)SFileGetFileSize((HANDLE)file, 0);
MSFXBuffer = DiabloAllocPtr(bytestoread);
SFileReadFile(file, (char *)MSFXBuffer, bytestoread, (unsigned long *)&nrread, 0);
SDL_RWops *rw = SDL_RWFromMem(MSFXBuffer, bytestoread);
Mix_Chunk *SoundFX = Mix_LoadWAV_RW(rw, 1);
Mix_Chunk *SoundFX = Mix_LoadWAV_RW(rw, 1);

Loading…
Cancel
Save