Merge pull request #429 from Nick007J/master

Scene edit
This commit is contained in:
Nikolay Korolev 2020-04-15 23:27:23 +03:00 committed by GitHub
commit a43ca86542
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 1184 additions and 16 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,14 +1,95 @@
#pragma once #pragma once
class CPed;
class CVehicle;
struct CMovieCommand
{
int32 m_nCommandId;
CVector m_vecPosition;
CVector m_vecCamera;
int16 m_nActorId;
int16 m_nActor2Id;
int16 m_nVehicleId;
int16 m_nModelIndex;
};
class CSceneEdit class CSceneEdit
{ {
public: public:
static bool &m_bEditOn; enum {
static int32 &m_bCameraFollowActor; MOVIE_DO_NOTHING = 0,
static bool &m_bRecording; MOVIE_NEW_ACTOR,
static CVector &m_vecCurrentPosition; MOVIE_MOVE_ACTOR,
static CVector &m_vecCamHeading; MOVIE_SELECT_ACTOR,
MOVIE_DELETE_ACTOR,
static void Update(void); MOVIE_NEW_VEHICLE,
static void Init(void); MOVIE_MOVE_VEHICLE,
MOVIE_SELECT_VEHICLE,
MOVIE_DELETE_VEHICLE,
MOVIE_GIVE_WEAPON,
MOVIE_GOTO,
MOVIE_GOTO_WAIT,
MOVIE_GET_IN_CAR,
MOVIE_GET_OUT_CAR,
MOVIE_KILL,
MOVIE_FLEE,
MOVIE_WAIT,
MOVIE_POSITION_CAMERA,
MOVIE_SET_CAMERA_TARGET,
MOVIE_SELECT_CAMERA_MODE,
MOVIE_SAVE_MOVIE,
MOVIE_LOAD_MOVIE,
MOVIE_PLAY_MOVIE,
MOVIE_END,
MOVIE_TOTAL_COMMANDS
};
enum {
NUM_ACTORS_IN_MOVIE = 5,
NUM_VEHICLES_IN_MOVIE = 5,
NUM_COMMANDS_IN_MOVIE = 20
};
static int32 m_bCameraFollowActor;
static CVector m_vecCurrentPosition;
static CVector m_vecCamHeading;
static CVector m_vecGotoPosition;
static int32 m_nVehicle;
static int32 m_nVehicle2;
static int32 m_nActor;
static int32 m_nActor2;
static int32 m_nVehiclemodelId;
static int32 m_nPedmodelId;
static int16 m_nCurrentMovieCommand;
static int16 m_nCurrentCommand;
static int16 m_nCurrentVehicle;
static int16 m_nCurrentActor;
static bool m_bEditOn;
static bool m_bRecording;
static bool m_bCommandActive;
static bool m_bActorSelected;
static bool m_bActor2Selected;
static bool m_bVehicleSelected;
static int16 m_nNumActors;
static int16 m_nNumVehicles;
static int16 m_nNumMovieCommands;
static int16 m_nWeaponType;
static CPed* pActors[NUM_ACTORS_IN_MOVIE];
static CVehicle* pVehicles[NUM_VEHICLES_IN_MOVIE];
static bool m_bDrawGotoArrow;
static CMovieCommand Movie[NUM_COMMANDS_IN_MOVIE];
static void LoadMovie(void);
static void SaveMovie(void);
static void Initialise(void);
static void InitPlayback(void);
static void ReInitialise(void);
static void Update(void);
static void Draw(void);
static void ProcessCommand(void);
static void PlayBack(void);
static void ClearForNewCommand(void);
static void SelectActor(void);
static void SelectActor2(void);
static void SelectVehicle(void);
static bool SelectWeapon(void);
}; };

View file

@ -350,7 +350,7 @@ bool CGame::Initialise(const char* datFile)
CAntennas::Init(); CAntennas::Init();
CGlass::Init(); CGlass::Init();
gPhoneInfo.Initialise(); gPhoneInfo.Initialise();
CSceneEdit::Init(); CSceneEdit::Initialise();
LoadingScreen("Loading the Game", "Load scripts", nil); LoadingScreen("Loading the Game", "Load scripts", nil);
CTheScripts::Init(); CTheScripts::Init();
CGangs::Initialise(); CGangs::Initialise();

View file

@ -58,6 +58,7 @@
#include "Console.h" #include "Console.h"
#include "timebars.h" #include "timebars.h"
#include "GenericGameStorage.h" #include "GenericGameStorage.h"
#include "SceneEdit.h"
GlobalScene &Scene = *(GlobalScene*)0x726768; GlobalScene &Scene = *(GlobalScene*)0x726768;
@ -864,11 +865,9 @@ Render2dStuff(void)
MusicManager.DisplayRadioStationName(); MusicManager.DisplayRadioStationName();
TheConsole.Display(); TheConsole.Display();
/*
if(CSceneEdit::m_bEditOn) if(CSceneEdit::m_bEditOn)
CSceneEdit::Draw(); CSceneEdit::Draw();
else else
*/
CHud::Draw(); CHud::Draw();
CUserDisplay::OnscnTimer.ProcessForDisplay(); CUserDisplay::OnscnTimer.ProcessForDisplay();
CMessages::Display(); CMessages::Display();

View file

@ -22,6 +22,8 @@
#include "Console.h" #include "Console.h"
#include "Debug.h" #include "Debug.h"
#include "Hud.h" #include "Hud.h"
#include "SceneEdit.h"
#include "Pad.h"
#include <list> #include <list>
@ -332,6 +334,7 @@ DebugMenuPopulate(void)
DebugMenuAddCmd("Spawn", "Spawn Predator", [](){ SpawnCar(MI_PREDATOR); }); DebugMenuAddCmd("Spawn", "Spawn Predator", [](){ SpawnCar(MI_PREDATOR); });
DebugMenuAddVarBool8("Debug", "Draw hud", (int8*)&CHud::m_Wants_To_Draw_Hud, nil); DebugMenuAddVarBool8("Debug", "Draw hud", (int8*)&CHud::m_Wants_To_Draw_Hud, nil);
DebugMenuAddVarBool8("Debug", "Edit on", (int8*)&CSceneEdit::m_bEditOn, nil);
DebugMenuAddVar("Debug", "Engine Status", &engineStatus, nil, 1, 0, 226, nil); DebugMenuAddVar("Debug", "Engine Status", &engineStatus, nil, 1, 0, 226, nil);
DebugMenuAddCmd("Debug", "Set Engine Status", SetEngineStatus); DebugMenuAddCmd("Debug", "Set Engine Status", SetEngineStatus);
DebugMenuAddCmd("Debug", "Fix Car", FixCar); DebugMenuAddCmd("Debug", "Fix Car", FixCar);