Fixed android palette issues and hard mode/fusion power bomb miscount

cleaner
milesthenerd 5 years ago
parent e870185cee
commit 2caf9d8fdc

@ -157,7 +157,6 @@ global.onlineSend = ds_grid_create(3, 20);
global.onlineItem = ds_list_create();
global.onlineMetdead = ds_list_create();
global.onlineEvent = ds_list_create();
global.onlineMap = ds_list_create();
global.onlineReceived = ds_grid_create(3, 20);
roomList = ds_list_create();
roomListData = ds_list_create();
@ -174,7 +173,7 @@ update_variables("initprev");
update_variables("onlinevars");
if(global.shaders_compiled){
if(os_type != os_android){
alpha = 1;
} else {
alpha = 0.8;
@ -186,8 +185,6 @@ posY = 3;
time = 60;
trail = 0;
get_loadout(5);
</string>
</argument>
</arguments>
@ -242,7 +239,6 @@ if(!noName){
ds_list_destroy(global.onlineItem);
ds_list_destroy(global.onlineMetdead);
ds_list_destroy(global.onlineEvent);
ds_list_destroy(global.onlineMap);
ds_list_destroy(roomList);
ds_list_destroy(roomListData);
ds_list_destroy(global.idList);
@ -576,15 +572,8 @@ if(global.ingame){
for(var i=0; i&lt;array_height_2d(global.dmap); i++){
for(var f=0; f&lt;array_length_2d(global.dmap, i); f++){
if(global.dmapPrev[i, f] != global.dmap[i, f]){
global.dmapChanges[v, 0] = global.dmap[i, f];
global.dmapChanges[v, 1] = i;
global.dmapChanges[v, 2] = f;
global.onlineMap[| 0] = global.dmapChanges;
mapChanged = true;
if(v == 30){
break;
}
v++;
break;
}
}
}
@ -599,13 +588,39 @@ if(mapChanged){
buffer = buffer_create(size, type, alignment);
buffer_seek(buffer, buffer_seek_start, 0);
buffer_write(buffer, buffer_u8, 9);
buffer_write(buffer, buffer_string, strict_compress(ds_list_write(global.onlineMap)));
var tileCount = 0;
for(var i=0; i&lt;array_height_2d(global.dmap); i++){
for(var f=0; f&lt;array_length_2d(global.dmap, i); f++){
if(global.dmapPrev[i, f] != global.dmap[i, f]){
buffer_write(buffer, buffer_u8, i);
buffer_write(buffer, buffer_u8, f);
buffer_write(buffer, buffer_u8, global.dmap[i, f]);
tileCount++;
}
}
}
buffer_write(buffer, buffer_u16, tileCount);
buffer_write(buffer, buffer_u8, global.clientID);
var bufferSize = buffer_tell(buffer);
buffer_seek(buffer, buffer_seek_start, 0);
buffer_write(buffer, buffer_s32, bufferSize);
buffer_write(buffer, buffer_u8, 9);
buffer_write(buffer, buffer_string, strict_compress(ds_list_write(global.onlineMap)));
buffer_write(buffer, buffer_u16, tileCount);
for(var i=0; i&lt;array_height_2d(global.dmap); i++){
for(var f=0; f&lt;array_length_2d(global.dmap, i); f++){
if(global.dmapPrev[i, f] != global.dmap[i, f]){
buffer_write(buffer, buffer_u8, i);
buffer_write(buffer, buffer_u8, f);
buffer_write(buffer, buffer_u8, global.dmap[i, f]);
}
}
}
buffer_write(buffer, buffer_u8, global.clientID);
var result = network_send_packet(socket, buffer, buffer_tell(buffer));
}
@ -2089,6 +2104,7 @@ switch(type_event){
if (global.currentsuit == 1) sprite_index = scr_suit_sprites(sVFront,sFront_fusion);
if (global.currentsuit == 2) sprite_index = scr_suit_sprites(sGFront,sFront_fusion);
global.enablecontrol = 0;
canbehit = 0;
oControl.displaygui = 0;
xVel = 0;
yVel = 0;
@ -2130,6 +2146,7 @@ switch(type_event){
yVel = 0;
xAcc = 0;
yAcc = 0;
canbehit = 1;
}
}
remove_persistent_objects();
@ -2159,37 +2176,29 @@ switch(type_event){
ds_list_destroy(event);
break;
case 10:
var dmap = ds_list_create();
ds_list_read(dmap, strict_decompress(buffer_read(_buffer, buffer_string)));
var clientID = buffer_read(_buffer, buffer_u8);
var dmapArr = dmap[| 0];
if(is_array(dmapArr)){
for(var i=0; i&lt;array_height_2d(global.dmap); i++){
for(var f=0; f&lt;array_length_2d(global.dmap, i); f++){
for(var v=0; v&lt;array_height_2d(dmapArr); v++){
if(i == dmapArr[v, 1] &amp;&amp; f == dmapArr[v, 2]){
global.dmapPrev[i, f] = dmapArr[v, 0];
if(global.dmap[i, f] != dmapArr[v, 0]){
global.dmap[i, f] = dmapArr[v, 0];
if(global.ingame){
with (oControl) event_user(2);
}
if(instance_exists(oMapCursor) &amp;&amp; surface_exists(oSS_Control.s_map)){
surface_free(oSS_Control.s_map);
}
}
}
var tileCount = buffer_read(_buffer, buffer_u16);
if(tileCount &gt; 0){
for(var i=0; i&lt;tileCount; i++){
var tileX = buffer_read(_buffer, buffer_u8);
var tileY = buffer_read(_buffer, buffer_u8);
var tileData = buffer_read(_buffer, buffer_u8);
global.dmapPrev[tileX, tileY] = tileData;
if(global.dmap[tileX, tileY] != tileData){
global.dmap[tileX, tileY] = tileData;
if(global.ingame){
with (oControl) event_user(2);
}
if(instance_exists(oMapCursor) &amp;&amp; surface_exists(oSS_Control.s_map)){
surface_free(oSS_Control.s_map);
}
}
}
var clientID = buffer_read(_buffer, buffer_u8);
}
alarm[6] = 10;
if(global.clientID == clientID){
ds_list_clear(global.onlineMap);
global.dmapChanges = 0;
}
ds_list_destroy(dmap);
break;
case 11:
var itemstaken = buffer_read(_buffer, buffer_u8);
@ -2504,7 +2513,7 @@ switch(type_event){
if(ptankCount != global.ptanks){
global.ptanks = ptankCount;
if (global.difficulty &lt; 2) global.maxpbombs = 2 * global.ptanks;
if (global.difficulty == 2) global.maxpbombs = 2 * global.ptanks;
if (global.difficulty == 2) global.maxpbombs = 1 * global.ptanks;
global.pbombs = global.maxpbombs;
}
@ -2884,7 +2893,6 @@ if(!noName){
ds_list_destroy(global.onlineItem);
ds_list_destroy(global.onlineMetdead);
ds_list_destroy(global.onlineEvent);
ds_list_destroy(global.onlineMap);
ds_list_destroy(roomList);
ds_list_destroy(roomListData);
ds_list_destroy(global.idList);
@ -2939,10 +2947,10 @@ if(!noName){
if(arrSprite == sSpiderMorphBall || arrSprite == sGSpiderMorphBall || arrSprite == sVSpiderMorphBall || arrSprite == sSpiderMorphBall_fusion || arrSprite == sSpiderMorphBall_fusion_gravity || arrSprite == sSpiderMorphBall_fusion_varia){
draw_set_blend_mode(bm_add);
draw_set_alpha(arrFXTimer * 0.1);
if(global.shaders_compiled){
if(global.shaders_compiled &amp;&amp; os_type != os_android){
pal_swap_set(oControl.SpiderballPalette, arrID, false);
draw_sprite_ext(sSpiderballFX, -1, arrX, arrY, 1, 1, 0, -1, 0.2 + arrFXTimer * 0.1);
} else {
} else if(global.shaders_compiled &amp;&amp; os_type == os_android){
switch(arrSprite){
case sSpiderMorphBall:
draw_sprite_ext(sSpiderballFX, -1, arrX, arrY, 1, 1, 0, -1, 0.2 + arrFXTimer * 0.1);

@ -463,6 +463,12 @@ MultitroidBabyPalette = sPalMultitroidBaby;
MultitroidIcon = sMultitroidIcon;
MultitroidIconDark = sDarkMultitroidPlayer;
MultitroidMapIcon = sMultitroidMapIcon;
if(os_type == os_android){
MonsterPalettesFusionOnly = 1;
PowerPalette = sPalFusion0;
VariaPalette = sPalFusion1;
GravityPalette = sPalFusion2;
}
global.acceptPacket = true;
@ -1472,7 +1478,7 @@ if(room == titleroom){
<arguments>
<argument>
<kind>1</kind>
<string>if(global.shaders_compiled){
<string>if(os_type != os_android){
sprite_delete(icon_merge);
sprite_delete(icon_merge2);
sprite_delete(icon_merge3);
@ -1558,10 +1564,6 @@ if (shaders_are_supported()) {
}
}
if(os_type == os_android){
global.shaders_compiled = false;
}
// DEBUG
//global.mod_gamebeaten = false;

@ -282,7 +282,7 @@ mealtimer += 1;
draw_sprite_ext(sprite_index, -1, x, y, 1, 1, 0, -1, flash);
draw_set_blend_mode(bm_normal);
} else {
if(global.shaders_compiled){
if(global.shaders_compiled &amp;&amp; os_type != os_android){
pal_swap_set(oControl.MultitroidBabyPalette, myid, false);
}
draw_self();

@ -1051,7 +1051,7 @@ if (sfx_isplaying(sndMAlphaIntro)) sfx_stop(sndMAlphaIntro);
<kind>1</kind>
<string>
if((oControl.mod_fusion == 1) || oControl.MonsterPalettesFusionOnly == 0) {
if(global.shaders_compiled) pal_swap_set(oControl.AlphaPalette, 1, false);
if(global.shaders_compiled &amp;&amp; os_type != os_android) pal_swap_set(oControl.AlphaPalette, 1, false);
}
if (!flashing) draw_sprite_ext(sprite_index, -1, x, y, facing, 1, image_angle, -1, 1);

@ -232,7 +232,7 @@ instance_destroy();
<kind>1</kind>
<string>
if(oControl.mod_fusion == 1 || oControl.MonsterPalettesFusionOnly == 0) {
if(global.shaders_compiled) pal_swap_set(oControl.AlphaPalette, 1, false);
if(global.shaders_compiled &amp;&amp; os_type != os_android) pal_swap_set(oControl.AlphaPalette, 1, false);
}
draw_self();

@ -157,7 +157,7 @@ instance_destroy();
<kind>1</kind>
<string>
if(oControl.mod_fusion == 1 || oControl.MonsterPalettesFusionOnly == 0) {
if(global.shaders_compiled) pal_swap_set(oControl.AlphaPalette, 1, false);
if(global.shaders_compiled &amp;&amp; os_type != os_android) pal_swap_set(oControl.AlphaPalette, 1, false);
}
draw_self();

@ -173,7 +173,7 @@ with (oControl) event_user(2);
<kind>1</kind>
<string>
if(oControl.mod_fusion == 1 || oControl.MonsterPalettesFusionOnly == 0) {
if(global.shaders_compiled) pal_swap_set(oControl.AlphaPalette, 1, false);
if(global.shaders_compiled &amp;&amp; os_type != os_android) pal_swap_set(oControl.AlphaPalette, 1, false);
}
draw_self();

@ -182,7 +182,7 @@ instance_destroy();
<argument>
<kind>1</kind>
<string>if(oControl.mod_fusion == 1 || oControl.MonsterPalettesFusionOnly == 0) {
if(global.shaders_compiled) pal_swap_set(oControl.AlphaPalette, 1, false);
if(global.shaders_compiled &amp;&amp; os_type != os_android) pal_swap_set(oControl.AlphaPalette, 1, false);
}
draw_self();

@ -1245,7 +1245,7 @@ if (sfx_isplaying(sndMAlphaIntro)) sfx_stop(sndMAlphaIntro);
<kind>1</kind>
<string>
if(oControl.mod_fusion == 1 || oControl.MonsterPalettesFusionOnly == 0) {
if(global.shaders_compiled) pal_swap_set(oControl.GammaPalette, 1, false);
if(global.shaders_compiled &amp;&amp; os_type != os_android) pal_swap_set(oControl.GammaPalette, 1, false);
}
if (!flashing) {

@ -131,7 +131,7 @@ statetime += 1;
<kind>1</kind>
<string>
if(oControl.mod_fusion == 1 || oControl.MonsterPalettesFusionOnly == 0) {
if(global.shaders_compiled) pal_swap_set(oControl.GammaPalette, 1, false);
if(global.shaders_compiled &amp;&amp; os_type != os_android) pal_swap_set(oControl.GammaPalette, 1, false);
}
alpha2 = image_index - floor(image_index);

@ -206,7 +206,7 @@ legbb2y = lengthdir_y(12, currentangle + 256);
<kind>1</kind>
<string>
if(oControl.mod_fusion == 1 || oControl.MonsterPalettesFusionOnly == 0) {
if(global.shaders_compiled) pal_swap_set(oControl.GammaPalette, 1, false);
if(global.shaders_compiled &amp;&amp; os_type != os_android) pal_swap_set(oControl.GammaPalette, 1, false);
}
draw_sprite_ext(sMGammaLegBA1, -1, x + legba1x, y + legba1y, facing, 1, 0, -1, 1);

@ -1785,7 +1785,7 @@ if (myhealth &gt; 0) {
<kind>1</kind>
<string>
if(oControl.mod_fusion == 1 || oControl.MonsterPalettesFusionOnly == 0) {
if(global.shaders_compiled) pal_swap_set(oControl.OmegaPalette, 1, false);
if(global.shaders_compiled &amp;&amp; os_type != os_android) pal_swap_set(oControl.OmegaPalette, 1, false);
}
if (surface_exists(surf)) {

@ -88,7 +88,7 @@ if (timer &gt; 9999999) timer = 0;
<kind>1</kind>
<string>
if(oControl.mod_fusion == 1 || oControl.MonsterPalettesFusionOnly == 0) {
if(global.shaders_compiled) pal_swap_set(oControl.OmegaPalette, 1, false);
if(global.shaders_compiled &amp;&amp; os_type != os_android) pal_swap_set(oControl.OmegaPalette, 1, false);
}
var i;

@ -112,7 +112,7 @@ if (image_index == 0) {
<kind>1</kind>
<string>
if(oControl.mod_fusion == 1 || oControl.MonsterPalettesFusionOnly == 0) {
if(global.shaders_compiled) pal_swap_set(oControl.OmegaPalette, 1, false);
if(global.shaders_compiled &amp;&amp; os_type != os_android) pal_swap_set(oControl.OmegaPalette, 1, false);
}
draw_sprite_ext(sprite_index, -1, x + offx, y + offy, image_xscale, 1, 0, -1, 1);

@ -1628,7 +1628,7 @@ if (myhealth &gt; 0) {
<kind>1</kind>
<string>
if(oControl.mod_fusion == 1 || oControl.MonsterPalettesFusionOnly == 0) {
if(global.shaders_compiled) pal_swap_set(oControl.ZetaPalette, 1, false);
if(global.shaders_compiled &amp;&amp; os_type != os_android) pal_swap_set(oControl.ZetaPalette, 1, false);
}
if (surface_exists(surf)) {

@ -136,7 +136,7 @@ if (other.invincible == 0) {
<kind>1</kind>
<string>
if(oControl.mod_fusion == 1 || oControl.MonsterPalettesFusionOnly == 0) {
if(global.shaders_compiled) pal_swap_set(oControl.ZetaPalette, 1, false);
if(global.shaders_compiled &amp;&amp; os_type != os_android) pal_swap_set(oControl.ZetaPalette, 1, false);
}
if (head_spr != -4) draw_sprite_ext(head_spr, head_frame, x, y, facing, 1, image_angle, -1, 1);

@ -887,7 +887,7 @@ with (leg2b_obj) instance_destroy();
<kind>1</kind>
<string>
if(oControl.mod_fusion == 1 || oControl.MonsterPalettesFusionOnly == 0) {
if(global.shaders_compiled) pal_swap_set(oControl.QueenPalette, 1, false);
if(global.shaders_compiled &amp;&amp; os_type != os_android) pal_swap_set(oControl.QueenPalette, 1, false);
}
if (!flashing) {

@ -100,7 +100,7 @@ fxtimer = 0;
<kind>1</kind>
<string>
if(oControl.mod_fusion == 1 || oControl.MonsterPalettesFusionOnly == 0) {
if(global.shaders_compiled) pal_swap_set(oControl.QueenPalette, 1, false);
if(global.shaders_compiled &amp;&amp; os_type != os_android) pal_swap_set(oControl.QueenPalette, 1, false);
}
draw_sprite_ext(sQueenBelly, -1, x, y, 1, 1, image_angle, -1, 0.5);

@ -983,7 +983,7 @@ if (myhealth &lt;= 0 &amp;&amp; state != 100 &amp;&amp; state != 50) {
<kind>1</kind>
<string>
if(oControl.mod_fusion == 1 || oControl.MonsterPalettesFusionOnly == 0) {
if(global.shaders_compiled) pal_swap_set(oControl.QueenPalette, 1, false);
if(global.shaders_compiled &amp;&amp; os_type != os_android) pal_swap_set(oControl.QueenPalette, 1, false);
}
var i, soff_x, soff_y;

@ -169,7 +169,7 @@ repeat (3) {
<kind>1</kind>
<string>
if(oControl.mod_fusion == 1 || oControl.MonsterPalettesFusionOnly == 0) {
if(global.shaders_compiled) pal_swap_set(oControl.QueenPalette, 2, false);
if(global.shaders_compiled &amp;&amp; os_type != os_android) pal_swap_set(oControl.QueenPalette, 2, false);
}
if (!flashing) {

@ -271,7 +271,7 @@ repeat (3) {
<kind>1</kind>
<string>
if(oControl.mod_fusion == 1 || oControl.MonsterPalettesFusionOnly == 0) {
if(global.shaders_compiled) pal_swap_set(oControl.QueenPalette, 2, false);
if(global.shaders_compiled &amp;&amp; os_type != os_android) pal_swap_set(oControl.QueenPalette, 2, false);
}
if (!flashing) {

@ -1,6 +1,6 @@
/// draw_character(sprite, x, y, sprite2, s2ox, s2oy, sprite3, s3ox, s3oy, s3angle, facing, color, alpha, s3show)
if(shader_is_compiled(shd_pal_swapper)){
if(global.shaders_compiled){
if ((oControl.mod_fusion) && (!oControl.msr_fusionsuit)) { // Fusion suit
if (global.currentsuit == 0) { // Power
pal_swap_set(sPalFusion0, 1, false);
@ -10,11 +10,11 @@ if(shader_is_compiled(shd_pal_swapper)){
pal_swap_set(sPalFusion2, 1, false);
}
} else { // Custom color swaps
if (global.currentsuit == 0) { // Power
if (global.currentsuit == 0 && os_type != os_android) { // Power
pal_swap_set(oControl.PowerPalette, 1, false);
} else if (global.currentsuit == 1) { // Varia
} else if (global.currentsuit == 1 && os_type != os_android) { // Varia
pal_swap_set(oControl.VariaPalette, 1, false);
} else if (global.currentsuit == 2) { // Gravity
} else if (global.currentsuit == 2 && os_type != os_android) { // Gravity
pal_swap_set(oControl.GravityPalette, 1, false);
}
}

@ -1,6 +1,6 @@
/// draw_character_ext(sprite, x, y, sprite2, s2ox, s2oy, sprite3, s3ox, s3oy, s3angle, facing, color, alpha, s3show, arrID)
var ID = argument15;
if(global.shaders_compiled){
if(global.shaders_compiled && os_type != os_android){
if ((oControl.mod_fusion) && (!oControl.msr_fusionsuit)) { // Fusion suit
if (global.currentsuit == 0) { // Power
pal_swap_set(sPalFusion0, 1, false);
@ -21,7 +21,7 @@ if(global.shaders_compiled){
}
if(global.shaders_compiled){
if(global.shaders_compiled && os_type != os_android){
if(oControl.mod_fusion){
pal_swap_set(oControl.MultitroidPaletteFusion, ID, false);
} else {
@ -32,7 +32,7 @@ if(global.shaders_compiled){
draw_sprite_ext(argument0, argument14, argument1, argument2, argument10, 1, 0, argument11, argument12);
draw_sprite_ext(argument3, argument14, argument1 + argument4, argument2 + argument5, argument10, 1, 0, argument11, argument12);
if(global.shaders_compiled){
if(global.shaders_compiled && os_type != os_android){
pal_swap_set(oControl.MultitroidPalette, ID, false);
}
if (argument13 == 1) {
@ -40,6 +40,6 @@ if (argument13 == 1) {
}
shader_reset();
if(global.shaders_compiled){
if(global.shaders_compiled && os_type != os_android){
pal_swap_reset();
}

Loading…
Cancel
Save