remove submodule
This commit is contained in:
parent
a6f1100470
commit
2184c775ac
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -1,3 +0,0 @@
|
|||||||
[submodule "vendor/FastLZ"]
|
|
||||||
path = vendor/FastLZ
|
|
||||||
url = ssh://git@192.168.0.100:3022/MirrorRepo/FastLZ.git
|
|
@ -1,38 +0,0 @@
|
|||||||
|
|
||||||
# That file is here only to make IDE's happy so they could index all source files.
|
|
||||||
# Real building happens through Makefile.
|
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.10)
|
|
||||||
project(myProject)
|
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 20)
|
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
||||||
|
|
||||||
# Set to your devkitPro's installation dir if environment variable does not exist.
|
|
||||||
set(DEVKITPRO /opt/devkitpro)
|
|
||||||
|
|
||||||
include(${DEVKITPRO}/cmake/devkitARM.cmake)
|
|
||||||
|
|
||||||
include_directories(${DEVKITPRO}/libnds/lib)
|
|
||||||
include_directories(${DEVKITPRO}/libnds/include)
|
|
||||||
include_directories(${DEVKITPRO}/libnds/include/nds)
|
|
||||||
include_directories(${DEVKITPRO}/libnds/include/nds/arm9)
|
|
||||||
include_directories(${DEVKITPRO}/devkitARM)
|
|
||||||
include_directories(${DEVKITPRO}/devkitARM/arm-none-eabi/include)
|
|
||||||
include_directories(source)
|
|
||||||
include_directories(fonts)
|
|
||||||
include_directories(data)
|
|
||||||
include_directories(build)
|
|
||||||
|
|
||||||
link_directories(${DEVKITPRO}/libnds/lib)
|
|
||||||
link_directories(${DEVKITPRO}/libnds/include)
|
|
||||||
link_directories(${DEVKITPRO}/libnds/include/nds)
|
|
||||||
link_directories(${DEVKITPRO}/libnds/include/nds/arm9)
|
|
||||||
|
|
||||||
add_compile_definitions(ARM9)
|
|
||||||
add_compile_definitions(ARM7)
|
|
||||||
add_compile_definitions(iprintf=printf)
|
|
||||||
|
|
||||||
FILE(GLOB_RECURSE src *.cpp *.hpp *.c *.h)
|
|
||||||
|
|
||||||
add_executable(myProject ${src})
|
|
222
NDS/Makefile
222
NDS/Makefile
@ -1,222 +0,0 @@
|
|||||||
#---------------------------------------------------------------------------------
|
|
||||||
.SUFFIXES:
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
ifeq ($(strip $(DEVKITARM)),)
|
|
||||||
$(error "Please set DEVKITARM in your environment. export DEVKITARM=<path to>devkitARM")
|
|
||||||
endif
|
|
||||||
|
|
||||||
# These set the information text in the nds file
|
|
||||||
GAME_TITLE := Rune Factory 5 Lite
|
|
||||||
GAME_SUBTITLE1 := Version 1.0.2b
|
|
||||||
GAME_SUBTITLE2 := Created by Melody
|
|
||||||
|
|
||||||
include $(DEVKITARM)/ds_rules
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
# TARGET is the name of the output
|
|
||||||
# BUILD is the directory where object files & intermediate files will be placed
|
|
||||||
# SOURCES is a list of directories containing source code
|
|
||||||
# INCLUDES is a list of directories containing extra header files
|
|
||||||
# DATA is a list of directories containing binary files embedded using bin2o
|
|
||||||
# GRAPHICS is a list of directories containing image files to be converted with grit
|
|
||||||
# AUDIO is a list of directories containing audio to be converted by maxmod
|
|
||||||
# ICON is the image used to create the game icon, leave blank to use default rule
|
|
||||||
# NITRO is a directory that will be accessible via NitroFS
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
TARGET := $(shell basename $(CURDIR))
|
|
||||||
BUILD := build
|
|
||||||
DIST := dist
|
|
||||||
SOURCES := source
|
|
||||||
INCLUDES := include
|
|
||||||
DATA := data
|
|
||||||
GRAPHICS :=
|
|
||||||
AUDIO := maxmod
|
|
||||||
ICON :=
|
|
||||||
|
|
||||||
# specify a directory which contains the nitro filesystem
|
|
||||||
# this is relative to the Makefile
|
|
||||||
NITRO := nitrofiles
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
# options for code generation
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
ARCH := -marm -mthumb-interwork -march=armv5te -mtune=arm946e-s
|
|
||||||
|
|
||||||
CFLAGS := -g -Wall -O3\
|
|
||||||
$(ARCH) $(INCLUDE) -DARM9
|
|
||||||
CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions
|
|
||||||
ASFLAGS := -g $(ARCH)
|
|
||||||
LDFLAGS = -specs=ds_arm9.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
# any extra libraries we wish to link with the project (order is important)
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
LIBS := -lnds9
|
|
||||||
|
|
||||||
# automatigically add libraries for NitroFS
|
|
||||||
ifneq ($(strip $(NITRO)),)
|
|
||||||
LIBS := -lfilesystem -lfat $(LIBS)
|
|
||||||
endif
|
|
||||||
# automagically add maxmod library
|
|
||||||
ifneq ($(strip $(AUDIO)),)
|
|
||||||
LIBS := -lmm9 $(LIBS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
# list of directories containing libraries, this must be the top level containing
|
|
||||||
# include and lib
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
LIBDIRS := $(LIBNDS) $(PORTLIBS)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
# no real need to edit anything past this point unless you need to add additional
|
|
||||||
# rules for different file extensions
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
ifneq ($(BUILD),$(notdir $(CURDIR)))
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
export OUTPUT := $(CURDIR)/$(DIST)/$(TARGET)
|
|
||||||
|
|
||||||
export VPATH := $(CURDIR)/$(subst /,,$(dir $(ICON)))\
|
|
||||||
$(foreach dir,$(SOURCES),$(CURDIR)/$(dir))\
|
|
||||||
$(foreach dir,$(DATA),$(CURDIR)/$(dir))\
|
|
||||||
$(foreach dir,$(GRAPHICS),$(CURDIR)/$(dir))
|
|
||||||
|
|
||||||
export DEPSDIR := $(CURDIR)/$(BUILD)
|
|
||||||
|
|
||||||
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
|
|
||||||
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
|
|
||||||
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
|
|
||||||
PNGFILES := $(foreach dir,$(GRAPHICS),$(notdir $(wildcard $(dir)/*.png)))
|
|
||||||
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))
|
|
||||||
|
|
||||||
# prepare NitroFS directory
|
|
||||||
ifneq ($(strip $(NITRO)),)
|
|
||||||
export NITRO_FILES := $(CURDIR)/$(NITRO)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# get audio list for maxmod
|
|
||||||
ifneq ($(strip $(AUDIO)),)
|
|
||||||
export MODFILES := $(foreach dir,$(notdir $(wildcard $(AUDIO)/*.*)),$(CURDIR)/$(AUDIO)/$(dir))
|
|
||||||
|
|
||||||
# place the soundbank file in NitroFS if using it
|
|
||||||
ifneq ($(strip $(NITRO)),)
|
|
||||||
export SOUNDBANK := $(NITRO_FILES)/soundbank.bin
|
|
||||||
|
|
||||||
# otherwise, needs to be loaded from memory
|
|
||||||
else
|
|
||||||
export SOUNDBANK := soundbank.bin
|
|
||||||
BINFILES += $(SOUNDBANK)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
# use CXX for linking C++ projects, CC for standard C
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
ifeq ($(strip $(CPPFILES)),)
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
export LD := $(CC)
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
else
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
export LD := $(CXX)
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
endif
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
export OFILES_BIN := $(addsuffix .o,$(BINFILES))
|
|
||||||
|
|
||||||
export OFILES_SOURCES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o)
|
|
||||||
|
|
||||||
export OFILES := $(PNGFILES:.png=.o) $(OFILES_BIN) $(OFILES_SOURCES)
|
|
||||||
|
|
||||||
export HFILES := $(PNGFILES:.png=.h) $(addsuffix .h,$(subst .,_,$(BINFILES)))
|
|
||||||
|
|
||||||
export INCLUDE := $(foreach dir,$(INCLUDES),-iquote $(CURDIR)/$(dir))\
|
|
||||||
$(foreach dir,$(LIBDIRS),-I$(dir)/include)\
|
|
||||||
-I$(CURDIR)/$(BUILD)
|
|
||||||
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib)
|
|
||||||
|
|
||||||
ifeq ($(strip $(ICON)),)
|
|
||||||
icons := $(wildcard *.bmp)
|
|
||||||
|
|
||||||
ifneq (,$(findstring $(TARGET).bmp,$(icons)))
|
|
||||||
export GAME_ICON := $(CURDIR)/$(TARGET).bmp
|
|
||||||
else
|
|
||||||
ifneq (,$(findstring icon.bmp,$(icons)))
|
|
||||||
export GAME_ICON := $(CURDIR)/icon.bmp
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
ifeq ($(suffix $(ICON)), .grf)
|
|
||||||
export GAME_ICON := $(CURDIR)/$(ICON)
|
|
||||||
else
|
|
||||||
export GAME_ICON := $(CURDIR)/$(BUILD)/$(notdir $(basename $(ICON))).grf
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
.PHONY: $(BUILD) clean
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
$(BUILD):
|
|
||||||
@mkdir -p $@
|
|
||||||
@mkdir -p $(DIST)
|
|
||||||
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
clean:
|
|
||||||
@echo clean ...
|
|
||||||
@rm -fr $(BUILD) $(TARGET).elf $(TARGET).nds $(SOUNDBANK) $(DIST)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
else
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
# main targets
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
$(OUTPUT).nds: $(OUTPUT).elf $(NITRO_FILES) $(GAME_ICON)
|
|
||||||
$(OUTPUT).elf: $(OFILES)
|
|
||||||
|
|
||||||
# source files depend on generated headers
|
|
||||||
$(OFILES_SOURCES) : $(HFILES)
|
|
||||||
|
|
||||||
# need to build soundbank first
|
|
||||||
$(OFILES): $(SOUNDBANK)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
# rule to build solution from music files
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
$(SOUNDBANK) : $(MODFILES)
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
mmutil $^ -d -o$@ -hsoundbank.h
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
%.bin.o %_bin.h : %.bin
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
@echo $(notdir $<)
|
|
||||||
@$(bin2o)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
# This rule creates assembly source files using grit
|
|
||||||
# grit takes an image file and a .grit describing how the file is to be processed
|
|
||||||
# add additional rules like this for each image extension
|
|
||||||
# you use in the graphics folders
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
%.s %.h: %.png %.grit
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
grit $< -fts -o$*
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
# Convert non-GRF game icon to GRF if needed
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
$(GAME_ICON): $(notdir $(ICON))
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
@echo convert $(notdir $<)
|
|
||||||
@grit $< -g -gt -gB4 -gT FF00FF -m! -p -pe 16 -fh! -ftr
|
|
||||||
|
|
||||||
-include $(DEPSDIR)/*.d
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------------
|
|
||||||
endif
|
|
||||||
#---------------------------------------------------------------------------------------
|
|
0
NDS/nitrofiles/.gitignore
vendored
0
NDS/nitrofiles/.gitignore
vendored
@ -1,116 +0,0 @@
|
|||||||
#include <nds.h>
|
|
||||||
#include <filesystem.h>
|
|
||||||
#include <iostream>
|
|
||||||
#include <fstream>
|
|
||||||
#include <maxmod9.h>
|
|
||||||
|
|
||||||
#define TIMER_SPEED (BUS_CLOCK/1024)
|
|
||||||
|
|
||||||
FILE* file = 0;
|
|
||||||
std::ifstream in;
|
|
||||||
|
|
||||||
uint16_t blockSize;
|
|
||||||
char buffer[256*192*2];
|
|
||||||
char buffer2[256*256*2];
|
|
||||||
|
|
||||||
bool shouldDraw = false;
|
|
||||||
bool queueAvaible = false;
|
|
||||||
|
|
||||||
void VBlankProc() {
|
|
||||||
mmStreamUpdate();
|
|
||||||
|
|
||||||
if (shouldDraw) {
|
|
||||||
shouldDraw = false;
|
|
||||||
|
|
||||||
if (queueAvaible) {
|
|
||||||
queueAvaible = false;
|
|
||||||
|
|
||||||
dmaCopyWordsAsynch(3, buffer2, VRAM_A, 256*192*2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void TimerTick() {
|
|
||||||
shouldDraw = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
mm_word on_stream_request( mm_word length, mm_addr dest, mm_stream_formats format ) {
|
|
||||||
if(file){
|
|
||||||
size_t samplesize = 1;
|
|
||||||
switch(format){
|
|
||||||
case MM_STREAM_8BIT_MONO: samplesize = 1; break;
|
|
||||||
case MM_STREAM_8BIT_STEREO: samplesize = 2; break;
|
|
||||||
case MM_STREAM_16BIT_MONO: samplesize = 2; break;
|
|
||||||
case MM_STREAM_16BIT_STEREO: samplesize = 4; break;
|
|
||||||
}
|
|
||||||
|
|
||||||
int res = fread(dest,samplesize,length,file);
|
|
||||||
if(res){
|
|
||||||
length = res;
|
|
||||||
} else {
|
|
||||||
mmStreamClose();
|
|
||||||
fclose(file);
|
|
||||||
length = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return length;
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(void) {
|
|
||||||
consoleDemoInit();
|
|
||||||
|
|
||||||
videoSetMode(MODE_FB0);
|
|
||||||
vramSetBankA(VRAM_A_LCD);
|
|
||||||
|
|
||||||
std::cerr << "<=== init ===>" << std::endl;
|
|
||||||
|
|
||||||
|
|
||||||
// nitrofiles initialization
|
|
||||||
if (nitroFSInit(NULL)) {
|
|
||||||
chdir("nitro:/");
|
|
||||||
std::cerr << "nitrofs init success" << std::endl;
|
|
||||||
} else {
|
|
||||||
consoleDemoInit();
|
|
||||||
std::cout << "failed to init nitrofs" << std::endl;
|
|
||||||
std::cout << "Please launch the game\nfrom nds-bootstrap from twilightmenu" << std::endl;
|
|
||||||
while(1) {
|
|
||||||
// freezee
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
mmInitDefault((char*)"soundbank.bin");
|
|
||||||
file = fopen("music.raw","rb");
|
|
||||||
|
|
||||||
mm_stream mystream;
|
|
||||||
mystream.sampling_rate = 22050; // sampling rate = 25khz
|
|
||||||
mystream.buffer_length = 2400; // buffer length = 1200 samples
|
|
||||||
mystream.callback = on_stream_request; // set callback function
|
|
||||||
mystream.format = MM_STREAM_16BIT_MONO; // format = stereo 16-bit
|
|
||||||
mystream.timer = MM_TIMER0; // use hardware timer 0
|
|
||||||
mystream.manual = true; // use manual filling
|
|
||||||
mmStreamOpen( &mystream );
|
|
||||||
|
|
||||||
// quick hack... sometime it need to update once?
|
|
||||||
mmStreamUpdate(); mmStreamUpdate();
|
|
||||||
|
|
||||||
irqSet(IRQ_VBLANK, VBlankProc);
|
|
||||||
timerStart(2, ClockDivider_1024, TIMER_FREQ_1024(30), TimerTick);
|
|
||||||
|
|
||||||
in.open("data_compress", std::ios::in | std::ios::binary);
|
|
||||||
|
|
||||||
while(true) {
|
|
||||||
timerElapsed(1);
|
|
||||||
|
|
||||||
if (!in.eof() && !queueAvaible) {
|
|
||||||
in.read((char*)&blockSize, sizeof(blockSize));
|
|
||||||
in.read(buffer, blockSize);
|
|
||||||
swiDecompressLZSSWram(buffer, buffer2);
|
|
||||||
queueAvaible = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// swiWaitForVBlank();
|
|
||||||
}
|
|
||||||
|
|
||||||
// crashh
|
|
||||||
return 0;
|
|
||||||
}
|
|
1
vendor/FastLZ
vendored
1
vendor/FastLZ
vendored
@ -1 +0,0 @@
|
|||||||
Subproject commit 344eb4025f9ae866ebf7a2ec48850f7113a97a42
|
|
Loading…
x
Reference in New Issue
Block a user