You've already forked HackerSM64
mirror of
https://github.com/HackerN64/HackerSM64.git
synced 2026-01-21 10:35:32 -08:00
Compare commits
5 Commits
old/refact
...
v2.0.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
25951363b7 | ||
|
|
797f9fa223 | ||
|
|
9d7d56989e | ||
|
|
f3e61a31aa | ||
|
|
3a558060ab |
@@ -4,6 +4,7 @@
|
||||
# These owners will be the default owners for everything in the repo.
|
||||
* @Reonu
|
||||
* @thecozies
|
||||
* @Mr-Wiseguy
|
||||
|
||||
# Order is important. The last matching pattern has the most precedence.
|
||||
# So if a pull request only touches javascript files, only these owners
|
||||
|
||||
@@ -33,7 +33,7 @@ This is a fork of the ultrasm64 repo by CrashOveride which includes the followin
|
||||
Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
|
||||
|
||||
**Lighting Engine by Wiseguy**
|
||||
- Lighting Engine is available on a separate branch ([base/lighting-engine](https://github.com/Reonu/HackerSM64/tree/base/lighting-engine)). Instructions on how to use it are in the readme of that branch.
|
||||
- Lighting Engine is available on a separate branch ([base/lighting-engine-wip](https://github.com/Reonu/HackerSM64/tree/base/lighting-engine-wip)). Instructions on how to use it are in the readme of that branch.
|
||||
- Alternatively, the main repo has `Puppylights` available, which is a more lightweight, but limited lighting library intended to be used to modify existing light properties. You can look at `puppylights.c` to find out how to use it.
|
||||
|
||||
**Puppycam**
|
||||
|
||||
1
VERSION.txt
Normal file
1
VERSION.txt
Normal file
@@ -0,0 +1 @@
|
||||
v2.0.1
|
||||
@@ -38,7 +38,7 @@
|
||||
* importing large custom content.
|
||||
*/
|
||||
|
||||
#define SEG_POOL_START _engineSegmentBssEnd // 0x0165000 in size
|
||||
#define SEG_POOL_START _framebuffersSegmentBssEnd // 0x0165000 in size
|
||||
#define POOL_SIZE RAM_END - SEG_POOL_START
|
||||
|
||||
#define MAP_PARSER_ADDRESS 0x80345678
|
||||
|
||||
26
sm64.ld
26
sm64.ld
@@ -102,6 +102,13 @@ SECTIONS
|
||||
END_SEG(boot)
|
||||
|
||||
. = (RAM_START + 0x400);
|
||||
BEGIN_NOLOAD(zbuffer)
|
||||
{
|
||||
BUILD_DIR/src/buffers/zbuffer.o(.bss*);
|
||||
}
|
||||
END_NOLOAD(zbuffer)
|
||||
|
||||
. = _zbufferSegmentBssEnd;
|
||||
BEGIN_NOLOAD(buffers)
|
||||
{
|
||||
BUILD_DIR/src/buffers/buffers.o(.bss*);
|
||||
@@ -279,28 +286,13 @@ SECTIONS
|
||||
. = ALIGN(0x40);
|
||||
}
|
||||
END_NOLOAD(engine)
|
||||
#ifndef USE_EXT_RAM
|
||||
. = 0x80200000;
|
||||
#else
|
||||
. = 0x80400000;
|
||||
#endif
|
||||
|
||||
. = _engineSegmentBssEnd;
|
||||
BEGIN_NOLOAD(framebuffers)
|
||||
{
|
||||
BUILD_DIR/src/buffers/framebuffers.o(.bss*);
|
||||
}
|
||||
END_NOLOAD(framebuffers)
|
||||
#ifndef USE_EXT_RAM
|
||||
. = 0x80300000;
|
||||
#else
|
||||
. = 0x80500000;
|
||||
#endif
|
||||
BEGIN_NOLOAD(zbuffer)
|
||||
{
|
||||
BUILD_DIR/src/buffers/zbuffer.o(.bss*);
|
||||
}
|
||||
END_NOLOAD(zbuffer)
|
||||
|
||||
. = _engineSegmentBssEnd;
|
||||
|
||||
__mainPoolStart = .;
|
||||
__mainPoolSize = (RAM_END - .);
|
||||
|
||||
@@ -139,11 +139,6 @@ void main_pool_init(void *start, void *end) {
|
||||
#endif
|
||||
}
|
||||
|
||||
extern u8 _framebuffersSegmentBssStart[];
|
||||
extern u8 _framebuffersSegmentBssEnd[];
|
||||
extern u8 _zbufferSegmentBssStart[];
|
||||
extern u8 _zbufferSegmentBssEnd[];
|
||||
|
||||
/**
|
||||
* Allocate a block of memory from the pool of given size, and from the
|
||||
* specified side of the pool (MEMORY_POOL_LEFT or MEMORY_POOL_RIGHT).
|
||||
@@ -158,12 +153,6 @@ void *main_pool_alloc(u32 size, u32 side) {
|
||||
sPoolFreeSpace -= size;
|
||||
if (side == MEMORY_POOL_LEFT) {
|
||||
newListHead = (struct MainPoolBlock *) ((u8 *) sPoolListHeadL + size);
|
||||
if ((u32)newListHead >= (u32)&_framebuffersSegmentBssStart && (u32)newListHead <= (u32)&_framebuffersSegmentBssEnd) {
|
||||
newListHead = (struct MainPoolBlock *)ALIGN16((u32)&_framebuffersSegmentBssEnd + 0x40);
|
||||
}
|
||||
if ((u32)newListHead >= (u32)&_zbufferSegmentBssStart && (u32)newListHead <= (u32)&_zbufferSegmentBssEnd) {
|
||||
newListHead = (struct MainPoolBlock *)ALIGN16((u32)&_zbufferSegmentBssEnd + 0x40);
|
||||
}
|
||||
sPoolListHeadL->next = newListHead;
|
||||
newListHead->prev = sPoolListHeadL;
|
||||
newListHead->next = NULL;
|
||||
|
||||
Reference in New Issue
Block a user