Diseñando motor de Items para la Churrera

For all things Churrera. ¿Estás haciendo un juego? ¿quieres proponer un cambio? ¿tienes alguna duda? ¡Cuéntanoslo!

Moderador: na_th_an

Nightwolf
Mensajes: 215
Registrado: Sab, 15 Oct 2011, 11:24

Re: Diseñando motor de Items para la Churrera

Mensajepor Nightwolf » Lun, 14 Abr 2014, 10:43

¡Como siempre, muchas gracias por la rapidez y efectividad! :)
Nightwolf
Mensajes: 215
Registrado: Sab, 15 Oct 2011, 11:24

Re: Diseñando motor de Items para la Churrera

Mensajepor Nightwolf » Sab, 19 Abr 2014, 13:23

Una nueva pregunta Nathan, actualmente en Avorcha, los tiles elegidos para el selector, no tienen el mismo color, uno es rojo colorao, y el otro rosita mono (como se puede ver en la imagen del proyecto). Ahora mismo, lo que hace es pintar de todo rojo. Para evitar ésto... ¿habría que cambiar el itemSelectClr? ¿Es este el color de atributo? ¿O habría que cambiar otra cosa más?
Avatar de Usuario
elborra
Mensajes: 209
Registrado: Dom, 12 Ene 2014, 14:37

Re: Diseñando motor de Items para la Churrera

Mensajepor elborra » Sab, 19 Abr 2014, 14:04

$this->bbcode_second_pass_quote('Nightwolf', 'U')na nueva pregunta Nathan, actualmente en Avorcha, los tiles elegidos para el selector, no tienen el mismo color, uno es rojo colorao, y el otro rosita mono (como se puede ver en la imagen del proyecto). Ahora mismo, lo que hace es pintar de todo rojo. Para evitar ésto... ¿habría que cambiar el itemSelectClr? ¿Es este el color de atributo? ¿O habría que cambiar otra cosa más?
Sip con eso ya te vale, sólo en los 2 sitios indicados
$this->bbcode_second_pass_quote('na_th_an', 'C')laro, todo puede hacerse, pero modificando código. No es demasiado directo porque el código que maneja los items lo genera el compilador de scripts. Habría que modificar msc.bas y recompilarlo.

A partir de la linea 638:
$this->bbcode_second_pass_code('', ' ' Generate display_items
If itemSetOr = 0 Then
' Horizontal
print #f, "void display_items (void) {"
print #f, " its_p = " & itemSetX & ";"
print #f, " for (its_it = 0; its_it < MSC_MAXITEMS; its_it ++) {"
print #f, " draw_coloured_tile (its_p, " & itemSetY & ", items [its_it]);"
print #f, " if (its_it != flags [FLAG_SLOT_SELECTED]) {"
print #f, " sp_PrintAtInv (" & (itemSetY + 2) & ", its_p, 0, 0);"
print #f, " sp_PrintAtInv (" & (itemSetY + 2) & ", its_p + 1, 0, 0);"
print #f, " } else {"
print #f, " sp_PrintAtInv (" & (itemSetY + 2) & ", its_p, " & itemSelectClr & ", " & itemSelectC1 & ");"
print #f, " sp_PrintAtInv (" & (itemSetY + 2) & ", its_p + 1, " & itemSelectClr & ", " & itemSelectC2 & ");" <-- Aqui cambia el atributo
print #f, " }"
print #f, " its_p += " & itemSetStep & ";"
print #f, " }"
print #f, "}"
Else
' Vertical
print #f, "void display_items (void) {"
print #f, " its_p = " & itemSetY & ";"
print #f, " for (its_it = 0; its_it < MSC_MAXITEMS; its_it ++) {"
print #f, " draw_coloured_tile (" & itemSetY & ", its_p, items [its_it]);"
print #f, " if (its_it != flags [FLAG_SLOT_SELECTED]) {"
print #f, " sp_PrintAtInv (its_p + 2, " & itemSetX & ", 0, 0);"
print #f, " sp_PrintAtInv (its_p + 2, " & (itemSetX + 1) & ", 0, 0);"
print #f, " } else {"
print #f, " sp_PrintAtInv (its_p + 2, " & itemSetX & ", " & itemSelectClr & ", " & itemSelectC1 & ");"
print #f, " sp_PrintAtInv (its_p + 2, " & (itemSetX + 1) & ", " & itemSelectClr & ", " & itemSelectC2 & ");" // <-- y aquí
print #f, " }"
print #f, " its_p += " & itemSetStep & ";"
print #f, " }"
print #f, "}"
End If')