Added golden apple, toggle-able Beta Mode, and credits to me
This commit is contained in:
parent
dc2c9c0f6d
commit
84a85beb57
21 changed files with 259 additions and 31 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -46,9 +46,13 @@ Temporary Items
|
||||||
*.3dsx
|
*.3dsx
|
||||||
*.elf
|
*.elf
|
||||||
*.smdh
|
*.smdh
|
||||||
|
*.cia
|
||||||
build
|
build
|
||||||
|
|
||||||
# Eclipse
|
# Eclipse
|
||||||
.settings
|
.settings
|
||||||
.cproject
|
.cproject
|
||||||
.project
|
.project
|
||||||
|
|
||||||
|
# Copyrighted Executables
|
||||||
|
*.exe
|
||||||
|
|
16
Makefile
16
Makefile
|
@ -26,15 +26,15 @@ include $(DEVKITARM)/3ds_rules
|
||||||
# - icon.png
|
# - icon.png
|
||||||
# - <libctru folder>/default_icon.png
|
# - <libctru folder>/default_icon.png
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
TARGET := Minicraft3DS
|
TARGET := result/Minicraft3DS
|
||||||
BUILD := build
|
BUILD := build
|
||||||
SOURCES := source source/minizip
|
SOURCES := source source/minizip
|
||||||
DATA := data
|
DATA := data
|
||||||
INCLUDES := include
|
INCLUDES := include
|
||||||
|
|
||||||
APP_TITLE := Minicraft 3DS
|
APP_TITLE := Minicraft 3DS
|
||||||
APP_DESCRIPTION := Minicraft was originally created by Markus "Notch" Perrson. This was ported to the 3DS by Davideesk.
|
APP_DESCRIPTION := Minicraft was originally created by Markus "Notch" Perrson. Ported to the 3DS by Davideesk.
|
||||||
APP_AUTHOR := Davideesk and andre111
|
APP_AUTHOR := Davideesk/andre111/ElijahZAwesome
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# options for code generation
|
# options for code generation
|
||||||
|
@ -109,8 +109,8 @@ ifeq ($(strip $(ICON)),)
|
||||||
ifneq (,$(findstring $(TARGET).png,$(icons)))
|
ifneq (,$(findstring $(TARGET).png,$(icons)))
|
||||||
export APP_ICON := $(TOPDIR)/$(TARGET).png
|
export APP_ICON := $(TOPDIR)/$(TARGET).png
|
||||||
else
|
else
|
||||||
ifneq (,$(findstring icon.png,$(icons)))
|
ifneq (,$(findstring icons-banners/icon.png,$(icons)))
|
||||||
export APP_ICON := $(TOPDIR)/icon.png
|
export APP_ICON := $(TOPDIR)/icons-banners/icon.png
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
|
@ -139,12 +139,12 @@ $(TARGET)-strip.elf: $(BUILD)
|
||||||
@$(STRIP) $(TARGET).elf -o $(TARGET)-strip.elf
|
@$(STRIP) $(TARGET).elf -o $(TARGET)-strip.elf
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
cci: $(TARGET)-strip.elf
|
cci: $(TARGET)-strip.elf
|
||||||
@makerom -f cci -rsf resources/$(TARGET).rsf -target d -exefslogo -elf $(TARGET)-strip.elf -o $(TARGET).3ds
|
@makerom -f cci -rsf resources/$(TARGET).rsf -target d -exefslogo -elf $(TARGET)-strip.elf -o $(TARGET).3ds -desc App:0x1B
|
||||||
@echo "built ... sfil_sample.3ds"
|
@echo "built ... Minicraft3DS.3ds"
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
cia: $(TARGET)-strip.elf
|
cia: $(TARGET)-strip.elf
|
||||||
@makerom -f cia -o $(TARGET).cia -elf $(TARGET)-strip.elf -rsf resources/$(TARGET).rsf -exefslogo -target t
|
@makerom -f cia -o $(TARGET).cia -elf $(TARGET)-strip.elf -rsf resources/$(TARGET).rsf -exefslogo -target t
|
||||||
@echo "built ... sfil_sample.cia"
|
@echo "built ... Minicraft3DS.cia"
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
send: $(BUILD)
|
send: $(BUILD)
|
||||||
@3dslink $(TARGET).3dsx
|
@3dslink $(TARGET).3dsx
|
||||||
|
|
BIN
Minicraft3DS.zip
BIN
Minicraft3DS.zip
Binary file not shown.
6
build.bat
Normal file
6
build.bat
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
make
|
||||||
|
bannertool.exe makebanner -i icons-banners/banner.png -a icons-banners/audio.wav -o icons-banners/banner.bnr
|
||||||
|
bannertool.exe makesmdh -s "Minicraft3DS" -l "3DS Homebrew port of Notch's ludum dare game 'Minicraft', updated." -p "Davideesk/Andre111/ElijahZAwesome" -i icons-banners/icon.png -o icons-banners/icon.icn
|
||||||
|
makerom -f cia -o result/Minicraft3DS.cia -DAPP_ENCRYPTED=false -rsf icons-banners/Minicraft3DS.rsf -target t -exefslogo -elf result/Minicraft3DS.elf -icon icons-banners/icon.icn -banner icons-banners/banner.bnr
|
||||||
|
makerom -f cci -o result/Minicraft3DS.3ds -DAPP_ENCRYPTED=true -rsf icons-banners/Minicraft3DS.rsf -target t -exefslogo -elf result/Minicraft3DS.elf -icon icons-banners/icon.icn -banner icons-banners/banner.bnr
|
||||||
|
pause
|
BIN
data/icons2.png
BIN
data/icons2.png
Binary file not shown.
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 37 KiB |
195
icons-banners/Minicraft3DS.rsf
Normal file
195
icons-banners/Minicraft3DS.rsf
Normal file
|
@ -0,0 +1,195 @@
|
||||||
|
BasicInfo:
|
||||||
|
Title : "Cia Builder Example"
|
||||||
|
CompanyCode : "00"
|
||||||
|
ProductCode : "CTR-P-PWDR"
|
||||||
|
ContentType : Application
|
||||||
|
Logo : Homebrew # Nintendo / Licensed / Distributed / iQue / iQueForSystem
|
||||||
|
|
||||||
|
TitleInfo:
|
||||||
|
UniqueId : 0xFAA5C # Cia Builder Example Unique ID, you need to set your own one
|
||||||
|
Category : Application
|
||||||
|
|
||||||
|
CardInfo:
|
||||||
|
MediaSize : 128MB # 128MB / 256MB / 512MB / 1GB / 2GB / 4GB
|
||||||
|
MediaType : Card1 # Card1 / Card2
|
||||||
|
CardDevice : None # NorFlash(Pick this if you use savedata) / None
|
||||||
|
|
||||||
|
|
||||||
|
Option:
|
||||||
|
UseOnSD : true # true if App is to be installed to SD
|
||||||
|
FreeProductCode : true # Removes limitations on ProductCode
|
||||||
|
MediaFootPadding : false # If true CCI files are created with padding
|
||||||
|
EnableCrypt : false # Enables encryption for NCCH and CIA
|
||||||
|
EnableCompress : true # Compresses exefs code
|
||||||
|
|
||||||
|
AccessControlInfo:
|
||||||
|
#UseExtSaveData : true
|
||||||
|
#ExtSaveDataId: 0xff3ff
|
||||||
|
#UseExtendedSaveDataAccessControl: true
|
||||||
|
#AccessibleSaveDataIds: [0x101, 0x202, 0x303, 0x404, 0x505, 0x606]
|
||||||
|
|
||||||
|
SystemControlInfo:
|
||||||
|
SaveDataSize: 128KB
|
||||||
|
RemasterVersion: 0
|
||||||
|
StackSize: 0x40000
|
||||||
|
|
||||||
|
# DO NOT EDIT BELOW HERE OR PROGRAMS WILL NOT LAUNCH (most likely)
|
||||||
|
|
||||||
|
AccessControlInfo:
|
||||||
|
FileSystemAccess:
|
||||||
|
- Debug
|
||||||
|
- DirectSdmc
|
||||||
|
- DirectSdmcWrite
|
||||||
|
|
||||||
|
IdealProcessor : 0
|
||||||
|
AffinityMask : 1
|
||||||
|
|
||||||
|
Priority : 16
|
||||||
|
|
||||||
|
MaxCpu : 0x9E # Default
|
||||||
|
DisableDebug : false
|
||||||
|
EnableForceDebug : false
|
||||||
|
CanWriteSharedPage : false
|
||||||
|
CanUsePrivilegedPriority : false
|
||||||
|
CanUseNonAlphabetAndNumber : false
|
||||||
|
PermitMainFunctionArgument : false
|
||||||
|
CanShareDeviceMemory : false
|
||||||
|
RunnableOnSleep : false
|
||||||
|
SpecialMemoryArrange : false
|
||||||
|
CoreVersion : 2
|
||||||
|
DescVersion : 2
|
||||||
|
|
||||||
|
ReleaseKernelMajor : "02"
|
||||||
|
ReleaseKernelMinor : "33"
|
||||||
|
MemoryType : Application
|
||||||
|
HandleTableSize: 512
|
||||||
|
|
||||||
|
SystemModeExt : Legacy # Legacy(Default)/124MB/178MB Legacy:Use Old3DS SystemMode
|
||||||
|
CpuSpeed : 804MHz # 268MHz(Default)/804MHz
|
||||||
|
EnableL2Cache : true # false(default)/true
|
||||||
|
CanAccessCore2 : true
|
||||||
|
|
||||||
|
IORegisterMapping:
|
||||||
|
- 1ff50000-1ff57fff
|
||||||
|
- 1ff70000-1ff77fff
|
||||||
|
MemoryMapping:
|
||||||
|
- 1f000000-1f5fffff:r
|
||||||
|
SystemCallAccess:
|
||||||
|
ArbitrateAddress: 34
|
||||||
|
Break: 60
|
||||||
|
CancelTimer: 28
|
||||||
|
ClearEvent: 25
|
||||||
|
ClearTimer: 29
|
||||||
|
CloseHandle: 35
|
||||||
|
ConnectToPort: 45
|
||||||
|
ControlMemory: 1
|
||||||
|
CreateAddressArbiter: 33
|
||||||
|
CreateEvent: 23
|
||||||
|
CreateMemoryBlock: 30
|
||||||
|
CreateMutex: 19
|
||||||
|
CreateSemaphore: 21
|
||||||
|
CreateThread: 8
|
||||||
|
CreateTimer: 26
|
||||||
|
DuplicateHandle: 39
|
||||||
|
ExitProcess: 3
|
||||||
|
ExitThread: 9
|
||||||
|
GetCurrentProcessorNumber: 17
|
||||||
|
GetHandleInfo: 41
|
||||||
|
GetProcessId: 53
|
||||||
|
GetProcessIdOfThread: 54
|
||||||
|
GetProcessIdealProcessor: 6
|
||||||
|
GetProcessInfo: 43
|
||||||
|
GetResourceLimit: 56
|
||||||
|
GetResourceLimitCurrentValues: 58
|
||||||
|
GetResourceLimitLimitValues: 57
|
||||||
|
GetSystemInfo: 42
|
||||||
|
GetSystemTick: 40
|
||||||
|
GetThreadContext: 59
|
||||||
|
GetThreadId: 55
|
||||||
|
GetThreadIdealProcessor: 15
|
||||||
|
GetThreadInfo: 44
|
||||||
|
GetThreadPriority: 11
|
||||||
|
MapMemoryBlock: 31
|
||||||
|
OutputDebugString: 61
|
||||||
|
QueryMemory: 2
|
||||||
|
ReleaseMutex: 20
|
||||||
|
ReleaseSemaphore: 22
|
||||||
|
SendSyncRequest1: 46
|
||||||
|
SendSyncRequest2: 47
|
||||||
|
SendSyncRequest3: 48
|
||||||
|
SendSyncRequest4: 49
|
||||||
|
SendSyncRequest: 50
|
||||||
|
SetThreadPriority: 12
|
||||||
|
SetTimer: 27
|
||||||
|
SignalEvent: 24
|
||||||
|
SleepThread: 10
|
||||||
|
UnmapMemoryBlock: 32
|
||||||
|
WaitSynchronization1: 36
|
||||||
|
WaitSynchronizationN: 37
|
||||||
|
InterruptNumbers:
|
||||||
|
ServiceAccessControl:
|
||||||
|
- APT:U
|
||||||
|
- $hioFIO
|
||||||
|
- $hostio0
|
||||||
|
- $hostio1
|
||||||
|
- ac:u
|
||||||
|
- boss:U
|
||||||
|
- cam:u
|
||||||
|
- ir:rst
|
||||||
|
- cfg:u
|
||||||
|
- dlp:FKCL
|
||||||
|
- dlp:SRVR
|
||||||
|
- dsp::DSP
|
||||||
|
- frd:u
|
||||||
|
- fs:USER
|
||||||
|
- gsp::Gpu
|
||||||
|
- hid:USER
|
||||||
|
- http:C
|
||||||
|
- mic:u
|
||||||
|
- ndm:u
|
||||||
|
- news:s
|
||||||
|
- nwm::UDS
|
||||||
|
- ptm:u
|
||||||
|
- pxi:dev
|
||||||
|
- soc:U
|
||||||
|
- gsp::Lcd
|
||||||
|
- y2r:u
|
||||||
|
- ldr:ro
|
||||||
|
- ir:USER
|
||||||
|
- ir:u
|
||||||
|
- csnd:SND
|
||||||
|
- am:u
|
||||||
|
- ns:s
|
||||||
|
|
||||||
|
SystemControlInfo:
|
||||||
|
Dependency:
|
||||||
|
ac: 0x0004013000002402L
|
||||||
|
am: 0x0004013000001502L
|
||||||
|
boss: 0x0004013000003402L
|
||||||
|
camera: 0x0004013000001602L
|
||||||
|
cecd: 0x0004013000002602L
|
||||||
|
cfg: 0x0004013000001702L
|
||||||
|
codec: 0x0004013000001802L
|
||||||
|
csnd: 0x0004013000002702L
|
||||||
|
dlp: 0x0004013000002802L
|
||||||
|
dsp: 0x0004013000001a02L
|
||||||
|
friends: 0x0004013000003202L
|
||||||
|
gpio: 0x0004013000001b02L
|
||||||
|
gsp: 0x0004013000001c02L
|
||||||
|
hid: 0x0004013000001d02L
|
||||||
|
http: 0x0004013000002902L
|
||||||
|
i2c: 0x0004013000001e02L
|
||||||
|
ir: 0x0004013000003302L
|
||||||
|
mcu: 0x0004013000001f02L
|
||||||
|
mic: 0x0004013000002002L
|
||||||
|
ndm: 0x0004013000002b02L
|
||||||
|
news: 0x0004013000003502L
|
||||||
|
nim: 0x0004013000002c02L
|
||||||
|
nwm: 0x0004013000002d02L
|
||||||
|
pdn: 0x0004013000002102L
|
||||||
|
ps: 0x0004013000003102L
|
||||||
|
ptm: 0x0004013000002202L
|
||||||
|
ro: 0x0004013000003702L
|
||||||
|
socket: 0x0004013000002e02L
|
||||||
|
spi: 0x0004013000002302L
|
||||||
|
ssl: 0x0004013000002f02L
|
BIN
icons-banners/audio.wav
Normal file
BIN
icons-banners/audio.wav
Normal file
Binary file not shown.
BIN
icons-banners/banner.bnr
Normal file
BIN
icons-banners/banner.bnr
Normal file
Binary file not shown.
BIN
icons-banners/banner.png
Normal file
BIN
icons-banners/banner.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6 KiB |
BIN
icons-banners/icon.icn
Normal file
BIN
icons-banners/icon.icn
Normal file
Binary file not shown.
Before Width: | Height: | Size: 415 B After Width: | Height: | Size: 415 B |
BIN
result/Minicraft3DS.3ds
Normal file
BIN
result/Minicraft3DS.3ds
Normal file
Binary file not shown.
|
@ -140,7 +140,7 @@ void initRecipes(){
|
||||||
loomRecipes.recipes = (Recipe*)malloc(sizeof(Recipe) * (loomRecipes.size));
|
loomRecipes.recipes = (Recipe*)malloc(sizeof(Recipe) * (loomRecipes.size));
|
||||||
loomRecipes.recipes[0] = defineRecipe(ITEM_STRING,1,1,ITEM_WOOL,1);
|
loomRecipes.recipes[0] = defineRecipe(ITEM_STRING,1,1,ITEM_WOOL,1);
|
||||||
|
|
||||||
enchanterRecipes.size = 7;
|
enchanterRecipes.size = 8;
|
||||||
enchanterRecipes.recipes = (Recipe*)malloc(sizeof(Recipe) * (enchanterRecipes.size));
|
enchanterRecipes.recipes = (Recipe*)malloc(sizeof(Recipe) * (enchanterRecipes.size));
|
||||||
enchanterRecipes.recipes[0] = defineRecipe(TOOL_SWORD,4,2,ITEM_WOOD,5,ITEM_GEM,50);
|
enchanterRecipes.recipes[0] = defineRecipe(TOOL_SWORD,4,2,ITEM_WOOD,5,ITEM_GEM,50);
|
||||||
enchanterRecipes.recipes[1] = defineRecipe(TOOL_AXE,4,2,ITEM_WOOD,5,ITEM_GEM,50);
|
enchanterRecipes.recipes[1] = defineRecipe(TOOL_AXE,4,2,ITEM_WOOD,5,ITEM_GEM,50);
|
||||||
|
@ -149,6 +149,7 @@ void initRecipes(){
|
||||||
enchanterRecipes.recipes[4] = defineRecipe(TOOL_SHOVEL,4,2,ITEM_WOOD,5,ITEM_GEM,50);
|
enchanterRecipes.recipes[4] = defineRecipe(TOOL_SHOVEL,4,2,ITEM_WOOD,5,ITEM_GEM,50);
|
||||||
enchanterRecipes.recipes[5] = defineRecipe(ITEM_ARROW_GEM,1,3,ITEM_WOOD,1,ITEM_GEM,3,ITEM_STRING,1);
|
enchanterRecipes.recipes[5] = defineRecipe(ITEM_ARROW_GEM,1,3,ITEM_WOOD,1,ITEM_GEM,3,ITEM_STRING,1);
|
||||||
enchanterRecipes.recipes[6] = defineRecipe(ITEM_WALL_GEM,1,1,ITEM_GEM,10);
|
enchanterRecipes.recipes[6] = defineRecipe(ITEM_WALL_GEM,1,1,ITEM_GEM,10);
|
||||||
|
enchanterRecipes.recipes[7] = defineRecipe(ITEM_GOLD_APPLE,1,2,ITEM_APPLE,1,ITEM_GOLDINGOT,15);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#include "Globals.h"
|
#include "Globals.h"
|
||||||
|
#include "Menu.h"
|
||||||
|
|
||||||
char versionText[34] = "Version 1.3.0";
|
char versionText[34] = "Version 1.3.0";
|
||||||
char fpsstr[34];
|
char fpsstr[34];
|
||||||
|
@ -217,7 +218,7 @@ void tickTouchQuickSelect() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void hurtEntity(Entity* e, int damage, int dir, u32 hurtColor){
|
void hurtEntity(Entity* e, int damage, int dir, u32 hurtColor){
|
||||||
if (TESTGODMODE && e->type==ENTITY_PLAYER) return;
|
if (shouldRenderDebug && e->type==ENTITY_PLAYER) return;
|
||||||
if (e->hurtTime > 0) return;
|
if (e->hurtTime > 0) return;
|
||||||
int xd = player.x - e->x;
|
int xd = player.x - e->x;
|
||||||
int yd = player.y - e->y;
|
int yd = player.y - e->y;
|
||||||
|
@ -700,6 +701,13 @@ s8 itemTileInteract(int tile, Item* item, int x, int y, int px, int py, int dir)
|
||||||
healPlayer(1);
|
healPlayer(1);
|
||||||
--item->countLevel;
|
--item->countLevel;
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
|
case ITEM_GOLD_APPLE:
|
||||||
|
if(player.p.health < 10 && playerUseEnergy(1)){
|
||||||
|
healPlayer(8);
|
||||||
|
playerUseEnergy(-10);
|
||||||
|
--item->countLevel;
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
case ITEM_FLESH:
|
case ITEM_FLESH:
|
||||||
if(player.p.health < 10 && playerUseEnergy(4+(rand()%4))){
|
if(player.p.health < 10 && playerUseEnergy(4+(rand()%4))){
|
||||||
|
@ -1650,28 +1658,28 @@ void initPlayer(){
|
||||||
player.p.hasWon = false;
|
player.p.hasWon = false;
|
||||||
|
|
||||||
addItemToInventory(newItem(ITEM_WORKBENCH,0), player.p.inv);
|
addItemToInventory(newItem(ITEM_WORKBENCH,0), player.p.inv);
|
||||||
addItemToInventory(newItem(ITEM_POWGLOVE,0), player.p.inv);
|
addItemToInventory(newItem(ITEM_POWGLOVE,0), player.p.inv);
|
||||||
|
if (shouldRenderDebug == true) {
|
||||||
/*
|
|
||||||
addItemToInventory(newItem(TOOL_SHOVEL,4), player.p.inv);
|
addItemToInventory(newItem(TOOL_SHOVEL,4), player.p.inv);
|
||||||
addItemToInventory(newItem(TOOL_HOE,4), player.p.inv);
|
addItemToInventory(newItem(TOOL_HOE,4), player.p.inv);
|
||||||
addItemToInventory(newItem(TOOL_SWORD,4), player.p.inv);
|
addItemToInventory(newItem(TOOL_SWORD,4), player.p.inv);
|
||||||
addItemToInventory(newItem(TOOL_PICKAXE,4), player.p.inv);
|
addItemToInventory(newItem(TOOL_PICKAXE,4), player.p.inv);
|
||||||
addItemToInventory(newItem(TOOL_AXE,4), player.p.inv);
|
addItemToInventory(newItem(TOOL_AXE,4), player.p.inv);
|
||||||
|
|
||||||
|
addItemToInventory(newItem(ITEM_GOLDINGOT, 60), player.p.inv);
|
||||||
|
addItemToInventory(newItem(ITEM_APPLE, 1), player.p.inv);
|
||||||
|
|
||||||
addItemToInventory(newItem(ITEM_ANVIL,0), player.p.inv);
|
addItemToInventory(newItem(ITEM_ANVIL,0), player.p.inv);
|
||||||
addItemToInventory(newItem(ITEM_CHEST,0), player.p.inv);
|
addItemToInventory(newItem(ITEM_CHEST,0), player.p.inv);
|
||||||
addItemToInventory(newItem(ITEM_OVEN,0), player.p.inv);
|
addItemToInventory(newItem(ITEM_OVEN,0), player.p.inv);
|
||||||
addItemToInventory(newItem(ITEM_FURNACE,0), player.p.inv);
|
addItemToInventory(newItem(ITEM_FURNACE,0), player.p.inv);
|
||||||
addItemToInventory(newItem(ITEM_LANTERN,0), player.p.inv);
|
addItemToInventory(newItem(ITEM_LANTERN,0), player.p.inv);
|
||||||
|
addItemToInventory(newItem(ITEM_ENCHANTER,0), player.p.inv);
|
||||||
int i;
|
}
|
||||||
for (i = 7;i < 28;++i) addItemToInventory(newItem(i,50), player.p.inv);
|
|
||||||
//*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void playerHurtTile(int tile, int xt, int yt, int damage, int dir){
|
void playerHurtTile(int tile, int xt, int yt, int damage, int dir){
|
||||||
if(TESTGODMODE) damage = 99;
|
if(shouldRenderDebug) damage = 99;
|
||||||
|
|
||||||
char hurtText[11];
|
char hurtText[11];
|
||||||
switch(tile){
|
switch(tile){
|
||||||
|
@ -1868,7 +1876,7 @@ void playerHurtTile(int tile, int xt, int yt, int damage, int dir){
|
||||||
}
|
}
|
||||||
|
|
||||||
bool playerUseEnergy(int amount){
|
bool playerUseEnergy(int amount){
|
||||||
if(TESTGODMODE) return true;
|
if(shouldRenderDebug) return true;
|
||||||
if(amount > player.p.stamina) return false;
|
if(amount > player.p.stamina) return false;
|
||||||
player.p.stamina -= amount;
|
player.p.stamina -= amount;
|
||||||
return true;
|
return true;
|
||||||
|
@ -2163,7 +2171,7 @@ void tickPlayer(){
|
||||||
|
|
||||||
if (swimming && player.p.swimTimer % 60 == 0) {
|
if (swimming && player.p.swimTimer % 60 == 0) {
|
||||||
if (player.p.stamina > 0) {
|
if (player.p.stamina > 0) {
|
||||||
if(!TESTGODMODE) --player.p.stamina;
|
if(!shouldRenderDebug) --player.p.stamina;
|
||||||
} else {
|
} else {
|
||||||
hurtEntity(&player,1,-1,0xFFAF00FF);
|
hurtEntity(&player,1,-1,0xFFAF00FF);
|
||||||
}
|
}
|
||||||
|
@ -2176,7 +2184,7 @@ void tickPlayer(){
|
||||||
|
|
||||||
if(k_attack.clicked){
|
if(k_attack.clicked){
|
||||||
if (player.p.stamina != 0) {
|
if (player.p.stamina != 0) {
|
||||||
if(!TESTGODMODE) player.p.stamina--;
|
if(!shouldRenderDebug) player.p.stamina--;
|
||||||
player.p.staminaRecharge = 0;
|
player.p.staminaRecharge = 0;
|
||||||
playerAttack();
|
playerAttack();
|
||||||
//addEntityToList(newSlimeEntity(1,200,600,1), &eManager);
|
//addEntityToList(newSlimeEntity(1,200,600,1), &eManager);
|
||||||
|
|
|
@ -78,8 +78,6 @@
|
||||||
|
|
||||||
#define SWAP_UINT32(x) (((x) >> 24) | (((x) & 0x00FF0000) >> 8) | (((x) & 0x0000FF00) << 8) | ((x) << 24))
|
#define SWAP_UINT32(x) (((x) >> 24) | (((x) & 0x00FF0000) >> 8) | (((x) & 0x0000FF00) << 8) | ((x) << 24))
|
||||||
|
|
||||||
//TODO: Dont forget to change back
|
|
||||||
#define TESTGODMODE true
|
|
||||||
|
|
||||||
bool screenShot;
|
bool screenShot;
|
||||||
int loadedtp;
|
int loadedtp;
|
||||||
|
|
|
@ -150,6 +150,7 @@ char* getItemName(int itemID, int countLevel){
|
||||||
case ITEM_FLESH: sprintf(currentName,"%d Flesh", countLevel); return currentName;
|
case ITEM_FLESH: sprintf(currentName,"%d Flesh", countLevel); return currentName;
|
||||||
case ITEM_BREAD: sprintf(currentName,"%d Bread", countLevel); return currentName;
|
case ITEM_BREAD: sprintf(currentName,"%d Bread", countLevel); return currentName;
|
||||||
case ITEM_APPLE: sprintf(currentName,"%d Apple", countLevel); return currentName;
|
case ITEM_APPLE: sprintf(currentName,"%d Apple", countLevel); return currentName;
|
||||||
|
case ITEM_GOLD_APPLE: sprintf(currentName,"%d Golden Apple", countLevel); return currentName;
|
||||||
case ITEM_COAL: sprintf(currentName,"%d Coal", countLevel); return currentName;
|
case ITEM_COAL: sprintf(currentName,"%d Coal", countLevel); return currentName;
|
||||||
case ITEM_IRONORE: sprintf(currentName,"%d Iron ore", countLevel); return currentName;
|
case ITEM_IRONORE: sprintf(currentName,"%d Iron ore", countLevel); return currentName;
|
||||||
case ITEM_GOLDORE: sprintf(currentName,"%d Gold ore", countLevel); return currentName;
|
case ITEM_GOLDORE: sprintf(currentName,"%d Gold ore", countLevel); return currentName;
|
||||||
|
@ -260,6 +261,7 @@ char* getBasicItemName(int itemID, int countLevel){
|
||||||
case ITEM_FLESH: return "Flesh";
|
case ITEM_FLESH: return "Flesh";
|
||||||
case ITEM_BREAD: return "Bread";
|
case ITEM_BREAD: return "Bread";
|
||||||
case ITEM_APPLE: return "Apple";
|
case ITEM_APPLE: return "Apple";
|
||||||
|
case ITEM_GOLD_APPLE: return "Gold Apple";
|
||||||
case ITEM_COAL: return "Coal";
|
case ITEM_COAL: return "Coal";
|
||||||
case ITEM_IRONORE: return "Iron ore";
|
case ITEM_IRONORE: return "Iron ore";
|
||||||
case ITEM_GOLDORE: return "Gold ore";
|
case ITEM_GOLDORE: return "Gold ore";
|
||||||
|
|
|
@ -75,6 +75,7 @@
|
||||||
#define TOOL_BUCKET 101
|
#define TOOL_BUCKET 101
|
||||||
#define TOOL_BOW 102
|
#define TOOL_BOW 102
|
||||||
#define TOOL_MAGIC_COMPASS 103
|
#define TOOL_MAGIC_COMPASS 103
|
||||||
|
#define ITEM_GOLD_APPLE 104
|
||||||
|
|
||||||
typedef struct Inventory Inventory;
|
typedef struct Inventory Inventory;
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
char options[][12] = {"Start Game", "Join Game", "How To Play","Settings", "About", "Exit"};
|
char options[][12] = {"Start Game", "Join Game", "How To Play","Settings", "About", "Exit"};
|
||||||
char pOptions[][24] = {"Return to game", "Save Progress", "Host World", "Exit to title"};
|
char pOptions[][24] = {"Return to game", "Save Progress", "Host World", "Exit to title"};
|
||||||
char keybOptions[][24] = {"Exit and Save", "Exit and Don't save","Reset to default"};
|
char keybOptions[][24] = {"Exit and Save", "Exit and Don't save","Reset to default"};
|
||||||
char setOptions[][24] = {"Rebind Buttons", "Texture packs", "Debug Text: ", "N3DS Speedup: ", "Return to title"};
|
char setOptions[][24] = {"Rebind Buttons", "Texture packs", "Test Features: ", "N3DS Speedup: ", "Return to title"};
|
||||||
|
|
||||||
// Rebind buttons menu (Settings)
|
// Rebind buttons menu (Settings)
|
||||||
int keys[] = {
|
int keys[] = {
|
||||||
|
@ -537,7 +537,7 @@ void tickMenu(int menu){
|
||||||
}
|
}
|
||||||
|
|
||||||
enterDungeon();
|
enterDungeon();
|
||||||
} else if(TESTGODMODE) {
|
} else if(shouldRenderDebug) {
|
||||||
enterDungeon();
|
enterDungeon();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -1301,7 +1301,8 @@ void renderMenu(int menu,int xscr,int yscr){
|
||||||
drawTextColor("3DS Homebrew Edition",74,120,0xFF00FF00);
|
drawTextColor("3DS Homebrew Edition",74,120,0xFF00FF00);
|
||||||
drawSizedTextColor("This port was made by David Benepe (Davideesk)",16,144,1.0,0xFF00FF00);
|
drawSizedTextColor("This port was made by David Benepe (Davideesk)",16,144,1.0,0xFF00FF00);
|
||||||
drawSizedTextColor("just for fun in September/October 2015.",44,156,1.0,0xFF00FF00);
|
drawSizedTextColor("just for fun in September/October 2015.",44,156,1.0,0xFF00FF00);
|
||||||
drawSizedTextColor("Updated and modded by Andre Schweiger (andre111)",8,168,1.0,0xFF00FF00);
|
drawSizedTextColor("Modded by Andre Schweiger (andre111) and ",44,168,1.0,0xFF00FF00);
|
||||||
|
drawSizedTextColor("Elijah Bansley (ElijahZAwesome)",71,180,1.0,0xFF00FF00);
|
||||||
drawSizedTextColor("TY Notch for creating a fun game to remake!",28,192,1.0,0xFF00FF00);
|
drawSizedTextColor("TY Notch for creating a fun game to remake!",28,192,1.0,0xFF00FF00);
|
||||||
sf2d_end_frame();
|
sf2d_end_frame();
|
||||||
sf2d_start_frame(GFX_BOTTOM, GFX_LEFT);
|
sf2d_start_frame(GFX_BOTTOM, GFX_LEFT);
|
||||||
|
@ -1356,7 +1357,7 @@ void renderMenu(int menu,int xscr,int yscr){
|
||||||
drawTextColor("Change the game's art",(320 - (21 * 12))/2,24,0xFF7FFFFF);
|
drawTextColor("Change the game's art",(320 - (21 * 12))/2,24,0xFF7FFFFF);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
drawTextColor("Show FPS/Pos/Entities",(320 - (22 * 12))/2,24,0xFF7FFFFF);
|
drawTextColor("Enable Testing Features.",(320 - (22 * 12))/2,24,0xFF7FFFFF);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
drawTextColor("Use the N3DS 804mhz mode",(320 - (24 * 12))/2,24,0xFF7FFFFF);
|
drawTextColor("Use the N3DS 804mhz mode",(320 - (24 * 12))/2,24,0xFF7FFFFF);
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#include <3ds.h>
|
#include <3ds.h>
|
||||||
|
|
||||||
#define NETWORK_WLANCOMMID 0x11441850
|
#define NETWORK_WLANCOMMID 0x11441850
|
||||||
#define NETWORK_PASSPHRASE "minicraft3ds localplay passphrase"
|
#define NETWORK_PASSPHRASE "Minicraft3DS localplay passphrase"
|
||||||
#define NETWORK_CHANNEL 1
|
#define NETWORK_CHANNEL 1
|
||||||
|
|
||||||
#define NETWORK_RECVBUFSIZE UDS_DEFAULT_RECVBUFSIZE
|
#define NETWORK_RECVBUFSIZE UDS_DEFAULT_RECVBUFSIZE
|
||||||
|
|
|
@ -84,7 +84,16 @@ void openNPCMenu(int npc) {
|
||||||
//TODO: Handle upon currentNPC as well as the fitting quest progress
|
//TODO: Handle upon currentNPC as well as the fitting quest progress
|
||||||
switch(currentNPC) {
|
switch(currentNPC) {
|
||||||
case NPC_GIRL:
|
case NPC_GIRL:
|
||||||
|
currentTalkOptions = 2;
|
||||||
|
currentTalkOption0 = "Trade";
|
||||||
|
currentTalkOption1 = "What do you do?";
|
||||||
|
|
||||||
|
currentTalk0 = "Hello!";
|
||||||
|
currentTalk1 = "It gets a bit lonely here.";
|
||||||
|
currentTalk2 = "I hope you stay...";
|
||||||
|
currentTalk3 = "But if you don't thats fine.";
|
||||||
|
currentTalk4 = "sigh";
|
||||||
|
currentTalk5 = "";
|
||||||
break;
|
break;
|
||||||
case NPC_PRIEST:
|
case NPC_PRIEST:
|
||||||
currentTalkOptions = 3;
|
currentTalkOptions = 3;
|
||||||
|
@ -327,7 +336,7 @@ void tickNPCMenu() {
|
||||||
questManager.questlines[1].currentQuest = 2;
|
questManager.questlines[1].currentQuest = 2;
|
||||||
|
|
||||||
currentTalk0 = "Thank you these will be";
|
currentTalk0 = "Thank you these will be";
|
||||||
currentTalk1 = "really helpfull.";
|
currentTalk1 = "really helpful.";
|
||||||
currentTalk2 = "Here take this book with";
|
currentTalk2 = "Here take this book with";
|
||||||
currentTalk3 = "it you should be able to";
|
currentTalk3 = "it you should be able to";
|
||||||
currentTalk4 = "easily understand anything";
|
currentTalk4 = "easily understand anything";
|
||||||
|
@ -399,7 +408,7 @@ void renderNPCMenu(int xscr, int yscr) {
|
||||||
//TODO: Handle upon currentNPC as well as the fitting quest progress
|
//TODO: Handle upon currentNPC as well as the fitting quest progress
|
||||||
switch(currentNPC) {
|
switch(currentNPC) {
|
||||||
case NPC_GIRL:
|
case NPC_GIRL:
|
||||||
if(currentNPCMenu==NPC_MENU_TALK) renderTalkMenu("TODO");
|
if(currentNPCMenu==NPC_MENU_TALK) renderTalkMenu("Girl Jill");
|
||||||
break;
|
break;
|
||||||
case NPC_PRIEST:
|
case NPC_PRIEST:
|
||||||
if(currentNPCMenu==NPC_MENU_TALK) renderTalkMenu("Priest Brom");
|
if(currentNPCMenu==NPC_MENU_TALK) renderTalkMenu("Priest Brom");
|
||||||
|
|
|
@ -1487,6 +1487,9 @@ void renderItemIcon(int itemID, int countLevel, int x, int y) {
|
||||||
case ITEM_APPLE:
|
case ITEM_APPLE:
|
||||||
render(x, y, 80, 152, 0);
|
render(x, y, 80, 152, 0);
|
||||||
break;
|
break;
|
||||||
|
case ITEM_GOLD_APPLE:
|
||||||
|
render(x, y, 177, 160, 0);
|
||||||
|
break;
|
||||||
case ITEM_SLIME:
|
case ITEM_SLIME:
|
||||||
renderb(x, y, 88, 152, 0, 0xFF4DC04D);
|
renderb(x, y, 88, 152, 0, 0xFF4DC04D);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Reference in a new issue