jak-project/game/overlord/jak2/iso_queue.h
Tyler Wilding 5e987cc0e2
jak2: overlord rework (#2544)
Fixes #2545
Fixes #2546
Fixes #2547
Fixes #2548
Fixes #2549
Fixes #2550
Fixes #2551
Fixes #2552
Fixes #2553
Fixes #2554
Fixes #2555
Fixes #2556
Fixes #2557
Fixes #2558
Fixes #2559
Fixes #2560
Fixes #2561
Fixes #2562
Fixes #2563
Fixes #2564
Fixes #2565
Fixes #2567
Fixes #2566
Fixes #2568
Fixes #2569
Fixes #2570
Fixes #2522
Fixes #2571

---------

Co-authored-by: water <awaterford111445@gmail.com>
Co-authored-by: Hat Kid <6624576+Hat-Kid@users.noreply.github.com>
Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com>
2023-04-29 16:13:57 -04:00

36 lines
1.1 KiB
C++

#pragma once
#include <string>
#include "common/common_types.h"
#include "game/overlord/jak2/iso.h"
#include "game/overlord/jak2/pages.h"
namespace jak2 {
extern uint8_t* ScratchPadMemory;
void iso_queue_init_globals();
extern PageList* SpMemoryBuffers;
void ReleaseMessage(CmdHeader* param_1, int param_2);
int QueueMessage(CmdHeader* param_1, int param_2, const char* param_3, int param_4);
void DisplayQueue();
uint8_t* CheckForIsoPageBoundaryCrossing(Buffer* param_1);
void InitBuffers();
void FreeBuffer(Buffer* param_1, int param_2);
Buffer* AllocateBuffer(int param_1, VagCmd* param_2, int param_3);
void UnqueueMessage(CmdHeader* param_1, int param_2);
void ReturnMessage(CmdHeader* param_1);
CmdHeader* GetMessage();
VagCmd* GetVAGCommand();
constexpr int N_PRIORITIES = 4; // number of queued commands per priority
constexpr int PRI_STACK_LENGTH = 8; // number of queued commands per priority
struct PriStackEntry {
CmdHeader* entries[PRI_STACK_LENGTH];
int count;
};
extern std::string gPriEntryNames[N_PRIORITIES][PRI_STACK_LENGTH]; // my addition for debug
extern PriStackEntry gPriStack[N_PRIORITIES];
} // namespace jak2