Skip to content

Commit

Permalink
Added VIEW_HEIGHT and CAMERA GameVariables
Browse files Browse the repository at this point in the history
  • Loading branch information
mwydmuch committed Nov 14, 2018
1 parent 88accfa commit 3425d4b
Show file tree
Hide file tree
Showing 13 changed files with 77 additions and 13 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Expand Up @@ -6,7 +6,7 @@ project(ViZDoom)

set(ViZDoom_MAJOR_VERSION 1)
set(ViZDoom_MINOR_VERSION 1)
set(ViZDoom_PATCH_VERSION 6)
set(ViZDoom_PATCH_VERSION 7)
set(ViZDoom_VERSION ${ViZDoom_MAJOR_VERSION}.${ViZDoom_MINOR_VERSION}.${ViZDoom_PATCH_VERSION})
set(ViZDoom_VERSION_STR ${ViZDoom_VERSION})
set(ViZDoom_VERSION_ID ${ViZDoom_MAJOR_VERSION}${ViZDoom_MINOR_VERSION}${ViZDoom_PATCH_VERSION})
Expand Down
9 changes: 9 additions & 0 deletions include/ViZDoomTypes.h
Expand Up @@ -221,10 +221,19 @@ namespace vizdoom{
ANGLE,
PITCH,
ROLL,
VIEW_HEIGHT,
VELOCITY_X,
VELOCITY_Y,
VELOCITY_Z,

CAMERA_POSITION_X,
CAMERA_POSITION_Y,
CAMERA_POSITION_Z,
CAMERA_ANGLE,
CAMERA_PITCH,
CAMERA_ROLL,
CAMERA_FOV,

PLAYER_NUMBER,
PLAYER_COUNT,
PLAYER1_FRAGCOUNT,
Expand Down
2 changes: 2 additions & 0 deletions src/lib/ViZDoomController.cpp
Expand Up @@ -949,6 +949,8 @@ namespace vizdoom {
return this->gameState->PLAYER_WEAPON[var - WEAPON0];
else if(var >= POSITION_X && var <= VELOCITY_Z)
return this->gameState->PLAYER_MOVEMENT[var - POSITION_X];
else if(var >= CAMERA_POSITION_X && var <= CAMERA_FOV)
return this->gameState->CAMERA[var - CAMERA_POSITION_X];
else if(var >= USER1 && var <= USER60)
return this->gameState->MAP_USER_VARS[var - USER1];
else if (var >= PLAYER1_FRAGCOUNT && var <= PLAYER16_FRAGCOUNT)
Expand Down
3 changes: 2 additions & 1 deletion src/lib/ViZDoomSharedMemory.h
Expand Up @@ -144,7 +144,8 @@ namespace vizdoom {
int PLAYER_AMMO[SLOT_COUNT];
int PLAYER_WEAPON[SLOT_COUNT];

double PLAYER_MOVEMENT[9];
double PLAYER_MOVEMENT[10];
double CAMERA[7];

bool PLAYER_READY_TO_RESPAWN;
unsigned int PLAYER_NUMBER;
Expand Down
8 changes: 8 additions & 0 deletions src/lib/ViZDoomUtilities.cpp
Expand Up @@ -128,9 +128,17 @@ namespace vizdoom {
CASE_ENUM(ANGLE)
CASE_ENUM(PITCH)
CASE_ENUM(ROLL)
CASE_ENUM(VIEW_HEIGHT)
CASE_ENUM(VELOCITY_X)
CASE_ENUM(VELOCITY_Y)
CASE_ENUM(VELOCITY_Z)
CASE_ENUM(CAMERA_POSITION_X)
CASE_ENUM(CAMERA_POSITION_Y)
CASE_ENUM(CAMERA_POSITION_Z)
CASE_ENUM(CAMERA_ANGLE)
CASE_ENUM(CAMERA_PITCH)
CASE_ENUM(CAMERA_ROLL)
CASE_ENUM(CAMERA_FOV)
CASE_ENUM(PLAYER_NUMBER)
CASE_ENUM(PLAYER_COUNT)
CASE_ENUM(PLAYER1_FRAGCOUNT)
Expand Down
2 changes: 1 addition & 1 deletion src/lib_java/ViZDoomGameJava.cpp
Expand Up @@ -36,9 +36,9 @@ JNI_METHOD(void, newEpisode__Ljava_lang_String, newEpisode_str, jstring)
JNI_METHOD(void, replayEpisode__Ljava_lang_String_2, replayEpisode_str, jstring)
JNI_METHOD(void, replayEpisode__Ljava_lang_String_2I, replayEpisode_str_int, jstring, jint)
JNI_METHOD(jboolean, isRunning, isRunning)
JNI_METHOD(jboolean, isMultiplayerGame, isMultiplayerGame)
JNI_METHOD(jboolean, isRecordingEpisode, isRecordingEpisode)
JNI_METHOD(jboolean, isReplayingEpisode, isReplayingEpisode)
JNI_METHOD(jboolean, isMultiplayerGame, isMultiplayerGame)
JNI_METHOD(void, setAction, setAction, jdoubleArray)
JNI_METHOD(void, advanceAction__, advanceAction_)
JNI_METHOD(void, advanceAction__I, advanceAction_int, jint)
Expand Down
2 changes: 1 addition & 1 deletion src/lib_java/ViZDoomGameJava.h
Expand Up @@ -68,10 +68,10 @@ JNI_EXPORT(void, newEpisode__Ljava_lang_String, jstring);
JNI_EXPORT(void, replayEpisode__Ljava_lang_String_2, jstring);
JNI_EXPORT(void, replayEpisode__Ljava_lang_String_2I, jstring, jint);
JNI_EXPORT(jboolean, isRunning);
JNI_EXPORT(jboolean, isMultiplayerGame);
JNI_EXPORT(jboolean, isRecordingEpisode);
JNI_EXPORT(jboolean, isReplayingEpisode);
JNI_EXPORT(jboolean, isPlayerDead);
JNI_EXPORT(jboolean, isMultiplayerGame);
JNI_EXPORT(void, setAction, jdoubleArray);
JNI_EXPORT(void, advanceAction__);
JNI_EXPORT(void, advanceAction__I, jint);
Expand Down
8 changes: 8 additions & 0 deletions src/lib_java/java_classes/enums/GameVariable.java
Expand Up @@ -43,9 +43,17 @@ public enum GameVariable {
ANGLE,
PITCH,
ROLL,
VIEW_HEIGHT,
VELOCITY_X,
VELOCITY_Y,
VELOCITY_Z,
CAMERA_POSITION_X,
CAMERA_POSITION_Y,
CAMERA_POSITION_Z,
CAMERA_ANGLE,
CAMERA_PITCH,
CAMERA_ROLL,
CAMERA_FOV,
USER1,
USER2,
USER3,
Expand Down
8 changes: 8 additions & 0 deletions src/lib_julia/ViZDoomJuliaModule.cpp
Expand Up @@ -211,9 +211,17 @@ mod.set_const("POSITION_Z", POSITION_Z);
mod.set_const("ANGLE", ANGLE);
mod.set_const("PITCH", PITCH);
mod.set_const("ROLL", ROLL);
mod.set_const("VIEW_HEIGHT", VIEW_HEIGHT);
mod.set_const("VELOCITY_X", VELOCITY_X);
mod.set_const("VELOCITY_Y", VELOCITY_Y);
mod.set_const("VELOCITY_Z", VELOCITY_Z);
mod.set_const("CAMERA_POSITION_X", CAMERA_POSITION_X);
mod.set_const("CAMERA_POSITION_Y", CAMERA_POSITION_Y);
mod.set_const("CAMERA_POSITION_Z", CAMERA_POSITION_Z);
mod.set_const("CAMERA_ANGLE", CAMERA_ANGLE);
mod.set_const("CAMERA_PITCH", CAMERA_PITCH);
mod.set_const("CAMERA_ROLL", CAMERA_ROLL);
mod.set_const("CAMERA_FOV", CAMERA_FOV);
mod.set_const("USER1", USER1);
mod.set_const("USER2", USER2);
mod.set_const("USER3", USER3);
Expand Down
8 changes: 8 additions & 0 deletions src/lib_lua/ViZDoomLuaModule.cpp
Expand Up @@ -291,9 +291,17 @@ extern "C" int luaopen_vizdoom(lua_State *luaState){
ENUM_VAL_2_LUA(ANGLE),
ENUM_VAL_2_LUA(PITCH),
ENUM_VAL_2_LUA(ROLL),
ENUM_VAL_2_LUA(VIEW_HEIGHT),
ENUM_VAL_2_LUA(VELOCITY_X),
ENUM_VAL_2_LUA(VELOCITY_Y),
ENUM_VAL_2_LUA(VELOCITY_Z),
ENUM_VAL_2_LUA(CAMERA_POSITION_X),
ENUM_VAL_2_LUA(CAMERA_POSITION_Y),
ENUM_VAL_2_LUA(CAMERA_CAMERA_POSITION_Z),
ENUM_VAL_2_LUA(CAMERA_ANGLE),
ENUM_VAL_2_LUA(CAMERA_PITCH),
ENUM_VAL_2_LUA(CAMERA_ROLL),
ENUM_VAL_2_LUA(CAMERA_FOV),
ENUM_VAL_2_LUA(USER1),
ENUM_VAL_2_LUA(USER2),
ENUM_VAL_2_LUA(USER3),
Expand Down
8 changes: 8 additions & 0 deletions src/lib_python/ViZDoomPythonModule.cpp
Expand Up @@ -279,9 +279,17 @@ PYBIND11_MODULE(vizdoom, vz){
ENUM_VAL_2_PYT(ANGLE)
ENUM_VAL_2_PYT(PITCH)
ENUM_VAL_2_PYT(ROLL)
ENUM_VAL_2_PYT(VIEW_HEIGHT)
ENUM_VAL_2_PYT(VELOCITY_X)
ENUM_VAL_2_PYT(VELOCITY_Y)
ENUM_VAL_2_PYT(VELOCITY_Z)
ENUM_VAL_2_PYT(CAMERA_POSITION_X)
ENUM_VAL_2_PYT(CAMERA_POSITION_Y)
ENUM_VAL_2_PYT(CAMERA_POSITION_Z)
ENUM_VAL_2_PYT(CAMERA_ANGLE)
ENUM_VAL_2_PYT(CAMERA_PITCH)
ENUM_VAL_2_PYT(CAMERA_ROLL)
ENUM_VAL_2_PYT(CAMERA_FOV)
ENUM_VAL_2_PYT(USER1)
ENUM_VAL_2_PYT(USER2)
ENUM_VAL_2_PYT(USER3)
Expand Down
27 changes: 19 additions & 8 deletions src/vizdoom/src/viz_game.cpp
Expand Up @@ -280,15 +280,26 @@ void VIZ_GameStateUpdate(){

// Player position GameVariables
if(VIZ_PLAYER.mo != NULL && !*viz_nocheat) {
vizGameStateSM->PLAYER_MOVEMENT[0] = VIZ_FixedToDouble(VIZ_PLAYER.mo->__pos.x);
vizGameStateSM->PLAYER_MOVEMENT[1] = VIZ_FixedToDouble(VIZ_PLAYER.mo->__pos.y);
vizGameStateSM->PLAYER_MOVEMENT[2] = VIZ_FixedToDouble(VIZ_PLAYER.mo->__pos.z);
vizGameStateSM->PLAYER_MOVEMENT[0] = VIZ_FixedToDouble(VIZ_PLAYER.mo->__pos.x); //X()
vizGameStateSM->PLAYER_MOVEMENT[1] = VIZ_FixedToDouble(VIZ_PLAYER.mo->__pos.y); //Y()
vizGameStateSM->PLAYER_MOVEMENT[2] = VIZ_FixedToDouble(VIZ_PLAYER.mo->__pos.z); //Z()
vizGameStateSM->PLAYER_MOVEMENT[3] = VIZ_AngleToDouble(VIZ_PLAYER.mo->angle);
vizGameStateSM->PLAYER_MOVEMENT[4] = VIZ_PitchToDouble(VIZ_PLAYER.mo->pitch);
vizGameStateSM->PLAYER_MOVEMENT[5] = VIZ_AngleToDouble(VIZ_PLAYER.mo->roll);
vizGameStateSM->PLAYER_MOVEMENT[6] = VIZ_FixedToDouble(VIZ_PLAYER.mo->velx);
vizGameStateSM->PLAYER_MOVEMENT[7] = VIZ_FixedToDouble(VIZ_PLAYER.mo->vely);
vizGameStateSM->PLAYER_MOVEMENT[8] = VIZ_FixedToDouble(VIZ_PLAYER.mo->velz);
vizGameStateSM->PLAYER_MOVEMENT[6] = VIZ_FixedToDouble(VIZ_PLAYER.viewz) - vizGameStateSM->PLAYER_MOVEMENT[2];
vizGameStateSM->PLAYER_MOVEMENT[7] = VIZ_FixedToDouble(VIZ_PLAYER.mo->velx);
vizGameStateSM->PLAYER_MOVEMENT[8] = VIZ_FixedToDouble(VIZ_PLAYER.mo->vely);
vizGameStateSM->PLAYER_MOVEMENT[9] = VIZ_FixedToDouble(VIZ_PLAYER.mo->velz);
}

if(VIZ_PLAYER.camera != NULL && !*viz_nocheat) {
vizGameStateSM->CAMERA[0] = VIZ_FixedToDouble(VIZ_PLAYER.camera->__pos.x); //X()
vizGameStateSM->CAMERA[1] = VIZ_FixedToDouble(VIZ_PLAYER.camera->__pos.y); //Y()
vizGameStateSM->CAMERA[2] = VIZ_FixedToDouble(VIZ_PLAYER.viewz); //VIZ_FixedToDouble(VIZ_PLAYER.camera->__pos.z); //Z()
vizGameStateSM->CAMERA[3] = VIZ_AngleToDouble(VIZ_PLAYER.camera->angle);
vizGameStateSM->CAMERA[4] = VIZ_PitchToDouble(VIZ_PLAYER.camera->pitch);
vizGameStateSM->CAMERA[5] = VIZ_AngleToDouble(VIZ_PLAYER.camera->roll);
vizGameStateSM->CAMERA[6] = VIZ_PLAYER.FOV;
}

strncpy(vizGameStateSM->PLAYER_NAME, VIZ_PLAYER.userinfo.GetName(), VIZ_MAX_PLAYER_NAME_LEN);
Expand Down Expand Up @@ -444,11 +455,11 @@ void VIZ_PrintPlayers(){
for (size_t i = 0; i < VIZ_MAX_PLAYERS; ++i) {
if(playeringame[i]){
APlayerPawn* player = players[i].mo;
printf("no: %d, name: %s, pos: %f %f %f, rot: %f %f %f, vel: %f %f %f\n", i + 1, players[i].userinfo.GetName(),
printf("no: %lu, name: %s, pos: %f %f %f, rot: %f %f %f, vel: %f %f %f\n", i + 1, players[i].userinfo.GetName(),
VIZ_FixedToDouble(player->__pos.x), VIZ_FixedToDouble(player->__pos.y), VIZ_FixedToDouble(player->__pos.z),
VIZ_AngleToDouble(player->angle), VIZ_PitchToDouble(player->pitch), VIZ_AngleToDouble(player->roll),
VIZ_FixedToDouble(player->velx), VIZ_FixedToDouble(player->vely), VIZ_FixedToDouble(player->velz));
printf("no: %d, name: %s, dmgCount: %d, hitCount: %d\n", i + 1, players[i].userinfo.GetName(),
printf("no: %lu, name: %s, dmgCount: %d, hitCount: %d\n", i + 1, players[i].userinfo.GetName(),
vizPlayerLogger[i].dmgCount, vizPlayerLogger[i].hitCount);
}
}
Expand Down
3 changes: 2 additions & 1 deletion src/vizdoom/src/viz_game.h
Expand Up @@ -141,7 +141,8 @@ struct VIZGameState{
int PLAYER_AMMO[VIZ_GV_SLOTS_SIZE];
int PLAYER_WEAPON[VIZ_GV_SLOTS_SIZE];

double PLAYER_MOVEMENT[9];
double PLAYER_MOVEMENT[10];
double CAMERA[7];

bool PLAYER_READY_TO_RESPAWN;
unsigned int PLAYER_NUMBER;
Expand Down

0 comments on commit 3425d4b

Please sign in to comment.