Restructure PSP code paths and names; consolidate slim and phat binaries

This commit is contained in:
cypress 2024-09-08 17:51:24 -07:00
parent 57ab2f0b30
commit 835c932566
106 changed files with 7359 additions and 469 deletions

View File

@ -1,7 +1,7 @@
name: Build EBOOTs and Publish Release name: Build EBOOT and Publish Release
on: [push] on: [push]
jobs: jobs:
Compile-EBOOTs: Compile-EBOOT:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main' if: github.ref == 'refs/heads/main'
container: container:
@ -14,19 +14,17 @@ jobs:
- name: Build - name: Build
working-directory: ./ working-directory: ./
run: | run: |
cd source/libpspmath cd source/psp/libpspmath
make && make install make && make install
cd ../../ cd ../../../
make -f MakePHAT install make -f Makefile.psp install
make -f MakePHAT clean-keep-eboot
make -f MakeSLIM install
- name: Generate Build Date - name: Generate Build Date
id: date id: date
run: echo "::set-output name=date::$(date +'%Y-%m-%d-%H-%M-%S')" run: echo "::set-output name=date::$(date +'%Y-%m-%d-%H-%M-%S')"
- name: Zip EBOOTs - name: Zip EBOOT
working-directory: ./build working-directory: ./build
run: | run: |
zip -r psp-nzp-eboots.zip EBOOT.PBP EBOOT2000.PBP zip -r -j psp-nzp-eboot.zip build/psp/bin/EBOOT.PBP
- name: Delete Old Release - name: Delete Old Release
uses: dev-drprasad/delete-tag-and-release@v0.2.1 uses: dev-drprasad/delete-tag-and-release@v0.2.1
with: with:
@ -46,9 +44,8 @@ jobs:
This is a **bleeding edge** NZ:P PSP EBOOT release, stability is not guarenteed. This is a **bleeding edge** NZ:P PSP EBOOT release, stability is not guarenteed.
To install: To install:
- Grab the .ZIP archive (psp-nzp-eboots.zip) - Grab the .ZIP archive (psp-nzp-eboot.zip)
- Extract the contents of the .ZIP archive to `PSP/GAME/nzportable`. - Extract the contents of the .ZIP archive to `PSP/GAME/nzportable`.
- If on PSP SLIM, delete `EBOOT.PBP` and rename `EBOOT2000.PBP` to `EBOOT.PBP`.
draft: true draft: true
prerelease: false prerelease: false
- name: Upload EBOOT Archive - name: Upload EBOOT Archive
@ -57,8 +54,8 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./build/psp-nzp-eboots.zip asset_path: ./build/psp-nzp-eboot.zip
asset_name: psp-nzp-eboots.zip asset_name: psp-nzp-eboot.zip
asset_content_type: application/zip asset_content_type: application/zip
- name: Publish Release - name: Publish Release
uses: StuYarrow/publish-release@v1 uses: StuYarrow/publish-release@v1

144
MakeSLIM
View File

