├── 3ds ├── romfs │ ├── gfx │ │ └── .gitkeep │ ├── lang │ │ ├── br │ │ │ └── .gitkeep │ │ ├── de │ │ │ └── .gitkeep │ │ ├── es │ │ │ └── .gitkeep │ │ ├── fr │ │ │ └── .gitkeep │ │ ├── it │ │ │ └── .gitkeep │ │ ├── jp │ │ │ └── .gitkeep │ │ ├── lt │ │ │ └── .gitkeep │ │ ├── pt │ │ │ └── .gitkeep │ │ └── ru │ │ │ └── .gitkeep │ ├── computer │ │ ├── computer_1.bin │ │ ├── computer_2.bin │ │ ├── computer_3.bin │ │ ├── computer_4.bin │ │ └── computer_5.bin │ ├── bruh.wav │ └── Set.json ├── clean.bat ├── compile.bat ├── app │ ├── banner.png │ ├── icon.png │ ├── logo.bcma.lz │ └── BannerAudio.wav ├── assets │ └── gfx │ │ ├── cards │ │ ├── 0_red.png │ │ ├── 1_red.png │ │ ├── 2_red.png │ │ ├── 3_red.png │ │ ├── 4_red.png │ │ ├── 5_red.png │ │ ├── 6_red.png │ │ ├── 7_red.png │ │ ├── 8_red.png │ │ ├── 9_red.png │ │ ├── wild.png │ │ ├── 0_blue.png │ │ ├── 0_green.png │ │ ├── 0_yellow.png │ │ ├── 1_blue.png │ │ ├── 1_green.png │ │ ├── 1_yellow.png │ │ ├── 2_blue.png │ │ ├── 2_green.png │ │ ├── 2_yellow.png │ │ ├── 3_blue.png │ │ ├── 3_green.png │ │ ├── 3_yellow.png │ │ ├── 4_blue.png │ │ ├── 4_green.png │ │ ├── 4_yellow.png │ │ ├── 5_blue.png │ │ ├── 5_green.png │ │ ├── 5_yellow.png │ │ ├── 6_blue.png │ │ ├── 6_green.png │ │ ├── 6_yellow.png │ │ ├── 7_blue.png │ │ ├── 7_green.png │ │ ├── 7_yellow.png │ │ ├── 8_blue.png │ │ ├── 8_green.png │ │ ├── 8_yellow.png │ │ ├── 9_blue.png │ │ ├── 9_green.png │ │ ├── 9_yellow.png │ │ ├── skip_red.png │ │ ├── wild_red.png │ │ ├── draw2_blue.png │ │ ├── draw2_red.png │ │ ├── skip_blue.png │ │ ├── skip_green.png │ │ ├── wild_blue.png │ │ ├── wild_draw4.png │ │ ├── wild_green.png │ │ ├── draw2_green.png │ │ ├── draw2_yellow.png │ │ ├── reverse_blue.png │ │ ├── reverse_green.png │ │ ├── reverse_red.png │ │ ├── skip_yellow.png │ │ ├── wild_yellow.png │ │ ├── reverse_yellow.png │ │ ├── wild_draw4_blue.png │ │ ├── wild_draw4_red.png │ │ ├── wild_draw4_green.png │ │ └── wild_draw4_yellow.png │ │ ├── chars │ │ ├── char1.png │ │ ├── char2.png │ │ ├── char3.png │ │ ├── char4.png │ │ ├── char5.png │ │ ├── char6.png │ │ ├── char7.png │ │ ├── char8.png │ │ ├── char1small.png │ │ ├── char2small.png │ │ ├── char3small.png │ │ ├── char4small.png │ │ ├── char5small.png │ │ ├── char6small.png │ │ ├── char7small.png │ │ └── char8small.png │ │ ├── sprites │ │ ├── blank.png │ │ ├── bruh.png │ │ ├── core.png │ │ ├── discord.png │ │ ├── outline.png │ │ ├── stackie.png │ │ ├── btnSelector.png │ │ ├── btnSelector2.png │ │ ├── selectedPlayer.png │ │ └── universal-core.png │ │ ├── sprites.t3s │ │ ├── chars.t3s │ │ └── cards.t3s ├── include │ ├── utils │ │ ├── fileBrowse.hpp │ │ ├── utils.hpp │ │ └── common.hpp │ ├── core │ │ ├── _3DEins_Core.h │ │ ├── _3DEins_Helper.hpp │ │ └── computer.hpp │ ├── ui │ │ ├── animation.hpp │ │ ├── keyboard.hpp │ │ ├── colorHelper.hpp │ │ ├── msg.hpp │ │ └── gfx.hpp │ ├── screens │ │ ├── errorScreen.hpp │ │ ├── credits.hpp │ │ ├── uiSettings.hpp │ │ ├── colorChanger.hpp │ │ ├── mainMenu.hpp │ │ ├── langSelection.hpp │ │ ├── setChanger.hpp │ │ ├── modeSelect.hpp │ │ └── rulesScreen.hpp │ ├── init.hpp │ └── states │ │ └── screenState.hpp └── source │ ├── main.cpp │ ├── core │ ├── _3DEins_Core.cpp │ ├── computer.cpp │ └── chatSystem.cpp │ ├── ui │ └── colorHelper.cpp │ └── screens │ └── errorScreen.cpp ├── ds ├── graphics │ ├── core.txt │ ├── cards │ │ ├── .gitkeep │ │ ├── 0.txt │ │ ├── 1.txt │ │ ├── 10.txt │ │ ├── 11.txt │ │ ├── 12.txt │ │ ├── 13.txt │ │ ├── 14.txt │ │ ├── 2.txt │ │ ├── 3.txt │ │ ├── 4.txt │ │ ├── 5.txt │ │ ├── 6.txt │ │ ├── 7.txt │ │ ├── 8.txt │ │ ├── 9.txt │ │ ├── 0.bmp │ │ ├── 1.bmp │ │ ├── 2.bmp │ │ ├── 3.bmp │ │ ├── 4.bmp │ │ ├── 5.bmp │ │ ├── 6.bmp │ │ ├── 7.bmp │ │ ├── 8.bmp │ │ ├── 9.bmp │ │ ├── 10.bmp │ │ ├── 11.bmp │ │ ├── 12.bmp │ │ ├── 13.bmp │ │ ├── 14.bmp │ │ └── blank.bmp │ ├── keyboardKana.txt │ ├── keyboardQWERTY.txt │ ├── core.bmp │ ├── corner.bmp │ ├── keyboardKana.bmp │ ├── keyboardKey.bmp │ ├── keyboardQWERTY.bmp │ └── Makefile ├── clean.bat ├── compile.bat ├── icon.bmp ├── nitrofiles │ ├── graphics │ │ └── font.nftr │ └── lang │ │ ├── jp │ │ └── app.json │ │ ├── en │ │ └── app.json │ │ ├── br │ │ └── app.json │ │ ├── pl │ │ └── app.json │ │ ├── it │ │ └── app.json │ │ ├── ru │ │ └── app.json │ │ ├── pt │ │ └── app.json │ │ ├── es │ │ └── app.json │ │ ├── de │ │ └── app.json │ │ └── fr │ │ └── app.json ├── arm9 │ ├── include │ │ ├── utils │ │ │ ├── flashcard.hpp │ │ │ ├── imgcpy.h │ │ │ ├── tonccpy.h │ │ │ ├── structs.hpp │ │ │ ├── stringUtils.hpp │ │ │ └── config.hpp │ │ ├── _3DEins_Core.h │ │ ├── _DSEins_Helper.hpp │ │ ├── graphics │ │ │ ├── msg.hpp │ │ │ ├── selector.hpp │ │ │ ├── colors.hpp │ │ │ └── gui.hpp │ │ └── screens │ │ │ ├── screen.hpp │ │ │ ├── screenCommon.hpp │ │ │ ├── credits.hpp │ │ │ ├── settings.hpp │ │ │ ├── mainMenu.hpp │ │ │ ├── langSelection.hpp │ │ │ ├── gameScreen.hpp │ │ │ └── modeSelect.hpp │ └── source │ │ ├── utils │ │ ├── flashcard.cpp │ │ ├── imgcpy.c │ │ └── stringUtils.cpp │ │ ├── graphics │ │ ├── colors.cpp │ │ ├── msg.cpp │ │ └── selector.cpp │ │ └── screens │ │ └── settings.cpp └── Makefile ├── utils └── Card_Generator │ ├── out │ └── .gitkeep │ ├── clean.bat │ ├── compile.bat │ ├── gfx │ ├── cards │ │ ├── 0_red.png │ │ ├── 1_red.png │ │ ├── 2_red.png │ │ ├── 3_red.png │ │ ├── 4_red.png │ │ ├── 5_red.png │ │ ├── 6_red.png │ │ ├── 7_red.png │ │ ├── 8_red.png │ │ ├── 9_red.png │ │ ├── wild.png │ │ ├── 0_blue.png │ │ ├── 0_green.png │ │ ├── 0_yellow.png │ │ ├── 1_blue.png │ │ ├── 1_green.png │ │ ├── 1_yellow.png │ │ ├── 2_blue.png │ │ ├── 2_green.png │ │ ├── 2_yellow.png │ │ ├── 3_blue.png │ │ ├── 3_green.png │ │ ├── 3_yellow.png │ │ ├── 4_blue.png │ │ ├── 4_green.png │ │ ├── 4_yellow.png │ │ ├── 5_blue.png │ │ ├── 5_green.png │ │ ├── 5_yellow.png │ │ ├── 6_blue.png │ │ ├── 6_green.png │ │ ├── 6_yellow.png │ │ ├── 7_blue.png │ │ ├── 7_green.png │ │ ├── 7_yellow.png │ │ ├── 8_blue.png │ │ ├── 8_green.png │ │ ├── 8_yellow.png │ │ ├── 9_blue.png │ │ ├── 9_green.png │ │ ├── 9_yellow.png │ │ ├── skip_red.png │ │ ├── wild_red.png │ │ ├── draw2_blue.png │ │ ├── draw2_red.png │ │ ├── skip_blue.png │ │ ├── skip_green.png │ │ ├── wild_blue.png │ │ ├── wild_draw4.png │ │ ├── wild_green.png │ │ ├── draw2_green.png │ │ ├── draw2_yellow.png │ │ ├── reverse_blue.png │ │ ├── reverse_green.png │ │ ├── reverse_red.png │ │ ├── skip_yellow.png │ │ ├── wild_yellow.png │ │ ├── reverse_yellow.png │ │ ├── wild_draw4_blue.png │ │ ├── wild_draw4_red.png │ │ ├── wild_draw4_green.png │ │ └── wild_draw4_yellow.png │ └── cards.t3s │ ├── README.md │ └── Makefile ├── tools-linux └── make_cia ├── resources └── logos │ ├── 3DEins-BNR.xcf │ ├── 3DEins-ICN.xcf │ ├── 3DEins-Core Logo.xcf │ └── DSEins-Core Logo.xcf ├── .gitmodules ├── .gitignore ├── crowdin.yml ├── Makefile ├── README.md ├── .vscode └── settings.json ├── common ├── include │ ├── lang.hpp │ └── logging.hpp └── source │ ├── lang.cpp │ └── logging.cpp └── core ├── include ├── player.hpp ├── deck.hpp └── saveData.hpp └── source └── player.cpp /3ds/romfs/gfx/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ds/graphics/core.txt: -------------------------------------------------------------------------------- 1 | 90 -------------------------------------------------------------------------------- /3ds/romfs/lang/br/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /3ds/romfs/lang/de/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /3ds/romfs/lang/es/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /3ds/romfs/lang/fr/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /3ds/romfs/lang/it/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /3ds/romfs/lang/jp/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /3ds/romfs/lang/lt/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /3ds/romfs/lang/pt/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /3ds/romfs/lang/ru/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ds/graphics/cards/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ds/graphics/cards/0.txt: -------------------------------------------------------------------------------- 1 | 20 -------------------------------------------------------------------------------- /ds/graphics/cards/1.txt: -------------------------------------------------------------------------------- 1 | 20 -------------------------------------------------------------------------------- /ds/graphics/cards/10.txt: -------------------------------------------------------------------------------- 1 | 20 -------------------------------------------------------------------------------- /ds/graphics/cards/11.txt: -------------------------------------------------------------------------------- 1 | 20 -------------------------------------------------------------------------------- /ds/graphics/cards/12.txt: -------------------------------------------------------------------------------- 1 | 20 -------------------------------------------------------------------------------- /ds/graphics/cards/13.txt: -------------------------------------------------------------------------------- 1 | 20 -------------------------------------------------------------------------------- /ds/graphics/cards/14.txt: -------------------------------------------------------------------------------- 1 | 20 -------------------------------------------------------------------------------- /ds/graphics/cards/2.txt: -------------------------------------------------------------------------------- 1 | 20 -------------------------------------------------------------------------------- /ds/graphics/cards/3.txt: -------------------------------------------------------------------------------- 1 | 20 -------------------------------------------------------------------------------- /ds/graphics/cards/4.txt: -------------------------------------------------------------------------------- 1 | 20 -------------------------------------------------------------------------------- /ds/graphics/cards/5.txt: -------------------------------------------------------------------------------- 1 | 20 -------------------------------------------------------------------------------- /ds/graphics/cards/6.txt: -------------------------------------------------------------------------------- 1 | 20 -------------------------------------------------------------------------------- /ds/graphics/cards/7.txt: -------------------------------------------------------------------------------- 1 | 20 -------------------------------------------------------------------------------- /ds/graphics/cards/8.txt: -------------------------------------------------------------------------------- 1 | 20 -------------------------------------------------------------------------------- /ds/graphics/cards/9.txt: -------------------------------------------------------------------------------- 1 | 20 -------------------------------------------------------------------------------- /ds/graphics/keyboardKana.txt: -------------------------------------------------------------------------------- 1 | 50 -------------------------------------------------------------------------------- /ds/graphics/keyboardQWERTY.txt: -------------------------------------------------------------------------------- 1 | 50 -------------------------------------------------------------------------------- /utils/Card_Generator/out/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /3ds/clean.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | make clean 3 | -------------------------------------------------------------------------------- /ds/clean.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | make clean 3 | -------------------------------------------------------------------------------- /3ds/compile.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | make 3 | pause 4 | -------------------------------------------------------------------------------- /3ds/romfs/computer/computer_1.bin: -------------------------------------------------------------------------------- 1 | StackZ -------------------------------------------------------------------------------- /3ds/romfs/computer/computer_2.bin: -------------------------------------------------------------------------------- 1 | Carl -------------------------------------------------------------------------------- /3ds/romfs/computer/computer_3.bin: -------------------------------------------------------------------------------- 1 | Lea -------------------------------------------------------------------------------- /3ds/romfs/computer/computer_4.bin: -------------------------------------------------------------------------------- 1 | Isabel -------------------------------------------------------------------------------- /3ds/romfs/computer/computer_5.bin: -------------------------------------------------------------------------------- 1 | Stackie -------------------------------------------------------------------------------- /ds/compile.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | make 3 | pause 4 | -------------------------------------------------------------------------------- /utils/Card_Generator/clean.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | make clean 3 | -------------------------------------------------------------------------------- /utils/Card_Generator/compile.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | make 3 | pause 4 | -------------------------------------------------------------------------------- /ds/icon.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/icon.bmp -------------------------------------------------------------------------------- /3ds/app/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/app/banner.png -------------------------------------------------------------------------------- /3ds/app/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/app/icon.png -------------------------------------------------------------------------------- /3ds/romfs/bruh.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/romfs/bruh.wav -------------------------------------------------------------------------------- /3ds/app/logo.bcma.lz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/app/logo.bcma.lz -------------------------------------------------------------------------------- /ds/graphics/core.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/core.bmp -------------------------------------------------------------------------------- /tools-linux/make_cia: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/tools-linux/make_cia -------------------------------------------------------------------------------- /3ds/app/BannerAudio.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/app/BannerAudio.wav -------------------------------------------------------------------------------- /ds/graphics/cards/0.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/cards/0.bmp -------------------------------------------------------------------------------- /ds/graphics/cards/1.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/cards/1.bmp -------------------------------------------------------------------------------- /ds/graphics/cards/2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/cards/2.bmp -------------------------------------------------------------------------------- /ds/graphics/cards/3.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/cards/3.bmp -------------------------------------------------------------------------------- /ds/graphics/cards/4.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/cards/4.bmp -------------------------------------------------------------------------------- /ds/graphics/cards/5.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/cards/5.bmp -------------------------------------------------------------------------------- /ds/graphics/cards/6.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/cards/6.bmp -------------------------------------------------------------------------------- /ds/graphics/cards/7.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/cards/7.bmp -------------------------------------------------------------------------------- /ds/graphics/cards/8.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/cards/8.bmp -------------------------------------------------------------------------------- /ds/graphics/cards/9.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/cards/9.bmp -------------------------------------------------------------------------------- /ds/graphics/corner.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/corner.bmp -------------------------------------------------------------------------------- /ds/graphics/cards/10.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/cards/10.bmp -------------------------------------------------------------------------------- /ds/graphics/cards/11.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/cards/11.bmp -------------------------------------------------------------------------------- /ds/graphics/cards/12.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/cards/12.bmp -------------------------------------------------------------------------------- /ds/graphics/cards/13.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/cards/13.bmp -------------------------------------------------------------------------------- /ds/graphics/cards/14.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/cards/14.bmp -------------------------------------------------------------------------------- /ds/graphics/cards/blank.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/cards/blank.bmp -------------------------------------------------------------------------------- /ds/graphics/keyboardKana.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/keyboardKana.bmp -------------------------------------------------------------------------------- /ds/graphics/keyboardKey.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/keyboardKey.bmp -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/0_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/0_red.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/1_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/1_red.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/2_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/2_red.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/3_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/3_red.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/4_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/4_red.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/5_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/5_red.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/6_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/6_red.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/7_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/7_red.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/8_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/8_red.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/9_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/9_red.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/wild.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/wild.png -------------------------------------------------------------------------------- /3ds/assets/gfx/chars/char1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/chars/char1.png -------------------------------------------------------------------------------- /3ds/assets/gfx/chars/char2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/chars/char2.png -------------------------------------------------------------------------------- /3ds/assets/gfx/chars/char3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/chars/char3.png -------------------------------------------------------------------------------- /3ds/assets/gfx/chars/char4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/chars/char4.png -------------------------------------------------------------------------------- /3ds/assets/gfx/chars/char5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/chars/char5.png -------------------------------------------------------------------------------- /3ds/assets/gfx/chars/char6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/chars/char6.png -------------------------------------------------------------------------------- /3ds/assets/gfx/chars/char7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/chars/char7.png -------------------------------------------------------------------------------- /3ds/assets/gfx/chars/char8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/chars/char8.png -------------------------------------------------------------------------------- /ds/graphics/keyboardQWERTY.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/graphics/keyboardQWERTY.bmp -------------------------------------------------------------------------------- /resources/logos/3DEins-BNR.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/resources/logos/3DEins-BNR.xcf -------------------------------------------------------------------------------- /resources/logos/3DEins-ICN.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/resources/logos/3DEins-ICN.xcf -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/0_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/0_blue.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/0_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/0_green.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/0_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/0_yellow.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/1_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/1_blue.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/1_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/1_green.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/1_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/1_yellow.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/2_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/2_blue.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/2_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/2_green.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/2_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/2_yellow.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/3_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/3_blue.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/3_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/3_green.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/3_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/3_yellow.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/4_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/4_blue.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/4_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/4_green.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/4_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/4_yellow.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/5_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/5_blue.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/5_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/5_green.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/5_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/5_yellow.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/6_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/6_blue.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/6_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/6_green.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/6_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/6_yellow.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/7_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/7_blue.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/7_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/7_green.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/7_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/7_yellow.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/8_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/8_blue.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/8_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/8_green.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/8_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/8_yellow.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/9_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/9_blue.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/9_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/9_green.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/9_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/9_yellow.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/skip_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/skip_red.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/wild_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/wild_red.png -------------------------------------------------------------------------------- /3ds/assets/gfx/sprites/blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/sprites/blank.png -------------------------------------------------------------------------------- /3ds/assets/gfx/sprites/bruh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/sprites/bruh.png -------------------------------------------------------------------------------- /3ds/assets/gfx/sprites/core.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/sprites/core.png -------------------------------------------------------------------------------- /ds/nitrofiles/graphics/font.nftr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/ds/nitrofiles/graphics/font.nftr -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/draw2_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/draw2_blue.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/draw2_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/draw2_red.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/skip_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/skip_blue.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/skip_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/skip_green.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/wild_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/wild_blue.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/wild_draw4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/wild_draw4.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/wild_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/wild_green.png -------------------------------------------------------------------------------- /3ds/assets/gfx/chars/char1small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/chars/char1small.png -------------------------------------------------------------------------------- /3ds/assets/gfx/chars/char2small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/chars/char2small.png -------------------------------------------------------------------------------- /3ds/assets/gfx/chars/char3small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/chars/char3small.png -------------------------------------------------------------------------------- /3ds/assets/gfx/chars/char4small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/chars/char4small.png -------------------------------------------------------------------------------- /3ds/assets/gfx/chars/char5small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/chars/char5small.png -------------------------------------------------------------------------------- /3ds/assets/gfx/chars/char6small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/chars/char6small.png -------------------------------------------------------------------------------- /3ds/assets/gfx/chars/char7small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/chars/char7small.png -------------------------------------------------------------------------------- /3ds/assets/gfx/chars/char8small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/chars/char8small.png -------------------------------------------------------------------------------- /3ds/assets/gfx/sprites/discord.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/sprites/discord.png -------------------------------------------------------------------------------- /3ds/assets/gfx/sprites/outline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/sprites/outline.png -------------------------------------------------------------------------------- /3ds/assets/gfx/sprites/stackie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/sprites/stackie.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/draw2_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/draw2_green.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/draw2_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/draw2_yellow.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/reverse_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/reverse_blue.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/reverse_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/reverse_green.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/reverse_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/reverse_red.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/skip_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/skip_yellow.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/wild_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/wild_yellow.png -------------------------------------------------------------------------------- /3ds/assets/gfx/sprites/btnSelector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/sprites/btnSelector.png -------------------------------------------------------------------------------- /resources/logos/3DEins-Core Logo.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/resources/logos/3DEins-Core Logo.xcf -------------------------------------------------------------------------------- /resources/logos/DSEins-Core Logo.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/resources/logos/DSEins-Core Logo.xcf -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/reverse_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/reverse_yellow.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/wild_draw4_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/wild_draw4_blue.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/wild_draw4_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/wild_draw4_red.png -------------------------------------------------------------------------------- /3ds/assets/gfx/sprites/btnSelector2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/sprites/btnSelector2.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/0_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/0_red.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/1_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/1_red.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/2_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/2_red.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/3_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/3_red.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/4_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/4_red.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/5_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/5_red.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/6_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/6_red.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/7_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/7_red.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/8_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/8_red.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/9_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/9_red.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/wild.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/wild.png -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "3ds/Universal-Core"] 2 | path = 3ds/Universal-Core 3 | url = https://github.com/Universal-Team/Universal-Core.git 4 | -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/wild_draw4_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/wild_draw4_green.png -------------------------------------------------------------------------------- /3ds/assets/gfx/cards/wild_draw4_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/cards/wild_draw4_yellow.png -------------------------------------------------------------------------------- /3ds/assets/gfx/sprites/selectedPlayer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/sprites/selectedPlayer.png -------------------------------------------------------------------------------- /3ds/assets/gfx/sprites/universal-core.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/3ds/assets/gfx/sprites/universal-core.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/0_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/0_blue.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/0_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/0_green.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/0_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/0_yellow.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/1_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/1_blue.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/1_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/1_green.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/1_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/1_yellow.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/2_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/2_blue.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/2_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/2_green.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/2_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/2_yellow.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/3_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/3_blue.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/3_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/3_green.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/3_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/3_yellow.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/4_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/4_blue.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/4_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/4_green.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/4_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/4_yellow.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/5_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/5_blue.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/5_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/5_green.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/5_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/5_yellow.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/6_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/6_blue.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/6_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/6_green.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/6_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/6_yellow.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/7_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/7_blue.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/7_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/7_green.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/7_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/7_yellow.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/8_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/8_blue.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/8_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/8_green.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/8_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/8_yellow.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/9_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/9_blue.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/9_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/9_green.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/9_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/9_yellow.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/skip_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/skip_red.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/wild_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/wild_red.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/draw2_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/draw2_blue.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/draw2_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/draw2_red.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/skip_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/skip_blue.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/skip_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/skip_green.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/wild_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/wild_blue.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/wild_draw4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/wild_draw4.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/wild_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/wild_green.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/draw2_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/draw2_green.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/draw2_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/draw2_yellow.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/reverse_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/reverse_blue.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/reverse_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/reverse_green.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/reverse_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/reverse_red.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/skip_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/skip_yellow.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/wild_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/wild_yellow.png -------------------------------------------------------------------------------- /3ds/romfs/Set.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "Blue": "#5555ff", 4 | "Green": "#55aa55", 5 | "Red": "#ff5555", 6 | "Yellow": "#ffaa00" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/reverse_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/reverse_yellow.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/wild_draw4_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/wild_draw4_blue.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/wild_draw4_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/wild_draw4_red.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/wild_draw4_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/wild_draw4_green.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards/wild_draw4_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Universal-Team/3DEins/HEAD/utils/Card_Generator/gfx/cards/wild_draw4_yellow.png -------------------------------------------------------------------------------- /ds/arm9/include/utils/flashcard.hpp: -------------------------------------------------------------------------------- 1 | #ifndef FLASHCARD_HPP 2 | #define FLASHCARD_HPP 3 | 4 | bool sdFound(void); 5 | bool flashcardFound(void); 6 | bool bothSDandFlashcard(void); 7 | 8 | #endif //FLASHCARD_HPP 9 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | *.3dsx 3 | *.cia 4 | *.elf 5 | *.smdh 6 | *.exe 7 | *.lst 8 | *.map 9 | *.d 10 | *.o 11 | *build/ 12 | *.t3x 13 | 3ds/app/banner.bin 14 | 3ds/app/icon.bin 15 | 16 | # NDS 17 | *.gfx 18 | *.NDS 19 | ds/graphics/bmp2ds 20 | -------------------------------------------------------------------------------- /crowdin.yml: -------------------------------------------------------------------------------- 1 | files: 2 | - source: /3ds/romfs/lang/en/app.json 3 | translation: /3ds/romfs/lang/%two_letters_code%/app.json 4 | - source: /ds/nitrofiles/lang/en/app.json 5 | translation: /ds/nitrofiles/lang/%two_letters_code%/app.json 6 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | SUBDIRS = 3ds ds 2 | 3 | all: 4 | @for dir in $(SUBDIRS); do $(MAKE) -C $$dir; done 5 | 6 | clean: 7 | @for dir in $(SUBDIRS); do $(MAKE) clean -C $$dir; done 8 | 9 | 3ds: 10 | @$(MAKE) -C 3ds 11 | 12 | ds: 13 | @$(MAKE) -C ds 14 | 15 | .PHONY: $(SUBDIRS) clean 16 | -------------------------------------------------------------------------------- /3ds/assets/gfx/sprites.t3s: -------------------------------------------------------------------------------- 1 | --atlas -f rgba8888 -z auto 2 | 3 | sprites/blank.png 4 | sprites/bruh.png 5 | sprites/btnSelector.png 6 | sprites/btnSelector2.png 7 | sprites/core.png 8 | sprites/discord.png 9 | sprites/outline.png 10 | sprites/selectedPlayer.png 11 | sprites/stackie.png 12 | sprites/universal-core.png -------------------------------------------------------------------------------- /ds/arm9/include/utils/imgcpy.h: -------------------------------------------------------------------------------- 1 | #ifndef IMGCPY_H 2 | #define IMGCPY_H 3 | 4 | 5 | #ifdef __cplusplus 6 | extern "C" { 7 | #endif 8 | 9 | #include 10 | 11 | typedef unsigned int uint; 12 | 13 | // Modified tonccpy for copying images with transparency 14 | void imgcpy(void *dst, const void *src, const u16 *pal, uint size, uint palOfs); 15 | 16 | #ifdef __cplusplus 17 | } 18 | #endif 19 | #endif 20 | -------------------------------------------------------------------------------- /3ds/assets/gfx/chars.t3s: -------------------------------------------------------------------------------- 1 | --atlas -f rgba8888 -z auto 2 | 3 | chars/char1.png 4 | chars/char2.png 5 | chars/char3.png 6 | chars/char4.png 7 | chars/char5.png 8 | chars/char6.png 9 | chars/char7.png 10 | chars/char8.png 11 | chars/char1small.png 12 | chars/char2small.png 13 | chars/char3small.png 14 | chars/char4small.png 15 | chars/char5small.png 16 | chars/char6small.png 17 | chars/char7small.png 18 | chars/char8small.png -------------------------------------------------------------------------------- /utils/Card_Generator/README.md: -------------------------------------------------------------------------------- 1 | # 3DEins Card Generator 2 | 3 | With this you can generate your own Card Spritesheet for 3DEins. 4 | 5 | Just edit the png graphics from `gfx/cards/` and then run "make" to compile the Spritesheet. 6 | 7 | You can find a full spritesheet to the cards inside "templates" if you like to modify it directly. The cards must be 60x90!! 8 | 9 | The Card deck is from [here](https://en.wikipedia.org/wiki/Uno_(card_game)#/media/File:UNO_cards_deck.svg). 10 | 11 | Better keep the Transparency for the Cards, otherwise you wouldn't be able to customize card colors. 12 | 13 | **You need devkitARM & Tex3ds to compile this!** -------------------------------------------------------------------------------- /3ds/include/utils/fileBrowse.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _3DEINS_FILE_BROWSE_HPP 2 | #define _3DEINS_FILE_BROWSE_HPP 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | using namespace std; 10 | 11 | struct DirEntry { 12 | std::string name; 13 | std::string path; 14 | bool isDirectory; 15 | off_t size; 16 | }; 17 | 18 | bool nameEndsWith(const std::string& name, const std::vector extensionList); 19 | void getDirectoryContents(std::vector& dirContents, const std::vector extensionList); 20 | void getDirectoryContents(std::vector& dirContents); 21 | std::vector getContents(const std::string &name, const std::vector &extensionList); 22 | 23 | bool returnIfExist(const std::string &path, const std::vector &extensionList); 24 | 25 | #endif -------------------------------------------------------------------------------- /ds/graphics/Makefile: -------------------------------------------------------------------------------- 1 | ifeq ($(strip $(DEVKITARM)),) 2 | $(error "Please set DEVKITARM in your environment. export DEVKITARM=devkitARM") 3 | endif 4 | 5 | include $(DEVKITARM)/ds_rules 6 | 7 | GRAPHICS := cards . 8 | 9 | OUT := ../nitrofiles/graphics 10 | 11 | INPUTS := $(foreach dir,$(GRAPHICS),$(addprefix $(dir)/,$(notdir $(wildcard $(dir)/*.bmp)))) 12 | 13 | TARGETS := $(foreach file,$(INPUTS:.bmp=.gfx),$(addprefix $(OUT)/, $(file))) 14 | 15 | .PHONY : clean all directories 16 | 17 | all : $(TARGETS) 18 | 19 | $(OUT)/%.gfx : %.bmp %.txt 20 | @echo $$(basename $@) 21 | @[ -d "$(@D)" ] || mkdir -p "$(@D)" 22 | @bmp2ds $< $@ -o $(shell cat $(word 2,$^)) 23 | 24 | $(OUT)/%.gfx : %.bmp 25 | @echo $$(basename $@) 26 | @[ -d "$(@D)" ] || mkdir -p "$(@D)" 27 | @bmp2ds $< $@ 28 | 29 | clean : 30 | @echo clean ... 31 | @rm -rf $(TARGETS) 32 | 33 | cards : 34 | $(MAKE) -C cards -------------------------------------------------------------------------------- /ds/arm9/source/utils/flashcard.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | static bool sdAccessed = false; 7 | static bool sdRead = false; 8 | 9 | static bool flashcardAccessed = false; 10 | static bool flashcardRead = false; 11 | 12 | bool sdFound(void) { 13 | if (!sdAccessed) { 14 | if (access("sd:/", F_OK) == 0) { 15 | sdRead = true; 16 | } else { 17 | sdRead = false; 18 | } 19 | sdAccessed = true; 20 | } 21 | return sdRead; 22 | } 23 | 24 | bool flashcardFound(void) { 25 | if (!flashcardAccessed) { 26 | if (access("fat:/", F_OK) == 0) { 27 | flashcardRead = true; 28 | } else { 29 | flashcardRead = false; 30 | } 31 | flashcardAccessed = true; 32 | } 33 | return flashcardRead; 34 | } 35 | 36 | bool bothSDandFlashcard(void) { 37 | if (sdFound() && flashcardFound()) { 38 | return true; 39 | } else { 40 | return false; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /ds/arm9/include/utils/tonccpy.h: -------------------------------------------------------------------------------- 1 | //# Stuff you may not have yet. 2 | 3 | #ifndef TONCCPY_H 4 | #define TONCCPY_H 5 | 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | #include 12 | 13 | typedef unsigned int uint; 14 | #define BIT_MASK(len) ((1<<(len))-1) 15 | static inline u32 quad8(u32 x) { x |= x<<8; return x | x<<16; } 16 | 17 | 18 | //# Declarations and inlines. 19 | 20 | void tonccpy(void *dst, const void *src, uint size); 21 | 22 | void __toncset(void *dst, u32 fill, uint size); 23 | 24 | //! VRAM-safe memset, byte version. Size in bytes. 25 | static inline void toncset(void *dst, u8 src, uint size) { __toncset(dst, quad8(src), size); } 26 | 27 | //! VRAM-safe memset, halfword version. Size in hwords. 28 | static inline void toncset16(void *dst, u16 src, uint size) { __toncset(dst, src|src<<16, size*2); } 29 | 30 | //! VRAM-safe memset, word version. Size in words. 31 | static inline void toncset32(void *dst, u32 src, uint size) { __toncset(dst, src, size*4); } 32 | 33 | #ifdef __cplusplus 34 | } 35 | #endif 36 | #endif 37 | -------------------------------------------------------------------------------- /ds/arm9/source/utils/imgcpy.c: -------------------------------------------------------------------------------- 1 | #include "imgcpy.h" 2 | 3 | void imgcpy(void *dst, const void *src, const u16 *pal, uint size, uint palOfs) { 4 | if(size==0 || dst==NULL || src==NULL) return; 5 | 6 | uint count; 7 | u16 *dst16; // hword destination 8 | u8 *src8; // byte source 9 | 10 | uint dstOfs = (u32)dst&1; 11 | src8= (u8*)src; 12 | 13 | dst16= (u16*)(dst-dstOfs); 14 | 15 | // Head: 1 byte. 16 | if(dstOfs != 0) { 17 | if(pal[(*src8)+palOfs] != 0) { 18 | *dst16 = (*dst16 & 0xFF) | ((*src8)+palOfs)<<8; 19 | } 20 | src8++; 21 | dst16++; 22 | if(--size==0) return; 23 | } 24 | 25 | // Unaligned main: copy by 2x byte. 26 | count = size/2; 27 | while(count--) { 28 | if(pal[src8[0]+palOfs] != 0) { 29 | *dst16 = (src8[0]+palOfs) | (*dst16 & 0xff<<8); 30 | } 31 | if(pal[src8[1]+palOfs] != 0) { 32 | *dst16 = (*dst16 & 0xFF) | (src8[1]+palOfs)<<8; 33 | } 34 | dst16++; 35 | src8 += 2; 36 | } 37 | 38 | // Tail: 1 byte. 39 | if(size&1) { 40 | if(pal[(*src8)+palOfs]) { 41 | *dst16 = (*dst16 &~ 0xFF) | ((*src8)+palOfs); 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 3DEins! 2 |

