From eb1ef4d29d1ee7125c5298e7ecbb84c0f0b7ad0f Mon Sep 17 00:00:00 2001 From: fk Date: Sat, 13 Sep 2025 19:58:52 +0300 Subject: [PATCH] [Yeti3D]: Argon build, change GFX defines --- Yeti3D/Makefile | 2 +- Yeti3D/Makefile.eg1 | 40 +++++++++ Yeti3D/Makefile.mcore | 2 +- Yeti3D/main_p2k.c | 193 +++++++++++++++++++++++------------------- Yeti3D/viewports.h | 14 ++- 5 files changed, 158 insertions(+), 93 deletions(-) create mode 100644 Yeti3D/Makefile.eg1 diff --git a/Yeti3D/Makefile b/Yeti3D/Makefile index 44cfa3e..45383b1 100644 --- a/Yeti3D/Makefile +++ b/Yeti3D/Makefile @@ -15,7 +15,7 @@ LIB_PATH = $(ARM_PATH)/lib LIB_MAIN = Lib.o # Defines. -DEFINES = -D__P2K__ -DEP1 -DROT_90 -DFPS_30 +DEFINES = -D__P2K__ -DEP1 -DROT_90 -DFPS_30 -DFTR_GFX_ATI #DEFINES = -D__P2K__ -DEP1 -DROT_90 -DFPS_30 -DFTR_V635 #DEFINES = -D__P2K__ -DEP1 -DROT_90 -DFPS_30 -DFTR_V600 -DJAVA_HEAP #DEFINES = -DDEBUG diff --git a/Yeti3D/Makefile.eg1 b/Yeti3D/Makefile.eg1 new file mode 100644 index 0000000..0870012 --- /dev/null +++ b/Yeti3D/Makefile.eg1 @@ -0,0 +1,40 @@ +# Script: Motorola P2K Makefile +# Flavor: EG1, EA1 (ElfPack v1.x, ARM GCC, Linux) +# Author: EXL, 06-Jan-2025 + +P2K_ELF_SDK = /home/exl/Storage/Projects/Git/MotoFanRu/P2K-ELF-SDK +ARM_GCC_LIN_BIN = $(P2K_ELF_SDK)/tool/compiler/ARM-GCC-LIN/bin + +CC = $(shell command -v arm-none-eabi-gcc || echo $(ARM_GCC_LIN_BIN)/arm-none-eabi-gcc) + +INCLUDES = -nostdinc -I$(P2K_ELF_SDK)/sdk_mcore -I$(P2K_ELF_SDK)/ep1/inc +DEFINES = -D__P2K__ -DEP1 -DROT_0 -DFPS_30 -DFTR_GFX_NVIDIA -DFTR_E825 +WARNINGS = -Wall +OPTIMIZATIONS = -O2 +FEATURES = -ffreestanding -fshort-wchar -fshort-enums -fpack-struct=4 -fno-builtin +ifeq ($(ARGON), 1) + DEFINES += -DARGON + FLAVOR = -DEA1 + CPU_FLAGS = -mbig-endian -mthumb -mthumb-interwork -mbe32 -march=armv6j -mtune=arm1136jf-s +else + FLAVOR = -DEG1 + CPU_FLAGS = -mbig-endian -mthumb -mthumb-interwork -march=armv4t -mtune=arm7tdmi-s +endif +AFLAGS = -marm +CFLAGS = $(INCLUDES) $(DEFINES) $(FLAVOR) $(WARNINGS) $(OPTIMIZATIONS) $(CPU_FLAGS) $(FEATURES) +CXXFLAGS = $(CFLAGS) +LDFLAGS = $(CFLAGS) -s -pie -Wl,--gc-sections -Wl,-zmax-page-size=1 -Wl,-eRegister +LIBS = -nostdlib -nodefaultlibs -L$(P2K_ELF_SDK)/ep1/lib/gcc -leg1_gcc_stub -lgcc_gba_m + +TARGET_ELF = Yeti3D.elf + +all: + $(CC) $(CFLAGS) -c draw.c -o draw.o + $(CC) $(CFLAGS) -c game.c -o game.o + $(CC) $(CFLAGS) -c yeti.c -o yeti.o + $(CC) $(CFLAGS) -c main_p2k.c -o main_p2k.o + $(CC) $(LDFLAGS) draw.o game.o yeti.o main_p2k.o $(LIBS) -o $(TARGET_ELF) + +clean: + -rm -f *.o + -rm -f *.elf diff --git a/Yeti3D/Makefile.mcore b/Yeti3D/Makefile.mcore index 61ff84e..138ee0c 100644 --- a/Yeti3D/Makefile.mcore +++ b/Yeti3D/Makefile.mcore @@ -11,7 +11,7 @@ SDK_PATH = $(MCORE_PATH)/sdk LIB_PATH = $(MCORE_PATH)/mcore-elf/lib # Defines. -DEFINES = -D__P2K__ -DEM2 -DROT_0 -DFPS_30 +DEFINES = -D__P2K__ -DEM2 -DROT_0 -DFPS_30 -DFTR_GFX_NVIDIA #DEFINES = -D__P2K__ -DEM2 -DROT_0 -DFPS_30 -DFTR_V3X #DEFINES = -D__P2K__ -DEM2 -DROT_0 -DFPS_30 -DG_DEFAULT diff --git a/Yeti3D/main_p2k.c b/Yeti3D/main_p2k.c index 1b1e2f5..e7f4628 100644 --- a/Yeti3D/main_p2k.c +++ b/Yeti3D/main_p2k.c @@ -31,9 +31,9 @@ #include #include #include -#if defined(EP1) || defined(EP2) +#if defined(FTR_GFX_ATI) #include -#elif defined(EM1) || defined(EM2) +#elif defined(FTR_GFX_NVIDIA) #include #endif @@ -57,7 +57,7 @@ typedef enum { APP_TIMER_LOOP } APP_TIMER_T; -#if defined(EP1) || defined(EP2) +#if defined(FTR_GFX_ATI) typedef struct { AHIDRVINFO_T *info_driver; AHIDEVCONTEXT_T context; @@ -72,7 +72,7 @@ typedef struct { AHIRECT_T rect_draw; AHIUPDATEPARAMS_T update_params; } APP_AHI_T; -#elif defined(EM1) || defined(EM2) +#elif defined(FTR_GFX_NVIDIA) typedef struct { GF_HANDLE gxHandle; GXRECT fb0_rect; @@ -96,9 +96,9 @@ typedef struct { UINT8 *p_bitmap; -#if defined(EP1) || defined(EP2) +#if defined(FTR_GFX_ATI) APP_AHI_T ahi; -#elif defined(EM1) || defined(EM2) +#elif defined(FTR_GFX_NVIDIA) APP_GFSDK_T gfsdk; #endif APP_KEYBOARD_T keys; @@ -132,7 +132,7 @@ static UINT32 ProcessKeyboard(EVENT_STACK_T *ev_st, APPLICATION_T *app, UINT32 k static UINT32 HandleEventTimerExpired(EVENT_STACK_T *ev_st, APPLICATION_T *app); static void FPS_Meter(void); -#if defined(EP1) || defined(EP2) +#if defined(FTR_GFX_ATI) #if !defined(FTR_C650) static UINT32 ATI_Driver_Log(APPLICATION_T *app); static UINT32 ATI_Driver_Log_Memory(APPLICATION_T *app, AHIPIXFMT_T pixel_format); @@ -140,7 +140,7 @@ static void FPS_Meter(void); static UINT32 ATI_Driver_Start(APPLICATION_T *app); static UINT32 ATI_Driver_Stop(APPLICATION_T *app); static UINT32 ATI_Driver_Flush(APPLICATION_T *app); -#elif defined(EM1) || defined(EM2) +#elif defined(FTR_GFX_NVIDIA) static UINT32 Nvidia_Driver_Start(APPLICATION_T *app); static UINT32 Nvidia_Driver_Stop(APPLICATION_T *app); static UINT32 Nvidia_Driver_Flush(APPLICATION_T *app); @@ -308,9 +308,9 @@ static UINT32 ApplicationStart(EVENT_STACK_T *ev_st, REG_ID_T reg_id, void *reg_ app_instance = (APP_INSTANCE_T *) APP_InitAppData((void *) APP_HandleEvent, sizeof(APP_INSTANCE_T), reg_id, 0, 0, 1, 1, 1, 0); -#if defined(EP1) || defined(EP2) +#if defined(FTR_GFX_ATI) app_instance->ahi.info_driver = NULL; -#elif defined(EM1) || defined(EM2) +#elif defined(FTR_GFX_NVIDIA) app_instance->gfsdk.gxHandle = (GF_HANDLE) &GxHandle; app_instance->gfsdk.fb0 = NULL; #endif @@ -324,9 +324,9 @@ static UINT32 ApplicationStart(EVENT_STACK_T *ev_st, REG_ID_T reg_id, void *reg_ DL_AudGetVolumeSetting(PHONE, &app_instance->keyboard_volume_level); DL_AudSetVolumeSetting(PHONE, 0); -#if defined(EP1) || defined(EP2) +#if defined(FTR_GFX_ATI) status |= ATI_Driver_Start((APPLICATION_T *) app_instance); -#elif defined(EM1) || defined(EM2) +#elif defined(FTR_GFX_NVIDIA) status |= Nvidia_Driver_Start((APPLICATION_T *) app_instance); #endif @@ -358,9 +358,9 @@ static UINT32 ApplicationStop(EVENT_STACK_T *ev_st, APPLICATION_T *app) { status |= GFX_Draw_Stop(app); status |= SetLoopTimer(app, 0); -#if defined(EP1) || defined(EP2) +#if defined(FTR_GFX_ATI) status |= ATI_Driver_Stop(app); -#elif defined(EM1) || defined(EM2) +#elif defined(FTR_GFX_NVIDIA) status |= Nvidia_Driver_Stop(app); #endif status |= APP_Exit(ev_st, app, 0); @@ -503,7 +503,7 @@ static UINT32 CheckKeyboard(EVENT_STACK_T *ev_st, APPLICATION_T *app) { } static UINT32 ProcessKeyboard(EVENT_STACK_T *ev_st, APPLICATION_T *app, UINT32 key, BOOL pressed) { -#if defined(EM1) || defined(EM2) || defined(FTR_C650) +#if defined(EM1) || defined(EM2) || defined(EA1) || defined(FTR_C650) #define KK_2 MULTIKEY_2 #define KK_UP MULTIKEY_UP #define KK_4 MULTIKEY_4 @@ -584,9 +584,9 @@ static UINT32 HandleEventTimerExpired(EVENT_STACK_T *ev_st, APPLICATION_T *app) FPS_Meter(); CheckKeyboard(ev_st, app); GFX_Draw_Step(app); -#if defined(EP1) || defined(EP2) +#if defined(FTR_GFX_ATI) ATI_Driver_Flush(app); -#elif defined(EM1) || defined(EM2) +#elif defined(FTR_GFX_NVIDIA) Nvidia_Driver_Flush(app); #endif break; @@ -633,7 +633,7 @@ static void FPS_Meter(void) { #endif } -#if defined(EP1) || defined(EP2) +#if defined(FTR_GFX_ATI) #if !defined(FTR_C650) static UINT32 ATI_Driver_Log(APPLICATION_T *app) { APP_INSTANCE_T *appi; @@ -1118,7 +1118,7 @@ static UINT32 ATI_Driver_Flush(APPLICATION_T *app) { return RESULT_OK; } #endif // !defined(FTR_C650) -#elif defined(EM1) || defined(EM2) +#elif defined(FTR_GFX_NVIDIA) static UINT32 Nvidia_Driver_Start(APPLICATION_T *app) { INT32 result; UINT32 status; @@ -1131,8 +1131,11 @@ static UINT32 Nvidia_Driver_Start(APPLICATION_T *app) { app_instance->gfsdk.fb0_rect.x = 0; app_instance->gfsdk.fb0_rect.y = 0; - +#if defined(EM1) || defined(EM2) UIS_CanvasGetDisplaySize(&point); +#else + point = UIS_CanvasGetDisplaySize(); +#endif app_instance->gfsdk.fb0_rect.w = point.x + 1; app_instance->gfsdk.fb0_rect.h = point.y + 1; app_instance->gfsdk.fb0 = uisAllocateMemory( @@ -1291,9 +1294,9 @@ static UINT32 GFX_Draw_Start(APPLICATION_T *app) { appi = (APP_INSTANCE_T *) app; -#if defined(EP1) || defined(EP2) +#if defined(FTR_GFX_ATI) appi->p_bitmap = (UINT8 *) appi->ahi.bitmap.image; -#elif defined(EM1) || defined(EM2) +#elif defined(FTR_GFX_NVIDIA) appi->p_bitmap = (UINT8 *) appi->gfsdk.fb0; #endif @@ -1302,10 +1305,10 @@ static UINT32 GFX_Draw_Start(APPLICATION_T *app) { Free_Memory_Blocks(); #endif -#if defined(EP1) || defined(EP2) - yeti = (yeti_t *) AmMemAllocPointer(sizeof(yeti_t)); -#elif defined(EM1) || defined(EM2) +#if defined(EM1) || defined(EM2) || defined(EA1) yeti = (yeti_t *) uisAllocateMemory(sizeof(yeti_t), NULL); +#elif defined(EP1) || defined(EP2) + yeti = (yeti_t *) AmMemAllocPointer(sizeof(yeti_t)); #endif if (!yeti) { LOG("yeti: Error alloc %d bytes.\n", sizeof(yeti_t)); @@ -1359,11 +1362,12 @@ static UINT32 InitResourses(void) { readen = 0; -#if defined(EP1) || defined(EP2) - res_tex = (texture_t *) AmMemAllocPointer(sizeof(texture_t) * YETI_TEXTURE_MAX); -#elif defined(EM1) || defined(EM2) +#if defined(EM1) || defined(EM2) || defined(EA1) res_tex = (texture_t *) uisAllocateMemory(sizeof(texture_t) * YETI_TEXTURE_MAX, NULL); +#elif defined(EP1) || defined(EP2) + res_tex = (texture_t *) AmMemAllocPointer(sizeof(texture_t) * YETI_TEXTURE_MAX); #endif + *(u_strrchr(g_res_file_path, L'/') + 1) = '\0'; u_strcat(g_res_file_path, L"Yeti3D.tex"); file_handle = DL_FsOpenFile(g_res_file_path, FILE_READ_MODE, 0); @@ -1378,11 +1382,12 @@ static UINT32 InitResourses(void) { LOG("%s\n", "Yeti3D.tex: Error reading file."); } -#if defined(EP1) || defined(EP2) - res_lua = (rgb555_t (*)[256]) AmMemAllocPointer(sizeof(lua_t)); -#elif defined(EM1) || defined(EM2) +#if defined(EM1) || defined(EM2) || defined(EA1) res_lua = (rgb555_t (*)[256]) uisAllocateMemory(sizeof(lua_t), NULL); +#elif defined(EP1) || defined(EP2) + res_lua = (rgb555_t (*)[256]) AmMemAllocPointer(sizeof(lua_t)); #endif + *(u_strrchr(g_res_file_path, L'/') + 1) = '\0'; u_strcat(g_res_file_path, L"Yeti3D.lua"); file_handle = DL_FsOpenFile(g_res_file_path, FILE_READ_MODE, 0); @@ -1397,11 +1402,12 @@ static UINT32 InitResourses(void) { LOG("%s\n", "Yeti3D.lua: Error reading file."); } -#if defined(EP1) || defined(EP2) - reciprocal = (int *) AmMemAllocPointer(sizeof(int) * YETI_RECIPROCAL_MAX); -#elif defined(EM1) || defined(EM2) +#if defined(EM1) || defined(EM2) || defined(EA1) reciprocal = (int *) uisAllocateMemory(sizeof(int) * YETI_RECIPROCAL_MAX, NULL); +#elif defined(EP1) || defined(EP2) + reciprocal = (int *) AmMemAllocPointer(sizeof(int) * YETI_RECIPROCAL_MAX); #endif + *(u_strrchr(g_res_file_path, L'/') + 1) = '\0'; u_strcat(g_res_file_path, L"Yeti3D.rec"); file_handle = DL_FsOpenFile(g_res_file_path, FILE_READ_MODE, 0); @@ -1416,11 +1422,12 @@ static UINT32 InitResourses(void) { LOG("%s\n", "Yeti3D.rec: Error reading file."); } -#if defined(EP1) || defined(EP2) - sintable = (int *) AmMemAllocPointer(sizeof(int) * YETI_SINTABLE_MAX); -#elif defined(EM1) || defined(EM2) +#if defined(EM1) || defined(EM2) || defined(EA1) sintable = (int *) uisAllocateMemory(sizeof(int) * YETI_SINTABLE_MAX, NULL); +#elif defined(EP1) || defined(EP2) + sintable = (int *) AmMemAllocPointer(sizeof(int) * YETI_SINTABLE_MAX); #endif + *(u_strrchr(g_res_file_path, L'/') + 1) = '\0'; u_strcat(g_res_file_path, L"Yeti3D.sin"); file_handle = DL_FsOpenFile(g_res_file_path, FILE_READ_MODE, 0); @@ -1435,11 +1442,12 @@ static UINT32 InitResourses(void) { LOG("%s\n", "Yeti3D.sin: Error reading file."); } -#if defined(EP1) || defined(EP2) - e1m1 = (rom_map_t *) AmMemAllocPointer(sizeof(rom_map_t)); -#elif defined(EM1) || defined(EM2) +#if defined(EM1) || defined(EM2) || defined(EA1) e1m1 = (rom_map_t *) uisAllocateMemory(sizeof(rom_map_t), NULL); +#elif defined(EP1) || defined(EP2) + e1m1 = (rom_map_t *) AmMemAllocPointer(sizeof(rom_map_t)); #endif + *(u_strrchr(g_res_file_path, L'/') + 1) = '\0'; u_strcat(g_res_file_path, L"Yeti3D.map"); file_handle = DL_FsOpenFile(g_res_file_path, FILE_READ_MODE, 0); @@ -1454,51 +1462,60 @@ static UINT32 InitResourses(void) { LOG("%s\n", "Yeti3D.map: Error reading file."); } -#if defined(EP1) || defined(EP2) - spr_00 = (u16 *) AmMemAllocPointer(SPRITE_0_SIZE); -#elif defined(EM1) || defined(EM2) +#if defined(EM1) || defined(EM2) || defined(EA1) spr_00 = (u16 *) uisAllocateMemory(SPRITE_0_SIZE, NULL); +#elif defined(EP1) || defined(EP2) + spr_00 = (u16 *) AmMemAllocPointer(SPRITE_0_SIZE); #endif + if (!spr_00) { LOG("Yeti3D.spr:spr_00: Error alloc %d bytes.\n", SPRITE_0_SIZE); } else { LOG("Yeti3D.spr:spr_00: OK alloc %d bytes.\n", SPRITE_0_SIZE); } -#if defined(EP1) || defined(EP2) - spr_01 = (u16 *) AmMemAllocPointer(SPRITE_0_SIZE); -#elif defined(EM1) || defined(EM2) + +#if defined(EM1) || defined(EM2) || defined(EA1) spr_01 = (u16 *) uisAllocateMemory(SPRITE_0_SIZE, NULL); +#elif defined(EP1) || defined(EP2) + spr_01 = (u16 *) AmMemAllocPointer(SPRITE_0_SIZE); #endif + if (!spr_01) { LOG("Yeti3D.spr:spr_01: Error alloc %d bytes.\n", SPRITE_0_SIZE); } else { LOG("Yeti3D.spr:spr_01: OK alloc %d bytes.\n", SPRITE_0_SIZE); } -#if defined(EP1) || defined(EP2) - spr_02 = (u16 *) AmMemAllocPointer(SPRITE_0_SIZE); -#elif defined(EM1) || defined(EM2) + +#if defined(EM1) || defined(EM2) || defined(EA1) spr_02 = (u16 *) uisAllocateMemory(SPRITE_0_SIZE, NULL); +#elif defined(EP1) || defined(EP2) + spr_02 = (u16 *) AmMemAllocPointer(SPRITE_0_SIZE); #endif + if (!spr_02) { LOG("Yeti3D.spr:spr_02: Error alloc %d bytes.\n", SPRITE_0_SIZE); } else { LOG("Yeti3D.spr:spr_02: OK alloc %d bytes.\n", SPRITE_0_SIZE); } -#if defined(EP1) || defined(EP2) - spr_03 = (u16 *) AmMemAllocPointer(SPRITE_0_SIZE); -#elif defined(EM1) || defined(EM2) + +#if defined(EM1) || defined(EM2) || defined(EA1) spr_03 = (u16 *) uisAllocateMemory(SPRITE_0_SIZE, NULL); +#elif defined(EP1) || defined(EP2) + spr_03 = (u16 *) AmMemAllocPointer(SPRITE_0_SIZE); #endif + if (!spr_03) { LOG("Yeti3D.spr:spr_03: Error alloc %d bytes.\n", SPRITE_0_SIZE); } else { LOG("Yeti3D.spr:spr_03: OK alloc %d bytes.\n", SPRITE_0_SIZE); } -#if defined(EP1) || defined(EP2) - spr_ball1 = (u16 *) AmMemAllocPointer(SPRITE_BALL_1_SIZE); -#elif defined(EM1) || defined(EM2) + +#if defined(EM1) || defined(EM2) || defined(EA1) spr_ball1 = (u16 *) uisAllocateMemory(SPRITE_BALL_1_SIZE, NULL); +#elif defined(EP1) || defined(EP2) + spr_ball1 = (u16 *) AmMemAllocPointer(SPRITE_BALL_1_SIZE); #endif + if (!spr_ball1) { LOG("Yeti3D.spr:spr_ball1: Error alloc %d bytes.\n", SPRITE_BALL_1_SIZE); } else { @@ -1528,100 +1545,100 @@ static UINT32 InitResourses(void) { static void FreeResourses(void) { if (res_tex) { LOG("Yeti3D.tex: freed %d bytes.\n", sizeof(texture_t) * YETI_TEXTURE_MAX); -#if defined(EP1) || defined(EP2) - AmMemFreePointer(res_tex); -#elif defined(EM1) || defined(EM2) +#if defined(EM1) || defined(EM2) || defined(EA1) uisFreeMemory(res_tex); +#elif defined(EP1) || defined(EP2) + AmMemFreePointer(res_tex); #endif res_tex = NULL; } if (res_lua) { LOG("Yeti3D.lua: freed %d bytes.\n", sizeof(lua_t)); -#if defined(EP1) || defined(EP2) - AmMemFreePointer(res_lua); -#elif defined(EM1) || defined(EM2) +#if defined(EM1) || defined(EM2) || defined(EA1) uisFreeMemory(res_lua); +#elif defined(EP1) || defined(EP2) + AmMemFreePointer(res_lua); #endif res_lua = NULL; } if (reciprocal) { LOG("Yeti3D.rec: freed %d bytes.\n", sizeof(int) * YETI_RECIPROCAL_MAX); -#if defined(EP1) || defined(EP2) - AmMemFreePointer(reciprocal); -#elif defined(EM1) || defined(EM2) +#if defined(EM1) || defined(EM2) || defined(EA1) uisFreeMemory(reciprocal); +#elif defined(EP1) || defined(EP2) + AmMemFreePointer(reciprocal); #endif reciprocal = NULL; } if (sintable) { LOG("Yeti3D.sin: freed %d bytes.\n", sizeof(int) * YETI_SINTABLE_MAX); -#if defined(EP1) || defined(EP2) - AmMemFreePointer(sintable); -#elif defined(EM1) || defined(EM2) +#if defined(EM1) || defined(EM2) || defined(EA1) uisFreeMemory(sintable); +#elif defined(EP1) || defined(EP2) + AmMemFreePointer(sintable); #endif sintable = NULL; } if (e1m1) { LOG("Yeti3D.map: freed %d bytes.\n", sizeof(rom_map_t)); -#if defined(EP1) || defined(EP2) - AmMemFreePointer(e1m1); -#elif defined(EM1) || defined(EM2) +#if defined(EM1) || defined(EM2) || defined(EA1) uisFreeMemory(e1m1); +#elif defined(EP1) || defined(EP2) + AmMemFreePointer(e1m1); #endif e1m1 = NULL; } if (spr_00) { LOG("Yeti3D.spr:spr_00: freed %d bytes.\n", SPRITE_0_SIZE); -#if defined(EP1) || defined(EP2) - AmMemFreePointer(spr_00); -#elif defined(EM1) || defined(EM2) +#if defined(EM1) || defined(EM2) || defined(EA1) uisFreeMemory(spr_00); +#elif defined(EP1) || defined(EP2) + AmMemFreePointer(spr_00); #endif sprites[0] = spr_00 = NULL; } if (spr_01) { LOG("Yeti3D.spr:spr_01: freed %d bytes.\n", SPRITE_0_SIZE); -#if defined(EP1) || defined(EP2) - AmMemFreePointer(spr_01); -#elif defined(EM1) || defined(EM2) +#if defined(EM1) || defined(EM2) || defined(EA1) uisFreeMemory(spr_01); +#elif defined(EP1) || defined(EP2) + AmMemFreePointer(spr_01); #endif sprites[1] = spr_01 = NULL; } if (spr_02) { LOG("Yeti3D.spr:spr_02: freed %d bytes.\n", SPRITE_0_SIZE); -#if defined(EP1) || defined(EP2) - AmMemFreePointer(spr_02); -#elif defined(EM1) || defined(EM2) +#if defined(EM1) || defined(EM2) || defined(EA1) uisFreeMemory(spr_02); +#elif defined(EP1) || defined(EP2) + AmMemFreePointer(spr_02); #endif sprites[2] = spr_02 = NULL; } if (spr_03) { LOG("Yeti3D.spr:spr_03: freed %d bytes.\n", SPRITE_0_SIZE); -#if defined(EP1) || defined(EP2) - AmMemFreePointer(spr_03); -#elif defined(EM1) || defined(EM2) +#if defined(EM1) || defined(EM2) || defined(EA1) uisFreeMemory(spr_03); +#elif defined(EP1) || defined(EP2) + AmMemFreePointer(spr_03); #endif sprites[3] = spr_03 = NULL; } if (spr_ball1) { LOG("Yeti3D.spr:spr_ball1: freed %d bytes.\n", SPRITE_BALL_1_SIZE); -#if defined(EP1) || defined(EP2) - AmMemFreePointer(spr_ball1); -#elif defined(EM1) || defined(EM2) +#if defined(EM1) || defined(EM2) || defined(EA1) uisFreeMemory(spr_ball1); +#elif defined(EP1) || defined(EP2) + AmMemFreePointer(spr_ball1); #endif sprites[4] = spr_ball1 = NULL; } if (yeti) { LOG("yeti: freed %d bytes.\n", sizeof(yeti_t)); -#if defined(EP1) || defined(EP2) - AmMemFreePointer(yeti); -#elif defined(EM1) || defined(EM2) +#if defined(EM1) || defined(EM2) || defined(EA1) uisFreeMemory(yeti); +#elif defined(EP1) || defined(EP2) + AmMemFreePointer(yeti); #endif yeti = NULL; } diff --git a/Yeti3D/viewports.h b/Yeti3D/viewports.h index 811da5d..f999e11 100644 --- a/Yeti3D/viewports.h +++ b/Yeti3D/viewports.h @@ -78,9 +78,14 @@ Prepared for public release: 10/24/2003 - Derek J. Evans