@ -1,144 +0,0 @@
MAKEFLAGS+="-j -l $(shell grep -c ^processor /proc/cpuinfo) "
PSPSDK = $(shell psp-config --pspsdk-path)
PSPLIBSDIR = $(PSPSDK)/..
TARGET = nzportable
PSP_EBOOT_TITLE = Nazi Zombies: Portable
PSP_EBOOT_ICON = source/psp/pics/icon.png
PSP_EBOOT_SND0 = source/psp/pics/snd0.at3
PSP_EBOOT_PIC1 = source/psp/pics/pic.png
PSP_FW_VERSION=400
ifeq ($(USE_GPROF),1)
GPROF_LIBS = -lpspprof
GPROF_FLAGS = -pg -DPROFILE
else
ifeq ($(DEBUG),1)
BUILD_PRX = 1
MODE=-DKERNEL_MODE
endif
endif
COMMON_OBJS = \
source/psp/battery.o \
source/psp/thread.o \
source/psp/VramExt.o \
source/psp/input.o \
source/psp/main.o \
source/psp/math.o \
source/psp/sound.o \
source/psp/system.o \
source/psp/module.o \
source/psp/network.o \
source/psp/network_psp.o \
source/psp/gethost.o \
source/psp/fnmatch.o \
source/psp/cd.o \
source/psp/mp3.o \
source/psp/Random.o \
\
source/chase.o \
source/cl_demo.o \
source/cl_input.o \
source/cl_main.o \
source/cl_parse.o \
source/cl_tent.o \
source/cl_slist.o \
source/cmd.o \
source/common.o \
source/console.o \
source/crc.o \
source/cvar.o \
source/host.o \
source/host_cmd.o \
source/keys.o \
source/mathlib.o \
source/matrixlib.o \
source/menu.o \
source/net_dgrm.o \
source/net_loop.o \
source/net_main.o \
source/net_vcr.o \
source/pr_cmds.o \
source/pr_edict.o \
source/pr_exec.o \
source/snd_dma.o \
source/snd_mem.o \
source/snd_mix.o \
source/cl_hud.o \
source/sv_main.o \
source/sv_move.o \
source/sv_phys.o \
source/sv_user.o \
source/view.o \
source/wad.o \
source/world.o \
source/zone.o \
source/crypter.o
HARDWARE_VIDEO_ONLY_OBJS = \
source/psp/wad3.o \
source/psp/clipping.o \
source/psp/vram.o \
source/psp/video_hardware.o \
source/psp/video_hardware_resample.o \
source/psp/video_hardware_images.o \
source/psp/video_hardware_fullbright.o \
source/psp/video_hardware_hlmdl.o \
source/psp/video_hardware_draw.o \
source/psp/video_hardware_entity_fragment.o \
source/psp/video_hardware_QMB.o \
source/psp/video_hardware_decals_QMB.o \
source/psp/video_hardware_part.o \
source/psp/video_hardware_light.o \
source/psp/video_hardware_main.o \
source/psp/video_hardware_mesh.o \
source/psp/video_hardware_mhex2.o \
source/psp/video_hardware_misc.o \
source/psp/video_hardware_model.o \
source/psp/video_hardware_screen.o \
source/psp/video_hardware_surface.o \
source/psp/video_hardware_warp.o \
source/psp/video_hardware_fog.o \
source/psp/video_hardware_dxtn.o \
source/psp/video_hardware_colorquant.o
HARDWARE_VIDEO_ONLY_FLAGS = -DPSP_HARDWARE_VIDEO
OBJS = $(COMMON_OBJS) $(HARDWARE_VIDEO_ONLY_OBJS)
GU_LIBS = -lpspgum_vfpu -lpspvfpu -lpspgu -lpspvram
AUDIO_LIBS = -lpspaudiolib -lpspaudio -lpspaudiocodec -lpspmp3 source/psp/m33libs/libpspkubridge.a
MISC_LIBS = -lpsppower -lpspmath -lpsphprm -ljpeg -lpng -lz
NET_LIBS = -lpspwlan -lpspnet_adhoc -lpspnet_adhocctl
STD_LIBS = -lstdc++ -lm -lc
LIBS = $(GPROF_LIBS) $(GU_LIBS) $(AUDIO_LIBS) $(MISC_LIBS) $(STD_LIBS) $(NET_LIBS)
CFLAGS = -ffast-math -O3 -Ofast -G0 -Wall $(GPROF_FLAGS) -Did386="0" -DPSP $(MODE) $(HARDWARE_VIDEO_ONLY_FLAGS) -DSWIZZLE32 -DSLIM -DPSP_MP3_HWDECODE -DFULLBRIGHT -DHL_RENDER -Wno-strict-aliasing -DPSP_VFPU
CXXFLAGS = -fno-rtti -Wcast-qual -Wno-write-strings -Wno-sign-compare -Wno-strict-aliasing
ASFLAGS = $(CFLAGS) -c
include $(PSPSDK)/lib/build.mak
clean:
rm -rf build/
rm source/psp/*.o
rm source/*.o
clean-keep-eboot:
rm -rf build/exec/
rm source/psp/*.o
rm source/*.o
install: EBOOT.PBP
mkdir -p build/exec/
mv EBOOT.PBP build/EBOOT2000.PBP
ifeq ($(DEBUG),1)
mv *.prx build/exec/
endif
mv *.elf build/exec/
mv *.SFO build/exec/
@echo DONE

View File

@ -1,4 +1,4 @@
MAKEFLAGS+="-j -l $(shell grep -c ^processor /proc/cpuinfo) " #MAKEFLAGS+="-j -l $(shell grep -c ^processor /proc/cpuinfo) "
PSPSDK = $(shell psp-config --pspsdk-path) PSPSDK = $(shell psp-config --pspsdk-path)
PSPLIBSDIR = $(PSPSDK)/.. PSPLIBSDIR = $(PSPSDK)/..
@ -47,19 +47,19 @@ COMMON_OBJS = \
source/cl_tent.o \ source/cl_tent.o \
source/cl_slist.o \ source/cl_slist.o \
source/cmd.o \ source/cmd.o \
source/common.o \ source/psp/common.o \
source/console.o \ source/console.o \
source/crc.o \ source/crc.o \
source/cvar.o \ source/cvar.o \
source/host.o \ source/host.o \
source/host_cmd.o \ source/host_cmd.o \
source/keys.o \ source/psp/keys.o \
source/mathlib.o \ source/mathlib.o \
source/matrixlib.o \ source/matrixlib.o \
source/menu.o \ source/psp/menu.o \
source/net_dgrm.o \ source/psp/net_dgrm.o \
source/net_loop.o \ source/net_loop.o \
source/net_main.o \ source/psp/net_main.o \
source/net_vcr.o \ source/net_vcr.o \
source/pr_cmds.o \ source/pr_cmds.o \
source/pr_edict.o \ source/pr_edict.o \
@ -82,28 +82,28 @@ HARDWARE_VIDEO_ONLY_OBJS = \
source/psp/wad3.o \ source/psp/wad3.o \
source/psp/clipping.o \ source/psp/clipping.o \
source/psp/vram.o \ source/psp/vram.o \
source/psp/video_hardware.o \ source/psp/gu/gu_psp.o \
source/psp/video_hardware_resample.o \ source/psp/gu/gu_resample.o \
source/psp/video_hardware_images.o \ source/psp/gu/gu_images.o \
source/psp/video_hardware_fullbright.o \ source/psp/gu/gu_fullbright.o \
source/psp/video_hardware_hlmdl.o \ source/psp/gu/gu_hlmdl.o \
source/psp/video_hardware_draw.o \ source/psp/gu/gu_draw.o \
source/psp/video_hardware_entity_fragment.o \ source/psp/gu/gu_entity_fragment.o \
source/psp/video_hardware_QMB.o \ source/psp/gu/gu_QMB.o \
source/psp/video_hardware_decals_QMB.o \ source/psp/gu/gu_decals_QMB.o \
source/psp/video_hardware_part.o \ source/psp/gu/gu_part.o \
source/psp/video_hardware_light.o \ source/psp/gu/gu_light.o \
source/psp/video_hardware_main.o \ source/psp/gu/gu_main.o \
source/psp/video_hardware_mesh.o \ source/psp/gu/gu_mesh.o \
source/psp/video_hardware_mhex2.o \ source/psp/gu/gu_mhex2.o \
source/psp/video_hardware_misc.o \ source/psp/gu/gu_misc.o \
source/psp/video_hardware_model.o \ source/psp/gu/gu_model.o \
source/psp/video_hardware_screen.o \ source/psp/gu/gu_screen.o \
source/psp/video_hardware_surface.o \ source/psp/gu/gu_surface.o \
source/psp/video_hardware_warp.o \ source/psp/gu/gu_warp.o \
source/psp/video_hardware_fog.o \ source/psp/gu/gu_fog.o \
source/psp/video_hardware_dxtn.o \ source/psp/gu/gu_dxtn.o \
source/psp/video_hardware_colorquant.o source/psp/gu/gu_colorquant.o
HARDWARE_VIDEO_ONLY_FLAGS = -DPSP_HARDWARE_VIDEO HARDWARE_VIDEO_ONLY_FLAGS = -DPSP_HARDWARE_VIDEO
OBJS = $(COMMON_OBJS) $(HARDWARE_VIDEO_ONLY_OBJS) OBJS = $(COMMON_OBJS) $(HARDWARE_VIDEO_ONLY_OBJS)

View File

@ -3,7 +3,7 @@
## About ## About
This repository contains the PSP engine for NZ:P, based on dQuakePlus and containing optimizations from the NZ:P Team, adQuake, and Xash3D-PSP, as well as NZ:P-specific feature implementation. It has also been modified to build on the latest versions of the [PSPSDK](https://github.com/pspdev/pspsdk). This repository contains the PSP engine for NZ:P, based on dQuakePlus and containing optimizations from the NZ:P Team, adQuake, and Xash3D-PSP, as well as NZ:P-specific feature implementation. It has also been modified to build on the latest versions of the [PSPSDK](https://github.com/pspdev/pspsdk).
## Building (Advanced) ## Building for PlayStation Portable
Building requires a full install of [psptoolchain](https://github.com/pspdev/psptoolchain/). You can either follow the instructions on the GitHub repository or use a Docker container (we recommend [the official one](https://hub.docker.com/r/pspdev/pspdev))! Building requires a full install of [psptoolchain](https://github.com/pspdev/psptoolchain/). You can either follow the instructions on the GitHub repository or use a Docker container (we recommend [the official one](https://hub.docker.com/r/pspdev/pspdev))!
With the psptoolchain installed, you now need to install `libpspmath`, which we have included in the GitHub repository: With the psptoolchain installed, you now need to install `libpspmath`, which we have included in the GitHub repository:
@ -15,8 +15,7 @@ Now you can navigate back to the root of the repository and build an `EBOOT`.
```bash ```bash
cd ../../ cd ../../
make -f MakePHAT install # for PSP PHAT/1000 make -f Makefile.psp install
make -f MakeSLIM install # for any other model
``` ```
We also provide prebuilt EBOOTs on the [Releases](https://github.com/nzp-team/dquakeplus/releases/tag/bleeding-edge) page. We also provide a prebuilt EBOOT on the [Releases](https://github.com/nzp-team/dquakeplus/releases/tag/bleeding-edge) page.

View File

@ -895,7 +895,14 @@ void Host_Init (quakeparms_t *parms)
#ifdef __PSP__ #ifdef __PSP__
Con_Printf ("PSP NZP v%4.1f (PBP: "__TIME__" "__DATE__")\n", (float)(VERSION)); Con_Printf ("PSP NZP v%4.1f (PBP: "__TIME__" "__DATE__")\n", (float)(VERSION));
Con_Printf ("%4.1f megabyte PSP application heap \n",1.0f*PSP_HEAP_SIZE_MB); Con_Printf ("%4.1f megabyte PSP application heap \n",1.0f*PSP_HEAP_SIZE_MB);
Con_Printf ("PSP Model: %s\n", Sys_GetPSPModel());
switch(psp_system_model) {
case PSP_MODEL_PHAT: Con_Printf("PSP Model: PSP-1000 model unit\n"); break;
case PSP_MODEL_SLIM: Con_Printf("PSP Model: PSP-SLIM model unit\n"); break;
case PSP_MODEL_PSVITA: Con_Printf("PSP Model: PS VITA model unit\n"); break;
default: break;
}
Con_Printf ("VRAM Size: %i bytes\n", sceGeEdramGetSize()); Con_Printf ("VRAM Size: %i bytes\n", sceGeEdramGetSize());
#elif _3DS #elif _3DS
Con_Printf ("3DS NZP v%4.1f (3DSX: "__TIME__" "__DATE__")\n", (float)(VERSION)); Con_Printf ("3DS NZP v%4.1f (3DSX: "__TIME__" "__DATE__")\n", (float)(VERSION));

View File

@ -619,31 +619,6 @@ void PF_sound (void)
volume = G_FLOAT(OFS_PARM3) * 255; volume = G_FLOAT(OFS_PARM3) * 255;
attenuation = G_FLOAT(OFS_PARM4); attenuation = G_FLOAT(OFS_PARM4);
// AWFUL AWFUL HACK for limiting zombie sound variations
#ifndef _3DS
#ifndef SLIM
char* s = sample;
if (s[strlen(s) - 6] == 'r' || s[strlen(s) - 6] == 'd' || s[strlen(s) - 6] == 'a' ||
s[strlen(s) - 6] == 't' || s[strlen(s) - 6] == 'w') {
if (s[strlen(s) - 5] == '1' || s[strlen(s) - 5] == '2' ||
s[strlen(s) - 5] == '3' || s[strlen(s) - 5] == '4' ||
s[strlen(s) - 5] == '5' || s[strlen(s) - 5] == '6' ||
s[strlen(s) - 5] == '7' || s[strlen(s) - 5] == '8' ||
s[strlen(s) - 5] == '9') {
if (s[strlen(s) - 6] == 'r') {
sample[strlen(sample) - 6] = 'w';
sample[strlen(sample) - 5] = '1';
} else {
sample[strlen(sample) - 5] = '0';
}
}
}
#endif // SLIM
#endif // _3DS
if (volume < 0 || volume > 255) if (volume < 0 || volume > 255)
Sys_Error ("SV_StartSound: volume = %i", volume); Sys_Error ("SV_StartSound: volume = %i", volume);
@ -2677,32 +2652,6 @@ void PF_precache_sound (void)
G_INT(OFS_RETURN) = G_INT(OFS_PARM0); G_INT(OFS_RETURN) = G_INT(OFS_PARM0);
PR_CheckEmptyString (s); PR_CheckEmptyString (s);
// AWFUL AWFUL HACK for limiting zombie sound variations
#ifndef _3DS
#ifndef SLIM
if (s[strlen(s) - 6] == 'r' || s[strlen(s) - 6] == 'd' || s[strlen(s) - 6] == 'a' ||
s[strlen(s) - 6] == 't' || s[strlen(s) - 6] == 'w') {
if (s[strlen(s) - 5] == '1' || s[strlen(s) - 5] == '2' ||
s[strlen(s) - 5] == '3' || s[strlen(s) - 5] == '4' ||
s[strlen(s) - 5] == '5' || s[strlen(s) - 5] == '6' ||
s[strlen(s) - 5] == '7' || s[strlen(s) - 5] == '8' ||
s[strlen(s) - 5] == '9') {
if (s[strlen(s) - 6] == 'r') {
s[strlen(s) - 6] = 'w';
s[strlen(s) - 5] = '1';
} else
s[strlen(s) - 5] = '0';
}
}
#endif // SLIM
#endif // _3DS
for (i=0 ; i<MAX_SOUNDS ; i++) for (i=0 ; i<MAX_SOUNDS ; i++)
{ {
if (!sv.sound_precache[i]) if (!sv.sound_precache[i])

View File

@ -19,7 +19,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
// common.c -- misc functions used in client and server // common.c -- misc functions used in client and server
#include "quakedef.h" #include "../quakedef.h"
#define NUM_SAFE_ARGVS 7 #define NUM_SAFE_ARGVS 7

View File

@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
//entity_t *CL_NewTempEntity (void); //entity_t *CL_NewTempEntity (void);
} }
@ -31,11 +31,8 @@ extern "C"
//#define DEFAULT_NUM_PARTICLES 8192 //#define DEFAULT_NUM_PARTICLES 8192
#define ABSOLUTE_MIN_PARTICLES 64 #define ABSOLUTE_MIN_PARTICLES 64
#ifdef SLIM #define ABSOLUTE_MAX_PARTICLES 6144
#define ABSOLUTE_MAX_PARTICLES 12288
#else
#define ABSOLUTE_MAX_PARTICLES 6144
#endif
extern int decal_blood1, decal_blood2, decal_blood3, decal_q3blood, decal_burn, decal_mark, decal_glow; extern int decal_blood1, decal_blood2, decal_blood3, decal_q3blood, decal_burn, decal_mark, decal_glow;
typedef byte col_t[4]; typedef byte col_t[4];
@ -78,13 +75,8 @@ typedef enum
p_flare, p_flare,
p_dot, p_dot,
p_muzzleflash, p_muzzleflash,
#ifdef SLIM
p_muzzleflash2, p_muzzleflash2,
p_muzzleflash3, p_muzzleflash3,
#endif // SLIM
p_q3flame, p_q3flame,
num_particletypes num_particletypes
} part_type_t; } part_type_t;
@ -114,14 +106,8 @@ typedef enum
ptex_lightning, ptex_lightning,
ptex_flame, ptex_flame,
ptex_muzzleflash, ptex_muzzleflash,
#ifdef SLIM
ptex_muzzleflash2, ptex_muzzleflash2,
ptex_muzzleflash3, ptex_muzzleflash3,
#endif // SLIM
ptex_bloodcloud, ptex_bloodcloud,
ptex_q3flame, ptex_q3flame,
num_particletextures num_particletextures
@ -215,11 +201,7 @@ qboolean OnChange_gl_particle_count (cvar_t *var, char *string)
} }
extern cvar_t cl_gun_offset; extern cvar_t cl_gun_offset;
#ifdef SLIM
cvar_t r_particle_count = {"r_particle_count", "4096", qtrue};
#else
cvar_t r_particle_count = {"r_particle_count", "2048", qtrue}; cvar_t r_particle_count = {"r_particle_count", "2048", qtrue};
#endif
cvar_t r_bounceparticles = {"r_bounceparticles", "1",qtrue}; cvar_t r_bounceparticles = {"r_bounceparticles", "1",qtrue};
cvar_t r_decal_blood = {"r_decal_blood", "1",qtrue}; cvar_t r_decal_blood = {"r_decal_blood", "1",qtrue};
cvar_t r_decal_bullets = {"r_decal_bullets","1",qtrue}; cvar_t r_decal_bullets = {"r_decal_bullets","1",qtrue};
@ -502,10 +484,6 @@ void QMB_InitParticles (void)
loading_cur_step++; loading_cur_step++;
SCR_UpdateScreen (); SCR_UpdateScreen ();
// PSP PHAT: Only have 1 Muzzleflash graphic.. saves 32kB VRAM.
#ifdef SLIM
if (!(particleimage = loadtextureimage("textures/mzfl/mzfl1", 0, 0, qfalse, GU_LINEAR))) if (!(particleimage = loadtextureimage("textures/mzfl/mzfl1", 0, 0, qfalse, GU_LINEAR)))
{ {
//Clear_LoadingFill (); //Clear_LoadingFill ();
@ -532,8 +510,6 @@ void QMB_InitParticles (void)
loading_cur_step++; loading_cur_step++;
SCR_UpdateScreen (); SCR_UpdateScreen ();
#endif // SLIM
max_s = max_t = 64.0; max_s = max_t = 64.0;
if (!(particleimage = loadtextureimage("textures/particles/bloodcloud", 0, 0, qfalse, GU_LINEAR))) if (!(particleimage = loadtextureimage("textures/particles/bloodcloud", 0, 0, qfalse, GU_LINEAR)))
@ -617,14 +593,9 @@ void QMB_InitParticles (void)
ADD_PARTICLE_TYPE(p_lightningbeam, pd_beam, GU_SRC_ALPHA, GU_ONE_MINUS_SRC_ALPHA, ptex_lightning, 255, 0, 0, pm_die, 0); ADD_PARTICLE_TYPE(p_lightningbeam, pd_beam, GU_SRC_ALPHA, GU_ONE_MINUS_SRC_ALPHA, ptex_lightning, 255, 0, 0, pm_die, 0);
ADD_PARTICLE_TYPE(p_muzzleflash, pd_billboard, GU_SRC_ALPHA, GU_FIX, ptex_muzzleflash, 255, 0, 0, pm_static, 0); ADD_PARTICLE_TYPE(p_muzzleflash, pd_billboard, GU_SRC_ALPHA, GU_FIX, ptex_muzzleflash, 255, 0, 0, pm_static, 0);
#ifdef SLIM
ADD_PARTICLE_TYPE(p_muzzleflash2, pd_billboard, GU_SRC_ALPHA, GU_FIX, ptex_muzzleflash2, 255, 0, 0, pm_static, 0); ADD_PARTICLE_TYPE(p_muzzleflash2, pd_billboard, GU_SRC_ALPHA, GU_FIX, ptex_muzzleflash2, 255, 0, 0, pm_static, 0);
ADD_PARTICLE_TYPE(p_muzzleflash3, pd_billboard, GU_SRC_ALPHA, GU_FIX, ptex_muzzleflash3, 255, 0, 0, pm_static, 0); ADD_PARTICLE_TYPE(p_muzzleflash3, pd_billboard, GU_SRC_ALPHA, GU_FIX, ptex_muzzleflash3, 255, 0, 0, pm_static, 0);
#endif // SLIM
ADD_PARTICLE_TYPE(p_rain, pd_billboard, GU_SRC_ALPHA, GU_ONE_MINUS_SRC_ALPHA, ptex_generic, 255, -16, 0, pm_rain, 0); ADD_PARTICLE_TYPE(p_rain, pd_billboard, GU_SRC_ALPHA, GU_ONE_MINUS_SRC_ALPHA, ptex_generic, 255, -16, 0, pm_rain, 0);
loading_cur_step++; loading_cur_step++;
@ -812,14 +783,8 @@ __inline static void AddParticle (part_type_t type, vec3_t org, int count, float
break; break;
case p_muzzleflash: case p_muzzleflash:
#ifdef SLIM
case p_muzzleflash2: case p_muzzleflash2:
case p_muzzleflash3: case p_muzzleflash3:
#endif // SLIM
VectorCopy (org, p->org); VectorCopy (org, p->org);
p->rotspeed = (rand() & 45) - 90; p->rotspeed = (rand() & 45) - 90;
//p->size = size * (rand() % 6) / 4;//r00k //p->size = size * (rand() % 6) / 4;//r00k
@ -1640,31 +1605,13 @@ void QMB_DrawParticles (void)
continue; continue;
} }
} }
#ifdef SLIM
if (pt->texture == ptex_muzzleflash || pt->texture == ptex_muzzleflash2 || pt->texture == ptex_muzzleflash3) if (pt->texture == ptex_muzzleflash || pt->texture == ptex_muzzleflash2 || pt->texture == ptex_muzzleflash3)
#else
if (pt->texture == ptex_muzzleflash)
#endif // SLIM
sceGuDepthRange(0, 19660); sceGuDepthRange(0, 19660);
DRAW_PARTICLE_BILLBOARD(ptex, p, billboard); DRAW_PARTICLE_BILLBOARD(ptex, p, billboard);
#ifdef SLIM
if (pt->texture == ptex_muzzleflash || pt->texture == ptex_muzzleflash2 || pt->texture == ptex_muzzleflash3) if (pt->texture == ptex_muzzleflash || pt->texture == ptex_muzzleflash2 || pt->texture == ptex_muzzleflash3)
#else
if (pt->texture == ptex_muzzleflash)
#endif // SLIM
sceGuDepthRange(0, 65535); sceGuDepthRange(0, 65535);
} }
break; break;
@ -2493,8 +2440,6 @@ void QMB_MuzzleFlash(vec3_t org)
if(size == 0 || cl.stats[STAT_ZOOM] == 2) if(size == 0 || cl.stats[STAT_ZOOM] == 2)
return; return;
#ifdef SLIM
switch(rand() % 3 + 1) switch(rand() % 3 + 1)
{ {
case 1: case 1:
@ -2510,13 +2455,6 @@ void QMB_MuzzleFlash(vec3_t org)
AddParticle (p_muzzleflash, org, 1, size, 0.04 * frametime, color, zerodir); AddParticle (p_muzzleflash, org, 1, size, 0.04 * frametime, color, zerodir);
break; break;
} }
#else
AddParticle (p_muzzleflash, org, 1, size, 0.04 * frametime, color, zerodir);
#endif // SLIM
} }
} }

View File

@ -19,7 +19,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
} }
#include <pspgu.h> #include <pspgu.h>
#include <malloc.h> #include <malloc.h>

View File

@ -21,21 +21,17 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// gl_decals.c // gl_decals.c
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
} }
#include <pspgu.h> #include <pspgu.h>
#include "clipping.hpp" #include "../clipping.hpp"
using namespace std; using namespace std;
using namespace quake; using namespace quake;
#ifdef SLIM #define DEFAULT_NUM_DECALS 256 //*4
#define DEFAULT_NUM_DECALS 1024 //*4
#else
#define DEFAULT_NUM_DECALS 256
#endif
#define ABSOLUTE_MIN_DECALS 256 #define ABSOLUTE_MIN_DECALS 256
#define ABSOLUTE_MAX_DECALS 32768 #define ABSOLUTE_MAX_DECALS 32768

View File

@ -34,13 +34,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
} }
#include "video_hardware_dxtn.h" #include "gu_dxtn.h"
#include "video_hardware_resample.h" #include "gu_resample.h"
#include "vram.hpp" #include "../vram.hpp"
byte *draw_chars; // 8*8 graphic characters byte *draw_chars; // 8*8 graphic characters
qpic_t *sniper_scope; qpic_t *sniper_scope;
@ -3310,14 +3310,12 @@ int GL_LoadImages (const char *identifier, int width, int height, const byte *da
texture.height = std::max(round_up(height),32U); texture.height = std::max(round_up(height),32U);
} }
#ifndef SLIM if (psp_system_model == PSP_MODEL_PHAT) {
if (texture.width > 128)
if (texture.width > 128) texture.width = 128;
texture.width = 128; if (texture.height > 128)
if (texture.height > 128) texture.height = 128;
texture.height = 128; }
#endif // SLIM
if(texture.format < GU_PSM_DXT1) if(texture.format < GU_PSM_DXT1)
{ {

View File

@ -33,7 +33,7 @@
#include <pspgu.h> #include <pspgu.h>
#include "video_hardware_dxtn.h" #include "gu_dxtn.h"
/* weights used for error function, basically weights (unsquared 2/4/1) according to rgb->luminance conversion /* weights used for error function, basically weights (unsquared 2/4/1) according to rgb->luminance conversion

View File

@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
} }
mnode_t *r_pefragtopnode; mnode_t *r_pefragtopnode;

View File

@ -6,7 +6,7 @@ Fogging system based on FitzQuake's implementation
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
} }
#include <pspgu.h> #include <pspgu.h>

View File

@ -1,8 +1,8 @@
//video_hardware_fullbright.c //gu_fullbright.c
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
} }
#include <pspgu.h> #include <pspgu.h>

View File

@ -1,5 +1,5 @@
//video_hardware_fullbright.h //gu_fullbright.h
#include "video_hardware_model.h" #include "gu_model.h"
int FindFullbrightTexture (byte *pixels, int num_pix); int FindFullbrightTexture (byte *pixels, int num_pix);

View File

@ -1,7 +1,7 @@
extern"C" extern"C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
} }
/* /*
@ -25,7 +25,7 @@ extern"C"
10.08.09 10.08.09
++++++++++++++++++++++++++ ++++++++++++++++++++++++++
*/ */
#include "video_hardware_hlmdl.h" #include "gu_hlmdl.h"
#include <pspgu.h> #include <pspgu.h>
#include <pspgum.h> #include <pspgum.h>

