-
Notifications
You must be signed in to change notification settings - Fork 10
SubSource Flag es
Nota: es mas comun que esta tecnica no sea requerida para juegos mas simples. A si que, no es obligatoria para desarrolladores jr. (jr-devs).
El SubSource
puede ser seleccionado en la columba de Bandera (Flag) en el Editor de Logros (Achievement Editor)
Funciona similarmente a Add Source
, pero una bandera Sub Source
convierte el valor en memoria en un valor negativo.
Nota 1: Sub Source
NO es una bandera de subtraccion. Solo convierte el valor en negativo.
Nota 2: La ultima linea (sin el Add Source
o Sub Source
) aun se agrega a la comparativa final (Es una condicion que se tiene que cumplir).
Utlizando este ejemplo de uso de un AddSource
, si lo remplazamos con un Sub Source
y con los mismos valores (valor(0x8010) = 1
and valor(0x8020) = 2
), la comparacion seria -1 + 2 > 0
, o 1 > 0
.
SubSource
tambien puede ser utilizado para rastrear incrementos especificos en una variable. La condicion que se muestra abajo dice que el actual valor en la variable 0x0080dc
menos el valor en el antiguo fotograma (Delta Frame) en la misma direccion deberia de ser igual a 2
. Efectivamente, esto significa que la condicion es verdadera cualquier vez que el valor en 0x0080dc
se incremente exactamente sobre dos.
Si el resultado en tu operacion con Sub Source es un numero negativo, es posible buscarlo. A si es como se representan los numeros negativos:
-
-1
es0xFFFFFFFF
-
-2
es0xFFFFFFFE
-
-3
es0xFFFFFFFD
-
-4
es0xFFFFFFFC
-
-5
es0xFFFFFFFB
-
-6
es0xFFFFFFFA
-
-7
es0xFFFFFFF9
- y asi sucesivamente...
A si que, vamos a decir que quieres buscar si el valor(0x8010) = 1
menos el valor(0x8020) = 2
es igual a -1
. Asi es como le harias:
Esto significa -2 + 1 = -1
, que es verdad.
Avanzado: tambien es posible utilizar directamente numeros negativos en la columna de la izquierda con tus operaciones Sub/Add Source. Para hacerlo, recuerda cambiar el Tipo (Type) de Mem
a Value
, y utilizar los valores explicados arriba, como 0xFFFFFFE5
para -27
, y 0xFFFFFFE3
para -29
, por ejemplo:
Esto significa -2 + (-27) = -29
, que es -2 - 27 = -29
, el cual es cierto.
De todos modos ten cuidado, si utilizas numeros negativos en una bandera con Sub Source, va a resultar en un doble negativo, convirtiendo los numeros de nuevo a positivos. Hecha un vistazo:
Esto significa - (-2) + (-27) = -29
, que es 2 - 27 = -29
, que es -25 = -29
, el cual es falso.
- User Guidelines
- Developer Guidelines
- Content Guidelines
- FAQ
- Setup Guide
- Emulator Support and Issues
- Ways to Contribute
- RABot, the RA Discord Robot
- Events
- Overlay Themes
- Useful Links
- Contributing with the docs
- About Us
- Tutorials
- Developer Docs
- How to Become an Achievement Developer
- Getting Started as an Achievement Developer
- Game Identification
- Achievement Design
- Achievement Scoring
- Difficulty Scale and Balance
- Progression and Win Condition Typing
- Badge and Icon Creation
- Achievement Development Overview
- Flags
- BitCount Size
- Alt Groups
- Hit Counts
- Delta Values
- Prior Values
- Value Definition
- Condition Syntax
- Minimum Required Versions for Logic Features
- Memory Inspector
- Real Examples
- Set Development Roadmap
- Achievement Templates
- Tips and Tricks
- Leaderboards
- Rich Presence
- RATools
- Console Specific Tips
- Emulator Hotkeys for Developers
- libretro core support
- Docs To Do List
- WIP User Code of Conduct
- WIP CoC FAQ
- WIP Content Guidelines
- WIP-Jr
- WIP---Dev-Tips---Code-Notes-En-Masse
- WIP-‐-Reauthorship-Policy
- Manifesto RetroAchievements
- Código de Conduta do Usuário
- FAQ - Perguntas Frequentes
- Como contribuir se você não é um desenvolvedor
- Tutorial para Jogos Multi-Discos
- Introdução
- Primeiros Passos como um Desenvolvedor de Conquistas
- Recursos de Lógica para Achievements
- Exemplos Reais
- Dicas e Truques
- Dicas Específicas de Console
- Modelos de Achievement
- Escala de Dificuldade e Equilíbrio
- Roteiro de Desenvolvimento de um Set de Conquistas
- Criação de Ícones e Emblemas
- Leaderboards
- Rich Presence
- Design de Conquistas
- Manifesto RetroAchievements
- Código de Conducta del Usuario
- FAQ - Preguntas Frecuentes
- Tablas Globales y Reglas para la Casería de Logros
- Mi juego no esta cargando los logros
- Como contribuir si no eres un desarrollador
- Por que no deberías utilizar la función de cargar estado
- Contribuyendo con los documentos
- Como funciona la Documentación de RA
- Descargas
- Intro
- Código de Conducta del Desarrollador
- Como convertirme en un Desarrollador de Logros
- Primeros pasos como un Desarrollador de Logros
- Un vistazo al Inspector de Memoria
- Características en la Logica de un Logro
- Ejemplos Reales
- Intro
- Utilizando Hit Counts como un Temporizador
- Utilizando Valores Delta y Hit Counts para Detectar un Incremento
- Un Ejemplo Simple en como evitar el Abuso de Estados de Guardado
- Evitar el Problema de que un Contador se Incremente Dos Veces en el Mismo Frame
- Creando un Temporizador con un ResetIf Hits basándote en la Velocidad de un Juego
- Plantillas para Logros
- Tips y Trucos
- Escala de Dificultad y Balance
- Diseño de Logros
- Mapa de Desarrollo de Set
- Revisiones en Set de Logros
- Creación de Iconos y Badges
- Tablas de Clasificación
- Rich Presence
- Trabajando con el ROM apropiado
- Identificación del Juego
- Guía para Sets Bonus
- Logros para ROM hacks
- Tips Específicos por Consola