Merge pull request #16 from Clownacy/master

Merge Clownacy/master into master
This commit is contained in:
Gabriel Ravier 2019-05-10 08:38:21 +02:00 committed by GitHub
commit 82dc512539
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 232 additions and 231 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

@ -52,8 +52,7 @@ BOOL LoadMapData2(const char *path_map)
fread(&dum, 1, 1, fp);
// Get width and height
#ifdef NONPORTABLE
// This fails on big-endian hardware, and platforms
// where short is not two bytes long.
// This fails on big-endian hardware, and platforms where short is not two bytes long.
fread(&gMap.width, 2, 1, fp);
fread(&gMap.length, 2, 1, fp);
#else

View file

@ -14,7 +14,7 @@ void ReadyMapName(const char *str)
{
int a;
//Handle "Studio Pixel presents" text in the intro
// Handle "Studio Pixel presents" text in the intro, using an obfuscated string
unsigned char presentText[24] = {
#ifdef JAPANESE
// "ŠJ”­ŽºPixel presents"
@ -79,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);

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>