Merge branch 'master' into makeFlagsMacros

This commit is contained in:
Gabriel Ravier 2019-05-10 08:49:26 +02:00
commit 929adaabf0
9 changed files with 208 additions and 207 deletions

View file

@ -338,6 +338,9 @@ else()
# Compile it ourselves
message(STATUS "Using local SDL2")
set(SDL_SHARED_ENABLED_BY_DEFAULT OFF)
if(MSVC)
set(LIBC ON) # Needed to prevent possible 'symbol already defined' errors
endif()
add_subdirectory("external/SDL2" EXCLUDE_FROM_ALL)
target_link_libraries(CSE2 SDL2-static SDL2main)
endif()

View file

@ -107,6 +107,9 @@ void activatejoy(Fl_Widget*, void*){
joystuffcontainer->activate();
}
}
const unsigned int button_lookup[8] = {0, 1, 2, 5, 3, 4, 6, 7};
void read_Config(){
std::fstream fd;
fd.open("Config.dat", std::ios::in | std::ios::binary);
@ -135,7 +138,7 @@ void read_Config(){
for(char i=0;i<8;i++){
const unsigned long button = CharsToLong(config.buttons[i]);
if(button<9 && button>0){
joyRows[i]->value(button -1);
joyRows[button_lookup[i]]->value(button-1);
}
}
}
@ -148,7 +151,7 @@ void write_Config(Fl_Widget*, void*){
LongToChars(displaychoice->value(), config.display);
LongToChars(joychoice->value(), config.useJoy);
for(char i =0;i<8;i++){
LongToChars(joyRows[i]->value(), config.buttons[i]);
LongToChars(joyRows[button_lookup[i]]->value()+1, config.buttons[i]);
}
std::fstream fd;
fd.open("Config.dat", std::ios::out | std::ios::binary);

View file

@ -489,10 +489,8 @@ bool SystemTask()
case SDL_KEYUP:
#ifdef FIX_BUGS
// BUG FIX: Pixel relied on key codes for input, but these differ based on keyboard layout.
//This would break the alternate movement keys on typical English keyboards, since the '=' key
//is in a completely different place to where it is on a Japanese keyboard.
//To solve this, we use scancodes instead, which are based on the physical location of keys,
//rather than their meaning.
// This would break the alternate movement keys on typical English keyboards, since the '=' key is in a completely different place to where it is on a Japanese keyboard.
// To solve this, we use scancodes instead, which are based on the physical location of keys, rather than their meaning.
switch (event.key.keysym.scancode)
{
case SDL_SCANCODE_ESCAPE:

View file

@ -15,15 +15,14 @@ void ReadyMapName(const char *str)
int a;
// Handle "Studio Pixel presents" text in the intro, using an obfuscated string
unsigned char presentText[24] =
{
unsigned char presentText[24] = {
#ifdef JAPANESE
// "開発室Pixel presents"
0x8A - 1, //
// "ŠJ”­ŽºPixel presents"
0x8A - 1, // ŠJ
0x4A - 1,
0x94 - 1, //
0x94 - 1, // ”­
0xAD - 1,
0x8E - 1, //
0x8E - 1, // Žº
0xBA - 1,
'P' - 1,
'i' - 1,
@ -80,12 +79,11 @@ void ReadyMapName(const char *str)
str = (char*)presentText;
}
// Copy map's name to the MapName
// Copy map's name to the global map name
strcpy(gMapName.name, str);
// Draw the text to the surface
a = (int)strlen(gMapName.name);
CortBox2(&rc, 0, SURFACE_ID_ROOM_NAME);
PutText2((160 - 6 * a) / 2 + 6, 1, gMapName.name, RGB(0x11, 0x00, 0x22), SURFACE_ID_ROOM_NAME);
PutText2((160 - 6 * a) / 2 + 6, 0, gMapName.name, RGB(0xFF, 0xFF, 0xFE), SURFACE_ID_ROOM_NAME);
@ -93,7 +91,7 @@ void ReadyMapName(const char *str)
void PutMapName(BOOL bMini)
{
// 'unused_rect' isn't the original name. The Linux port optimized this out, so there's no name for it.
// 'unused_rect' isn't the original name. The Linux port optimised this out, so there's no name for it.
RECT unused_rect = {0, 0, 160, 16};
if (bMini)

View file

@ -5,7 +5,6 @@
#include <stdio.h>
#include <string.h>
#include <SDL_rwops.h>
#include <SDL_thread.h>
#include <SDL_timer.h>
#include <SDL_events.h>