Accediendo a un archivo mapeado en memoria usando Python

Estoy buscando usar un archivo asignado en memoria de Guild Wars 2, que está diseñado para enlazar con Mumble para el audio posicional. El archivo contiene información sobre las coordenadas de los caracteres y otra información útil.

He podido acceder a la información de coordenadas utilizando este script,

import mmap import struct last=[] while True: shmem = mmap.mmap(0, 20, "MumbleLink", mmap.ACCESS_READ) coord=struct.unpack("IL3f", shmem)[2:5] shmem.close() if last!=coord: print(coord) last = coord X = coord[2] Y = coord[0] Z = coord[1]) 

Mi problema es que tengo dificultades para descubrir cómo obtener más información del archivo. ¿Qué debo hacer para acceder a otra información almacenada, como el nombre del personaje y la posición de la cámara?

Hay información en el archivo aquí:
https://forum-en.guildwars2.com/forum/community/api/Map-API-Mumble-Mashup http://mumble.sourceforge.net/Link

Cualquier ayuda sería muy apreciada.

Saludos, Ed.

Puede intentar asignar más de 20 bytes del archivo en la llamada mmap, digamos, use 1024, desempaquete todo de acuerdo con http://mumble.sourceforge.net/Link y luego extraiga el nombre y la posición de la cámara:

 s = struct.unpack('IL3f3f3f512s3f') name = s[11].decode('utf-16') camera_pos_x,camera_pos_y,camera_pos_z = s[12:15] 

Para los nombres, cree un nombre de personaje en el juego y asegúrese de que se escriba en el disco, tal vez al salir del juego.

Luego usa un editor de archivos binarios para buscar el nombre. Soy parcial a http://sourceforge.net/projects/bpe/ , pero hay muchos de estos.

Encontrar posiciones de cámara podría ser más difícil. Probablemente comenzaría por encontrar nombres de personajes y luego buscar cosas cercanas que podrían ser posiciones de la cámara.