diff --git a/Makefile b/Makefile index 9fac12b3..a24307bf 100644 --- a/Makefile +++ b/Makefile @@ -144,6 +144,7 @@ RESOURCES = \ BITMAP/Credit18.bmp \ CURSOR/CURSOR_IKA.bmp \ CURSOR/CURSOR_NORMAL.bmp \ + ICON/ICON_MINI.bmp \ ORG/Access.org \ ORG/Anzen.org \ ORG/Balcony.org \ diff --git a/assets/resources/CSE2.rc b/assets/resources/CSE2.rc index b61d32de..addcc418 100644 --- a/assets/resources/CSE2.rc +++ b/assets/resources/CSE2.rc @@ -58,14 +58,8 @@ BEGIN END END -CURSOR_IKA CURSOR "CURSOR\\CURSOR_IKA.cur" - -CURSOR_NORMAL CURSOR "CURSOR\\CURSOR_NORMAL.cur" - 0 ICON "ICON\\0.ico" -ICON_MINI ICON "ICON\\ICON_MINI.ico" - #endif // Japanese resources ///////////////////////////////////////////////////////////////////////////// diff --git a/assets/resources/CURSOR/CURSOR_IKA.cur b/assets/resources/CURSOR/CURSOR_IKA.cur deleted file mode 100644 index 488b84bf..00000000 Binary files a/assets/resources/CURSOR/CURSOR_IKA.cur and /dev/null differ diff --git a/assets/resources/CURSOR/CURSOR_NORMAL.cur b/assets/resources/CURSOR/CURSOR_NORMAL.cur deleted file mode 100644 index a70f9c55..00000000 Binary files a/assets/resources/CURSOR/CURSOR_NORMAL.cur and /dev/null differ diff --git a/assets/resources/ICON/ICON_MINI.ico b/assets/resources/ICON/ICON_MINI.ico deleted file mode 100644 index b540fd2f..00000000 Binary files a/assets/resources/ICON/ICON_MINI.ico and /dev/null differ diff --git a/src/Main.cpp b/src/Main.cpp index 2cf9ae66..204a57b4 100644 --- a/src/Main.cpp +++ b/src/Main.cpp @@ -19,6 +19,7 @@ #include "MyChar.h" #include "Organya.h" #include "Profile.h" +#include "Resource.h" #include "Sound.h" #include "Triangle.h" @@ -260,6 +261,24 @@ int main(int argc, char *argv[]) SDL_EventState(SDL_DROPFILE, SDL_ENABLE); #endif + // Set up the window icon and cursor + const unsigned char *resource_data; + size_t resource_size; + SDL_RWops *rwops; + + resource_data = FindResource("ICON_MINI", "ICON", &resource_size); + rwops = SDL_RWFromConstMem(resource_data, resource_size); + SDL_Surface *icon_surface = SDL_LoadBMP_RW(rwops, 1); + SDL_SetWindowIcon(window, icon_surface); + SDL_FreeSurface(icon_surface); + + resource_data = FindResource("CURSOR_NORMAL", "CURSOR", &resource_size); + rwops = SDL_RWFromConstMem(resource_data, resource_size); + SDL_Surface *cursor_surface = SDL_LoadBMP_RW(rwops, 1); + SDL_SetColorKey(cursor_surface, SDL_TRUE, SDL_MapRGB(cursor_surface->format, 0xFF, 0, 0xFF)); + SDL_Cursor *cursor = SDL_CreateColorCursor(cursor_surface, 0, 0); + SDL_SetCursor(cursor); + if (CheckFileExists("fps")) bFps = TRUE; @@ -279,6 +298,8 @@ int main(int argc, char *argv[]) // Draw to screen if (!Flip_SystemTask()) { + SDL_FreeCursor(cursor); + SDL_FreeSurface(cursor_surface); SDL_DestroyWindow(window); return 1; } @@ -306,6 +327,8 @@ int main(int argc, char *argv[]) EndTextObject(); EndDirectDraw(); + SDL_FreeCursor(cursor); + SDL_FreeSurface(cursor_surface); SDL_DestroyWindow(window); } diff --git a/src/Resource.cpp b/src/Resource.cpp index 95921cd5..2257b249 100644 --- a/src/Resource.cpp +++ b/src/Resource.cpp @@ -3,6 +3,31 @@ #include #include +#include "Resource/BITMAP/Credit01.bmp.h" +#include "Resource/BITMAP/Credit02.bmp.h" +#include "Resource/BITMAP/Credit03.bmp.h" +#include "Resource/BITMAP/Credit04.bmp.h" +#include "Resource/BITMAP/Credit05.bmp.h" +#include "Resource/BITMAP/Credit06.bmp.h" +#include "Resource/BITMAP/Credit07.bmp.h" +#include "Resource/BITMAP/Credit08.bmp.h" +#include "Resource/BITMAP/Credit09.bmp.h" +#include "Resource/BITMAP/Credit10.bmp.h" +#include "Resource/BITMAP/Credit11.bmp.h" +#include "Resource/BITMAP/Credit12.bmp.h" +#include "Resource/BITMAP/Credit14.bmp.h" +#include "Resource/BITMAP/Credit15.bmp.h" +#include "Resource/BITMAP/Credit16.bmp.h" +#include "Resource/BITMAP/Credit17.bmp.h" +#include "Resource/BITMAP/Credit18.bmp.h" +#ifdef JAPANESE +#include "Resource/BITMAP/pixel_jp.bmp.h" +#else +#include "Resource/BITMAP/pixel.bmp.h" +#endif +#include "Resource/CURSOR/CURSOR_IKA.bmp.h" +#include "Resource/CURSOR/CURSOR_NORMAL.bmp.h" +#include "Resource/ICON/ICON_MINI.bmp.h" #include "Resource/ORG/Access.org.h" #include "Resource/ORG/Anzen.org.h" #include "Resource/ORG/Balcony.org.h" @@ -46,28 +71,6 @@ #include "Resource/ORG/XXXX.org.h" #include "Resource/ORG/Zonbie.org.h" #include "Resource/WAVE/Wave.dat.h" -#include "Resource/BITMAP/Credit01.bmp.h" -#include "Resource/BITMAP/Credit02.bmp.h" -#include "Resource/BITMAP/Credit03.bmp.h" -#include "Resource/BITMAP/Credit04.bmp.h" -#include "Resource/BITMAP/Credit05.bmp.h" -#include "Resource/BITMAP/Credit06.bmp.h" -#include "Resource/BITMAP/Credit07.bmp.h" -#include "Resource/BITMAP/Credit08.bmp.h" -#include "Resource/BITMAP/Credit09.bmp.h" -#include "Resource/BITMAP/Credit10.bmp.h" -#include "Resource/BITMAP/Credit11.bmp.h" -#include "Resource/BITMAP/Credit12.bmp.h" -#include "Resource/BITMAP/Credit14.bmp.h" -#include "Resource/BITMAP/Credit15.bmp.h" -#include "Resource/BITMAP/Credit16.bmp.h" -#include "Resource/BITMAP/Credit17.bmp.h" -#include "Resource/BITMAP/Credit18.bmp.h" -#ifdef JAPANESE -#include "Resource/BITMAP/pixel_jp.bmp.h" -#else -#include "Resource/BITMAP/pixel.bmp.h" -#endif static const struct { @@ -76,6 +79,31 @@ static const struct const unsigned char *data; size_t size; } resources[] = { + {"BITMAP", "CREDIT01", rCredit01, sizeof(rCredit01)}, + {"BITMAP", "CREDIT02", rCredit02, sizeof(rCredit02)}, + {"BITMAP", "CREDIT03", rCredit03, sizeof(rCredit03)}, + {"BITMAP", "CREDIT04", rCredit04, sizeof(rCredit04)}, + {"BITMAP", "CREDIT05", rCredit05, sizeof(rCredit05)}, + {"BITMAP", "CREDIT06", rCredit06, sizeof(rCredit06)}, + {"BITMAP", "CREDIT07", rCredit07, sizeof(rCredit07)}, + {"BITMAP", "CREDIT08", rCredit08, sizeof(rCredit08)}, + {"BITMAP", "CREDIT09", rCredit09, sizeof(rCredit09)}, + {"BITMAP", "CREDIT10", rCredit10, sizeof(rCredit10)}, + {"BITMAP", "CREDIT11", rCredit11, sizeof(rCredit11)}, + {"BITMAP", "CREDIT12", rCredit12, sizeof(rCredit12)}, + {"BITMAP", "CREDIT14", rCredit14, sizeof(rCredit14)}, + {"BITMAP", "CREDIT15", rCredit15, sizeof(rCredit15)}, + {"BITMAP", "CREDIT16", rCredit16, sizeof(rCredit16)}, + {"BITMAP", "CREDIT17", rCredit17, sizeof(rCredit17)}, + {"BITMAP", "CREDIT18", rCredit18, sizeof(rCredit18)}, +#ifdef JAPANESE + {"BITMAP", "PIXEL", rpixel_jp, sizeof(rpixel_jp)}, +#else + {"BITMAP", "PIXEL", rpixel, sizeof(rpixel)}, +#endif + {"CURSOR", "CURSOR_IKA", rCURSOR_IKA, sizeof(rCURSOR_IKA)}, + {"CURSOR", "CURSOR_NORMAL", rCURSOR_NORMAL, sizeof(rCURSOR_NORMAL)}, + {"ICON", "ICON_MINI", rICON_MINI, sizeof(rICON_MINI)}, {"ORG", "ACCESS", rAccess, sizeof(rAccess)}, {"ORG", "ANZEN", rAnzen, sizeof(rAnzen)}, {"ORG", "BALCONY", rBalcony, sizeof(rBalcony)}, @@ -120,29 +148,6 @@ static const struct {"ORG", "ZONBIE", rZonbie, sizeof(rZonbie)}, {"WAVE", "WAVE100", rWave, sizeof(rWave)}, - - {"BITMAP", "CREDIT01", rCredit01, sizeof(rCredit01)}, - {"BITMAP", "CREDIT02", rCredit02, sizeof(rCredit02)}, - {"BITMAP", "CREDIT03", rCredit03, sizeof(rCredit03)}, - {"BITMAP", "CREDIT04", rCredit04, sizeof(rCredit04)}, - {"BITMAP", "CREDIT05", rCredit05, sizeof(rCredit05)}, - {"BITMAP", "CREDIT06", rCredit06, sizeof(rCredit06)}, - {"BITMAP", "CREDIT07", rCredit07, sizeof(rCredit07)}, - {"BITMAP", "CREDIT08", rCredit08, sizeof(rCredit08)}, - {"BITMAP", "CREDIT09", rCredit09, sizeof(rCredit09)}, - {"BITMAP", "CREDIT10", rCredit10, sizeof(rCredit10)}, - {"BITMAP", "CREDIT11", rCredit11, sizeof(rCredit11)}, - {"BITMAP", "CREDIT12", rCredit12, sizeof(rCredit12)}, - {"BITMAP", "CREDIT14", rCredit14, sizeof(rCredit14)}, - {"BITMAP", "CREDIT15", rCredit15, sizeof(rCredit15)}, - {"BITMAP", "CREDIT16", rCredit16, sizeof(rCredit16)}, - {"BITMAP", "CREDIT17", rCredit17, sizeof(rCredit17)}, - {"BITMAP", "CREDIT18", rCredit18, sizeof(rCredit18)}, -#ifdef JAPANESE - {"BITMAP", "PIXEL", rpixel_jp, sizeof(rpixel_jp)}, -#else - {"BITMAP", "PIXEL", rpixel, sizeof(rpixel)}, -#endif }; const unsigned char* FindResource(const char *name, const char *type, size_t *size)