Added experimental random seed auto sync

cleaner
milesthenerd 6 years ago
parent 1edb32e209
commit c893e3808d

@ -4373,6 +4373,7 @@
<script>scripts\strict_decompress.gml</script>
<script>scripts\strict_encode_verb.gml</script>
<script>scripts\create_buffer.gml</script>
<script>scripts\send_seed.gml</script>
</scripts>
</scripts>
<shaders name="shaders">
@ -5862,4 +5863,4 @@
<TutorialName></TutorialName>
<TutorialPage>0</TutorialPage>
</TutorialState>
</assets>
</assets>

@ -31,8 +31,7 @@ canSend = false;
connected = false;
queenHealthWait = false;
queenDead = false;
seedSent = false;
seedReceived = false;
seed = undefined;
var type;
type = network_socket_tcp;
var file = file_text_open_read(working_directory + "\ipaddress.txt");
@ -364,21 +363,6 @@ if(!is_undefined(oQueen.phase)){
}
}
if(oControl.seed != 0 &amp;&amp; !is_undefined(oControl.seed) &amp;&amp; !seedSent){
seedSent = true;
buffer_delete(buffer);
var size, type, alignment;
size = 1024;
type = buffer_grow;
alignment = 1;
buffer = buffer_create(size, type, alignment);
buffer_seek(buffer, buffer_seek_start, 0);
buffer_write(buffer, buffer_u8, 3);
buffer_write(buffer, buffer_f64, oControl.seed);
buffer_write(buffer, buffer_u8, global.clientID);
popup_text("Seed sent");
}
if(keyboard_check_pressed(vk_f2)){
instance_destroy();
}
@ -491,12 +475,12 @@ switch(type_event){
}
break;
case 4:
seed = buffer_read(_buffer, buffer_f64);
var _seed = buffer_read(_buffer, buffer_f64);
var clientID = buffer_read(_buffer, buffer_u8);
if(clientID != global.clientID){
if(oControl.seed != seed &amp;&amp; !seedReceived){
oControl.seed = seed;
seedReceived = true;
if(seed != _seed){
seed = _seed;
show_debug_message("seed received");
popup_text("Seed received");
}
}

@ -1,15 +1,26 @@
var temp_seed = random_get_seed();
randomize();
oControl.seed = random_get_seed();
random_set_seed(oControl.seed);
if(instance_exists(oClient)){
if(!is_undefined(oClient.seed)){
if(oControl.seed != oClient.seed){
oControl.seed = oClient.seed;
random_set_seed(oControl.seed);
}
} else {
oControl.seed = random_get_seed();
random_set_seed(oControl.seed);
send_seed();
}
} else {
oControl.seed = random_get_seed();
random_set_seed(oControl.seed);
}
if (oControl.mod_usemanualseed == 1) {
random_set_seed(oControl.mod_seed);
oControl.seed = oControl.mod_seed;
}
var list = ds_list_create();
ds_list_add(list,0,2,3,4,5,6,7,8,9,10,11,12,13,14);

@ -1,7 +1,20 @@
var temp_seed = random_get_seed();
randomize();
oControl.seed = random_get_seed();
random_set_seed(oControl.seed);
if(instance_exists(oClient)){
if(!is_undefined(oClient.seed)){
if(oControl.seed != oClient.seed){
oControl.seed = oClient.seed;
random_set_seed(oControl.seed);
}
} else {
oControl.seed = random_get_seed();
random_set_seed(oControl.seed);
send_seed();
}
} else {
oControl.seed = random_get_seed();
random_set_seed(oControl.seed);
}
if (oControl.mod_usemanualseed == 1) {
random_set_seed(oControl.mod_seed);

@ -1,11 +1,19 @@
var temp_seed = random_get_seed();
randomize();
oControl.seed = random_get_seed();
random_set_seed(oControl.seed);
if (oControl.mod_usemanualseed == 1) {
random_set_seed(oControl.mod_seed);
oControl.seed = oControl.mod_seed;
if(instance_exists(oClient)){
if(!is_undefined(oClient.seed)){
if(oControl.seed != oClient.seed){
oControl.seed = oClient.seed;
random_set_seed(oControl.seed);
}
} else {
oControl.seed = random_get_seed();
random_set_seed(oControl.seed);
send_seed();
}
} else {
oControl.seed = random_get_seed();
random_set_seed(oControl.seed);
}
var randpb = argument0;

@ -1,13 +1,28 @@
var temp_seed = random_get_seed();
randomize();
oControl.seed = random_get_seed();
random_set_seed(oControl.seed);
if(instance_exists(oClient)){
if(!is_undefined(oClient.seed)){
if(oControl.seed != oClient.seed){
oControl.seed = oClient.seed;
random_set_seed(oControl.seed);
}
} else {
oControl.seed = random_get_seed();
random_set_seed(oControl.seed);
send_seed();
}
} else {
oControl.seed = random_get_seed();
random_set_seed(oControl.seed);
}
if (oControl.mod_usemanualseed == 1) {
random_set_seed(oControl.mod_seed);
oControl.seed = oControl.mod_seed;
}
// These lists no longer used after 1.3.3
oControl.list_bombs = ds_list_create();
ds_list_add(oControl.list_bombs,true,false);

@ -2,6 +2,22 @@
var temp_seed = random_get_seed();
randomize();
if(instance_exists(oClient)){
if(!is_undefined(oClient.seed)){
if(oControl.seed != oClient.seed){
oControl.seed = oClient.seed;
random_set_seed(oControl.seed);
}
} else {
oControl.seed = random_get_seed();
random_set_seed(oControl.seed);
send_seed();
}
} else {
oControl.seed = random_get_seed();
random_set_seed(oControl.seed);
}
if (oControl.mod_usemanualseed == 1) { random_set_seed(oControl.mod_seed); }
oControl.list_powerbombs = ds_list_create();

@ -0,0 +1,12 @@
/// send_seed
var size, type, alignment;
size = 1024;
type = buffer_grow;
alignment = 1;
seedBuffer = buffer_create(size, type, alignment);
buffer_seek(seedBuffer, buffer_seek_start, 0);
buffer_write(seedBuffer, buffer_u8, 3);
buffer_write(seedBuffer, buffer_f64, oControl.seed);
buffer_write(seedBuffer, buffer_u8, global.clientID);
var result = network_send_packet(oClient.socket, seedBuffer, buffer_tell(seedBuffer));
popup_text("Seed sent");
Loading…
Cancel
Save