update source code

This commit is contained in:
yuukiwww 2024-05-16 23:57:49 +00:00
parent 94e985c454
commit 9ef7ce457c
4 changed files with 15592 additions and 45 deletions

File diff suppressed because one or more lines are too long

View file

@ -6,7 +6,7 @@
<meta name="viewport" content="width=480,user-scalable=no" /> <meta name="viewport" content="width=480,user-scalable=no" />
<meta name="screen-orientation" content="portrait"> <meta name="screen-orientation" content="portrait">
<meta name="x5-orientation" content="portrait"> <meta name="x5-orientation" content="portrait">
<title>超级猫里奥</title> <title>しょぼんのアクション</title>
<link rel="stylesheet" href="catmario.css"/> <link rel="stylesheet" href="catmario.css"/>
<script type="text/javascript" src="jquery-3.1.1.min.js"></script> <script type="text/javascript" src="jquery-3.1.1.min.js"></script>
</head> </head>
@ -16,24 +16,24 @@
<div id="title" style="display:none"> <div id="title" style="display:none">
<header><div><img class="titleimg" src="res/logo.png" /></div></header> <header><div><img class="titleimg" src="res/logo.png" /></div></header>
<content> <content>
<button class="btn btn-danger start-btn" id="startgame">开始游戏</button> <button class="btn btn-danger start-btn" id="startgame">プレイ</button>
<button class="btn btn-danger start-btn" id="settings">游戏设置</button> <button class="btn btn-danger start-btn" id="settings">設定</button>
</content> </content>
<footer><div><a href="http://tiwb.com">游戏版权归原作者所有</a></div></footer> <footer><div><a href="/">ゲームの版権は原作者に帰属します</a></div></footer>
</div> </div>
<div id="error" class="window" style="display:none"> <div id="error" class="window" style="display:none">
<div class="mask"></div> <div class="mask"></div>
<header>错误</header> <header>エラー</header>
<content id="error_text"></content> <content id="error_text"></content>
<footer> <footer>
<button class="btn btn-danger start-btn" id="error_close"></button> <button class="btn btn-danger start-btn" id="error_close"></button>
</footer> </footer>
</div> </div>
<div id="settings_window" class="window" style="display:none"> <div id="settings_window" class="window" style="display:none">
<div class="mask"></div> <div class="mask"></div>
<header>设置 <span id ="settings_back" class="close"></span></header> <header>設定 <span id ="settings_back" class="close"></span></header>
<content> <content>
<div> <div>
<div class="checkboxFour"> <div class="checkboxFour">
@ -41,7 +41,7 @@
<label for="settings_se"></label> <label for="settings_se"></label>
</div> </div>
<div class="checkboxFourFront"> <div class="checkboxFourFront">
<label for="settings_se">播放音效</label> <label for="settings_se">音声を再生する</label>
</div> </div>
</div> </div>
<div> <div>
@ -50,7 +50,7 @@
<label for="settings_bgm"></label> <label for="settings_bgm"></label>
</div> </div>
<div class="checkboxFourFront"> <div class="checkboxFourFront">
<label for="settings_bgm">播放音乐</label> <label for="settings_bgm">音楽を再生する</label>
</div> </div>
</div> </div>
<div> <div>
@ -59,11 +59,11 @@
<label for="settings_onehand"></label> <label for="settings_onehand"></label>
</div> </div>
<div class="checkboxFourFront"> <div class="checkboxFourFront">
<label for="settings_onehand">单手模式</label> <label for="settings_onehand">片手モード</label>
</div> </div>
</div> </div>
<div> <div>
<button class="btn btn-cancel setting-btn" id="settings_cleardata" >清除游戏数据</button> <button class="btn btn-cancel setting-btn" id="settings_cleardata" >ゲームデータをクリアする</button>
</div> </div>
</content> </content>
</div> </div>

3
src/build.sh Normal file
View file

@ -0,0 +1,3 @@
#!/bin/sh
emcc main.cpp -s WASM=0 --js-library lib.js -o ../docs/catmario.js

View file

