1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-10 17:42:29 +01:00

Fix errors

This commit is contained in:
Ted John
2018-02-07 20:37:20 +00:00
committed by Gymnasiast
parent b207797ad2
commit 7ea5c1f099
3 changed files with 29 additions and 23 deletions

View File

@@ -16,6 +16,8 @@
#pragma warning(disable : 4706) // assignment within conditional expression
#include <cstdlib>
#include <cstring>
#include <unordered_map>
#include "../Context.h"
#include "../core/Math.hpp"
@@ -217,9 +219,11 @@ namespace ObjectJsonHelpers
auto images = imgTable.GetImages();
for (uint32 i = start; i < Math::Min(numImages, end); i++)
{
auto g1 = images[i];
auto length = g1_calculate_data_size(&g1);
g1.offset = Memory::Duplicate(g1.offset, length);
auto &objg1 = images[i];
auto length = g1_calculate_data_size(&objg1);
auto g1 = objg1;
g1.offset = (uint8 *)std::malloc(length);
std::memcpy(g1.offset, objg1.offset, length);
result.push_back(g1);
}
delete obj;
@@ -260,9 +264,11 @@ namespace ObjectJsonHelpers
{
for (auto i : range)
{
auto g1 = *gfx_get_g1_element(SPR_CSG_BEGIN + i);
auto length = g1_calculate_data_size(&g1);
g1.offset = Memory::Duplicate(g1.offset, length);
auto &csg1 = *gfx_get_g1_element(SPR_CSG_BEGIN + i);
auto length = g1_calculate_data_size(&csg1);
auto g1 = csg1;
g1.offset = (uint8 *)std::malloc(length);
std::memcpy(g1.offset, csg1.offset, length);
result.push_back(g1);
}
}
@@ -336,7 +342,7 @@ namespace ObjectJsonHelpers
for (const auto &g1 : images)
{
imageTable.AddImage(&g1);
Memory::Free(g1.offset);
std::free(g1.offset);
}
}
}

View File