View File

@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C" extern "C"
{ {
#include <jpeglib.h> #include <jpeglib.h>
#include "../quakedef.h" #include "../../quakedef.h"
} }
#include <pspgu.h> #include <pspgu.h>

View File

@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
} }
#include <pspgu.h> #include <pspgu.h>

View File

@ -22,16 +22,16 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
float TraceLine (vec3_t start, vec3_t end, vec3_t impact, vec3_t normal); float TraceLine (vec3_t start, vec3_t end, vec3_t impact, vec3_t normal);
} }
//includes //includes
#include "video_hardware_hlmdl.h" #include "gu_hlmdl.h"
#include <pspgu.h> #include <pspgu.h>
#include <pspgum.h> #include <pspgum.h>
#include "clipping.hpp" #include "../clipping.hpp"
using namespace quake; using namespace quake;
@ -900,7 +900,7 @@ void R_DrawSpriteModel (entity_t *e)
extern "C" float r_avertexnormals[NUMVERTEXNORMALS][3]; extern "C" float r_avertexnormals[NUMVERTEXNORMALS][3];
float r_avertexnormals[NUMVERTEXNORMALS][3] = { float r_avertexnormals[NUMVERTEXNORMALS][3] = {
#include "../anorms.h" #include "../../anorms.h"
}; };
vec3_t shadevector; vec3_t shadevector;
@ -909,7 +909,7 @@ float shadelight, ambientlight;
// precalculated dot products for quantized angles // precalculated dot products for quantized angles
#define SHADEDOT_QUANT 16 #define SHADEDOT_QUANT 16
float r_avertexnormal_dots[SHADEDOT_QUANT][256] = float r_avertexnormal_dots[SHADEDOT_QUANT][256] =
#include "../anorm_dots.h" #include "../../anorm_dots.h"
; ;
float *shadedots = r_avertexnormal_dots[0]; float *shadedots = r_avertexnormal_dots[0];