3 | License: GPLv3 4 | 5 | Discord Server: #leafedit 6 | 7 | 8 | Build status on Azure Pipelines 9 | 10 | 11 | Translation status on Crowdin 12 | 13 |

14 | 15 | A Card game for Nintendo 3DS! 16 | 17 | ## Credits 18 | ### Main Developers 19 | - [SuperSaiyajinStackZ](https://github.com/SuperSaiyajinStackZ): App Idea and Main Developer. 20 | ### Translators 21 | - [_Mapple²](https://gitlab.com/of228lo): Russian 22 | - [antoine62](https://github.com/antoine62): French 23 | - [Epicpkmn11](https://github.com/Epicpkmn11): Japanese 24 | - [SuperSaiyajinStackZ](https://github.com/SuperSaiyajinStackZ): English & German 25 | - [YoSoy](https://twitter.com/riku200): Spanish 26 | ### Others 27 | - [SuperSaiyajinStackZ](https://github.com/SuperSaiyajinStackZ): For the selfmade [3DEins-Core](https://github.com/SuperSaiyajinStackZ/3DEins-Core)! 28 | -------------------------------------------------------------------------------- /3ds/include/utils/utils.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins-Core 3 | * Copyright (C) 2020 SuperSaiyajinStackZ 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_UTILS_HPP 28 | #define _3DEINS_UTILS_HPP 29 | 30 | #include 31 | 32 | #endif -------------------------------------------------------------------------------- /3ds/source/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #include "init.hpp" 28 | 29 | int main() { 30 | Init::MainLoop(); 31 | } -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.associations": { 3 | "array": "cpp", 4 | "atomic": "cpp", 5 | "*.tcc": "cpp", 6 | "cctype": "cpp", 7 | "clocale": "cpp", 8 | "cmath": "cpp", 9 | "cstdarg": "cpp", 10 | "cstddef": "cpp", 11 | "cstdint": "cpp", 12 | "cstdio": "cpp", 13 | "cstdlib": "cpp", 14 | "cstring": "cpp", 15 | "cwchar": "cpp", 16 | "cwctype": "cpp", 17 | "deque": "cpp", 18 | "forward_list": "cpp", 19 | "unordered_map": "cpp", 20 | "vector": "cpp", 21 | "exception": "cpp", 22 | "algorithm": "cpp", 23 | "functional": "cpp", 24 | "iterator": "cpp", 25 | "map": "cpp", 26 | "memory": "cpp", 27 | "memory_resource": "cpp", 28 | "numeric": "cpp", 29 | "optional": "cpp", 30 | "random": "cpp", 31 | "string": "cpp", 32 | "string_view": "cpp", 33 | "system_error": "cpp", 34 | "tuple": "cpp", 35 | "type_traits": "cpp", 36 | "utility": "cpp", 37 | "fstream": "cpp", 38 | "initializer_list": "cpp", 39 | "iosfwd": "cpp", 40 | "istream": "cpp", 41 | "limits": "cpp", 42 | "new": "cpp", 43 | "ostream": "cpp", 44 | "sstream": "cpp", 45 | "stdexcept": "cpp", 46 | "streambuf": "cpp", 47 | "typeinfo": "cpp", 48 | "valarray": "cpp", 49 | "ctime": "cpp" 50 | } 51 | } -------------------------------------------------------------------------------- /ds/arm9/include/_3DEins_Core.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_CORE_H 28 | #define _3DEINS_CORE_H 29 | 30 | //#define _USE_SPECIAL_CARD 1 // Just one cause why not. 31 | #define SPECIAL_CARD_POINTS 1 // Special Card Points. 32 | 33 | #endif -------------------------------------------------------------------------------- /ds/arm9/include/_DSEins_Helper.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _DSEINS_HELPER_HPP 28 | #define _DSEINS_HELPER_HPP 29 | 30 | #include "coreHelper.hpp" 31 | 32 | namespace _DSEins_Helper { 33 | CardColor selectColor(); 34 | } 35 | 36 | #endif -------------------------------------------------------------------------------- /3ds/include/core/_3DEins_Core.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_CORE_H 28 | #define _3DEINS_CORE_H 29 | 30 | //#define _USE_SPECIAL_CARD 1 // Just one cause why not. 31 | #define SPECIAL_CARD_POINTS 1 // Special Card Points. 32 | 33 | #endif -------------------------------------------------------------------------------- /3ds/assets/gfx/cards.t3s: -------------------------------------------------------------------------------- 1 | --atlas -f rgba8888 -z auto 2 | 3 | cards/0_blue.png 4 | cards/0_green.png 5 | cards/0_red.png 6 | cards/0_yellow.png 7 | 8 | cards/1_blue.png 9 | cards/1_green.png 10 | cards/1_red.png 11 | cards/1_yellow.png 12 | 13 | cards/2_blue.png 14 | cards/2_green.png 15 | cards/2_red.png 16 | cards/2_yellow.png 17 | 18 | cards/3_blue.png 19 | cards/3_green.png 20 | cards/3_red.png 21 | cards/3_yellow.png 22 | 23 | cards/4_blue.png 24 | cards/4_green.png 25 | cards/4_red.png 26 | cards/4_yellow.png 27 | 28 | cards/5_blue.png 29 | cards/5_green.png 30 | cards/5_red.png 31 | cards/5_yellow.png 32 | 33 | cards/6_blue.png 34 | cards/6_green.png 35 | cards/6_red.png 36 | cards/6_yellow.png 37 | 38 | cards/7_blue.png 39 | cards/7_green.png 40 | cards/7_red.png 41 | cards/7_yellow.png 42 | 43 | cards/8_blue.png 44 | cards/8_green.png 45 | cards/8_red.png 46 | cards/8_yellow.png 47 | 48 | cards/9_blue.png 49 | cards/9_green.png 50 | cards/9_red.png 51 | cards/9_yellow.png 52 | 53 | cards/skip_blue.png 54 | cards/skip_green.png 55 | cards/skip_red.png 56 | cards/skip_yellow.png 57 | 58 | cards/reverse_blue.png 59 | cards/reverse_green.png 60 | cards/reverse_red.png 61 | cards/reverse_yellow.png 62 | 63 | cards/draw2_blue.png 64 | cards/draw2_green.png 65 | cards/draw2_red.png 66 | cards/draw2_yellow.png 67 | 68 | cards/wild.png 69 | cards/wild_blue.png 70 | cards/wild_green.png 71 | cards/wild_red.png 72 | cards/wild_yellow.png 73 | 74 | cards/wild_draw4.png 75 | cards/wild_draw4_blue.png 76 | cards/wild_draw4_green.png 77 | cards/wild_draw4_red.png 78 | cards/wild_draw4_yellow.png -------------------------------------------------------------------------------- /utils/Card_Generator/gfx/cards.t3s: -------------------------------------------------------------------------------- 1 | --atlas -f rgba8888 -z auto 2 | 3 | cards/0_blue.png 4 | cards/0_green.png 5 | cards/0_red.png 6 | cards/0_yellow.png 7 | 8 | cards/1_blue.png 9 | cards/1_green.png 10 | cards/1_red.png 11 | cards/1_yellow.png 12 | 13 | cards/2_blue.png 14 | cards/2_green.png 15 | cards/2_red.png 16 | cards/2_yellow.png 17 | 18 | cards/3_blue.png 19 | cards/3_green.png 20 | cards/3_red.png 21 | cards/3_yellow.png 22 | 23 | cards/4_blue.png 24 | cards/4_green.png 25 | cards/4_red.png 26 | cards/4_yellow.png 27 | 28 | cards/5_blue.png 29 | cards/5_green.png 30 | cards/5_red.png 31 | cards/5_yellow.png 32 | 33 | cards/6_blue.png 34 | cards/6_green.png 35 | cards/6_red.png 36 | cards/6_yellow.png 37 | 38 | cards/7_blue.png 39 | cards/7_green.png 40 | cards/7_red.png 41 | cards/7_yellow.png 42 | 43 | cards/8_blue.png 44 | cards/8_green.png 45 | cards/8_red.png 46 | cards/8_yellow.png 47 | 48 | cards/9_blue.png 49 | cards/9_green.png 50 | cards/9_red.png 51 | cards/9_yellow.png 52 | 53 | cards/skip_blue.png 54 | cards/skip_green.png 55 | cards/skip_red.png 56 | cards/skip_yellow.png 57 | 58 | cards/reverse_blue.png 59 | cards/reverse_green.png 60 | cards/reverse_red.png 61 | cards/reverse_yellow.png 62 | 63 | cards/draw2_blue.png 64 | cards/draw2_green.png 65 | cards/draw2_red.png 66 | cards/draw2_yellow.png 67 | 68 | cards/wild.png 69 | cards/wild_blue.png 70 | cards/wild_green.png 71 | cards/wild_red.png 72 | cards/wild_yellow.png 73 | 74 | cards/wild_draw4.png 75 | cards/wild_draw4_blue.png 76 | cards/wild_draw4_green.png 77 | cards/wild_draw4_red.png 78 | cards/wild_draw4_yellow.png -------------------------------------------------------------------------------- /3ds/include/ui/animation.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_ANIMATION_HPP 28 | #define _3DEINS_ANIMATION_HPP 29 | 30 | #include <3ds.h> 31 | 32 | namespace Animation { 33 | // Animated Sub Background. 34 | void DrawSubBG(bool isTop = true); 35 | } 36 | 37 | #endif -------------------------------------------------------------------------------- /3ds/include/core/_3DEins_Helper.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_HELPER_HPP 28 | #define _3DEINS_HELPER_HPP 29 | 30 | #include "coreHelper.hpp" 31 | 32 | namespace _3DEins_Helper { 33 | CardColor selectColor(); 34 | int selectAvatar(int oldAvatar); 35 | } 36 | 37 | #endif -------------------------------------------------------------------------------- /common/include/lang.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins | DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_LANG_HPP 28 | #define _3DEINS_LANG_HPP 29 | 30 | #include "json.hpp" 31 | 32 | #include 33 | 34 | namespace Lang { 35 | std::string get(const std::string &key); 36 | void load(); 37 | } 38 | 39 | #endif -------------------------------------------------------------------------------- /ds/arm9/include/utils/structs.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _DSEINS_STRUCTS_HPP 28 | #define _DSEINS_STRUCTS_HPP 29 | 30 | class Structs { 31 | public: 32 | struct ButtonPos { 33 | int x; 34 | int y; 35 | int w; 36 | int h; 37 | int link; 38 | }; 39 | }; 40 | 41 | #endif -------------------------------------------------------------------------------- /3ds/source/core/_3DEins_Core.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #include "_3DEins_Core.h" 28 | #include "coreHelper.hpp" 29 | 30 | // Our function if PlayerState is PlayerState::SPECIAL. 31 | void _3DEins_SpecialHandle(std::unique_ptr &game, const int firstPlayer, const int secondPlayer, const int maxPlayer) { } -------------------------------------------------------------------------------- /3ds/include/utils/common.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_COMMON_HPP 28 | #define _3DEINS_COMMON_HPP 29 | 30 | #include "animation.hpp" 31 | #include "gfx.hpp" 32 | #include "gui.hpp" 33 | #include "lang.hpp" 34 | #include "msg.hpp" 35 | #include "screenCommon.hpp" 36 | #include "screenState.hpp" 37 | 38 | #endif -------------------------------------------------------------------------------- /ds/arm9/include/graphics/msg.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _DSEINS_MSG_HPP 28 | #define _DSEINS_MSG_HPP 29 | 30 | #include "graphics.hpp" 31 | #include "screen.hpp" 32 | 33 | #include 34 | 35 | namespace Msg { 36 | void DisplayPlayerSwitch(std::string message); 37 | void DisplayWaitMsg(std::string message); 38 | }; 39 | 40 | #endif -------------------------------------------------------------------------------- /ds/arm9/include/screens/screen.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _DSEINS_SCREEN_HPP 28 | #define _DSEINS_SCREEN_HPP 29 | 30 | #include 31 | #include 32 | 33 | class Screen { 34 | public: 35 | virtual ~Screen() {} 36 | virtual void Logic(u16 hDown, touchPosition touch) = 0; 37 | virtual void Draw() const = 0; 38 | }; 39 | 40 | #endif -------------------------------------------------------------------------------- /ds/arm9/include/utils/stringUtils.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _DSEINS_STRINGUTILS_HPP 28 | #define _DSEINS_STRINGUTILS_HPP 29 | 30 | #include 31 | 32 | namespace StringUtils { 33 | // Converters. 34 | std::u16string UTF8toUTF16(const std::string& src); 35 | std::string UTF16toUTF8(const std::u16string& src); 36 | } 37 | 38 | #endif -------------------------------------------------------------------------------- /ds/nitrofiles/lang/jp/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "_DSEINS_CORE": "アプリの開発と自作のDSEins-Core。", 3 | "A_CONTINUE": "Aを押して続行します", 4 | "CARD_0": "0", 5 | "CARD_1": "1", 6 | "CARD_2": "2", 7 | "CARD_3": "3", 8 | "CARD_4": "4", 9 | "CARD_5": "5", 10 | "CARD_6": "6", 11 | "CARD_7": "7", 12 | "CARD_8": "8", 13 | "CARD_9": "9", 14 | "CARD_PLUS2": "ドロー2", 15 | "CARD_REVERSE": "リバース", 16 | "CARD_SKIP": "スキップ", 17 | "CARD_WILD": "ワイルド", 18 | "CARD_WILD4": "ワイルドドロー4", 19 | "CARDS_LEFT": "残りカード:", 20 | "COLOR_BLACK": "黒", 21 | "COLOR_BLUE": "青", 22 | "COLOR_GREEN": "緑", 23 | "COLOR_RED": "赤", 24 | "COLOR_YELLOW": "黄", 25 | "CREDITS": "クレジット", 26 | "CURRENT_CARD": "現在のカード:", 27 | "CURRENT_VERSION": "現在のバージョン:", 28 | "DEVELOPED_BY": "開発:Universal-Team", 29 | "DRAW_1_MSG": "一度に1枚しかカードを引けません!", 30 | "GENERAL_CREDITS": "一般クレジット", 31 | "ITS_PLAYER_TURN": "%sの番です!", 32 | "LANGUAGE": "言語", 33 | "LOADING": "ロードしています…", 34 | "MAIN_DEV": "主な開発者: StackZ", 35 | "MAINMENU": "メインメニュー", 36 | "MULTI_PLAYER": "マルチプレイヤー", 37 | "NEW_GAME": "新しいゲーム", 38 | "NO": "いいえ", 39 | "OK": "OK", 40 | "PLAY_INSTRUCTIONS": "X:カードを引く\n十字キー上・下:カードを切り替える\nA:カードをします", 41 | "PLAYER": "プレイヤー", 42 | "PLAYER_BREAK": "%sは休憩が必要です。\n%s:続ける!", 43 | "PLAYER_NEXT": "%sは番を完了しました。\n%s:続ける!", 44 | "PLAYER_WON": "%s勝!", 45 | "QUIT_GAME": "このゲームを終了しますか?", 46 | "RESTART_GAME": "ゲームを再起動しますか?\n\n現在の進歩を失うでしょう", 47 | "SELECT_COLOR": "好きな色を選んでください。", 48 | "SELECT_GAME_MODE": "ゲームモードの選択", 49 | "SELECT_LANG": "言語を選択する", 50 | "SELECT_PLAYER_AMOUNT": "プレイヤー量を選択します。", 51 | "SINGLE_PLAYER": "シングルプレーヤー", 52 | "TABLECARD": "テーブルカード:", 53 | "TRANSLATORS": "すべての翻訳者", 54 | "UI_SETTINGS": "UIの設定", 55 | "Y_CONTINUE": "Yを押して続行します", 56 | "YES": "はい" 57 | } 58 | -------------------------------------------------------------------------------- /3ds/include/screens/errorScreen.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_ERROR_SCREEN_HPP 28 | #define _3DEINS_ERROR_SCREEN_HPP 29 | 30 | #include "common.hpp" 31 | 32 | #include 33 | 34 | class ErrorScreen : public Screen { 35 | public: 36 | void Draw(void) const override; 37 | void Logic(u32 hDown, u32 hHeld, touchPosition touch) override; 38 | }; 39 | 40 | #endif -------------------------------------------------------------------------------- /ds/arm9/include/screens/screenCommon.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _DSEINS_SCREENCOMMON_HPP 28 | #define _DSEINS_SCREENCOMMON_HPP 29 | 30 | #include "colors.hpp" 31 | #include "graphics.hpp" 32 | #include "gui.hpp" 33 | #include "lang.hpp" 34 | #include "msg.hpp" 35 | #include "screen.hpp" 36 | 37 | extern bool selected; 38 | extern bool changes; 39 | extern bool doUpdate; 40 | #endif -------------------------------------------------------------------------------- /3ds/include/init.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_INIT_HPP 28 | #define _3DEINS_INIT_HPP 29 | 30 | #include <3ds.h> 31 | 32 | namespace Init { 33 | // Init, Mainloop & Exit. 34 | Result Initialize(); 35 | Result MainLoop(); 36 | Result Exit(); 37 | 38 | // Special things. 39 | void GenerateID(); // Player ID does not exist. Generate it! 40 | void enterName(); 41 | } 42 | 43 | #endif -------------------------------------------------------------------------------- /ds/arm9/include/graphics/selector.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _DSEINS_SELECTOR_HPP 28 | #define _DSEINS_SELECTOR_HPP 29 | 30 | #include 31 | 32 | class Selector { 33 | public: 34 | Selector(int w, int h); 35 | 36 | void move(int x, int y); 37 | void hide(); 38 | void show(); 39 | void resize(int w, int h); 40 | void update(); 41 | private: 42 | int width = 0, height = 0; 43 | }; 44 | 45 | #endif -------------------------------------------------------------------------------- /3ds/include/screens/credits.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_CREDITS_HPP 28 | #define _3DEINS_CREDITS_HPP 29 | 30 | #include "common.hpp" 31 | #include "structs.hpp" 32 | 33 | #include 34 | 35 | class Credits : public Screen { 36 | public: 37 | void Draw(void) const override; 38 | void Logic(u32 hDown, u32 hHeld, touchPosition touch) override; 39 | private: 40 | int creditsPage = 0; 41 | }; 42 | 43 | #endif -------------------------------------------------------------------------------- /common/include/logging.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_LOGGING_HPP 28 | #define _3DEINS_LOGGING_HPP 29 | 30 | #include 31 | 32 | namespace Logging { 33 | // Create the Log File. 34 | void createLogFile(void); 35 | 36 | // Write to the Log. 37 | void writeToLog(std::string debugText); 38 | 39 | // Other useful stuff. 40 | std::string logDate(void); 41 | std::string format(const std::string& fmt_str, ...); 42 | } 43 | 44 | #endif -------------------------------------------------------------------------------- /3ds/include/ui/keyboard.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_KEYBOARD_HPP 28 | #define _3DEINS_KEYBOARD_HPP 29 | 30 | #include <3ds.h> 31 | #include 32 | 33 | namespace Keyboard { 34 | void Draw(int selection); 35 | void DrawNumpad(int selection); 36 | std::string Numpad(uint maxLength, std::string Text); 37 | int getUint(int max, std::string Text); 38 | std::string getString(uint maxLength, std::string Text, float inputTextSize); 39 | } 40 | 41 | #endif -------------------------------------------------------------------------------- /ds/arm9/include/screens/credits.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _DSEINS_CREDITS_HPP 28 | #define _DSEINS_CREDITS_HPP 29 | 30 | #include "screenCommon.hpp" 31 | 32 | #include "structs.hpp" 33 | #include 34 | 35 | class Credits : public Screen { 36 | public: 37 | void Draw(void) const override; 38 | void Logic(u16 hDown, touchPosition touch) override; 39 | Credits(); 40 | private: 41 | void DrawBottom(void) const; 42 | int creditsPage = 0; 43 | Image core = {0, 0}; 44 | }; 45 | 46 | #endif -------------------------------------------------------------------------------- /3ds/include/states/screenState.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_SCREEN_STATE_HPP 28 | #define _3DEINS_SCREEN_STATE_HPP 29 | 30 | #include "screenCommon.hpp" 31 | 32 | #include 33 | 34 | enum class screenState { 35 | Chat_Action, 36 | Nothing 37 | }; 38 | 39 | class ScreenState { 40 | public: 41 | virtual ~ScreenState() {} 42 | virtual void DrawStateTop(void) const = 0; 43 | virtual void DrawStateBottom(void) const = 0; 44 | virtual void StateLogic(u32 hDown, u32 hHeld, touchPosition touch) = 0; 45 | bool isUsed = false; 46 | }; 47 | 48 | #endif -------------------------------------------------------------------------------- /3ds/source/ui/colorHelper.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #include "colorHelper.hpp" 28 | 29 | int ColorHelper::getColorValue(int color, int bgr) { 30 | char colorName[10]; 31 | int i; 32 | std::stringstream ss; 33 | 34 | itoa(color, colorName, 16); 35 | std::string colorNamePart(colorName, 2*bgr+2, 2); 36 | ss << std::hex << colorNamePart.c_str(); 37 | ss >> i; 38 | 39 | return i; 40 | } 41 | 42 | std::string ColorHelper::getColorName(int color, int bgr) { 43 | char colorName[10]; 44 | int i = getColorValue(color, bgr); 45 | itoa(i, colorName, 10); 46 | return colorName; 47 | } -------------------------------------------------------------------------------- /ds/arm9/include/screens/settings.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _DSEINS_SETTINGS_HPP 28 | #define _DSEINS_SETTINGS_HPP 29 | 30 | #include "gui.hpp" 31 | #include "screenCommon.hpp" 32 | 33 | #include "structs.hpp" 34 | #include 35 | 36 | class Settings : public Screen { 37 | public: 38 | void Draw(void) const override; 39 | void Logic(u16 hDown, touchPosition touch) override; 40 | private: 41 | int selection = 0; 42 | 43 | std::vector buttonPos = { 44 | {30, 45, 80, 40, "LANGUAGE", GRAY, true}, // Language. 45 | {130, 45, 80, 40, "?", GRAY, true} // ? 46 | }; 47 | }; 48 | 49 | #endif -------------------------------------------------------------------------------- /3ds/include/screens/uiSettings.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_UISETTINGS_HPP 28 | #define _3DEINS_UISETTINGS_HPP 29 | 30 | #include "common.hpp" 31 | #include "structs.hpp" 32 | 33 | #include 34 | 35 | class UISettings : public Screen { 36 | public: 37 | void Draw(void) const override; 38 | void Logic(u32 hDown, u32 hHeld, touchPosition touch) override; 39 | private: 40 | int Selection = 0; 41 | 42 | std::vector mainButtons = { 43 | {10, 70, 140, 40,}, // Colors. 44 | {170, 70, 140, 40,}, // Language. 45 | {10, 145, 140, 40,}, // Allow animation. 46 | {170, 145, 140, 40,} // ?. 47 | }; 48 | }; 49 | 50 | #endif -------------------------------------------------------------------------------- /3ds/include/screens/colorChanger.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_COLORCHANGER_HPP 28 | #define _3DEINS_COLORCHANGER_HPP 29 | 30 | #include "common.hpp" 31 | #include "structs.hpp" 32 | 33 | #include 34 | 35 | class ColorChanger : public Screen { 36 | public: 37 | void Draw(void) const override; 38 | void Logic(u32 hDown, u32 hHeld, touchPosition touch) override; 39 | private: 40 | void DrawPreview(void) const; 41 | int colorMode = 0; 42 | std::vector buttons = { 43 | {10, 85, 95, 41}, 44 | {115, 85, 95, 41}, 45 | {220, 85, 95, 41}, 46 | }; 47 | 48 | Structs::ButtonPos btn = { 90, 100, 140, 40 }; 49 | }; 50 | 51 | #endif -------------------------------------------------------------------------------- /ds/arm9/include/screens/mainMenu.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _DSEINS_MAINMENU_HPP 28 | #define _DSEINS_MAINMENU_HPP 29 | 30 | #include "gui.hpp" 31 | #include "screenCommon.hpp" 32 | 33 | #include "structs.hpp" 34 | #include 35 | 36 | class MainMenu : public Screen { 37 | public: 38 | void Draw(void) const override; 39 | void Logic(u16 hDown, touchPosition touch) override; 40 | private: 41 | int selection = 0; 42 | 43 | std::vector buttonPos = { 44 | {30, 45, 80, 40, "NEW_GAME", GRAY, true}, // New Game. 45 | {130, 45, 80, 40, "UI_SETTINGS", GRAY, true}, // UI Settings. 46 | {30, 100, 80, 40, "CREDITS", GRAY, true} // Credits. 47 | }; 48 | }; 49 | 50 | #endif -------------------------------------------------------------------------------- /3ds/include/screens/mainMenu.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_MAINMENU_HPP 28 | #define _3DEINS_MAINMENU_HPP 29 | 30 | #include "common.hpp" 31 | #include "structs.hpp" 32 | 33 | #include 34 | 35 | class MainMenu : public Screen { 36 | public: 37 | void Draw(void) const override; 38 | void Logic(u32 hDown, u32 hHeld, touchPosition touch) override; 39 | MainMenu(); 40 | private: 41 | int Selection = 0; 42 | 43 | std::vector mainButtons = { 44 | {10, 70, 140, 40, "NEW_GAME"}, // New Game. 45 | {170, 70, 140, 40, "UI_SETTINGS"}, // UI Settings. 46 | {10, 145, 140, 40, "CREDITS"}, // Credits. 47 | {170, 145, 140, 40, "RULES"} // Rules. 48 | }; 49 | }; 50 | 51 | #endif -------------------------------------------------------------------------------- /3ds/include/core/computer.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_COMPUTER_HPP 28 | #define _3DEINS_COMPUTER_HPP 29 | 30 | #include 31 | 32 | /* 33 | * 3DEins Computer Struct. 34 | * 0x0 - 0x9: Computer Name. (size: 10, UTF-8, 10 chars) 35 | * 0xA - 0xB: Computer Avatar. (size: 1, u8) 36 | */ 37 | 38 | typedef uint8_t u8; 39 | typedef uint16_t u16; 40 | typedef uint32_t u32; 41 | typedef uint64_t u64; 42 | 43 | class Computer { 44 | public: 45 | // Constructor & Destructor. 46 | Computer(int character); 47 | ~Computer() { } 48 | 49 | const std::string getName() { return this->name; } 50 | const int getAvatar() { return this->avatar; } 51 | private: 52 | std::string name; 53 | int avatar; 54 | }; 55 | 56 | #endif -------------------------------------------------------------------------------- /ds/nitrofiles/lang/en/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "_DSEINS_CORE": "Developing the app with selfmade DSEins-Core.", 3 | "A_CONTINUE": "Press A to continue.", 4 | "CARD_0": "0", 5 | "CARD_1": "1", 6 | "CARD_2": "2", 7 | "CARD_3": "3", 8 | "CARD_4": "4", 9 | "CARD_5": "5", 10 | "CARD_6": "6", 11 | "CARD_7": "7", 12 | "CARD_8": "8", 13 | "CARD_9": "9", 14 | "CARD_PLUS2": "Draw 2", 15 | "CARD_REVERSE": "Reverse", 16 | "CARD_SKIP": "Skip", 17 | "CARD_WILD": "Wild", 18 | "CARD_WILD4": "Wild Draw 4", 19 | "CARDS_LEFT": "Cards left: ", 20 | "COLOR_BLACK": "Black", 21 | "COLOR_BLUE": "Blue", 22 | "COLOR_GREEN": "Green", 23 | "COLOR_RED": "Red", 24 | "COLOR_YELLOW": "Yellow", 25 | "CREDITS": "Credits", 26 | "CURRENT_CARD": "Current Card: ", 27 | "CURRENT_VERSION": "Current Version: ", 28 | "DEVELOPED_BY": "Developed by Universal-Team.", 29 | "DRAW_1_MSG": "You can only draw 1 Card at a time!", 30 | "GENERAL_CREDITS": "General Credits", 31 | "ITS_PLAYER_TURN": "It's %s's turn!", 32 | "LANGUAGE": "Language", 33 | "LOADING": "Loading...", 34 | "MAIN_DEV": "Main Developer: StackZ", 35 | "MAINMENU": "MainMenu", 36 | "MULTI_PLAYER": "Multiplayer", 37 | "NEW_GAME": "New Game", 38 | "NO": "No", 39 | "OK": "OK", 40 | "PLAY_INSTRUCTIONS": "X: Draw Card\nD-Pad Up / Down: Change Card\nA: Play Card", 41 | "PLAYER": "Player", 42 | "PLAYER_BREAK": "%s needs to take a break.\n%s: Continue!", 43 | "PLAYER_NEXT": "%s has finished their round.\n%s: Continue!", 44 | "PLAYER_WON": "%s won!", 45 | "QUIT_GAME": "Would you like to quit this game?", 46 | "RESTART_GAME": "Would you like to restart the game?\n\nYou will lose your current progress!", 47 | "SELECT_COLOR": "Select the color you want.", 48 | "SELECT_GAME_MODE": "Select the game mode.", 49 | "SELECT_LANG": "Choose the current language.", 50 | "SELECT_PLAYER_AMOUNT": "Select the player amount.", 51 | "SINGLE_PLAYER": "Single Player", 52 | "TABLECARD": "Table Card: ", 53 | "TRANSLATORS": "All our Translators", 54 | "UI_SETTINGS": "UI Settings", 55 | "Y_CONTINUE": "Press Y to continue.", 56 | "YES": "Yes" 57 | } 58 | -------------------------------------------------------------------------------- /ds/nitrofiles/lang/br/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "_DSEINS_CORE": "Develobruh the bruh with selfbruh DSEins-Bruh.", 3 | "A_CONTINUE": "Bruhss  to bruhnue.", 4 | "CARD_0": "0", 5 | "CARD_1": "1", 6 | "CARD_2": "2", 7 | "CARD_3": "3", 8 | "CARD_4": "4", 9 | "CARD_5": "5", 10 | "CARD_6": "6", 11 | "CARD_7": "7", 12 | "CARD_8": "8", 13 | "CARD_9": "9", 14 | "CARD_PLUS2": "Bruh 2", 15 | "CARD_REVERSE": "Bruhverse", 16 | "CARD_SKIP": "Brip", 17 | "CARD_WILD": "Brild", 18 | "CARD_WILD4": "Brild Draw 4", 19 | "CARDS_LEFT": "Cards left: ", 20 | "COLOR_BLACK": "Bruhck", 21 | "COLOR_BLUE": "Brue", 22 | "COLOR_GREEN": "Breen", 23 | "COLOR_RED": "Brud", 24 | "COLOR_YELLOW": "Bruhllow", 25 | "CREDITS": "Bruhdits", 26 | "CURRENT_CARD": "Current Card: ", 27 | "CURRENT_VERSION": "Current Bruh: ", 28 | "DEVELOPED_BY": "Develbruhed by: Universal-Team.", 29 | "DRAW_1_MSG": "You can only bruh 1 Card at a time! Don't be Greedy!", 30 | "GENERAL_CREDITS": "General Bruhdits", 31 | "ITS_PLAYER_TURN": "It's %s's turn!", 32 | "LANGUAGE": "Bruhdioma", 33 | "LOADING": "Bruh...", 34 | "MAIN_DEV": "Bruh Debruhper: StackZ", 35 | "MAINMENU": "Mainbruh", 36 | "MULTI_PLAYER": "Multibruher", 37 | "NEW_GAME": "New Bruh", 38 | "NO": "No", 39 | "OK": "Bro", 40 | "PLAY_INSTRUCTIONS": "X: Bruh Bruh\nD-Pad Up / Down: Change Bruh\nA: Play Bruh", 41 | "PLAYER": "Bruh", 42 | "PLAYER_BREAK": "%s needs to say bruh.\n%s: Bruh!", 43 | "PLAYER_NEXT": "%s bruhs finished their bruh.\n%s: Continue!", 44 | "PLAYER_WON": "%s bruhn!", 45 | "QUIT_GAME": "Would you like to quit this bruh?", 46 | "RESTART_GAME": "Would you like to restart the bruh?\n\nYou will lose your current bruhgress!", 47 | "SELECT_COLOR": "Select the bruhlor you want.", 48 | "SELECT_GAME_MODE": "Select the bruh mode.", 49 | "SELECT_LANG": "Choose the bruhdioma.", 50 | "SELECT_PLAYER_AMOUNT": "Select the bruh amount.", 51 | "SINGLE_PLAYER": "Single Bruh", 52 | "TABLECARD": "Bruhble Card: ", 53 | "TRANSLATORS": "All our Bruh", 54 | "UI_SETTINGS": "UI Settings", 55 | "Y_CONTINUE": "Bruhss  to bruhnue.", 56 | "YES": "Bruh" 57 | } 58 | -------------------------------------------------------------------------------- /3ds/include/ui/colorHelper.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_COLORHELPER_HPP 28 | #define _3DEINS_COLORHELPER_HPP 29 | 30 | #include 31 | #include 32 | #include 33 | #include 34 | 35 | /** 36 | * @brief Creates a 8 byte RGBA color 37 | * @param r red component of the color 38 | * @param g green component of the color 39 | * @param b blue component of the color 40 | * @param a alpha component of the color 41 | */ 42 | #define RGBA8(r, g, b, a) ((((r)&0xFF)<<0) | (((g)&0xFF)<<8) | (((b)&0xFF)<<16) | (((a)&0xFF)<<24)) 43 | 44 | typedef u32 Color; 45 | 46 | namespace ColorHelper { 47 | int getColorValue(int color, int bgr); 48 | std::string getColorName(int color, int bgr); 49 | } 50 | 51 | #endif -------------------------------------------------------------------------------- /ds/Makefile: -------------------------------------------------------------------------------- 1 | #--------------------------------------------------------------------------------- 2 | .SUFFIXES: 3 | #--------------------------------------------------------------------------------- 4 | ifeq ($(strip $(DEVKITARM)),) 5 | $(error "Please set DEVKITARM in your environment. export DEVKITARM=devkitARM") 6 | endif 7 | 8 | export TARGET := DSEins 9 | export TOPDIR := $(CURDIR) 10 | 11 | # specify a directory which contains the nitro filesystem 12 | # this is relative to the Makefile 13 | NITRO_FILES := nitrofiles 14 | 15 | # These set the information text in the nds file 16 | GAME_TITLE := DSEins 17 | GAME_SUBTITLE1 := Universal-Team 18 | 19 | include $(DEVKITARM)/ds_rules 20 | 21 | .PHONY: checkarm9 graphics clean 22 | 23 | #--------------------------------------------------------------------------------- 24 | # main targets 25 | #--------------------------------------------------------------------------------- 26 | all: checkarm9 $(TARGET).nds 27 | 28 | skip-graphics : checkarm9 $(NITRO_FILES) arm9/$(TARGET).elf 29 | ndstool -c $(TARGET).nds -9 arm9/$(TARGET).elf \ 30 | -b1 icon.bmp "$(GAME_TITLE);$(GAME_SUBTITLE1)" $(_ADDFILES) \ 31 | -z 80040000 -u 00030004 -a 00000138 32 | 33 | #--------------------------------------------------------------------------------- 34 | checkarm9: 35 | $(MAKE) -C arm9 36 | 37 | #--------------------------------------------------------------------------------- 38 | $(TARGET).nds : graphics $(NITRO_FILES) arm9/$(TARGET).elf 39 | ndstool -c $(TARGET).nds -9 arm9/$(TARGET).elf \ 40 | -b1 icon.bmp "$(GAME_TITLE);$(GAME_SUBTITLE1)" $(_ADDFILES) \ 41 | -z 80040000 -u 00030004 -a 00000138 42 | 43 | #--------------------------------------------------------------------------------- 44 | arm9/$(TARGET).elf: 45 | $(MAKE) -C arm9 46 | 47 | #--------------------------------------------------------------------------------- 48 | graphics: 49 | $(MAKE) -C graphics 50 | 51 | #--------------------------------------------------------------------------------- 52 | clean: 53 | $(MAKE) -C arm9 clean 54 | $(MAKE) -C graphics clean 55 | rm -f $(TARGET).nds $(TARGET).arm9 -------------------------------------------------------------------------------- /ds/nitrofiles/lang/pl/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "_DSEINS_CORE": "Stworzono aplikację własnoręcznie zrobionym DEins-Core.", 3 | "A_CONTINUE": "Naciśnij A aby kontynuować.", 4 | "CARD_0": "0", 5 | "CARD_1": "1", 6 | "CARD_2": "2", 7 | "CARD_3": "3", 8 | "CARD_4": "4", 9 | "CARD_5": "5", 10 | "CARD_6": "6", 11 | "CARD_7": "7", 12 | "CARD_8": "8", 13 | "CARD_9": "9", 14 | "CARD_PLUS2": "Dobierz 2", 15 | "CARD_REVERSE": "Odwrotnie", 16 | "CARD_SKIP": "Pomiń", 17 | "CARD_WILD": "Kolor", 18 | "CARD_WILD4": "Kolor Dobierz 4", 19 | "CARDS_LEFT": "Pozostało kart: ", 20 | "COLOR_BLACK": "Czarny", 21 | "COLOR_BLUE": "Niebieski", 22 | "COLOR_GREEN": "Zielony", 23 | "COLOR_RED": "Czerwony", 24 | "COLOR_YELLOW": "Żółty", 25 | "CREDITS": "Współautorzy", 26 | "CURRENT_CARD": "Bieżąca Karta: ", 27 | "CURRENT_VERSION": "Bieżąca Wersja: ", 28 | "DEVELOPED_BY": "Opracowane przez Universal-Team.", 29 | "DRAW_1_MSG": "Możesz dobrać tylko 1 kartę na raz!", 30 | "GENERAL_CREDITS": "Uznani Autorzy", 31 | "ITS_PLAYER_TURN": "Kolej %s!", 32 | "LANGUAGE": "Język", 33 | "LOADING": "Ładowanie...", 34 | "MAIN_DEV": "Główny programista: StackZ", 35 | "MAINMENU": "MenuGłówne", 36 | "MULTI_PLAYER": "Tryb wieloosobowy", 37 | "NEW_GAME": "Nowa gra", 38 | "NO": "Nie", 39 | "OK": "OK", 40 | "PLAY_INSTRUCTIONS": "X: Dobierz Kartę\nKrzyżak Góra / Dół: Zmiana Karty\nA: Wystaw Kartę", 41 | "PLAYER": "Gracz", 42 | "PLAYER_BREAK": "%s musi zrobić przerwę.\n%s: Kontynuuj!", 43 | "PLAYER_NEXT": "%s zakończył swoją rundę.\n%s: Kontynuuj!", 44 | "PLAYER_WON": "%s wygrał!", 45 | "QUIT_GAME": "Czy chcesz wyjść z tej gry?", 46 | "RESTART_GAME": "Czy chcesz zrestartować grę?\n\nStracisz swoje bieżące postępy!", 47 | "SELECT_COLOR": "Wybierz kolor który chcesz.", 48 | "SELECT_GAME_MODE": "Wybierz tryb gry.", 49 | "SELECT_LANG": "Wybierz obecny język.", 50 | "SELECT_PLAYER_AMOUNT": "Wybierz ilość graczy.", 51 | "SINGLE_PLAYER": "Gra jednoosobowa", 52 | "TABLECARD": "Karta na Stole: ", 53 | "TRANSLATORS": "Nasi tłumacze", 54 | "UI_SETTINGS": "Ustawienia Interfejsu", 55 | "Y_CONTINUE": "Naciśnij Y aby kontynuować.", 56 | "YES": "Tak" 57 | } 58 | -------------------------------------------------------------------------------- /3ds/include/screens/langSelection.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_LANGSELECTION_HPP 28 | #define _3DEINS_LANGSELECTION_HPP 29 | 30 | #include "common.hpp" 31 | #include "structs.hpp" 32 | 33 | #include 34 | 35 | class LangSelection : public Screen { 36 | public: 37 | void Draw(void) const override; 38 | void Logic(u32 hDown, u32 hHeld, touchPosition touch) override; 39 | LangSelection(); 40 | private: 41 | int selectedLang = 0; 42 | std::vector langBlocks = { 43 | {37, 32, 20, 20}, 44 | {37, 72, 20, 20}, 45 | {37, 112, 20, 20}, 46 | {37, 152, 20, 20}, 47 | {37, 188, 20, 20}, 48 | {177, 32, 20, 20}, 49 | {177, 72, 20, 20}, 50 | {177, 112, 20, 20}, 51 | {177, 152, 20, 20}, 52 | {177, 188, 20, 20} 53 | }; 54 | }; 55 | 56 | #endif -------------------------------------------------------------------------------- /ds/arm9/include/screens/langSelection.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _DSEINS_LANG_SELECTION_HPP 28 | #define _DSEINS_LANG_SELECTION_HPP 29 | 30 | #include "screenCommon.hpp" 31 | 32 | #include "structs.hpp" 33 | #include 34 | 35 | class LangSelection : public Screen { 36 | public: 37 | void Draw(void) const override; 38 | void Logic(u16 hDown, touchPosition touch) override; 39 | LangSelection(); 40 | private: 41 | int selectedLang = 0; 42 | 43 | const std::vector langBlocks = { 44 | {10, 25, 20, 20}, 45 | {10, 55, 20, 20}, 46 | {10, 85, 20, 20}, 47 | {10, 115, 20, 20}, 48 | {10, 145, 20, 20}, 49 | 50 | {150, 25, 20, 20}, 51 | {150, 55, 20, 20}, 52 | {150, 85, 20, 20}, 53 | {150, 115, 20, 20}, 54 | {150, 145, 20, 20} 55 | }; 56 | }; 57 | 58 | #endif -------------------------------------------------------------------------------- /ds/nitrofiles/lang/it/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "_DSEINS_CORE": "Sviluppando l'app con DSEins-Core autocostruito.", 3 | "A_CONTINUE": "Premi A per continuare.", 4 | "CARD_0": "0", 5 | "CARD_1": "1", 6 | "CARD_2": "2", 7 | "CARD_3": "3", 8 | "CARD_4": "4", 9 | "CARD_5": "5", 10 | "CARD_6": "6", 11 | "CARD_7": "7", 12 | "CARD_8": "8", 13 | "CARD_9": "9", 14 | "CARD_PLUS2": "Pesca 2", 15 | "CARD_REVERSE": "Inverti", 16 | "CARD_SKIP": "Salta", 17 | "CARD_WILD": "Jolly", 18 | "CARD_WILD4": "Jolly Pesca 4", 19 | "CARDS_LEFT": "Carte rimaste: ", 20 | "COLOR_BLACK": "Nero", 21 | "COLOR_BLUE": "Blu", 22 | "COLOR_GREEN": "Verde", 23 | "COLOR_RED": "Rosso", 24 | "COLOR_YELLOW": "Giallo", 25 | "CREDITS": "Riconoscimenti", 26 | "CURRENT_CARD": "Carta Attuale: ", 27 | "CURRENT_VERSION": "Versione Attuale: ", 28 | "DEVELOPED_BY": "Sviluppato da Universal-Team.", 29 | "DRAW_1_MSG": "Puoi pescare solo 1 Carta alla volta!", 30 | "GENERAL_CREDITS": "Crediti Generali", 31 | "ITS_PLAYER_TURN": "È il turno di %s!", 32 | "LANGUAGE": "Lingua", 33 | "LOADING": "Caricamento...", 34 | "MAIN_DEV": "Sviluppatore principale: StackZ", 35 | "MAINMENU": "MenuPrincipale", 36 | "MULTI_PLAYER": "Multigiocatore", 37 | "NEW_GAME": "Nuova Partita", 38 | "NO": "No", 39 | "OK": "OK", 40 | "PLAY_INSTRUCTIONS": "X: Pesca Carta\nD-Pad Up / Giù: Cambia Carta\nA: Gioca Carta", 41 | "PLAYER": "Giocatore", 42 | "PLAYER_BREAK": "%s deve fare una pausa.\n%s: Continua!", 43 | "PLAYER_NEXT": "%s ha finito il suo turno.\n%s: Continua!", 44 | "PLAYER_WON": "%s ha vinto!", 45 | "QUIT_GAME": "Vuoi uscire da questo gioco?", 46 | "RESTART_GAME": "Vuoi riavviare il gioco?\n\nPerderai i tuoi progressi correnti!", 47 | "SELECT_COLOR": "Seleziona il colore che vuoi.", 48 | "SELECT_GAME_MODE": "Seleziona una modalità di gioco.", 49 | "SELECT_LANG": "Scegli la lingua corrente.", 50 | "SELECT_PLAYER_AMOUNT": "Seleziona l'importo dei giocatore.", 51 | "SINGLE_PLAYER": "Un Giocatore", 52 | "TABLECARD": "Scheda Tabella: ", 53 | "TRANSLATORS": "Tutti i nostri Traduttori", 54 | "UI_SETTINGS": "Impostazioni IU", 55 | "Y_CONTINUE": "Premi Y per continuare.", 56 | "YES": "Si" 57 | } 58 | -------------------------------------------------------------------------------- /ds/nitrofiles/lang/ru/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "_DSEINS_CORE": "Разработка приложения с помощью DSEins-Core.", 3 | "A_CONTINUE": "Нажмите A, чтобы продолжить.", 4 | "CARD_0": "0", 5 | "CARD_1": "1", 6 | "CARD_2": "2", 7 | "CARD_3": "3", 8 | "CARD_4": "4", 9 | "CARD_5": "5", 10 | "CARD_6": "6", 11 | "CARD_7": "7", 12 | "CARD_8": "8", 13 | "CARD_9": "9", 14 | "CARD_PLUS2": "Взять 2", 15 | "CARD_REVERSE": "Наоборот", 16 | "CARD_SKIP": "Пропустить", 17 | "CARD_WILD": "Дикая карта", 18 | "CARD_WILD4": "Дикая взять 4", 19 | "CARDS_LEFT": "Осталось карт: ", 20 | "COLOR_BLACK": "Черный", 21 | "COLOR_BLUE": "Синий", 22 | "COLOR_GREEN": "Зелёный", 23 | "COLOR_RED": "Красный", 24 | "COLOR_YELLOW": "Жёлтый", 25 | "CREDITS": "Кредиты", 26 | "CURRENT_CARD": "Текущая карта: ", 27 | "CURRENT_VERSION": "Текущая версия: ", 28 | "DEVELOPED_BY": "Разработано: Универсальной командой.", 29 | "DRAW_1_MSG": "Вы можете взять только одну карту на раз!", 30 | "GENERAL_CREDITS": "Общие кредиты", 31 | "ITS_PLAYER_TURN": "Это ход %s!", 32 | "LANGUAGE": "Язык", 33 | "LOADING": "Загрузка...", 34 | "MAIN_DEV": "Главный разработчик: StackZ", 35 | "MAINMENU": "Главное меню", 36 | "MULTI_PLAYER": "Мультиплеер", 37 | "NEW_GAME": "Новая игра", 38 | "NO": "Нет", 39 | "OK": "OK", 40 | "PLAY_INSTRUCTIONS": "X: Карта розыгрыша\nD-Pad вверх / вниз: Смена карты\nA: Играйте в Карта", 41 | "PLAYER": "Игрок", 42 | "PLAYER_BREAK": "%s требует перерыва.\n%s: Продолжить!", 43 | "PLAYER_NEXT": "%s завершил свой раунд.\n%s: Продолжить!", 44 | "PLAYER_WON": "%s победил!", 45 | "QUIT_GAME": "Вы хотите выйти из этой игры?", 46 | "RESTART_GAME": "Вы хотите перезапустить игру?\n\nВы потеряете текущий прогресс!", 47 | "SELECT_COLOR": "Выберите цвет, который вы хотите.", 48 | "SELECT_GAME_MODE": "Выберите режим игры.", 49 | "SELECT_LANG": "Выберите текущий язык.", 50 | "SELECT_PLAYER_AMOUNT": "Выберите количество игрока.", 51 | "SINGLE_PLAYER": "Одиночная игра", 52 | "TABLECARD": "Карта на столе: ", 53 | "TRANSLATORS": "Переводчики", 54 | "UI_SETTINGS": "Настройки пользовательского интерфейса", 55 | "Y_CONTINUE": "Нажмите Y для продолжения.", 56 | "YES": "Да" 57 | } 58 | -------------------------------------------------------------------------------- /ds/nitrofiles/lang/pt/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "_DSEINS_CORE": "Desenvolver o aplicativo com DSEins-Core autônomo.", 3 | "A_CONTINUE": "Prime A para continuar.", 4 | "CARD_0": "0", 5 | "CARD_1": "1", 6 | "CARD_2": "2", 7 | "CARD_3": "3", 8 | "CARD_4": "4", 9 | "CARD_5": "5", 10 | "CARD_6": "6", 11 | "CARD_7": "7", 12 | "CARD_8": "8", 13 | "CARD_9": "9", 14 | "CARD_PLUS2": "Comprar 2", 15 | "CARD_REVERSE": "Reverter", 16 | "CARD_SKIP": "Pular", 17 | "CARD_WILD": "Coringa", 18 | "CARD_WILD4": "Coringa Comprar 4", 19 | "CARDS_LEFT": "Cartões restantes: ", 20 | "COLOR_BLACK": "Preto", 21 | "COLOR_BLUE": "Azul", 22 | "COLOR_GREEN": "Verde", 23 | "COLOR_RED": "Vermelho", 24 | "COLOR_YELLOW": "Amarelo", 25 | "CREDITS": "Créditos", 26 | "CURRENT_CARD": "Cartão Atual: ", 27 | "CURRENT_VERSION": "Versão Atual: ", 28 | "DEVELOPED_BY": "Desenvolvido por Universal-Team.", 29 | "DRAW_1_MSG": "Você só pode comprar 1 cartão por vez!", 30 | "GENERAL_CREDITS": "Créditos Gerais", 31 | "ITS_PLAYER_TURN": "É a vez de %s!", 32 | "LANGUAGE": "Idioma", 33 | "LOADING": "Carregando...", 34 | "MAIN_DEV": "Desenvolvedor Principal: StackZ", 35 | "MAINMENU": "MenuPrincipal", 36 | "MULTI_PLAYER": "Multijogador", 37 | "NEW_GAME": "Nova Partida", 38 | "NO": "Não", 39 | "OK": "OK", 40 | "PLAY_INSTRUCTIONS": "X: Comprar o cartão\nD-Pad Acima / Baixo: Altere o cartão\nA: Jogar Cartão", 41 | "PLAYER": "Jogador", 42 | "PLAYER_BREAK": "%s precisa fazer uma pausa.\n%s: Continuar!", 43 | "PLAYER_NEXT": "%s finalizou a rodada.\n%s: Continue!", 44 | "PLAYER_WON": "%s venceu!", 45 | "QUIT_GAME": "Você gostaria de sair deste jogo?", 46 | "RESTART_GAME": "Gostaria de reiniciar o jogo?\n\nVocê vai perder o seu progresso atual!", 47 | "SELECT_COLOR": "Selecione a cor desejada.", 48 | "SELECT_GAME_MODE": "Selecione o modo de jogo.", 49 | "SELECT_LANG": "Escolhe o idioma atual.", 50 | "SELECT_PLAYER_AMOUNT": "Selecione a quantidade do jogador.", 51 | "SINGLE_PLAYER": "Um Jogador", 52 | "TABLECARD": "Cartão da Tabela: ", 53 | "TRANSLATORS": "Todos os nossos Tradutores", 54 | "UI_SETTINGS": "Configurações da Interface", 55 | "Y_CONTINUE": "Pressione Y para continuar.", 56 | "YES": "Sim" 57 | } 58 | -------------------------------------------------------------------------------- /ds/nitrofiles/lang/es/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "_DSEINS_CORE": "Desarrollando la aplicación con núcleo de 3DEins autodiseñado.", 3 | "A_CONTINUE": "Presiona (A) para continuar.", 4 | "CARD_0": "0", 5 | "CARD_1": "1", 6 | "CARD_2": "2", 7 | "CARD_3": "3", 8 | "CARD_4": "4", 9 | "CARD_5": "5", 10 | "CARD_6": "6", 11 | "CARD_7": "7", 12 | "CARD_8": "8", 13 | "CARD_9": "9", 14 | "CARD_PLUS2": "Toma 2", 15 | "CARD_REVERSE": "Reversa", 16 | "CARD_SKIP": "Saltar", 17 | "CARD_WILD": "Campo", 18 | "CARD_WILD4": "Wild Toma 4", 19 | "CARDS_LEFT": "Cartas restantes: ", 20 | "COLOR_BLACK": "Negro", 21 | "COLOR_BLUE": "Azul", 22 | "COLOR_GREEN": "Verde", 23 | "COLOR_RED": "Rojo", 24 | "COLOR_YELLOW": "Amarillo", 25 | "CREDITS": "Agradecimientos", 26 | "CURRENT_CARD": "Carta actual: ", 27 | "CURRENT_VERSION": "Versión Actual: ", 28 | "DEVELOPED_BY": "Desarrollado por Universal-Team.", 29 | "DRAW_1_MSG": "¡Sólo puedes robar 1 Carta a la vez!", 30 | "GENERAL_CREDITS": "Agradecimientos generales", 31 | "ITS_PLAYER_TURN": "¡Es el turno de %s!", 32 | "LANGUAGE": "Idioma", 33 | "LOADING": "Cargando...", 34 | "MAIN_DEV": "Desarrollador principal: StackZ", 35 | "MAINMENU": "Menú Principal", 36 | "MULTI_PLAYER": "Multijugador", 37 | "NEW_GAME": "Nuevo Juego", 38 | "NO": "No \t", 39 | "OK": "Aceptar", 40 | "PLAY_INSTRUCTIONS": "X: Robar Carta\nD-Pad Arriba / Abajo: Cambiar Carta\nA: Jugar Carta", 41 | "PLAYER": "Jugador", 42 | "PLAYER_BREAK": "%s necesita tomar un descanso.\n%s: ¡Continúe!", 43 | "PLAYER_NEXT": "%s ha terminado su ronda.\n%s: ¡Continúe!", 44 | "PLAYER_WON": "¡%s ganó!", 45 | "QUIT_GAME": "¿Le gustaría salir de este juego?", 46 | "RESTART_GAME": "¿Quiere reiniciar el juego?\n\n¡Perderá su progreso actual!", 47 | "SELECT_COLOR": "Seleccione el color que desee.", 48 | "SELECT_GAME_MODE": "Selecciona el modo de juego.", 49 | "SELECT_LANG": "Eliga el lenguaje actual.", 50 | "SELECT_PLAYER_AMOUNT": "Seleccione la cantidad del jugador.", 51 | "SINGLE_PLAYER": "Un jugador", 52 | "TABLECARD": "Carta de mesa: ", 53 | "TRANSLATORS": "Todos nuestros traductores", 54 | "UI_SETTINGS": "Interfaz de Usuario", 55 | "Y_CONTINUE": "Pulse Y para continuar.", 56 | "YES": "Sí" 57 | } 58 | -------------------------------------------------------------------------------- /ds/nitrofiles/lang/de/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "_DSEINS_CORE": "Entwicklung der App mit selbstgemachtem DSEins-Core.", 3 | "A_CONTINUE": "Drücke A, um fortzufahren.", 4 | "CARD_0": "0", 5 | "CARD_1": "1", 6 | "CARD_2": "2", 7 | "CARD_3": "3", 8 | "CARD_4": "4", 9 | "CARD_5": "5", 10 | "CARD_6": "6", 11 | "CARD_7": "7", 12 | "CARD_8": "8", 13 | "CARD_9": "9", 14 | "CARD_PLUS2": "Plus 2", 15 | "CARD_REVERSE": "Retour", 16 | "CARD_SKIP": "Aussetzen", 17 | "CARD_WILD": "Farbwahl", 18 | "CARD_WILD4": "Plus 4", 19 | "CARDS_LEFT": "Verbleibende Karten: ", 20 | "COLOR_BLACK": "Schwarz", 21 | "COLOR_BLUE": "Blau", 22 | "COLOR_GREEN": "Grün", 23 | "COLOR_RED": "Rot", 24 | "COLOR_YELLOW": "Gelb", 25 | "CREDITS": "Credits", 26 | "CURRENT_CARD": "Aktuelle Karte: ", 27 | "CURRENT_VERSION": "Aktuelle Version: ", 28 | "DEVELOPED_BY": "Entwickelt vom Universal-Team.", 29 | "DRAW_1_MSG": "Du kannst nur 1 Karte gleichzeitig ziehen!", 30 | "GENERAL_CREDITS": "Allgemeine Credits", 31 | "ITS_PLAYER_TURN": "Es ist %s an der Reihe!", 32 | "LANGUAGE": "Sprache", 33 | "LOADING": "Laden...", 34 | "MAIN_DEV": "Hauptentwickler: StackZ", 35 | "MAINMENU": "Hauptmenü", 36 | "MULTI_PLAYER": "Mehrspieler", 37 | "NEW_GAME": "Neues Spiel", 38 | "NO": "Nein", 39 | "OK": "OK", 40 | "PLAY_INSTRUCTIONS": "X: Karte ziehen\nSteuerkreuz oben / unten: Karte wechseln\nA: Karte spielen", 41 | "PLAYER": "Spieler", 42 | "PLAYER_BREAK": "%s muss eine Pause einlegen.\n%s: Du kannst fortfahren!", 43 | "PLAYER_NEXT": "%s hat seine | ihre Runde beendet.\n%s: Du kannst fortfahren!", 44 | "PLAYER_WON": "%s hat gewonnen!", 45 | "QUIT_GAME": "Möchtest du dieses Spiel beenden?", 46 | "RESTART_GAME": "Möchtest du das Spiel neu starten?\n\nDu verlierst deinen aktuellen Fortschritt!", 47 | "SELECT_COLOR": "Wählen Sie die gewünschte Farbe aus.", 48 | "SELECT_GAME_MODE": "Wähle den Spielmodus.", 49 | "SELECT_LANG": "Wähle die aktuelle Sprache.", 50 | "SELECT_PLAYER_AMOUNT": "Wähle die Spieleranzahl.", 51 | "SINGLE_PLAYER": "Einzelspieler", 52 | "TABLECARD": "Tischkarte: ", 53 | "TRANSLATORS": "Alle unsere Übersetzer", 54 | "UI_SETTINGS": "UI-Einstellungen", 55 | "Y_CONTINUE": "Drücke Y, um fortzufahren.", 56 | "YES": "Ja" 57 | } 58 | -------------------------------------------------------------------------------- /ds/nitrofiles/lang/fr/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "_DSEINS_CORE": "Développe l'application avec DSEins-Core.", 3 | "A_CONTINUE": "Appuyez sur A pour continuer.", 4 | "CARD_0": "0", 5 | "CARD_1": "1", 6 | "CARD_2": "2", 7 | "CARD_3": "3", 8 | "CARD_4": "4", 9 | "CARD_5": "5", 10 | "CARD_6": "6", 11 | "CARD_7": "7", 12 | "CARD_8": "8", 13 | "CARD_9": "9", 14 | "CARD_PLUS2": "Piocher 2 Cartes", 15 | "CARD_REVERSE": "Contre-sens", 16 | "CARD_SKIP": "Passer le tour", 17 | "CARD_WILD": "Joker", 18 | "CARD_WILD4": "Joker +4", 19 | "CARDS_LEFT": "Cartes restantes: ", 20 | "COLOR_BLACK": "Noir", 21 | "COLOR_BLUE": "Bleu", 22 | "COLOR_GREEN": "Vert", 23 | "COLOR_RED": "Rouge", 24 | "COLOR_YELLOW": "Jaune", 25 | "CREDITS": "Crédits", 26 | "CURRENT_CARD": "Carte actuelle: ", 27 | "CURRENT_VERSION": "Version actuelle: ", 28 | "DEVELOPED_BY": "Développé par Universal-Team.", 29 | "DRAW_1_MSG": "Tu ne peux prendre qu'une seule carte par tour!", 30 | "GENERAL_CREDITS": "Crédits Généraux", 31 | "ITS_PLAYER_TURN": "C'est au tour de %s!", 32 | "LANGUAGE": "Langue", 33 | "LOADING": "Chargement...", 34 | "MAIN_DEV": "Développeur Principal : StackZ", 35 | "MAINMENU": "Menu principal", 36 | "MULTI_PLAYER": "Multijoueur", 37 | "NEW_GAME": "Nouvelle partie", 38 | "NO": "Non", 39 | "OK": "OK", 40 | "PLAY_INSTRUCTIONS": "X: Piocher une carte\nD-Pad vers le haut/bas : Changer de carte\nA : Jouer une carte", 41 | "PLAYER": "Joueur", 42 | "PLAYER_BREAK": "%s doit faire une pause.\n%s: A toi!", 43 | "PLAYER_NEXT": "%s a terminé sa manche.\n%s: A toi!", 44 | "PLAYER_WON": "%s a gagné!", 45 | "QUIT_GAME": "Voulez-vous quitter cette partie?", 46 | "RESTART_GAME": "Voulez-vous redémarrer le jeu?\n\nVous perdrez votre progression actuelle!", 47 | "SELECT_COLOR": "Sélectionnez la couleur que vous voulez.", 48 | "SELECT_GAME_MODE": "Choisissez le mode de jeu.", 49 | "SELECT_LANG": "Choisissez la langue actuelle.", 50 | "SELECT_PLAYER_AMOUNT": "Sélectionnez le nombre de joueurs.", 51 | "SINGLE_PLAYER": "Un joueur", 52 | "TABLECARD": "Carte actuelle: ", 53 | "TRANSLATORS": "Tous nos traducteurs", 54 | "UI_SETTINGS": "Paramètres de l'UI", 55 | "Y_CONTINUE": "Appuyez sur Y pour continuer.", 56 | "YES": "Oui" 57 | } 58 | -------------------------------------------------------------------------------- /3ds/include/ui/msg.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_MSG_HPP 28 | #define _3DEINS_MSG_HPP 29 | 30 | #include 31 | 32 | namespace Msg { 33 | void DisplayWarnMsg(std::string Text); // Display a Warn Message for about 2 seconds. 34 | void DisplayWarnMsg2(std::string Text); // Display a Warn Message for about 2 seconds. Used for more text. 35 | bool promptMsg(std::string msg); // This will be used for the prompt Messages, which needs confirmation with A or cancel with B. 36 | bool promptMsg2(std::string promptMsg); // This is part of promptMsg. 37 | void DisplayWaitMsg(std::string waitMsg, ...); // Will Display a Message, which needs a confirmation with A. 38 | void NotImplementedYet(void); // Display a not Implemented Message. 39 | void DisplayMsg(std::string Message); // Display just a Message. 40 | void HelperBox(std::string Msg); // Helper Box? 41 | void DisplayPlayerSwitch(std::string waitMsg, ...); 42 | } 43 | 44 | #endif -------------------------------------------------------------------------------- /ds/arm9/include/graphics/colors.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _DSEINS_COLORS_HPP 28 | #define _DSEINS_COLORS_HPP 29 | 30 | #include 31 | 32 | #define CLEAR 0x0 33 | #define WHITE 0x1 34 | #define LIGHT_GRAY 0x2 35 | #define GRAY 0x3 36 | #define DARKISH_GRAY 0x4 37 | #define DARK_GRAY 0x5 38 | #define DARKER_GRAY 0x6 39 | #define DARKERER_GRAY 0x7 40 | #define BLACK 0x8 41 | #define RED 0x9 42 | #define DARK_RED 0xA 43 | #define BLUE 0xB 44 | #define DARK_BLUE 0xC 45 | #define DARK_GREEN 0xD 46 | #define GREEN 0xE 47 | #define LIGHT_GREEN 0xF 48 | 49 | // Card Colors. 50 | #define CARD_COLOR_RED 0xE0 51 | #define CARD_COLOR_BLUE 0xE1 52 | #define CARD_COLOR_GREEN 0xE2 53 | #define CARD_COLOR_YELLOW 0xE3 54 | 55 | // Text 56 | enum TextColor { 57 | white = 4, 58 | gray = 5, 59 | red = 6, 60 | blue = 7, 61 | green = 8, 62 | }; 63 | 64 | namespace Colors { 65 | void load(void); 66 | } 67 | 68 | #endif -------------------------------------------------------------------------------- /ds/arm9/source/graphics/colors.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #include "colors.hpp" 28 | #include "graphics.hpp" 29 | #include "tonccpy.h" 30 | 31 | #include 32 | 33 | const u16 defaultPalette[] = { 34 | 0x0000, 0xFBDE, 0xE739, 0xCA52, 0xBDEF, 0x98C6, 0x94A5, 0x8842, 0x8000, // Grays 35 | 0x801E, 0x800F, 0xF800, 0xBC00, 0x8260, 0x8320, 0x83E0, // Colors 36 | 0x0000, 0xFBDE, 0xBDEF, 0xA108, // WHITE_TEXT 37 | 0x0000, 0x8C63, 0xA94A, 0xCA52, // GRAY_TEXT 38 | 0x0000, 0x801E, 0x800F, 0x801A, // RED_TEXT 39 | 0x0000, 0xF800, 0xBC00, 0xE800, // BLUE_TEXT 40 | }; 41 | 42 | const u16 cardPalette[] = {0xA95F, 0xFD4A, 0xAAAA, 0x82BF}; 43 | 44 | void Colors::load(void) { 45 | u16 palette[sizeof(defaultPalette)]; 46 | tonccpy(palette, defaultPalette, sizeof(palette)); 47 | 48 | tonccpy(BG_PALETTE, palette, sizeof(palette)); 49 | tonccpy(BG_PALETTE_SUB, palette, sizeof(palette)); 50 | 51 | tonccpy(BG_PALETTE_SUB + 0xE0, cardPalette, sizeof(cardPalette)); 52 | } -------------------------------------------------------------------------------- /ds/arm9/include/screens/gameScreen.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _DSEINS_GAMESCREEN_HPP 28 | #define _DSEINS_GAMESCREEN_HPP 29 | 30 | #include "game.hpp" 31 | #include "screenCommon.hpp" 32 | 33 | #include "structs.hpp" 34 | #include 35 | 36 | class GameScreen : public Screen { 37 | public: 38 | void Draw(void) const override; 39 | void Logic(u16 hDown, touchPosition touch) override; 40 | GameScreen(bool useAI, int playerAmount); 41 | private: 42 | // Draws. 43 | void displayPlayerCards(void) const; 44 | void ShowCards(void) const; 45 | 46 | // Logics. 47 | void AILogic(); 48 | int getNextPlayer(); 49 | bool CanPlayerPlay(const int player); 50 | bool checkForPlayableCard(const int player); 51 | void setState(int Player); 52 | std::string returnPlayerName(int player) const; 53 | bool isAI() const; 54 | 55 | int selection = 0; 56 | bool useAI = false; 57 | std::unique_ptr currentGame; 58 | int playerAmount = 2; 59 | }; 60 | 61 | #endif -------------------------------------------------------------------------------- /ds/arm9/include/utils/config.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _DSEINS_CONFIG_HPP 28 | #define _DSEINS_CONFIG_HPP 29 | 30 | #include "json.hpp" 31 | 32 | #include 33 | #include 34 | 35 | class Config { 36 | public: 37 | Config(); 38 | void save(); 39 | void initialize(); 40 | 41 | // Language. 42 | int language() { return this->v_language; } 43 | void language(int v) { this->v_language = v; if (!this->changesMade) this->changesMade = true; } 44 | 45 | // Mainly helper. 46 | bool getBool(const std::string &key); 47 | void setBool(const std::string &key, bool v); 48 | int getInt(const std::string &key); 49 | void setInt(const std::string &key, int v); 50 | std::string getString(const std::string &key); 51 | void setString(const std::string &key, const std::string &v); 52 | private: 53 | nlohmann::json json; // Our private JSON file. 54 | bool changesMade = false; 55 | 56 | // Color variables and more. 57 | int v_language; 58 | }; 59 | 60 | #endif -------------------------------------------------------------------------------- /3ds/include/screens/setChanger.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_SET_CHANGER_HPP 28 | #define _3DEINS_SET_CHANGER_HPP 29 | 30 | #include "common.hpp" 31 | #include "fileBrowse.hpp" 32 | #include 33 | #include 34 | 35 | class SetChanger : public Screen { 36 | public: 37 | void Draw(void) const override; 38 | void Logic(u32 hDown, u32 hHeld, touchPosition touch) override; 39 | SetChanger(); 40 | private: 41 | C2D_SpriteSheet previewCards; 42 | u32 previewColors[4]; 43 | int selectedCard = 0; 44 | void DrawPreview(void) const; 45 | void previewLogic(u32 hDown, u32 hHeld, touchPosition touch); 46 | void loadPreviewColors(const std::string file); 47 | 48 | bool checkForValidate(std::string file); 49 | Result loadSet(std::string folder); 50 | Result loadDefault(); 51 | uint selectedSet = 0; 52 | std::string setPath = ""; 53 | mutable bool dirChanged = true; 54 | std::vector dirContents; 55 | bool isEmpty = false; 56 | int mode = 0; 57 | }; 58 | 59 | #endif -------------------------------------------------------------------------------- /3ds/include/screens/modeSelect.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_MODE_SELECT_HPP 28 | #define _3DEINS_MODE_SELECT_HPP 29 | 30 | #include "common.hpp" 31 | #include "structs.hpp" 32 | 33 | #include 34 | 35 | class ModeSelect : public Screen { 36 | public: 37 | void Draw(void) const override; 38 | void Logic(u32 hDown, u32 hHeld, touchPosition touch) override; 39 | private: 40 | void DrawModeSelect(void) const; 41 | void ModeLogic(u32 hDown, u32 hHeld, touchPosition touch); 42 | void DrawPlayerSelect(void) const; 43 | void PlayerLogic(u32 hDown, u32 hHeld, touchPosition touch); 44 | 45 | int modeSel = 0, playerSel = 0, mode = 0; 46 | 47 | std::vector modeSelect = { 48 | {90, 70, 140, 40, "SINGLE_PLAYER"}, // Single Player. 49 | {90, 145, 140, 40, "MULTI_PLAYER"} // Multi Player. 50 | }; 51 | 52 | 53 | std::vector playerSelect = { 54 | {50, 70, 60, 90}, // 2. 55 | {140, 70, 60, 90}, // 3. 56 | {230, 70, 60, 90} // 4. 57 | }; 58 | }; 59 | 60 | #endif -------------------------------------------------------------------------------- /ds/arm9/include/screens/modeSelect.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _DSEINS_MODE_SELECT_HPP 28 | #define _DSEINS_MODE_SELECT_HPP 29 | 30 | #include "gui.hpp" 31 | #include "screenCommon.hpp" 32 | 33 | #include "structs.hpp" 34 | #include 35 | 36 | class ModeSelect : public Screen { 37 | public: 38 | void Draw(void) const override; 39 | void Logic(u16 hDown, touchPosition touch) override; 40 | private: 41 | void DrawModeSelect(void) const; 42 | void ModeLogic(u16 hDown, touchPosition touch); 43 | void DrawPlayerSelect(void) const; 44 | void PlayerLogic(u16 hDown, touchPosition touch); 45 | 46 | int modeSel = 0, playerSel = 0, mode = 0; 47 | 48 | std::vector modeSelect = { 49 | {80, 45, 80, 40, "SINGLE_PLAYER", GRAY, true}, // Single Player. 50 | {80, 100, 80, 40, "MULTI_PLAYER", GRAY, true} // Multiplayer. 51 | }; 52 | 53 | std::vector playerSelect = { 54 | {30, 60, 60, 90,}, // 2. 55 | {100, 60, 60, 90}, // 3. 56 | {170, 60, 60, 90} // 4. 57 | }; 58 | }; 59 | 60 | #endif -------------------------------------------------------------------------------- /3ds/include/screens/rulesScreen.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_RULESSCREEN_HPP 28 | #define _3DEINS_RULESSCREEN_HPP 29 | 30 | #include "_3DEins_Core.h" 31 | #include "common.hpp" 32 | #include "structs.hpp" 33 | 34 | #include 35 | 36 | class RulesScreen : public Screen { 37 | public: 38 | void Draw(void) const override; 39 | void Logic(u32 hDown, u32 hHeld, touchPosition touch) override; 40 | private: 41 | void DrawDescription(void) const; 42 | void DisplayCards(void) const; 43 | int rulePage = 0; 44 | 45 | std::vector cards = { 46 | {0, 0, 48, 72}, 47 | {52, 0, 48, 72}, 48 | {104, 0, 48, 72}, 49 | {156, 0, 48, 72}, 50 | {208, 0, 48, 72}, 51 | {260, 0, 48, 72}, 52 | 53 | {0, 80, 48, 72}, 54 | {52, 80, 48, 72}, 55 | {104, 80, 48, 72}, 56 | {156, 80, 48, 72}, 57 | 58 | {208, 80, 48, 72}, 59 | {260, 80, 48, 72}, 60 | {0, 160, 48, 72}, 61 | {52, 160, 48, 72}, 62 | {104, 160, 48, 72} 63 | #ifdef _USE_SPECIAL_CARD 64 | ,{156, 160, 48, 72} 65 | #endif 66 | }; 67 | }; 68 | 69 | #endif -------------------------------------------------------------------------------- /ds/arm9/source/graphics/msg.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #include "colors.hpp" 28 | #include "gui.hpp" 29 | #include "lang.hpp" 30 | #include "msg.hpp" 31 | 32 | void Msg::DisplayPlayerSwitch(std::string message) { 33 | // We only have to clear Layer true. 34 | Gui::clearScreen(true, true); 35 | Gui::clearScreen(false, true); 36 | 37 | drawRectangle(0, 172, 256, 20, DARKERER_GRAY, true, true); 38 | printTextCentered(message, 0, 80, true, true); 39 | printTextCentered(Lang::get("Y_CONTINUE"), 0, 175, true, true); 40 | 41 | while(1) { 42 | scanKeys(); 43 | if (keysDown() & KEY_Y) break; 44 | } 45 | 46 | // Redraw screen. 47 | Gui::DrawScreen(); 48 | } 49 | 50 | void Msg::DisplayWaitMsg(std::string message) { 51 | // We only have to clear Layer true. 52 | Gui::clearScreen(true, true); 53 | Gui::clearScreen(false, true); 54 | 55 | drawRectangle(0, 172, 256, 20, DARKERER_GRAY, true, true); 56 | printTextCentered(message, 0, 80, true, true); 57 | printTextCentered(Lang::get("A_CONTINUE"), 0, 175, true, true); 58 | 59 | while(1) { 60 | scanKeys(); 61 | if (keysDown() & KEY_A) break; 62 | } 63 | 64 | // Redraw screen. 65 | Gui::DrawScreen(); 66 | } -------------------------------------------------------------------------------- /3ds/source/core/computer.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #include "computer.hpp" 28 | 29 | #include 30 | #include 31 | 32 | #define COM_AMOUNT 4 33 | 34 | std::array files { 35 | { 36 | "romfs:/computer/computer_1.bin", "romfs:/computer/computer_2.bin", 37 | "romfs:/computer/computer_3.bin", "romfs:/computer/computer_4.bin", 38 | "romfs:/computer/computer_5.bin" 39 | } 40 | }; 41 | 42 | 43 | Computer::Computer(int character) { 44 | // Now we open the Computer File. 45 | FILE* in = fopen(files[character].c_str(), "r"); 46 | fseek(in, 0, SEEK_END); 47 | u32 fileSize = ftell(in); 48 | fseek(in, 0, SEEK_SET); 49 | u8 *Buffer = new u8[fileSize]; 50 | fread(Buffer, 1, fileSize, in); 51 | fclose(in); 52 | 53 | // Getting COM Name. 54 | const std::string name_1(reinterpret_cast(Buffer + 0), 9 + 1); 55 | 56 | // Make sure to only get valid chars. 57 | for(char character : name_1) { 58 | if (character == '\0') break; 59 | if (character < 256) { 60 | this->name += character; 61 | } 62 | } 63 | // Get Computer avatar. 64 | this->avatar = Buffer[0xA]; 65 | 66 | // Here we delete the buffer. 67 | delete[] Buffer; 68 | } -------------------------------------------------------------------------------- /common/source/lang.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins | DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #include "config.hpp" 28 | #include "lang.hpp" 29 | 30 | #include 31 | #include 32 | 33 | nlohmann::json appJson; 34 | extern std::unique_ptr config; 35 | 36 | #ifdef _3DS 37 | #define LANGPATH "romfs:/lang/" 38 | #else 39 | #define LANGPATH "nitro:/lang/" 40 | #endif 41 | 42 | std::string Lang::get(const std::string &key) { 43 | if (!appJson.contains(key)) { 44 | return "MISSING: " + key; 45 | } 46 | 47 | return appJson.at(key).get_ref(); 48 | } 49 | 50 | std::string langs[] = {"br", "de", "en", "es", "fr", "it", "pl", "pt", "ru", "jp"}; 51 | 52 | void Lang::load() { 53 | FILE* values; 54 | if (access((LANGPATH + langs[config->language()]+"/app.json").c_str(), F_OK) == 0 ) { 55 | values = fopen((LANGPATH + langs[config->language()]+"/app.json").c_str(), "rt"); 56 | if (values) appJson = nlohmann::json::parse(values, nullptr, false); 57 | fclose(values); 58 | 59 | } else { 60 | // Load English otherwise. 61 | values = fopen((LANGPATH + langs[2]+"/app.json").c_str(), "rt"); 62 | if (values) appJson = nlohmann::json::parse(values, nullptr, false); 63 | fclose(values); 64 | } 65 | } -------------------------------------------------------------------------------- /3ds/source/screens/errorScreen.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #include "errorScreen.hpp" 28 | 29 | extern bool exiting; 30 | 31 | void ErrorScreen::Draw(void) const { 32 | Gui::ScreenDraw(Top); 33 | Gui::Draw_Rect(0, 0, 400, 30, C2D_Color32(220, 60, 0, 255)); 34 | Gui::Draw_Rect(0, 30, 400, 180, C2D_Color32(220, 160, 0, 255)); 35 | Gui::Draw_Rect(0, 210, 400, 30, C2D_Color32(220, 60, 0, 255)); 36 | Gui::DrawStringCentered(0, 0, 0.8f, C2D_Color32(255, 255, 255, 255), "Failed to initialize the config class.", 400); 37 | Gui::DrawStringCentered(0, 215, 0.8f, C2D_Color32(255, 255, 255, 255), "Press START to exit.", 400); 38 | if (fadealpha > 0) Gui::Draw_Rect(0, 0, 400, 240, C2D_Color32(fadecolor, fadecolor, fadecolor, fadealpha)); 39 | Gui::ScreenDraw(Bottom); 40 | Gui::Draw_Rect(0, 0, 320, 30, C2D_Color32(220, 60, 0, 255)); 41 | Gui::Draw_Rect(0, 30, 320, 180, C2D_Color32(220, 160, 0, 255)); 42 | Gui::Draw_Rect(0, 210, 320, 30, C2D_Color32(220, 60, 0, 255)); 43 | if (fadealpha > 0) Gui::Draw_Rect(0, 0, 320, 240, C2D_Color32(fadecolor, fadecolor, fadecolor, fadealpha)); 44 | } 45 | 46 | void ErrorScreen::Logic(u32 hDown, u32 hHeld, touchPosition touch) { 47 | if (hDown & KEY_START) { 48 | exiting = true; 49 | } 50 | } -------------------------------------------------------------------------------- /core/include/player.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins/DSEins-Core 3 | * Copyright (C) 2020 Universal-Team 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_CORE_PLAYER_HPP 28 | #define _3DEINS_CORE_PLAYER_HPP 29 | 30 | #include "cards.hpp" 31 | #include "coreHelper.hpp" 32 | #include "deck.hpp" 33 | 34 | class Cards; 35 | class Deck; 36 | class Player { 37 | protected: 38 | std::unique_ptr cards; 39 | public: 40 | Player(std::unique_ptr &deck); 41 | 42 | // Add & Remove. 43 | void addCard(std::unique_ptr &deck); 44 | void removeCard(int position); 45 | 46 | // Check for playable & play. 47 | bool Playable(const CardStruct &Table, const int &card); 48 | void play(int position, CardStruct &table); 49 | 50 | // Get the size & hand. 51 | int getSize(); 52 | const std::vector getHand(); 53 | 54 | // Return the Card Points and overwrite it to a Player's points. 55 | void returnCardPoints(std::unique_ptr &player); 56 | 57 | // Get Points & State. 58 | const int getPoints() { return this->playerPoints; } 59 | const PlayerState getState() { return this->state; } 60 | void setState(PlayerState st) { this->state = st; } 61 | 62 | const CardColor CC(int card); 63 | const CardType CT(int card); 64 | const CardStruct CS(int card); 65 | private: 66 | int playerPoints = 0; // The Player's points. Init as 0. 67 | PlayerState state = PlayerState::NOTHING; // The Player's state. Init as Nothing. 68 | }; 69 | 70 | #endif -------------------------------------------------------------------------------- /ds/arm9/source/screens/settings.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #include "langSelection.hpp" 28 | #include "selector.hpp" 29 | #include "settings.hpp" 30 | 31 | extern std::unique_ptr selector; 32 | extern bool Buttontouching(ButtonStruct button); 33 | 34 | void Settings::Draw(void) const { 35 | Gui::DrawTop(true); 36 | printTextCentered("DSEins - " + Lang::get("UI_SETTINGS"), 0, 1, true, true); 37 | Gui::DrawBottom(true); 38 | 39 | for (int i = 0; i < 1; i++) { 40 | Gui::DrawButton(this->buttonPos[i]); 41 | } 42 | } 43 | 44 | void Settings::Logic(u16 hDown, touchPosition touch) { 45 | if (doUpdate) { 46 | selector->move(this->buttonPos[this->selection].x, this->buttonPos[this->selection].y); 47 | selector->update(); 48 | } 49 | 50 | if (hDown & KEY_A) { 51 | Gui::setScreen(std::make_unique()); 52 | selector->resize(20, 20); // Resize to the other size. 53 | doUpdate = true; 54 | Gui::DrawScreen(); 55 | } 56 | 57 | if (hDown & KEY_TOUCH) { 58 | if (Buttontouching(this->buttonPos[0])) { 59 | Gui::setScreen(std::make_unique()); 60 | selector->resize(20, 20); // Resize to the other size. 61 | doUpdate = true; 62 | Gui::DrawScreen(); 63 | } 64 | } 65 | 66 | if (hDown & KEY_B) { 67 | doUpdate = true; 68 | Gui::screenBack(); 69 | Gui::DrawScreen(); 70 | return; 71 | } 72 | } -------------------------------------------------------------------------------- /ds/arm9/include/graphics/gui.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _DSEINS_GUI_HPP 28 | #define _DSEINS_GUI_HPP 29 | 30 | #include "coreHelper.hpp" 31 | #include "graphics.hpp" 32 | #include "screen.hpp" 33 | 34 | #include 35 | 36 | struct ButtonStruct { 37 | int x; 38 | int y; 39 | float xSize; 40 | float ySize; 41 | std::string Text; 42 | u8 colorIndex; 43 | bool layer; 44 | }; 45 | 46 | namespace Gui { 47 | // Screen stuff. 48 | void DrawScreen(); // Redraw the screen. Needs to be called when screen changes are made. 49 | void mainLoop(u16 hDown, touchPosition touch); // Logic MainLoop. 50 | void setScreen(std::unique_ptr screen); // Set a specific screen. 51 | void screenBack(void); // Go a screen back. Needs "return;" at the end. 52 | 53 | // GUI Stuff. 54 | void DrawTop(bool useBars); 55 | void DrawBottom(bool useBars); 56 | 57 | /* Clear a Screen & Layer. 58 | * bool top is whether to draw on the top or bottom screen. 59 | * bool layer is whether to draw on layer 3 (false) or layer 2 (true). 60 | */ 61 | void clearScreen(bool top, bool layer); 62 | 63 | // Card Loading & Drawing stuff. 64 | void loadGraphics(); 65 | void DrawCard(CardType CT, CardColor CC, int x, int y, float ScaleX, float ScaleY, bool top, bool layer); 66 | void DrawPlayerCard(const std::vector &hand, const int &card, int x, int y, float ScaleX, float ScaleY, bool top, bool layer); 67 | 68 | void DrawButton(ButtonStruct btn, TextColor color = TextColor::gray); 69 | }; 70 | 71 | #endif -------------------------------------------------------------------------------- /3ds/include/ui/gfx.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_GFX_HPP 28 | #define _3DEINS_GFX_HPP 29 | 30 | #include "cards.h" 31 | #include "chars.h" 32 | #include "common.hpp" 33 | #include "coreHelper.hpp" 34 | #include "sprites.h" 35 | 36 | #include 37 | 38 | struct ButtonStruct { 39 | int X; 40 | int Y; 41 | float xSize; 42 | float ySize; 43 | std::string Text; 44 | }; 45 | 46 | namespace GFX { 47 | // Basic GUI. 48 | void DrawTop(bool useBars = true); 49 | void DrawBottom(bool useBars = true); 50 | void DrawFileBrowseBG(bool isTop = true); 51 | void DrawSprite(int index, int x, int y, float ScaleX = 1, float ScaleY = 1); 52 | // Selectors. 53 | void DrawCardSelector(int x, int y, float ScaleX = 1, float ScaleY = 1); 54 | void DrawButtonSelector(int x, int y, float ScaleX = 1, float ScaleY = 1, bool useSmall = false); 55 | void DrawSelectedPlayer(int x, int y, float ScaleX = 1, float ScaleY = 1); 56 | 57 | void DrawCard(CardType CT, int x, int y, CardColor CC, float ScaleX = 1, float ScaleY = 1); 58 | // Draws a card from the Player's Hand. 59 | void DrawPlayerCard(const std::vector &hand, const int &card, int x, int y, float ScaleX = 1, float ScaleY = 1); 60 | void DrawChar(int image, int x, int y, float ScaleX = 1, float ScaleY = 1); 61 | void DrawPlayer(int x, int y, float ScaleX, float ScaleY, int player); 62 | 63 | // Main Logic. 64 | void Main(u32 hDown, u32 hHeld, touchPosition touch); 65 | 66 | // Buttons. 67 | void Button(const ButtonStruct btn); 68 | } 69 | 70 | #endif -------------------------------------------------------------------------------- /core/include/deck.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins/DSEins-Core 3 | * Copyright (C) 2020 Universal-Team 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_CORE_DECK_HPP 28 | #define _3DEINS_CORE_DECK_HPP 29 | 30 | #include "coreHelper.hpp" 31 | 32 | class Deck { 33 | protected: 34 | // Should it be protected? 35 | std::vector CardDeck; // 108 Cards are there, 110 with special card. 36 | public: 37 | Deck(): CardDeck({}) { this->fill(); } // Our Constructor will create a new CardDeck for us. 38 | 39 | // Initialize a new Deck. Also called by fill. 40 | void Initialize(); 41 | 42 | // Shuffle the Deck. Useful for special cases in game. 43 | void shuffleDeck(); 44 | 45 | // Initialize, fill and shuffle the Deck. 46 | void fill(); 47 | 48 | /* Return the Decksize. 49 | * Returns the amount of cards in the current deck. 50 | */ 51 | int deckSize() { return CardDeck.size(); } 52 | 53 | 54 | /* Return the CardType of the last card. 55 | * Returns the CardType of the last card from the deck. 56 | */ 57 | CardType CT() { return CardDeck[CardDeck.size() - 1].CT; } 58 | 59 | /* Return the CardColor of the last card. 60 | * Returns the CardColor of the last card from the deck. 61 | */ 62 | CardColor CC() { return CardDeck[CardDeck.size() - 1].CC; } 63 | 64 | /* Return the CardStruct from the last card and remove it from the Deck as well. 65 | * Returns the CardStruct of the last card from the deck and remove it from the deck as well. 66 | */ 67 | CardStruct getCard(); 68 | 69 | /* Return the CardStruct from the last card. 70 | * Returns the CardStruct of the last card from the deck. 71 | */ 72 | CardStruct topCard(); 73 | }; 74 | 75 | #endif -------------------------------------------------------------------------------- /ds/arm9/source/graphics/selector.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #include "graphics.hpp" 28 | #include "selector.hpp" 29 | #include 30 | 31 | extern std::array selectorspr; 32 | bool doUpdate = false; 33 | 34 | // Init the selector. 35 | Selector::Selector(int w, int h) { 36 | this->width = w; 37 | this->height = h; 38 | 39 | for (int i = 0; i < (int)selectorspr.size(); i++) { 40 | setSpriteVisibility(selectorspr[i], false, false); 41 | } 42 | 43 | updateOam(); 44 | } 45 | 46 | // Move the Selector. 16 means the spritesize there, btw. 47 | void Selector::move(int x, int y) { 48 | setSpritePosition(selectorspr[0], false, x, y); 49 | setSpritePosition(selectorspr[1], false, x, y + (this->height - 16)); 50 | setSpritePosition(selectorspr[2], false, x + (this->width - 16), y); 51 | setSpritePosition(selectorspr[3], false, x + (this->width - 16), y + (this->height - 16)); 52 | } 53 | 54 | // Hide the Selector. 55 | void Selector::hide() { 56 | for (int i = 0; i < (int)selectorspr.size(); i++) { 57 | setSpriteVisibility(selectorspr[i], false, false); 58 | } 59 | } 60 | 61 | // Show the Selector. 62 | void Selector::show() { 63 | for (int i = 0; i < (int)selectorspr.size(); i++) { 64 | setSpriteVisibility(selectorspr[i], false, true); 65 | } 66 | } 67 | 68 | // Resize the selector. 69 | void Selector::resize(int w, int h) { 70 | this->width = w; 71 | this->height = h; 72 | } 73 | 74 | void Selector::update() { 75 | // Only update OAM, if doUpdate is true. 76 | if (doUpdate) { 77 | doUpdate = false; 78 | updateOam(); 79 | } 80 | } -------------------------------------------------------------------------------- /utils/Card_Generator/Makefile: -------------------------------------------------------------------------------- 1 | #--------------------------------------------------------------------------------- 2 | .SUFFIXES: 3 | #--------------------------------------------------------------------------------- 4 | 5 | ifeq ($(strip $(DEVKITARM)),) 6 | $(error "Please set DEVKITARM in your environment. export DEVKITARM=devkitARM") 7 | endif 8 | 9 | TOPDIR ?= $(CURDIR) 10 | include $(DEVKITARM)/3ds_rules 11 | 12 | #--------------------------------------------------------------------------------- 13 | TARGET := $(notdir $(CURDIR)) 14 | GRAPHICS := gfx 15 | GFXBUILD := out 16 | 17 | #--------------------------------------------------------------------------------- 18 | # no real need to edit anything past this point unless you need to add additional 19 | # rules for different file extensions 20 | #--------------------------------------------------------------------------------- 21 | ifneq ($(BUILD),$(notdir $(CURDIR))) 22 | #--------------------------------------------------------------------------------- 23 | 24 | export OUTPUT := $(CURDIR)/$(TARGET) 25 | export TOPDIR := $(CURDIR) 26 | 27 | export VPATH := $(foreach dir,$(GRAPHICS),$(CURDIR)/$(dir)) 28 | 29 | export DEPSDIR := $(CURDIR)/$(BUILD) 30 | GFXFILES := $(foreach dir,$(GRAPHICS),$(notdir $(wildcard $(dir)/*.t3s))) 31 | 32 | #--------------------------------------------------------------------------------- 33 | export T3XFILES := $(patsubst %.t3s, $(GFXBUILD)/%.t3x, $(GFXFILES)) 34 | #--------------------------------------------------------------------------------- 35 | .PHONY: all clean 36 | 37 | #--------------------------------------------------------------------------------- 38 | all: $(GFXBUILD) $(DEPSDIR) $(T3XFILES) 39 | #--------------------------------------------------------------------------------- 40 | clean: 41 | @echo clean ... 42 | @rm -fr out/cards.t3x 43 | @rm -fr out/chars.t3x 44 | #--------------------------------------------------------------------------------- 45 | $(GFXBUILD)/cards.t3x: cards.t3s 46 | #--------------------------------------------------------------------------------- 47 | @echo build cards SpriteSheet... 48 | @tex3ds -i $< -o $(GFXBUILD)/cards.t3x 49 | @echo Done! 50 | 51 | #--------------------------------------------------------------------------------- 52 | $(GFXBUILD)/chars.t3x: chars.t3s 53 | #--------------------------------------------------------------------------------- 54 | @echo build chars SpriteSheet... 55 | @tex3ds -i $< -o $(GFXBUILD)/chars.t3x 56 | @echo Done! 57 | 58 | #--------------------------------------------------------------------------------- 59 | .PRECIOUS : %.t3x 60 | #--------------------------------------------------------------------------------- 61 | %.t3x: %.t3s 62 | #--------------------------------------------------------------------------------- 63 | @echo $(notdir $<) 64 | @tex3ds -i $< -o $*.t3x 65 | 66 | #--------------------------------------------------------------------------------------- 67 | endif 68 | #--------------------------------------------------------------------------------------- 69 | -------------------------------------------------------------------------------- /core/include/saveData.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins/DSEins-Core 3 | * Copyright (C) 2020 Universal-Team 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #ifndef _3DEINS_SAVEDATA_HPP 28 | #define _3DEINS_SAVEDATA_HPP 29 | 30 | #include 31 | #include 32 | #include 33 | #include 34 | #include 35 | 36 | typedef uint8_t u8; 37 | typedef uint16_t u16; 38 | typedef uint32_t u32; 39 | typedef uint64_t u64; 40 | 41 | /* 42 | * 3DEins | DSEins SaveData Struct. 43 | * 0x0 - 0x9: Player Name. (size: 10, UTF-8, 10 chars) 44 | * 0xA - 0xC: Player ID. (size: 2, u16) 45 | * 0xD - 0x2B: Player Phrase. (size: 30, UTF-8, 30 chars) 46 | * 0x2C - 0x2D: Player Win amount. (size: 1, u8) 47 | * 0x2D - 0x2E: Player Lose amount. (size: 1, u8) 48 | */ 49 | 50 | class SaveData { 51 | protected: 52 | // Protected data. 53 | std::unique_ptr saveData; 54 | u32 saveSize; 55 | public: 56 | // Constructor & Destructor. 57 | SaveData(std::string saveFile); 58 | ~SaveData() { } 59 | 60 | // Return and Set's. 61 | std::string playerName(); void playerName(std::string name); 62 | u16 playerID(); void playerID(u16 ID); 63 | int playerAvatar(); void playerAvatar(int avatar); 64 | std::string playerPhrase(); void playerPhrase(std::string phrase); 65 | u8 playerWins(); void playerWins(u8 wins); 66 | u8 playerLose(); void playerLose(u8 lose); 67 | 68 | // Operations. 69 | void write(); 70 | void create(std::string saveFile); 71 | 72 | // Write. 73 | template 74 | void Write(u32 offset, T data) { *reinterpret_cast(this->saveData.get() + offset) = data; } 75 | 76 | // Read an offset from the saveData. 77 | template 78 | T Read(u32 offset) { 79 | if (saveData != nullptr) return *(T*)(this->saveData.get() + offset); 80 | else return *(T*)0; 81 | } 82 | 83 | private: 84 | std::string savePath; 85 | bool changesMade = false; 86 | }; 87 | 88 | #endif -------------------------------------------------------------------------------- /3ds/source/core/chatSystem.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #include "chatSystem.hpp" 28 | 29 | // Init Chat-System. 30 | ChatSystem::ChatSystem(const std::string roomName, const std::vector &data) { 31 | // Clear everything first. 32 | this->chatStruct.clear(); 33 | this->names.clear(); 34 | this->playerIDs.clear(); 35 | this->avatarIndex.clear(); 36 | this->phrase.clear(); 37 | this->userAmount = 0; 38 | this->chatName = roomName; 39 | 40 | // ChatSystem is invalid if empty. 41 | if ((int)data.size() != 0) { 42 | // Get User data. 43 | for (int i = 0; i < (int)data.size(); i++) { 44 | this->names.push_back(data[i].name); // Get User Names. 45 | this->playerIDs.push_back(data[i].id); // Get User ID's. 46 | this->avatarIndex.push_back(data[i].avatar); // Get User Avatar. 47 | this->phrase.push_back(data[i].phrase); // Get User Phrase. 48 | } 49 | 50 | this->userAmount = data.size(); 51 | this->isValid = true; 52 | } else { 53 | // No User's found. Do not allow access! 54 | this->isValid = false; 55 | } 56 | } 57 | 58 | // Refresh the list. 59 | void ChatSystem::Refresh(const std::vector &data) { 60 | // Clear first. 61 | this->names.clear(); 62 | this->playerIDs.clear(); 63 | this->avatarIndex.clear(); 64 | this->phrase.clear(); 65 | this->userAmount = 0; 66 | 67 | // ChatSystem is invalid if empty. 68 | if ((int)data.size() != 0) { 69 | // Get User data. 70 | for (int i = 0; i < (int)data.size(); i++) { 71 | this->names.push_back(data[i].name); // Get User Names. 72 | this->playerIDs.push_back(data[i].id); // Get User ID's. 73 | this->avatarIndex.push_back(data[i].avatar); // Get User Avatar. 74 | this->phrase.push_back(data[i].phrase); // Get User Phrase. 75 | } 76 | 77 | this->userAmount = data.size(); 78 | this->isValid = true; 79 | } else { 80 | // No User's found. Do not allow access! 81 | this->isValid = false; 82 | } 83 | } -------------------------------------------------------------------------------- /common/source/logging.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #include "logging.hpp" 28 | 29 | #include 30 | #include 31 | #include 32 | #include 33 | #include 34 | 35 | #ifdef _3DS 36 | #define LOGGING_FILE "sdmc:/3ds/3DEins/3DEins.log" 37 | #else 38 | #define LOGGING_FILE "sd:/_nds/DSEins/DSEins.log" 39 | #endif 40 | 41 | #define DO_LOG false // Do this to true, if Logging should be used. 42 | 43 | // For formatting the Date and Time. 44 | std::string Logging::format(const std::string& fmt_str, ...) { 45 | va_list ap; 46 | char* fp = NULL; 47 | va_start(ap, fmt_str); 48 | vasprintf(&fp, fmt_str.c_str(), ap); 49 | va_end(ap); 50 | std::unique_ptr formatted(fp, free); 51 | return std::string(formatted.get()); 52 | } 53 | 54 | // Log current Time and Date. 55 | std::string Logging::logDate(void) { 56 | time_t unixTime; 57 | struct tm timeStruct; 58 | time(&unixTime); 59 | localtime_r(&unixTime, &timeStruct); 60 | return format("%04i-%02i-%02i %02i:%02i:%02i", timeStruct.tm_year + 1900, timeStruct.tm_mon + 1, timeStruct.tm_mday, timeStruct.tm_hour, timeStruct.tm_min, timeStruct.tm_sec); 61 | } 62 | 63 | // Create the Log file. 64 | void Logging::createLogFile(void) { 65 | if (DO_LOG) { 66 | if ((access(LOGGING_FILE, F_OK) != 0)) { 67 | FILE* logFile = fopen((LOGGING_FILE), "w"); 68 | fclose(logFile); 69 | } 70 | } 71 | } 72 | 73 | // Write a debug Message to the log. 74 | void Logging::writeToLog(std::string debugText) { 75 | if (DO_LOG) { 76 | // Create file if needed. 77 | if ((access(LOGGING_FILE, F_OK) != 0)) { 78 | Logging::createLogFile(); 79 | } 80 | 81 | std::ofstream logFile; 82 | logFile.open((LOGGING_FILE), std::ofstream::app); 83 | std::string writeDebug = "[ "; 84 | writeDebug += logDate(); 85 | writeDebug += " ] "; 86 | writeDebug += debugText.c_str(); 87 | logFile << writeDebug << std::endl; 88 | logFile.close(); 89 | } 90 | } -------------------------------------------------------------------------------- /ds/arm9/source/utils/stringUtils.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of DSEins 3 | * Copyright (C) 2019-2020 DeadPhoenix8091, Epicpkmn11, Flame, RocketRobz, StackZ, TotallyNotGuy 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #include "stringUtils.hpp" 28 | 29 | #include 30 | #include 31 | 32 | std::string utf16DataToUtf8(const char16_t* data, size_t size, char16_t delim = 0) { 33 | std::string ret; 34 | ret.reserve(size); 35 | char addChar[4] = {0}; 36 | for (size_t i = 0; i < size; i++) { 37 | if (data[i] == delim) { 38 | return ret; 39 | } else if (data[i] < 0x0080) { 40 | addChar[0] = data[i]; 41 | addChar[1] = '\0'; 42 | } else if (data[i] < 0x0800) { 43 | addChar[0] = 0xC0 | ((data[i] >> 6) & 0x1F); 44 | addChar[1] = 0x80 | (data[i] & 0x3F); 45 | addChar[2] = '\0'; 46 | } else { 47 | addChar[0] = 0xE0 | ((data[i] >> 12) & 0x0F); 48 | addChar[1] = 0x80 | ((data[i] >> 6) & 0x3F); 49 | addChar[2] = 0x80 | (data[i] & 0x3F); 50 | addChar[3] = '\0'; 51 | } 52 | 53 | ret.append(addChar); 54 | } 55 | 56 | return ret; 57 | } 58 | 59 | std::u16string StringUtils::UTF8toUTF16(const std::string& src) { 60 | std::u16string ret; 61 | ret.reserve(src.size()); 62 | for (size_t i = 0; i < src.size(); i++) { 63 | u16 codepoint = 0xFFFD; 64 | int iMod = 0; 65 | 66 | if (src[i] & 0x80 && src[i] & 0x40 && src[i] & 0x20 && !(src[i] & 0x10) && i + 2 < src.size()) { 67 | codepoint = src[i] & 0x0F; 68 | codepoint = codepoint << 6 | (src[i + 1] & 0x3F); 69 | codepoint = codepoint << 6 | (src[i + 2] & 0x3F); 70 | iMod = 2; 71 | } else if (src[i] & 0x80 && src[i] & 0x40 && !(src[i] & 0x20) && i + 1 < src.size()) { 72 | codepoint = src[i] & 0x1F; 73 | codepoint = codepoint << 6 | (src[i + 1] & 0x3F); 74 | iMod = 1; 75 | } else if (!(src[i] & 0x80)) { 76 | codepoint = src[i]; 77 | } 78 | 79 | ret.push_back((char16_t)codepoint); 80 | i += iMod; 81 | } 82 | 83 | return ret; 84 | } 85 | 86 | std::string StringUtils::UTF16toUTF8(const std::u16string& src) { 87 | return utf16DataToUtf8(src.data(), src.size()); 88 | } -------------------------------------------------------------------------------- /core/source/player.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of 3DEins/DSEins-Core 3 | * Copyright (C) 2020 Universal-Team 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | * 18 | * Additional Terms 7.b and 7.c of GPLv3 apply to this file: 19 | * * Requiring preservation of specified reasonable legal notices or 20 | * author attributions in that material or in the Appropriate Legal 21 | * Notices displayed by works containing it. 22 | * * Prohibiting misrepresentation of the origin of that material, 23 | * or requiring that modified versions of such material be marked in 24 | * reasonable ways as different from the original version. 25 | */ 26 | 27 | #include "player.hpp" 28 | 29 | // Init Player with 6 Cards at begin. 30 | Player::Player(std::unique_ptr &deck): cards(std::make_unique()) { 31 | for (int i = 0; i < 6; i++) { 32 | this->cards->add(deck); 33 | } 34 | } 35 | 36 | // Add a card to the hand. 37 | void Player::addCard(std::unique_ptr &deck) { 38 | this->cards->add(deck); 39 | } 40 | 41 | // Remove a card of the hand. 42 | void Player::removeCard(int position) { 43 | if ((int)this->cards->getSize() != 0) { 44 | if (position < (int)this->cards->getSize()) { // Out of range checks. 45 | this->cards->Remove(position); 46 | } 47 | } 48 | } 49 | 50 | // Play a card. 51 | void Player::play(int position, CardStruct &table) { 52 | table = this->cards->CS(position); // Set the current card as the table card. 53 | this->removeCard(position); // Remove the card from the hand. 54 | } 55 | 56 | // Get the amount of cards. 57 | int Player::getSize() { 58 | return (int)this->cards->getSize(); 59 | } 60 | 61 | // Return the Vector of the CardStruct. Basically the Player-Hand. 62 | const std::vector Player::getHand() { 63 | return this->cards->getCards(); 64 | } 65 | 66 | bool Player::Playable(const CardStruct &Table, const int &card) { 67 | return this->cards->Playable(Table, card); 68 | } 69 | 70 | /* 71 | * Return the amount of points from the Player's hand. 72 | * points -> Reference to the Player where the Points should be added. 73 | */ 74 | void Player::returnCardPoints(std::unique_ptr &player) { 75 | if (this->getSize() == 0) return; // No points we can write. 76 | 77 | for (int i = 0; i < this->getSize(); i++) { 78 | player->playerPoints += this->cards->getPoints(i); 79 | } 80 | } 81 | 82 | // return the CardColor. 83 | const CardColor Player::CC(int card) { 84 | return this->cards->CC(card); 85 | } 86 | 87 | // Return the CardType. 88 | const CardType Player::CT(int card) { 89 | return this->cards->CT(card); 90 | } 91 | 92 | // Return the CardStruct. 93 | const CardStruct Player::CS(int card) { 94 | return this->cards->CS(card); 95 | } --------------------------------------------------------------------------------