mirror of
https://github.com/DarkStore-3DS/Project_CTR.git
synced 2026-07-04 08:49:03 +00:00
Break out libblz as an external dependency for makerom.
This commit is contained in:
@@ -0,0 +1,15 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define BLZ_NORMAL 0 // normal mode
|
||||||
|
#define BLZ_BEST 1 // best mode
|
||||||
|
|
||||||
|
uint8_t *BLZ_Code(uint8_t *raw_buffer, int raw_len, uint32_t *new_len, int best);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,198 @@
|
|||||||
|
# C++/C Recursive Project Makefile
|
||||||
|
# (c) Jack
|
||||||
|
# Version 7 (20220413)
|
||||||
|
|
||||||
|
# Project Name
|
||||||
|
PROJECT_NAME = libblz
|
||||||
|
|
||||||
|
# Project Relative Paths
|
||||||
|
PROJECT_PATH = $(CURDIR)
|
||||||
|
PROJECT_SRC_PATH = src
|
||||||
|
PROJECT_SRC_SUBDIRS = $(PROJECT_SRC_PATH)
|
||||||
|
PROJECT_INCLUDE_PATH = include
|
||||||
|
#PROJECT_TESTSRC_PATH = test
|
||||||
|
#PROJECT_TESTSRC_SUBDIRS = $(PROJECT_TESTSRC_PATH)
|
||||||
|
PROJECT_BIN_PATH = bin
|
||||||
|
#PROJECT_DOCS_PATH = docs
|
||||||
|
#PROJECT_DOXYFILE_PATH = Doxyfile
|
||||||
|
|
||||||
|
# Determine if the root makefile has been established, and if not establish this makefile as the root makefile
|
||||||
|
ifeq ($(ROOT_PROJECT_NAME),)
|
||||||
|
export ROOT_PROJECT_NAME = $(PROJECT_NAME)
|
||||||
|
export ROOT_PROJECT_PATH = $(PROJECT_PATH)
|
||||||
|
export ROOT_PROJECT_DEPENDENCY_PATH = $(ROOT_PROJECT_PATH)/deps
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Project Dependencies
|
||||||
|
PROJECT_DEPEND =
|
||||||
|
PROJECT_DEPEND_LOCAL_DIR =
|
||||||
|
|
||||||
|
# Generate compiler flags for including project include path
|
||||||
|
ifneq ($(PROJECT_INCLUDE_PATH),)
|
||||||
|
INC += -I"$(PROJECT_INCLUDE_PATH)"
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Generate compiler flags for local included dependencies
|
||||||
|
ifneq ($(PROJECT_DEPEND_LOCAL_DIR),)
|
||||||
|
LIB += $(foreach dep,$(PROJECT_DEPEND_LOCAL_DIR), -L"$(ROOT_PROJECT_DEPENDENCY_PATH)/$(dep)/bin")
|
||||||
|
INC += $(foreach dep,$(PROJECT_DEPEND_LOCAL_DIR), -I"$(ROOT_PROJECT_DEPENDENCY_PATH)/$(dep)/include")
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Generate compiler flags for external dependencies
|
||||||
|
ifneq ($(PROJECT_DEPEND),)
|
||||||
|
LIB += $(foreach dep,$(PROJECT_DEPEND), -l$(dep))
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Detect Platform
|
||||||
|
ifeq ($(PROJECT_PLATFORM),)
|
||||||
|
ifeq ($(OS), Windows_NT)
|
||||||
|
export PROJECT_PLATFORM = WIN32
|
||||||
|
else
|
||||||
|
UNAME = $(shell uname -s)
|
||||||
|
ifeq ($(UNAME), Darwin)
|
||||||
|
export PROJECT_PLATFORM = MACOS
|
||||||
|
else ifneq (, $(findstring CYGWIN_NT, $(UNAME)))
|
||||||
|
export PROJECT_PLATFORM = CYGWIN_NT
|
||||||
|
else
|
||||||
|
export PROJECT_PLATFORM = GNU
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Detect Architecture
|
||||||
|
ifeq ($(PROJECT_PLATFORM_ARCH),)
|
||||||
|
ifeq ($(PROJECT_PLATFORM), WIN32)
|
||||||
|
export PROJECT_PLATFORM_ARCH = x86_64
|
||||||
|
else ifeq ($(PROJECT_PLATFORM), GNU)
|
||||||
|
export PROJECT_PLATFORM_ARCH = $(shell uname -m)
|
||||||
|
else ifeq ($(PROJECT_PLATFORM), MACOS)
|
||||||
|
export PROJECT_PLATFORM_ARCH = $(shell uname -m)
|
||||||
|
else ifeq ($(PROJECT_PLATFORM), CYGWIN_NT)
|
||||||
|
export PROJECT_PLATFORM_ARCH = $(shell uname -m)
|
||||||
|
else
|
||||||
|
export PROJECT_PLATFORM_ARCH = x86_64
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Generate platform specific compiler flags
|
||||||
|
ifeq ($(PROJECT_PLATFORM), WIN32)
|
||||||
|
# Windows Flags/Libs
|
||||||
|
CC = x86_64-w64-mingw32-gcc
|
||||||
|
CXX = x86_64-w64-mingw32-g++
|
||||||
|
WARNFLAGS = -Wall -Wno-unused-value -Wno-unused-but-set-variable
|
||||||
|
ARCHFLAGS =
|
||||||
|
INC +=
|
||||||
|
LIB += -static
|
||||||
|
ARFLAGS = cr -o
|
||||||
|
else ifeq ($(PROJECT_PLATFORM), GNU)
|
||||||
|
# GNU/Linux Flags/Libs
|
||||||
|
#CC =
|
||||||
|
#CXX =
|
||||||
|
WARNFLAGS = -Wall -Wno-unused-value -Wno-unused-but-set-variable
|
||||||
|
ARCHFLAGS =
|
||||||
|
INC +=
|
||||||
|
LIB +=
|
||||||
|
ARFLAGS = cr -o
|
||||||
|
else ifeq ($(PROJECT_PLATFORM), MACOS)
|
||||||
|
# MacOS Flags/Libs
|
||||||
|
#CC =
|
||||||
|
#CXX =
|
||||||
|
WARNFLAGS = -Wall -Wno-unused-value -Wno-unused-private-field
|
||||||
|
ARCHFLAGS = -arch $(PROJECT_PLATFORM_ARCH)
|
||||||
|
INC +=
|
||||||
|
LIB +=
|
||||||
|
ARFLAGS = rc
|
||||||
|
else ifeq ($(PROJECT_PLATFORM), CYGWIN_NT)
|
||||||
|
# CygWin Flags/Libs
|
||||||
|
#CC =
|
||||||
|
#CXX =
|
||||||
|
WARNFLAGS = -Wall -Wno-unused-value -Wno-unused-but-set-variable
|
||||||
|
ARCHFLAGS =
|
||||||
|
INC +=
|
||||||
|
LIB +=
|
||||||
|
ARFLAGS = cr -o
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Compiler Flags
|
||||||
|
CXXFLAGS = -std=c++11 $(INC) $(WARNFLAGS) $(ARCHFLAGS) -fPIC
|
||||||
|
CFLAGS = -std=c11 $(INC) $(WARNFLAGS) $(ARCHFLAGS) -fPIC
|
||||||
|
|
||||||
|
# Object Files
|
||||||
|
SRC_OBJ = $(foreach dir,$(PROJECT_SRC_SUBDIRS),$(subst .cpp,.o,$(wildcard $(dir)/*.cpp))) $(foreach dir,$(PROJECT_SRC_SUBDIRS),$(subst .cc,.o,$(wildcard $(dir)/*.cc))) $(foreach dir,$(PROJECT_SRC_SUBDIRS),$(subst .c,.o,$(wildcard $(dir)/*.c)))
|
||||||
|
TESTSRC_OBJ = $(foreach dir,$(PROJECT_TESTSRC_SUBDIRS),$(subst .cpp,.o,$(wildcard $(dir)/*.cpp))) $(foreach dir,$(PROJECT_TESTSRC_SUBDIRS),$(subst .cc,.o,$(wildcard $(dir)/*.cc))) $(foreach dir,$(PROJECT_TESTSRC_SUBDIRS),$(subst .c,.o,$(wildcard $(dir)/*.c)))
|
||||||
|
|
||||||
|
# all is the default, user should specify what the default should do
|
||||||
|
# - 'static_lib' for building source as a static library
|
||||||
|
# - 'program' for building source as executable program
|
||||||
|
# - 'test_program' for building the test program
|
||||||
|
# test_program can be used with program or static_lib, but program and static_lib cannot be used together
|
||||||
|
all: static_lib
|
||||||
|
|
||||||
|
clean: clean_object_files remove_binary_dir
|
||||||
|
|
||||||
|
# Object Compile Rules
|
||||||
|
%.o: %.c
|
||||||
|
@echo CC $<
|
||||||
|
@$(CC) $(CFLAGS) -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.cpp
|
||||||
|
@echo CXX $<
|
||||||
|
@$(CXX) $(CXXFLAGS) -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.cc
|
||||||
|
@echo CXX $<
|
||||||
|
@$(CXX) $(CXXFLAGS) -c $< -o $@
|
||||||
|
|
||||||
|
# Binary Directory
|
||||||
|
.PHONY: create_binary_dir
|
||||||
|
create_binary_dir:
|
||||||
|
@mkdir -p "$(PROJECT_BIN_PATH)"
|
||||||
|
|
||||||
|
.PHONY: remove_binary_dir
|
||||||
|
remove_binary_dir:
|
||||||
|
ifneq ($(PROJECT_BIN_PATH),)
|
||||||
|
@rm -rf "$(PROJECT_BIN_PATH)"
|
||||||
|
endif
|
||||||
|
|
||||||
|
.PHONY: clean_object_files
|
||||||
|
clean_object_files:
|
||||||
|
@rm -f $(SRC_OBJ) $(TESTSRC_OBJ)
|
||||||
|
|
||||||
|
# Build Library
|
||||||
|
static_lib: $(SRC_OBJ) create_binary_dir
|
||||||
|
@echo LINK $(PROJECT_BIN_PATH)/$(PROJECT_NAME).a
|
||||||
|
@ar $(ARFLAGS) "$(PROJECT_BIN_PATH)/$(PROJECT_NAME).a" $(SRC_OBJ)
|
||||||
|
|
||||||
|
# Build Program
|
||||||
|
program: $(SRC_OBJ) create_binary_dir
|
||||||
|
@echo LINK $(PROJECT_BIN_PATH)/$(PROJECT_NAME)
|
||||||
|
@$(CXX) $(ARCHFLAGS) $(SRC_OBJ) $(LIB) -o "$(PROJECT_BIN_PATH)/$(PROJECT_NAME)"
|
||||||
|
|
||||||
|
# Build Test Program
|
||||||
|
test_program: $(TESTSRC_OBJ) $(SRC_OBJ) create_binary_dir
|
||||||
|
ifneq ($(PROJECT_TESTSRC_PATH),)
|
||||||
|
@echo LINK $(PROJECT_BIN_PATH)/$(PROJECT_NAME)_test
|
||||||
|
@$(CXX) $(ARCHFLAGS) $(TESTSRC_OBJ) $(SRC_OBJ) $(LIB) -o "$(PROJECT_BIN_PATH)/$(PROJECT_NAME)_test"
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Documentation
|
||||||
|
.PHONY: docs
|
||||||
|
docs:
|
||||||
|
ifneq ($(PROJECT_DOCS_PATH),)
|
||||||
|
doxygen "$(PROJECT_DOXYFILE_PATH)"
|
||||||
|
endif
|
||||||
|
|
||||||
|
.PHONY: clean_docs
|
||||||
|
clean_docs:
|
||||||
|
ifneq ($(PROJECT_DOCS_PATH),)
|
||||||
|
@rm -rf "$(PROJECT_DOCS_PATH)"
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Dependencies
|
||||||
|
.PHONY: deps
|
||||||
|
deps:
|
||||||
|
@$(foreach lib,$(PROJECT_DEPEND_LOCAL_DIR), cd "$(ROOT_PROJECT_DEPENDENCY_PATH)/$(lib)" && $(MAKE) static_lib && cd "$(PROJECT_PATH)";)
|
||||||
|
|
||||||
|
.PHONY: clean_deps
|
||||||
|
clean_deps:
|
||||||
|
@$(foreach lib,$(PROJECT_DEPEND_LOCAL_DIR), cd "$(ROOT_PROJECT_DEPENDENCY_PATH)/$(lib)" && $(MAKE) clean && cd "$(PROJECT_PATH)";)
|
||||||
@@ -17,8 +17,10 @@
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
#include "lib.h"
|
#include <stdio.h>
|
||||||
#include "blz.h"
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include <blz.h>
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
#define CMD_DECODE 0x00 // decode
|
#define CMD_DECODE 0x00 // decode
|
||||||
@@ -47,16 +49,16 @@
|
|||||||
#define EXIT(text) { printf(text); exit(-1); }
|
#define EXIT(text) { printf(text); exit(-1); }
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
u8 *Memory(int length, int size);
|
uint8_t *Memory(int length, int size);
|
||||||
|
|
||||||
u8 *BLZ_Code(u8 *raw_buffer, int raw_len, u32 *new_len, int best);
|
uint8_t *BLZ_Code(uint8_t *raw_buffer, int raw_len, uint32_t *new_len, int best);
|
||||||
void BLZ_Invert(u8 *buffer, int length);
|
void BLZ_Invert(uint8_t *buffer, int length);
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
u8 *Memory(int length, int size) {
|
uint8_t *Memory(int length, int size) {
|
||||||
u8 *fb;
|
uint8_t *fb;
|
||||||
|
|
||||||
fb = (u8 *) calloc(length * size, size);
|
fb = (uint8_t *) calloc(length * size, size);
|
||||||
if (fb == NULL) EXIT("\nMemory error\n");
|
if (fb == NULL) EXIT("\nMemory error\n");
|
||||||
|
|
||||||
return(fb);
|
return(fb);
|
||||||
@@ -64,15 +66,15 @@ u8 *Memory(int length, int size) {
|
|||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
void BLZ_Decode(char *filename) {
|
void BLZ_Decode(char *filename) {
|
||||||
// u8 *pak_buffer, *raw_buffer, *pak, *raw, *pak_end, *raw_end;
|
// uint8_t *pak_buffer, *raw_buffer, *pak, *raw, *pak_end, *raw_end;
|
||||||
// u32 pak_len, raw_len, len, pos, inc_len, hdr_len, enc_len, dec_len;
|
// uint32_t pak_len, raw_len, len, pos, inc_len, hdr_len, enc_len, dec_len;
|
||||||
// u8 flags, mask;
|
// uint8_t flags, mask;
|
||||||
|
|
||||||
// printf("- decoding '%s'", filename);
|
// printf("- decoding '%s'", filename);
|
||||||
|
|
||||||
// // pak_buffer = Load(filename, &pak_len, BLZ_MINIM, BLZ_MAXIM);
|
// // pak_buffer = Load(filename, &pak_len, BLZ_MINIM, BLZ_MAXIM);
|
||||||
|
|
||||||
// inc_len = *(u32 *)(pak_buffer + pak_len - 4);
|
// inc_len = *(uint32_t *)(pak_buffer + pak_len - 4);
|
||||||
// if (!inc_len) {
|
// if (!inc_len) {
|
||||||
// enc_len = 0;
|
// enc_len = 0;
|
||||||
// dec_len = pak_len - 4;
|
// dec_len = pak_len - 4;
|
||||||
@@ -83,14 +85,14 @@ void BLZ_Decode(char *filename) {
|
|||||||
// hdr_len = pak_buffer[pak_len - 5];
|
// hdr_len = pak_buffer[pak_len - 5];
|
||||||
// if ((hdr_len < 0x08) || (hdr_len > 0x0B)) EXIT("Bad header length\n");
|
// if ((hdr_len < 0x08) || (hdr_len > 0x0B)) EXIT("Bad header length\n");
|
||||||
// if (pak_len <= hdr_len) EXIT("Bad length\n");
|
// if (pak_len <= hdr_len) EXIT("Bad length\n");
|
||||||
// enc_len = *(u32 *)(pak_buffer + pak_len - 8) & 0x00FFFFFF;
|
// enc_len = *(uint32_t *)(pak_buffer + pak_len - 8) & 0x00FFFFFF;
|
||||||
// dec_len = pak_len - enc_len;
|
// dec_len = pak_len - enc_len;
|
||||||
// pak_len = enc_len - hdr_len;
|
// pak_len = enc_len - hdr_len;
|
||||||
// raw_len = dec_len + enc_len + inc_len;
|
// raw_len = dec_len + enc_len + inc_len;
|
||||||
// if (raw_len > RAW_MAXIM) EXIT("Bad decoded length\n");
|
// if (raw_len > RAW_MAXIM) EXIT("Bad decoded length\n");
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// raw_buffer = (u8 *) Memory(raw_len, sizeof(char));
|
// raw_buffer = (uint8_t *) Memory(raw_len, sizeof(char));
|
||||||
|
|
||||||
// pak = pak_buffer;
|
// pak = pak_buffer;
|
||||||
// raw = raw_buffer;
|
// raw = raw_buffer;
|
||||||
@@ -141,10 +143,10 @@ void BLZ_Decode(char *filename) {
|
|||||||
// printf("\n");
|
// printf("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 *Load(char *filename, u32 *length, int min, int max) {
|
uint8_t *Load(char *filename, uint32_t *length, int min, int max) {
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
int fs;
|
int fs;
|
||||||
u8 *fb;
|
uint8_t *fb;
|
||||||
|
|
||||||
if ((fp = fopen(filename, "rb")) == NULL) EXIT("\nFile open error\n");
|
if ((fp = fopen(filename, "rb")) == NULL) EXIT("\nFile open error\n");
|
||||||
fseek(fp, 0, SEEK_END);
|
fseek(fp, 0, SEEK_END);
|
||||||
@@ -161,9 +163,9 @@ u8 *Load(char *filename, u32 *length, int min, int max) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
u8* BLZ_Encode(char *filename, u32* pak_len, int mode) {
|
uint8_t* BLZ_Encode(char *filename, uint32_t* pak_len, int mode) {
|
||||||
u8 *raw_buffer, *pak_buffer, *new_buffer;
|
uint8_t *raw_buffer, *pak_buffer, *new_buffer;
|
||||||
u32 raw_len, new_len;
|
uint32_t raw_len, new_len;
|
||||||
|
|
||||||
raw_buffer = Load(filename, &raw_len, RAW_MINIM, RAW_MAXIM);
|
raw_buffer = Load(filename, &raw_len, RAW_MINIM, RAW_MAXIM);
|
||||||
|
|
||||||
@@ -181,12 +183,12 @@ u8* BLZ_Encode(char *filename, u32* pak_len, int mode) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
u8 *BLZ_Code(u8 *raw_buffer, int raw_len, u32 *new_len, int best) {
|
uint8_t *BLZ_Code(uint8_t *raw_buffer, int raw_len, uint32_t *new_len, int best) {
|
||||||
u8 *pak_buffer, *pak, *raw, *raw_end, *flg = NULL, *tmp;
|
uint8_t *pak_buffer, *pak, *raw, *raw_end, *flg = NULL, *tmp;
|
||||||
u32 pak_len, inc_len, hdr_len, enc_len, len, pos, max;
|
uint32_t pak_len, inc_len, hdr_len, enc_len, len, pos, max;
|
||||||
u32 len_best, pos_best = 0, len_next, pos_next, len_post, pos_post;
|
uint32_t len_best, pos_best = 0, len_next, pos_next, len_post, pos_post;
|
||||||
u32 pak_tmp, raw_tmp;
|
uint32_t pak_tmp, raw_tmp;
|
||||||
u8 mask;
|
uint8_t mask;
|
||||||
|
|
||||||
#define SEARCH(l,p) { \
|
#define SEARCH(l,p) { \
|
||||||
l = BLZ_THRESHOLD; \
|
l = BLZ_THRESHOLD; \
|
||||||
@@ -210,7 +212,7 @@ u8 *BLZ_Code(u8 *raw_buffer, int raw_len, u32 *new_len, int best) {
|
|||||||
raw_tmp = raw_len;
|
raw_tmp = raw_len;
|
||||||
|
|
||||||
pak_len = raw_len + ((raw_len + 7) / 8) + 11;
|
pak_len = raw_len + ((raw_len + 7) / 8) + 11;
|
||||||
pak_buffer = (u8 *) Memory(pak_len, sizeof(char));
|
pak_buffer = (uint8_t *) Memory(pak_len, sizeof(char));
|
||||||
|
|
||||||
BLZ_Invert(raw_buffer, raw_len);
|
BLZ_Invert(raw_buffer, raw_len);
|
||||||
|
|
||||||
@@ -282,9 +284,9 @@ u8 *BLZ_Code(u8 *raw_buffer, int raw_len, u32 *new_len, int best) {
|
|||||||
|
|
||||||
while ((pak - pak_buffer) & 3) *pak++ = 0;
|
while ((pak - pak_buffer) & 3) *pak++ = 0;
|
||||||
|
|
||||||
*(u32 *)pak = 0; pak += 4;
|
*(uint32_t *)pak = 0; pak += 4;
|
||||||
} else {
|
} else {
|
||||||
tmp = (u8 *) Memory(raw_tmp + pak_tmp + 11, sizeof(char));
|
tmp = (uint8_t *) Memory(raw_tmp + pak_tmp + 11, sizeof(char));
|
||||||
|
|
||||||
for (len = 0; len < raw_tmp; len++)
|
for (len = 0; len < raw_tmp; len++)
|
||||||
tmp[len] = raw_buffer[len];
|
tmp[len] = raw_buffer[len];
|
||||||
@@ -308,9 +310,9 @@ u8 *BLZ_Code(u8 *raw_buffer, int raw_len, u32 *new_len, int best) {
|
|||||||
hdr_len++;
|
hdr_len++;
|
||||||
}
|
}
|
||||||
|
|
||||||
*(u32 *)pak = enc_len + hdr_len; pak += 3;
|
*(uint32_t *)pak = enc_len + hdr_len; pak += 3;
|
||||||
*pak++ = hdr_len;
|
*pak++ = hdr_len;
|
||||||
*(u32 *)pak = inc_len - hdr_len; pak += 4;
|
*(uint32_t *)pak = inc_len - hdr_len; pak += 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
*new_len = pak - pak_buffer;
|
*new_len = pak - pak_buffer;
|
||||||
@@ -319,8 +321,8 @@ u8 *BLZ_Code(u8 *raw_buffer, int raw_len, u32 *new_len, int best) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
void BLZ_Invert(u8 *buffer, int length) {
|
void BLZ_Invert(uint8_t *buffer, int length) {
|
||||||
u8 *bottom, ch;
|
uint8_t *bottom, ch;
|
||||||
|
|
||||||
bottom = buffer + length - 1;
|
bottom = buffer + length - 1;
|
||||||
|
|
||||||
+2
-2
@@ -24,8 +24,8 @@ ifeq ($(ROOT_PROJECT_NAME),)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# Project Dependencies
|
# Project Dependencies
|
||||||
PROJECT_DEPEND = mbedtls polarssl yaml
|
PROJECT_DEPEND = mbedtls polarssl blz yaml
|
||||||
PROJECT_DEPEND_LOCAL_DIR = libmbedtls libpolarssl libyaml
|
PROJECT_DEPEND_LOCAL_DIR = libmbedtls libpolarssl libblz libyaml
|
||||||
|
|
||||||
# Generate compiler flags for including project include path
|
# Generate compiler flags for including project include path
|
||||||
ifneq ($(PROJECT_INCLUDE_PATH),)
|
ifneq ($(PROJECT_INCLUDE_PATH),)
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
#define BLZ_NORMAL 0 // normal mode
|
|
||||||
#define BLZ_BEST 1 // best mode
|
|
||||||
|
|
||||||
u8 *BLZ_Code(u8 *raw_buffer, int raw_len, u32 *new_len, int best);
|
|
||||||
+2
-1
@@ -1,10 +1,11 @@
|
|||||||
#include "lib.h"
|
#include "lib.h"
|
||||||
#include "elf.h"
|
#include "elf.h"
|
||||||
#include "blz.h"
|
|
||||||
#include "ncch_build.h"
|
#include "ncch_build.h"
|
||||||
#include "exheader_read.h"
|
#include "exheader_read.h"
|
||||||
#include "code.h"
|
#include "code.h"
|
||||||
|
|
||||||
|
#include <blz.h>
|
||||||
|
|
||||||
const u32 CTR_PAGE_SIZE = 0x1000;
|
const u32 CTR_PAGE_SIZE = 0x1000;
|
||||||
const u32 DEFAULT_STACK_SIZE = 0x4000; // 10KB
|
const u32 DEFAULT_STACK_SIZE = 0x4000; // 10KB
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user