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]
jobs:
Compile-EBOOTs:
Compile-EBOOT:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
container:
@ -14,19 +14,17 @@ jobs:
- name: Build
working-directory: ./
run: |
cd source/libpspmath
cd source/psp/libpspmath
make && make install
cd ../../
make -f MakePHAT install
make -f MakePHAT clean-keep-eboot
make -f MakeSLIM install
cd ../../../
make -f Makefile.psp install
- name: Generate Build Date
id: date
run: echo "::set-output name=date::$(date +'%Y-%m-%d-%H-%M-%S')"
- name: Zip EBOOTs
- name: Zip EBOOT
working-directory: ./build
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
uses: dev-drprasad/delete-tag-and-release@v0.2.1
with:
@ -46,9 +44,8 @@ jobs:
This is a **bleeding edge** NZ:P PSP EBOOT release, stability is not guarenteed.
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`.
- If on PSP SLIM, delete `EBOOT.PBP` and rename `EBOOT2000.PBP` to `EBOOT.PBP`.
draft: true
prerelease: false
- name: Upload EBOOT Archive
@ -57,8 +54,8 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./build/psp-nzp-eboots.zip
asset_name: psp-nzp-eboots.zip
asset_path: ./build/psp-nzp-eboot.zip
asset_name: psp-nzp-eboot.zip
asset_content_type: application/zip
- name: Publish Release
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)
PSPLIBSDIR = $(PSPSDK)/..
@ -47,19 +47,19 @@ COMMON_OBJS = \
source/cl_tent.o \
source/cl_slist.o \
source/cmd.o \
source/common.o \
source/psp/common.o \
source/console.o \
source/crc.o \
source/cvar.o \
source/host.o \
source/host_cmd.o \
source/keys.o \
source/psp/keys.o \
source/mathlib.o \
source/matrixlib.o \
source/menu.o \
source/net_dgrm.o \
source/psp/menu.o \
source/psp/net_dgrm.o \
source/net_loop.o \
source/net_main.o \
source/psp/net_main.o \
source/net_vcr.o \
source/pr_cmds.o \
source/pr_edict.o \
@ -82,28 +82,28 @@ 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
source/psp/gu/gu_psp.o \
source/psp/gu/gu_resample.o \
source/psp/gu/gu_images.o \
source/psp/gu/gu_fullbright.o \
source/psp/gu/gu_hlmdl.o \
source/psp/gu/gu_draw.o \
source/psp/gu/gu_entity_fragment.o \
source/psp/gu/gu_QMB.o \
source/psp/gu/gu_decals_QMB.o \
source/psp/gu/gu_part.o \
source/psp/gu/gu_light.o \
source/psp/gu/gu_main.o \
source/psp/gu/gu_mesh.o \
source/psp/gu/gu_mhex2.o \
source/psp/gu/gu_misc.o \
source/psp/gu/gu_model.o \
source/psp/gu/gu_screen.o \
source/psp/gu/gu_surface.o \
source/psp/gu/gu_warp.o \
source/psp/gu/gu_fog.o \
source/psp/gu/gu_dxtn.o \
source/psp/gu/gu_colorquant.o
HARDWARE_VIDEO_ONLY_FLAGS = -DPSP_HARDWARE_VIDEO
OBJS = $(COMMON_OBJS) $(HARDWARE_VIDEO_ONLY_OBJS)

View file

@ -3,7 +3,7 @@
## 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).
## 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))!
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
cd ../../
make -f MakePHAT install # for PSP PHAT/1000
make -f MakeSLIM install # for any other model
make -f Makefile.psp install
```
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__
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 ("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());
#elif _3DS
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;
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)
Sys_Error ("SV_StartSound: volume = %i", volume);
@ -2677,32 +2652,6 @@ void PF_precache_sound (void)
G_INT(OFS_RETURN) = G_INT(OFS_PARM0);
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++)
{
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
#include "quakedef.h"
#include "../quakedef.h"
#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"
{
#include "../quakedef.h"
#include "../../quakedef.h"
//entity_t *CL_NewTempEntity (void);
}
@ -31,11 +31,8 @@ extern "C"
//#define DEFAULT_NUM_PARTICLES 8192
#define ABSOLUTE_MIN_PARTICLES 64
#ifdef SLIM
#define ABSOLUTE_MAX_PARTICLES 12288
#else
#define ABSOLUTE_MAX_PARTICLES 6144
#endif
#define ABSOLUTE_MAX_PARTICLES 6144
extern int decal_blood1, decal_blood2, decal_blood3, decal_q3blood, decal_burn, decal_mark, decal_glow;
typedef byte col_t[4];
@ -78,13 +75,8 @@ typedef enum
p_flare,
p_dot,
p_muzzleflash,
#ifdef SLIM
p_muzzleflash2,
p_muzzleflash3,
#endif // SLIM
p_q3flame,
num_particletypes
} part_type_t;
@ -114,14 +106,8 @@ typedef enum
ptex_lightning,
ptex_flame,
ptex_muzzleflash,
#ifdef SLIM
ptex_muzzleflash2,
ptex_muzzleflash3,
#endif // SLIM
ptex_bloodcloud,
ptex_q3flame,
num_particletextures
@ -215,11 +201,7 @@ qboolean OnChange_gl_particle_count (cvar_t *var, char *string)
}
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};
#endif
cvar_t r_bounceparticles = {"r_bounceparticles", "1",qtrue};
cvar_t r_decal_blood = {"r_decal_blood", "1",qtrue};
cvar_t r_decal_bullets = {"r_decal_bullets","1",qtrue};
@ -502,10 +484,6 @@ void QMB_InitParticles (void)
loading_cur_step++;
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)))
{
//Clear_LoadingFill ();
@ -533,8 +511,6 @@ void QMB_InitParticles (void)
loading_cur_step++;
SCR_UpdateScreen ();
#endif // SLIM
max_s = max_t = 64.0;
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_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_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);
loading_cur_step++;
@ -812,14 +783,8 @@ __inline static void AddParticle (part_type_t type, vec3_t org, int count, float
break;
case p_muzzleflash:
#ifdef SLIM
case p_muzzleflash2:
case p_muzzleflash3:
#endif // SLIM
VectorCopy (org, p->org);
p->rotspeed = (rand() & 45) - 90;
//p->size = size * (rand() % 6) / 4;//r00k
@ -1641,30 +1606,12 @@ void QMB_DrawParticles (void)
}
}
#ifdef SLIM
if (pt->texture == ptex_muzzleflash || pt->texture == ptex_muzzleflash2 || pt->texture == ptex_muzzleflash3)
#else
if (pt->texture == ptex_muzzleflash)
#endif // SLIM
sceGuDepthRange(0, 19660);
DRAW_PARTICLE_BILLBOARD(ptex, p, billboard);
#ifdef SLIM
if (pt->texture == ptex_muzzleflash || pt->texture == ptex_muzzleflash2 || pt->texture == ptex_muzzleflash3)
#else
if (pt->texture == ptex_muzzleflash)
#endif // SLIM
sceGuDepthRange(0, 65535);
}
break;
@ -2493,8 +2440,6 @@ void QMB_MuzzleFlash(vec3_t org)
if(size == 0 || cl.stats[STAT_ZOOM] == 2)
return;
#ifdef SLIM
switch(rand() % 3 + 1)
{
case 1:
@ -2510,13 +2455,6 @@ void QMB_MuzzleFlash(vec3_t org)
AddParticle (p_muzzleflash, org, 1, size, 0.04 * frametime, color, zerodir);
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"
{
#include "../quakedef.h"
#include "../../quakedef.h"
}
#include <pspgu.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
extern "C"
{
#include "../quakedef.h"
#include "../../quakedef.h"
}
#include <pspgu.h>
#include "clipping.hpp"
#include "../clipping.hpp"
using namespace std;
using namespace quake;
#ifdef SLIM
#define DEFAULT_NUM_DECALS 1024 //*4
#else
#define DEFAULT_NUM_DECALS 256
#endif
#define DEFAULT_NUM_DECALS 256 //*4
#define ABSOLUTE_MIN_DECALS 256
#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"
{
#include "../quakedef.h"
#include "../../quakedef.h"
}
#include "video_hardware_dxtn.h"
#include "video_hardware_resample.h"
#include "gu_dxtn.h"
#include "gu_resample.h"
#include "vram.hpp"
#include "../vram.hpp"
byte *draw_chars; // 8*8 graphic characters
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);
}
#ifndef SLIM
if (texture.width > 128)
texture.width = 128;
if (texture.height > 128)
texture.height = 128;
#endif // SLIM
if (psp_system_model == PSP_MODEL_PHAT) {
if (texture.width > 128)
texture.width = 128;
if (texture.height > 128)
texture.height = 128;
}
if(texture.format < GU_PSM_DXT1)
{

View file

@ -33,7 +33,7 @@
#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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -22,16 +22,16 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C"
{
#include "../quakedef.h"
#include "../../quakedef.h"
float TraceLine (vec3_t start, vec3_t end, vec3_t impact, vec3_t normal);
}
//includes
#include "video_hardware_hlmdl.h"
#include "gu_hlmdl.h"
#include <pspgu.h>
#include <pspgum.h>
#include "clipping.hpp"
#include "../clipping.hpp"
using namespace quake;
@ -900,7 +900,7 @@ void R_DrawSpriteModel (entity_t *e)
extern "C" float r_avertexnormals[NUMVERTEXNORMALS][3];
float r_avertexnormals[NUMVERTEXNORMALS][3] = {
#include "../anorms.h"
#include "../../anorms.h"
};
vec3_t shadevector;
@ -909,7 +909,7 @@ float shadelight, ambientlight;
// precalculated dot products for quantized angles
#define SHADEDOT_QUANT 16
float r_avertexnormal_dots[SHADEDOT_QUANT][256] =
#include "../anorm_dots.h"
#include "../../anorm_dots.h"
;
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"
{
#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"
{
#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"
{
#include "../quakedef.h"
#include "../../quakedef.h"
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);
GL_MarkTextureAsPermanent(zombie_skins[0][0]);
// PSP PHAT: Only have 1 Zombie skin.. this saves 192kB of VRAM, well worth it.
#ifdef SLIM
zombie_skins[0][1] = loadtextureimage ("models/ai/zfull.mdl_1", 0, 0, qtrue, GU_LINEAR);
zombie_skins[1][0] = loadtextureimage ("models/ai/zfull.mdl_2", 0, 0, qtrue, GU_LINEAR);
zombie_skins[1][1] = loadtextureimage ("models/ai/zfull.mdl_3", 0, 0, qtrue, GU_LINEAR);
GL_MarkTextureAsPermanent(zombie_skins[0][1]);
GL_MarkTextureAsPermanent(zombie_skins[1][0]);
GL_MarkTextureAsPermanent(zombie_skins[1][1]);
#else
zombie_skins[0][1] = zombie_skins[0][0];
zombie_skins[1][0] = zombie_skins[0][0];
zombie_skins[1][1] = zombie_skins[0][0];
#endif // SLIM
if (psp_system_model == PSP_MODEL_PHAT) {
zombie_skins[0][1] = zombie_skins[0][0];
zombie_skins[1][0] = zombie_skins[0][0];
zombie_skins[1][1] = zombie_skins[0][0];
} else {
zombie_skins[0][1] = loadtextureimage ("models/ai/zfull.mdl_1", 0, 0, qtrue, GU_LINEAR);
zombie_skins[1][0] = loadtextureimage ("models/ai/zfull.mdl_2", 0, 0, qtrue, GU_LINEAR);
zombie_skins[1][1] = loadtextureimage ("models/ai/zfull.mdl_3", 0, 0, qtrue, GU_LINEAR);
GL_MarkTextureAsPermanent(zombie_skins[0][1]);
GL_MarkTextureAsPermanent(zombie_skins[1][0]);
GL_MarkTextureAsPermanent(zombie_skins[1][1]);
}
decal_burn = loadtextureimage ("textures/decals/explo_burn01", 0, 0, qfalse, GU_LINEAR);
GL_MarkTextureAsPermanent(decal_burn);

View file

@ -26,15 +26,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C"
{
#include "../quakedef.h"
#include "../../quakedef.h"
}
#include <malloc.h>
#include <pspgu.h>
#include "video_hardware_fullbright.h"
#include "video_hardware_hlmdl.h"
#include "video_hardware_images.h"
#include "gu_hlmdl.h"
#include "gu_fullbright.h"
#include "gu_images.h"
int LIGHTMAP_BYTES;
@ -1225,7 +1224,7 @@ void Mod_LoadFaces (lump_t *l)
else
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
// surfs use the same shabang.
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);
return (void *)pskintype;
}
#ifndef SLIM
else if (has_pap && model_is_gun(loadmodel->name) && i >= 1) {
else if (has_pap && model_is_gun(loadmodel->name) && i >= 1 && psp_system_model == PSP_MODEL_PHAT) {
pheader->gl_texturenum[i][0] =
pheader->gl_texturenum[i][1] =
pheader->gl_texturenum[i][2] =
@ -2267,7 +2265,6 @@ void *Mod_LoadAllSkins (int numskins, daliasskintype_t *pskintype)
pskintype = (daliasskintype_t *)((byte *)(pskintype+1) + s);
return (void *)pskintype;
}
#endif
else if (pskintype->type == ALIAS_SKIN_SINGLE)
{
Mod_FloodFillSkin( skin, pheader->skinwidth, pheader->skinheight );
@ -2275,17 +2272,12 @@ void *Mod_LoadAllSkins (int numskins, daliasskintype_t *pskintype)
// HACK HACK HACK
sprintf (model2, "%s.mdl_%i", model, i);
//#ifdef SLIM
pheader->gl_texturenum[i][0] =
pheader->gl_texturenum[i][1] =
pheader->gl_texturenum[i][2] =
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...
//#endif // SLIM
{
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__
#include "../modelgen.h"
#include "../spritegn.h"
#include "../../spritegn.h"
#ifdef PSP_VFPU
#include <pspmath.h>

View file

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

View file

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

View file

@ -2,7 +2,7 @@
extern "C"
{
#include "../quakedef.h"
#include "../../quakedef.h"
}
#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"
{
#include "../quakedef.h"
#include "../../quakedef.h"
}
#include <pspdisplay.h>

View file

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

View file

@ -24,10 +24,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern "C"
{
#include "../quakedef.h"
#include "../../quakedef.h"
}
#include "clipping.hpp"
#include "../clipping.hpp"
using namespace quake;
@ -888,11 +888,11 @@ R_LoadSkys
extern int nonetexture;
void Sky_LoadSkyBox (char *name)
{
// shpuld: is this still actually needed?
// 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
#ifdef SLIM
// shpuld: is this still actually needed?
// 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
if (psp_system_model == PSP_MODEL_PHAT)
return;
if (strcmp(skybox_name, name) == 0)
return; //no change
@ -946,9 +946,6 @@ void Sky_LoadSkyBox (char *name)
Hunk_FreeToLowMark (mark);
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.
*/
#include "quakedef.h"
#include "../quakedef.h"
/*

View file

@ -56,7 +56,7 @@ qboolean depthfl = qfalse;
extern int com_argc;
extern char **com_argv;
int sys_psp_model;
int psp_system_model;
void Sys_ReadCommandLineFile (char* netpath);
@ -69,21 +69,15 @@ int cpuClockSpeed;
int ramClockSpeed;
int busClockSpeed;
#define HEAP_SIZE_SLIM (30 * 1024 * 1024)
#define HEAP_SIZE_PHAT ((11 * 1024 * 1024) + (500 * 1024))
namespace quake
{
namespace main
{
#ifdef SLIM
// How big a heap to allocate.
static size_t heapSize = 30 * 1024 * 1024;
#else
static size_t heapSize = (11 * 1024 * 1024) + (500 * 1024);
#endif // SLIM
static size_t heapSize;
// Should the main loop stop running?
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)
{
#if 0
if (CheckParm(args, f_argc,"-prompt"))
{
SceCtrlData pad;
@ -452,6 +446,7 @@ void StartUpParams(char **args, int argc, char *cmdlinePath, char *currentDirect
free(cpus[1]);
pspDebugScreenClear();
}
#endif
}
int ctrl_kernel = 0;
@ -517,6 +512,7 @@ int user_main(SceSize argc, void* argp)
// cause problems with firmware 2.0+
setUpCallbackThread();
psp_system_model = Sys_GetPSPModel();
// Disable floating point exceptions.
// 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;
}
if (heapSize == 0) {
if (psp_system_model == PSP_MODEL_PHAT)
heapSize = HEAP_SIZE_PHAT;
else
heapSize = HEAP_SIZE_SLIM;
}
// Allocate the heap.
std::vector<unsigned char> heap(heapSize, 0);
@ -728,39 +732,20 @@ void Sys_ReadCommandLineFile (char* netpath)
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);
if (vitaprx >= 0) {
sceIoClose(vitaprx);
return "PS Vita (PSP2)";
return PSP_MODEL_PSVITA;
}
// normal psp models
char* modelstring;
int model = kuKernelGetModel();
sys_psp_model = kuKernelGetModel();
switch(sys_psp_model) {
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;
}
if (model == 0)
return PSP_MODEL_PHAT;
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.
*/
#include "quakedef.h"
#include "../quakedef.h"
#include <pspgu.h>
#include <pspkernel.h>
@ -26,8 +26,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include <pspiofilemgr.h>
#include <ctype.h>
#include "net_dgrm.h"
#include "cl_slist.h"
#include "crypter.h"
#include "../cl_slist.h"
#include "../crypter.h"
extern cvar_t accesspoint;

View file

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

View file

@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "pspkernel.h"
#include "quakedef.h"
#include "../quakedef.h"
#include "net_dgrm.h"
// 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
#include "quakedef.h"
#include "net_vcr.h"
#include "../quakedef.h"
#include "../net_vcr.h"
qsocket_t *net_activeSockets = 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"
{
#include "../net_dgrm.h"
#include "net_dgrm.h"
#include "../net_loop.h"
}

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