@ing.jorgeu/wargaming-overlay 2.2.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,7 +4,7 @@ Overlay local para OBS con marcador, ronda, CP, primarias y secundarias leídos
4
4
 
5
5
  **Paquete:** `@ing.jorgeu/wargaming-overlay` · **Comando:** `wargaming-overlay` · **Licencia del código:** 0BSD.
6
6
 
7
- El paquete está preparado para npm, pero no se ha publicado desde este proyecto. `@ing.jorgeu` debe corresponder a la cuenta u organización real que publique. Hasta entonces, instala desde el código fuente o un archivo `.tgz`.
7
+ El paquete está publicado en [npm como @ing.jorgeu/wargaming-overlay](https://www.npmjs.com/package/@ing.jorgeu/wargaming-overlay). Para usarlo no necesitas clonar el repositorio. En macOS/Linux, si npm intenta escribir en una carpeta del sistema, usa la instalación en tu usuario que se explica abajo.
8
8
 
9
9
  ## Contenido
10
10
 
@@ -198,25 +198,95 @@ Ejemplo Windows:
198
198
  npm.cmd install -g "$HOME\Downloads\ing.jorgeu-wargaming-overlay-2.2.0.tgz"
199
199
  ```
200
200
 
201
- ### C. Desde npm, después de publicarlo
201
+ ### C. Desde npm: versión publicada
202
+
203
+ Puedes ejecutar esto desde cualquier carpeta:
202
204
 
203
205
  ```sh
204
206
  npm install -g @ing.jorgeu/wargaming-overlay
207
+ wargaming-overlay --version
208
+ ```
209
+
210
+ En Windows usa `npm.cmd` y `wargaming-overlay.cmd` si PowerShell bloquea los scripts `.ps1`.
211
+
212
+ Si macOS/Linux responde con `EACCES: permission denied, mkdir '/usr/local/lib/node_modules/...'`, el paquete sí fue encontrado: falta permiso de escritura en la carpeta global de npm. Usa los siguientes pasos, sin sudo.
213
+
214
+ ### Instalación desde npm sin sudo en macOS / Linux
215
+
216
+ 1. Instala la versión publicada en tu carpeta de usuario:
217
+
218
+ ```sh
219
+ npm install -g --prefix "$HOME/.local" @ing.jorgeu/wargaming-overlay
220
+ ```
221
+
222
+ 2. Habilita el comando en la terminal actual y comprueba la instalación:
223
+
224
+ ```sh
225
+ export PATH="$HOME/.local/bin:$PATH"
226
+ wargaming-overlay --version
227
+ wargaming-overlay doctor
228
+ ```
229
+
230
+ 3. Para conservar PATH en nuevas terminales, abre el archivo de configuración de tu shell. En macOS con zsh:
231
+
232
+ ```sh
233
+ nano ~/.zshrc
234
+ ```
235
+
236
+ Si usas bash, abre `nano ~/.bashrc`. Añade esta línea solo si todavía no existe:
237
+
238
+ ```sh
239
+ export PATH="$HOME/.local/bin:$PATH"
240
+ ```
241
+
242
+ En nano guarda con Ctrl+O, Enter y sal con Ctrl+X. Abre una nueva terminal y comprueba:
243
+
244
+ ```sh
245
+ command -v wargaming-overlay
246
+ wargaming-overlay --version
247
+ ```
248
+
249
+ Con esta instalación, la ruta debería terminar en `.local/bin/wargaming-overlay`.
250
+
251
+ 4. Con el teléfono preparado, inicia:
252
+
253
+ ```sh
254
+ wargaming-overlay start
255
+ ```
256
+
257
+ Si no quieres modificar PATH, también puedes ejecutar `"$HOME/.local/bin/wargaming-overlay" start` directamente.
258
+
259
+ **Diferencia entre instalar desde npm y desde el repositorio:**
260
+
261
+ | Comando | Origen |
262
+ | --- | --- |
263
+ | `npm install -g --prefix "$HOME/.local" @ing.jorgeu/wargaming-overlay` | Descarga el paquete publicado en npm. No vincula el comando a tu repositorio. |
264
+ | `npm install -g --prefix "$HOME/.local" .` | Instala la carpeta actual; npm puede enlazarla al repositorio local. Debes estar en la carpeta del proyecto. |
265
+
266
+ `--prefix` solo cambia el destino de esa operación; no modifica la configuración global de npm. Repite el mismo prefijo al actualizar o desinstalar:
267
+
268
+ ```sh
269
+ npm install -g --prefix "$HOME/.local" @ing.jorgeu/wargaming-overlay@latest
270
+ npm uninstall -g --prefix "$HOME/.local" @ing.jorgeu/wargaming-overlay
205
271
  ```
206
272
 
207
- Ese comando requiere que el paquete ya exista en npm. Si el scope definitivo cambia, usa el nombre publicado. Un error 404 antes de publicar no significa que tu instalación de Node esté mal.
273
+ Son operaciones alternativas: ejecuta la primera para actualizar o la segunda para desinstalar, no ambas seguidas. La desinstalación conserva los datos de las partidas. [Documentación npm install](https://docs.npmjs.com/cli/v8/commands/npm-install/).
208
274
 
209
- ### Evitar EACCES en macOS / Linux
275
+ ### Si npm devuelve E404
210
276
 
211
- Puedes instalar en una carpeta de tu usuario, sin sudo:
277
+ E404 significa que el registro no encuentra el paquete o que tu sesión no tiene acceso; no es un error de permisos de tu disco. Comprueba el nombre y consulta el registro público:
212
278
 
213
279
  ```sh
214
- npm install -g --prefix "$HOME/.local" .
215
- export PATH="$HOME/.local/bin:$PATH"
216
- wargaming-overlay --version
280
+ npm view @ing.jorgeu/wargaming-overlay version --registry=https://registry.npmjs.org/ --prefer-online
281
+ ```
282
+
283
+ Si devuelve una versión, vuelve a instalar consultando información actualizada:
284
+
285
+ ```sh
286
+ npm install -g --prefix "$HOME/.local" @ing.jorgeu/wargaming-overlay --prefer-online
217
287
  ```
218
288
 
219
- Para conservar el PATH, añade la línea `export PATH` a `~/.zshrc` si usas zsh, o `~/.bashrc` si usas bash. Abre otra terminal. En esta modalidad, usa el mismo `--prefix "$HOME/.local"` al reinstalar o desinstalar. [Documentación npm install](https://docs.npmjs.com/cli/v8/commands/npm-install/).
289
+ Si la consulta sigue fallando, revisa `npm config get registry` y la [página del paquete](https://www.npmjs.com/package/@ing.jorgeu/wargaming-overlay). No publiques otra versión ni borres la caché solo para solucionar un E404 de instalación.
220
290
 
221
291
  ## Preparar el teléfono
222
292
 
@@ -399,8 +469,8 @@ Al cambiar de ronda no reutiliza CP ni misiones de la ronda anterior. Si consult
399
469
  | --- | --- |
400
470
  | `wargaming-overlay: command not found` | Comprueba la instalación con `npm list -g --depth=0`. Revisa PATH y abre otra terminal. En Unix, los ejecutables están bajo `bin` del prefijo mostrado por `npm prefix -g`; en Windows, en el propio prefijo. |
401
471
  | PowerShell bloquea un `.ps1` | Usa `npm.cmd` y `wargaming-overlay.cmd`. |
402
- | npm devuelve EACCES | Usa la instalación en `~/.local` descrita arriba. No inicies el servidor con sudo. |
403
- | npm devuelve 404 | El paquete puede no estar publicado o el scope ser distinto. Instala desde el código fuente o `.tgz`. |
472
+ | npm devuelve EACCES | Ejecuta `npm install -g --prefix "$HOME/.local" @ing.jorgeu/wargaming-overlay` y añade `$HOME/.local/bin` a PATH siguiendo los pasos anteriores. |
473
+ | npm devuelve 404 | Sigue la sección «Si npm devuelve E404»: comprueba nombre, registro y consulta con `--prefer-online`. |
404
474
  | ADB no encontrado | Ejecuta `setup --install-adb`, instala Platform-Tools o pasa `--adb` con la ruta completa. |
405
475
  | Python ausente/incompatible | Instala Python 3.8+ y usa `--python` si tienes varias instalaciones. En Windows prueba `py -3 --version`. |
406
476
  | No aparece ningún teléfono | Revisa cable de datos, puerto USB, desbloqueo y depuración USB. En Windows comprueba drivers. |
@@ -425,7 +495,7 @@ Detén el servidor con Ctrl+C antes de actualizar. Desde el código fuente actua
425
495
  npm install -g .
426
496
  ```
427
497
 
428
- Desde npm, cuando exista el paquete publicado:
498
+ Desde npm:
429
499
 
430
500
  ```sh
431
501
  npm install -g @ing.jorgeu/wargaming-overlay@latest
package/battle_reader.py CHANGED
@@ -13,7 +13,16 @@ def parse(xml):
13
13
  players = [dict(name=header[i+3], score=int(header[i+1]), cp=None, primary=None, secondary=None, secondaries=None, primaryObjectives=None) for i in range(2)]
14
14
  names = [p['name'] for p in players]
15
15
  if names[0] == names[1]: raise ValueError('Usa nombres distintos para identificar a los jugadores.')
16
+ # A scrolled two-player round can omit the first player's heading while
17
+ # exposing its scores/missions followed by the other player's heading.
18
+ # That next heading bounds the leading block and identifies its owner.
19
+ headings = [(i, t) for i, t in enumerate(texts) if t in names]
16
20
  current = None
21
+ if headings and len({name for _, name in headings}) == 1:
22
+ first_index, next_name = headings[0]
23
+ leading = texts[:first_index]
24
+ if any(re.fullmatch(r'(PRIMARY|SECONDARY):\s*\d+/\d+', t) for t in leading):
25
+ current = players[1 - names.index(next_name)]
17
26
  section = None
18
27
  for i, t in enumerate(texts):
19
28
  if t in names:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ing.jorgeu/wargaming-overlay",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "Overlay local para OBS con lectura Android por ADB",
5
5
  "bin": {
6
6
  "wargaming-overlay": "cli.js"