mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-28 17:24:47 +01:00
Labelled next_in_quadrant
This commit is contained in:
@@ -864,8 +864,8 @@ void sub_0x69E8B0(uint32 eax, uint32 ecx){
|
||||
eax = (eax & 0x1FE0) << 3 | (ecx >> 5);
|
||||
int sprite_idx = RCT2_ADDRESS(0xF1EF60, uint16)[eax];
|
||||
if (sprite_idx == SPRITE_INDEX_NULL) return;
|
||||
|
||||
for (rct_sprite* spr = &g_sprite_list[sprite_idx]; sprite_idx != SPRITE_INDEX_NULL; sprite_idx = spr->unknown.var_02){
|
||||
|
||||
for (rct_sprite* spr = &g_sprite_list[sprite_idx]; sprite_idx != SPRITE_INDEX_NULL; sprite_idx = spr->unknown.next_in_quadrant){
|
||||
spr = &g_sprite_list[sprite_idx];
|
||||
dpi = RCT2_GLOBAL(0x140E9A8, rct_drawpixelinfo*);
|
||||
|
||||
|
||||
@@ -1156,7 +1156,7 @@ static int peep_update_walking_find_bench(rct_peep* peep){
|
||||
uint16 sprite_id = RCT2_ADDRESS(0xF1EF60, uint16)[((peep->x & 0x1FE0) << 3) | (peep->y >> 5)];
|
||||
uint8 free_edge = 3;
|
||||
|
||||
for (rct_sprite* sprite; sprite_id != SPRITE_INDEX_NULL; sprite_id = sprite->unknown.var_02){
|
||||
for (rct_sprite* sprite; sprite_id != SPRITE_INDEX_NULL; sprite_id = sprite->unknown.next_in_quadrant){
|
||||
sprite = &g_sprite_list[sprite_id];
|
||||
|
||||
if (sprite->unknown.linked_list_type_offset != SPRITE_LINKEDLIST_OFFSET_PEEP)continue;
|
||||
@@ -1742,7 +1742,7 @@ static void peep_update_walking(rct_peep* peep){
|
||||
}
|
||||
|
||||
uint16 sprite_id = RCT2_ADDRESS(0xF1EF60, uint16)[((peep->x & 0x1FE0) << 3) | (peep->y >> 5)];
|
||||
for (rct_sprite* sprite; sprite_id != SPRITE_INDEX_NULL; sprite_id = sprite->unknown.var_02){
|
||||
for (rct_sprite* sprite; sprite_id != SPRITE_INDEX_NULL; sprite_id = sprite->unknown.next_in_quadrant){
|
||||
sprite = &g_sprite_list[sprite_id];
|
||||
|
||||
if (sprite->unknown.linked_list_type_offset != SPRITE_LINKEDLIST_OFFSET_PEEP)continue;
|
||||
|
||||
@@ -344,7 +344,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
uint8 sprite_identifier; // 0x00
|
||||
uint8 var_01;
|
||||
uint16 var_02; // 0x02
|
||||
uint16 next_in_quadrant; // 0x02
|
||||
uint16 next; // 0x04
|
||||
uint16 previous; // 0x06
|
||||
uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_...
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
typedef struct {
|
||||
uint8 sprite_identifier; // 0x00
|
||||
uint8 var_01;
|
||||
uint8 pad_02[0x02];
|
||||
uint16 next_in_quadrant; // 0x02
|
||||
uint16 next; // 0x04
|
||||
uint16 previous; // 0x06
|
||||
uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_...
|
||||
|
||||
@@ -288,7 +288,7 @@ void reset_0x69EBE4(){
|
||||
}
|
||||
uint16 ax = RCT2_ADDRESS(0xF1EF60,uint16)[edi];
|
||||
RCT2_ADDRESS(0xF1EF60,uint16)[edi] = spr->unknown.sprite_index;
|
||||
spr->unknown.var_02 = ax;
|
||||
spr->unknown.next_in_quadrant = ax;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -328,11 +328,11 @@ rct_sprite *create_sprite(uint8 bl)
|
||||
sprite->sprite_width = 0x10;
|
||||
sprite->sprite_height_negative = 0x14;
|
||||
sprite->sprite_height_positive = 0x8;
|
||||
sprite->pad_0C[0] = 0x0;
|
||||
sprite->var_0C = 0;
|
||||
sprite->sprite_left = SPRITE_LOCATION_NULL;
|
||||
|
||||
sprite->var_02 = RCT2_GLOBAL(0xF3EF60, uint16);
|
||||
RCT2_GLOBAL(0xF3EF60, uint16) = sprite->sprite_index;
|
||||
sprite->next_in_quadrant = RCT2_ADDRESS(0xF1EF60, uint16)[0x10000];
|
||||
RCT2_ADDRESS(0xF1EF60, uint16)[0x10000] = sprite->sprite_index;
|
||||
|
||||
return (rct_sprite*)sprite;
|
||||
}
|
||||
@@ -470,14 +470,14 @@ void sprite_move(int x, int y, int z, rct_sprite* sprite){
|
||||
uint16* sprite_idx = &RCT2_ADDRESS(0xF1EF60, uint16)[current_position];
|
||||
rct_sprite* sprite2 = &g_sprite_list[*sprite_idx];
|
||||
while (sprite != sprite2){
|
||||
sprite_idx = &sprite2->unknown.var_02;
|
||||
sprite_idx = &sprite2->unknown.next_in_quadrant;
|
||||
sprite2 = &g_sprite_list[*sprite_idx];
|
||||
}
|
||||
*sprite_idx = sprite->unknown.var_02;
|
||||
*sprite_idx = sprite->unknown.next_in_quadrant;
|
||||
|
||||
int temp_sprite_idx = RCT2_ADDRESS(0xF1EF60, uint16)[new_position];
|
||||
RCT2_ADDRESS(0xF1EF60, uint16)[new_position] = sprite->unknown.sprite_index;
|
||||
sprite->unknown.var_02 = temp_sprite_idx;
|
||||
sprite->unknown.next_in_quadrant = temp_sprite_idx;
|
||||
}
|
||||
|
||||
if (x == 0x8000){
|
||||
|
||||
@@ -47,14 +47,14 @@ typedef enum {
|
||||
typedef struct {
|
||||
uint8 sprite_identifier; // 0x00
|
||||
uint8 misc_identifier; // 0x01
|
||||
uint16 var_02;
|
||||
uint16 next_in_quadrant; // 0x02
|
||||
uint16 next; // 0x04
|
||||
uint16 previous; // 0x06
|
||||
uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_...
|
||||
// Height from center of sprite to bottom
|
||||
uint8 sprite_height_negative; // 0x09
|
||||
uint16 sprite_index; // 0x0A
|
||||
uint8 pad_0C[2];
|
||||
uint16 var_0C;
|
||||
sint16 x; // 0x0E
|
||||
sint16 y; // 0x10
|
||||
sint16 z; // 0x12
|
||||
@@ -78,7 +78,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
uint8 sprite_identifier; // 0x00
|
||||
uint8 var_01; // 0x01
|
||||
uint16 var_02; // 0x02
|
||||
uint16 next_in_quadrant; // 0x02
|
||||
uint16 next; // 0x04
|
||||
uint16 previous; // 0x06
|
||||
uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_...
|
||||
@@ -91,7 +91,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
uint8 sprite_identifier; // 0x00
|
||||
uint8 misc_identifier; // 0x01
|
||||
uint16 var_02; // 0x02
|
||||
uint16 next_in_quadrant; // 0x02
|
||||
uint16 next; // 0x04
|
||||
uint16 previous; // 0x06
|
||||
uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_...
|
||||
@@ -118,7 +118,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
uint8 sprite_identifier; // 0x00
|
||||
uint8 misc_identifier; // 0x01
|
||||
uint16 var_02; // 0x02
|
||||
uint16 next_in_quadrant; // 0x02
|
||||
uint16 next; // 0x04
|
||||
uint16 previous; // 0x06
|
||||
uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_...
|
||||
@@ -140,7 +140,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
uint8 sprite_identifier; // 0x00
|
||||
uint8 misc_identifier; // 0x01
|
||||
uint16 var_02; // 0x02
|
||||
uint16 next_in_quadrant; // 0x02
|
||||
uint16 next; // 0x04
|
||||
uint16 previous; // 0x06
|
||||
uint8 linked_list_type_offset; // 0x08 Valid values are SPRITE_LINKEDLIST_OFFSET_...
|
||||
|
||||
Reference in New Issue
Block a user