@@ -748,14 +748,14 @@ rct_ride_entry_vehicle RideObject::ReadJsonCar(const json_t * jCar)
car.sprite_width = ObjectJsonHelpers::GetInteger(jCar, "spriteWidth");
car.sprite_height_negative = ObjectJsonHelpers::GetInteger(jCar, "spriteHeightNegative");
car.sprite_height_positive = ObjectJsonHelpers::GetInteger(jCar, "spriteHeightPositive");
car.var_11 = ObjectJsonHelpers::GetInteger(jCar, "var11");
car.animation = ObjectJsonHelpers::GetInteger(jCar, "var11");
car.base_num_frames = ObjectJsonHelpers::GetInteger(jCar, "baseNumFrames");
car.no_vehicle_images = ObjectJsonHelpers::GetInteger(jCar, "numImages");
car.no_seating_rows = ObjectJsonHelpers::GetInteger(jCar, "numSeatRows");
car.spinning_inertia = ObjectJsonHelpers::GetInteger(jCar, "spinningInertia");
car.spinning_friction = ObjectJsonHelpers::GetInteger(jCar, "spinningFriction");
car.friction_sound_id = ObjectJsonHelpers::GetInteger(jCar, "frictionSoundId", 255);
car.var_58 = ObjectJsonHelpers::GetInteger(jCar, "var58");
car.log_flume_reverser_vehicle_type = ObjectJsonHelpers::GetInteger(jCar, "var58");
car.sound_range = ObjectJsonHelpers::GetInteger(jCar, "soundRange", 255);
car.double_sound_frequency = ObjectJsonHelpers::GetInteger(jCar, "var5A");
car.powered_acceleration = ObjectJsonHelpers::GetInteger(jCar, "poweredAcceleration");
@@ -781,25 +781,25 @@ rct_ride_entry_vehicle RideObject::ReadJsonCar(const json_t * jCar)
{ "flatToGentleSlopeWhileBankedTransitions", VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS },
{ "corkscrews", VEHICLE_SPRITE_FLAG_CORKSCREWS },
{ "restraintAnimation", VEHICLE_SPRITE_FLAG_RESTRAINT_ANIMATION },
{ "VEHICLE_SPRITE_FLAG_14", VEHICLE_SPRITE_FLAG_14 },
{ "curvedLiftHill", VEHICLE_SPRITE_FLAG_CURVED_LIFT_HILL },
{ "VEHICLE_SPRITE_FLAG_15", VEHICLE_SPRITE_FLAG_15 } });
car.flags = ObjectJsonHelpers::GetFlags<uint32>(jCar, {
{ "VEHICLE_ENTRY_FLAG_0", VEHICLE_ENTRY_FLAG_0 },
{ "VEHICLE_ENTRY_FLAG_POWERED_RIDE_UNRESTRICTED_GRAVITY", VEHICLE_ENTRY_FLAG_POWERED_RIDE_UNRESTRICTED_GRAVITY },
{ "VEHICLE_ENTRY_FLAG_NO_UPSTOP_WHEELS", VEHICLE_ENTRY_FLAG_NO_UPSTOP_WHEELS },
{ "VEHICLE_ENTRY_FLAG_NO_UPSTOP_BOBSLEIGH", VEHICLE_ENTRY_FLAG_NO_UPSTOP_BOBSLEIGH },
{ "VEHICLE_ENTRY_FLAG_MINI_GOLF", VEHICLE_ENTRY_FLAG_MINI_GOLF },
{ "VEHICLE_ENTRY_FLAG_4", VEHICLE_ENTRY_FLAG_4 },
{ "VEHICLE_ENTRY_FLAG_5", VEHICLE_ENTRY_FLAG_5 },
{ "VEHICLE_ENTRY_FLAG_HAS_INVERTED_SPRITE_SET", VEHICLE_ENTRY_FLAG_HAS_INVERTED_SPRITE_SET },
{ "VEHICLE_ENTRY_FLAG_7", VEHICLE_ENTRY_FLAG_7 },
{ "VEHICLE_ENTRY_FLAG_DODGEM_INUSE_LIGHTS", VEHICLE_ENTRY_FLAG_DODGEM_INUSE_LIGHTS },
{ "VEHICLE_ENTRY_FLAG_ALLOW_DOORS_DEPRECATED", VEHICLE_ENTRY_FLAG_ALLOW_DOORS_DEPRECATED },
{ "VEHICLE_ENTRY_FLAG_ENABLE_ADDITIONAL_COLOUR_2", VEHICLE_ENTRY_FLAG_ENABLE_ADDITIONAL_COLOUR_2 },
{ "VEHICLE_ENTRY_FLAG_10", VEHICLE_ENTRY_FLAG_10 },
{ "VEHICLE_ENTRY_FLAG_11", VEHICLE_ENTRY_FLAG_11 },
{ "VEHICLE_ENTRY_FLAG_OVERRIDE_NUM_VERTICAL_FRAMES", VEHICLE_ENTRY_FLAG_OVERRIDE_NUM_VERTICAL_FRAMES },
{ "VEHICLE_ENTRY_FLAG_13", VEHICLE_ENTRY_FLAG_13 },
{ "VEHICLE_ENTRY_FLAG_14", VEHICLE_ENTRY_FLAG_14 },
{ "VEHICLE_ENTRY_FLAG_SPINNING_ADDITIONAL_FRAMES", VEHICLE_ENTRY_FLAG_SPINNING_ADDITIONAL_FRAMES },
{ "VEHICLE_ENTRY_FLAG_15", VEHICLE_ENTRY_FLAG_15 },
{ "VEHICLE_ENTRY_FLAG_ENABLE_ADDITIONAL_COLOUR_1", VEHICLE_ENTRY_FLAG_ENABLE_ADDITIONAL_COLOUR_1 },
{ "VEHICLE_ENTRY_FLAG_SWINGING", VEHICLE_ENTRY_FLAG_SWINGING },
@@ -807,16 +807,16 @@ rct_ride_entry_vehicle RideObject::ReadJsonCar(const json_t * jCar)
{ "VEHICLE_ENTRY_FLAG_POWERED", VEHICLE_ENTRY_FLAG_POWERED },
{ "VEHICLE_ENTRY_FLAG_RIDERS_SCREAM", VEHICLE_ENTRY_FLAG_RIDERS_SCREAM },
{ "VEHICLE_ENTRY_FLAG_21", VEHICLE_ENTRY_FLAG_21 },
{ "VEHICLE_ENTRY_FLAG_22", VEHICLE_ENTRY_FLAG_22 },
{ "VEHICLE_ENTRY_FLAG_23", VEHICLE_ENTRY_FLAG_23 },
{ "VEHICLE_ENTRY_FLAG_24", VEHICLE_ENTRY_FLAG_24 },
{ "VEHICLE_ENTRY_FLAG_BOAT_HIRE_COLLISION_DETECTION", VEHICLE_ENTRY_FLAG_BOAT_HIRE_COLLISION_DETECTION },
{ "VEHICLE_ENTRY_FLAG_VEHICLE_ANIMATION", VEHICLE_ENTRY_FLAG_VEHICLE_ANIMATION },
{ "VEHICLE_ENTRY_FLAG_RIDER_ANIMATION", VEHICLE_ENTRY_FLAG_RIDER_ANIMATION },
{ "VEHICLE_ENTRY_FLAG_25", VEHICLE_ENTRY_FLAG_25 },
{ "VEHICLE_ENTRY_FLAG_26", VEHICLE_ENTRY_FLAG_26 },
{ "VEHICLE_ENTRY_FLAG_27", VEHICLE_ENTRY_FLAG_27 },
{ "VEHICLE_ENTRY_FLAG_28", VEHICLE_ENTRY_FLAG_28 },
{ "VEHICLE_ENTRY_FLAG_29", VEHICLE_ENTRY_FLAG_29 },
{ "VEHICLE_ENTRY_FLAG_30", VEHICLE_ENTRY_FLAG_30 },
{ "VEHICLE_ENTRY_FLAG_31", VEHICLE_ENTRY_FLAG_31 } });
{ "VEHICLE_ENTRY_FLAG_SLIDE_SWING", VEHICLE_ENTRY_FLAG_SLIDE_SWING },
{ "VEHICLE_ENTRY_FLAG_CHAIRLIFT", VEHICLE_ENTRY_FLAG_CHAIRLIFT },
{ "VEHICLE_ENTRY_FLAG_WATER_RIDE", VEHICLE_ENTRY_FLAG_WATER_RIDE },
{ "VEHICLE_ENTRY_FLAG_GO_KART", VEHICLE_ENTRY_FLAG_GO_KART },
{ "VEHICLE_ENTRY_FLAG_DODGEM_CAR_PLACEMENT", VEHICLE_ENTRY_FLAG_DODGEM_CAR_PLACEMENT } });
return car;
}

View File

@@ -38,9 +38,9 @@ void SceneryGroupObject::ReadLegacy(IReadObjectContext * context, IStream * stre
_legacyType.pad_109 = stream->ReadValue<uint8>();
_legacyType.entertainer_costumes = stream->ReadValue<uint32>();
GetStringTable()->Read(context, stream, OBJ_STRING_ID_NAME);
GetStringTable().Read(context, stream, OBJ_STRING_ID_NAME);
_items = ReadItems(stream);
GetImageTable()->Read(context, stream);
GetImageTable().Read(context, stream);
}
void SceneryGroupObject::Load()