Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
3.4 kB · 125 lines
C++
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126/* SCE CONFIDENTIAL PlayStation(R)4 Programmer Tool Runtime Library Release 01.600.051 * Copyright (C) 2013 Sony Computer Entertainment Inc. * All Rights Reserved. */
#include <new>#include <cstdlib>#include <cstdio>
void *user_new(std::size_t size) throw(std::bad_alloc);void *user_new(std::size_t size, const std::nothrow_t& x) throw();void *user_new_array(std::size_t size) throw(std::bad_alloc);void *user_new_array(std::size_t size, const std::nothrow_t& x) throw();void user_delete(void *ptr) throw();void user_delete(void *ptr, const std::nothrow_t& x) throw();void user_delete_array(void *ptr) throw();void user_delete_array(void *ptr, const std::nothrow_t& x) throw();
//E Replace operator new.//J operator new と置き換わるvoid *user_new(std::size_t size) throw(std::bad_alloc){ void *ptr;
if (size == 0) size = 1;
while ((ptr = (void *)std::malloc(size)) == NULL) { //E Obtain new_handler //J new_handler を取得する std::new_handler handler = std::get_new_handler();
//E When new_handler is a NULL pointer, bad_alloc is send. If not, new_handler is called. //J new_handler が NULL ポインタの場合、bad_alloc を送出する、そうでない場合、new_handler を呼び出す if (!handler) { assert(0);//throw std::bad_alloc(); } else (*handler)(); } return ptr;}
//E Replace operator new(std::nothrow).//J operator(std::nothrow) と置き換わるvoid *user_new(std::size_t size, const std::nothrow_t& x) throw(){// void *ptr;// // (void)x;// // if (size == 0)// size = 1;// // while ((ptr = (void *)std::malloc(size)) == NULL) {// //E Obtain new_handler// //J new_handler を取得する// std::new_handler handler = std::get_new_handler();// // //E When new_handler is a NULL pointer, NULL is returned.// //J new_handler が NULL ポインタの場合、NULL を返す// if (!handler)// return NULL;// // //E Call new_handler. If new_handler sends bad_alloc, NULL is returned.// //J new_handler を呼び出す、new_handler が bad_alloc を送出した場合、NULL を返す// try {// (*handler)();// } catch (std::bad_alloc) {// return NULL;// }// }// return ptr; assert(0); return NULL;}
//E Replace operator new[].//J operator new[] と置き換わるvoid *user_new_array(std::size_t size) throw(std::bad_alloc){ return user_new(size);}
//E Replace operator new[](std::nothrow).//J operator new[](std::nothrow) と置き換わるvoid *user_new_array(std::size_t size, const std::nothrow_t& x) throw(){ return user_new(size, x);}
//E Replace operator delete.//J operator delete と置き換わるvoid user_delete(void *ptr) throw(){ //E In the case of the NULL pointer, no action will be taken. //J NULL ポインタの場合、何も行わない if (ptr != NULL) std::free(ptr);}
//E Replace operator delete(std::nothrow).//J operator delete(std::nothrow) と置き換わるvoid user_delete(void *ptr, const std::nothrow_t& x) throw(){ (void)x;
user_delete(ptr);}
//E Replace operator delete[].//J operator delete[] と置き換わるvoid user_delete_array(void *ptr) throw(){ user_delete(ptr);}
//E Replace operator delete[](std::nothrow).//J operator delete[](std::nothrow) と置き換わるvoid user_delete_array(void *ptr, const std::nothrow_t& x) throw(){ user_delete(ptr, x);}