View File

@ -24,7 +24,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
} }
/* /*

View File

@ -25,7 +25,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
} }
/* /*

View File

@ -26,7 +26,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
void CL_CopyPlayerInfo (entity_t *ent, entity_t *player); void CL_CopyPlayerInfo (entity_t *ent, entity_t *player);
} }
@ -47,21 +47,20 @@ void R_InitOtherTextures (void)
zombie_skins[0][0] = loadtextureimage ("models/ai/zfull.mdl_0", 0, 0, qtrue, GU_LINEAR); zombie_skins[0][0] = loadtextureimage ("models/ai/zfull.mdl_0", 0, 0, qtrue, GU_LINEAR);
GL_MarkTextureAsPermanent(zombie_skins[0][0]); GL_MarkTextureAsPermanent(zombie_skins[0][0]);
// PSP PHAT: Only have 1 Zombie skin.. this saves 192kB of VRAM, well worth it. // PSP PHAT: Only have 1 Zombie skin.. this saves 192kB of VRAM, well worth it.
if (psp_system_model == PSP_MODEL_PHAT) {
#ifdef SLIM zombie_skins[0][1] = zombie_skins[0][0];
zombie_skins[1][0] = zombie_skins[0][0];
zombie_skins[0][1] = loadtextureimage ("models/ai/zfull.mdl_1", 0, 0, qtrue, GU_LINEAR); zombie_skins[1][1] = zombie_skins[0][0];
zombie_skins[1][0] = loadtextureimage ("models/ai/zfull.mdl_2", 0, 0, qtrue, GU_LINEAR); } else {
zombie_skins[1][1] = loadtextureimage ("models/ai/zfull.mdl_3", 0, 0, qtrue, GU_LINEAR); zombie_skins[0][1] = loadtextureimage ("models/ai/zfull.mdl_1", 0, 0, qtrue, GU_LINEAR);
GL_MarkTextureAsPermanent(zombie_skins[0][1]); zombie_skins[1][0] = loadtextureimage ("models/ai/zfull.mdl_2", 0, 0, qtrue, GU_LINEAR);
GL_MarkTextureAsPermanent(zombie_skins[1][0]); zombie_skins[1][1] = loadtextureimage ("models/ai/zfull.mdl_3", 0, 0, qtrue, GU_LINEAR);
GL_MarkTextureAsPermanent(zombie_skins[1][1]); GL_MarkTextureAsPermanent(zombie_skins[0][1]);
#else GL_MarkTextureAsPermanent(zombie_skins[1][0]);
zombie_skins[0][1] = zombie_skins[0][0]; GL_MarkTextureAsPermanent(zombie_skins[1][1]);
zombie_skins[1][0] = zombie_skins[0][0]; }
zombie_skins[1][1] = zombie_skins[0][0];
#endif // SLIM
decal_burn = loadtextureimage ("textures/decals/explo_burn01", 0, 0, qfalse, GU_LINEAR); decal_burn = loadtextureimage ("textures/decals/explo_burn01", 0, 0, qfalse, GU_LINEAR);
GL_MarkTextureAsPermanent(decal_burn); GL_MarkTextureAsPermanent(decal_burn);

View File

@ -26,15 +26,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
} }
#include <malloc.h> #include <malloc.h>
#include <pspgu.h> #include <pspgu.h>
#include "gu_hlmdl.h"
#include "video_hardware_fullbright.h" #include "gu_fullbright.h"
#include "video_hardware_hlmdl.h" #include "gu_images.h"
#include "video_hardware_images.h"
int LIGHTMAP_BYTES; int LIGHTMAP_BYTES;
@ -1225,7 +1224,7 @@ void Mod_LoadFaces (lump_t *l)
else else
out->samples = loadmodel->lightdata + (i); out->samples = loadmodel->lightdata + (i);
// cypress -- moved from video_hardware_surface // cypress -- moved from gu_surface
// modified to use new TEXFLAG hacky fields and have // modified to use new TEXFLAG hacky fields and have
// surfs use the same shabang. // surfs use the same shabang.
const char* tex_name = out->texinfo->texture->name; const char* tex_name = out->texinfo->texture->name;
@ -2258,8 +2257,7 @@ void *Mod_LoadAllSkins (int numskins, daliasskintype_t *pskintype)
pskintype = (daliasskintype_t *)((byte *)(pskintype+1) + s); pskintype = (daliasskintype_t *)((byte *)(pskintype+1) + s);
return (void *)pskintype; return (void *)pskintype;
} }
#ifndef SLIM else if (has_pap && model_is_gun(loadmodel->name) && i >= 1 && psp_system_model == PSP_MODEL_PHAT) {
else if (has_pap && model_is_gun(loadmodel->name) && i >= 1) {
pheader->gl_texturenum[i][0] = pheader->gl_texturenum[i][0] =
pheader->gl_texturenum[i][1] = pheader->gl_texturenum[i][1] =
pheader->gl_texturenum[i][2] = pheader->gl_texturenum[i][2] =
@ -2267,7 +2265,6 @@ void *Mod_LoadAllSkins (int numskins, daliasskintype_t *pskintype)
pskintype = (daliasskintype_t *)((byte *)(pskintype+1) + s); pskintype = (daliasskintype_t *)((byte *)(pskintype+1) + s);
return (void *)pskintype; return (void *)pskintype;
} }
#endif
else if (pskintype->type == ALIAS_SKIN_SINGLE) else if (pskintype->type == ALIAS_SKIN_SINGLE)
{ {
Mod_FloodFillSkin( skin, pheader->skinwidth, pheader->skinheight ); Mod_FloodFillSkin( skin, pheader->skinwidth, pheader->skinheight );
@ -2275,17 +2272,12 @@ void *Mod_LoadAllSkins (int numskins, daliasskintype_t *pskintype)
// HACK HACK HACK // HACK HACK HACK
sprintf (model2, "%s.mdl_%i", model, i); sprintf (model2, "%s.mdl_%i", model, i);
//#ifdef SLIM
pheader->gl_texturenum[i][0] = pheader->gl_texturenum[i][0] =
pheader->gl_texturenum[i][1] = pheader->gl_texturenum[i][1] =
pheader->gl_texturenum[i][2] = pheader->gl_texturenum[i][2] =
pheader->gl_texturenum[i][3] = loadtextureimage (model2, 0, 0, qtrue, GU_LINEAR); pheader->gl_texturenum[i][3] = loadtextureimage (model2, 0, 0, qtrue, GU_LINEAR);
if (pheader->gl_texturenum[i][0] == 0)// did not find a matching TGA... if (pheader->gl_texturenum[i][0] == 0)// did not find a matching TGA...
//#endif // SLIM
{ {
sprintf (name, "%s_%i", loadmodel->name, i); sprintf (name, "%s_%i", loadmodel->name, i);

View File

@ -25,7 +25,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#define __MODEL__ #define __MODEL__
#include "../modelgen.h" #include "../modelgen.h"
#include "../spritegn.h" #include "../../spritegn.h"
#ifdef PSP_VFPU #ifdef PSP_VFPU
#include <pspmath.h> #include <pspmath.h>

View File

@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
} }
#define MAX_PARTICLES 2048 // default max # of particles at one #define MAX_PARTICLES 2048 // default max # of particles at one

View File

@ -31,12 +31,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include <limits.h> #include <limits.h>
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
} }
#include <vram.h> #include <vram.h>
#include "video_hardware_images.h" #include "gu_images.h"
#ifdef _WIN32 #ifdef _WIN32
# define ALIGNED(x) # define ALIGNED(x)

View File

@ -106,11 +106,7 @@ half-life Render Modes. Crow_bar
#define BACKFACE_EPSILON 0.01 #define BACKFACE_EPSILON 0.01
//#ifdef SLIM
#define MAX_LIGHTMAPS 64 #define MAX_LIGHTMAPS 64
//#else
//#define MAX_LIGHTMAPS 16
//#endif
void R_TimeRefresh_f (void); void R_TimeRefresh_f (void);

View File

@ -2,7 +2,7 @@
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
} }
#define LERPBYTE(i) r = row1[i]; out[i] = (byte) ((((row2[i] - r) * lerp) >> 16) + r) #define LERPBYTE(i) r = row1[i]; out[i] = (byte) ((((row2[i] - r) * lerp) >> 16) + r)

View File

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
} }
#include <pspdisplay.h> #include <pspdisplay.h>

View File

@ -25,7 +25,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
} }
#ifdef PSP_VFPU #ifdef PSP_VFPU
@ -34,8 +34,8 @@ extern "C"
extern int LIGHTMAP_BYTES; extern int LIGHTMAP_BYTES;
#include "clipping.hpp" #include "../clipping.hpp"
#include "video_hardware_fullbright.h" #include "gu_fullbright.h"
using namespace quake; using namespace quake;

View File

@ -24,10 +24,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C" extern "C"
{ {
#include "../quakedef.h" #include "../../quakedef.h"
} }
#include "clipping.hpp" #include "../clipping.hpp"
using namespace quake; using namespace quake;
@ -888,11 +888,11 @@ R_LoadSkys
extern int nonetexture; extern int nonetexture;
void Sky_LoadSkyBox (char *name) void Sky_LoadSkyBox (char *name)
{ {
// shpuld: is this still actually needed?
// shpuld: is this still actually needed? // vram use has been reduced a lot, all textures including skybox already fit vram
// vram use has been reduced a lot, all textures including skybox already fit vram // on ndu for example. ram difference shouldn't then make a difference
// on ndu for example. ram difference shouldn't then make a difference if (psp_system_model == PSP_MODEL_PHAT)
#ifdef SLIM return;
if (strcmp(skybox_name, name) == 0) if (strcmp(skybox_name, name) == 0)
return; //no change return; //no change
@ -946,9 +946,6 @@ void Sky_LoadSkyBox (char *name)
Hunk_FreeToLowMark (mark); Hunk_FreeToLowMark (mark);
strcpy(skybox_name, name); strcpy(skybox_name, name);
#endif // SLIM
} }
/* /*

View File

@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
#include "quakedef.h" #include "../quakedef.h"
/* /*

View File

@ -56,7 +56,7 @@ qboolean depthfl = qfalse;
extern int com_argc; extern int com_argc;
extern char **com_argv; extern char **com_argv;
int sys_psp_model; int psp_system_model;
void Sys_ReadCommandLineFile (char* netpath); void Sys_ReadCommandLineFile (char* netpath);
@ -69,21 +69,15 @@ int cpuClockSpeed;
int ramClockSpeed; int ramClockSpeed;
int busClockSpeed; int busClockSpeed;
#define HEAP_SIZE_SLIM (30 * 1024 * 1024)
#define HEAP_SIZE_PHAT ((11 * 1024 * 1024) + (500 * 1024))
namespace quake namespace quake
{ {
namespace main namespace main
{ {
#ifdef SLIM
// How big a heap to allocate. // How big a heap to allocate.
static size_t heapSize = 30 * 1024 * 1024; static size_t heapSize;
#else
static size_t heapSize = (11 * 1024 * 1024) + (500 * 1024);
#endif // SLIM
// Should the main loop stop running? // Should the main loop stop running?
static volatile bool quit = false; static volatile bool quit = false;
@ -186,7 +180,7 @@ int CheckParm (char **args, int argc, char *parm)
void StartUpParams(char **args, int argc, char *cmdlinePath, char *currentDirectory, char *gameDirectory) void StartUpParams(char **args, int argc, char *cmdlinePath, char *currentDirectory, char *gameDirectory)
{ {
#if 0
if (CheckParm(args, f_argc,"-prompt")) if (CheckParm(args, f_argc,"-prompt"))
{ {
SceCtrlData pad; SceCtrlData pad;
@ -452,6 +446,7 @@ void StartUpParams(char **args, int argc, char *cmdlinePath, char *currentDirect
free(cpus[1]); free(cpus[1]);
pspDebugScreenClear(); pspDebugScreenClear();
} }
#endif
} }
int ctrl_kernel = 0; int ctrl_kernel = 0;
@ -517,6 +512,7 @@ int user_main(SceSize argc, void* argp)
// cause problems with firmware 2.0+ // cause problems with firmware 2.0+
setUpCallbackThread(); setUpCallbackThread();
psp_system_model = Sys_GetPSPModel();
// Disable floating point exceptions. // Disable floating point exceptions.
// If this isn't done, Quake crashes from (presumably) divide by zero // If this isn't done, Quake crashes from (presumably) divide by zero
@ -578,6 +574,14 @@ int user_main(SceSize argc, void* argp)
heapSize = heapSizeMB * 1024 * 1024; heapSize = heapSizeMB * 1024 * 1024;
} }
if (heapSize == 0) {
if (psp_system_model == PSP_MODEL_PHAT)
heapSize = HEAP_SIZE_PHAT;
else
heapSize = HEAP_SIZE_SLIM;
}
// Allocate the heap. // Allocate the heap.
std::vector<unsigned char> heap(heapSize, 0); std::vector<unsigned char> heap(heapSize, 0);
@ -728,39 +732,20 @@ void Sys_ReadCommandLineFile (char* netpath)
Sys_FileClose (in); Sys_FileClose (in);
} }
char* Sys_GetPSPModel(void) int Sys_GetPSPModel(void)
{ {
// check for the vita prx // pspemu has this module on its flash0 partition
int vitaprx = sceIoOpen("flash0:/kd/registry.prx", PSP_O_RDONLY | PSP_O_WRONLY, 0777); int vitaprx = sceIoOpen("flash0:/kd/registry.prx", PSP_O_RDONLY | PSP_O_WRONLY, 0777);
if (vitaprx >= 0) { if (vitaprx >= 0) {
sceIoClose(vitaprx); sceIoClose(vitaprx);
return "PS Vita (PSP2)"; return PSP_MODEL_PSVITA;
} }
// normal psp models int model = kuKernelGetModel();
char* modelstring;
sys_psp_model = kuKernelGetModel(); if (model == 0)
switch(sys_psp_model) { return PSP_MODEL_PHAT;
case 0:
modelstring = "PSP Phat (1000)";
break;
case 1:
modelstring = "PSP Slim (2000)";
break;
case 2:
modelstring = "PSP Brite (3000)";
break;
case 4:
modelstring = "PSP GO (4000)";
break;
case 10:
modelstring = "PSP Street (E1000)";
break;
default:
break;
}
return modelstring; return PSP_MODEL_SLIM;
} }

View File

@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
#include "quakedef.h" #include "../quakedef.h"
#include <pspgu.h> #include <pspgu.h>
#include <pspkernel.h> #include <pspkernel.h>
@ -26,8 +26,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include <pspiofilemgr.h> #include <pspiofilemgr.h>
#include <ctype.h> #include <ctype.h>
#include "net_dgrm.h" #include "net_dgrm.h"
#include "cl_slist.h" #include "../cl_slist.h"
#include "crypter.h" #include "../crypter.h"
extern cvar_t accesspoint; extern cvar_t accesspoint;

View File

@ -1,5 +1 @@
#ifdef SLIM #define PSP_HEAP_SIZE_MB -2
#define PSP_HEAP_SIZE_MB 42
#else
#define PSP_HEAP_SIZE_MB 7
#endif

View File

@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "pspkernel.h" #include "pspkernel.h"
#include "quakedef.h" #include "../quakedef.h"
#include "net_dgrm.h" #include "net_dgrm.h"
// these two macros are to make the code more readable // these two macros are to make the code more readable

View File

@ -19,8 +19,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
// net_main.c // net_main.c
#include "quakedef.h" #include "../quakedef.h"
#include "net_vcr.h" #include "../net_vcr.h"
qsocket_t *net_activeSockets = NULL; qsocket_t *net_activeSockets = NULL;
qsocket_t *net_freeSockets = NULL; qsocket_t *net_freeSockets = NULL;

View File

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C" extern "C"
{ {
#include "../net_dgrm.h" #include "net_dgrm.h"
#include "../net_loop.h" #include "../net_loop.h"
} }

Some files were not shown because too many files have changed in this diff Show More