@ -10,7 +10,7 @@
#define printf(...) {}; #define printf(...) {};
#endif #endif
static inline int abs(int v) { static inline int abs_x(int v) {
return v < 0 ? -v : v; return v < 0 ? -v : v;
} }
@ -251,7 +251,7 @@ enum LanguageID {
}; };
static const char* string_table[LANG_COUNT][IDS_COUNT]; static const char* string_table[LANG_COUNT][IDS_COUNT];
static int lang = LANG_CN; static int lang = LANG_JP;
void lang_init() { void lang_init() {
for (int i = 0; i < LANG_COUNT; i++) { for (int i = 0; i < LANG_COUNT; i++) {
@ -260,17 +260,17 @@ void lang_init() {
} }
} }
#define JP(id, s) #define JP(id, s) string_table[LANG_JP][id] = s;
#define CN(id, s) string_table[LANG_CN][id] = s; #define CN(id, s) string_table[LANG_CN][id] = s;
#include "str.h" #include "str.h"
} }
void drawlang(int a, int b, int id) { void drawlang(int a, int b, int id) {
drawstring(a, b, string_table[LANG_CN][id]); drawstring(a, b, string_table[lang][id]);
} }
void drawlangc(int a, int b, int id) { void drawlangc(int a, int b, int id) {
drawstringc(a, b, string_table[LANG_CN][id]); drawstringc(a, b, string_table[lang][id]);
} }
const char* base64char = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; const char* base64char = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
@ -1049,7 +1049,7 @@ void rpaint() {
#ifdef DEBUG_LEVEL #ifdef DEBUG_LEVEL
{ {
char buff[32]; char buff[32];
snprintf(buff, sizeof(buff), "%d", atype[t]); //snprintf(buff, sizeof(buff), "%d", atype[t]);
drawstring(xx[0] / 100, xx[1] / 100, buff); drawstring(xx[0] / 100, xx[1] / 100, buff);
} }
#endif #endif
@ -1127,7 +1127,7 @@ void rpaint() {
#ifdef DEBUG_LEVEL #ifdef DEBUG_LEVEL
{ {
char buff[32]; char buff[32];
snprintf(buff, sizeof(buff), "%d", ttype[t]); //snprintf(buff, sizeof(buff), "%d", ttype[t]);
drawstring(xx[0] / 100, xx[1] / 100, buff); drawstring(xx[0] / 100, xx[1] / 100, buff);
} }
#endif #endif
@ -1477,7 +1477,7 @@ void rpaint() {
if (mainmsgtype == 1) { if (mainmsgtype == 1) {
for (t2 = 0; t2 <= 2; t2++) { for (t2 = 0; t2 <= 2; t2++) {
char buff[16]; char buff[16];
snprintf(buff, sizeof(buff), "%d", t2 + 1); //snprintf(buff, sizeof(buff), "%d", t2 + 1);
drawstring(88 + t2 * 143, 210, buff); drawstring(88 + t2 * 143, 210, buff);
} }
} }
@ -1502,20 +1502,20 @@ void rpaint() {
{ {
char buff[128]; char buff[128];
setc1(); setc1();
snprintf(buff, sizeof(buff), "%s %d", string_table[lang][IDS_SCORE], score); //snprintf(buff, sizeof(buff), "%s %d", string_table[lang][IDS_SCORE], score);
drawstring(15, 5, buff); drawstring(15, 5, buff);
snprintf(buff, sizeof(buff), string_table[lang][IDS_LEVEL], sta, stb); //snprintf(buff, sizeof(buff), string_table[lang][IDS_LEVEL], sta, stb);
drawstring(400, 5, buff); drawstring(400, 5, buff);
#ifdef TEST_MODE #ifdef TEST_MODE
setcolor(255, 0, 0); setcolor(255, 0, 0);
snprintf(buff, sizeof(buff), "stage:%d(%d-%d-%d-%d) mainproc:%d mtype:%d mtm:%d", stageid, sta, stb, stc, tyuukan, mainproc, mtype, mtm); //snprintf(buff, sizeof(buff), "stage:%d(%d-%d-%d-%d) mainproc:%d mtype:%d mtm:%d", stageid, sta, stb, stc, tyuukan, mainproc, mtype, mtm);
drawstring(10, 25, buff); drawstring(10, 25, buff);
if (stageid > 0) { if (stageid > 0) {
snprintf(buff, sizeof(buff), "time:%d + %d", save.stage[stageid - 1].time, save.time); //snprintf(buff, sizeof(buff), "time:%d + %d", save.stage[stageid - 1].time, save.time);
drawstring(10, 45, buff); drawstring(10, 45, buff);
} }
#endif #endif
@ -1561,14 +1561,14 @@ void rpaint() {
drawimage(grap[0][0], 190, 190); drawimage(grap[0][0], 190, 190);
setcolor(255, 255, 255); setcolor(255, 255, 255);
char buff[256]; char buff[256];
snprintf(buff, sizeof(buff), " x %d", 2 - save.life); //snprintf(buff, sizeof(buff), " x %d", 2 - save.life);
drawstring(230, 200, buff); drawstring(230, 200, buff);
setc1(); setc1();
snprintf(buff, sizeof(buff), "%s %d", string_table[lang][IDS_SCORE], score); //snprintf(buff, sizeof(buff), "%s %d", string_table[lang][IDS_SCORE], score);
drawstring(15, 5, buff); drawstring(15, 5, buff);
snprintf(buff, sizeof(buff), string_table[lang][IDS_LEVEL], sta, stb); //snprintf(buff, sizeof(buff), string_table[lang][IDS_LEVEL], sta, stb);
drawstring(400, 5, buff); drawstring(400, 5, buff);
} //if (mainproc==10){ } //if (mainproc==10){
@ -3022,8 +3022,8 @@ void dlm_frame() {
xx[8] = aa[t] - fx; xx[8] = aa[t] - fx;
xx[9] = ab[t] - fy; xx[9] = ab[t] - fy;
if (atm[t] >= 0) atm[t]--; if (atm[t] >= 0) atm[t]--;
if (abs(ma + mnobia - xx[8] - xx[0] * 2) < 9000 && if (abs_x(ma + mnobia - xx[8] - xx[0] * 2) < 9000 &&
abs(ma < xx[8] - anobia[t] + xx[0] * 2) < 3000 && abs_x(ma < xx[8] - anobia[t] + xx[0] * 2) < 3000 &&
md <= -600 && atm[t] <= 0) { md <= -600 && atm[t] <= 0) {
if (axtype[t] == 1 && mzimen == 0 && axzimen[t] == 1) { if (axtype[t] == 1 && mzimen == 0 && axzimen[t] == 1) {
ad[t] = -1600; atm[t] = 40; ab[t] -= 1000; ad[t] = -1600; atm[t] = 40; ab[t] -= 1000;