Registrarse

[Duda RomHacking] Reloj basado en el tiempo jugado

Estado
Cerrado para nuevas respuestas.
Hola y muy buenas.

He estado mirándolo por encima y no veo que nadie haya preguntado esto o por lo menos, yo no lo he visto.

La pregunta es ¿puedo hacer que ciertos sucesos ocurran pasadas X tiempo de juego en ve de basarse en el reloj externo?

Por ejemplo que cada 30 minutos de juego cambie el momento del día (mañana>mediodia>tarde>noche...) y que a las X horas los sprites cambien para que sea primavera, o verano...

Sería aplicar el DayNightSystem pero en vez de al reloj externo al tiempo jugado...

Un saludo y muchas gracias.
 

CelticFrostie

Sexador de pollos
Si no me equivoco @eing implementará esto en el PRHE y es con ASM, así que no tan fácil como lo planteas.
Poco más te puedo decir xD
 

Kaiser de Emperana

Called in hand
Y... poderse se puede.
La cosa sería ver en que momento son leídos los valores del RTC (Real Time Clock) y en ese momento modificar un poco la rutina asm para que calcule un valor nuevo en base al tiempo jugado.

No es del todo difícil, pero habría que ponerse a buscar en que parte de la memoria están los valores del RTC. Le heché una mirada rápida a gbatek, pero no encontré la dirección exacta en memoria xD
Tal vez mirando la rutina del DNS se pueda encontrar fácil.
 

eing

Miembro de honor
Miembro de honor
Vaya que listos se han vuelto todos haha
Y no, no basta con cambiar la direccion de donde lee la hora del ordenador xd
Habeis de crear un tercer rtc, que sera el del juego.

Entonces habra tres "rtc".
RTC0 -> es el default del juego (avanza al mismo tiempo que el tiempo jugado, usa ese contador..)
RTC1 -> es el del ordenador
RTC2 -> el tuyo, donde el tiempo sera calculado segun el rtc0, x ejemplo en el mio cada 10 minutos de ese RTC, es una hora del RTC2.


Pd. Y para los genios.. No, no podeis modificAr el rtc0, para ese fin, ya que habria de regirse por un vAlor reAl y no ficticio, es decir solo pasara una hora cuAndo realmente haya pasado una hora : )
 

Dragonite

But where's your heart
?Realmente quieres hacer eso?

Porque te digo, casi nadie juega un juego mís de 24 horas (en tiempo jugado, eh). Y mucho menos un hackrom de GBA. Lo mejor es hacer un sistema de equivalencia, como dice @eing, que 10 minutos sean como 1 hora en el juego, de esa manera será mucho mejor el paso del tiempo.
 
Estado
Cerrado para nuevas respuestas.
Arriba